/* ГНИВЦ 3.0 / Optical system
   Glass is a material: translucent depth, a lit edge and legible content.
   The same spatial language runs from the story through the expert intake. */

html[data-theme="dark"] {
  --bg:#09111b; --bg2:#101d2a; --surface:#152333; --surface2:#203348;
  --text:#f6f9fc; --muted:#b7c5d2; --line:#41566b; --card:#172738;
  --ink:#08121c; --on-accent:#fff; --orange:#f27d63; --cyan:#8ac9e5;
  --accent-start:#f68c72; --accent-end:#db654f;
  --grid:rgba(211,231,248,.09);
  --glass:rgba(27,43,59,.68); --glass-strong:rgba(31,48,65,.84);
  --glass-soft:rgba(218,238,255,.055); --glass-line:rgba(217,237,255,.23);
  --glass-highlight:rgba(255,255,255,.16); --glass-shadow:0 26px 75px rgba(0,5,15,.38);
  --case-mode-track:#142434; --case-mode-active:#2a3c4d;
  --case-bg:#0f1b28; --case-surface:#192a3b; --case-top:#132130;
  --case-line:rgba(212,232,249,.2); --case-muted:#b7c5d2; --case-mark:#25394a;
  --vessel-bg:#0c1723; --vessel-surface:#1a2b3b; --vessel-line:rgba(217,237,255,.2);
  --vessel-muted:#bdcad5; --vessel-alt:#d7eaf3; --vessel-empty:#607686;
}
html[data-theme="light"] {
  --bg:#f1f6fa; --bg2:#e7eff5; --surface:#fff; --surface2:#dce9f1;
  --text:#102232; --muted:#4e6273; --line:#b8cbd7; --card:#fff;
  --ink:#102232; --on-accent:#fff; --orange:#cf6049; --cyan:#296c8f;
  --accent-start:#dd755d; --accent-end:#bd4f3b;
  --grid:rgba(24,67,93,.08);
  --glass:rgba(255,255,255,.64); --glass-strong:rgba(255,255,255,.84);
  --glass-soft:rgba(255,255,255,.45); --glass-line:rgba(94,138,166,.3);
  --glass-highlight:rgba(255,255,255,.95); --glass-shadow:0 28px 75px rgba(32,75,105,.15);
  --case-mode-track:#e7eff4; --case-mode-active:#fff;
  --case-bg:#e5eef4; --case-surface:#fff; --case-top:#eaf3f8;
  --case-line:rgba(86,129,157,.28); --case-muted:#4e6273; --case-mark:#e6f0f5;
  --vessel-bg:#edf4f8; --vessel-surface:#fff; --vessel-line:rgba(91,132,158,.3);
  --vessel-muted:#4e6273; --vessel-alt:#39566b; --vessel-empty:#9fb6c5;
}

html { scroll-behavior:smooth; }
body { background:var(--bg); color:var(--text); font:400 17px/1.55 var(--body); letter-spacing:-.013em; }
::selection { background:var(--orange); color:#fff; }
:focus-visible { outline:2px solid var(--orange); outline-offset:4px; }
.shell,.intake-shell { width:min(100% - 7.5vw,1460px); }
.eyebrow,.scene-index,.step-kicker {
  color:var(--orange); font:700 11px/1.4 var(--mono);
  letter-spacing:.16em; text-transform:uppercase;
}
.scroll-progress { height:3px; background:linear-gradient(90deg,var(--cyan),var(--orange)); }

/* Navigation feels like a thin optical sheet above the content. */
.site-header,.intake-header {
  background:color-mix(in srgb,var(--bg2) 94%,transparent);
  border-bottom:1px solid var(--glass-line);
  box-shadow:inset 0 1px var(--glass-highlight),0 10px 28px rgba(4,15,27,.09);
  backdrop-filter:blur(28px) saturate(160%);
  -webkit-backdrop-filter:blur(28px) saturate(160%);
}
.header-row,.intake-head-row { height:82px; }
.wordmark,.intake-brand { font-weight:700; letter-spacing:-.04em; }
.wordmark small,.intake-brand small { letter-spacing:.005em; font-size:10px; }
.main-nav a { color:var(--muted); font-size:13px; font-weight:650; }
.main-nav a:hover,.intake-header-actions a:hover { color:var(--orange); }
.theme-toggle,.intake-header-actions button {
  border:1px solid var(--glass-line);
  border-radius:999px;
  min-height:42px;
  padding:0 17px;
  background:var(--glass-soft);
  color:var(--text);
  box-shadow:inset 0 1px var(--glass-highlight);
  font-size:12px;
  transition:background .24s,transform .24s,border-color .24s;
}
.theme-toggle:hover,.intake-header-actions button:hover { background:var(--glass); border-color:var(--orange); transform:translateY(-1px); }
.header-link,.scene-cta,.action-link,.intake-controls #next-button,.intake-controls #submit-button,.intake-success a {
  border:1px solid color-mix(in srgb,var(--orange) 75%,white);
  border-radius:999px;
  background:linear-gradient(135deg,var(--accent-start),var(--accent-end));
  color:#fff;
  box-shadow:inset 0 1px rgba(255,255,255,.28),0 12px 26px color-mix(in srgb,var(--orange) 18%,transparent);
  transition:transform .25s,box-shadow .25s,filter .25s;
}
.header-link:hover,.scene-cta:hover,.action-link:hover,.intake-controls #next-button:hover,.intake-controls #submit-button:hover,.intake-success a:hover {
  transform:translateY(-3px);
  filter:brightness(1.06);
  box-shadow:inset 0 1px rgba(255,255,255,.4),0 19px 37px color-mix(in srgb,var(--orange) 29%,transparent);
}
.header-link { padding-inline:21px; }

