/* AdipoLABs Healthcare — precision-instrument design system
   Light-forward. Brand-pure cobalt + ink + neutrals (heat = cobalt intensity, no warm accent). */

/* ---------- Fonts (self-hosted, latin subset) ---------- */
@font-face{font-family:"Newsreader";src:url("/assets/fonts/newsreader-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Newsreader";src:url("/assets/fonts/newsreader-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Newsreader";src:url("/assets/fonts/newsreader-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Newsreader";src:url("/assets/fonts/newsreader-400i.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Plex Sans";src:url("/assets/fonts/plex-sans-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Plex Sans";src:url("/assets/fonts/plex-sans-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Plex Sans";src:url("/assets/fonts/plex-sans-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Plex Mono";src:url("/assets/fonts/plex-mono-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Plex Mono";src:url("/assets/fonts/plex-mono-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}

/* ---------- Tokens ---------- */
:root{
  --cobalt:#1A51A2; --cobalt-deep:#0E3A82; --cobalt-vivid:#0041A1; --cobalt-bright:#2E6BD6; --cobalt-glow:#3F86E6; --cobalt-lift:#5A8DF0;
  --ink:#1C2740; --ink-warm:#271D1A; --navy:#0A1326;
  --page:#F4F8FD; --surface:#FFFFFF; --surface-alt:#EAF1FA; --line:#DCE6F2; --blueprint:#C6D5EA;
  --text:#27324B; --text-2:#566174; --muted:#58647A; --muted-dark:#9AACCB;
  --on-dark:#E7EEFB; --on-dark-2:#A9C0E6; --line-dark:#22386B;

  --font-display:"Newsreader",Georgia,"Times New Roman",serif;
  --font-body:"Plex Sans",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --font-mono:"Plex Mono",ui-monospace,"SF Mono",Menlo,monospace;

  --container:1200px;
  --gutter:clamp(1.25rem,4vw,3rem);
  --section-y:clamp(4rem,8vw,7rem);
  --radius:12px; --radius-sm:8px; --radius-lg:18px;
  --shadow:0 1px 2px rgba(16,38,82,.04),0 8px 28px rgba(16,38,82,.07);
  --shadow-lg:0 24px 60px rgba(8,20,48,.18);
  --ring:0 0 0 3px rgba(46,107,214,.45);
  --ease:cubic-bezier(.22,.61,.36,1);
  --dur:.5s;
}

/* ---------- Reset & base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0;background:var(--page);color:var(--text);
  font-family:var(--font-body);font-size:1.0625rem;line-height:1.65;
  font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
h1,h2,h3,h4{font-family:var(--font-display);color:var(--ink);font-weight:500;line-height:1.12;letter-spacing:-.01em;margin:0}
p{margin:0}
a{color:var(--cobalt);text-decoration:none}
a:hover{color:var(--cobalt-deep)}
img,svg{display:block;max-width:100%}
ul{margin:0;padding:0;list-style:none}
button{font-family:inherit}
:focus-visible{outline:none;box-shadow:var(--ring);border-radius:var(--radius-sm)}
.skip{position:absolute;left:-999px;top:0;z-index:200;background:var(--cobalt);color:#fff;padding:.7rem 1rem;border-radius:0 0 var(--radius-sm) 0}
.skip:focus{left:0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}

/* ---------- Layout primitives ---------- */
.wrap{max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}
.section{padding-block:var(--section-y);position:relative}
.section--tight{padding-block:clamp(2.5rem,5vw,3.5rem)}
.eyebrow{font-family:var(--font-mono);font-size:.72rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--cobalt);display:inline-flex;align-items:center;gap:.7rem;margin-bottom:1.1rem}
.eyebrow::before{content:"";width:26px;height:1px;background:var(--cobalt);opacity:.8}
.band--instrument .eyebrow{color:var(--cobalt-glow)}
.band--instrument .eyebrow::before{background:var(--cobalt-glow)}
.lead{font-size:clamp(1.12rem,.6vw+1rem,1.3rem);line-height:1.6;color:var(--text-2);max-width:60ch}
.h-display{font-size:clamp(2.6rem,5.4vw,4.6rem);font-weight:500;letter-spacing:-.025em}
.h-section{font-size:clamp(1.95rem,3.2vw,2.9rem);max-width:18ch}
.measure{max-width:62ch}

/* blueprint gridlines framing the container */
.gridlines{position:fixed;inset:0;pointer-events:none;z-index:0;display:flex;justify-content:center}
.gridlines i{display:block;width:min(var(--container),calc(100% - var(--gutter)*2));border-left:1px solid var(--blueprint);border-right:1px solid var(--blueprint);opacity:.35}
@media (max-width:760px){.gridlines{display:none}}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--font-body);font-weight:500;font-size:.98rem;
  padding:.82rem 1.4rem;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;
  transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease),transform .12s;white-space:nowrap}
.btn:active{transform:translateY(1px)}
.btn--primary{background:var(--cobalt);color:#fff}
.btn--primary:hover{background:var(--cobalt-deep);color:#fff}
.btn--ghost{background:transparent;border-color:var(--line);color:var(--ink)}
.btn--ghost:hover{border-color:var(--cobalt);color:var(--cobalt)}
.btn .arr{transition:transform var(--dur) var(--ease)}
.btn:hover .arr{transform:translateX(3px)}
.band--instrument .btn--primary{background:var(--cobalt-bright)}
.band--instrument .btn--primary:hover{background:var(--cobalt-lift)}
.band--instrument .btn--ghost{border-color:rgba(169,192,230,.4);color:var(--on-dark)}
.band--instrument .btn--ghost:hover{border-color:var(--cobalt-glow);color:#fff}
.btn-row{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:2rem}

/* ---------- Navigation ---------- */
.nav{position:sticky;top:0;z-index:100;background:rgba(244,248,253,.82);backdrop-filter:blur(12px);
  border-bottom:1px solid transparent;transition:border-color .3s,background .3s}
.nav.is-stuck{border-bottom-color:var(--line);background:rgba(244,248,253,.94)}
.nav__in{display:flex;align-items:center;gap:1.5rem;height:72px}
.nav__links{display:flex;gap:1.15rem;margin-left:auto;align-items:center}
.nav__links a:not(.btn){color:var(--text);font-size:.95rem;font-weight:400;position:relative;padding:.3rem 0}
.nav__links a:not(.btn):hover{color:var(--cobalt)}
.nav__links a:not(.btn)::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:1.5px;background:var(--cobalt);transition:width .3s var(--ease)}
.nav__links a:not(.btn):hover::after{width:100%}
.nav__hcp{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.04em;color:var(--text-2);display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap}
.nav__hcp::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--cobalt-glow);box-shadow:0 0 0 3px rgba(63,134,230,.18)}
.nav__cta{margin-left:.4rem}
.nav__toggle{display:none;margin-left:auto;background:none;border:1px solid var(--line);border-radius:var(--radius-sm);width:44px;height:44px;cursor:pointer;color:var(--ink);align-items:center;justify-content:center}
.nav__toggle svg{width:22px;height:22px}
.menu{display:none}
@media (max-width:1080px){
  .nav__links{display:none}
  .nav__toggle{display:inline-flex}
  .menu{display:block;position:fixed;inset:72px 0 0;background:var(--page);z-index:99;transform:translateY(-8px);opacity:0;visibility:hidden;transition:.3s var(--ease);padding:var(--gutter);overflow:auto}
  .menu.open{transform:none;opacity:1;visibility:visible}
  .menu a{display:block;font-family:var(--font-display);font-size:1.6rem;color:var(--ink);padding:.7rem 0;border-bottom:1px solid var(--line)}
  .menu .btn{margin-top:1.5rem;width:100%;justify-content:center;font-family:var(--font-body);font-size:1rem;color:#fff}
}

/* ---------- Wordmark ---------- */
.wordmark{display:inline-flex;align-items:baseline;font-family:var(--font-display);font-weight:600;font-size:1.5rem;letter-spacing:-.01em;line-height:1}
.wordmark .a{color:var(--ink-warm)}
.wordmark .l{color:var(--cobalt-vivid)}
.wordmark__sub{display:block;font-family:var(--font-mono);font-weight:400;font-size:.5rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-top:3px;white-space:nowrap}

/* ---------- Hero ---------- */
.hero{position:relative;padding-top:clamp(2.5rem,5vw,4.5rem);padding-bottom:var(--section-y);overflow:hidden}
.hero__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.hero__title{margin:.6rem 0 0}
.hero__title .soft{color:var(--cobalt);font-style:italic;font-weight:400}
.hero__lead{margin-top:1.6rem}
.hero__meta{display:flex;gap:1.8rem;margin-top:2.2rem;flex-wrap:wrap}
.hero__meta div{display:flex;flex-direction:column}
.hero__meta dt{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.hero__meta dd{margin:.2rem 0 0;font-weight:500;color:var(--ink);font-size:.98rem}
.hero__dialwrap{position:relative;justify-self:center;width:100%;max-width:440px;aspect-ratio:1}
.hero__bloom{position:absolute;inset:-15% -10%;background:radial-gradient(circle at 50% 52%,rgba(63,134,230,.22),rgba(63,134,230,0) 62%);pointer-events:none;z-index:-1}
@media (max-width:880px){
  .hero__grid{grid-template-columns:1fr;text-align:left}
  .hero__dialwrap{order:-1;max-width:340px}
}

/* ---------- Dial ---------- */
.dial{width:100%;height:auto;touch-action:none}
.dial .track{fill:none;stroke:var(--line);stroke-width:10;stroke-linecap:round}
.dial .fill{fill:none;stroke:var(--cobalt);stroke-width:10;stroke-linecap:round;transition:stroke-dashoffset .25s var(--ease)}
.dial .tick{stroke:var(--blueprint);stroke-width:1.5}
.dial .tick.major{stroke:var(--text-2)}
.dial .handle{fill:#fff;stroke:var(--cobalt);stroke-width:3;cursor:grab;filter:drop-shadow(0 2px 5px rgba(16,38,82,.25))}
.dial.dragging .handle{cursor:grabbing}
.dial:focus-visible{outline:3px solid var(--cobalt-bright);outline-offset:6px;border-radius:16px}
.dial:focus-visible .handle{r:13;stroke-width:4}
.dial__read{font-family:var(--font-mono);fill:var(--ink);font-weight:500}
.dial__unit{font-family:var(--font-mono);fill:var(--text-2)}
.dial__lab{font-family:var(--font-mono);fill:var(--muted);font-size:9px;letter-spacing:.1em}
.dial-fact{margin-top:1.1rem;min-height:3.2em;text-align:center;max-width:38ch;margin-inline:auto}
.dial-fact span{font-size:.97rem;color:var(--text-2);transition:opacity .3s}
.dial-hint{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-align:center;margin-top:.4rem}

/* ---------- Ribbon (credibility) ---------- */
.ribbon{border-block:1px solid var(--line);background:var(--surface)}
.ribbon__in{display:flex;align-items:center;gap:clamp(1rem,3vw,2.5rem);flex-wrap:wrap;justify-content:space-between;padding-block:1.4rem}
.ribbon__creds{display:flex;gap:.6rem;flex-wrap:wrap}
.cred{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.05em;color:var(--cobalt-deep);background:var(--surface-alt);border:1px solid var(--line);border-radius:6px;padding:.4rem .7rem}
.ribbon__proof{display:flex;gap:1.8rem;flex-wrap:wrap}
.proof{display:flex;flex-direction:column}
.proof b{font-family:var(--font-display);font-size:1.5rem;color:var(--ink);font-weight:600;line-height:1}
.proof span{font-size:.82rem;color:var(--text-2);margin-top:.25rem;max-width:22ch}

/* ---------- Positioning (editorial) ---------- */
.editorial{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:start}
.editorial__body p+p{margin-top:1.1rem}
.editorial__body .measure{color:var(--text)}
.pullnote{font-family:var(--font-display);font-style:italic;font-size:clamp(1.4rem,2.4vw,2rem);line-height:1.3;color:var(--ink);border-left:2px solid var(--cobalt);padding-left:1.4rem}
.pullnote cite{display:block;font-style:normal;font-family:var(--font-mono);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:1rem}
@media (max-width:760px){.editorial{grid-template-columns:1fr}}

/* ---------- Instrument band ---------- */
.band--instrument{background:var(--cobalt-deep);color:var(--on-dark);position:relative;overflow:hidden}
.band--instrument::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 12% 110%,rgba(63,134,230,.35),rgba(63,134,230,0) 60%);pointer-events:none}
.band--instrument h2,.band--instrument h3{color:#fff}
.band--instrument .lead{color:var(--on-dark-2)}
.band--instrument .form__note{color:var(--on-dark-2)}
.band--instrument .wrap{position:relative;z-index:1}
.section--surface{background:var(--surface);border-block:1px solid var(--line)}
.section--alt{background:var(--surface-alt);border-block:1px solid var(--line)}

/* Flagship */
.flagship{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.flagship__specs{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.8rem}
.spectag{font-family:var(--font-mono);font-size:.76rem;letter-spacing:.03em;color:var(--on-dark);border:1px solid var(--line-dark);background:rgba(255,255,255,.04);border-radius:6px;padding:.45rem .75rem}
.flagship__benefits{margin-top:1.8rem;display:grid;gap:.9rem}
.flagship__benefits li{display:flex;gap:.7rem;align-items:flex-start;color:var(--on-dark);font-size:1rem}
.flagship__benefits svg{flex:none;width:20px;height:20px;color:var(--cobalt-glow);margin-top:2px}
.schematic{width:100%;height:auto}
@media (max-width:820px){.flagship{grid-template-columns:1fr}.flagship__art{order:-1}}

/* ---------- Orbit portfolio ---------- */
.orbit-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;flex-wrap:wrap;margin-bottom:2.5rem}
.orbit-stage{position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:2.5rem;align-items:center}
.orbit-viz{position:relative;width:100%;max-width:560px;aspect-ratio:1;margin-inline:auto}
.orbit-viz svg{width:100%;height:100%}
.pnode{cursor:pointer}
.pnode circle{transition:r .25s var(--ease),fill .25s}
.pnode:hover circle.dot,.pnode:focus-visible circle.dot{fill:var(--cobalt-bright)}
.pnode:focus-visible{outline:none}
.pnode:focus-visible circle.ring{stroke:var(--cobalt);stroke-opacity:1;stroke-width:2.5}
.pnode.is-active circle.dot{fill:var(--cobalt-bright)}
.pnode.is-active circle.ring{stroke:var(--cobalt-glow);stroke-opacity:.55}
.orbit-core text{font-family:var(--font-display)}
.node-label text{font-family:var(--font-mono);fill:var(--text-2);font-size:11px}
.orbit-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.8rem;box-shadow:var(--shadow);min-height:220px;display:flex;flex-direction:column;align-items:flex-start}
.orbit-more{display:inline-flex;align-items:center;gap:.4rem;font-weight:500;font-size:.95rem;color:var(--cobalt);margin-top:1.2rem}
.orbit-more:hover{gap:.6rem}
.orbit-head .orbit-more{margin-top:1rem}
.orbit-panel .eyebrow{margin-bottom:.7rem}
.orbit-panel h3{font-size:1.4rem;margin-bottom:.6rem}
.orbit-panel p{color:var(--text-2);font-size:.98rem}
.orbit-panel .tag{display:inline-block;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--cobalt-deep);background:var(--surface-alt);padding:.3rem .6rem;border-radius:5px;margin-top:1.2rem}
.orbit-list{display:none}
@media (max-width:860px){
  .orbit-stage{grid-template-columns:1fr}
  .orbit-viz{display:none}
  .orbit-list{display:grid;gap:.75rem}
  .orbit-list button{display:flex;justify-content:space-between;align-items:center;gap:1rem;width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.2rem;cursor:pointer;color:var(--ink);font-size:1rem;font-weight:500}
  .orbit-list button[aria-pressed=true]{border-color:var(--cobalt);box-shadow:var(--ring)}
  .orbit-list .ring-num{font-family:var(--font-mono);font-size:.72rem;color:var(--muted)}
}

/* ---------- Evidence ---------- */
.evi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:1rem}
.evi{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem;display:flex;flex-direction:column}
.evi__k{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.evi h3{font-size:1.15rem;margin:.5rem 0 .5rem}
.evi p{color:var(--text-2);font-size:.92rem;flex:1}
.evi .when{font-family:var(--font-mono);font-size:.78rem;color:var(--cobalt-deep);margin-top:1rem}
.gate{margin-top:2.2rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap;background:var(--surface-alt);border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem 1.5rem}
.gate p{color:var(--text-2);font-size:.92rem;flex:1;min-width:240px}
.gate .lock{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--cobalt-deep);display:flex;align-items:center;gap:.5rem}
.note-fine{font-size:.8rem;color:var(--muted);max-width:74ch;line-height:1.6;margin-top:1.6rem}
@media (max-width:760px){.evi-grid{grid-template-columns:1fr}}

/* ---------- Audience lanes ---------- */
.lanes{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:1rem}
.lane{background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--cobalt);border-radius:0 0 var(--radius) var(--radius);padding:1.8rem;display:flex;flex-direction:column;transition:transform .3s var(--ease),box-shadow .3s}
.lane:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.lane__ico{width:40px;height:40px;color:var(--cobalt);margin-bottom:1rem}
.lane h3{font-size:1.25rem;margin-bottom:.5rem}
.lane p{color:var(--text-2);font-size:.94rem;flex:1}
.lane a{margin-top:1.3rem;font-weight:500;display:inline-flex;align-items:center;gap:.4rem;font-size:.95rem}
@media (max-width:760px){.lanes{grid-template-columns:1fr}}

/* ---------- Credential wall ---------- */
.wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:1rem;margin-top:1rem}
.chip{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.3rem;text-align:left;cursor:pointer;min-height:150px;transition:border-color .3s,box-shadow .3s,transform .3s;color:var(--ink);display:flex;flex-direction:column}
.chip:hover{border-color:var(--cobalt);box-shadow:var(--shadow);transform:translateY(-3px)}
.chip__code{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.06em;color:var(--muted)}
.chip__name{font-family:var(--font-display);font-size:1.18rem;font-weight:600;margin:.5rem 0 auto}
.chip__detail{font-size:.82rem;color:var(--text-2);line-height:1.5;display:none}
.chip__foot{font-family:var(--font-mono);font-size:.72rem;color:var(--cobalt);margin-top:1rem;display:flex;align-items:center;gap:.4rem}
.chip[aria-expanded=true]{border-color:var(--cobalt)}
.chip[aria-expanded=true] .chip__name{margin-bottom:.6rem}
.chip[aria-expanded=true] .chip__detail{display:block}
.chip[aria-expanded=true] .chip__teaser{display:none}
.chip__teaser{font-size:.86rem;color:var(--text-2);margin-top:.3rem}

/* ---------- Company / reach ---------- */
.reach{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.reach__facts{display:grid;gap:1.1rem;margin-top:1.8rem}
.reach__facts li{display:flex;gap:1rem;align-items:baseline}
.reach__facts .y{font-family:var(--font-mono);font-size:.82rem;color:var(--cobalt);min-width:74px;letter-spacing:.04em}
.reach__facts .t{color:var(--text);font-size:.98rem}
.reach__map{width:100%;height:auto}
@media (max-width:820px){.reach{grid-template-columns:1fr}}

/* ---------- Conversion / form ---------- */
.cta-band .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,5vw,4rem);align-items:start}
.cta-alt{margin-top:2rem;display:grid;gap:.9rem}
.cta-alt a{display:flex;align-items:center;gap:.8rem;color:var(--on-dark);font-size:.98rem}
.cta-alt svg{width:20px;height:20px;color:var(--cobalt-glow);flex:none}
.form{background:var(--surface);border-radius:var(--radius-lg);padding:clamp(1.5rem,3vw,2.2rem);box-shadow:var(--shadow-lg)}
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.field{margin-bottom:1rem;display:flex;flex-direction:column}
.field label{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);margin-bottom:.45rem}
.field input,.field select,.field textarea{font-family:var(--font-body);font-size:1rem;color:var(--ink);background:var(--page);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.75rem .85rem;width:100%;transition:border-color .2s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--cobalt);box-shadow:var(--ring)}
.field textarea{resize:vertical;min-height:90px}
.field[data-error] input,.field[data-error] select,.field[data-error] textarea{border-color:#c0392b}
.field .err{color:#c0392b;font-size:.78rem;margin-top:.35rem;display:none}
.field[data-error] .err{display:block}
.form .btn--primary{width:100%;justify-content:center;margin-top:.4rem}
.form__note{font-size:.78rem;color:var(--muted);margin-top:1rem;line-height:1.5}
.form__status{margin-top:1rem;font-size:.92rem;border-radius:var(--radius-sm);padding:.85rem 1rem;display:none}
.form__status.ok{display:block;background:#e8f3ec;color:#1d6b43;border:1px solid #bfe0cb}
.form__status.bad{display:block;background:#fbecea;color:#a8321f;border:1px solid #f0c9c2}
@media (max-width:600px){.form__row{grid-template-columns:1fr}}
@media (max-width:820px){.cta-band .wrap{grid-template-columns:1fr}}

/* ---------- Footer ---------- */
.foot{background:var(--navy);color:var(--on-dark-2);padding-block:clamp(3rem,6vw,4.5rem) 2rem}
.foot a{color:var(--on-dark-2)}
.foot a:hover{color:#fff}
.foot__top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2.5rem;padding-bottom:2.5rem;border-bottom:1px solid var(--line-dark)}
.foot .wordmark .a{color:#fff}.foot .wordmark .l{color:var(--cobalt-glow)}
.foot__top p{font-size:.92rem;line-height:1.6;margin-top:1rem;max-width:34ch}
.foot__col h4{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-dark);font-weight:500;margin-bottom:1rem}
.foot__col li{margin-bottom:.6rem;font-size:.94rem}
.foot__creds{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1.4rem}
.foot__creds span{font-family:var(--font-mono);font-size:.68rem;color:var(--on-dark-2);border:1px solid var(--line-dark);border-radius:5px;padding:.3rem .55rem}
.foot__bottom{display:flex;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;padding-top:1.8rem;font-size:.8rem;color:var(--muted-dark)}
.foot__social{display:flex;gap:1rem}
.foot__social a{display:inline-flex;width:20px;height:20px}
.foot__disc{max-width:70ch;font-size:.76rem;color:var(--muted-dark);line-height:1.6;margin-top:1.5rem}
@media (max-width:760px){.foot__top{grid-template-columns:1fr;gap:2rem}}

/* ---------- Inner pages ---------- */
.nav__links a[aria-current]{color:var(--cobalt)}
.nav__links a[aria-current]::after{width:100%}
.crumbs{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.04em;color:var(--muted);display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.4rem}
.crumbs a{color:var(--text-2)}.crumbs a:hover{color:var(--cobalt)}
.crumbs span{color:var(--blueprint)}
.pagehero{padding-top:clamp(2.5rem,5vw,4rem);padding-bottom:clamp(1.5rem,3vw,2.5rem)}
.pagehero h1{margin-top:.4rem;font-size:clamp(2.2rem,4.6vw,3.7rem);letter-spacing:-.02em;max-width:18ch}
.pagehero .lead{margin-top:1.3rem}

.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.split__art svg{width:100%;height:auto}
@media (max-width:820px){.split{grid-template-columns:1fr}.split__art{order:-1}}

.prose{max-width:68ch}
.prose p{margin-bottom:1.1rem;color:var(--text)}
.prose h3{font-size:clamp(1.3rem,1.6vw+1rem,1.7rem);margin:2.4rem 0 .8rem}
.prose ul{display:grid;gap:.7rem;margin:1rem 0 1.4rem}
.prose ul li{position:relative;padding-left:1.5rem;color:var(--text)}
.prose ul li::before{content:"";position:absolute;left:0;top:.6em;width:8px;height:8px;border-radius:50%;background:var(--cobalt);opacity:.55}

.steps{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;margin-top:1.5rem}
.step{background:var(--surface);padding:1.6rem 1.8rem;display:grid;grid-template-columns:auto 1fr;gap:1.2rem;align-items:start}
.step__n{font-family:var(--font-mono);font-size:.82rem;color:var(--cobalt);border:1px solid var(--cobalt);border-radius:50%;width:34px;height:34px;display:flex;align-items:center;justify-content:center;flex:none}
.step h3{font-size:1.15rem;margin-bottom:.3rem}
.step p{color:var(--text-2);font-size:.95rem}

.spec-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-top:1.5rem}
.spec-list div{background:var(--surface);padding:1rem 1.2rem}
.spec-list dt{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.spec-list dd{margin:.3rem 0 0;font-weight:500;color:var(--ink)}

.prodgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1.25rem;margin-top:1.5rem}
.prodcard{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.8rem;transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}
.prodcard:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--blueprint)}
.prodcard__cat{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cobalt)}
.prodcard h3{font-size:1.3rem;margin:.6rem 0 .5rem}
.prodcard p{color:var(--text-2);font-size:.95rem;flex:1}
.prodcard .more{margin-top:1.3rem;font-weight:500;display:inline-flex;align-items:center;gap:.4rem;font-size:.95rem}
.prodcard__ico{width:38px;height:38px;color:var(--cobalt);margin-bottom:.4rem}

