/* ============================================================
   LUMINA TESTING LABORATORIES — "Precision" site system
   Shared stylesheet for all pages. Edit tokens here.
   Brand: #091A4B dark blue · #EABF6A light orange · #7D859E lighthouse blue
   ============================================================ */
:root{
  --navy:#091A4B; --navy-700:#0D2260; --navy-950:#050F2E;
  --field:#0B1E52;
  --gold:#EABF6A; --gold-600:#DDAB44; --gold-ink:#8A6210;
  --lh:#7D859E; --lh-600:#6A7290;
  --cream:#F0F2F8; --paper:#F5F6FA; --white:#FFFFFF;
  --line:#E2E5EE; --line-strong:#CCD1E0;
  --ink:#16204A; --muted:#5C6480;
  --ease:cubic-bezier(.32,.72,0,1);
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:Montserrat,system-ui,sans-serif;background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;line-height:1.5;}
.mono{font-variant-numeric:tabular-nums;letter-spacing:.04em;}
.wrap{max-width:1240px;margin:0 auto;padding:0 40px;}
.narrow{max-width:880px;margin:0 auto;padding:0 40px;}
a{color:var(--gold-ink);text-decoration:none;}
a:hover{color:var(--navy);}
img,svg{display:block;}
.eyebrow{font-size:12px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--lh);}
.lab{font-size:12px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-ink);}

