/* ГНИВЦ 3.0 — editorial production system. Keep interaction styles in their source files. */
:root {
  --display: Golos, Arial, sans-serif;
  --mono: ui-monospace, SFMono-Regular, Consolas, monospace;
}
html[data-theme="dark"] {
  --bg: #11161b; --bg2: #171e23; --surface: #1d252b;
  --surface2: #28323a; --text: #f5f1e9; --muted: #a9b3b5;
  --line: #465159; --card: #1d252b; --ink: #11161b;
  --on-accent: #211812; --grid: rgba(210,225,220,.055);
  --cyan: #8bd4c8; --orange: #f47d58; --glow: transparent;
}
html[data-theme="light"] {
  --bg: #f6f3ec; --bg2: #edeae2; --surface: #fffdf8;
  --surface2: #e5e8e2; --text: #1c292d; --muted: #526065;
  --line: #b9c2be; --card: #fffdf8; --ink: #192529;
  --on-accent: #fffaf3; --grid: rgba(26,44,43,.065);
  --cyan: #176e6a; --orange: #bd4c30; --glow: transparent;
}
body { font-size: 17px; letter-spacing: -.012em; }
.shell, .intake-shell { width: min(100% - 8vw, 1420px); }
.scroll-progress { height: 2px; }
.site-header, .intake-header { background: color-mix(in srgb,var(--bg) 95%,transparent); border-bottom: 1px solid var(--line); backdrop-filter: blur(18px); }
.header-row, .intake-head-row { height: 74px; }
.brand-icon, .intake-brand img { filter: none; width: 41px; height: 41px; }
.wordmark, .intake-brand { font-family: Golos,Arial,sans-serif; font-size: 17px; letter-spacing: -.045em; }
.wordmark small, .intake-brand small { font-size: 10px; font-weight: 500; letter-spacing: .015em; }
.main-nav a { font-size: 13px; font-weight: 600; color: var(--muted); }
.main-nav a:hover { color: var(--text); }
.header-actions { gap: 10px; }
.theme-toggle, .intake-header-actions button { border-radius: 4px; background: transparent; padding-inline: 13px; font-weight: 600; }
.header-link { border-radius: 4px; box-shadow: none; padding: 12px 16px; }
.header-link:hover { background: color-mix(in srgb,var(--orange) 85%,white); }
.menu-toggle { border-radius: 4px; }

