/* ГНИВЦ 3.0 — editorial relaunch, September 2026.
   One restrained material, a clear reading hierarchy, and a complete production story. */

html[data-theme=dark] {
  --bg:#101821; --bg2:#15202b; --surface:#1c2a37; --surface2:#243443;
  --text:#f4f7f8; --muted:#b6c4ce; --orange:#f18b71; --cyan:#9ac5d3;
  --glass:rgba(31,46,59,.66); --glass-soft:rgba(218,238,255,.045);
  --glass-strong:rgba(34,50,63,.86); --glass-line:rgba(218,234,245,.18);
  --glass-highlight:rgba(255,255,255,.13); --glass-shadow:0 24px 66px rgba(3,11,18,.25);
  --case-bg:#15202b; --case-muted:#b6c4ce; --vessel-bg:#121d27;
}
html[data-theme=light] {
  --bg:#f5f7f8; --bg2:#ebf0f2; --surface:#fff; --surface2:#e5ecef;
  --text:#172632; --muted:#536775; --orange:#c95a44; --cyan:#36758c;
  --glass:rgba(255,255,255,.56); --glass-soft:rgba(255,255,255,.4);
  --glass-strong:rgba(255,255,255,.86); --glass-line:rgba(51,89,109,.17);
  --glass-highlight:rgba(255,255,255,.94); --glass-shadow:0 23px 66px rgba(27,58,75,.09);
  --case-bg:#eaf0f2; --case-muted:#536775; --vessel-bg:#edf2f4;
}
body { letter-spacing:-.016em; }
.shell { width:min(100% - 8vw,1440px); }
.site-header { background:color-mix(in srgb,var(--bg) 88%,transparent); box-shadow:none; }
.header-row { height:76px; }
.wordmark small { font-size:10px; }
.main-nav a { font-size:14px; font-weight:600; }
.header-link { padding-inline:20px; font-size:13px; }
.story-sticky { background:var(--bg); }
.story-grid { background-image:linear-gradient(90deg,transparent calc(51% - .5px),var(--grid) 51%,transparent calc(51% + .5px)); }
.story-status,.story-bottom { left:4vw; right:4vw; }
.story-status { top:108px; }
.story-status::before { background:var(--orange); }
.story-status span:last-child,.story-bottom span:last-child { color:var(--muted); }
.story-dots i { height:2px; }
.story-dots i.is-active { background:var(--orange); }
.story-scene,.scene-three { gap:4vw; padding:148px 4vw 78px; background:transparent; }
.scene-one { grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); }
.scene-pressure { grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr); }
.scene-two { grid-template-columns:minmax(0,.76fr) minmax(0,1.24fr); padding-top:145px; }
.scene-three { grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); }
.scene-five { grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr); }
.scene-copy { max-width:750px; }
.scene-index { margin-bottom:29px; }
.scene-index::after { width:30px; background:var(--glass-line); }
.scene-copy h1,.scene-copy h2,.scene-two .scene-copy h2 {
  max-width:780px; margin-bottom:30px;
  font:620 clamp(58px,6vw,94px)/.99 var(--body);
  letter-spacing:-.072em;
}
.scene-two .scene-copy h2 { font-size:clamp(52px,5.15vw,81px); }
.scene-copy h1 em,.scene-copy h2 em { color:var(--text); }
.scene-copy h1 em::after,.scene-copy h2 em::after { width:62px; height:2px; margin-top:27px; background:var(--orange); }
.scene-copy p,.scene-two .scene-copy p { max-width:585px; margin-bottom:28px; color:var(--muted); font-size:clamp(19px,1.5vw,22px); line-height:1.49; }
.scene-micro { display:block; max-width:520px; margin:0 0 24px; color:var(--orange); font:700 11px/1.6 var(--mono); letter-spacing:.085em; }
.story-cue { margin-top:28px; padding-top:20px; border-color:var(--glass-line); color:var(--muted); font-weight:500; }
.story-cue span { border-color:var(--glass-line); }
.scene-cta { min-height:56px; padding-inline:22px; font-size:14px; }
.story-assurance { display:block; margin-top:17px; color:var(--muted); font-size:14px; }
.customer-art,.urgent-art,.hero-art { border:0; }
.customer-art::before,.urgent-art::before,.hero-art::before,.scene-three .hero-art::before {
  inset:4% 2% 2%; border:1px solid var(--glass-line); border-radius:31px;
  background:linear-gradient(160deg,var(--glass-highlight),transparent 28%),var(--glass);
  box-shadow:inset 0 1px var(--glass-highlight),var(--glass-shadow);
}
.customer-art::after,.urgent-art::after,.hero-art::after { display:none; }
.character-stage img { width:84%; height:min(69vh,700px); max-height:calc(100svh - 205px); }
.scene-three .hero-art img { height:min(68vh,660px); max-height:calc(100svh - 210px); width:100%; }
.character-thought,.scene-one .character-thought,.urgent-art .character-thought,.hero-art .character-thought {
  left:0; top:8%; width:min(265px,52%); padding:19px 21px;
  border-radius:20px 20px 20px 5px; background:var(--glass-strong);
  border-color:var(--glass-line); box-shadow:inset 0 1px var(--glass-highlight),0 14px 38px rgba(2,14,23,.13);
}
.character-thought strong { font:600 clamp(19px,1.58vw,23px)/1.22 var(--body); letter-spacing:-.04em; }
.urgent-art .character-thought { width:min(260px,52%); top:10%; }
.hero-art .character-thought { top:17%; width:min(265px,51%); }
.pressure-list { max-width:540px; margin-top:28px; border-color:var(--glass-line); }
.pressure-list span { padding:12px 0; border-color:var(--glass-line); }
.pressure-list b { font-weight:600; font-size:16px; }
.pressure-list i { font-size:14px; }
.urgency-meter { max-width:540px; margin-top:22px; grid-template-columns:1fr auto; gap:12px; color:var(--muted); }
.urgency-meter i { display:none; }
.urgency-meter strong { font-size:10px; color:var(--orange); }
.scene-two .stuck-visual {
  width:100%; min-height:0; max-height:none; margin:0;
  border:1px solid var(--glass-line); border-radius:26px;
  background:var(--glass-strong); box-shadow:var(--glass-shadow);
}
.scene-two .console-top { height:52px; padding:0 20px; background:var(--glass-soft); color:var(--muted); }
.scene-two .console-top span:last-child { color:var(--orange); animation:none; }
.scene-two .scan-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; padding:10px; }
.scan-card,.scan-card.is-gap {
  min-height:142px; padding:14px 17px; gap:5px;
  border:0; border-right:1px solid var(--glass-line); border-bottom:1px solid var(--glass-line);
  border-radius:0; background:transparent; box-shadow:none;
}
.scan-card:nth-child(3n) { border-right:1px solid var(--glass-line); }
.scan-card:nth-child(2n) { border-right:0; }
.scan-card:nth-last-child(-n+3) { border-bottom:1px solid var(--glass-line); }
.scan-card:nth-last-child(-n+2) { border-bottom:0; }
.scan-card::before { display:none; }
.scan-card-head strong { font-size:15px; }
.scan-card p { margin:0; color:var(--muted); font-size:13px; line-height:1.33; }
.scan-card small { color:var(--muted); font-size:12px; line-height:1.3; }
.scan-card>span { margin-top:auto; color:var(--text); font-size:12px; line-height:1.3; }
.scene-two .console-error { padding:15px 21px; background:var(--glass-soft); border-color:var(--glass-line); color:var(--muted); font-size:13px; letter-spacing:0; }
.scene-two .console-error b { color:var(--orange); }
.scene-two .scan-beam { opacity:.3; }
.scan-detail-link { color:var(--orange); font-weight:600; }
.ai-capabilities { max-width:560px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; margin-top:26px; }
.ai-capabilities span {
  padding:14px 14px 14px 0; border:0; border-top:1px solid var(--glass-line);
  border-radius:0; background:transparent; color:var(--text); font:600 13px/1.3 var(--body); letter-spacing:0;
}
.ai-capabilities span+span { padding-left:13px; border-left:1px solid var(--glass-line); }
.scene-copy .decision-note { max-width:560px; margin-top:23px; padding:18px 20px; border-radius:16px; }
.decision-note strong { font-size:16px; line-height:1.4; }
.mission-map {
  max-width:570px; padding:33px 34px; border-radius:27px;
  border:1px solid var(--glass-line); background:var(--glass-strong);
  box-shadow:var(--glass-shadow);
}
.map-caption { margin-bottom:18px; color:var(--orange); font-size:11px; }
.map-link,.mission-pulse { display:none!important; }
.map-node,.map-node.final {
  display:grid; grid-template-columns:45px minmax(0,1fr); gap:2px 15px;
  padding:20px 0; border:0; border-bottom:1px solid var(--glass-line);
  border-radius:0; background:transparent; box-shadow:none;
}
.map-node:last-of-type { border-bottom:0; }
.map-node b { grid-row:span 2; font-size:18px; color:var(--orange); }
.map-node strong { font-size:22px; font-weight:600; }
.map-node span { font-size:14px; color:var(--muted); }