/* Five chapter opening: a lit stage reserved for each figure, no text crossing art. */
.story-sticky {
  background:
    linear-gradient(117deg,transparent 55%,color-mix(in srgb,var(--cyan) 6%,transparent) 78%,transparent),
    linear-gradient(170deg,var(--bg),color-mix(in srgb,var(--bg2) 78%,var(--bg)));
}
.story-grid {
  opacity:1;
  background-image:linear-gradient(90deg,transparent calc(52% - .5px),var(--grid) 52%,transparent calc(52% + .5px));
  mask-image:none;
}
.story-status,.story-bottom { color:var(--muted); letter-spacing:.12em; }
.story-status::before { width:42px; background:var(--cyan); }
.story-status span:last-child,.story-bottom span:last-child { color:var(--orange); }
.story-dots i { height:3px; border-radius:10px; background:var(--glass-line); }
.story-dots i.is-active { background:linear-gradient(90deg,var(--cyan),var(--orange)); }
.story-scene { grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr); gap:4vw; padding:160px 4vw 72px; }
.scene-copy { align-self:center; max-width:760px; position:relative; z-index:3; }
.scene-index { margin-bottom:25px; }
.scene-index::after { background:var(--cyan); opacity:.75; }
.scene-copy h1,.scene-copy h2,.scene-two .scene-copy h2 {
  font:610 clamp(61px,6.3vw,106px)/.97 var(--body);
  letter-spacing:-.078em;
  max-width:830px;
  margin-bottom:28px;
}
.scene-copy h1 em,.scene-copy h2 em { color:var(--text); }
.scene-copy h1 em::after,.scene-copy h2 em::after { width:82px; height:4px; margin-top:24px; background:linear-gradient(90deg,var(--orange),var(--cyan)); border-radius:3px; }
.scene-copy p { color:var(--muted); max-width:590px; font-size:clamp(18px,1.4vw,22px); line-height:1.5; }
.scene-micro { color:var(--cyan); }
.scene-cta { min-height:56px; padding:13px 24px; }
.scene-note.signal-card {
  max-width:560px;
  margin-top:30px;
  padding:18px 20px;
  border:1px solid var(--glass-line);
  border-radius:17px;
  background:var(--glass);
  box-shadow:inset 0 1px var(--glass-highlight),0 15px 40px rgba(1,10,24,.12);
  backdrop-filter:blur(20px);
}
.signal-card strong { color:var(--text); }
.signal-card span,.signal-card i { color:var(--muted); }
.signal-card i { color:var(--orange); }
.customer-art,.urgent-art,.hero-art { position:relative; align-self:stretch; display:grid; place-items:end center; border:0; overflow:visible; isolation:isolate; }
.customer-art::before,.urgent-art::before,.hero-art::before {
  display:block;
  content:'';
  position:absolute;
  z-index:-1;
  inset:4% 4% 3%;
  width:auto; height:auto;
  border:1px solid var(--glass-line);
  border-radius:35px;
  clip-path:none;
  background:
    linear-gradient(154deg,var(--glass-highlight),transparent 24%,transparent 67%,color-mix(in srgb,var(--cyan) 11%,transparent)),
    var(--glass);
  box-shadow:inset 0 1px var(--glass-highlight),inset 0 -1px var(--glass-line),var(--glass-shadow);
  backdrop-filter:blur(18px);
}
.customer-art::after,.urgent-art::after,.hero-art::after {
  content:'';
  position:absolute;
  z-index:-2;
  left:16%; right:16%; bottom:0;
  height:25%;
  background:color-mix(in srgb,var(--cyan) 14%,transparent);
  filter:blur(65px);
}
.customer-art img,.urgent-art img,.hero-art img {
  width:100%;
  height:min(75vh,760px);
  max-height:calc(100svh - 170px);
  object-fit:contain;
  object-position:center bottom;
  filter:drop-shadow(0 33px 22px rgba(0,8,19,.24));
}
.scene-pressure .urgent-art::before { background:linear-gradient(150deg,color-mix(in srgb,var(--orange) 15%,var(--glass)),var(--glass) 47%,color-mix(in srgb,var(--cyan) 9%,var(--glass))); }
.pressure-list { border-color:var(--glass-line); }
.pressure-list span { border-color:var(--glass-line); color:var(--orange); }
.urgent-speech { border-left:3px solid var(--orange); color:var(--text); }
.urgency-meter i { background:var(--glass-line); }
.urgency-meter i b { background:linear-gradient(90deg,var(--cyan),var(--orange)); }
.scene-two { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); }
.scene-two .scene-copy h2 { font-size:clamp(52px,5.3vw,84px); }
.stuck-visual {
  padding:0;
  border:1px solid var(--glass-line);
  border-radius:28px;
  overflow:hidden;
  background:var(--glass-strong);
  box-shadow:inset 0 1px var(--glass-highlight),var(--glass-shadow);
  backdrop-filter:blur(24px);
}
.scene-two .console-top {
  height:58px;
  padding:0 23px;
  background:var(--glass-soft);
  border-color:var(--glass-line);
  color:var(--muted);
}
.scan-grid { padding:12px; gap:0; }
.scan-card,.scan-card.is-gap {
  min-height:177px;
  padding:17px 18px;
  border:0;
  border-right:1px solid var(--glass-line);
  border-bottom:1px solid var(--glass-line);
  border-radius:0;
  background:transparent;
}
.scan-card:nth-child(3n) { border-right:0; }
.scan-card:nth-last-child(-n+3) { border-bottom:0; }
.scan-card.is-gap { background:color-mix(in srgb,var(--orange) 12%,var(--glass)); box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--orange) 34%,transparent); border-radius:12px; }
.scan-card-head b,.scan-card>span,.scan-card small i { color:var(--orange); }
.scan-card-head strong { color:var(--text); font-size:14px; }
.scan-card p,.scan-card small { color:var(--muted); font-size:12px; }
.scene-two .console-error { padding:14px 22px; background:color-mix(in srgb,var(--orange) 15%,var(--glass-strong)); color:var(--text); border-top:1px solid var(--glass-line); }
.scene-two .console-error b { color:var(--orange); }
.scene-two .scan-beam { background:var(--cyan); box-shadow:0 0 18px var(--cyan); }
.scene-three { background:linear-gradient(110deg,color-mix(in srgb,var(--cyan) 6%,var(--bg)),var(--bg)); }
.scene-three .hero-art::before { inset:3% 4%; width:auto; height:auto; border:1px solid var(--glass-line); background:linear-gradient(170deg,var(--glass-highlight),var(--glass) 38%,color-mix(in srgb,var(--orange) 13%,var(--glass))); }
.hero-badge { border:1px solid var(--glass-line); border-radius:999px; padding:11px 17px; background:var(--glass); box-shadow:inset 0 1px var(--glass-highlight); }
.ai-capabilities { gap:9px; border:0; }
.ai-capabilities span { border:1px solid var(--glass-line); border-radius:999px; background:var(--glass-soft); color:var(--text); padding:10px 14px; }
.mission-map {
  padding:30px;
  border:1px solid var(--glass-line);
  border-radius:30px;
  background:var(--glass-strong);
  box-shadow:inset 0 1px var(--glass-highlight),var(--glass-shadow);
  backdrop-filter:blur(24px);
}
.map-node { border-color:var(--glass-line); }
.map-node strong { color:var(--text); }
.map-node.final { background:color-mix(in srgb,var(--orange) 10%,transparent); border-radius:14px; padding-inline:15px; }

