/* Advantek Benefit Administrators — a Brandcore side proposal
   Palette and material are taken from the client's own mark: warm plan paper,
   near-black ink, the Advantek teal swoosh, and a clinical evergreen stage.
   No green-glass cards. Paper, rules, stamps, and one card object. */

@font-face { font-family: 'Inter'; src: url('assets/fonts/a699af1dea30b799318e.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'Inter'; src: url('assets/fonts/e45972c7e9f24dc39084.woff2') format('woff2'); font-weight: 500; font-display: swap; }
@font-face { font-family: 'Inter'; src: url('assets/fonts/87e867b52640b3b397a9.woff2') format('woff2'); font-weight: 600; font-display: swap; }
@font-face { font-family: 'Inter'; src: url('assets/fonts/6f49e1b28bce7339f484.woff2') format('woff2'); font-weight: 700; font-display: swap; }
@font-face { font-family: 'Source Serif 4'; src: url('assets/fonts/053f3583e4a034f1d1b1.woff2') format('woff2'); font-weight: 600; font-display: swap; }
@font-face { font-family: 'Source Serif 4'; src: url('assets/fonts/8ebc3d71038a4b1e5df3.woff2') format('woff2'); font-weight: 700; font-display: swap; }
@font-face { font-family: 'JetBrains Mono'; src: url('assets/fonts/jetbrains-mono-400-normal.woff2') format('woff2'); font-weight: 400; font-display: swap; }

:root {
  --paper: #F3F0E6;
  --paper-2: #E9E4D6;
  --paper-3: #DDD6C4;
  --card: #FBF8EF;
  --ink: #0A1A15;
  --ink-2: #31443C;
  --ink-3: #5B6B64;
  --ever: #06251F;
  --ever-2: #0A342B;
  --ever-3: #0E4136;
  --teal: #009078;
  --teal-deep: #00604E;
  --teal-dark: #003E33;
  --mint: #8FE3CB;
  --mint-2: #C9F3E5;
  --mist: #D4E4DD;
  --red: #A5392F;
  --line: rgba(10, 26, 21, .15);
  --line-soft: rgba(10, 26, 21, .08);
  --line-dark: rgba(212, 228, 221, .18);
  --sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
  --serif: 'Source Serif 4', Georgia, 'Times New Roman', serif;
  --mono: 'JetBrains Mono', ui-monospace, Consolas, monospace;
  --ease: cubic-bezier(.22, 1, .36, 1);
}

*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html, body { margin: 0; }
html { -webkit-text-size-adjust: 100%; }
body {
  min-height: 100dvh;
  background:
    radial-gradient(120% 80% at 50% -10%, #14483D 0%, #082B24 52%, #041713 100%);
  color: var(--ink);
  font-family: var(--sans);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow: hidden;
}
h1, h2, h3, p, ul, ol, dl, dd, figure, blockquote { margin: 0; padding: 0; }
ul, ol { list-style: none; }
button, input, a { font: inherit; color: inherit; }
button { cursor: pointer; }
img { display: block; max-width: 100%; }
p, li, blockquote { text-wrap: pretty; }
h1, h2, h3 { text-wrap: balance; }
.sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.ui-icon { width: 1em; height: 1em; display: inline-block; flex: none; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; vertical-align: -.12em; }
.mono { font-family: var(--mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.nowrap { white-space: nowrap; }
button:focus-visible, a:focus-visible, input:focus-visible { outline: 3px solid var(--mint); outline-offset: 3px; }

/* ---------- persistent chrome ---------- */
.progress { position: fixed; top: 0; left: 0; right: 0; height: 2px; z-index: 90; background: rgba(255,255,255,.08); }
.progress i { display: block; height: 100%; width: 11.111%; background: linear-gradient(90deg, #007A67, var(--mint)); transition: width .55s var(--ease); }

.topbar {
  position: relative; z-index: 80;
  height: 54px; flex: none;
  display: grid; grid-template-columns: 1fr auto 1fr; align-items: center;
  gap: 18px; padding: 0 30px;
  color: var(--mint-2);
  background: #06231D;
  border-bottom: 1px solid rgba(143, 227, 203, .14);
}
.lockup { display: inline-flex; align-items: center; gap: 10px; width: fit-content; text-decoration: none; opacity: .94; }
.lockup .bc-mark { height: 17px; width: auto; }
.lockup-x { color: var(--mint); font-size: 15px; line-height: 1; opacity: .7; }
.lockup .adv-mark { height: 21px; width: auto; }
.adv-wordmark { display: flex; flex-direction: column; gap: 1px; line-height: 1; }
.adv-wordmark b { font-family: var(--sans); font-size: 11.5px; font-weight: 700; letter-spacing: .1em; color: #F7FBF8; }
.adv-wordmark small { font-family: var(--mono); font-size: 6.5px; letter-spacing: .11em; color: var(--mint); }
.section-label { justify-self: center; display: inline-flex; align-items: baseline; gap: 8px; font-family: var(--mono); font-size: 10.5px; letter-spacing: .13em; text-transform: uppercase; color: var(--mist); white-space: nowrap; }
.section-label span { color: var(--mint); }
.index-button { justify-self: end; display: inline-flex; align-items: center; gap: 7px; min-height: 36px; padding: 0 11px; border: 1px solid rgba(143,227,203,.28); border-radius: 2px; background: transparent; color: var(--mint-2); font-family: var(--mono); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.index-button:hover { background: rgba(143,227,203,.1); }
.index-button .ui-icon { font-size: 14px; }

.bottombar {
  position: relative; z-index: 80; flex: none;
  height: 58px; display: flex; align-items: center; gap: 14px;
  padding: 0 30px; color: var(--mist);
  background: #06231D; border-top: 1px solid rgba(143,227,203,.14);
  font-size: 12px;
}
.bottom-prep b { color: #fff; font-weight: 600; }
.bottom-prep span, .bottom-private span { color: rgba(212,228,221,.4); margin: 0 6px; }
.bottom-private { margin-left: auto; font-family: var(--mono); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: rgba(212,228,221,.62); }
.bottom-nav { display: flex; align-items: center; gap: 8px; margin-left: 10px; }
.bottom-nav button { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid rgba(143,227,203,.28); border-radius: 50%; background: transparent; color: var(--mint-2); }
.bottom-nav button:hover { background: rgba(143,227,203,.12); }
.bottom-nav .ui-icon { font-size: 16px; }
#counter { min-width: 60px; text-align: center; font-family: var(--mono); font-size: 10.5px; letter-spacing: .1em; color: var(--mint-2); }

.rail { position: fixed; right: 16px; top: 50%; transform: translateY(-50%); z-index: 70; display: flex; flex-direction: column; gap: 9px; }
.rail button { width: 24px; height: 24px; display: grid; place-items: center; padding: 0; border: 0; background: transparent; }
.rail button i { width: 6px; height: 6px; border-radius: 50%; background: rgba(212,228,221,.4); transition: .2s; }
.rail button.on i { width: 8px; height: 8px; background: var(--mint); box-shadow: 0 0 0 3px rgba(143,227,203,.16); }
.rail button span { position: absolute; right: 30px; padding: 5px 8px; background: #06231D; color: var(--mint-2); font-family: var(--mono); font-size: 9px; letter-spacing: .1em; text-transform: uppercase; white-space: nowrap; opacity: 0; pointer-events: none; transition: .18s; border: 1px solid rgba(143,227,203,.2); }
.rail button:hover span, .rail button:focus-visible span { opacity: 1; }

/* ---------- stage & slides ---------- */
.deck {
  position: relative; z-index: 1;
  width: min(96vw, calc((100dvh - 132px) * 16 / 9), 1640px);
  max-height: calc(100dvh - 132px);
  aspect-ratio: 16 / 9;
  margin: auto;
  container-type: size;
  background: var(--paper);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 30px 90px rgba(0,0,0,.42), 0 0 0 1px rgba(255,255,255,.06);
}
.slide { position: relative; display: none; height: 100%; min-height: 0; overflow: hidden; }
.slide.active { display: flex; flex-direction: column; }
.slide:not(.cover) { padding: clamp(24px, 3cqh, 42px) clamp(26px, 3.3cqw, 54px) clamp(28px, 3.6cqh, 48px); gap: clamp(8px, 1.3cqh, 16px); }
.paper { background: var(--paper); color: var(--ink); }
.dark { background: var(--ever); color: #F3FAF6; }
.deck[data-theme="dark"] { background: var(--ever); }
.deck[data-theme="light"] { background: var(--paper); }
.paper::before {
  content: ''; position: absolute; inset: 0; pointer-events: none; opacity: .55;
  background-image: linear-gradient(90deg, rgba(10,26,21,.032) 1px, transparent 1px), linear-gradient(rgba(10,26,21,.022) 1px, transparent 1px);
  background-size: 42px 42px;
}
.dark::before {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(80% 80% at 88% 8%, rgba(0,144,120,.14), transparent 58%),
    radial-gradient(70% 50% at 6% 96%, rgba(143,227,203,.05), transparent 60%);
}
.slide > * { position: relative; z-index: 1; }
.slide-head { display: flex; align-items: baseline; justify-content: space-between; gap: 24px; flex: none; padding-bottom: clamp(7px, 1.1cqh, 12px); border-bottom: 1px solid var(--line); }
.dark .slide-head { border-color: var(--line-dark); }
.eyebrow { display: inline-flex; align-items: center; gap: 9px; font-family: var(--mono); font-size: clamp(10px, .78cqw, 12.5px); letter-spacing: .13em; text-transform: uppercase; color: var(--teal-deep); }
.eyebrow span { display: inline-grid; place-items: center; min-width: 22px; height: 22px; border: 1px solid var(--teal); border-radius: 50%; font-size: 9.5px; letter-spacing: 0; }
.eyebrow i { font-style: normal; color: var(--ink-3); }
.dark .eyebrow { color: var(--mint); }
.dark .eyebrow span { border-color: var(--mint); }
.dark .eyebrow i { color: rgba(212,228,221,.55); }
.source-line { font-family: var(--mono); font-size: clamp(9.5px, .72cqw, 11.5px); letter-spacing: .055em; color: var(--ink-3); text-align: right; }
.dark .source-line { color: rgba(212,228,221,.62); }
.source-line a { color: inherit; text-decoration: underline; text-decoration-color: rgba(0,96,78,.35); text-underline-offset: 2px; }
.dark .source-line a { text-decoration-color: rgba(143,227,203,.35); }

h2 { font-family: var(--serif); font-weight: 600; font-size: clamp(31px, 2.65cqw + 6px, 56px); line-height: 1.02; letter-spacing: -.025em; color: var(--ink); }
h2 em { font-style: italic; font-weight: 600; color: var(--teal-deep); }
.dark h2 { color: #F7FBF8; }
.dark h2 em { color: var(--mint); }
.kicker { display: inline-flex; align-items: center; gap: 9px; font-family: var(--mono); font-size: clamp(10px, .8cqw, 12px); letter-spacing: .14em; text-transform: uppercase; color: var(--teal-deep); }
.kicker::before { content: ''; width: 22px; height: 1px; background: currentColor; }
.dark .kicker { color: var(--mint); }
.slide-note { flex: none; font-family: var(--mono); font-size: clamp(9.5px, .72cqw, 11px); line-height: 1.45; letter-spacing: .04em; color: var(--ink-3); }
.dark .slide-note { color: rgba(212,228,221,.55); }

/* ---------- cover ---------- */
.cover { display: none; background: var(--ever); color: #F7FBF8; }
.cover.active { display: grid; grid-template-columns: 44fr 56fr; }
.cover::before {
  content: ''; position: absolute; inset: 0; pointer-events: none; z-index: 0;
  background:
    radial-gradient(65% 90% at 86% 50%, rgba(0,144,120,.2), transparent 62%),
    radial-gradient(60% 70% at 4% 4%, rgba(143,227,203,.06), transparent 55%);
}
.cover-copy { position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: center; padding: clamp(26px, 4.2cqw, 58px) clamp(22px, 2.6cqw, 38px) clamp(22px, 3.4cqw, 48px) clamp(28px, 4.4cqw, 64px); }
.cover-topline { display: flex; align-items: center; gap: 9px; margin-bottom: clamp(16px, 2.6cqh, 30px); color: var(--mint); }
.cover-topline .mono { font-size: clamp(8.5px, .62cqw, 10.5px); letter-spacing: .14em; }
.cover-topline .dash { color: rgba(143,227,203,.4); }
.cover .kicker { margin-bottom: clamp(10px, 1.5cqh, 16px); font-size: clamp(9.5px, .7cqw, 11px); }
.cover h1 { max-width: 12.5ch; font-family: var(--serif); font-weight: 600; font-size: clamp(42px, 4.1cqw + 8px, 88px); line-height: .99; letter-spacing: -.035em; color: #FBFDFB; }
.cover h1 em { display: block; font-style: italic; color: var(--mint); }
.cover-lead { max-width: 41ch; margin-top: clamp(12px, 1.8cqh, 20px); font-size: clamp(14px, 1.02cqw + 2px, 19px); line-height: 1.5; color: #C9DCD4; }
.cover-facts { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 0; margin-top: clamp(16px, 2.2cqh, 26px); border-top: 1px solid rgba(143,227,203,.2); border-bottom: 1px solid rgba(143,227,203,.2); }
.cover-facts li { padding: 11px 12px 11px 0; border-right: 1px solid rgba(143,227,203,.15); }
.cover-facts li:last-child { border-right: 0; padding-right: 0; }
.cover-facts li + li { padding-left: 12px; }
.cover-facts b { display: block; font-size: clamp(11px, .82cqw, 13.5px); font-weight: 600; color: #F3FAF6; line-height: 1.3; }
.cover-facts span { display: block; margin-top: 3px; font-family: var(--mono); font-size: clamp(8.5px, .61cqw, 10px); letter-spacing: .07em; text-transform: uppercase; color: var(--mint); }
.cover-byline { display: flex; align-items: center; gap: 10px; margin-top: clamp(14px, 2cqh, 22px); }
.cover-byline img { width: 34px; height: 34px; border-radius: 50%; object-fit: cover; object-position: center 18%; border: 1px solid rgba(143,227,203,.6); }
.cover-byline p { font-size: clamp(10.5px, .78cqw, 12.5px); line-height: 1.45; color: rgba(212,228,221,.72); }
.cover-byline b { color: #F3FAF6; font-weight: 600; }
.cover-cue { display: inline-flex; align-items: center; gap: 10px; width: fit-content; margin-top: clamp(14px, 2cqh, 22px); padding: 0; border: 0; background: transparent; font-family: var(--mono); font-size: clamp(9px, .68cqw, 10.5px); letter-spacing: .12em; text-transform: uppercase; color: var(--mint); }
.cover-cue .cue-line { width: 34px; height: 1px; background: currentColor; transition: width .25s var(--ease); }
.cover-cue:hover .cue-line { width: 52px; }
.cover-cue .ui-icon { font-size: 13px; }
.cover-stage { position: relative; overflow: hidden; min-height: 0; border-left: 1px solid rgba(143,227,203,.13); background: radial-gradient(58% 60% at 52% 48%, #0C4238 0%, #06251F 68%, #041713 100%); }
#cover-scene { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 1; }
.stage-meta { position: absolute; z-index: 2; left: clamp(18px, 2.4cqw, 32px); right: clamp(18px, 2.4cqw, 32px); bottom: clamp(18px, 2.4cqw, 32px); display: flex; justify-content: space-between; gap: 20px; pointer-events: none; }
.stage-meta .mono { font-size: clamp(8px, .58cqw, 9.5px); letter-spacing: .11em; color: rgba(201,243,229,.56); }
.stage-hint { position: absolute; z-index: 2; right: clamp(18px, 2.4cqw, 32px); top: clamp(18px, 2.4cqw, 30px); font-family: var(--mono); font-size: clamp(8px, .58cqw, 9.5px); letter-spacing: .08em; text-transform: uppercase; color: rgba(201,243,229,.48); }
.stage-hint span { color: rgba(201,243,229,.26); }
body:not(.webgl-ready) .stage-hint { display: none; }

.cover-fallback { position: absolute; inset: 0; z-index: 1; display: grid; place-items: center; }
.fallback-orbit { position: absolute; width: 62%; aspect-ratio: 1; border: 1px solid rgba(143,227,203,.18); border-radius: 50%; box-shadow: 0 0 0 42px rgba(143,227,203,.035), 0 0 0 84px rgba(143,227,203,.02); }
.fallback-card { position: relative; width: clamp(200px, 16.5cqw, 280px); aspect-ratio: .69; padding: 24px 20px 18px; background: linear-gradient(150deg, #FCF9F0 0%, #EDE5D2 100%); color: var(--ink); border-radius: 4px; box-shadow: 0 30px 70px rgba(0,0,0,.5), 0 0 0 1px rgba(255,255,255,.4); transform: rotate(-6deg); display: flex; flex-direction: column; align-items: center; }
.fallback-card img { width: 94%; margin: 8px auto 0; }
.fallback-card span { margin-top: 14px; font-family: var(--mono); font-size: clamp(6px, .55cqw, 8px); letter-spacing: .12em; color: var(--teal-deep); text-align: center; }
.fallback-card i { width: 60%; height: 1px; background: var(--teal); margin: 10px 0 9px; opacity: .6; }
.fallback-card b { font-family: var(--mono); font-size: clamp(6.5px, .58cqw, 8.5px); letter-spacing: .1em; color: var(--ink-2); }
.fallback-card strong { margin: 12px 0 8px; font-family: var(--serif); font-size: clamp(15px, 1.25cqw, 21px); font-weight: 600; line-height: 1.1; color: var(--ink); text-align: center; }
.fallback-card small { margin-top: auto; font-family: var(--mono); font-size: clamp(5.5px, .48cqw, 7px); letter-spacing: .08em; color: var(--ink-3); text-align: center; }
.fallback-card em { margin-top: 5px; font-family: var(--mono); font-style: normal; font-size: clamp(5px, .44cqw, 6.5px); letter-spacing: .08em; color: var(--teal-deep); }

/* ---------- audit ---------- */
.audit { background: var(--paper); }
.audit-intro { display: grid; grid-template-columns: 1.2fr .8fr; gap: clamp(22px, 4cqw, 60px); align-items: end; flex: none; }
.audit-intro h2 { max-width: 17ch; }
.audit-intro p { max-width: 48ch; padding-bottom: 4px; font-size: clamp(13px, .86cqw + 3px, 17px); line-height: 1.5; color: var(--ink-2); }
.audit-grid { display: grid; grid-template-columns: 1.08fr .92fr; gap: clamp(22px, 3.3cqw, 46px); flex: 1; min-height: 0; align-items: center; }
.evidence-figure { display: flex; flex-direction: column; min-width: 0; }
.evidence-frame { position: relative; padding: 8px; background: #0C2A22; border-radius: 3px; box-shadow: 0 16px 32px rgba(10,26,21,.18); }
.evidence-frame img { width: 100%; height: auto; border-radius: 1px; }
.evidence-tag { position: absolute; top: 14px; padding: 4px 7px; background: var(--paper); color: var(--ink); font-family: var(--mono); font-size: 8px; letter-spacing: .08em; border: 1px solid rgba(10,26,21,.2); }
.evidence-tag.left { left: 14px; }
.evidence-tag.right { right: 14px; }
.evidence-figure figcaption { margin-top: 8px; font-family: var(--mono); font-size: clamp(9px, .68cqw, 10.5px); line-height: 1.45; color: var(--ink-3); }
.findings { display: flex; flex-direction: column; gap: 0; border-top: 1px solid var(--line); }
.findings li { display: grid; grid-template-columns: 28px 1fr; gap: 10px; padding: clamp(7px, 1.1cqh, 11px) 0; border-bottom: 1px solid var(--line); }
.finding-no { font-family: var(--mono); font-size: 10px; color: var(--teal-deep); padding-top: 2px; }
.findings h3 { font-size: clamp(13px, .95cqw + 1px, 16.5px); font-weight: 700; line-height: 1.25; color: var(--ink); }
.findings p { margin-top: 3px; font-size: clamp(11.5px, .76cqw + 2px, 14px); line-height: 1.42; color: var(--ink-2); }
.tag { display: inline-block; margin-top: 5px; padding: 2px 5px; border: 1px solid rgba(0,96,78,.3); color: var(--teal-deep); font-family: var(--mono); font-size: 7.5px; letter-spacing: .08em; }
.tag.src { border-color: rgba(10,26,21,.2); color: var(--ink-3); }
.metric-strip { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)) 1.2fr; gap: 0; flex: none; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.metric-strip > div { padding: 8px 14px 8px 0; border-right: 1px solid var(--line); }
.metric-strip > div + div { padding-left: 14px; }
.metric-strip b { display: block; font-family: var(--serif); font-size: clamp(19px, 1.55cqw, 28px); line-height: 1; color: var(--ink); }
.metric-strip b small { font-family: var(--sans); font-size: .5em; font-weight: 600; margin-left: 1px; }
.metric-strip span { display: block; margin-top: 3px; font-family: var(--mono); font-size: clamp(8px, .58cqw, 9.5px); line-height: 1.35; letter-spacing: .03em; text-transform: uppercase; color: var(--ink-3); }
.metric-strip > p { align-self: center; padding-left: 16px; font-family: var(--serif); font-style: italic; font-size: clamp(12px, .95cqw, 16px); color: var(--teal-deep); }

/* ---------- gap ---------- */
.gap-intro { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(24px, 4cqw, 58px); align-items: end; flex: none; }
.gap-intro h2 { max-width: 18ch; }
.gap-quote { padding-left: 16px; border-left: 2px solid var(--mint); }
.gap-quote blockquote { font-family: var(--serif); font-size: clamp(14px, 1.06cqw + 2px, 20px); line-height: 1.3; color: #F3FAF6; }
.gap-quote p { margin-top: 6px; font-size: clamp(10.5px, .75cqw + 1px, 13px); line-height: 1.45; color: rgba(212,228,221,.68); }
.route-compare { display: grid; grid-template-columns: 1fr 68px 1fr; gap: clamp(10px, 1.6cqw, 22px); align-items: center; align-items: safe center; align-content: center; align-content: safe center; flex: 1; min-height: 0; }
.route { position: relative; display: flex; flex-direction: column; padding: clamp(14px, 1.8cqw, 22px); border: 1px solid var(--line-dark); }
.route.today { background: rgba(255,255,255,.035); }
.route.proposed { background: #F3F0E6; color: var(--ink); border-color: var(--paper); box-shadow: 0 18px 40px rgba(0,0,0,.22); }
.route::before { content: ''; position: absolute; left: 14px; top: -5px; width: 8px; height: 8px; border-radius: 50%; background: var(--ever); border: 1px solid rgba(212,228,221,.4); }
.route.proposed::before { background: var(--paper); border-color: var(--teal); }
.route-top { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding-bottom: 8px; border-bottom: 1px solid var(--line-dark); }
.route.proposed .route-top { border-color: var(--line); }
.route-top .mono { font-size: clamp(8.5px, .62cqw, 10px); color: var(--mint); }
.route.proposed .route-top .mono { color: var(--teal-deep); }
.route-badge { padding: 3px 7px; border: 1px solid rgba(165,57,47,.65); color: #E3A197; font-family: var(--mono); font-size: 8px; letter-spacing: .06em; }
.route.proposed .route-badge { border-color: rgba(0,96,78,.4); color: var(--teal-deep); }
.route h3 { margin: 10px 0 8px; font-family: var(--serif); font-size: clamp(17px, 1.28cqw, 22px); font-weight: 600; line-height: 1.15; color: #F3FAF6; }
.route.proposed h3 { color: var(--ink); }
.route ol { display: flex; flex-direction: column; gap: 0; margin-top: 2px; }
.route li { display: grid; grid-template-columns: 22px 1fr; align-items: baseline; gap: 8px; padding: 5px 0; border-bottom: 1px dotted rgba(212,228,221,.18); font-size: clamp(11px, .77cqw + 1.5px, 13.5px); line-height: 1.35; color: #DCEAE4; }
.route.proposed li { border-color: var(--line); color: var(--ink-2); }
.route li span { font-family: var(--mono); font-size: 8px; color: var(--mint); }
.route.proposed li span { color: var(--teal-deep); }
.route-foot { margin-top: auto; padding-top: 9px; font-family: var(--serif); font-style: italic; font-size: clamp(10.5px, .75cqw, 12.5px); color: #E3A197; }
.route-seal { position: relative; display: grid; place-items: center; align-self: center; width: clamp(96px, 9.6cqw, 150px); aspect-ratio: 1; margin: 10px 0 4px; border: 1px solid rgba(0,96,78,.28); border-radius: 50%; color: var(--teal-deep); text-align: center; flex: none; }
.route-seal::before { content: ''; position: absolute; inset: 7px; border: 1px solid rgba(0,96,78,.16); border-radius: 50%; }
.route-seal b { display: block; font-family: var(--serif); font-size: clamp(20px, 2.1cqw, 34px); line-height: .85; font-weight: 600; }
.route-seal span { display: block; font-family: var(--mono); font-size: 6.8px; line-height: 1.35; letter-spacing: .08em; text-transform: uppercase; }
.route-keeps { display: flex; justify-content: space-between; gap: 5px; padding: 5px 0 8px; border-bottom: 1px solid var(--line); }
.route-keeps span { font-family: var(--mono); font-size: 6.5px; letter-spacing: .05em; color: var(--ink-3); }
.route-outcome { margin-top: auto; padding-top: 10px; border-top: 1px solid var(--line); }
.route-outcome span { display: block; font-family: var(--mono); font-size: 8px; letter-spacing: .1em; text-transform: uppercase; color: var(--teal-deep); }
.route-outcome b { display: block; margin-top: 3px; font-size: clamp(11px, .8cqw + 1px, 14px); line-height: 1.35; color: var(--ink); }
.route-arrow { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; text-align: center; }
.route-arrow .ui-icon { font-size: 22px; color: var(--mint); }
.route-arrow span { max-width: 80px; font-family: var(--mono); font-size: 8px; line-height: 1.4; letter-spacing: .06em; text-transform: uppercase; color: rgba(212,228,221,.5); }

/* ---------- flagship ---------- */
.flagship-intro { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(20px, 3.2cqw, 48px); align-items: end; flex: none; }
.flagship-intro h2 { max-width: 16ch; font-size: clamp(30px, 2.45cqw + 5px, 48px); }
.flagship-intro p { max-width: 48ch; font-size: clamp(12px, .78cqw + 3px, 15px); line-height: 1.45; color: var(--ink-2); }
.concept-stage { position: relative; flex: 1; min-height: 0; display: flex; align-items: center; gap: clamp(10px, 1.4cqw, 18px); }
.concept-browser { position: relative; display: flex; flex-direction: column; width: 82%; min-width: 0; height: 100%; border-radius: 4px; overflow: hidden; background: #0A221C; box-shadow: 0 16px 36px rgba(10,26,21,.26), 0 0 0 1px rgba(10,26,21,.16); }
.browser-chrome { flex: none; display: flex; align-items: center; gap: 10px; height: clamp(28px, 4.4cqh, 38px); padding: 0 10px; background: #ECE9DE; border-bottom: 1px solid rgba(10,26,21,.16); }
.browser-dots { display: inline-flex; gap: 3px; }
.browser-dots i { width: 6px; height: 6px; border-radius: 50%; background: #C05B51; }
.browser-dots i:nth-child(2) { background: #C69A43; }
.browser-dots i:nth-child(3) { background: #4F9D7A; }
.browser-url { display: inline-flex; align-items: center; gap: 5px; flex: 1; max-width: 250px; height: 20px; padding: 0 8px; margin: 0 auto; border: 1px solid rgba(10,26,21,.14); border-radius: 2px; background: #FAF8F1; font-family: var(--mono); font-size: 8.5px; color: var(--ink-2); }
.browser-url .ui-icon { font-size: 10px; color: var(--teal-deep); }
.browser-note { font-family: var(--mono); font-size: 7.5px; letter-spacing: .08em; color: var(--ink-3); white-space: nowrap; }
.browser-expand { display: inline-flex; align-items: center; gap: 4px; height: 22px; padding: 0 7px; border: 1px solid rgba(0,96,78,.3); background: transparent; color: var(--teal-deep); font-family: var(--mono); font-size: 7.5px; letter-spacing: .06em; text-transform: uppercase; }
.browser-expand:hover { background: var(--paper-2); }
.browser-expand .ui-icon { font-size: 10px; }
.concept-phone { position: relative; z-index: 4; right: auto; bottom: auto; width: 17%; max-width: 210px; min-width: 140px; align-self: center; flex: none; }
.phone-shell { position: relative; padding: 5px; border-radius: 22px; background: #0A1A15; box-shadow: 0 16px 34px rgba(0,0,0,.28), 0 0 0 1px rgba(255,255,255,.13); }
.phone-notch { position: absolute; z-index: 2; top: 8px; left: 50%; width: 36%; height: 8px; transform: translateX(-50%); border-radius: 0 0 6px 6px; background: #0A1A15; }
.phone-screen { border-radius: 18px; overflow: hidden; background: #F5F2E9; padding: 20px 11px 11px; }
.phone-top { display: flex; align-items: center; justify-content: space-between; gap: 6px; padding-bottom: 8px; border-bottom: 1px solid var(--line); }
.phone-top img { width: 70px; height: auto; }
.phone-top span { font-family: var(--mono); font-size: 5.5px; letter-spacing: .08em; color: var(--ink-3); }
.phone-kicker { margin-top: 9px; font-family: var(--mono); font-size: 5.5px; letter-spacing: .1em; color: var(--teal-deep); }
.phone-screen h3 { margin: 3px 0 9px; font-family: var(--serif); font-size: 17px; font-weight: 600; line-height: 1.02; color: var(--ink); }
.phone-row { display: grid; grid-template-columns: 14px 1fr; align-items: center; gap: 4px; padding: 5px 0; border-top: 1px solid var(--line-soft); }
.phone-row span { font-family: var(--mono); font-size: 5.5px; color: var(--teal-deep); }
.phone-row b { font-size: 8px; font-weight: 600; line-height: 1.2; color: var(--ink); }
.phone-call { display: flex; align-items: center; justify-content: center; gap: 4px; margin-top: 8px; padding: 6px 3px; background: var(--teal-deep); color: #fff; font-size: 6.5px; font-weight: 600; text-decoration: none; }
.phone-call .ui-icon { font-size: 8px; }
.phone-live { display: flex; align-items: center; gap: 4px; margin-top: 6px; font-family: var(--mono); font-size: 5px; line-height: 1.3; color: var(--ink-3); }
.phone-live i { width: 4px; height: 4px; border-radius: 50%; background: var(--teal); flex: none; }
.phone-caption { margin-top: 7px; text-align: right; font-family: var(--mono); font-size: 7.5px; letter-spacing: .04em; color: var(--ink-3); }

/* concept site */
.site { flex: 1; min-height: 0; display: flex; flex-direction: column; overflow: hidden; background: #F5F2E9; color: var(--ink); container-type: inline-size; font-family: var(--sans); }
.site-head { flex: none; display: flex; align-items: center; gap: 1.8cqi; padding: 1.05cqi 1.7cqi; background: #FBF8EF; border-bottom: 1px solid rgba(10,26,21,.12); }
.site-logo { width: 9.4cqi; min-width: 84px; max-width: 138px; height: auto; flex: none; }
.site-nav { display: flex; align-items: center; gap: .15cqi; margin-left: auto; }
.site-nav button { border: 0; background: transparent; padding: .75cqi .95cqi; font-size: clamp(12px, .72cqi + 4px, 15px); font-weight: 600; color: var(--ink-2); white-space: nowrap; border-bottom: 2px solid transparent; }
.site-nav button[aria-selected="true"] { color: var(--teal-deep); border-color: var(--teal); }
.site-nav button:hover { color: var(--teal-deep); }
.site-head-cta { display: inline-flex; align-items: center; gap: .4cqi; flex: none; border: 0; padding: .9cqi 1.1cqi; background: var(--teal-deep); color: #fff; font-size: clamp(11px, .62cqi + 4px, 14px); font-weight: 600; white-space: nowrap; }
.site-head-cta .ui-icon { font-size: 1.15em; }
.site-page { flex: 1; min-height: 0; display: flex; flex-direction: column; overflow: hidden; }
.site-hero { flex: 1; min-height: 0; display: grid; grid-template-columns: 1.08fr .92fr; gap: 2.4cqi; align-items: stretch; padding: 1.6cqi 1.8cqi; background: #F5F2E9; }
.site-hero-copy { display: flex; flex-direction: column; justify-content: center; min-width: 0; }
.site-eyebrow { font-family: var(--mono); font-size: clamp(8.5px, .6cqi + 3px, 11px); letter-spacing: .11em; text-transform: uppercase; color: var(--teal-deep); }
.site-hero-copy h1 { margin: .8cqi 0 .65cqi; font-family: var(--serif); font-weight: 600; font-size: clamp(27px, 2.3cqi + 10px, 48px); line-height: .96; letter-spacing: -.03em; color: var(--ink); }
.site-hero-copy h1 em { font-style: italic; color: var(--teal-deep); }
.site-hero-copy > p:not(.site-eyebrow) { max-width: 40ch; font-size: clamp(11.5px, .78cqi + 4px, 15.5px); line-height: 1.4; color: var(--ink-2); }
.site-actions { display: flex; align-items: center; flex-wrap: wrap; gap: .7cqi; margin-top: .95cqi; }
.site-primary, .site-secondary { display: inline-flex; align-items: center; justify-content: center; min-height: 2.6cqi; padding: .75cqi 1.1cqi; border: 1px solid var(--teal-deep); font-size: clamp(10.5px, .6cqi + 3.5px, 13.5px); font-weight: 600; text-decoration: none; white-space: nowrap; }
.site-primary { background: var(--teal-deep); color: #fff; }
.site-primary:hover { background: var(--teal-dark); }
.site-secondary { color: var(--teal-deep); background: transparent; }
.site-secondary:hover { background: rgba(0,96,78,.06); }
.site-hero-visual { position: relative; min-height: 0; overflow: hidden; background: #0A342B; }
.site-hero-visual > img { width: 100%; height: 100%; object-fit: cover; opacity: .92; }
.site-industry { position: absolute; z-index: 2; top: 1cqi; left: 1cqi; width: 38%; max-width: 170px; padding: 4px; background: #F4EFE2; box-shadow: 0 4px 12px rgba(0,0,0,.25); }
.site-industry img { width: 100%; height: clamp(48px, 5.4cqi, 82px); object-fit: cover; }
.site-industry figcaption { padding: 3px 1px 1px; font-family: var(--mono); font-size: clamp(6px, .44cqi + 2px, 8px); line-height: 1.3; letter-spacing: .04em; color: var(--teal-deep); }
.site-hero-visual::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(6,37,31,.05) 30%, rgba(6,37,31,.62) 100%); }
.site-visual-card { position: absolute; z-index: 1; left: 1cqi; right: 1cqi; bottom: 1cqi; padding: .9cqi 1cqi; color: #fff; background: rgba(6,37,31,.84); border: 1px solid rgba(201,243,229,.28); backdrop-filter: blur(3px); }
.site-visual-card .mono { font-size: clamp(7px, .5cqi + 2px, 9px); color: var(--mint); letter-spacing: .1em; }
.site-visual-card b { display: block; margin: .4cqi 0 .25cqi; font-family: var(--serif); font-size: clamp(14px, 1.1cqi + 4px, 22px); line-height: 1.05; font-weight: 600; }
.site-visual-card small { font-size: clamp(8px, .55cqi + 2.5px, 11px); color: rgba(255,255,255,.72); }
.site-strip { flex: none; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 0; background: #FBF8EF; border-top: 1px solid rgba(10,26,21,.12); }
.site-strip > div { padding: .9cqi 1.15cqi; border-right: 1px solid rgba(10,26,21,.1); }
.site-strip > div:last-child { border-right: 0; }
.site-strip b { display: block; font-size: clamp(11px, .65cqi + 3px, 14px); font-weight: 700; color: var(--ink); }
.site-strip p { margin-top: .25cqi; font-size: clamp(9.5px, .55cqi + 2.5px, 12.5px); line-height: 1.35; color: var(--ink-3); }
.site-k { display: block; margin-bottom: .3cqi; font-family: var(--mono); font-size: clamp(7px, .45cqi + 2px, 9px); letter-spacing: .1em; color: var(--teal-deep); }

.member-hero { background: #0A342B; color: #F5F2E9; }
.member-hero .site-eyebrow { color: var(--mint); }
.member-hero .site-hero-copy h1 { color: #F7FBF8; }
.member-hero .site-hero-copy h1 em { color: var(--mint); }
.member-hero .site-hero-copy > p:not(.site-eyebrow) { color: #D4E4DD; }
.member-hero .site-secondary { color: var(--mint); border-color: var(--mint); }
.member-panel { align-self: center; padding: 1.5cqi; background: #F5F2E9; color: var(--ink); }
.member-panel .site-eyebrow { color: var(--teal-deep); }
.member-row { display: grid; grid-template-columns: 14px 1fr; grid-template-rows: auto auto; align-items: baseline; column-gap: .7cqi; padding: .9cqi 0; border-bottom: 1px solid var(--line); }
.member-row span { grid-row: span 2; font-family: var(--mono); font-size: max(7px, .7cqi); color: var(--teal-deep); }
.member-row b { font-size: max(10px, 1.08cqi); font-weight: 700; }
.member-row small { font-size: max(8px, .8cqi); color: var(--ink-3); }
.member-live { display: flex; align-items: center; gap: .5cqi; margin-top: 1.1cqi; font-family: var(--mono); font-size: max(7px, .72cqi); line-height: 1.35; color: var(--teal-deep); }
.member-live i { width: 5px; height: 5px; border-radius: 50%; background: var(--teal); flex: none; }
.member-hero + .site-strip { background: #0A342B; border-color: rgba(201,243,229,.16); }
.member-hero + .site-strip > div { border-color: rgba(201,243,229,.12); }
.member-hero + .site-strip b { color: #F7FBF8; }
.member-hero + .site-strip p { color: #C9DCD4; }
.member-hero + .site-strip .site-k { color: var(--mint); }

.provider-hero { background: #F5F2E9; }
.provider-panel { align-self: center; border: 1px solid rgba(10,26,21,.18); background: #FBF8EF; }
.provider-line { display: grid; grid-template-columns: 1fr auto 18px; align-items: center; gap: 1cqi; padding: 1.1cqi 1.3cqi; border-bottom: 1px solid var(--line); }
.provider-line span { font-family: var(--mono); font-size: max(7px, .7cqi); letter-spacing: .07em; text-transform: uppercase; color: var(--teal-deep); }
.provider-line b { font-size: max(9px, .98cqi); font-weight: 600; }
.provider-line .ui-icon { color: var(--teal-deep); font-size: 1.3em; }
.provider-contact { display: grid; grid-template-columns: 1fr 1fr; gap: 1cqi; padding: 1.1cqi 1.3cqi; background: #0A342B; color: #F5F2E9; }
.provider-contact p { font-family: var(--mono); font-size: max(8px, .82cqi); }
.provider-contact span { display: block; margin-bottom: .3cqi; font-size: max(6.5px, .62cqi); letter-spacing: .1em; color: var(--mint); }

.report-head { flex: none; display: grid; grid-template-columns: 1.1fr .9fr; align-items: end; gap: 2cqi; padding: 1.8cqi 2.2cqi 1.2cqi; }
.report-head .site-eyebrow { grid-column: 1 / -1; }
.report-head h1 { font-family: var(--serif); font-size: max(24px, 2.9cqi); font-weight: 600; line-height: 1; color: var(--ink); }
.report-head h1 em { color: var(--teal-deep); }
.report-head > p:not(.site-eyebrow) { font-size: max(9.5px, .98cqi); line-height: 1.42; color: var(--ink-2); }
.report-body { flex: 1; min-height: 0; display: grid; grid-template-columns: .3fr .7fr; gap: 1.8cqi; padding: 0 2.2cqi 2cqi; }
.report-chips { display: flex; flex-direction: column; gap: .55cqi; align-content: start; }
.report-chips button { text-align: left; padding: .85cqi 1cqi; border: 1px solid rgba(10,26,21,.18); background: #FBF8EF; color: var(--ink-2); font-size: max(8.5px, .86cqi); font-weight: 600; }
.report-chips button.is-on { background: var(--teal-deep); border-color: var(--teal-deep); color: #fff; }
.report-preview { display: flex; flex-direction: column; min-height: 0; padding: 1.2cqi 1.4cqi; background: #FBF8EF; border: 1px solid rgba(10,26,21,.16); }
.report-preview-head { display: flex; justify-content: space-between; gap: 1cqi; padding-bottom: .7cqi; border-bottom: 1px solid var(--line); }
.report-preview-head span { font-family: var(--mono); font-size: max(6px, .6cqi); letter-spacing: .08em; color: var(--ink-3); }
.report-preview-head span:last-child { color: var(--red); }
.report-preview h2 { margin: .8cqi 0 .4cqi; font-family: var(--serif); font-size: max(16px, 1.85cqi); line-height: 1.08; }
.report-preview p { font-size: max(8.5px, .84cqi); line-height: 1.4; color: var(--ink-2); }
.report-anatomy { display: grid; grid-template-columns: repeat(3,1fr); gap: .8cqi; margin-top: 1cqi; padding: .8cqi; background: #EFEADD; }
.report-anatomy span { display: block; font-family: var(--mono); font-size: max(6px, .58cqi); letter-spacing: .08em; color: var(--teal-deep); }
.report-anatomy b { display: block; margin-top: .2cqi; font-size: max(8px, .82cqi); }
.report-columns { display: flex; flex-direction: column; gap: .45cqi; margin-top: .9cqi; }
.report-columns i { display: block; width: var(--w); height: .55cqi; min-height: 4px; background: linear-gradient(90deg, var(--teal-deep), #63BBA7); opacity: .8; }
.report-table { margin-top: .8cqi; border-top: 1px solid var(--line); }
.rt-row { display: grid; grid-template-columns: 1.3fr .9fr 1.3fr .8fr; gap: .6cqi; padding: .45cqi 0; border-bottom: 1px solid var(--line-soft); font-family: var(--mono); font-size: clamp(7px, .56cqi, 8.5px); color: var(--ink-3); }
.rt-head { color: var(--teal-deep); text-transform: uppercase; letter-spacing: .06em; }
.rt-row span { overflow: hidden; }
.report-foot { display: flex; justify-content: space-between; gap: 1cqi; margin-top: auto; padding-top: .7cqi; border-top: 1px solid var(--line); font-family: var(--mono); font-size: max(6.5px, .64cqi); color: var(--ink-3); }
.site-footer { flex: none; display: flex; justify-content: space-between; gap: 1.5cqi; padding: .65cqi 2.2cqi; background: #0A342B; color: rgba(245,242,233,.72); font-family: var(--mono); font-size: max(6px, .6cqi); letter-spacing: .015em; }

/* ---------- system ---------- */
.system-intro { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(24px, 4cqw, 56px); align-items: end; flex: none; }
.system-intro h2 { max-width: 16ch; }
.system-intro p { max-width: 53ch; font-size: clamp(13.5px, .82cqw + 3px, 16px); line-height: 1.5; color: #C9DCD4; }
.system-table { flex: 1; min-height: 0; display: flex; flex-direction: column; border-top: 1px solid var(--line-dark); }
.system-row { display: grid; grid-template-columns: 34px 1.05fr 1.55fr 88px; align-items: center; gap: clamp(10px, 1.6cqw, 22px); flex: 1; min-height: 0; padding: clamp(7px, .9cqh, 11px) 0; border-bottom: 1px solid var(--line-dark); }
.sys-no { font-family: var(--mono); font-size: 10px; color: var(--mint); }
.system-row h3 { font-family: var(--serif); font-size: clamp(17px, 1.05cqw + 5px, 22px); font-weight: 600; line-height: 1.1; color: #F7FBF8; }
.system-row p { font-size: clamp(12.5px, .62cqw + 5px, 15px); line-height: 1.38; color: #C3D6CF; }
.sys-out { justify-self: end; padding: 4px 7px; border: 1px solid rgba(143,227,203,.35); color: var(--mint); font-family: var(--mono); font-size: 7.5px; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
.system-foot { flex: none; display: flex; align-items: center; gap: 16px; padding-top: 8px; }
.system-foot .mono { font-size: clamp(8px, .6cqw, 9.5px); color: var(--mint); white-space: nowrap; }
.system-foot p { flex: 1; font-size: clamp(10.5px, .78cqw, 13px); color: #C9DCD4; }

/* ---------- proof ---------- */
.proof-intro { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(24px, 4cqw, 56px); align-items: end; flex: none; }
.proof-intro h2 { max-width: 16ch; }
.proof-intro p { max-width: 52ch; font-size: clamp(12px, .82cqw + 3px, 16px); line-height: 1.5; color: var(--ink-2); }
.proof-stage { flex: 1; min-height: 0; display: grid; grid-template-columns: 1fr 1fr; gap: clamp(14px, 2.2cqw, 28px); align-items: center; padding: clamp(8px, 1.2cqh, 12px); background: #0B2A23; border-radius: 3px; box-shadow: 0 14px 30px rgba(10,26,21,.18); }
.proof-card { display: flex; flex-direction: column; min-width: 0; height: 100%; max-height: 100%; background: #F3F0E6; overflow: hidden; }
.case-chrome { flex: none; display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 5px 8px; background: #E9E4D6; border-bottom: 1px solid rgba(10,26,21,.14); font-family: var(--mono); font-size: 7.5px; color: var(--ink-3); }
.case-tag { padding: 2px 5px; background: var(--paper); border: 1px solid rgba(10,26,21,.18); font-size: 7px; letter-spacing: .08em; text-transform: uppercase; }
.proof-card.after .case-tag { background: var(--teal-deep); color: #fff; border-color: var(--teal-deep); }
.case-shot { flex: 1; min-height: 0; overflow: hidden; background: #fff; }
.case-shot img { width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.proof-card figcaption { flex: none; display: flex; flex-direction: column; gap: 2px; padding: 7px 10px 8px; border-top: 1px solid rgba(10,26,21,.14); }
.proof-card figcaption b { font-size: clamp(12px, .7cqw + 4px, 15px); color: var(--ink); }
.proof-card figcaption span { font-size: clamp(10.5px, .55cqw + 4px, 13px); line-height: 1.35; color: var(--ink-3); }
.proof-foot { flex: none; display: flex; justify-content: space-between; align-items: center; gap: 24px; padding-top: 8px; border-top: 1px solid var(--line); }
.proof-foot p { max-width: 64ch; font-size: clamp(11.5px, .6cqw + 4px, 14px); line-height: 1.45; color: var(--ink-2); }
.proof-foot b { color: var(--ink); }
.proof-foot .mono { font-size: 8px; color: var(--teal-deep); white-space: nowrap; }

/* ---------- roadmap ---------- */
.roadmap-intro { display: grid; grid-template-columns: 1.08fr .92fr; gap: clamp(24px, 4cqw, 56px); align-items: end; flex: none; }
.roadmap-intro h2 { max-width: 15ch; font-size: clamp(29px, 2.45cqw + 5px, 49px); }
.roadmap-intro p { max-width: 52ch; font-size: clamp(12px, .82cqw + 3px, 16px); line-height: 1.5; color: #C9DCD4; }
.timeline { flex: 1; min-height: 0; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: clamp(10px, 1.4cqw, 18px); align-content: center; align-content: safe center; }
.phase { display: flex; flex-direction: column; min-height: 0; padding: clamp(12px, 1.5cqw, 18px); background: rgba(255,255,255,.045); border: 1px solid var(--line-dark); }
.phase.featured { background: #F3F0E6; color: var(--ink); border-color: var(--paper); }
.phase-top { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding-bottom: 7px; border-bottom: 1px solid var(--line-dark); }
.phase.featured .phase-top { border-color: var(--line); }
.phase-no { font-family: var(--serif); font-size: clamp(22px, 1.9cqw, 32px); line-height: 1; color: var(--mint); }
.phase.featured .phase-no { color: var(--teal-deep); }
.phase-top .mono { font-size: 8px; color: rgba(212,228,221,.58); }
.phase.featured .phase-top .mono { color: var(--ink-3); }
.phase h3 { margin: 9px 0 5px; font-family: var(--serif); font-size: clamp(21px, 1.65cqw, 29px); font-weight: 600; line-height: 1; color: #F7FBF8; }
.phase.featured h3 { color: var(--ink); }
.phase > p { font-size: clamp(11.5px, .64cqw + 4px, 14px); line-height: 1.42; color: #BDD2CA; }
.phase.featured > p { color: var(--ink-2); }
.phase-gate { display: flex; gap: 6px; align-items: baseline; margin-top: 7px; padding: 6px 0; border-top: 1px dotted rgba(212,228,221,.25); border-bottom: 1px dotted rgba(212,228,221,.25); font-size: clamp(10.5px, .5cqw + 3px, 12px); line-height: 1.35; color: #C9DCD4; }
.phase.featured .phase-gate { border-color: var(--line); color: var(--ink-2); }
.phase-gate span { font-family: var(--mono); font-size: 7.2px; letter-spacing: .07em; text-transform: uppercase; color: var(--mint); white-space: nowrap; }
.phase.featured .phase-gate span { color: var(--teal-deep); }
.phase-detail { font-size: clamp(10.8px, .5cqw + 3px, 12.2px); line-height: 1.4; color: rgba(212,228,221,.68); }
.phase.featured .phase-detail { color: var(--ink-3); }
.phase ul { display: flex; flex-direction: column; gap: 4px; margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--line-dark); }
.phase.featured ul { border-color: var(--line); }
.phase li { display: grid; grid-template-columns: 12px 1fr; gap: 6px; align-items: start; font-size: clamp(10.5px, .56cqw + 4px, 13px); line-height: 1.35; color: #E4F0EB; }
.phase.featured li { color: var(--ink-2); }
.phase li .ui-icon { font-size: 11px; color: var(--mint); margin-top: 1px; }
.phase.featured li .ui-icon { color: var(--teal-deep); }
.phase-out { display: flex; gap: 6px; align-items: baseline; margin-top: 4px; padding-top: 7px; border-top: 1px solid var(--line-dark); font-size: clamp(9.5px, .52cqw + 3px, 11.5px); line-height: 1.35; color: #C9DCD4; }
.phase.featured .phase-out { border-color: var(--line); color: var(--ink-2); }
.phase-out b { font-family: var(--mono); font-size: 7px; letter-spacing: .08em; text-transform: uppercase; color: var(--mint); white-space: nowrap; }
.phase.featured .phase-out b { color: var(--teal-deep); }
.phase-need { display: flex; gap: 6px; align-items: baseline; margin-top: auto; padding-top: 7px; border-top: 1px solid var(--line-dark); font-size: clamp(9px, .48cqw + 3px, 11px); line-height: 1.3; color: rgba(212,228,221,.62); }
.phase.featured .phase-need { border-color: var(--line); color: var(--ink-3); }
.phase-need b { font-family: var(--mono); font-size: 6.8px; letter-spacing: .07em; text-transform: uppercase; color: var(--mint); white-space: nowrap; }
.phase.featured .phase-need b { color: var(--teal-deep); }
.supply-strip { flex: none; display: grid; grid-template-columns: 1.15fr 1.15fr .7fr; gap: clamp(12px, 2cqw, 24px); padding-top: 8px; border-top: 1px solid var(--line-dark); }
.supply-strip > div + div { border-left: 1px solid var(--line-dark); padding-left: clamp(12px, 2cqw, 24px); }
.supply-strip .mono { display: block; margin-bottom: 3px; font-size: 8px; color: var(--mint); }
.supply-strip p { font-size: clamp(9.5px, .7cqw + 1px, 12px); line-height: 1.4; color: #C9DCD4; }
.supply-strip .launch b { display: block; font-family: var(--serif); font-size: clamp(19px, 1.6cqw, 28px); line-height: 1; color: #F7FBF8; }
.supply-strip .launch small { font-size: 8.5px; color: rgba(212,228,221,.6); }

/* ---------- engagement ---------- */
.engage-intro { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(24px, 4cqw, 56px); align-items: end; flex: none; }
.engage-intro h2 { max-width: 16ch; }
.engage-intro p { max-width: 52ch; font-size: clamp(12px, .82cqw + 3px, 16px); line-height: 1.5; color: var(--ink-2); }
.engage-grid { flex: 1; min-height: 0; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: clamp(10px, 1.4cqw, 18px); align-content: center; align-content: safe center; }
.engage-card { display: flex; flex-direction: column; min-height: 0; padding: clamp(12px, 1.55cqw, 19px); background: #FBF8EF; border: 1px solid var(--line); }
.engage-card.recommended { background: #0A342B; color: #F7FBF8; border-color: #0A342B; box-shadow: 0 14px 28px rgba(10,26,21,.15); }
.engage-top { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding-bottom: 7px; border-bottom: 1px solid var(--line); }
.engage-card.recommended .engage-top { border-color: var(--line-dark); }
.engage-top .mono { font-size: 8px; color: var(--teal-deep); }
.engage-card.recommended .engage-top .mono { color: var(--mint); }
.engage-tag { padding: 2px 5px; border: 1px solid var(--line); font-family: var(--mono); font-size: 7px; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-3); }
.engage-card.recommended .engage-tag { border-color: rgba(143,227,203,.4); color: var(--mint); }
.engage-card h3 { margin: 10px 0 6px; font-family: var(--serif); font-size: clamp(21px, 1.65cqw, 29px); font-weight: 600; line-height: 1; color: var(--ink); }
.engage-card.recommended h3 { color: #F7FBF8; }
.engage-line { font-size: clamp(11.5px, .62cqw + 4px, 14px); line-height: 1.42; color: var(--ink-2); }
.engage-card.recommended .engage-line { color: #C9DCD4; }
.engage-card ul { display: flex; flex-direction: column; gap: 4px; margin: 9px 0; }
.engage-card li { position: relative; padding-left: 12px; font-size: clamp(10.5px, .55cqw + 4px, 13px); line-height: 1.35; color: var(--ink-2); }
.engage-card li::before { content: ''; position: absolute; left: 0; top: .52em; width: 4px; height: 4px; border-radius: 50%; background: var(--teal); }
.engage-card.recommended li { color: #D4E4DD; }
.engage-card.recommended li::before { background: var(--mint); }
.engage-out { margin-top: auto; padding-top: 8px; border-top: 1px solid var(--line); }
.engage-card.recommended .engage-out { border-color: var(--line-dark); }
.engage-out span { display: block; font-family: var(--mono); font-size: 7.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--teal-deep); }
.engage-card.recommended .engage-out span { color: var(--mint); }
.engage-out b { display: block; margin-top: 2px; font-size: clamp(10.5px, .58cqw + 4px, 13px); line-height: 1.35; color: var(--ink); }
.engage-card.recommended .engage-out b { color: #F7FBF8; }
.engage-cta { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 8px; padding: 8px 9px; border: 1px solid rgba(0,96,78,.32); color: var(--teal-deep); font-family: var(--mono); font-size: 8px; letter-spacing: .05em; text-transform: uppercase; text-decoration: none; }
.engage-cta:hover { background: var(--teal-deep); color: #fff; }
.engage-card.recommended .engage-cta { border-color: rgba(143,227,203,.4); color: var(--mint); }
.engage-card.recommended .engage-cta:hover { background: var(--mint); color: var(--ink); }
.engage-foot { flex: none; display: flex; justify-content: space-between; align-items: center; gap: 24px; padding-top: 8px; border-top: 1px solid var(--line); }
.engage-foot p { max-width: 76ch; font-size: clamp(9.5px, .7cqw + 1px, 12px); line-height: 1.4; color: var(--ink-2); }
.engage-foot a { display: inline-flex; align-items: center; gap: 6px; flex: none; font-family: var(--mono); font-size: 9px; letter-spacing: .06em; text-transform: uppercase; color: var(--teal-deep); text-decoration: none; }
.engage-foot a:hover { text-decoration: underline; }

/* ---------- close ---------- */
.close-grid { flex: 1; min-height: 0; display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(22px, 3.2cqw, 44px); align-items: center; }
.close-copy { display: flex; flex-direction: column; justify-content: center; min-height: 0; }
.close-copy .kicker { margin-bottom: 8px; }
.close-copy h2 { max-width: 15ch; }
.close-lead { max-width: 48ch; margin-top: 10px; font-size: clamp(12px, .84cqw + 3px, 16px); line-height: 1.5; color: #C9DCD4; }
.partner-card { display: flex; align-items: center; gap: clamp(12px, 1.6cqw, 20px); margin-top: clamp(10px, 1.5cqh, 16px); padding: clamp(10px, 1.2cqw, 15px); border: 1px solid var(--line-dark); background: rgba(255,255,255,.04); }
.portrait { width: clamp(78px, 7.2cqw, 112px); aspect-ratio: 1; flex: none; border-radius: 50%; overflow: hidden; border: 2px solid var(--mint); }
.portrait img { width: 100%; height: 100%; object-fit: cover; object-position: center 18%; }
.partner-info { min-width: 0; }
.partner-name { display: block; font-family: var(--serif); font-size: clamp(21px, 1.75cqw, 30px); font-weight: 600; line-height: 1; color: #F7FBF8; }
.partner-role { display: block; margin-top: 4px; font-family: var(--mono); font-size: clamp(8px, .62cqw, 9.5px); letter-spacing: .08em; text-transform: uppercase; color: var(--mint); }
.partner-info p { margin-top: 5px; font-size: clamp(10px, .72cqw + 1px, 12px); line-height: 1.4; color: #B9CEC6; }
.contact-list { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 6px; margin-top: 10px; }
.contact-list a { display: flex; align-items: center; gap: 7px; min-height: 38px; padding: 6px 8px; border: 1px solid var(--line-dark); color: #F3FAF6; text-decoration: none; }
.contact-list a:hover { background: rgba(143,227,203,.08); }
.contact-list .ui-icon { font-size: 13px; color: var(--mint); flex: none; }
.contact-list span { display: flex; flex-direction: column; min-width: 0; }
.contact-list small { font-family: var(--mono); font-size: 7px; letter-spacing: .08em; text-transform: uppercase; color: rgba(212,228,221,.55); }
.contact-list a { font-size: clamp(9px, .66cqw + 1px, 11.5px); font-weight: 600; overflow-wrap: anywhere; }
.close-signoff { display: flex; align-items: center; gap: 10px; margin-top: 10px; padding-top: 7px; border-top: 1px solid var(--line-dark); }
.close-signoff img { height: 16px; width: auto; }
.close-signoff span { font-family: var(--mono); font-size: clamp(7.5px, .58cqw, 9px); letter-spacing: .05em; color: rgba(212,228,221,.6); }
.request { display: flex; flex-direction: column; gap: clamp(6px, 1cqh, 10px); padding: clamp(14px, 1.8cqw, 22px); background: var(--paper); color: var(--ink); border-top: 3px solid var(--teal); box-shadow: 0 18px 38px rgba(0,0,0,.3); }
.request-kicker { font-family: var(--mono); font-size: clamp(8px, .62cqw, 10px); letter-spacing: .1em; text-transform: uppercase; color: var(--teal-deep); }
.request h3 { font-family: var(--serif); font-size: clamp(21px, 1.7cqw, 29px); font-weight: 600; line-height: 1.02; color: var(--ink); }
.request > p { font-size: clamp(9.5px, .7cqw + 1px, 12px); line-height: 1.4; color: var(--ink-2); }
.quick-times { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.quick-times button { min-height: 32px; padding: 5px 7px; border: 1px solid rgba(0,96,78,.28); background: #FBF8EF; color: var(--ink); font-size: clamp(8.5px, .66cqw + 1px, 10.5px); font-weight: 600; }
.quick-times button:hover, .quick-times button.is-on { background: var(--teal-deep); border-color: var(--teal-deep); color: #fff; }
.pick-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.pick-grid label { display: flex; flex-direction: column; gap: 3px; font-family: var(--mono); font-size: clamp(7px, .56cqw, 8.5px); letter-spacing: .05em; text-transform: uppercase; color: var(--ink-3); }
.pick-grid input { width: 100%; height: 32px; padding: 0 6px; border: 1px solid rgba(10,26,21,.2); background: #FBF8EF; color: var(--ink); font-family: var(--sans); font-size: 10.5px; }
.picker-help { font-size: 9px; line-height: 1.35; color: var(--red); }
.draft-link { display: flex; align-items: center; justify-content: center; gap: 6px; min-height: 38px; padding: 8px 10px; background: var(--teal-deep); color: #fff; font-size: clamp(10px, .76cqw + 1px, 12.5px); font-weight: 700; text-decoration: none; }
.draft-link:hover { background: var(--teal-dark); }
.draft-link .ui-icon { font-size: 13px; }
.request-note { font-size: clamp(7.5px, .58cqw, 9px); line-height: 1.4; color: var(--ink-3); }
.request-steps { display: flex; flex-direction: column; gap: 4px; margin-top: 2px; padding-top: 7px; border-top: 1px solid var(--line); }
.request-steps span { display: grid; grid-template-columns: 18px 1fr; gap: 6px; align-items: baseline; font-size: clamp(9px, .62cqw + 1px, 11px); line-height: 1.35; color: var(--ink-2); }
.request-steps b { font-family: var(--mono); font-size: 6.5px; letter-spacing: .06em; color: var(--teal-deep); }

/* ---------- index overlay ---------- */
.index-overlay { position: fixed; inset: 0; z-index: 200; display: flex; flex-direction: column; padding: 26px 34px 18px; background: #041713; color: #F3FAF6; overflow: auto; }
.index-head { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding-bottom: 16px; border-bottom: 1px solid rgba(143,227,203,.18); }
.index-head p { display: flex; align-items: baseline; gap: 14px; }
.index-head .mono { font-size: 9px; color: var(--mint); }
.index-head b { font-family: var(--serif); font-size: 32px; font-weight: 600; }
.index-head button { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid rgba(143,227,203,.3); background: transparent; color: var(--mint); }
.index-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10px; margin-top: 18px; }
.index-card { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; min-height: 118px; padding: 14px; border: 1px solid rgba(143,227,203,.14); background: linear-gradient(140deg, rgba(255,255,255,.055), rgba(255,255,255,.015)); color: #F3FAF6; text-align: left; overflow: hidden; }
.index-card::after { content: ''; position: absolute; right: -30px; bottom: -30px; width: 110px; height: 110px; border: 1px solid rgba(143,227,203,.22); border-radius: 50%; }
.index-card:hover, .index-card.on { border-color: rgba(143,227,203,.6); background: rgba(0,144,120,.14); }
.index-card .idx { font-family: var(--mono); font-size: 8px; color: var(--mint); }
.index-card b { font-family: var(--serif); font-size: 18px; font-weight: 600; line-height: 1.06; }
.index-card span { font-size: 10px; line-height: 1.35; color: rgba(212,228,221,.6); }
.index-foot { margin-top: auto; padding-top: 14px; font-family: var(--mono); font-size: 8.5px; letter-spacing: .08em; text-transform: uppercase; color: rgba(212,228,221,.45); }

/* ---------- expanded concept ---------- */
.concept-overlay { position: fixed; inset: 0; z-index: 220; display: flex; flex-direction: column; background: #061F1A; padding: 14px; }
.concept-overlay-head { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 0 4px 10px; color: var(--mint); }
.concept-overlay-head .mono { font-size: 9px; }
.concept-overlay-head button { display: inline-flex; align-items: center; gap: 6px; min-height: 38px; padding: 0 12px; border: 1px solid rgba(143,227,203,.35); background: transparent; color: var(--mint-2); font-family: var(--mono); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.concept-overlay-body { flex: 1; min-height: 0; display: flex; }
.concept-overlay-body .concept-browser { width: 100%; height: 100%; border-radius: 4px; }
.concept-overlay-body .site { overflow: auto; }
.concept-toast { position: fixed; z-index: 230; left: 50%; bottom: 76px; transform: translateX(-50%); max-width: min(560px, 88vw); padding: 12px 16px; background: #F3F0E6; color: var(--ink); border-left: 3px solid var(--teal); box-shadow: 0 14px 34px rgba(0,0,0,.35); font-size: 13px; line-height: 1.45; }

/* ---------- cover detonation ---------- */
.break-charge { position: fixed; z-index: 129; width: min(410px, 36vw); aspect-ratio: 1; transform: translate(-50%,-50%); border: 1px solid rgba(143,227,203,.85); border-radius: 50%; pointer-events: none; box-shadow: 0 0 32px rgba(143,227,203,.24), inset 0 0 28px rgba(0,144,120,.18); animation: charge-ring .18s cubic-bezier(.65,0,.35,1) forwards; }
.break-charge::after { content: ''; position: absolute; inset: 18%; border: 1px solid rgba(143,227,203,.35); border-radius: 50%; }
@keyframes charge-ring {
  0% { opacity: 0; transform: translate(-50%,-50%) scale(1.4); }
  30% { opacity: .95; }
  100% { opacity: 0; transform: translate(-50%,-50%) scale(.34); }
}
.claim-stamp { position: fixed; z-index: 140; left: 50%; top: 50%; width: min(600px, 48vw); aspect-ratio: 1; display: none; place-items: center; transform: translate(-50%,-50%) rotate(-8deg); pointer-events: none; color: var(--mint); border: 6px double currentColor; border-radius: 50%; opacity: 0; text-align: center; }.claim-stamp::before, .claim-stamp::after { content: ''; position: absolute; border: 1px solid currentColor; border-radius: 50%; inset: 12px; opacity: .4; }
.claim-stamp::after { inset: 26px; opacity: .2; }
.claim-stamp span { display: block; font-family: var(--sans); font-weight: 800; font-size: clamp(34px, 4.2vw, 78px); letter-spacing: -.04em; line-height: .85; }
.claim-stamp small { display: block; margin-top: 12px; font-family: var(--mono); font-size: clamp(7px, .7vw, 11px); letter-spacing: .19em; }
.is-stamping .claim-stamp { display: grid; animation: stamp-in .82s cubic-bezier(.16,1,.3,1) both; }
@keyframes stamp-in { 0% { opacity: 0; transform: translate(-50%,-50%) scale(1.8) rotate(-14deg); filter: blur(8px); } 12% { opacity: .92; transform: translate(-50%,-50%) scale(1.02) rotate(-8deg); filter: blur(0); } 30% { opacity: .78; transform: translate(-50%,-50%) scale(1) rotate(-8deg); } 72% { opacity: .6; } 100% { opacity: 0; transform: translate(-50%,-50%) scale(.98) rotate(-8deg); } }
.is-impact .deck { animation: deck-shake .38s .03s both; }
@keyframes deck-shake { 0%,100% { transform: translate(0,0); } 18% { transform: translate(-9px,4px) rotate(-.3deg); } 36% { transform: translate(8px,-5px) rotate(.25deg); } 54% { transform: translate(-5px,3px); } 72% { transform: translate(3px,-2px); } }

/* transition state classes applied by JS */
.slide.is-leaving, .slide.is-entering { position: absolute; inset: 0; display: flex !important; pointer-events: none; }
.slide.is-leaving { z-index: 2; }
.slide.is-entering { z-index: 3; }
.is-cutting .topbar, .is-cutting .bottombar { transition: color .3s ease; }

/* ---------- breakpoints ---------- */
@media (max-height: 760px) and (min-width: 861px) {
  .slide:not(.cover) { padding-top: 20px; padding-bottom: 22px; gap: 8px; }
  .audit-intro p, .flagship-intro p, .system-intro p, .proof-intro p, .engage-intro p { font-size: 13.5px; }
  .findings li { padding: 6px 0; }
  .metric-strip > div { padding-top: 6px; padding-bottom: 6px; }
  .concept-phone { width: 17%; }
  .cover-copy { padding-top: 26px; padding-bottom: 22px; }
  .cover h1 { font-size: clamp(40px, 4cqw + 6px, 70px); }
  .cover-lead { font-size: 14px; }
  .cover-facts b { font-size: 11px; }
  .cover-facts span { font-size: 8px; }
  .cover-byline { margin-top: 11px; }
  .cover-cue { margin-top: 11px; }
  .contact-list a { min-height: 34px; }
  .partner-card { margin-top: 8px; }
}

@media (max-width: 1180px) and (min-width: 861px) {
  .rail { display: none; }
  .bottom-private { display: none; }
}

@media (max-width: 860px) {
  html, body { height: auto; min-height: 100%; }
  body { display: block; overflow-x: hidden; overflow-y: auto; background: #041713; }
  .progress { position: fixed; }
  .topbar { position: fixed; top: 0; left: 0; right: 0; z-index: 90; height: calc(58px + env(safe-area-inset-top)); padding: env(safe-area-inset-top) 16px 0; grid-template-columns: 1fr auto; gap: 10px; background: #06231D; }
  .lockup .bc-mark { height: 14px; }
  .lockup .adv-mark { height: 18px; }
  .lockup-x { font-size: 12px; }
  .section-label { display: none; }
  .index-button { min-height: 34px; padding: 0 9px; }
  .index-button span { display: none; }
  .deck { width: 100%; max-height: none; aspect-ratio: auto; margin: 0; border-radius: 0; box-shadow: none; background: var(--paper); overflow: visible; container-type: inline-size; padding-top: calc(58px + env(safe-area-inset-top)); padding-bottom: calc(120px + env(safe-area-inset-bottom)); }
  .slide { display: none; height: auto; min-height: calc(100dvh - 148px); overflow: visible; }
  .slide.active { display: flex; }
  .slide:not(.cover) { padding: 18px 18px 34px; gap: 14px; }
  .slide-head { flex-wrap: wrap; gap: 4px 12px; padding-bottom: 9px; }
  .source-line { text-align: left; font-size: 8.5px; }
  .eyebrow { font-size: 9px; }
  .eyebrow span { min-width: 20px; height: 20px; font-size: 8.5px; }
  h2 { font-size: clamp(28px, 7.4vw, 42px); line-height: 1.03; }
  .slide-note { font-size: 8.5px; line-height: 1.5; }
  .cover.active { display: flex; flex-direction: column; min-height: calc(100dvh - 148px); }
  .cover-stage { order: 1; }
  .cover-copy { order: 2; padding: 20px 20px 18px; }
  .cover-topline { margin-bottom: 14px; }
  .cover-topline .mono { font-size: 7.5px; }
  .cover .kicker { font-size: 8px; margin-bottom: 10px; }
  .cover h1 { font-size: clamp(40px, 11vw, 56px); max-width: 13ch; }
  .cover-lead { font-size: 14.5px; max-width: 40ch; margin-top: 12px; }
  .cover-facts { margin-top: 16px; }
  .cover-facts li { padding: 8px 8px 8px 0; }
  .cover-facts li + li { padding-left: 8px; }
  .cover-facts b { font-size: 9.5px; }
  .cover-facts span { font-size: 7px; }
  .cover-byline { margin-top: 14px; }
  .cover-byline p { font-size: 9.5px; }
  .cover-cue { margin-top: 14px; font-size: 8px; }
  .cover-stage { min-height: 310px; height: 78vw; max-height: 400px; border-left: 0; border-top: 1px solid rgba(143,227,203,.13); }
  #cover-scene { display: none; }
  .cover-fallback { display: grid; }
  .fallback-card { width: 184px; padding: 18px 16px 14px; }
  .fallback-card span { font-size: 6px; }
  .fallback-card b { font-size: 6.5px; }
  .fallback-card strong { font-size: 15px; margin: 8px 0 6px; }
  .fallback-card small { font-size: 5.5px; }
  .fallback-card em { font-size: 5px; }
  .stage-meta { display: none; }
  .stage-hint { display: none; }
  .audit-intro, .gap-intro, .flagship-intro, .system-intro, .proof-intro, .roadmap-intro, .engage-intro { grid-template-columns: 1fr; gap: 10px; }
  .audit-intro p, .flagship-intro p, .system-intro p, .proof-intro p, .engage-intro p, .roadmap-intro p, .gap-quote p { font-size: 14px; line-height: 1.5; }
  .audit-grid { grid-template-columns: 1fr; gap: 14px; }
  .audit-grid .compute { display: block; }
  .findings li { padding: 9px 0; grid-template-columns: 24px 1fr; }
  .findings h3 { font-size: 15px; }
  .findings p { font-size: 12.5px; }
  .metric-strip { grid-template-columns: 1fr 1fr; }
  .metric-strip > div { padding: 9px 10px 9px 0; }
  .metric-strip > div:nth-child(2n) { border-right: 0; padding-left: 10px; }
  .metric-strip > div:nth-child(n+3) { border-top: 1px solid var(--line); }
  .metric-strip b { font-size: 24px; }
  .metric-strip span { font-size: 8px; }
  .metric-strip > p { grid-column: 1 / -1; padding: 9px 0 0; font-size: 13px; }
  .route-compare { grid-template-columns: 1fr; gap: 10px; }
  .route-arrow { flex-direction: row; padding: 2px 0; }
  .route-arrow .ui-icon { transform: rotate(90deg); }
  .route-arrow span { max-width: none; }
  .route { padding: 14px; }
  .route h3 { font-size: 21px; }
  .route li { font-size: 12.5px; padding: 6px 0; }
  .gap-quote { margin-top: 2px; }
  .gap-quote blockquote { font-size: 18px; }
  .concept-stage { display: block; padding-top: 0; }
  .concept-browser { width: 100%; height: auto; aspect-ratio: auto; min-height: 0; }
  .site { height: auto; overflow: visible; }
  .site-page { flex: none; overflow: visible; }
  .site-hero { display: flex; flex-direction: column; min-height: 0; }
  .site-hero-visual { height: 210px; min-height: 0; }
  .browser-note { display: none; }
  .concept-phone { position: relative; right: auto; bottom: auto; width: min(190px, 52vw); margin: 16px auto 0; }
  .site-nav button { padding: 8px 6px; font-size: 11px; }
  .site-logo { width: 90px; min-width: 0; }
  .site-head { gap: 8px; padding: 9px 10px; }
  .site-head-cta { font-size: 10px; padding: 7px 8px; }
  .site-nav { gap: 0; }
  .site-hero { grid-template-columns: 1fr; gap: 12px; padding: 14px; }
  .site-hero-visual { min-height: 150px; }
  .site-hero-copy h1 { font-size: 30px; margin: 6px 0; }
  .site-hero-copy > p:not(.site-eyebrow) { font-size: 12px; }
  .site-strip { grid-template-columns: 1fr; }
  .site-strip > div { border-right: 0; border-bottom: 1px solid var(--line); padding: 9px 12px; }
  .site-strip > div:last-child { border-bottom: 0; }
  .site-strip p { font-size: 11px; }
  .site-strip b { font-size: 12px; }
  .report-head, .report-body { grid-template-columns: 1fr; }
  .report-head { padding: 12px 14px 8px; gap: 6px; }
  .report-head h1 { font-size: 28px; }
  .report-head > p:not(.site-eyebrow) { font-size: 12px; }
  .report-body { padding: 0 14px 14px; }
  .report-chips { flex-direction: row; flex-wrap: wrap; }
  .report-chips button { font-size: 10px; padding: 7px 8px; }
  .report-preview { padding: 10px; }
  .report-preview h2 { font-size: 20px; }
  .report-preview p { font-size: 11px; }
  .site-footer { flex-direction: column; gap: 2px; padding: 7px 12px; font-size: 6.5px; }
  .member-hero { background: #0A342B; }
  .member-panel { padding: 12px; }
  .member-row b { font-size: 12px; }
  .member-row small { font-size: 10px; }
  .member-live { font-size: 9px; }
  .provider-line { padding: 10px 12px; }
  .provider-line b { font-size: 11px; }
  .provider-contact { padding: 10px 12px; }
  .provider-contact p { font-size: 10px; }
  .system-table { border-top: 1px solid var(--line-dark); }
  .system-row { grid-template-columns: 26px 1fr auto; gap: 8px 10px; padding: 11px 0; }
  .system-row h3 { font-size: 17px; }
  .system-row p { grid-column: 2 / -1; font-size: 12.5px; }
  .sys-out { grid-column: 3; grid-row: 1; }
  .system-foot { flex-wrap: wrap; gap: 6px 12px; }
  .system-foot p { flex-basis: 100%; font-size: 11px; }
  .system-foot .mono:last-child { font-size: 7.5px; }
  .proof-stage { grid-template-columns: 1fr; padding: 10px; gap: 10px; }
  .proof-card { height: auto; }
  .case-shot { aspect-ratio: 16 / 10; }
  .proof-card figcaption b { font-size: 12px; }
  .proof-card figcaption span { font-size: 11px; }
  .proof-foot { flex-direction: column; align-items: flex-start; gap: 6px; }
  .proof-foot p { font-size: 11.5px; }
  .timeline { grid-template-columns: 1fr; }
  .phase { padding: 14px; }
  .phase h3 { font-size: 23px; }
  .phase > p { font-size: 12.5px; }
  .phase li { font-size: 11.5px; }
  .supply-strip { grid-template-columns: 1fr; gap: 8px; }
  .supply-strip > div + div { border-left: 0; border-top: 1px solid var(--line-dark); padding-left: 0; padding-top: 8px; }
  .supply-strip p { font-size: 11.5px; }
  .engage-grid { grid-template-columns: 1fr; }
  .engage-card { padding: 14px; }
  .engage-card h3 { font-size: 24px; }
  .engage-line { font-size: 13px; }
  .engage-card li { font-size: 12px; }
  .engage-out b { font-size: 12px; }
  .engage-foot { flex-direction: column; align-items: flex-start; gap: 8px; }
  .engage-foot p { font-size: 11px; }
  .engage-foot a { font-size: 9.5px; }
  .close-grid { grid-template-columns: 1fr; gap: 16px; align-items: start; }
  .close-copy h2 { max-width: 15ch; }
  .close-lead { font-size: 14px; }
  .partner-card { padding: 12px; }
  .portrait { width: 88px; }
  .partner-name { font-size: 26px; }
  .partner-role { font-size: 8.5px; }
  .partner-info p { font-size: 11.5px; }
  .contact-list { grid-template-columns: 1fr; }
  .contact-list a { min-height: 42px; font-size: 12px; }
  .close-signoff { flex-wrap: wrap; gap: 6px; }
  .close-signoff img { height: 15px; }
  .close-signoff span { font-size: 7.5px; }
  .request { padding: 16px; }
  .request h3 { font-size: 26px; }
  .request > p { font-size: 12px; }
  .quick-times button { min-height: 40px; font-size: 11px; }
  .pick-grid { grid-template-columns: 1fr 1fr; }
  .pick-grid input { height: 40px; font-size: 12px; }
  .draft-link { min-height: 46px; font-size: 13px; }
  .request-note { font-size: 9.5px; }
  .bottombar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 90; height: calc(58px + env(safe-area-inset-bottom)); padding: 0 12px env(safe-area-inset-bottom); background: #06231D; }
  .bottom-prep { display: none; }
  .bottom-private { display: none; }
  .bottom-nav { margin-left: auto; gap: 6px; }
  .bottom-nav button { width: 40px; height: 40px; }
  #counter { font-size: 10px; min-width: 54px; }
  .rail { display: none; }
  .index-overlay { padding: 18px 16px 14px; }
  .index-head b { font-size: 26px; }
  .index-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
  .index-card { min-height: 104px; padding: 11px; }
  .index-card b { font-size: 15px; }
  .index-card span { font-size: 9px; }
  .concept-overlay { padding: 8px; }
  .concept-overlay-head .mono { font-size: 7px; }
  .concept-overlay-head button { min-height: 34px; font-size: 9px; }
  .concept-toast { bottom: calc(76px + env(safe-area-inset-bottom)); font-size: 12px; }
  .claim-stamp { width: 72vw; border-width: 4px; }
}

@media (max-width: 480px) {
  .cover h1 { font-size: 40px; }
  .cover-facts { grid-template-columns: 1fr; }
  .cover-facts li { border-right: 0; border-bottom: 1px solid rgba(143,227,203,.13); padding: 7px 0; }
  .cover-facts li + li { padding-left: 0; }
  .cover-facts li:last-child { border-bottom: 0; }
  .cover-stage { height: 62vw; min-height: 280px; }
  .site-head { flex-wrap: wrap; }
  .site-nav { order: 3; flex-basis: 100%; border-top: 1px solid var(--line); }
  .site-nav button { flex: 1; font-size: 10px; padding: 7px 2px; }
  .site-logo { width: 78px; }
  .site-head-cta { margin-left: auto; }
  .report-preview-head span:last-child { display: none; }
  .report-anatomy { grid-template-columns: 1fr 1fr; }
  .report-anatomy div:last-child { grid-column: 1 / -1; }
  .contact-list { grid-template-columns: 1fr; }
  .pick-grid { grid-template-columns: 1fr; }
}

/* ---------- transition and expanded-concept states ---------- */
@media (min-width: 861px) {
  body.webgl-ready .cover-fallback { display: none; }
  .slide.cover.is-leaving, .slide.cover.is-entering { display: grid !important; }
}
.claim-wipe {
  position: fixed; inset: 0; z-index: 120; pointer-events: none;
  background:
    linear-gradient(90deg, transparent 0 7%, rgba(0,144,120,.9) 7.2%, rgba(0,144,120,.9) 7.5%, transparent 7.7%),
    repeating-linear-gradient(180deg, #F3F0E6 0 17px, #E4DECD 17px 18px);
  box-shadow: 0 0 60px rgba(0,0,0,.3);
  transform: translateX(-108%);
  animation: claim-wipe .72s cubic-bezier(.65,0,.35,1) both;
}
@keyframes claim-wipe { 0% { transform: translateX(-108%); } 48% { transform: translateX(0); } 100% { transform: translateX(108%); } }

.concept-browser.is-expanded { width: 100%; height: 100%; max-width: none; }
.concept-browser.is-expanded .site { display: block; overflow: auto; }
.concept-browser.is-expanded .site-head { position: sticky; top: 0; z-index: 4; }
.concept-browser.is-expanded .site-page { display: block; min-height: 560px; }
.concept-browser.is-expanded .site-hero { min-height: 430px; }
.concept-browser.is-expanded .site-footer { position: relative; }
@media (max-width: 860px) {
  .concept-browser.is-expanded .site-page { min-height: 0; }
  .concept-browser.is-expanded .site-hero { min-height: 0; }
  .cover-fallback { display: grid !important; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
  .cover-fallback { display: grid !important; }
  #cover-scene { display: none !important; }
  .claim-stamp { display: none !important; }
}