/* The same quiet editorial system continues after the opening. */
.cases-section,.cycle-section,.document-flow,.vessel-section,.contribute-section { padding:clamp(95px,9vw,150px) 0; }
.cases-section { background:var(--case-bg); }
.cases-intro h2,.section-heading h2,.document-flow h2,.vessel-copy h2,.contribute-invite h2 {
  font-weight:620; letter-spacing:-.065em; line-height:1.04;
}
.cases-intro h2 em,.document-flow h2 span,.vessel-copy h2 em,.contribute-invite h2 span { color:var(--text); }
.cases-intro p,.section-heading p,.document-flow p,.vessel-copy p,.contribute-invite p { color:var(--muted); }
.case-selector button,.case-selector button[aria-selected=true] {
  border-radius:15px; background:var(--glass-soft); box-shadow:none;
}
.case-selector button[aria-selected=true] { background:var(--glass-strong); border-color:var(--orange); box-shadow:inset 3px 0 var(--orange); }
.case-selector button:hover { transform:none; }
.case-console,.case-console.is-assisted { background:var(--glass-strong); box-shadow:var(--glass-shadow); }
.case-head h3 { letter-spacing:-.045em; }
.case-mode { border-radius:999px; }
.case-outcome,.is-assisted .case-outcome { background:var(--glass-soft); border-color:var(--glass-line); }
.manifest {
  padding:clamp(95px,9vw,150px) 0; background:var(--bg);
  color:var(--text); border-top:1px solid var(--glass-line); border-bottom:1px solid var(--glass-line);
}
.manifest::before { display:none; }
.manifest .eyebrow { color:var(--orange); }
.manifest h2 { font:620 clamp(51px,5.5vw,86px)/1.03 var(--body); letter-spacing:-.068em; }
.manifest h2 span { color:var(--text); }
.manifest p { border-color:var(--glass-line); color:var(--muted); font-size:20px; font-weight:400; }
.manifest-reasons { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; margin-top:65px; border-top:1px solid var(--glass-line); }
.manifest-reasons article { display:flex; flex-direction:column; gap:11px; min-width:0; padding:27px 28px 4px 0; }
.manifest-reasons article+article { padding-left:28px; border-left:1px solid var(--glass-line); }
.manifest-reasons b { color:var(--orange); font:700 10px/1.4 var(--mono); letter-spacing:.11em; }
.manifest-reasons strong { color:var(--text); font:620 clamp(23px,2vw,31px)/1.12 var(--body); letter-spacing:-.045em; }
.manifest-reasons span { max-width:360px; color:var(--muted); font-size:16px; line-height:1.5; }
.cycle-section { background:var(--bg2); }
.section-heading h2 span { color:var(--text); }
.section-heading h2 span::after { width:56px; height:2px; background:var(--orange); }
.stage-tabs { border-radius:20px; box-shadow:none; }
.stage-tabs button[aria-selected=true] { box-shadow:inset 0 1px var(--glass-highlight),0 7px 19px rgba(2,13,21,.09); }
.stage-panel { background:var(--glass-strong); box-shadow:var(--glass-shadow); }
.stage-block.docs { background:var(--glass-soft); }
.document-flow { background:var(--bg); }
.doc-chain { background:var(--glass-strong); box-shadow:var(--glass-shadow); }
.doc-chain div:hover { transform:translateX(3px); }
.vessel-section { background:var(--vessel-bg); }
.vessel-copy h2 em { color:var(--text); }
.vessel-visual { background:transparent; border:0; box-shadow:none; }
.contribute-section { background:var(--bg2); }
.contribute-invite h2 span { color:var(--text); }
.invite-map { background:var(--glass-strong); box-shadow:var(--glass-shadow); }
.footer { background:var(--bg); }
@media(max-width:1200px) {
  .scene-copy h1,.scene-copy h2,.scene-two .scene-copy h2 { font-size:clamp(50px,5.5vw,76px); }
  .scene-two .scan-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:1000px) {
  .story-scene,.story-scene[aria-hidden=true] { padding:55px 5vw 65px; gap:28px; }
  .scene-copy h1,.scene-copy h2,.scene-two .scene-copy h2 { font-size:clamp(52px,7.8vw,78px); }
  .character-stage { height:auto; padding-top:25px; }
  .character-thought,.scene-one .character-thought,.urgent-art .character-thought,.hero-art .character-thought { position:relative; top:auto; left:auto; width:min(100%,440px); margin:0 0 -8px 3%; }
  .character-stage img,.scene-three .hero-art img { width:min(80%,540px); height:440px; max-height:440px; }
  .scene-three .hero-art img { width:min(100%,600px); }
  .scene-two .stuck-visual { max-height:none; overflow:hidden; }
  .scene-five .mission-map { max-width:none; }
}
@media(max-width:600px) {
  .shell { width:calc(100% - 36px); }
  .story-scene,.story-scene[aria-hidden=true] { padding:48px 18px 58px; gap:18px; }
  .scene-copy h1,.scene-copy h2,.scene-two .scene-copy h2 { font-size:clamp(42px,10.4vw,61px); line-height:1; }
  .scene-copy p,.scene-two .scene-copy p { font-size:17px; line-height:1.5; }
  .story-cue { font-size:13px; }
  .character-stage { padding:15px 5% 0; }
  .character-thought,.scene-one .character-thought,.urgent-art .character-thought,.hero-art .character-thought { max-width:83%; width:min(100%,300px); padding:15px 17px; margin:0 0 -4px 0; }
  .character-thought strong { font-size:18px; }
  .character-stage img { width:88%; height:315px; max-height:315px; }
  .scene-three .hero-art img { width:100%; height:265px; max-height:265px; }
  .pressure-list span { grid-template-columns:27px 1fr auto; gap:8px; }
  .pressure-list i { font-size:11px; }
  .scene-two .scan-grid { grid-template-columns:1fr; padding:9px; }
  .scan-card,.scan-card:nth-child(3n),.scan-card:nth-child(2n),.scan-card:nth-last-child(-n+2) { min-height:0; padding:15px 14px; border-right:0; border-bottom:1px solid var(--glass-line); }
  .scan-card:last-child { border-bottom:0; }
  .scan-card-head strong { font-size:15px; }
  .scan-card p { font-size:13px; }
  .scan-card small { font-size:12px; }
  .scan-card>span { font-size:12px; }
  .scene-two .console-top { font-size:9px; gap:12px; }
  .scene-two .console-error { font-size:12px; }
  .ai-capabilities { grid-template-columns:1fr; }
  .ai-capabilities span,.ai-capabilities span+span { padding:11px 0; border-left:0; }
  .mission-map { padding:23px; }
  .map-node strong { font-size:18px; }
  .map-node span { font-size:13px; }
  .manifest h2 { font-size:clamp(46px,10vw,62px); }
}
@media(prefers-reduced-motion:reduce) {
  .scene-one.is-active .customer-art img,.scene-pressure.is-active .urgent-art img,.scene-three.is-active .hero-art img { animation:none; }
}