/* Editorial chapters and live process simulations. */
.cases-section {
  padding:clamp(115px,10vw,165px) 0;
  background:linear-gradient(154deg,var(--case-bg),color-mix(in srgb,var(--cyan) 5%,var(--case-bg)) 58%,var(--case-bg));
}
.cases-layout { grid-template-columns:minmax(300px,.76fr) minmax(0,1.24fr); gap:6vw; align-items:start; }
.cases-intro h2 { font:600 clamp(54px,5.2vw,86px)/1 var(--body); letter-spacing:-.07em; }
.cases-intro h2 em { color:var(--orange); }
.cases-intro p { color:var(--case-muted); font-size:18px; }
.case-selector { display:grid; grid-template-columns:1fr; gap:9px; border:0; margin-top:30px; }
.case-selector button,.case-selector button[aria-selected=true] {
  min-height:74px;
  padding:13px 18px;
  border:1px solid var(--glass-line);
  border-radius:15px;
  background:var(--glass-soft);
  color:var(--case-muted);
  box-shadow:inset 0 1px var(--glass-highlight);
  transition:transform .22s,background .22s,border-color .22s;
}
.case-selector button:hover { transform:translateX(4px); background:var(--glass); }
.case-selector button[aria-selected=true] { color:var(--text); border-color:color-mix(in srgb,var(--orange) 65%,var(--glass-line)); background:color-mix(in srgb,var(--orange) 9%,var(--glass)); box-shadow:inset 3px 0 var(--orange),inset 0 1px var(--glass-highlight); }
.case-selector button span,.case-selector button i { color:var(--orange); }
.case-console,.case-console.is-assisted {
  overflow:hidden;
  border:1px solid var(--glass-line);
  border-radius:29px;
  background:var(--glass-strong);
  box-shadow:inset 0 1px var(--glass-highlight),var(--glass-shadow);
  backdrop-filter:blur(26px);
}
.case-console-top { height:56px; padding:0 24px; background:var(--glass-soft); border-color:var(--glass-line); }
.case-console-body { padding:clamp(24px,3vw,48px); }
.case-head h3 { font:580 clamp(33px,3.1vw,49px)/1.07 var(--body); }
.case-head p { color:var(--case-muted); font-size:17px; }
.case-mode { gap:5px; padding:5px; border:1px solid var(--glass-line); border-radius:999px; background:var(--glass-soft); }
.case-mode button { border:0!important; border-radius:999px; padding:13px 12px; color:var(--case-muted); }
.case-mode button[aria-pressed=true],.case-mode button#case-after[aria-pressed=true] {
  border:0!important;
  background:var(--glass-strong);
  color:var(--text);
  box-shadow:0 3px 13px rgba(0,10,30,.12),inset 0 1px var(--glass-highlight);
}
.case-timeline::before { background:var(--glass-line); }
.case-step { border-color:var(--glass-line); }
.case-step-number,.case-step.is-blocked .case-step-number,.is-assisted .case-step-number { border:1px solid var(--glass-line); border-radius:11px; background:var(--glass); color:var(--text); }
.case-outcome,.is-assisted .case-outcome { padding:23px; border:1px solid var(--glass-line); border-radius:18px; background:color-mix(in srgb,var(--orange) 9%,var(--glass)); }
.case-outcome span,.is-assisted .case-outcome span { color:var(--orange); }
.case-human { color:var(--case-muted); }