/* One cinematic chapter, with typography and figure doing the work. */
.story-sticky { background: var(--bg); }
.story-grid { background-image: linear-gradient(to right,var(--grid) 1px,transparent 1px); background-size: 25vw 100%; opacity: .8; mask-image: none; }
.story-halo { width: 56vw; height: 56vw; top: 18vh; right: -12vw; border: 1px solid var(--line); border-radius: 50%; box-shadow: none; opacity: .5; }
.story-halo::before { content: ''; position: absolute; inset: 12%; border: 1px solid var(--line); border-radius: 50%; }
.story-status, .story-bottom { font-family: var(--mono); font-size: 10px; font-weight: 500; letter-spacing: .08em; }
.story-status { top: 105px; }
.live-dot { width: 6px; height: 6px; box-shadow: none; animation: none; }
.story-dots i { border-radius: 0; height: 2px; background: var(--line); }
.story-dots i.is-active { background: var(--orange); }
.scene-index, .eyebrow, .step-kicker { font-family: var(--mono); font-weight: 700; letter-spacing: .12em; color: var(--orange); }
.scene-copy h1, .scene-copy h2 { font-family: Golos,Arial,sans-serif; font-size: clamp(56px,6.3vw,112px); line-height: .96; letter-spacing: -.075em; font-weight: 650; max-width: 850px; }
.scene-copy h1 em, .scene-copy h2 em { color: var(--orange); }
.scene-copy p { max-width: 570px; font-size: clamp(18px,1.5vw,22px); line-height: 1.42; color: var(--muted); }
.scene-micro { border: 0; border-left: 2px solid currentColor; border-radius: 0; padding: 4px 0 4px 13px; font-family: var(--mono); font-size: 10px; box-shadow: none; }
.pulse-dot { width: 5px; height: 5px; box-shadow: none; }
.scene-cta, .action-link { border-radius: 4px; box-shadow: none; background: var(--orange); padding: 14px 19px; color: var(--on-accent); }
.scene-cta:hover, .action-link:hover { transform: translateY(-2px); box-shadow: 0 8px 0 color-mix(in srgb,var(--orange) 26%,transparent); background: var(--orange); }
.customer-art img, .urgent-art img, .hero-art img { filter: drop-shadow(0 25px 22px rgba(0,0,0,.16)); }
.signal-card { border-radius: 5px; background: var(--surface); border: 1px solid var(--line); box-shadow: 10px 10px 0 color-mix(in srgb,var(--orange) 36%,transparent); }
.signal-card span, .signal-card i, .urgent-speech, .urgency-meter, .console-top, .map-caption { font-family: var(--mono); }
.warning-orbit, .power-ring { box-shadow: none; opacity: .55; }
.urgent-speech, .hero-badge { border-radius: 3px; box-shadow: 7px 7px 0 var(--orange); }
.stuck-visual { border-radius: 5px; box-shadow: 10px 10px 0 color-mix(in srgb,var(--line) 55%,transparent); background: var(--surface); }
.scan-card { border-radius: 2px; background: var(--bg); }
.scan-card-head b { border-radius: 2px; background: transparent; border: 1px solid var(--line); }
.scan-card.is-gap { box-shadow: none; background: color-mix(in srgb,var(--orange) 9%,var(--bg)); }
.mission-map { border-radius: 4px; box-shadow: none; background: var(--surface); }
.map-node { border-radius: 2px; }
.map-node.final { box-shadow: none; }