/* Chapters follow the document height, so content is never masked by a viewport-sized stage. */
.story { height:auto; min-height:0; }
.story-sticky { position:relative; height:auto; min-height:0; overflow:visible; padding-top:76px; }
.story-grid { pointer-events:none; }
.story-status { top:105px; }
.story-bottom { display:none; }
.story-scene,.story-scene[aria-hidden=true] {
  position:relative; inset:auto; display:grid; min-height:clamp(760px,100svh,1060px); height:auto;
  padding:clamp(100px,8vw,145px) 4vw clamp(92px,8vw,130px);
  opacity:1; visibility:visible; pointer-events:auto; transform:none;
  border-bottom:1px solid var(--glass-line); transition:background .4s ease;
}
.scene-one { padding-top:90px; }
.story-scene .scene-copy { align-self:center; }
.character-stage { height:clamp(440px,66svh,680px); min-height:0; }
.character-stage img,.scene-three .hero-art img { height:100%; max-height:100%; object-fit:contain; }
.scene-two .stuck-visual { align-self:center; }
.scene-five .mission-map { align-self:center; }
.story-cue { margin-top:18px; }
html[data-theme=light] .character-thought { background:rgba(255,255,255,.93); }
.scene-one .character-thought { left:-4%; width:min(240px,46%); }
.stage-pace {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0;
  margin-top:30px; border:1px solid var(--glass-line); border-radius:18px;
  background:var(--glass-soft); overflow:hidden;
}
.stage-pace>div { padding:22px 25px 24px; }
.stage-pace>div+div { border-left:1px solid var(--glass-line); }
.stage-pace b { display:block; margin-bottom:10px; color:var(--orange); font:700 12px/1.4 var(--mono); letter-spacing:.055em; }
.stage-pace p { margin:0; color:var(--text); font-size:16px; line-height:1.5; }
.stage-columns { padding-top:34px; }

