/* MS Facility Solutions — site-wide v59 layer (11/09/2026).
   Loads on every page after msf.css / site-v2.css / site-v56.css / b2b-v56.css / home-v59.css.
   One light system: pale page, white cards, one accent, same hero grammar as the homepage. */

/* ---------- page + chrome ---------- */
body.h9{background:var(--pg)}
.topbar{background:transparent;color:var(--muted);border-bottom:1px solid var(--ln)}
.topbar a{color:var(--ink)}
.topbar a:hover{color:var(--accent)}
.topbar .r>span:before{background:var(--ln-2)}
:root[data-theme="dark"] .topbar{color:#93a1b5}
:root[data-theme="dark"] .topbar a{color:#fff}

/* ---------- interior hero (.pagehero) ---------- */
body.h9 .pagehero{background:transparent;margin-top:0;padding-top:0;overflow:hidden}
body.h9 .pagehero:before{content:"";position:absolute;inset:-20% -10% auto;height:120%;pointer-events:none;background:
  radial-gradient(42% 46% at 18% 20%,rgba(47,111,209,.16),transparent 70%),
  radial-gradient(38% 42% at 82% 18%,rgba(34,179,214,.14),transparent 70%)}
body.h9 .pagehero:after{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(47,111,209,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(47,111,209,.06) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(60% 60% at 40% 30%,#000 20%,transparent 100%);mask-image:radial-gradient(60% 60% at 40% 30%,#000 20%,transparent 100%)}
body.h9 .pagehero .v2-orb{display:none}
body.h9 .pagehero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;padding:64px 24px 72px;position:relative;z-index:1}
body.h9 .pagehero .crumb{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;background:var(--pg-2);border:1px solid var(--ln);box-shadow:var(--shadow-xs);font-size:.8rem;font-weight:600;color:var(--muted)}
body.h9 .pagehero .crumb a{color:var(--muted)}
body.h9 .pagehero .crumb b{color:var(--ink);font-weight:700}
body.h9 .pagehero h1{font-size:clamp(2.6rem,5vw,4.3rem);line-height:1;letter-spacing:-.045em;margin-top:22px}
body.h9 .pagehero h1 .v2-em,body.h9 .pagehero h1 em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
body.h9 .pagehero .hero-title .w{opacity:1!important;transform:none!important;transition:none!important}
body.h9 .pagehero .rise{opacity:1!important;transform:none!important}
body.h9 .pagehero .wrap>div:first-child{animation:h9up .8s var(--ease) both}
body.h9 .pagehero .lede{color:var(--muted);font-size:clamp(1.02rem,1.4vw,1.2rem);line-height:1.6;max-width:560px;margin-top:20px}
body.h9 .pagehero .pagehero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
body.h9 .pagehero .pagehero-cta .btn{padding:1rem 1.5rem;font-size:.94rem}
body.h9 .pagehero .btn-out{background:var(--pg-2);border-color:var(--ln-2);color:var(--ink)}
body.h9 .pagehero .btn-out:hover{border-color:var(--accent);color:var(--accent)}
body.h9 .pagehero .v57-proof{margin-top:18px;color:var(--muted);font-size:.88rem;font-weight:500}
body.h9 .pagehero .v57-proof a{color:var(--text)}
body.h9 .pagehero .b2b-badges{margin-top:18px}
/* zip row, same as the homepage */
body.h9 .pagehero .zipcheck{max-width:520px;margin:24px 0 0}
body.h9 .pagehero .zc-row{display:flex;align-items:center;gap:6px;padding:6px 6px 6px 16px;border-radius:999px;background:var(--pg-2);border:1px solid var(--ln);box-shadow:var(--shadow);transition:box-shadow .25s,border-color .25s}
body.h9 .pagehero .zc-row:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-ring),var(--shadow)}
body.h9 .pagehero .zc-pin{color:var(--accent);display:flex}
body.h9 .pagehero .zc-pin svg{width:18px;height:18px}
body.h9 .pagehero .zc-row input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:500 1rem var(--body);color:var(--ink);padding:10px 4px}
body.h9 .pagehero .zc-row .btn{padding:.8rem 1.25rem;font-size:.88rem;background:linear-gradient(180deg,#3b7de0,var(--accent-2));color:#fff}
body.h9 .pagehero .zc-result{margin:12px 0 0;min-height:1.4em;font-size:.95rem;font-weight:500;color:var(--muted)}
/* the photo: one frame, no chips, no tilt */
body.h9 .pagehero .art{position:relative;border-radius:30px;background:var(--pg-2);border:1px solid var(--ln);padding:10px;box-shadow:0 2px 6px rgba(10,20,40,.05),0 40px 90px -40px rgba(10,20,40,.35);transform:none!important;animation:h9up .9s var(--ease) .1s both}
body.h9 .pagehero .art img{display:block;width:100%;height:100%;aspect-ratio:5/4;object-fit:cover;border-radius:22px}
body.h9 .pagehero .art .float-chip{display:none}
body.h9 .pagehero .art.contact-art{padding:0;border:0;background:transparent;box-shadow:none}

/* ---------- at-a-glance strip ---------- */
body.h9 .v2-strip{background:transparent;border:0;padding:0 0 8px}
body.h9 .v2-strip .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:0 24px}
body.h9 .v2-strip .it{display:flex;align-items:center;gap:12px;padding:16px 18px;border-radius:18px;background:var(--pg-2);border:1px solid var(--ln);box-shadow:none}
body.h9 .v2-strip .it i{width:10px;height:10px;border-radius:50%;flex:none;animation:none;box-shadow:none}
body.h9 .v2-strip .it span{font-family:var(--head);font-weight:700;font-size:.92rem;color:var(--ink);letter-spacing:-.01em}
body.h9 .v2-strip .it small{display:block;font-family:var(--body);font-weight:500;color:var(--soft);font-size:.78rem;margin-top:2px}

/* ---------- sections ---------- */
body.h9 section.block,body.h9 section.alt{padding:96px 0}
body.h9 .pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
body.h9 .grid{gap:18px}

/* generic cards: one treatment */
body.h9 .scard,body.h9 .fcard,body.h9 .step,body.h9 .steps4 .st,body.h9 .b2b-card,body.h9 .v2-value,body.h9 .stat,body.h9 .v2-side-card,body.h9 .v2-formside>div,body.h9 .b2b-sidecard,body.h9 .b2b-faqgrid>div,body.h9 .b2b-faqgrid details,body.h9 .v56-related a,body.h9 .of-row,body.h9 .cg-rule{
  background:var(--pg-2);border:1px solid var(--ln);border-radius:var(--radius);box-shadow:none}
body.h9 .scard:before,body.h9 .fcard:before,body.h9 .b2b-card:before,body.h9 .v2-value:before,body.h9 .stat:before{display:none}
body.h9 .scard,body.h9 .fcard,body.h9 .b2b-card,body.h9 .v56-related a{transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .3s}
body.h9 .scard:hover,body.h9 .fcard:hover,body.h9 .b2b-card:hover,body.h9 .v56-related a:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--ln-2)}
body.h9 .b2b-sidecard.dark,body.h9 .b2b-claim,body.h9 .v2-side-card.dark{background:radial-gradient(80% 100% at 0% 0%,rgba(47,111,209,.45),transparent 60%),linear-gradient(160deg,#121a28,#0b1017);border-color:rgba(255,255,255,.06);color:#fff}

/* forms (booking, quote, contact, partner onboarding) */
body.h9 .v2-formcard{background:var(--pg-2);border:1px solid var(--ln);border-radius:var(--radius-lg);box-shadow:var(--shadow)}
body.h9 .v2-formcard input,body.h9 .v2-formcard select,body.h9 .v2-formcard textarea{background:var(--pg);border:1px solid var(--ln-2);border-radius:14px;color:var(--ink)}
body.h9 .v2-formcard input:focus,body.h9 .v2-formcard select:focus,body.h9 .v2-formcard textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-ring);outline:0}