.manifest {
  position:relative;
  overflow:hidden;
  padding:clamp(125px,11vw,180px) 0;
  background:linear-gradient(115deg,#fd8763 0%,#f46e50 45%,#da4d3f 100%);
  color:#172332;
}
.manifest::before { content:''; position:absolute; inset:0; background:linear-gradient(155deg,rgba(255,255,255,.35),transparent 42%),linear-gradient(90deg,transparent 55%,rgba(255,255,255,.14) 55.1%,transparent 55.3%); pointer-events:none; }
.manifest-grid { position:relative; z-index:1; }
.manifest .eyebrow { color:#1b3140; }
.manifest h2 { font:620 clamp(59px,6.4vw,105px)/.96 var(--body); letter-spacing:-.075em; }
.manifest h2 span { color:#fff9f3; }
.manifest p { border-color:rgba(20,41,55,.35); color:#263746; font-size:20px; }

/* The production map reads as a connected system rather than a bank of cards. */
.cycle-section {
  padding:clamp(115px,10vw,175px) 0;
  background:linear-gradient(180deg,var(--bg),color-mix(in srgb,var(--cyan) 5%,var(--bg)) 70%,var(--bg));
}
.section-heading { grid-template-columns:minmax(0,1.3fr) minmax(250px,.55fr); margin-bottom:60px; }
.section-heading h2 { font:610 clamp(56px,5.6vw,91px)/1 var(--body); letter-spacing:-.075em; }
.section-heading h2 span { color:var(--text); }
.section-heading h2 span::after { width:80px; height:4px; background:linear-gradient(90deg,var(--orange),var(--cyan)); border-radius:3px; }
.section-heading p { border-color:var(--glass-line); color:var(--muted); font-size:17px; }
.stage-tabs {
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:7px;
  padding:8px;
  margin:0 0 18px;
  border:1px solid var(--glass-line);
  border-radius:22px;
  background:var(--glass);
  box-shadow:inset 0 1px var(--glass-highlight),0 18px 45px rgba(5,20,35,.1);
  backdrop-filter:blur(20px);
}
.stage-tabs button,.stage-tabs button[aria-selected=true] {
  min-height:106px;
  padding:16px 14px;
  border:0!important;
  border-radius:15px;
  background:transparent;
  color:var(--muted);
  transition:background .22s,color .22s,transform .22s;
}
.stage-tabs button:hover { background:var(--glass-soft); transform:translateY(-2px); color:var(--text); }
.stage-tabs button[aria-selected=true] { background:var(--glass-strong); color:var(--text); box-shadow:inset 0 1px var(--glass-highlight),0 10px 25px rgba(4,18,33,.14); }
.stage-tabs button span,.stage-tabs button[aria-selected=true] span { color:var(--orange); }
.stage-panel {
  min-height:620px;
  padding:clamp(28px,4.2vw,65px);
  border:1px solid var(--glass-line);
  border-radius:30px;
  background:var(--glass-strong);
  box-shadow:inset 0 1px var(--glass-highlight),var(--glass-shadow);
  backdrop-filter:blur(25px);
}
.stage-top { border-color:var(--glass-line); }
.stage-top h3 { font:600 clamp(43px,4vw,66px)/1.04 var(--body); }
.stage-top p { color:var(--muted); }
.stage-outcome { border-left:3px solid var(--orange); }
.stage-outcome b,.stage-block h4,.stage-transition b,.stage-footer a { color:var(--orange); }
.stage-columns { gap:30px 50px; }
.stage-block h4 span { border-color:var(--glass-line); border-radius:9px; color:var(--orange); }
.stage-block li { border-color:var(--glass-line); }
.stage-block li::before { background:var(--orange); border-radius:3px; }
.stage-block.docs {
  padding:25px 28px;
  border:1px solid var(--glass-line);
  border-radius:20px;
  background:linear-gradient(140deg,var(--glass-highlight),var(--glass-soft) 42%,var(--glass));
  box-shadow:inset 0 1px var(--glass-highlight),0 15px 35px rgba(4,18,33,.08);
}
.stage-transition { border-color:var(--glass-line); }
.stage-transition>div { padding:20px 0; border-color:var(--glass-line); }
.stage-footer { border-color:var(--glass-line); color:var(--muted); }

.document-flow {
  padding:clamp(120px,10vw,175px) 0;
  background:linear-gradient(125deg,var(--bg2),color-mix(in srgb,var(--cyan) 7%,var(--bg2)) 55%,var(--bg2));
}
.document-grid { grid-template-columns:.95fr 1.05fr; gap:8vw; }
.document-flow h2 { font:610 clamp(56px,5.1vw,85px)/1 var(--body); letter-spacing:-.075em; }
.document-flow h2 span { color:var(--orange); }
.document-flow p { color:var(--muted); font-size:19px; }
.doc-chain { padding:19px; border:1px solid var(--glass-line); border-radius:28px; background:var(--glass); box-shadow:inset 0 1px var(--glass-highlight),var(--glass-shadow); backdrop-filter:blur(24px); }
.doc-chain div,.doc-chain div:last-child {
  min-height:74px;
  align-items:center;
  padding:15px 18px;
  border-top:0;
  border-bottom:1px solid var(--glass-line);
  border-radius:11px;
  color:var(--text);
  font:560 clamp(20px,1.7vw,27px)/1.2 var(--body);
  transition:background .23s,transform .23s;
}
.doc-chain div:last-child { border-bottom:0; }
.doc-chain div:hover { transform:translateX(5px); background:var(--glass-soft); }
.doc-chain div span { color:var(--orange); font:700 12px var(--mono); }

/* A single sculptural object carries the contribution section. */
.vessel-section { padding:clamp(125px,11vw,180px) 0; background:linear-gradient(125deg,var(--vessel-bg),color-mix(in srgb,var(--cyan) 5%,var(--vessel-bg)) 78%,var(--vessel-bg)); }
.vessel-copy h2 { font-weight:620; }
.vessel-copy h2 em { color:var(--orange); }
.vessel-copy p,.vessel-copy-note,.energy-stat span { color:var(--vessel-muted); }
.energy-stat { border-color:var(--glass-line); }
.vessel-visual { padding:0 22px; }
.vessel-meta,.vessel-caption { border-color:var(--glass-line); }
.vessel-stage::before { background:linear-gradient(90deg,transparent,var(--glass-line),transparent); }
.vessel-object img { filter:drop-shadow(0 42px 45px rgba(2,13,28,.27)); }
.vessel-side-note { border-color:var(--orange); }
.ideas-panel { border-color:var(--glass-line); }
.idea-card { border-color:var(--glass-line); }
.idea-card:hover,.idea-card.is-mine { border-color:var(--orange); }
.empty-ideas { border-color:var(--glass-line); }

.contribute-section {
  padding:clamp(125px,10vw,180px) 0;
  background:linear-gradient(145deg,var(--bg2),color-mix(in srgb,var(--cyan) 8%,var(--bg2)) 75%,var(--bg2));
}
.invite-grid { gap:7vw; }
.contribute-invite h2 { font:610 clamp(56px,5.6vw,91px)/.99 var(--body); letter-spacing:-.075em; }
.contribute-invite h2 span { color:var(--orange); }
.contribute-invite h2 span::after { display:none; }
.contribute-invite p { color:var(--muted); font-size:19px; line-height:1.55; }
.contribute-invite small { color:var(--muted); }
.invite-map {
  padding:28px;
  border:1px solid var(--glass-line);
  border-radius:27px;
  background:var(--glass);
  box-shadow:inset 0 1px var(--glass-highlight),var(--glass-shadow);
  backdrop-filter:blur(24px);
}
.invite-map>span { color:var(--orange); }
.invite-map>div { padding:23px 0; border-color:var(--glass-line); }
.invite-map strong { font:560 23px var(--body); }
.invite-map b { color:var(--orange); }
.invite-map em { color:var(--muted); }
.footer { background:var(--bg); border-color:var(--glass-line); color:var(--text); }
.footer p,.footer small { color:var(--muted); }

/* Expert intake: a focused glass work surface with a clear seven-step route. */
.intake-layout {
  gap:clamp(45px,7vw,105px);
  padding-top:clamp(65px,7vw,110px);
  padding-bottom:120px;
}
.intake-aside h1 { font:620 clamp(54px,5vw,82px)/1 var(--body); letter-spacing:-.075em; }
.intake-aside h1 em { color:var(--orange); font-style:normal; }
.intake-aside h1 em::after { display:none; }
.intake-aside p { color:var(--muted); font-size:18px; }
.diagnostic-map {
  margin-top:42px;
  padding:25px;
  border:1px solid var(--glass-line);
  border-radius:22px;
  background:var(--glass);
  box-shadow:inset 0 1px var(--glass-highlight),0 15px 40px rgba(4,18,33,.08);
  backdrop-filter:blur(20px);
}
.diagnostic-map>span { color:var(--orange); }
.diagnostic-map>div { border-color:var(--glass-line); color:var(--text); }
.diagnostic-map b { color:var(--orange); }
.intake-private {
  padding:16px 19px;
  border:1px solid var(--glass-line);
  border-left:3px solid var(--orange);
  border-radius:0 14px 14px 0;
  background:var(--glass-soft);
  color:var(--muted);
}
.intake-topline { color:var(--muted); }
.intake-topline span:first-child { color:var(--orange); }
.intake-progress { height:4px; border-radius:9px; background:var(--glass-line); }
.intake-progress i { border-radius:9px; background:linear-gradient(90deg,var(--cyan),var(--orange)); }
.intake-steps {
  display:flex;
  gap:6px;
  padding:6px;
  margin-bottom:23px;
  border:1px solid var(--glass-line);
  border-radius:18px;
  background:var(--glass);
  box-shadow:inset 0 1px var(--glass-highlight);
  backdrop-filter:blur(18px);
}
.intake-steps button,.intake-steps button:first-child {
  min-height:72px;
  padding:12px 10px;
  border:0;
  border-radius:13px;
  background:transparent;
  color:var(--muted);
  transition:background .2s,color .2s;
}
.intake-steps button:hover { background:var(--glass-soft); color:var(--text); }
.intake-steps button[aria-current=step] {
  border:0;
  background:var(--glass-strong);
  color:var(--text);
  box-shadow:inset 0 1px var(--glass-highlight),0 6px 20px rgba(4,18,33,.11);
}
.intake-steps button b { color:var(--orange); }
#initiative-form,.intake-success {
  padding:clamp(28px,4vw,65px);
  border:1px solid var(--glass-line);
  border-radius:30px;
  background:var(--glass-strong);
  box-shadow:inset 0 1px var(--glass-highlight),var(--glass-shadow);
  backdrop-filter:blur(25px);
}
.intake-step h2,.intake-success h2 { font:610 clamp(36px,3.7vw,57px)/1.08 var(--body); letter-spacing:-.06em; }
.step-lead { color:var(--muted); font-size:17px; }
.field label,.option-group legend { color:var(--text); font-weight:680; }
.field small,.field-hint { color:var(--muted); }
.field input,.field select,.field textarea {
  min-height:51px;
  border:1px solid var(--glass-line);
  border-radius:13px;
  background:var(--glass-soft);
  color:var(--text);
  box-shadow:inset 0 1px var(--glass-highlight);
  font-size:16px;
  transition:border-color .2s,background .2s,box-shadow .2s;
}
.field input::placeholder,.field textarea::placeholder { color:var(--muted); opacity:.74; }
.field input:focus,.field select:focus,.field textarea:focus {
  border-color:var(--orange);
  background:var(--glass);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--orange) 18%,transparent),inset 0 1px var(--glass-highlight);
}
.chip-grid { gap:9px; }
.chip-grid span {
  min-height:44px;
  padding:11px 14px;
  border:1px solid var(--glass-line);
  border-radius:12px;
  background:var(--glass-soft);
  color:var(--text);
  box-shadow:inset 0 1px var(--glass-highlight);
}
.chip-grid input:checked+span { background:color-mix(in srgb,var(--orange) 18%,var(--glass)); border-color:var(--orange); color:var(--text); }
.choice-stack label,.branch-panel,.review-card,.access-note {
  border:1px solid var(--glass-line);
  border-radius:17px;
  background:var(--glass-soft);
  box-shadow:inset 0 1px var(--glass-highlight);
}
.choice-stack label:has(input:checked) { border-color:var(--orange); background:color-mix(in srgb,var(--orange) 10%,var(--glass)); }
.choice-stack input,.consent input { accent-color:var(--orange); }
.branch-panel { padding:25px; }
.branch-panel h3 { color:var(--text); }
.review-card>span { color:var(--orange); }
.access-note { padding:16px 18px; }
.intake-controls { border-color:var(--glass-line); }
.intake-controls button,.intake-success a,.intake-success button { min-height:52px; border-radius:999px; padding-inline:22px; }
.intake-controls #back-button { border:1px solid var(--glass-line); background:var(--glass-soft); color:var(--text); box-shadow:inset 0 1px var(--glass-highlight); }
.intake-controls #back-button:hover { background:var(--glass); }
.intake-success>span { color:var(--orange); }
.intake-success p { color:var(--muted); }

@media(max-width:1200px) {
  .main-nav { gap:15px; }
  .wordmark small { max-width:160px; }
  .story-scene { gap:2vw; }
  .scene-copy h1,.scene-copy h2 { font-size:clamp(52px,5.5vw,78px); }
  .scene-two .scene-copy h2 { font-size:clamp(45px,4.8vw,67px); }
  .scan-card { min-height:155px; padding:13px; }
  .scan-card-head strong { font-size:12px; }
  .scan-card p,.scan-card small { font-size:11px; }
  .stage-tabs button { font-size:12px; padding:14px 10px; }
}
@media(max-width:1000px) {
  .story-sticky { background:var(--bg); }
  .story-scene,.story-scene[aria-hidden=true] { grid-template-columns:1fr; gap:26px; padding:55px 5vw 70px; }
  .scene-copy h1,.scene-copy h2,.scene-two .scene-copy h2 { font-size:clamp(54px,8vw,83px); }
  .customer-art,.urgent-art,.hero-art { height:470px; width:100%; margin:15px 0 0; border:0; }
  .customer-art img,.urgent-art img,.hero-art img { height:460px; max-height:460px; width:100%; }
  .customer-art::before,.urgent-art::before,.hero-art::before { inset:2% 8% 0; }
  .scene-three .hero-art::before { inset:2% 8% 0; }
  .scene-two .stuck-visual { max-width:none; max-height:none; width:100%; }
  .scene-two .scan-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .scene-five .mission-map { max-width:none; }
  .cases-layout { grid-template-columns:1fr; gap:40px; }
  .case-selector { grid-template-columns:repeat(3,1fr); }
  .case-selector button { min-height:88px; }
  .case-console { max-width:none; }
  .document-grid,.vessel-layout,.invite-grid { grid-template-columns:1fr; }
  .document-grid { gap:50px; }
  .doc-chain { max-width:850px; }
  .vessel-visual { max-width:750px; margin-inline:auto; }
  .intake-layout { grid-template-columns:1fr; }
  .aside-sticky { position:static; }
  .intake-aside { max-width:850px; }
  .diagnostic-map { display:none; }
  .intake-workspace { max-width:none; }
}
@media(max-width:760px) {
  .shell,.intake-shell { width:calc(100% - 40px); }
  .section-heading { grid-template-columns:1fr; gap:25px; }
  .section-heading .eyebrow { grid-column:auto; }
  .section-heading p { max-width:760px; padding:18px 0 0; border-left:0; border-top:1px solid var(--glass-line); }
  .stage-tabs { display:flex; overflow-x:auto; scrollbar-width:thin; }
  .stage-tabs button { flex:0 0 150px; }
  .stage-top { grid-template-columns:1fr; gap:25px; }
  .stage-columns { grid-template-columns:1fr 1fr; gap:25px; }
  .vessel-layout { gap:20px; }
  .vessel-visual { margin-top:35px; }
  .intake-steps { overflow-x:auto; }
  .intake-steps button { flex:0 0 117px; }
}
@media(max-width:600px) {
  body { font-size:16px; }
  .shell,.intake-shell { width:calc(100% - 36px); }
  .header-row,.intake-head-row { height:70px; }
  .theme-toggle,.intake-header-actions button { min-height:40px; padding-inline:12px; }
  .header-link { display:none; }
  .story-sticky { padding-top:95px; }
  .story-status { top:82px; }
  .story-scene,.story-scene[aria-hidden=true] { padding:50px 18px 60px; gap:18px; }
  .scene-copy h1,.scene-copy h2,.scene-two .scene-copy h2 { font-size:clamp(44px,10.8vw,65px); line-height:1; margin-bottom:24px; }
  .scene-copy h1 em::after,.scene-copy h2 em::after { width:62px; height:3px; margin-top:18px; }
  .scene-copy p,.scene-two .scene-copy p { font-size:17px; }
  .scene-note.signal-card { padding:15px 17px; border-radius:15px; }
  .customer-art,.urgent-art,.hero-art { height:355px; width:100%; margin-top:12px; }
  .customer-art img,.urgent-art img,.hero-art img { height:355px; max-height:355px; }
  .customer-art::before,.urgent-art::before,.hero-art::before,.scene-three .hero-art::before { inset:0 1% 0; border-radius:24px; }
  .scene-two .stuck-visual { border-radius:21px; }
  .scene-two .scan-grid { grid-template-columns:1fr; padding:10px; }
  .scan-card,.scan-card.is-gap,.scan-card:nth-child(3n),.scan-card:nth-last-child(-n+3) { min-height:0; padding:14px; border:0; border-bottom:1px solid var(--glass-line); border-radius:0; }
  .scan-card.is-gap { border-radius:12px; }
  .scan-card-head strong { font-size:15px; }
  .scan-card p,.scan-card small { font-size:13px; }
  .scan-card>span { font-size:11px; }
  .mission-map { padding:22px; border-radius:22px; }
  .cases-section,.cycle-section,.document-flow,.vessel-section,.contribute-section { padding:100px 0; }
  .cases-intro h2,.section-heading h2,.document-flow h2,.vessel-copy h2,.contribute-invite h2 { font-size:clamp(46px,10.7vw,64px); }
  .case-selector { grid-template-columns:1fr; gap:7px; }
  .case-selector button { min-height:60px; }
  .case-console { border-radius:23px; }
  .case-console-body { padding:21px; }
  .case-mode { border-radius:17px; }
  .case-mode button { border-radius:13px; font-size:12px; }
  .manifest { padding:108px 0; }
  .manifest h2 { font-size:clamp(49px,10.7vw,67px); }
  .manifest p { font-size:17px; }
  .stage-tabs { padding:6px; border-radius:17px; }
  .stage-tabs button { flex-basis:137px; min-height:90px; border-radius:12px; }
  .stage-panel { padding:28px 20px; border-radius:23px; }
  .stage-top h3 { font-size:43px; }
  .stage-columns { grid-template-columns:1fr; }
  .stage-block.docs { padding:21px; border-radius:15px; }
  .doc-chain { padding:10px; border-radius:21px; }
  .doc-chain div { min-height:62px; padding:12px; font-size:18px; }
  .vessel-copy h2 { font-size:clamp(52px,11.6vw,72px); }
  .vessel-visual { height:545px; padding:0; }
  .vessel-object { height:min(100%,440px); }
  .vessel-side-note { display:none; }
  .vessel-meta { font-size:8px; }
  .vessel-caption { min-height:60px; }
  .vessel-caption span { font-size:9px; }
  .vessel-caption strong { font-size:35px; }
  .idea-list { grid-template-columns:1fr; }
  .invite-map { padding:22px; border-radius:21px; }
  .intake-layout { padding:45px 0 85px; gap:31px; }
  .intake-aside h1 { font-size:clamp(49px,11vw,68px); }
  .intake-private { font-size:13px; }
  .intake-steps { margin-inline:0; padding:5px; }
  .intake-steps button { flex-basis:110px; min-height:66px; }
  #initiative-form,.intake-success { padding:26px 19px; border-radius:22px; }
  .intake-step h2 { font-size:clamp(34px,8vw,46px); }
  .field-row,.review-card dl { grid-template-columns:1fr; }
  .branch-panel { padding:19px; }
  .intake-controls button { font-size:14px; padding-inline:16px; }
}
@media(prefers-reduced-motion:reduce) {
  .header-link,.scene-cta,.action-link,.theme-toggle,.case-selector button,.stage-tabs button,.vessel-object { transition:none; }
  .customer-art::after,.urgent-art::after,.hero-art::after { filter:none; }
}

/* Final component alignment: every selected state remains inside its own frame. */
.visually-hidden,#theme-label {
  position:absolute;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
button.theme-toggle,.intake-header-actions button.theme-toggle {
  position:relative;
  display:block;
  flex:none;
  width:78px;
  height:42px;
  min-height:42px;
  padding:3px;
  overflow:hidden;
  border:1px solid var(--glass-line);
  border-radius:999px;
  background:var(--glass);
  box-shadow:inset 0 1px var(--glass-highlight),0 5px 16px rgba(3,19,32,.08);
  color:var(--muted);
  transform:none;
  transition:border-color .24s,background .24s,box-shadow .24s;
}
button.theme-toggle::before {
  content:'';
  position:absolute;
  z-index:0;
  top:4px;left:4px;
  width:32px;height:32px;
  border-radius:50%;
  background:var(--glass-strong);
  box-shadow:inset 0 1px var(--glass-highlight),0 2px 9px rgba(3,19,32,.18);
  transform:translateX(36px);
  transition:transform .34s cubic-bezier(.2,.8,.2,1),background .34s;
}
html[data-theme=light] button.theme-toggle::before { transform:translateX(0); }
button.theme-toggle:hover,.intake-header-actions button.theme-toggle:hover {
  border-color:color-mix(in srgb,var(--cyan) 55%,var(--glass-line));
  background:var(--glass-strong);
  box-shadow:inset 0 1px var(--glass-highlight),0 7px 20px rgba(3,19,32,.11);
  transform:none;
}
.theme-toggle .theme-track,.intake-header-actions button .theme-track {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  place-items:center;
  width:100%;height:100%;
}
.theme-track svg {
  width:18px;height:18px;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:color .3s;
}
html[data-theme=dark] .theme-moon { color:var(--cyan); }
html[data-theme=light] .theme-sun { color:var(--orange); }
.menu-toggle {
  border:1px solid var(--glass-line);
  border-radius:13px;
  background:var(--glass);
  box-shadow:inset 0 1px var(--glass-highlight);
}
.main-nav.is-open { background:var(--glass-strong); backdrop-filter:blur(24px); }
.case-selector button:hover,.stage-tabs button:hover { transform:none; }
.case-mode {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:stretch;
  width:min(100%,480px);
  gap:4px;
  padding:4px;
  overflow:hidden;
  border-radius:999px;
  background:var(--case-mode-track);
  box-shadow:inset 0 1px var(--glass-highlight);
}
.case-mode button,.case-mode button[aria-pressed=true],.case-mode button#case-after[aria-pressed=true] {
  min-width:0;
  min-height:48px;
  padding:10px 15px;
  border-radius:999px;
  border-bottom:0!important;
  line-height:1.25;
  transition:background .22s,color .22s,box-shadow .22s;
}
.case-mode button[aria-pressed=true],.case-mode button#case-after[aria-pressed=true] {
  background:var(--case-mode-active);
  color:var(--text);
  box-shadow:inset 0 1px var(--glass-highlight),0 2px 7px rgba(3,19,32,.08);
}
.stage-tabs { overflow:hidden; }
.stage-tabs button[aria-selected=true] { border-radius:15px; }
.intake-steps { overflow-x:auto; overflow-y:hidden; scrollbar-width:none; }
.intake-steps::-webkit-scrollbar,.stage-tabs::-webkit-scrollbar { display:none; }
.intake-steps button[aria-current=step] {
  border-radius:13px;
  box-shadow:inset 0 1px var(--glass-highlight),0 3px 12px rgba(3,19,32,.1);
}
.vessel-visual { border:0; border-radius:28px; background:transparent; }
.vessel-side-note { right:0; }
.idea-card { border-radius:19px; background:var(--glass-soft); box-shadow:inset 0 1px var(--glass-highlight); }
.empty-ideas { border-radius:18px; }
.intake-private { border-radius:14px; }
.field input,.field select,.field textarea { border-radius:13px; }
@media(max-width:760px) {
  .stage-tabs { overflow-x:auto; overflow-y:hidden; scrollbar-width:none; }
}
@media(max-width:600px) {
  button.theme-toggle,.intake-header-actions button.theme-toggle { width:74px;height:40px;min-height:40px;padding:3px; }
  button.theme-toggle::before { width:30px;height:30px; transform:translateX(34px); }
  html[data-theme=light] button.theme-toggle::before { transform:translateX(0); }
  .intake-header-actions button .theme-track { display:grid; }
  .scene-note.signal-card { grid-template-columns:1fr; }
  .scene-note.signal-card i { grid-column:1;grid-row:auto;text-align:left; }
  .case-mode { border-radius:999px; }
  .case-mode button,.case-mode button[aria-pressed=true],.case-mode button#case-after[aria-pressed=true] { border-radius:999px; min-height:54px; font-size:12px; }
  .stage-tabs button[aria-selected=true] { border-radius:12px; }
}
@media(prefers-reduced-motion:reduce) {
  button.theme-toggle::before,.theme-track svg { transition:none; }
}