/* The opening's motion follows the request, the delay, the scan, and the response. */
.character-stage .figure-motion {
  position:relative; z-index:2; display:grid; place-items:end center;
  width:100%; height:100%; min-width:0; transform-origin:60% 90%;
}
.character-stage .motion-trace {
  position:absolute; z-index:1; inset:4% 2% 2%; overflow:hidden;
  border-radius:31px; pointer-events:none;
}
.character-stage .motion-trace::before {
  content:""; position:absolute; left:0; right:0; top:-58%; height:58%;
  background:linear-gradient(180deg,transparent 0%,color-mix(in srgb,var(--cyan) 12%,transparent) 67%,color-mix(in srgb,var(--orange) 32%,transparent) 100%);
  opacity:.8;
}
.character-stage .motion-trace::after {
  content:""; position:absolute; left:9%; right:9%; top:48%; height:1px;
  background:linear-gradient(90deg,transparent,var(--orange),transparent);
  opacity:0; transform:scaleX(.12);
}
.story-scene.is-active .motion-trace::before { animation:surfaceScan 6.4s cubic-bezier(.42,0,.58,1) infinite; }
.story-scene.is-active .motion-trace::after { animation:traceFlash 6.4s ease-in-out infinite; }
.scene-pressure.is-active .motion-trace::before,
.scene-pressure.is-active .motion-trace::after { animation-duration:4.5s; }
.scene-one.is-active .figure-motion { animation:figureAwait 5.2s ease-in-out infinite; }
.scene-pressure.is-active .figure-motion { animation:figureUrgency 3.8s ease-in-out infinite; }
.scene-three.is-active .figure-motion { animation:figureAssist 4.4s ease-in-out infinite; }
.scene-one.is-active .scene-copy h1 em::after,
.scene-pressure.is-active .scene-copy h2 em::after { animation:lineDraw 1s .65s both; transform-origin:left; }
@keyframes surfaceScan { 0%,12% { transform:translateY(0); opacity:0; } 28% { opacity:.9; } 72% { transform:translateY(280%); opacity:.8; } 90%,100% { transform:translateY(280%); opacity:0; } }
@keyframes traceFlash { 0%,43%,53%,100% { opacity:0; transform:scaleX(.12); } 48% { opacity:.75; transform:scaleX(1); } }
@keyframes figureAwait { 0%,100% { transform:translate3d(0,0,0) rotate(0); } 50% { transform:translate3d(7px,-13px,0) rotate(.6deg); } }
@keyframes figureUrgency { 0%,100% { transform:translate3d(0,0,0) rotate(0); } 42% { transform:translate3d(10px,-8px,0) rotate(1deg); } 72% { transform:translate3d(4px,-3px,0) rotate(-.4deg); } }
@keyframes figureAssist { 0%,100% { transform:translate3d(0,0,0); } 50% { transform:translate3d(10px,-17px,0); } }
@keyframes lineDraw { from { transform:scaleX(0); opacity:0; } to { transform:scaleX(1); opacity:1; } }
.scene-pressure .pressure-list span { position:relative; }
.scene-pressure .pressure-list span::after {
  content:""; position:absolute; left:0; bottom:-1px; height:1px; width:100%;
  background:linear-gradient(90deg,var(--orange),transparent);
  transform:scaleX(0); transform-origin:left;
}
.scene-pressure.is-active .pressure-list span::after { animation:rowInvestigate 5.4s ease-in-out infinite; }
.scene-pressure.is-active .pressure-list span:nth-child(2)::after { animation-delay:1.35s; }
.scene-pressure.is-active .pressure-list span:nth-child(3)::after { animation-delay:2.7s; }
@keyframes rowInvestigate { 0%,8%,100% { transform:scaleX(0); opacity:0; } 20%,42% { transform:scaleX(1); opacity:1; } 65% { transform:scaleX(1); opacity:0; } }
.scene-two .scan-beam {
  z-index:3; height:2px; background:var(--orange); opacity:0;
  box-shadow:0 0 18px 2px color-mix(in srgb,var(--orange) 48%,transparent),0 10px 55px 13px color-mix(in srgb,var(--orange) 8%,transparent);
  pointer-events:none; animation:none;
}
.scene-two .scan-card { transition:background .32s ease,box-shadow .32s ease; }
.scene-two .scan-card.is-reading {
  background:color-mix(in srgb,var(--orange) 9%,var(--glass-strong));
  box-shadow:inset 3px 0 color-mix(in srgb,var(--orange) 75%,transparent);
}
.scene-two .scan-card.is-reading .scan-card-head b { color:var(--text); }
.scene-two .scan-readout { min-width:180px; text-align:right; font:700 11px/1.3 var(--mono); letter-spacing:.06em; }
.scene-three .ai-capabilities span { transition:color .35s ease,background .35s ease; }
.scene-three.is-active .ai-capabilities span { animation:capabilityRead 5.4s ease-in-out infinite; }
.scene-three.is-active .ai-capabilities span:nth-child(2) { animation-delay:1.35s; }
.scene-three.is-active .ai-capabilities span:nth-child(3) { animation-delay:2.7s; }
@keyframes capabilityRead { 0%,8%,100% { color:var(--text); background:transparent; } 20%,45% { color:var(--orange); background:var(--glass-soft); } 65% { color:var(--text); background:transparent; } }