/* ---------- header ---------- */
header{position:sticky;top:0;z-index:50;background:rgba(9,26,75,.93);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.08);transition:background .3s var(--ease);}
.nav{display:flex;align-items:center;justify-content:space-between;height:76px;}
.brand{display:flex;align-items:center;gap:13px;color:inherit;}
.brand:hover{color:inherit;}
.brand .bmark{width:auto;height:40px;}
.brand .blogo{height:60px;width:auto;}
footer .flogo img{height:82px;width:auto;}
footer .flogo{margin-bottom:18px;}
.brand .wm{display:flex;flex-direction:column;line-height:1;}
.brand .wm b{font-size:19px;font-weight:600;letter-spacing:.22em;color:#FFFFFF;}
.brand .wm span{font-size:8.5px;font-weight:500;letter-spacing:.2em;color:var(--gold);margin-top:5px;white-space:nowrap;}
.brand .wm b{white-space:nowrap;}
nav ul{display:flex;gap:22px;list-style:none;align-items:center;}
nav a{font-size:13px;font-weight:500;letter-spacing:.01em;color:#B9C0D4;transition:color .18s var(--ease);position:relative;}
nav a:hover{color:#fff;}
nav a.active{color:#fff;}
nav a.active::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:2px;background:var(--gold);}
.cta{font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;background:var(--gold);color:var(--navy) !important;padding:11px 20px;border-radius:2px;transition:background .18s var(--ease);}
.cta:hover{background:#F5D390;}
.cta.active::after{display:none;}

/* mobile nav toggle */
.nav-toggle{display:none;background:none;border:0;cursor:pointer;width:42px;height:42px;align-items:center;justify-content:center;}
.nav-toggle span,.nav-toggle span::before,.nav-toggle span::after{display:block;width:22px;height:2px;background:var(--gold);transition:transform .25s var(--ease),opacity .2s;}
.nav-toggle span{position:relative;}
.nav-toggle span::before,.nav-toggle span::after{content:"";position:absolute;left:0;}
.nav-toggle span::before{top:-7px;}
.nav-toggle span::after{top:7px;}
header.open .nav-toggle span{background:transparent;}
header.open .nav-toggle span::before{transform:translateY(7px) rotate(45deg);}
header.open .nav-toggle span::after{transform:translateY(-7px) rotate(-45deg);}

/* ---------- buttons ---------- */
.btn-pri{display:inline-block;background:var(--gold);color:var(--navy);font-weight:600;font-size:14px;letter-spacing:.05em;text-transform:uppercase;padding:15px 28px;border-radius:2px;transition:background .18s var(--ease);border:0;cursor:pointer;}
.btn-pri:hover{background:var(--gold-600);color:var(--navy);}
.btn-sec{display:inline-block;white-space:nowrap;border:1px solid rgba(234,191,106,.45);color:var(--gold);font-weight:500;font-size:14px;letter-spacing:.03em;padding:14px 26px;border-radius:2px;transition:background .18s var(--ease),border-color .18s;}
.btn-sec:hover{background:rgba(234,191,106,.1);border-color:var(--gold);color:var(--gold);}
.btn-dark{display:inline-block;background:var(--navy);color:#fff;font-weight:600;font-size:14px;letter-spacing:.05em;text-transform:uppercase;padding:15px 28px;border-radius:2px;transition:background .18s var(--ease);border:0;cursor:pointer;}
.btn-dark:hover{background:var(--navy-700);color:#fff;}
.btn-white{display:inline-block;background:var(--navy);color:#fff;font-weight:600;font-size:15px;letter-spacing:.06em;text-transform:uppercase;padding:20px 42px;border-radius:2px;white-space:nowrap;transition:background .18s var(--ease),transform .25s var(--ease);}
.btn-white:hover{background:var(--navy-950);color:#fff;transform:translateY(-2px);}

/* ---------- hero (home) ---------- */
.hero{position:relative;background:var(--field);color:var(--cream);overflow:hidden;}
.hero .net{position:absolute;inset:0;width:100%;height:100%;display:block;}
.hero-veil{position:absolute;inset:0;pointer-events:none;z-index:1;background:radial-gradient(115% 95% at 28% 46%, rgba(9,26,75,.84) 0%, rgba(9,26,75,.46) 40%, rgba(9,26,75,0) 72%);}
.hero .wrap{position:relative;z-index:2;padding:104px 40px 96px;}
.hero .eyebrow{color:var(--gold);}
.hero h1{font-size:clamp(38px,5.4vw,68px);font-weight:600;line-height:1.05;letter-spacing:-.02em;margin:26px 0 0;max-width:17ch;}
.hero h1 em{font-style:normal;color:var(--gold);}
.hero p.lede{font-size:19px;line-height:1.6;color:#BFC6DA;max-width:52ch;margin-top:26px;}
.hero .actions{display:flex;gap:16px;margin-top:40px;flex-wrap:wrap;}
.accred-strip{display:flex;gap:40px;flex-wrap:wrap;margin-top:62px;padding-top:30px;border-top:1px solid rgba(255,255,255,.12);}
.accred-strip .item .k{font-size:30px;font-weight:600;color:#fff;letter-spacing:.01em;}
.accred-strip .item .l{font-size:12.5px;color:#A9B1C8;margin-top:6px;letter-spacing:.04em;}

/* ---------- page hero (inner pages) ---------- */
.page-hero{position:relative;background:var(--field);color:var(--cream);overflow:hidden;}
.page-hero .net{position:absolute;inset:0;width:100%;height:100%;display:block;}
.page-hero .hero-veil{position:absolute;inset:0;pointer-events:none;z-index:1;background:radial-gradient(120% 110% at 26% 48%, rgba(9,26,75,.84) 0%, rgba(9,26,75,.44) 42%, rgba(9,26,75,0) 74%);}
.page-hero .wrap{position:relative;z-index:2;padding:84px 40px 76px;}
.page-hero .crumb{font-size:11.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:#A9B1C8;margin-bottom:22px;}
.page-hero .crumb a{color:#A9B1C8;}
.page-hero .crumb a:hover{color:var(--gold);}
.page-hero h1{font-size:clamp(32px,4.4vw,54px);font-weight:600;line-height:1.06;letter-spacing:-.02em;max-width:19ch;}
.page-hero h1 em{font-style:normal;color:var(--gold);}
.page-hero p{font-size:18.5px;line-height:1.6;color:#BFC6DA;max-width:54ch;margin-top:22px;}

/* ---------- sections ---------- */
.section{padding:104px 0;}
.section.tight{padding:80px 0;}
.alt{background:var(--white);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.navy-sec{background:var(--field);color:var(--cream);}
.sec-head{display:grid;grid-template-columns:0.9fr 1.6fr;gap:56px;align-items:start;}
.sec-head h2{font-size:clamp(27px,3.2vw,40px);font-weight:600;line-height:1.14;letter-spacing:-.015em;margin-top:18px;}
.sec-head p{font-size:18px;line-height:1.7;color:var(--muted);}
.sec-head p + p{margin-top:18px;}
.navy-sec .sec-head p{color:#B0B8CE;}
.section-title{font-size:clamp(25px,2.9vw,36px);font-weight:600;letter-spacing:-.015em;line-height:1.14;}

/* prose */
.prose p{font-size:17px;line-height:1.75;color:var(--muted);}
.prose p + p{margin-top:20px;}
.prose h3{font-size:22px;font-weight:600;margin:36px 0 12px;letter-spacing:-.01em;color:var(--ink);}

/* ---------- test menu table ---------- */
.table{margin-top:48px;border-top:1px solid var(--line-strong);}
.trow{display:grid;grid-template-columns:54px 1.5fr 1.2fr 0.9fr;gap:24px;align-items:center;padding:22px 12px;border-bottom:1px solid var(--line);transition:background .18s var(--ease);}
.trow:hover{background:var(--paper);}
.alt .trow:hover{background:var(--paper);}
.trow .num{font-size:13px;font-weight:600;color:var(--lh);}
.trow .name{font-size:18px;font-weight:600;letter-spacing:-.01em;}
.trow .name sup{color:var(--gold-ink);font-size:12px;}
.trow .desc{font-size:14.5px;color:var(--muted);line-height:1.45;}
.trow .meth{font-size:12.5px;font-weight:600;color:var(--lh-600);text-align:right;letter-spacing:.06em;}
.menu-foot{font-size:13px;color:var(--muted);margin-top:24px;display:flex;gap:8px;}
.menu-foot sup{color:var(--gold-ink);}

/* ---------- products ---------- */
.prod-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:48px;}
.prod{position:relative;aspect-ratio:1/1.08;border-radius:3px;overflow:hidden;border:1px solid var(--line);background:var(--navy);display:flex;align-items:flex-end;padding:18px;transition:transform .35s var(--ease),box-shadow .35s var(--ease);}
.prod:hover{transform:translateY(-4px);box-shadow:0 22px 44px -26px rgba(9,26,75,.55);}
.prod img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.prod::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(5,12,36,.9) 0%,rgba(5,12,36,.5) 30%,rgba(5,12,36,.12) 62%,rgba(5,12,36,0) 100%);}
.prod span{position:relative;z-index:1;color:#fff;font-weight:600;font-size:15px;letter-spacing:.01em;text-shadow:0 1px 12px rgba(5,12,36,.6);}

/* ---------- method gallery ---------- */
.methods{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:54px;}
.method .mimg{position:relative;aspect-ratio:4/3;border-radius:6px;overflow:hidden;border:1px solid var(--line);background:var(--navy);}
.method .mimg img{width:100%;height:100%;object-fit:cover;}
.method .mm{position:absolute;bottom:0;left:0;font-size:11px;font-weight:600;letter-spacing:.12em;color:var(--navy);background:var(--gold);padding:6px 12px;border-radius:0 4px 0 0;}
.method h3{font-size:19px;font-weight:600;letter-spacing:-.01em;margin:18px 0 9px;}
.method p{font-size:14.5px;line-height:1.6;color:var(--muted);}

/* ---------- lab band ---------- */
.lab-band{position:relative;height:clamp(260px,32vw,400px);overflow:hidden;background:var(--navy);}
.lab-band img{width:100%;height:100%;object-fit:cover;}
.lab-band::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,15,46,.88) 0%,rgba(6,15,46,.42) 52%,rgba(6,15,46,.14) 100%);}
.lab-band .cap{position:absolute;inset:0;z-index:1;display:flex;align-items:center;}
.lab-band .cap .wrap{width:100%;}
.lab-band .cap h2{font-size:clamp(24px,3vw,36px);font-weight:600;letter-spacing:-.015em;line-height:1.16;color:#fff;max-width:22ch;}
.lab-band .cap p{font-size:16.5px;line-height:1.6;color:#BFC6DA;max-width:46ch;margin-top:14px;}

/* ---------- map ---------- */
.map-wrap{position:relative;height:clamp(340px,40vw,450px);border:1px solid var(--line-strong);border-radius:10px;overflow:hidden;}
#map{position:absolute;inset:0;background:var(--paper);}
.map-wrap .leaflet-tile-pane{filter:grayscale(1) contrast(.9) brightness(1.08);}
.map-tint{position:absolute;inset:0;z-index:400;pointer-events:none;background:#091A4B;opacity:.2;mix-blend-mode:multiply;}
.map-wrap .leaflet-container{font-family:Montserrat,sans-serif;background:var(--paper);}
.map-wrap .leaflet-tooltip.pin{background:var(--navy);border:0;box-shadow:0 10px 24px -12px rgba(5,12,36,.6);color:#fff;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:7px 12px;}
.map-wrap .leaflet-tooltip.pin::before{border-top-color:var(--navy);}
.map-wrap .leaflet-control-attribution{font-size:10px;background:rgba(255,255,255,.86);}
.map-wrap .leaflet-bar a{color:var(--navy);}
.map-foot{display:flex;justify-content:space-between;align-items:baseline;gap:24px;flex-wrap:wrap;margin-top:18px;}
.map-foot .ad{font-size:15.5px;color:var(--ink);}
.map-foot .ad strong{font-weight:600;}

/* ---------- media placeholder / photo ---------- */
.media-ph.has-img{background:none;}
.media-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}


/* ---------- feature/value cards ---------- */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:54px;}
.cards.two{grid-template-columns:repeat(2,1fr);}
.card{background:var(--white);border:1px solid var(--line);border-radius:6px;padding:32px;transition:box-shadow .3s var(--ease),border-color .2s,transform .3s var(--ease);}
.card:hover{box-shadow:0 18px 40px -28px rgba(9,26,75,.4);border-color:var(--line-strong);transform:translateY(-3px);}
.card .ic{width:38px;height:38px;margin-bottom:20px;color:var(--gold-ink);}
.card h3{font-size:20px;font-weight:600;letter-spacing:-.01em;margin-bottom:12px;}
.card p{font-size:15px;color:var(--muted);line-height:1.6;}
.navy-sec .card{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.12);}
.navy-sec .card h3{color:#fff;}
.navy-sec .card p{color:#B0B8CE;}
.navy-sec .card .ic{color:var(--gold);}

/* ---------- process steps ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:54px;background:var(--line);border:1px solid var(--line);border-radius:6px;overflow:hidden;}
.steps.three{grid-template-columns:repeat(3,1fr);}
.step{background:var(--white);padding:30px 26px;}
.step .n{font-size:12px;font-weight:600;color:var(--gold-ink);letter-spacing:.16em;}
.step h3{font-size:18px;font-weight:600;margin:14px 0 10px;letter-spacing:-.01em;}
.step p{font-size:14px;color:var(--muted);line-height:1.55;}

/* ---------- split ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.split.media-left .media{order:-1;}
.contact-split{grid-template-columns:0.85fr 1.15fr;gap:64px;align-items:start;}
.media-ph{position:relative;aspect-ratio:4/3;border-radius:8px;border:1px solid var(--line);overflow:hidden;background:linear-gradient(150deg,var(--navy),#1B3170 68%,var(--lh));}
.media-ph .tag{position:absolute;top:16px;left:16px;font-size:9.5px;font-weight:600;letter-spacing:.2em;color:rgba(255,255,255,.55);}

/* ---------- stat row ---------- */
.statrow{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:54px;}
.statrow .s .k{font-size:36px;font-weight:600;color:var(--navy);line-height:1;letter-spacing:.01em;}
.navy-sec .statrow .s .k{color:#fff;}
.statrow .s .l{font-size:14px;color:var(--muted);margin-top:10px;line-height:1.5;}
.navy-sec .statrow .s .l{color:#A0A9C2;}
.statrow .s{border-top:2px solid var(--gold);padding-top:18px;}

/* ---------- notice (careers / empty states) ---------- */
.notice{background:var(--white);border:1px solid var(--line);border-radius:10px;padding:60px 48px;text-align:center;max-width:780px;margin:0 auto;}
.notice .lab{display:block;}
.notice p{font-size:17px;line-height:1.75;color:var(--muted);max-width:58ch;margin:0 auto;}

/* ---------- FAQ ---------- */
.faq{margin-top:40px;border-top:1px solid var(--line);}
.faq details{border-bottom:1px solid var(--line);}
.faq summary{list-style:none;cursor:pointer;padding:24px 4px;font-size:18px;font-weight:600;letter-spacing:-.01em;display:flex;justify-content:space-between;align-items:center;gap:20px;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary .pm{color:var(--gold-ink);font-size:22px;font-weight:400;transition:transform .25s var(--ease);flex:none;}
.faq details[open] summary .pm{transform:rotate(45deg);}
.faq .ans{padding:0 4px 26px;font-size:16px;line-height:1.7;color:var(--muted);max-width:70ch;}

/* ---------- ordering steps ---------- */
.osteps{margin-top:48px;border-top:1px solid var(--line-strong);}
.ostep{display:grid;grid-template-columns:70px 1fr;gap:26px;padding:32px 4px;border-bottom:1px solid var(--line);}
.ostep .on{font-size:30px;font-weight:600;color:var(--gold-ink);line-height:1;letter-spacing:-.01em;}
.ostep h3{font-size:20px;font-weight:600;letter-spacing:-.01em;margin-bottom:10px;}
.ostep p{font-size:15.5px;line-height:1.65;color:var(--muted);}
.ostep ul{margin-top:14px;display:flex;flex-direction:column;gap:10px;list-style:none;}
.ostep li{font-size:15px;line-height:1.6;color:var(--muted);padding-left:17px;position:relative;}
.ostep li::before{content:"";position:absolute;left:0;top:9px;width:6px;height:6px;border-radius:50%;background:var(--gold);}
.ostep strong{color:var(--ink);font-weight:600;}
.note{background:var(--paper);border:1px solid var(--line-strong);border-radius:6px;padding:20px 24px;margin-top:18px;}
.alt .note{background:var(--paper);}
.note .nk{font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-ink);margin-bottom:9px;}
.note p{font-size:14.5px;line-height:1.65;}

/* ---------- checklist ---------- */
.check{display:grid;grid-template-columns:repeat(2,1fr);gap:0 48px;margin-top:44px;}
.check .ci{display:grid;grid-template-columns:24px 1fr;gap:16px;padding:20px 0;border-bottom:1px solid var(--line);align-items:start;}
.check .ci svg{width:24px;height:24px;margin-top:2px;}
.check .ci h4{font-size:16.5px;font-weight:600;letter-spacing:-.01em;margin-bottom:6px;}
.check .ci p{font-size:14.5px;color:var(--muted);line-height:1.6;}

/* ---------- minimums table ---------- */
.mscroll{margin-top:36px;overflow-x:auto;}
.mtable{min-width:720px;border-top:1px solid var(--line-strong);}
.mrow{display:grid;grid-template-columns:1.6fr repeat(4,1fr);gap:16px;padding:15px 12px;border-bottom:1px solid var(--line);align-items:center;}
.mrow.head{font-size:11px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--lh);line-height:1.4;align-items:end;}
.mrow.head div + div{text-align:center;}
.mrow.total{border-top:2px solid var(--gold);border-bottom:0;background:var(--white);}
.mrow.total .mp,.mrow.total .mv{font-weight:600;color:var(--ink);}
.mrow .mp{font-size:15.5px;font-weight:600;letter-spacing:-.01em;}
.mrow .mv{font-size:15.5px;color:var(--ink);font-variant-numeric:tabular-nums;text-align:center;}
.mrow .mv.na{color:var(--lh);font-size:14px;}

/* ---------- legal ---------- */
.legal p{font-size:13.5px;line-height:1.8;color:var(--muted);}
.legal p + p{margin-top:16px;}

/* ---------- forms ---------- */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.field{display:flex;flex-direction:column;gap:8px;}
.field.full{grid-column:1/-1;}
.field label{font-size:13px;font-weight:600;letter-spacing:.02em;color:var(--navy);}
.field label .req{color:var(--gold-ink);}
.field input,.field select,.field textarea{font-family:inherit;font-size:15px;color:var(--ink);background:var(--white);border:1px solid var(--line-strong);border-radius:4px;padding:13px 14px;transition:border-color .18s var(--ease),box-shadow .18s;}
.field textarea{resize:vertical;min-height:128px;}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(234,191,106,.35);}
.form-note{font-size:13px;color:var(--muted);margin-top:6px;}
.form-ok{display:none;background:var(--navy);color:#fff;border-radius:6px;padding:28px 30px;}
.form-ok h3{font-size:20px;font-weight:600;margin-bottom:8px;}
.form-ok p{font-size:15px;color:#B0B8CE;line-height:1.6;}

/* contact info list */
.cinfo{display:flex;flex-direction:column;gap:26px;}
.cinfo .row .k{font-size:11.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink);margin-bottom:8px;}
.cinfo .row .v{font-size:16.5px;line-height:1.55;color:var(--ink);}
.cinfo .row .v a{color:var(--ink);}
.cinfo .row .v a:hover{color:var(--gold-ink);}

/* ---------- why band (home) ---------- */
.why{background:var(--field);color:var(--cream);}
.why .wrap{padding:96px 40px;}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;margin-top:54px;}
.why-card .ic{width:42px;height:42px;margin-bottom:20px;}
.why-card h3{font-size:21px;font-weight:600;letter-spacing:-.01em;margin-bottom:12px;color:#fff;}
.why-card p{font-size:15.5px;line-height:1.65;color:#B0B8CE;}

/* ---------- CTA band ---------- */
.cta-band{background:var(--gold);color:var(--navy);}
.cta-band .wrap{padding:100px 40px;display:flex;align-items:center;justify-content:space-between;gap:48px;flex-wrap:wrap;}
.cta-band h2{font-size:clamp(36px,5.4vw,62px);font-weight:700;letter-spacing:-.03em;max-width:20ch;line-height:1.02;}

/* ---------- leadership ---------- */
.lead-head{display:flex;gap:22px;align-items:center;margin-bottom:24px;}
.lead-head img{width:132px;height:132px;border-radius:8px;object-fit:cover;object-position:center top;flex:none;border:1px solid var(--line);}

/* ---------- accreditation marks ---------- */
.accred-marks{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-top:52px;padding-top:34px;border-top:1px solid rgba(255,255,255,.08);}
.accred-marks p{font-size:12.5px;line-height:1.65;color:#727B96;max-width:50ch;}
.am{background:#fff;border-radius:8px;padding:12px 14px;display:flex;align-items:center;justify-content:center;flex:none;}
.am img{height:58px;width:auto;}
.accred-pair{display:flex;gap:18px;flex-wrap:wrap;margin-top:34px;}
.accred-pair .am img{height:76px;}

/* ---------- footer ---------- */
footer{background:var(--navy-950);color:#98A1BC;}
footer .wrap{padding:72px 40px 40px;}
footer a{color:#98A1BC;}
footer a:hover{color:var(--gold);}
.foot-tag{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);line-height:1.45;}
.foot-desc{font-size:13.5px;line-height:1.6;max-width:34ch;color:#98A1BC;margin-top:12px;}
.foot-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;}
.foot-top h4{color:#fff;font-size:12px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:18px;font-weight:600;}
.foot-top ul{list-style:none;}
.foot-top li{margin-bottom:11px;font-size:14px;}
.accred-marks + .foot-bottom{margin-top:32px;}
.foot-bottom{margin-top:56px;padding-top:24px;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;font-size:12.5px;color:#727B96;}

/* ---------- client portal ---------- */
.portal-grid{display:grid;grid-template-columns:1.02fr 1fr;gap:60px;align-items:center;}
.portal-steps{margin-top:30px;display:flex;flex-direction:column;gap:18px;}
.portal-step{display:flex;gap:16px;align-items:flex-start;}
.portal-step .pn{flex:none;width:30px;height:30px;border-radius:50%;background:var(--navy);color:var(--gold);font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center;}
.portal-step h4{font-size:17px;font-weight:600;letter-spacing:-.01em;margin-bottom:3px;}
.portal-step p{font-size:14.5px;color:var(--muted);line-height:1.5;}
.portal-actions{margin-top:32px;display:flex;gap:18px;align-items:center;flex-wrap:wrap;}
.portal-by{font-size:13px;color:var(--muted);}
.portal-by a{color:var(--gold-ink);font-weight:600;}
.portal-ui{border:1px solid var(--line-strong);border-radius:12px;overflow:hidden;background:var(--white);box-shadow:0 30px 60px -36px rgba(9,26,75,.45);}
.pu-bar{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--navy);}
.pu-dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.28);flex:none;}
.pu-url{margin-left:10px;font-size:12px;color:#C3C9DC;background:rgba(255,255,255,.08);padding:6px 12px;border-radius:5px;flex:1;}
.pu-body{padding:22px 22px 24px;}
.pu-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;}
.pu-head .pu-t{font-size:16px;font-weight:600;color:var(--ink);}
.pu-tag{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-ink);background:rgba(234,191,106,.2);padding:5px 10px;border-radius:999px;}
.pu-row{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line);}
.pu-id{font-size:13px;font-weight:600;color:var(--navy);letter-spacing:.03em;}
.pu-prod{font-size:14px;color:var(--muted);}
.pu-badge{font-size:11.5px;font-weight:600;letter-spacing:.02em;padding:5px 11px;border-radius:999px;white-space:nowrap;}
.pu-badge.done{background:var(--navy);color:#fff;}
.pu-badge.prog{background:transparent;border:1px solid var(--gold-600);color:var(--gold-ink);}
.pu-badge.recv{background:#E6E9F2;color:#6B7391;}
.pu-coa{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:18px;padding:16px;background:var(--paper);border:1px solid var(--line);border-radius:8px;}
.pu-coa-t{font-size:14.5px;font-weight:600;color:var(--ink);}
.pu-coa-s{font-size:12px;color:var(--muted);margin-top:3px;letter-spacing:.02em;}
.pu-dl{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--navy);background:var(--gold);padding:9px 15px;border-radius:4px;white-space:nowrap;}

/* portal callout band */
.callout{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;background:var(--white);border:1px solid var(--line);border-radius:12px;padding:30px 34px;}
.callout .ct h3{font-size:21px;font-weight:600;letter-spacing:-.01em;margin-bottom:6px;}
.callout .ct p{font-size:15px;color:var(--muted);line-height:1.55;max-width:54ch;}
.callout .ct p strong{color:var(--ink);}

/* ---------- age gate ---------- */
.agegate[hidden]{display:none;}
.agegate{position:fixed;inset:0;z-index:1000;background:radial-gradient(60% 45% at 50% 34%,rgba(234,191,106,.16) 0%,rgba(234,191,106,0) 70%),var(--navy-950);display:flex;align-items:center;justify-content:center;padding:24px;color:var(--cream);}
.agegate .ag{max-width:640px;width:100%;text-align:center;}
.agegate .ag img{width:min(560px,86vw);height:auto;margin:0 auto 48px;}
.agegate h2{font-size:clamp(26px,3.4vw,36px);font-weight:600;letter-spacing:-.02em;line-height:1.1;}
.agegate p{font-size:15.5px;line-height:1.65;color:#B0B8CE;margin-top:16px;}
.agegate .ag-actions{display:flex;gap:14px;justify-content:center;margin-top:34px;flex-wrap:wrap;}
.agegate .btn-sec{cursor:pointer;background:none;font-family:inherit;}
body.ag-lock{overflow:hidden;}
/* ---------- reveal ---------- */
.rv.in{animation:rvin .65s var(--ease) both;}
@keyframes rvin{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:none;}}
@media(prefers-reduced-motion:reduce){.rv.in{animation:none;}}

/* ---------- responsive ---------- */
@media(max-width:1080px){
  .nav-toggle{display:flex;}
  nav{position:absolute;top:76px;left:0;right:0;background:var(--navy-950);border-bottom:1px solid rgba(255,255,255,.1);display:none;box-shadow:0 24px 40px -24px rgba(0,0,0,.5);}
  header.open nav{display:block;}
  nav ul{flex-direction:column;gap:0;align-items:stretch;padding:6px 0 14px;}
  nav a{display:block;padding:14px 40px;font-size:15.5px;}
  nav a.active::after{display:none;}
  nav a.active{color:var(--gold);}
  .cta{margin:12px 40px 0;text-align:center;}
  .brand .blogo{height:52px;}
  .sec-head{grid-template-columns:1fr;gap:24px;}
  .prod-grid{grid-template-columns:repeat(2,1fr);}
  .methods{grid-template-columns:1fr;gap:34px;}
  .cards,.cards.two{grid-template-columns:1fr;}
  .why-grid{grid-template-columns:1fr;gap:36px;}
  .steps,.steps.three{grid-template-columns:1fr 1fr;}
  .steps.three .step:last-child{grid-column:1/-1;}
  .statrow{grid-template-columns:1fr 1fr;gap:26px;}
  .split{grid-template-columns:1fr;gap:36px;}
  .split.media-left .media{order:0;}
  .contact-split{grid-template-columns:1fr;gap:40px;}
  .portal-grid{grid-template-columns:1fr;gap:38px;}
  .form-grid{grid-template-columns:1fr;}
  .trow{grid-template-columns:34px 1fr;gap:10px;}
  .trow .desc,.trow .meth{display:none;}
  .foot-top{grid-template-columns:1fr 1fr;gap:36px;}
  .notice{padding:44px 28px;}
  .check{grid-template-columns:1fr;gap:0;}
  .mrow{gap:10px;padding:13px 8px;}
  .mrow .mp{font-size:14px;}
  .mrow .mv{font-size:14px;}
  .ostep{grid-template-columns:48px 1fr;gap:18px;}
  .ostep .on{font-size:24px;}
}

@media(max-width:680px){
  .wrap,.narrow{padding:0 22px;}
  .foot-top{grid-template-columns:1fr;gap:32px;}
  .steps,.steps.three{grid-template-columns:1fr;}
  .statrow{grid-template-columns:1fr;}
  .accred-strip{gap:26px;margin-top:44px;}
  .cta-band .wrap{padding:64px 22px;}
  .cta-band h2{font-size:clamp(30px,8vw,40px);}
  .hero .wrap{padding:72px 22px 68px;}
  .page-hero .wrap{padding:60px 22px 56px;}
  .section{padding:68px 0;}
  .section.tight{padding:56px 0;}
  .why .wrap{padding:68px 22px;}
  .accred-marks{gap:18px;margin-top:40px;}
  .am img{height:46px;}
  .prod-grid{gap:10px;}
  .callout,.map-foot{padding-left:0;padding-right:0;}
  .notice{padding:36px 22px;}
  .lead-head{gap:16px;}
  footer .flogo img{height:66px;}
  .lead-head img{width:96px;height:96px;}
  .ostep{grid-template-columns:1fr;gap:8px;}
  .ostep .on{font-size:20px;}
  .foot-bottom{flex-direction:column;gap:10px;}
}