/* One continuous story: the speaker and their thought occupy the same stage. */
.character-stage { isolation:isolate; }
.character-stage img { justify-self:end; width:82%; height:min(67vh,670px); max-height:calc(100svh - 215px); object-position:right bottom; }
.scene-three .hero-art img { width:100%; max-width:100%; height:min(65vh,630px); max-height:calc(100svh - 220px); margin-left:0; align-self:end; }
.character-thought {
  position:absolute; z-index:5;
  top:6%; left:3%;
  width:min(265px,52%);
  padding:18px 20px 19px;
  border:1px solid color-mix(in srgb,var(--cyan) 29%,var(--glass-line));
  border-radius:22px 22px 22px 6px;
  background:var(--glass-strong);
  box-shadow:inset 0 1px var(--glass-highlight),0 16px 45px rgba(3,19,32,.16);
  backdrop-filter:blur(24px);
  transform-origin:85% 100%;
}
.character-thought::after {
  content:''; position:absolute; right:29px; bottom:-21px;
  width:29px; height:21px;
  border-right:1px solid color-mix(in srgb,var(--cyan) 29%,var(--glass-line));
  transform:skewX(30deg);
}
.decision-note span {
  display:block; margin-bottom:9px;
  color:var(--orange); font:700 10px/1.35 var(--mono); letter-spacing:.12em;
}
.character-thought strong { display:block; color:var(--text); font:600 clamp(18px,1.55vw,23px)/1.22 var(--body); letter-spacing:-.045em; }
.urgent-art .character-thought { left:2%; top:7%; width:min(300px,59%); }
.hero-art .character-thought { left:2%; top:4%; width:min(290px,54%); }
.scene-one .character-thought { left:0; width:min(245px,48%); }
.hero-art .character-thought { top:18%; width:min(270px,52%); }
.story-cue { display:flex; align-items:center; gap:15px; width:fit-content; padding-top:15px; border-top:1px solid var(--glass-line); color:var(--text); font:600 14px/1.35 var(--body); }
.story-cue span { display:grid; place-items:center; width:30px; height:30px; flex:none; border:1px solid var(--glass-line); border-radius:50%; color:var(--orange); font-size:19px; animation:cueDown 1.8s ease-in-out infinite; }
@keyframes cueDown { 50% { transform:translateY(5px); } }
.scene-one .scene-copy h1,.scene-pressure .scene-copy h2,.scene-three .scene-copy h2,.scene-five .scene-copy h2 { font-size:clamp(56px,5.65vw,88px); }
.scene-two .scene-copy h2 { font-size:clamp(52px,5.05vw,78px); }
.scene-copy .decision-note {
  width:min(100%,490px); margin-top:20px; padding:17px 19px;
  border:1px solid var(--glass-line); border-radius:16px;
  background:var(--glass-soft); box-shadow:inset 0 1px var(--glass-highlight);
}
.decision-note strong { color:var(--text); font:600 16px/1.35 var(--body); letter-spacing:-.02em; }
.scene-pressure .pressure-list { margin-top:28px; }
.scene-pressure .pressure-list span:last-child { color:var(--orange); }
.scene-pressure .urgency-meter { font-size:10px; }
.scene-pressure .urgency-meter strong { white-space:nowrap; }
.scene-two .scan-card.is-gap { animation:gapBreathe 2.8s ease-in-out infinite alternate; }
@keyframes gapBreathe { to { box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--orange) 70%,transparent),0 0 32px color-mix(in srgb,var(--orange) 15%,transparent); } }
.scene-five .mission-map { max-width:600px; }
.scene-five .map-node.final { border-color:color-mix(in srgb,var(--orange) 65%,var(--glass-line)); }
.scene-one.is-active .customer-art img { animation:storyStride 3.6s ease-in-out infinite alternate; }
.scene-pressure.is-active .urgent-art img { animation:storyImpatient 1.6s ease-in-out infinite alternate; }
.scene-three.is-active .hero-art img { animation:storyFlight 3s ease-in-out infinite alternate; }
@keyframes storyStride { to { translate:0 -9px; } }
@keyframes storyImpatient { to { translate:0 -7px; } }
@keyframes storyFlight { to { translate:13px -14px; } }

