@font-face{font-family:"Archivo";src:url(../fonts/archivo-latin-wdth-normal.woff2) format("woff2");font-weight:100 900;font-stretch:62% 125%;font-display:swap}
@font-face{font-family:"Public Sans";src:url(../fonts/public-sans-latin-wght-normal.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Public Sans";src:url(../fonts/public-sans-latin-wght-italic.woff2) format("woff2");font-weight:100 900;font-style:italic;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url(../fonts/ibm-plex-mono-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url(../fonts/ibm-plex-mono-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}

:root{
  --night:#081217; --basalt:#0C1519; --ink:#121417; --body:#26343A; --granite:#55666D; --spruce:#123039;
  --midnight:#004C54; --midnight-hi:#00636D; --glacier:#74BCB6; --seaglass-hi:#9ED9D2; --glacier-ink:#1E6E83;
  --paper:#FBFCFC; --snow:#F1F5F4; --frost:#C9D7DA; --hair:#E1E7E9; --white:#fff;
  --crit:#9F1D20; --high:#C8571B; --med:#B8921A; --low:#3F8FA6; --ok:#5F7A1F;
  --display:"Archivo",Helvetica,Arial,sans-serif; --sans:"Public Sans",Helvetica,Arial,sans-serif; --mono:"IBM Plex Mono",Menlo,monospace;
  --wrap:1180px; --gut:clamp(16px,4vw,40px); --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
body{margin:0;background:var(--paper);color:var(--body);font:400 17px/1.6 var(--sans);overflow-x:hidden}
img,svg{max-width:100%}
a{color:var(--midnight);text-underline-offset:3px}
a:hover{color:var(--midnight-hi)}
:focus-visible{outline:2px solid var(--midnight);outline-offset:3px;border-radius:2px}
.skip{position:absolute;left:-9999px;top:8px;background:#fff;padding:8px 12px;z-index:100}
.skip:focus{left:12px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.mono{font-family:var(--mono);font-size:.92em}
h1,h2,h3{font-family:var(--display);color:var(--basalt);font-weight:700;letter-spacing:-.005em}
h2{font-size:clamp(1.6rem,1.1rem + 1.8vw,2.35rem);line-height:1.12;font-stretch:112%;margin:0 0 .6rem}
h3{font-size:1.12rem;line-height:1.3;font-stretch:104%;margin:0 0 .35rem}
p{margin:0 0 1rem}
.lede{font-size:1.14rem;color:var(--spruce);max-width:62ch}

/* ---------- Top line and nav (mirrors unifiednw.com) ---------- */
.topline{background:var(--night);color:#B3C3C6;font:500 .7rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase}
.topline-in{display:flex;align-items:center;gap:1.6rem;height:38px;max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.tl-vet{margin:0;display:flex;align-items:center;gap:.55rem;color:#fff;white-space:nowrap}
.tl-vet b{font-weight:500;color:var(--seaglass-hi)}
.tl-vet svg{width:11px;height:11px;fill:var(--seaglass-hi)}
.tl-offices{display:flex;gap:1.6rem;margin-left:auto}
.tl-offices a{color:#B3C3C6;text-decoration:none}
.tl-offices a:hover{color:#fff}
.tl-offices i{font-style:normal;margin:0 .5em;color:rgba(158,217,210,.55)}
.tl-feature{display:flex;align-items:center;gap:.5rem;align-self:stretch;padding-left:1.4rem;border-left:1px solid rgba(255,255,255,.14);color:#fff;text-decoration:none}
.tl-chip{padding:.16rem .42rem .14rem;border-radius:4px;font-size:.58rem;color:#D6F1ED;background:rgba(116,188,182,.16);border:1px solid rgba(158,217,210,.38)}
.topline :focus-visible{outline-color:var(--seaglass-hi)}
@media (max-width:1000px){.tl-offices{display:none}.tl-feature{margin-left:auto}}
@media (max-width:560px){.topline-in{gap:.8rem;font-size:.6rem;letter-spacing:.08em}.tl-chip,.tl-op{display:none}.tl-feature{padding-left:.8rem;white-space:nowrap}}

.nav{position:sticky;top:0;z-index:40;background:rgba(251,252,252,.94);backdrop-filter:saturate(1.2) blur(10px);-webkit-backdrop-filter:saturate(1.2) blur(10px);border-bottom:1px solid var(--hair)}
.nav-row{display:flex;align-items:center;gap:1.4rem;height:68px;max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--ink);flex:none}
.brand img{width:46px;height:26px;display:block}
.brand-word{display:flex;flex-direction:column;line-height:1.05}
.brand-name{font:700 1.06rem/1 var(--display);font-stretch:112%;color:var(--ink)}
.brand-name b{font-weight:800;color:var(--midnight)}
.brand-tag{font:400 .72rem/1.2 var(--sans);color:var(--granite);margin-top:3px}
.nav-links{display:flex;gap:1.15rem;margin-left:auto;font:500 .9rem/1 var(--sans)}
.nav-links a{color:var(--body);text-decoration:none;padding:.5rem 0;border-bottom:2px solid transparent}
.nav-links a:hover,.nav-links a[aria-current="true"]{color:var(--midnight);border-bottom-color:var(--glacier)}
.nav-cta{display:inline-flex;align-items:center;gap:.5rem;padding:.62rem 1rem;border-radius:8px;background:var(--midnight);color:#fff;text-decoration:none;font:650 .92rem/1 var(--display);font-stretch:106%;flex:none}
.nav-cta:hover{background:var(--midnight-hi);color:#fff}
.nav-cta svg{width:12px;height:15px}
.nav-cta .pole{stroke:#fff;stroke-width:1.4;fill:none}.nav-cta .cloth{fill:var(--seaglass-hi)}
.nav-menu{display:none;margin-left:auto;background:none;border:1px solid var(--frost);border-radius:8px;padding:.5rem .7rem;font:500 .85rem/1 var(--sans);color:var(--ink);cursor:pointer}
@media (max-width:1080px){.nav-links{display:none}.nav-menu{display:inline-block}.nav-links.open{display:flex;position:absolute;top:68px;left:0;right:0;flex-direction:column;gap:0;background:var(--paper);border-bottom:1px solid var(--hair);padding:.5rem var(--gut) 1rem}.nav-links.open a{padding:.8rem 0;border-bottom:1px solid var(--hair)}}
@media (max-width:560px){.brand-tag{display:none}.nav-cta span{display:none}.nav-cta{padding:.62rem .75rem}.nav-row{gap:.8rem}}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--hair);background:linear-gradient(180deg,#fff 0%,var(--paper) 100%)}
.hero-topo{position:absolute;inset:auto -10% -6% 30%;height:85%;opacity:.42;pointer-events:none;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 38%);mask-image:linear-gradient(90deg,transparent 0,#000 38%)}
.hero-topo svg{width:100%;height:100%}
.hero-in{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(24px,4vw,56px);align-items:start;padding-top:clamp(40px,6vw,80px);padding-bottom:clamp(40px,6vw,72px)}
.crumb{font:500 .86rem/1.3 var(--sans);color:var(--granite);margin-bottom:1rem}
.crumb a{color:var(--granite)}
.hero h1{font-size:clamp(2.2rem,1.3rem + 3.6vw,3.9rem);line-height:1.02;font-stretch:116%;margin:0 0 1.1rem;letter-spacing:-.012em}
.hero .lede{font-size:clamp(1.08rem,1rem + .35vw,1.25rem);margin-bottom:1.5rem}
.price-line{display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;margin:0 0 1.6rem;padding:0;list-style:none}
.price-line li{display:flex;align-items:baseline;gap:.45rem;color:var(--granite);font-size:.95rem}
.price-line b{font:700 1.5rem/1 var(--display);font-stretch:110%;color:var(--basalt)}
.btns{display:flex;flex-wrap:wrap;gap:.7rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.85rem 1.25rem;border-radius:10px;border:1.5px solid var(--midnight);font:650 1rem/1.1 var(--display);font-stretch:106%;text-decoration:none;cursor:pointer;background:transparent;color:var(--midnight)}
.btn:hover{background:#E8F3F2;color:var(--midnight)}
.btn.primary{background:var(--midnight);color:#fff}
.btn.primary:hover{background:var(--midnight-hi);color:#fff}
.btn[disabled]{opacity:.55;cursor:progress}
.hero-note{margin:1.2rem 0 0;font-size:.9rem;color:var(--granite);max-width:58ch}

/* Follow one call: the signature element */
.call{position:relative;background:#fff;border:1px solid var(--hair);border-radius:16px;padding:20px 20px 16px;box-shadow:0 30px 60px -40px rgba(0,76,84,.45)}
.call-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.4rem}
.call-head h2{font-size:1.2rem;margin:0;font-stretch:108%}
.call-head span{font-size:.82rem;color:var(--granite)}
.call-sub{font-size:.92rem;color:var(--granite);margin:0 0 .8rem}
.stops{list-style:none;margin:0;padding:0;position:relative}
.stops::before{content:"";position:absolute;left:15px;top:14px;bottom:14px;width:2px;background:repeating-linear-gradient(180deg,var(--frost) 0 6px,transparent 6px 10px)}
.pulse{position:absolute;left:11px;top:10px;width:10px;height:10px;border-radius:50%;background:var(--midnight);box-shadow:0 0 0 4px rgba(116,188,182,.35);animation:travel 3.2s var(--ease) .6s 1 both}
@keyframes travel{0%{transform:translateY(0);opacity:0}8%{opacity:1}90%{opacity:1}100%{transform:translateY(var(--travel,300px));opacity:0}}
.stop button{all:unset;box-sizing:border-box;display:grid;grid-template-columns:32px 1fr;gap:.7rem;align-items:start;width:100%;padding:.42rem .3rem .42rem 0;cursor:pointer;border-radius:8px}
.stop .dot{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1.5px solid var(--frost);font:500 .78rem/1 var(--mono);color:var(--granite);position:relative;z-index:1;transition:border-color .2s,background .2s,color .2s}
.stop .t{font:600 .98rem/1.3 var(--sans);color:var(--ink);padding-top:.35rem}
.stop .t small{display:block;font-weight:400;font-size:.84rem;color:var(--granite);margin-top:.1rem}
.stop button:hover .dot{border-color:var(--glacier)}
.stop button[aria-expanded="true"] .dot{background:var(--midnight);border-color:var(--midnight);color:#fff}
.stop button:focus-visible{outline:2px solid var(--midnight);outline-offset:2px}
.stop-detail{margin:.1rem 0 .5rem 42px;padding:.65rem .8rem;border-left:2px solid var(--glacier);background:var(--snow);border-radius:0 8px 8px 0;font-size:.9rem}
.stop-detail ul{margin:0;padding-left:1.05rem}
.stop-detail li{margin:.15rem 0}
.stop-detail .dom{display:block;margin-top:.35rem;color:var(--glacier-ink);font-size:.8rem}
@media (max-width:900px){.hero-in{grid-template-columns:1fr}.hero-topo{inset:auto -30% -4% -10%;height:45%}}

/* ---------- Sections ---------- */
.band{padding:clamp(56px,7vw,96px) 0;border-bottom:1px solid var(--hair)}
.band.alt{background:var(--snow)}
.band.dark{background:var(--spruce);color:#D6E3E5;border-bottom:0}
.band.dark h2,.band.dark h3{color:#fff}
.band.dark .lede{color:#C4D6D9}
.head{max-width:760px;margin-bottom:2rem}
.kicker{display:block;font:500 .88rem/1.2 var(--sans);color:var(--glacier-ink);margin-bottom:.6rem}
.band.dark .kicker{color:var(--seaglass-hi)}

.why{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px;border-top:1px solid var(--frost)}
.why div{padding:1.3rem 0 1.2rem;border-bottom:1px solid var(--frost)}
.why p{margin:0;color:var(--body)}
.hipaa{margin-top:1.8rem;padding:1rem 1.2rem;border-left:3px solid var(--midnight);background:#fff;max-width:880px}
@media (max-width:760px){.why{grid-template-columns:1fr}}

.brief{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start}
.deflist{margin:0;display:grid;grid-template-columns:170px 1fr;border-top:1px solid var(--frost)}
.deflist dt,.deflist dd{padding:.85rem 0;border-bottom:1px solid var(--frost);margin:0}
.deflist dt{font-weight:650;color:var(--ink);padding-right:1rem}
.compare{width:100%;border-collapse:collapse;font-size:.95rem;background:#fff;border:1px solid var(--hair)}
.compare th,.compare td{padding:.75rem .9rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--hair)}
.compare thead th{font:600 .86rem/1.3 var(--sans);color:var(--granite);background:var(--snow)}
.compare thead th:last-child{color:var(--midnight)}
.compare tbody th{font-weight:600;color:var(--ink);width:26%}
.compare td:last-child{color:var(--ink);font-weight:500}
@media (max-width:900px){.brief{grid-template-columns:1fr}.deflist{grid-template-columns:1fr}.deflist dt{border-bottom:0;padding-bottom:0}}

.domains{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px;counter-reset:d}
.domains li{display:grid;grid-template-columns:42px 1fr;gap:.6rem;padding:1rem 0;border-bottom:1px solid var(--frost)}
.domains .n{font:500 .85rem/1.9 var(--mono);color:var(--glacier-ink)}
.domains p{margin:.15rem 0 0;font-size:.95rem;color:var(--granite)}
@media (max-width:760px){.domains{grid-template-columns:1fr}}

/* Report examples */
.examples{display:grid;grid-template-columns:280px minmax(0,1fr);gap:28px;align-items:start}
.ex-tabs{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none}
.ex-tabs button{all:unset;box-sizing:border-box;display:block;width:100%;padding:.75rem .9rem;border-radius:10px;cursor:pointer;color:#C4D6D9;font:500 .98rem/1.3 var(--sans)}
.ex-tabs button small{display:block;font-size:.8rem;color:#8FA9AE;margin-top:.15rem}
.ex-tabs button:hover{background:rgba(255,255,255,.06);color:#fff}
.ex-tabs button[aria-selected="true"]{background:#fff;color:var(--ink)}
.ex-tabs button[aria-selected="true"] small{color:var(--granite)}
.ex-tabs button:focus-visible{outline:2px solid var(--seaglass-hi);outline-offset:2px}
.ex-frame{margin:0;background:#fff;border-radius:14px;padding:12px;box-shadow:0 40px 80px -50px rgba(0,0,0,.7)}
.ex-frame button{all:unset;display:block;cursor:zoom-in;border-radius:8px;overflow:hidden;width:100%}
.ex-frame img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;background:var(--snow)}
.ex-frame figcaption{padding:.8rem .4rem .2rem;color:var(--body);font-size:.95rem}
.ex-frame figcaption b{color:var(--ink)}
.ex-note{margin-top:1rem;font-size:.86rem;color:#9DB4B8}
@media (max-width:900px){.examples{grid-template-columns:1fr}.ex-tabs{flex-direction:row;overflow-x:auto;gap:6px;padding-bottom:4px;scroll-snap-type:x mandatory}.ex-tabs li{flex:none;scroll-snap-align:start}.ex-tabs button{white-space:nowrap}.ex-tabs button small{display:none}}
dialog.lightbox{border:0;padding:0;background:transparent;max-width:min(1400px,96vw);width:100%}
dialog.lightbox::backdrop{background:rgba(8,18,23,.86)}
dialog.lightbox img{display:block;width:100%;height:auto;border-radius:10px;background:#fff}
dialog.lightbox .close{position:absolute;top:10px;right:10px;background:#fff;border:0;border-radius:999px;padding:.5rem .9rem;font:600 .9rem/1 var(--sans);cursor:pointer}

.deliver{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 40px;list-style:none;margin:0;padding:0;border-top:1px solid var(--frost)}
.deliver li{padding:1.1rem 0;border-bottom:1px solid var(--frost)}
.deliver p{margin:.2rem 0 0;font-size:.94rem;color:var(--granite)}
@media (max-width:900px){.deliver{grid-template-columns:1fr 1fr}}@media (max-width:600px){.deliver{grid-template-columns:1fr}}

.phases{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.phases li{position:relative;padding:1rem .9rem 1rem;background:#fff;border:1px solid var(--hair);border-top:3px solid var(--midnight);border-radius:0 0 10px 10px}
.phases .n{font:500 .8rem/1 var(--mono);color:var(--glacier-ink)}
.phases h3{font-size:1rem;margin:.45rem 0 .3rem}
.phases .wk{font-size:.82rem;color:var(--granite);display:block;margin-bottom:.4rem}
.phases p{margin:0;font-size:.88rem;color:var(--body)}
@media (max-width:1060px){.phases{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:620px){.phases{grid-template-columns:1fr}}

.scope{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.scope > div{background:#fff;border:1px solid var(--hair);border-radius:12px;padding:1.2rem 1.3rem}
.scope ul{margin:.4rem 0 0;padding-left:1.1rem}
.scope li{margin:.3rem 0}
.scope .out h3{color:var(--spruce)}
.scope-link{margin-top:1.4rem}
@media (max-width:760px){.scope{grid-template-columns:1fr}}

/* Pricing */
.pricing{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:start}
.fees{margin:0;padding:0;list-style:none;border-top:1px solid var(--frost)}
.fees li{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:baseline;padding:1.1rem 0;border-bottom:1px solid var(--frost)}
.fees b{display:block;color:var(--ink);font-size:1.05rem}
.fees span{color:var(--granite);font-size:.92rem}
.fees .amt{font:700 1.9rem/1 var(--display);font-stretch:110%;color:var(--basalt)}
.fine{font-size:.9rem;color:var(--granite);margin-top:1rem}
.estimator{background:#fff;border:1px solid var(--hair);border-radius:16px;padding:1.4rem 1.4rem 1.2rem;box-shadow:0 30px 60px -45px rgba(0,76,84,.5)}
.estimator h3{margin-bottom:.9rem}
.stepper{display:grid;grid-template-columns:1fr auto;gap:.6rem 1rem;align-items:center;padding:.8rem 0;border-bottom:1px solid var(--hair)}
.stepper label{font-weight:600;color:var(--ink)}
.stepper label small{display:block;font-weight:400;color:var(--granite);font-size:.84rem}
.step-ctl{display:flex;align-items:center;border:1px solid var(--frost);border-radius:10px;overflow:hidden}
.step-ctl button{width:42px;height:42px;border:0;background:var(--snow);font:600 1.2rem/1 var(--sans);color:var(--midnight);cursor:pointer}
.step-ctl button:hover{background:#E3EEED}
.step-ctl input{width:64px;height:42px;border:0;text-align:center;font:600 1.05rem/1 var(--sans);color:var(--ink);-moz-appearance:textfield;appearance:textfield}
.step-ctl input::-webkit-outer-spin-button,.step-ctl input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.total{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:1rem 0 .3rem}
.total span{color:var(--granite)}
.total output{font:700 2.3rem/1 var(--display);font-stretch:110%;color:var(--midnight)}
.breakdown{font-size:.9rem;color:var(--granite);margin:0 0 1rem}
@media (max-width:900px){.pricing{grid-template-columns:1fr}}

/* Brochure + downloads */
.dl{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:40px;align-items:start}
.docs-preview{display:flex;gap:16px;align-items:flex-end}
.doc-card{flex:1;background:#fff;border:1px solid var(--hair);border-radius:6px;padding:14px 14px 16px;box-shadow:0 24px 40px -30px rgba(0,0,0,.35);min-height:260px;display:flex;flex-direction:column}
.doc-card:nth-child(2){transform:translateY(-14px)}
.doc-card .dc-top{display:flex;align-items:center;gap:6px;font:700 .72rem/1 var(--display);color:var(--basalt);padding-bottom:8px;border-bottom:1px solid var(--hair)}
.doc-card .dc-top svg{width:14px;height:14px}
.doc-card .dc-band{height:70px;margin:10px 0;opacity:.8;overflow:hidden}
.doc-card .dc-code{font:500 .68rem/1.2 var(--mono);color:var(--glacier-ink);letter-spacing:.04em}
.doc-card .dc-title{font:700 .98rem/1.2 var(--display);font-stretch:110%;color:var(--basalt);margin:.3rem 0}
.doc-card .dc-meta{font-size:.78rem;color:var(--granite);margin-top:auto}
@media (max-width:900px){.dl{grid-template-columns:1fr}}

/* Forms */
.form-card{background:#fff;border:1px solid var(--hair);border-radius:16px;padding:clamp(18px,3vw,28px)}
.form-card h3{font-size:1.25rem;margin-bottom:.3rem}
.form-card .sub{color:var(--granite);font-size:.95rem;margin-bottom:1.1rem}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
@media (max-width:620px){.grid2{grid-template-columns:1fr}}
.field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.95rem}
.field label,.field legend{font:600 .92rem/1.3 var(--sans);color:var(--ink)}
.field .opt{font-weight:400;color:var(--granite)}
.field input,.field select,.field textarea{font:400 1rem/1.4 var(--sans);color:var(--ink);background:#fff;border:1px solid #B9C7CA;border-radius:8px;padding:.7rem .75rem;width:100%}
.field textarea{min-height:96px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--midnight);outline-offset:0;border-color:var(--midnight)}
.field .hint{font-size:.84rem;color:var(--granite)}
.field .err{font-size:.86rem;color:var(--crit);min-height:0}
.field.bad input,.field.bad select{border-color:var(--crit)}
fieldset.field{border:0;padding:0;margin:0 0 .95rem}
.checks{display:flex;flex-wrap:wrap;gap:.5rem}
.checks label{display:inline-flex;align-items:center;gap:.4rem;font-weight:400;border:1px solid #B9C7CA;border-radius:999px;padding:.4rem .8rem;cursor:pointer}
.checks input{width:auto;accent-color:var(--midnight)}
.hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.captcha{display:grid;grid-template-columns:auto 1fr;gap:.6rem 1rem;align-items:center;padding:.9rem;border:1px dashed var(--frost);border-radius:10px;background:var(--snow);margin:.2rem 0 1rem}
.captcha .cap-img{width:190px;height:64px;background:#fff;border:1px solid var(--hair);border-radius:6px;display:grid;place-items:center;overflow:hidden}
.captcha .cap-img svg{display:block;width:190px;height:64px}
.captcha .cap-side{display:flex;flex-direction:column;gap:.4rem}
.captcha .cap-side label{font:600 .92rem/1.3 var(--sans);color:var(--ink)}
.captcha input{font:500 1.05rem/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;border:1px solid #B9C7CA;border-radius:8px;padding:.6rem .7rem;width:100%;max-width:220px}
.captcha .refresh{all:unset;cursor:pointer;color:var(--midnight);font:500 .86rem/1 var(--sans);text-decoration:underline;text-underline-offset:3px}
.captcha .err{grid-column:1/-1;font-size:.86rem;color:var(--crit)}
@media (max-width:480px){.captcha{grid-template-columns:1fr}}
.consent{font-size:.84rem;color:var(--granite);margin:.6rem 0 0}
.status{margin-top:1rem;padding:1rem 1.1rem;border-radius:10px;font-size:.97rem}
.status.ok{background:#EEF5E6;border:1px solid #C9DCAF;color:#2F4210}
.status.fail{background:#FBEDEC;border:1px solid #EBC3C0;color:#6B1416}
.dl-links{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.7rem}
.dl-links a{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-radius:10px;background:var(--midnight);color:#fff;text-decoration:none;font:650 .95rem/1.1 var(--display)}
.dl-links a:hover{background:var(--midnight-hi);color:#fff}
.dl-links small{display:block;font:400 .74rem/1.2 var(--mono);color:var(--seaglass-hi)}

.call-band .call-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:40px;align-items:start}
.call-band ul{padding-left:1.1rem}
@media (max-width:900px){.call-band .call-grid{grid-template-columns:1fr}}

/* FAQ */
.faq{max-width:860px;border-top:1px solid var(--frost)}
.faq details{border-bottom:1px solid var(--frost)}
.faq summary{cursor:pointer;list-style:none;padding:1.1rem 2rem 1.1rem 0;position:relative;font:600 1.04rem/1.4 var(--sans);color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:4px;top:1.45rem;width:10px;height:10px;border-right:2px solid var(--midnight);border-bottom:2px solid var(--midnight);transform:rotate(45deg);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(-135deg);top:1.7rem}
.faq details p{margin:0 0 1.1rem;max-width:72ch}

/* Partner strip and footer */
.partners{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--frost);border-radius:12px;background:#fff;margin-top:2rem}
.partners div{padding:1rem 1.2rem;font-size:.95rem}
.partners div+div{border-left:1px solid var(--frost)}
.partners b{display:block;font:500 .8rem/1.3 var(--mono);letter-spacing:.06em;color:var(--basalt)}
@media (max-width:620px){.partners{grid-template-columns:1fr}.partners div+div{border-left:0;border-top:1px solid var(--frost)}}
.foot{background:var(--night);color:#9FB2B6;padding:48px 0 32px;font-size:.92rem}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:32px}
.foot h4{font:600 .82rem/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#fff;margin:0 0 .8rem}
.foot a{color:#C9D9DC;text-decoration:none}
.foot a:hover{color:#fff}
.foot ul{list-style:none;margin:0;padding:0}
.foot li{margin:.35rem 0}
.foot .brand-name{color:#fff}.foot .brand-name b{color:var(--seaglass-hi)}
.foot-legal{margin-top:32px;padding-top:18px;border-top:1px solid rgba(255,255,255,.1);font-size:.84rem;color:#8199A0}
.foot-legal p{margin:.3rem 0}
@media (max-width:800px){.foot-grid{grid-template-columns:1fr}}

/* Scope of work page */
.sow-page{padding:clamp(36px,5vw,64px) 0 72px}
.sow-head{max-width:820px;margin-bottom:2rem}
.sow-head h1{font-size:clamp(2rem,1.3rem + 2.6vw,3rem);line-height:1.06;font-stretch:114%;margin:0 0 .8rem}
.sow-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:48px;align-items:start}
.sow-toc{position:sticky;top:96px;font-size:.9rem}
.sow-toc ol{list-style:none;margin:0;padding:0;border-left:2px solid var(--hair)}
.sow-toc a{display:block;padding:.35rem .8rem;color:var(--granite);text-decoration:none;margin-left:-2px;border-left:2px solid transparent}
.sow-toc a:hover,.sow-toc a.on{color:var(--midnight);border-left-color:var(--midnight)}
.sow-toc .n{font-family:var(--mono);font-size:.82rem;color:var(--glacier-ink);margin-right:.4rem}
.sow{max-width:820px}
.sow .section{padding-top:.5rem;margin-bottom:2.6rem}
.sow .sec-head .num{font:500 .85rem/1 var(--mono);color:var(--glacier-ink)}
.sow .sec-head h2{font-size:1.65rem;margin:.35rem 0 .5rem}
.sow .sec-head .rule{height:1px;background:var(--hair);position:relative;margin-bottom:1rem}
.sow .sec-head .rule::before{content:"";position:absolute;left:0;top:-1px;width:44px;height:3px;background:var(--glacier)}
.sow .lead{font-size:1.08rem;color:var(--ink)}
.sow h3{margin-top:1.4rem}
.sow ul.marks{padding-left:1.1rem;margin:.3rem 0 1rem}
.sow ul.marks li{margin:.3rem 0}
.sow ul.marks li::marker{color:var(--glacier-ink)}
.sow table.t{width:100%;border-collapse:collapse;font-size:.95rem;margin:.5rem 0 1.2rem;background:#fff}
.sow table.t th{text-align:left;font:500 .78rem/1.3 var(--mono);text-transform:uppercase;letter-spacing:.04em;color:var(--basalt);border-bottom:1.5px solid var(--basalt);padding:.5rem .7rem .5rem 0}
.sow table.t td{border-bottom:1px solid var(--hair);padding:.6rem .7rem .6rem 0;vertical-align:top}
.sow table.t td.strong{font-weight:600;color:var(--ink)}
.sow table.t .num{text-align:right;padding-right:1.2rem}
.sow table.t td.mono{color:var(--glacier-ink)}
.sow .kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:1rem 0 1.4rem}
.sow .kpi{background:#fff;border:1px solid var(--hair);border-top:3px solid var(--glacier);padding:.8rem .9rem}
.sow .kpi .k{display:block;font-size:.84rem;color:var(--granite)}
.sow .kpi .v{display:block;font:700 1.45rem/1.15 var(--display);font-stretch:110%;color:var(--basalt);margin:.2rem 0}
.sow .kpi .s{display:block;font-size:.82rem;color:var(--granite)}
.sow .callout{border-left:3px solid var(--glacier);padding:.4rem 0 .4rem 1rem;margin:1rem 0}
.sow .callout .ct{display:block;font-weight:650;color:var(--ink)}
.sow .caption{font-size:.86rem;color:var(--granite);font-style:italic}
.sq{display:inline-block;width:9px;height:9px;margin-right:6px;vertical-align:middle}
.sq.crit{background:var(--crit)}.sq.high{background:var(--high)}.sq.med{background:var(--med)}.sq.low{background:var(--low)}.sq.info{border:1.5px solid var(--granite)}
@media (max-width:900px){.sow-layout{grid-template-columns:1fr}.sow-toc{display:none}.sow .kpis{grid-template-columns:1fr 1fr}}
@media print{.topline,.nav,.foot,.sow-toc,.sow-cta{display:none!important}body{background:#fff;font-size:11pt}.sow-layout{display:block}}

.route-wrap{position:relative}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.foot-statement{margin-top:1rem}

.flush{margin:0}
.partner-note{margin:.9rem 0 0;font-weight:600;color:var(--spruce)}