/* city pages: how a visit goes */
body.h9 .v2-flow{background:transparent;padding:96px 0}
body.h9 .v2-flow-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
body.h9 .v2-flow-step{background:var(--pg-2);border:1px solid var(--ln);border-radius:var(--radius);padding:22px;box-shadow:none}
body.h9 .v2-flow-step .dot{width:34px;height:34px;border-radius:11px;background:var(--accent-soft);color:var(--accent);font-family:var(--head);font-weight:800;display:grid;place-items:center}
body.h9 .v2-flow-step time{display:block;margin-top:14px;font-family:var(--head);font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--soft)}
body.h9 .v2-flow-step b{display:block;font-family:var(--head);font-size:1.05rem;letter-spacing:-.02em;color:var(--ink);margin-top:4px}
body.h9 .v2-flow-step p{color:var(--muted);font-size:.92rem;margin-top:6px}
body.h9 .v2-flow-msg{background:var(--pg-2);border:1px solid var(--ln);border-radius:18px;box-shadow:none}

/* nearby + related */
body.h9 .v56-near{background:transparent;border:0}
body.h9 .v56-near a{background:var(--pg-2);border:1px solid var(--ln);border-radius:999px;box-shadow:none}
body.h9 .v56-near a:hover{border-color:var(--accent);color:var(--accent)}
body.h9 .citygrid a{background:var(--pg-2);border:1px solid var(--ln);border-radius:14px;box-shadow:none;transition:border-color .25s,transform .25s}
body.h9 .citygrid a:hover{border-color:var(--accent);transform:translateY(-2px)}

/* video bands: untouched. Morris's videos play full-width behind the text exactly as he built them (v59.1). */

/* "Short answer" block */

/* the sticky repeat-the-headline bar: off everywhere, same as the homepage */
body.h9 .v56-bar{display:none!important}

/* articles */
body.h9 article .wrap{background:var(--pg-2);border:1px solid var(--ln);border-radius:var(--radius-lg);padding:48px}

/* ---------- responsive ---------- */
@media(max-width:1000px){
  body.h9 .v2-strip .wrap,body.h9 .v2-flow-row{grid-template-columns:repeat(2,1fr)}
  body.h9 .pgrid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:900px){
  body.h9 .pagehero .wrap{grid-template-columns:1fr;gap:28px;padding:40px 24px 48px}
  body.h9 .pagehero .art{max-width:560px}
}
@media(max-width:640px){
  body.h9 .v2-strip .wrap,body.h9 .v2-flow-row,body.h9 .pgrid{grid-template-columns:1fr}
  body.h9 .pagehero h1{font-size:clamp(2.2rem,9.5vw,2.9rem)}
  body.h9 .pagehero .pagehero-cta .btn{width:100%}
  body.h9 .pagehero .zc-row{flex-wrap:nowrap;padding:5px 5px 5px 12px}
  body.h9 .pagehero .zc-row .btn{width:auto;flex:none;padding:.7rem 1rem;font-size:.82rem}
  body.h9 section.block,body.h9 section.alt,body.h9 .v2-flow{padding:64px 0}
  body.h9 article .wrap{padding:24px 18px}
}

/* v59.1 fixes */
body.h9 .pagehero .art:before,body.h9 .pagehero .art:after{display:none}
body.h9 .pagehero.b2b-hero h1{font-size:clamp(2.3rem,4.1vw,3.5rem)}