.gatewall{border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;margin-top:1.5rem}
.gatewall__lock{padding:clamp(1.8rem,4vw,2.8rem);text-align:center;background:var(--surface)}
.gatewall__lock .ico{width:44px;height:44px;color:var(--cobalt);margin:0 auto 1rem}
.gatewall__lock h3{font-size:1.4rem;margin-bottom:.6rem}
.gatewall__lock>p{color:var(--text-2);max-width:54ch;margin:0 auto 1.4rem}
.attest{display:flex;gap:.7rem;align-items:flex-start;max-width:48ch;margin:0 auto 1.4rem;text-align:left}
.attest input{margin-top:.2rem;width:18px;height:18px;accent-color:var(--cobalt);flex:none}
.attest label{font-size:.92rem;color:var(--text-2)}
.gated[hidden]{display:none}
.gated{padding:clamp(1.6rem,3vw,2.2rem);background:var(--surface-alt);border-top:1px solid var(--line)}
.gated .hcp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;margin-top:1.2rem}
.gated .hcp-item{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem 1.3rem}
.gated .hcp-item h4{font-family:var(--font-display);font-size:1.05rem;font-weight:600;color:var(--ink);margin-bottom:.3rem}
.gated .hcp-item p{font-size:.86rem;color:var(--text-2)}

.timeline{margin-top:1.5rem;display:grid;gap:1.6rem}
.tl{display:grid;grid-template-columns:130px 1fr;gap:1.4rem;align-items:start}
.tl__when{font-family:var(--font-mono);font-size:.78rem;color:var(--cobalt);padding-top:.15rem}
.tl__body{border-left:2px solid var(--line);padding:0 0 .4rem 1.5rem;position:relative}
.tl__body::before{content:"";position:absolute;left:-7px;top:.35rem;width:12px;height:12px;border-radius:50%;background:var(--cobalt);border:2px solid var(--page)}
.tl__body h3{font-size:1.15rem;margin-bottom:.3rem}
.tl__body p{color:var(--text-2);font-size:.95rem}
@media (max-width:600px){.tl{grid-template-columns:1fr;gap:.5rem}.tl__body{padding-left:1.2rem}}

.cta-simple{text-align:center}
.cta-simple h2{margin-inline:auto}
.cta-simple .lead{margin:1.2rem auto 0}
.cta-simple .btn-row{justify-content:center}