@media(max-width:1200px) {
  .scene-one .scene-copy h1,.scene-pressure .scene-copy h2,.scene-three .scene-copy h2,.scene-five .scene-copy h2 { font-size:clamp(52px,5.7vw,76px); }
  .scene-two .scene-copy h2 { font-size:clamp(46px,5vw,66px); }
  .character-thought { width:min(245px,55%); padding:15px 16px; }
  .character-thought strong { font-size:18px; }
}
@media(max-width:1000px) {
  .character-stage { display:flex; flex-direction:column; align-items:flex-start; min-height:0; height:auto; padding:30px 6% 0; }
  .character-stage::before,.scene-three .hero-art::before { inset:0 3%; }
  .character-thought,.urgent-art .character-thought,.hero-art .character-thought {
    position:relative; top:auto; left:auto; width:min(100%,470px); margin:0 0 -10px 4%;
  }
  .scene-one .character-thought { left:auto; width:min(100%,470px); }
  .character-stage img,.scene-three .hero-art img { align-self:flex-end; width:min(78%,540px); height:440px; max-height:440px; margin:0; }
  .scene-three .hero-art img { width:min(100%,600px); }
  .scene-five .mission-map { max-width:none; }
}
@media(max-width:600px) {
  .scene-one .scene-copy h1,.scene-pressure .scene-copy h2,.scene-three .scene-copy h2,.scene-five .scene-copy h2 { font-size:clamp(42px,10.5vw,60px); }
  .scene-two .scene-copy h2 { font-size:clamp(42px,9.8vw,58px); }
  .scene-pressure .pressure-list span { grid-template-columns:26px 1fr auto; gap:8px; }
  .scene-pressure .pressure-list i { font-size:11px; text-align:right; }
  .scene-pressure .urgency-meter { gap:8px; }
  .scene-pressure .urgency-meter strong { font-size:9px; }
  .character-stage { height:auto; min-height:0; padding:18px 5% 0; margin-top:6px; }
  .character-thought,.urgent-art .character-thought,.hero-art .character-thought { width:min(100%,310px); max-width:85%; margin:0 0 -4px 0; padding:14px 16px; border-radius:17px 17px 17px 5px; }
  .scene-one .character-thought { width:min(100%,310px); max-width:85%; }
  .character-thought strong { font-size:18px; }
  .character-stage img,.scene-three .hero-art img { width:88%; height:320px; max-height:320px; align-self:flex-end; }
  .scene-three .hero-art img { width:100%; height:265px; max-height:265px; }
  .scene-copy .decision-note { margin-top:15px; }
}
@media(prefers-reduced-motion:reduce) { .scene-two .scan-card.is-gap,.story-cue span,.scene-one.is-active .customer-art img,.scene-pressure.is-active .urgent-art img,.scene-three.is-active .hero-art img { animation:none; } }