/* Distinct chapter surfaces and a compact instrument-like case viewer. */
.cases-section { background: #202b2e; padding-block: clamp(105px,10vw,150px); }
.cases-section::before { background: linear-gradient(90deg,transparent 49.95%,rgba(232,244,235,.045) 50%); }
.cases-layout { gap: clamp(55px,7vw,115px); }
.cases-intro h2 { font-family: Golos,Arial,sans-serif; font-size: clamp(52px,5.2vw,88px); line-height: .99; letter-spacing: -.07em; font-weight: 650; }
.cases-intro h2 em { color: #f4ae8e; }
.case-selector { gap: 0; border-top: 1px solid #66746d; }
.case-selector button { border: 0; border-bottom: 1px solid #66746d; border-radius: 0; min-height: 76px; padding: 13px 0; background: transparent; }
.case-selector button:hover { transform: translateX(4px); border-color: #a4bcb2; }
.case-selector button[aria-selected=true] { background: transparent; border-color: #f4ae8e; color: #fff; }
.case-selector button span, .case-selector button i { color: #f4ae8e; }
.case-console, .case-console.is-assisted { border-radius: 4px; background: #162125; box-shadow: 12px 12px 0 rgba(0,0,0,.19); border-color: #687a75; }
.case-console-top { background: #29383a; border-color: #687a75; font-family: var(--mono); font-weight: 500; }
.console-live i { box-shadow: none; background: #a0cfb8; }
.case-head h3 { font-family: Golos,Arial,sans-serif; font-size: clamp(30px,3vw,48px); letter-spacing: -.055em; }
.case-mode { border-radius: 4px; background: #0f1c1f; border-color: #687a75; }
.case-mode button, .case-mode button[aria-pressed=true] { border-radius: 2px; }
.case-mode button[aria-pressed=true] { background: #f4ae8e; }
.case-mode button#case-after[aria-pressed=true] { background: #a7d9c4; }
.case-step-number { border-radius: 2px; }
.case-outcome { border-radius: 2px; }
.manifest { background: #e4e0d4; color: #192527; padding-block: clamp(94px,9vw,140px); }
.manifest .eyebrow, .manifest h2 span { color: #ad422d; }
.manifest h2 { font-family: Golos,Arial,sans-serif; font-size: clamp(52px,5.8vw,95px); font-weight: 650; line-height: .98; letter-spacing: -.075em; }
.manifest p { font-weight: 500; font-size: clamp(19px,1.45vw,23px); border-top: 1px solid #acb5ad; padding-top: 22px; }

/* The cycle reads like a production map, not a row of feature cards. */
.cycle-section { background: var(--bg); padding-block: clamp(110px,10vw,170px); }
.section-heading { max-width: 1110px; }
.section-heading h2, .document-flow h2, .vessel-copy h2, .contribute-invite h2 { font-family: Golos,Arial,sans-serif; font-weight: 650; font-size: clamp(49px,5.4vw,87px); line-height: 1.015; letter-spacing: -.072em; }
.section-heading h2 span, .document-flow h2 span, .vessel-copy h2 span, .contribute-invite h2 span { color: var(--text); }
.section-heading h2 span::after, .document-flow h2 span::after, .contribute-invite h2 span::after { content: ''; display: block; width: 86px; height: 5px; margin-top: 22px; background: var(--orange); }
.section-heading p { max-width: 690px; }
.stage-tabs { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); gap: 0; margin-bottom: 0; }
.stage-tabs button { border: 0!important; border-right: 1px solid var(--line)!important; border-radius: 0; min-height: 112px; padding: 18px 16px; background: transparent; font-size: 14px; font-weight: 650; }
.stage-tabs button:last-child { border-right: 0!important; }
.stage-tabs button:hover { background: color-mix(in srgb,var(--surface) 70%,var(--bg)); }
.stage-tabs button[aria-selected=true] { color: var(--text); background: var(--surface); box-shadow: inset 0 4px 0 var(--orange); border-color: var(--line)!important; }
.stage-tabs button span { color: var(--orange); font-family: var(--mono); font-size: 11px; }
.stage-panel { border-radius: 0; border: 0; border-bottom: 1px solid var(--line); background: var(--surface); box-shadow: none; }
.stage-top h3 { font-family: Golos,Arial,sans-serif; font-size: clamp(38px,4vw,62px); font-weight: 650; }
.stage-outcome { border-left-color: var(--orange); }
.stage-outcome b, .stage-block h4, .stage-footer a { color: var(--orange); }
.stage-block h4 span { border-color: var(--orange); }
.stage-block li::before { background: var(--orange); }
.stage-block.docs { border-radius: 2px; border-color: var(--line); }
.stage-transition>div { border-radius: 2px; }
.stage-transition b { color: var(--orange); }
.document-flow { background: var(--bg2); padding-block: clamp(110px,10vw,155px); }
.document-flow p { max-width: 590px; }
.doc-chain { border-color: var(--orange); }
.doc-chain div::before { background: var(--bg2); border: 2px solid var(--orange); border-radius: 0; box-shadow: 0 0 0 5px var(--bg2); }
.doc-chain div span { color: var(--orange); font-family: var(--mono); }
.doc-chain div:hover { color: var(--text); transform: translateX(4px); }

/* An instrument that records each contribution; no glass vessel or neon aura. */
.vessel-section { background: var(--bg); }
.vessel-copy h2 span { color: var(--orange); }
.energy-stat { border-top: 1px solid var(--line); padding-top: 18px; }
.energy-stat strong { font-family: Golos,Arial,sans-serif; font-weight: 600; color: var(--text); }
.vessel-visual { height: 590px; border: 1px solid var(--line); background: var(--surface); overflow: hidden; }
.vessel-visual::before { content: ''; position: absolute; inset: 0; background: linear-gradient(to right,var(--grid) 1px,transparent 1px),linear-gradient(to bottom,var(--grid) 1px,transparent 1px); background-size: 25% 25%; pointer-events: none; }
.vessel-visual::after { content: '3.0'; position: absolute; bottom: -62px; right: 13px; color: color-mix(in srgb,var(--text) 5%,transparent); font: 700 210px/1 Golos,Arial,sans-serif; letter-spacing: -.1em; pointer-events: none; }
.vessel-aura { display: none; }
.vessel-meta { z-index: 7; top: 25px; left: 26px; right: 26px; padding-bottom: 15px; border-bottom: 1px solid var(--line); color: var(--muted); font: 600 10px/1.4 var(--mono); letter-spacing: .07em; }
.vessel-meta span:last-child { color: var(--orange); }
.vessel { width: min(76%,420px); border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.vessel::before { inset: 4%; filter: none; background: conic-gradient(from -90deg,var(--orange) 0deg,var(--orange) var(--energy-turn),var(--line) var(--energy-turn),var(--line) 360deg); mask: radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 1px)); }
.vessel::after { inset: 15%; border: 1px solid var(--line); animation: none; }
.vessel-top { inset: 28%; width: 44%; height: 44%; border: 1px solid var(--line); border-radius: 50%; background: transparent; box-shadow: none; }
.vessel-bottom, .vessel-liquid { display: none; }
.vessel-core, .vessel.has-ideas .vessel-core { display: grid; width: 50%; height: 50%; border: 0; border-radius: 50%; background: var(--surface); box-shadow: none; }
.vessel-core strong { color: var(--orange); text-shadow: none; font-family: Golos,Arial,sans-serif; font-weight: 600; font-size: clamp(70px,7vw,110px); line-height: .9; }
.vessel-core span { color: var(--muted); font: 600 10px var(--mono); letter-spacing: .1em; margin-top: 9px; }
.spark { width: 13px; height: 13px; border: 2px solid var(--surface); border-radius: 50%; box-shadow: 0 0 0 1px var(--orange); background: var(--orange); color: transparent; font-size: 0; }
.spark:nth-child(2n), .spark:nth-child(3n) { background: var(--cyan); border-color: var(--surface); box-shadow: 0 0 0 1px var(--cyan); }
.spark.is-mine, .spark.is-highlighted { box-shadow: 0 0 0 5px color-mix(in srgb,var(--orange) 25%,transparent); border: 2px solid var(--surface); background: var(--orange); }
.vessel-caption { z-index: 7; position: absolute; left: 26px; right: 26px; bottom: 19px; max-width: none; justify-content: space-between; border-top: 1px solid var(--line); padding-top: 14px; color: var(--muted); font-family: var(--mono); font-size: 10px; margin: 0; }
.vessel-caption span { color: var(--orange); }
.idea-card { border-radius: 2px; box-shadow: none; }

/* The intake is a working document: high legibility and clear progress. */
.contribute-section { background: var(--bg2); }
.invite-map { border-radius: 2px; background: var(--surface); box-shadow: none; }
.invite-map>span, .invite-map b { color: var(--orange); font-family: var(--mono); }
.invite-map strong { font-family: Golos,Arial,sans-serif; font-size: 19px; }
.intake-layout { padding-top: clamp(48px,5vw,75px); }
#initiative-form, .intake-success { border-radius: 2px; background: var(--surface); box-shadow: none; }
.intake-aside h1 { font-family: Golos,Arial,sans-serif; font-weight: 650; font-size: clamp(50px,5.1vw,86px); line-height: .98; }
.intake-aside h1 em { color: var(--orange); }
.diagnostic-map { border-radius: 2px; background: var(--surface); box-shadow: none; }
.diagnostic-map>span, .intake-topline span:first-child, .step-kicker { color: var(--orange); }
.diagnostic-map b, .intake-steps button b { color: var(--orange); font-family: var(--mono); }
.intake-private { border-left-color: var(--orange); }
.intake-progress { border-radius: 0; height: 2px; }
.intake-progress i { border-radius: 0; background: var(--orange); }
.intake-steps { gap: 0; border-top: 1px solid var(--line); padding-bottom: 0; margin-bottom: 33px; }
.intake-steps button { border: 0; border-right: 1px solid var(--line); border-radius: 0; background: transparent; min-height: 70px; padding: 12px 9px; font-size: 12px; }
.intake-steps button:first-child { border-left: 1px solid var(--line); }
.intake-steps button[aria-current=step] { border-color: var(--line); background: var(--surface); box-shadow: inset 0 3px 0 var(--orange); color: var(--text); }
.intake-step h2, .intake-success h2 { font-family: Golos,Arial,sans-serif; font-weight: 650; font-size: clamp(34px,3.5vw,53px); line-height: 1.05; }
.field input, .field select, .field textarea { border-radius: 2px; background: var(--surface); }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--orange); box-shadow: 0 0 0 2px color-mix(in srgb,var(--orange) 20%,transparent); }
.chip-grid span, .choice-stack label, .branch-panel, .review-card { border-radius: 2px; }
.chip-grid input:checked+span { background: var(--orange); border-color: var(--orange); color: var(--on-accent); }
.choice-stack label:has(input:checked) { border-color: var(--orange); background: color-mix(in srgb,var(--orange) 7%,var(--bg)); }
.choice-stack input, .consent input { accent-color: var(--orange); }
.access-note { border-radius: 0; }
.branch-panel h3 { font-family: Golos,Arial,sans-serif; }
.review-card>span { color: var(--orange); }
.intake-controls button, .intake-success a, .intake-success button { border-radius: 3px; }
.intake-controls #next-button, .intake-controls #submit-button, .intake-success a { color: var(--on-accent); }

@media (max-width: 900px) {
  .shell, .intake-shell { width: calc(100% - 44px); }
  .scene-copy h1, .scene-copy h2 { font-size: clamp(46px,7.8vw,75px); }
  .story-halo { width: 75vw; height: 75vw; }
  .stage-tabs button { flex-basis: 165px; }
  .vessel-visual { max-width: 720px; }
}
@media (max-width: 600px) {
  .shell, .intake-shell { width: calc(100% - 36px); }
  .header-row, .intake-head-row { height: 66px; }
  .story-sticky { background: var(--bg); }
  .story-grid { opacity: .35; }
  .scene-copy h1, .scene-copy h2, .scene-two .scene-copy h2 { font-size: clamp(43px,11vw,61px); line-height: 1; }
  .story-status { top: 84px; }
  .signal-card { box-shadow: 5px 5px 0 color-mix(in srgb,var(--orange) 35%,transparent); }
  .cases-intro h2, .section-heading h2, .document-flow h2, .vessel-copy h2, .contribute-invite h2 { font-size: clamp(42px,10vw,59px); }
  .case-selector { border-top: 1px solid #66746d; }
  .case-selector button { min-height: 55px; }
  .manifest h2 { font-size: clamp(43px,10vw,59px); }
  .stage-tabs button { flex-basis: 148px; min-height: 90px; }
  .stage-panel { padding: 22px 18px; }
  .vessel-visual { height: 430px; }
  .vessel { width: min(82%,340px); }
  .vessel-visual::after { font-size: 140px; bottom: -42px; }
  .vessel-meta, .vessel-caption { left: 15px; right: 15px; font-size: 8px; }
  .vessel-meta { top: 16px; }
  .vessel-caption { bottom: 14px; }
  .vessel-core strong { font-size: 65px; }
  .intake-aside h1 { font-size: clamp(48px,11vw,65px); }
  .intake-steps button { flex-basis: 100px; }
  .intake-step h2 { font-size: clamp(32px,8.2vw,44px); }
}