@media(max-width:1100px) {
  .story-scene,.story-scene[aria-hidden=true] {
    grid-template-columns:minmax(0,1fr); gap:28px; min-height:0;
    padding:115px 5vw 80px;
  }
  .scene-one { padding-top:105px; }
  .story-scene .scene-copy { max-width:790px; }
  .scene-copy h1,.scene-copy h2,.scene-two .scene-copy h2 { font-size:clamp(48px,6.6vw,76px); }
  .scene-three .hero-art,.scene-three .scene-copy { grid-column:auto; grid-row:auto; padding-left:0; }
  .character-stage { width:100%; height:auto; min-height:0; max-width:760px; }
  .character-stage img,.scene-three .hero-art img { height:clamp(350px,55vw,550px); max-height:none; width:min(78%,540px); }
  .scene-two .stuck-visual { max-width:900px; }
  .mission-map { max-width:760px; }
  .manifest-reasons { margin-top:35px; }
}
@media(max-width:600px) {
  .story-sticky { padding-top:78px; }
  .story-status { top:91px; }
  .story-scene,.story-scene[aria-hidden=true] { display:flex; flex-direction:column; gap:20px; padding:55px 18px 70px; min-height:0; }
  .scene-one { padding-top:75px; }
  .scene-one .character-thought { left:auto; width:min(100%,300px); }
  .scene-copy h1,.scene-copy h2,.scene-two .scene-copy h2 { font-size:clamp(40px,10vw,55px); overflow-wrap:anywhere; }
  .scene-copy p,.scene-two .scene-copy p { font-size:16px; line-height:1.5; }
  .character-stage { padding:12px 4% 0; }
  .character-stage img,.scene-three .hero-art img { height:290px; width:90%; }
  .scene-two .stuck-visual { overflow:visible; }
  .character-stage .motion-trace { inset:12px 4% 0; border-radius:24px; }
  .scene-two .scan-readout { min-width:0; font-size:9px; }
  .scene-pressure .pressure-list span { grid-template-columns:24px minmax(0,1fr); align-items:start; }
  .scene-pressure .pressure-list i { grid-column:2; text-align:left; font-size:13px; }
  .stage-pace { grid-template-columns:1fr; }
  .stage-pace>div { padding:19px 20px; }
  .stage-pace>div+div { border-left:0; border-top:1px solid var(--glass-line); }
  .manifest-reasons { grid-template-columns:1fr; margin-top:20px; }
  .manifest-reasons article,.manifest-reasons article+article { padding:20px 0; border-left:0; border-bottom:1px solid var(--glass-line); }
}
@media(prefers-reduced-motion:reduce) {
  .story-scene,.story-scene[aria-hidden=true] { opacity:1; visibility:visible; transform:none; }
  .story-scene.is-active .figure-motion,
  .story-scene.is-active .motion-trace::before,
  .story-scene.is-active .motion-trace::after,
  .scene-pressure.is-active .pressure-list span::after,
  .scene-three.is-active .ai-capabilities span { animation:none; }
  .scene-two .scan-beam { display:none; }
}

/* Shared charge: each submitted idea lights one cell in a glass battery. */
.vessel-section {
  background:var(--bg); color:var(--text);
  border-block:1px solid var(--glass-line);
}
.vessel-layout { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(36px,5vw,88px); }
.vessel-copy { padding:15px 0; }
.vessel-copy h2 { font-size:clamp(60px,6vw,92px); font-weight:620; line-height:1.02; }
.vessel-copy h2 em { color:var(--text); }
.vessel-copy p { max-width:560px; color:var(--muted); font-size:19px; }
.energy-stat { border-color:var(--glass-line); }
.energy-stat strong { font-size:clamp(72px,7vw,110px); }
.energy-stat span,.vessel-copy-note { color:var(--muted); }
.vessel-visual {
  display:flex; flex-direction:column; height:650px; padding:24px; overflow:hidden;
  border:1px solid var(--glass-line); border-radius:29px;
  background:linear-gradient(145deg,var(--glass-highlight),transparent 27%),var(--glass-strong);
  box-shadow:inset 0 1px var(--glass-highlight),var(--glass-shadow);
  --charge-height:0%;
}
.vessel-meta {
  display:flex; justify-content:space-between; align-items:center; gap:16px;
  padding:0 2px 18px; border:0; color:var(--muted);
  font:700 11px/1.4 var(--mono); letter-spacing:.065em;
}
.vessel-meta span:last-child { color:var(--orange); text-align:right; }
.battery-stage {
  position:relative; display:flex; flex:1; flex-direction:column; min-height:0;
  overflow:hidden; isolation:isolate; padding:20px 23px 17px;
  border:1px solid var(--glass-line); border-radius:21px;
  background:linear-gradient(160deg,var(--glass-highlight),transparent 34%),var(--glass-soft);
  box-shadow:inset 0 1px var(--glass-highlight);
}
.battery-stage::before {
  content:''; position:absolute; inset:15% 9%; z-index:-1;
  border-inline:1px solid var(--glass-line); opacity:.48;
  pointer-events:none;
}
.battery-stage-head,.battery-stage-foot {
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  color:var(--muted); font:700 12px/1.4 var(--mono); letter-spacing:.045em;
}
.battery-stage-head span:last-child { color:var(--orange); white-space:nowrap; }
.battery-stage-head i { display:inline-block; width:44px; height:1px; margin:0 8px 4px; background:var(--glass-line); }
.battery-core {
  position:relative; display:flex; flex:1; flex-direction:column; align-items:center; justify-content:center;
  min-height:0; padding:12px 0 8px;
}
.battery-terminal {
  width:clamp(95px,19%,125px); height:15px; flex:none;
  border:1px solid var(--glass-line); border-bottom:0; border-radius:7px 7px 0 0;
  background:linear-gradient(180deg,var(--glass-highlight),var(--glass-soft));
  box-shadow:inset 0 1px var(--glass-highlight);
}
.battery-shell {
  position:relative; width:clamp(190px,48%,280px); height:min(88%,390px);
  min-height:210px; padding:12px; overflow:hidden;
  border:1px solid color-mix(in srgb,var(--glass-line) 70%,var(--text));
  border-radius:24px 24px 29px 29px;
  background:linear-gradient(104deg,var(--glass-highlight),var(--glass-soft) 13%,transparent 30%,var(--glass-highlight) 88%,var(--glass-soft));
  box-shadow:inset 2px 2px 2px var(--glass-highlight),inset -2px 0 var(--glass-line),0 26px 54px rgba(4,14,23,.18);
}
.battery-glass {
  position:relative; height:100%; overflow:hidden;
  border:1px solid var(--glass-line); border-radius:15px 15px 20px 20px;
  background:color-mix(in srgb,var(--bg) 63%,transparent);
  box-shadow:inset 0 5px 24px rgba(3,14,25,.11),inset 0 1px var(--glass-highlight);
}
.battery-charge {
  position:absolute; inset:auto 5px 5px; height:var(--charge-height);
  border-radius:8px 8px 13px 13px;
  background:linear-gradient(0deg,color-mix(in srgb,var(--orange) 28%,transparent),color-mix(in srgb,var(--cyan) 21%,transparent));
  box-shadow:0 0 35px color-mix(in srgb,var(--orange) 22%,transparent);
  transition:height 1.3s cubic-bezier(.19,1,.22,1);
  pointer-events:none;
}
.battery-charge::after {
  content:''; position:absolute; inset:-2px 4px auto; height:2px;
  background:linear-gradient(90deg,transparent,var(--orange),var(--cyan),transparent);
  box-shadow:0 0 18px 2px color-mix(in srgb,var(--orange) 35%,transparent);
}
.battery-stage .spark-container {
  position:absolute; z-index:2; inset:21px 18px 20px;
  display:grid; grid-template-columns:repeat(10,minmax(0,1fr)); grid-template-rows:repeat(7,minmax(0,1fr));
  gap:7px 5px; width:auto; height:auto; padding:0; border:0; pointer-events:none;
}
.battery-stage .spark-container::before { display:none; }
.battery-stage .spark-container .spark {
  position:relative; display:block; width:100%; min-width:0; height:100%;
  border:1px solid var(--glass-line); border-radius:4px;
  background:var(--glass-soft); box-shadow:inset 0 1px var(--glass-highlight);
  transform:none; opacity:.52; animation:none;
}
.battery-stage .spark-container .spark.is-charged {
  border-color:color-mix(in srgb,var(--orange) 60%,transparent);
  background:linear-gradient(160deg,color-mix(in srgb,var(--orange) 63%,var(--glass-highlight)),var(--orange));
  box-shadow:inset 0 1px var(--glass-highlight),0 0 10px color-mix(in srgb,var(--orange) 44%,transparent);
  opacity:1; animation:cellIgnite .8s cubic-bezier(.16,1,.3,1) both;
}
.battery-stage .spark-container .spark.is-charged:nth-child(3n) {
  border-color:color-mix(in srgb,var(--cyan) 60%,transparent);
  background:linear-gradient(150deg,var(--glass-highlight),var(--cyan));
  box-shadow:inset 0 1px var(--glass-highlight),0 0 10px color-mix(in srgb,var(--cyan) 40%,transparent);
}
.battery-stage .spark-container .spark.is-mine,
.battery-stage .spark-container .spark.is-highlighted {
  z-index:4; border-color:var(--text); background:var(--orange)!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--orange) 20%,transparent),0 0 22px 5px color-mix(in srgb,var(--orange) 55%,transparent)!important;
  opacity:1; transform:scale(1.2); animation:none;
}
@keyframes cellIgnite {
  from { opacity:0; scale:.45; filter:brightness(2.4); }
  to { opacity:1; scale:1; filter:brightness(1); }
}
.battery-stage-foot { min-height:33px; border-top:1px solid var(--glass-line); }
.battery-stage-foot span:last-child { text-align:right; color:var(--orange); }
.vessel-caption { min-height:68px; padding-top:15px; border-color:var(--glass-line); }
.vessel-caption span { color:var(--muted); font-size:12px; }
.vessel-caption strong { font-size:40px; }
.ideas-panel { border-color:var(--glass-line); }
.idea-card { border-color:var(--glass-line); }
.idea-card:hover,.idea-card.is-mine,.idea-card[aria-pressed=true] { border-color:var(--orange); }
.idea-card[role=button] { cursor:pointer; }
.idea-card[role=button]:focus-visible { outline:2px solid var(--orange); outline-offset:4px; }
@media(max-width:1000px) {
  .vessel-layout { grid-template-columns:1fr; }
  .vessel-copy { padding:0; }
  .vessel-visual { height:590px; margin-top:12px; }
}
@media(max-width:600px) {
  .vessel-copy h2 { font-size:clamp(48px,11vw,67px); }
  .vessel-copy p { font-size:17px; }
  .vessel-visual { height:470px; margin-top:8px; padding:16px; border-radius:23px; }
  .vessel-meta { font-size:10px; }
  .battery-stage { padding:14px 12px 10px; border-radius:16px; }
  .battery-stage-head,.battery-stage-foot { font-size:10px; }
  .battery-stage-head i { width:16px; margin-inline:2px; }
  .battery-shell { width:clamp(155px,48%,215px); min-height:190px; padding:9px; border-radius:17px; }
  .battery-terminal { width:80px; height:10px; }
  .battery-glass { border-radius:11px; }
  .battery-stage .spark-container { inset:15px 12px; gap:5px 3px; }
  .battery-stage .spark-container .spark { border-radius:3px; }
  .vessel-caption { min-height:60px; }
  .vessel-caption span { font-size:10px; }
  .vessel-caption strong { font-size:34px; }
}
@media(prefers-reduced-motion:reduce) {
  .battery-charge { transition:none; }
  .battery-stage .spark-container .spark.is-charged { animation:none; }
}
