/* Atelier 3.0 — type, rhythm and precision rather than interface decoration. */
:root { --display: Golos, Arial, sans-serif; --body: Golos, Arial, sans-serif; --mono: ui-monospace, SFMono-Regular, Consolas, monospace; }
html[data-theme=dark] {
  --bg:#111214; --bg2:#1b1d1e; --surface:#222526; --surface2:#303334;
  --text:#f5f3ee; --muted:#b3b7b5; --line:#484d4c; --card:#222526;
  --ink:#111214; --on-accent:#fffaf5; --grid:rgba(255,255,255,.055);
  --cyan:#e66842; --orange:#e66842; --glow:transparent;
  --case-bg:#1b1d1e; --case-surface:#222526; --case-top:#171919;
  --case-line:#515755; --case-muted:#b3b7b5; --case-mark:#303534;
  --vessel-bg:#111314; --vessel-surface:#1b1e1e; --vessel-line:#5c645f;
  --vessel-muted:#aab2ad; --vessel-alt:#f2eee6; --vessel-empty:#666d69;
}
html[data-theme=light] {
  --bg:#f2f1ec; --bg2:#e8e7e1; --surface:#fcfbf7; --surface2:#e3e3dd;
  --text:#181b1b; --muted:#59605e; --line:#b8bdb9; --card:#fcfbf7;
  --ink:#171a1b; --on-accent:#fffaf5; --grid:rgba(21,24,23,.065);
  --cyan:#bf4c2c; --orange:#bf4c2c; --glow:transparent;
  --case-bg:#e8e7e1; --case-surface:#fcfbf7; --case-top:#efeee9;
  --case-line:#b8bdb9; --case-muted:#59605e; --case-mark:#e7e7e1;
  --vessel-bg:#f2f1ec; --vessel-surface:#fcfbf7; --vessel-line:#b8bdb9;
  --vessel-muted:#59605e; --vessel-alt:#373d3b; --vessel-empty:#b8bdb9;
}
html[data-theme=dark] { color-scheme:dark; }
html[data-theme=light] { color-scheme:light; }
body { font-size:17px; line-height:1.5; letter-spacing:-.018em; }
.shell,.intake-shell { width:min(100% - 8vw,1450px); }
.scroll-progress { height:2px; background:var(--orange); }
.site-header,.intake-header { background:color-mix(in srgb,var(--bg) 96%,transparent); border-bottom:1px solid var(--line); backdrop-filter:blur(20px); }
.header-row,.intake-head-row { height:80px; }
.brand-icon,.intake-brand img { width:42px; height:42px; filter:none; }
.wordmark,.intake-brand { gap:10px; font:650 18px/1 var(--body); letter-spacing:-.045em; }
.wordmark b,.intake-brand b { color:var(--orange); }
.wordmark small,.intake-brand small { color:var(--muted); font:500 10px/1.3 var(--body); letter-spacing:.01em; margin-top:6px; }
.main-nav { gap:clamp(14px,2.2vw,34px); }
.main-nav a { color:var(--muted); font-size:13px; font-weight:600; }
.main-nav a:hover { color:var(--orange); }
.header-actions { gap:12px; }
.theme-toggle,.intake-header-actions button { border:0; border-radius:0; border-bottom:1px solid var(--muted); min-height:40px; padding:0 2px; background:transparent; color:var(--text); font-size:12px; font-weight:650; }
.theme-toggle:hover,.intake-header-actions button:hover { border-color:var(--orange); background:transparent; }
.header-link { min-height:44px; border-radius:0; box-shadow:none; padding:10px 17px; background:var(--orange); color:var(--on-accent); font-size:12px; letter-spacing:.01em; }
.header-link:hover { background:#d65c37; }
.menu-toggle { border-radius:0; }
.eyebrow,.scene-index,.step-kicker { color:var(--orange); font:700 11px/1.3 var(--mono); letter-spacing:.09em; }

/* The opening runs like a restrained motion title sequence. Illustration and copy never share a layer. */
.story-sticky { background:var(--bg); background-image:linear-gradient(90deg,transparent 69%,color-mix(in srgb,var(--orange) 3%,transparent) 100%); }
.story-grid { background-image:linear-gradient(90deg,transparent calc(52% - .5px),var(--grid) 52%,transparent calc(52% + .5px)); background-size:100% 100%; opacity:1; mask-image:none; }
.story-halo,.warning-orbit,.power-ring,.hero-spark,.mission-pulse { display:none!important; }
.story-status,.story-bottom { left:4vw; right:4vw; font:550 10px/1.2 var(--mono); letter-spacing:.09em; color:var(--muted); }
.story-status { top:113px; }
.story-status::before { content:''; width:42px; height:2px; background:var(--orange); }
.story-status .live-dot { display:none; }
.story-status span:last-child,.story-bottom span:last-child { color:var(--orange); }
.story-bottom { bottom:28px; }
.story-dots { gap:4px; }
.story-dots i,.story-dots i.is-active { width:34px; height:2px; border-radius:0; }
.story-dots i { background:var(--line); }
.story-dots i.is-active { background:var(--orange); }
.story-scene { grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr); gap:4vw; padding:156px 4vw 78px; }
.story-scene::before { display:none; }
.scene-copy { max-width:740px; min-width:0; }
.scene-index { display:flex; align-items:center; gap:14px; margin-bottom:24px; }
.scene-index::after { content:''; width:38px; height:1px; background:var(--orange); }
.scene-copy h1,.scene-copy h2,.scene-two .scene-copy h2 { font:520 clamp(58px,6.25vw,104px)/.98 var(--body); letter-spacing:-.078em; margin:0 0 29px; max-width:850px; }
.scene-copy h1 em,.scene-copy h2 em { color:var(--text); font-style:normal; }
.scene-copy h1 em::after,.scene-copy h2 em::after { content:''; display:block; width:105px; height:2px; margin-top:23px; background:var(--orange); }
.scene-copy p { font-size:clamp(18px,1.42vw,21px); line-height:1.45; max-width:550px; color:var(--muted); margin:0 0 23px; }
.scene-micro { border:0; padding:0; margin:0 0 23px; color:var(--orange); font:600 10px/1.6 var(--mono); letter-spacing:.045em; }
.scene-micro .pulse-dot { display:none; }
.scene-cta,.action-link { border-radius:0; min-height:54px; padding:13px 19px; background:var(--orange); color:var(--on-accent); box-shadow:none; font-weight:700; }
.scene-cta:hover,.action-link:hover { transform:translateY(-2px); background:#d65c37; box-shadow:none; }
.scene-cta span,.action-link span { font-size:19px; }
.customer-art,.urgent-art,.hero-art { align-self:stretch; min-width:0; border-left:1px solid var(--grid); overflow:visible; }
.customer-art::before,.urgent-art::before,.hero-art::before,.scene-three .hero-art::after { display:none; }
.customer-art img,.urgent-art img,.hero-art img { position:relative; z-index:2; width:100%; height:min(76vh,760px); max-height:calc(100svh - 180px); object-fit:contain; object-position:center bottom; transform:none; animation:none; filter:drop-shadow(0 25px 24px rgba(0,0,0,.16)); }
.scene-note.signal-card { position:relative; z-index:auto; inset:auto; display:grid; grid-template-columns:1fr auto; width:min(100%,550px); gap:3px 14px; margin-top:18px; padding:13px 0 0; border:0; border-top:1px solid var(--line); background:transparent; box-shadow:none; backdrop-filter:none; transform:none; animation:none; }
.signal-card span,.signal-card i { color:var(--muted); font:600 10px/1.35 var(--mono); font-style:normal; letter-spacing:.055em; }
.signal-card strong { grid-column:1; font:600 17px/1.25 var(--body); letter-spacing:-.025em; }
.signal-card i { grid-column:2; grid-row:2; align-self:end; color:var(--orange); text-align:right; }
.pressure-list { border-top:1px solid var(--line); max-width:550px; margin-top:19px; }
.pressure-list span { border:0; border-bottom:1px solid var(--line); border-radius:0; background:transparent; padding:10px 0; color:var(--orange); }
.pressure-list b { color:var(--text); }
.pressure-list i { color:var(--muted); }
.urgent-speech { position:static; display:block; width:fit-content; padding:0 0 0 15px; border:0; border-left:2px solid var(--orange); border-radius:0; box-shadow:none; background:transparent; color:var(--text); transform:none; animation:none; font:520 clamp(23px,2.5vw,36px)/1.12 var(--body); letter-spacing:-.055em; }
.urgency-meter { position:static; width:min(100%,550px); margin-top:14px; padding:0; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:14px; border:0; border-radius:0; background:transparent; box-shadow:none; backdrop-filter:none; }
.urgency-meter i { height:2px; border-radius:0; }
.urgency-meter i b { width:100%; border-radius:0; transform:scaleX(0); transform-origin:left; animation:none; }
.urgency-meter span,.urgency-meter strong { font:600 10px var(--mono); color:var(--orange); white-space:nowrap; }
.scene-two { grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); }
.scene-two .scene-copy h2 { font-size:clamp(51px,5.2vw,82px); }
.scene-two .scene-copy p { font-size:18px; line-height:1.42; }
.scan-detail-link { color:var(--orange); font-weight:700; }
.stuck-visual { border:1px solid var(--line); border-radius:0; background:var(--surface); box-shadow:none; padding:0; }
.scene-two .console-top { border-bottom:1px solid var(--line); background:var(--bg); height:51px; }
.scan-grid { gap:0; padding:0; grid-template-columns:repeat(3,minmax(0,1fr)); }
.scan-card { min-height:186px; padding:14px 13px; border:0; border-right:1px solid var(--line); border-bottom:1px solid var(--line); border-radius:0; background:transparent; }
.scan-card:nth-child(3n) { border-right:0; }
.scan-card::before { display:none; }
.scan-card-head b { width:auto; height:auto; border:0; padding:0; background:transparent; color:var(--orange); font:600 11px var(--mono); }
.scan-card-head strong { font:650 14px/1.25 var(--body); letter-spacing:-.03em; }
.scan-card p { font-size:12px; line-height:1.35; }
.scan-card small { font-size:11px; }
.scan-card small i,.scan-card>span { color:var(--orange); }
.scan-card>span { font-size:10px; }
.scan-card.is-gap { border:0; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:color-mix(in srgb,var(--orange) 14%,var(--surface)); box-shadow:none; }
.scene-two .console-error { background:var(--orange); color:var(--on-accent); border:0; }
.scene-two .console-error b { color:inherit; }
.scene-two .scan-beam { display:block; width:100%; height:1px; opacity:0; background:var(--orange); box-shadow:0 0 24px var(--orange); animation:none; }
.scene-three .hero-art::before { display:block; content:''; position:absolute; inset:auto 0 7% auto; width:3px; height:33%; background:var(--orange); border:0; clip-path:none; }
.hero-art img { filter:drop-shadow(0 25px 24px rgba(0,0,0,.18)); }
.hero-badge { position:relative; inset:auto; display:inline-block; width:fit-content; margin-top:20px; padding:10px 0; border:0; border-top:1px solid var(--orange); border-radius:0; box-shadow:none; transform:none; background:transparent; color:var(--text); font:700 12px var(--mono); letter-spacing:.08em; }
.hero-badge span { color:var(--orange); }
.ai-capabilities { gap:0; border-top:1px solid var(--line); }
.ai-capabilities span { border:0; border-bottom:1px solid var(--line); border-radius:0; background:transparent; color:var(--muted); }
.mission-map { border:0; border-top:2px solid var(--orange); border-radius:0; background:var(--surface); box-shadow:none; padding:27px 30px; }
.map-caption { color:var(--orange); font:600 11px var(--mono); }
.map-node { border:0; border-top:1px solid var(--line); border-radius:0; background:transparent; padding:21px 0; }
.map-node b,.map-node.final b { color:var(--orange); font:600 14px var(--mono); }
.map-node strong { font:600 26px var(--body); letter-spacing:-.045em; }
.map-node.final { box-shadow:none; }
.map-link { display:none; }

/* Alternating editorial chapters: a case study, a statement, then the production map. */
.cases-section { background:var(--case-bg); color:var(--text); padding:130px 0 150px; }
.cases-section::before { background:none; }
.cases-layout { grid-template-columns:.74fr 1.26fr; gap:6vw; }
.cases-intro h2 { font:520 clamp(50px,5vw,82px)/1 var(--body); letter-spacing:-.07em; }
.cases-intro h2 em { color:var(--orange); font-style:normal; }
.cases-intro p,.cases-intro small { color:var(--case-muted); }
.case-selector { border-top:1px solid var(--case-line); }
.case-selector button { border:0; border-bottom:1px solid var(--case-line); border-radius:0; background:transparent; color:var(--case-muted); padding:16px 0; }
.case-selector button:hover { transform:translateX(4px); border-color:var(--orange); }
.case-selector button[aria-selected=true] { background:transparent; border-color:var(--orange); color:var(--text); }
.case-selector button span,.case-selector button i { color:var(--orange); }
.case-console,.case-console.is-assisted { border:1px solid var(--case-line); border-radius:0; background:var(--case-surface); color:var(--text); box-shadow:none; }
.case-console-top { background:var(--case-top); border-color:var(--case-line); color:var(--case-muted); }
.console-live i { width:18px; height:2px; border-radius:0; background:var(--orange); box-shadow:none; }
.case-head>span { color:var(--orange); }
.case-head h3 { font:550 clamp(31px,3.1vw,48px)/1.07 var(--body); letter-spacing:-.055em; }
.case-head p,.case-step div span,.case-step i,.case-human { color:var(--case-muted); }
.case-mode { display:flex; gap:0; border:0; border-bottom:1px solid var(--case-line); border-radius:0; padding:0; background:transparent; }
.case-mode button { flex:1; border-radius:0; border-bottom:3px solid transparent; background:transparent; color:var(--case-muted); padding:15px 6px; }
.case-mode button[aria-pressed=true],.case-mode button#case-after[aria-pressed=true] { background:transparent; color:var(--text); border-bottom-color:var(--orange); }
.case-timeline::before { background:var(--case-line); }
.case-step { border-bottom-color:var(--case-line); }
.case-step-number,.case-step.is-blocked .case-step-number,.is-assisted .case-step-number { border:1px solid var(--case-line); border-radius:0; background:var(--case-mark); color:var(--text); box-shadow:none; }
.case-step.is-blocked strong,.case-step.is-blocked i,.is-assisted .case-step i { color:var(--orange); }
.case-outcome,.is-assisted .case-outcome { border:0; border-top:2px solid var(--orange); border-radius:0; background:var(--case-mark); padding:20px; }
.case-outcome span,.is-assisted .case-outcome span { color:var(--orange); }
.manifest { background:#e86843; color:#151718; padding:clamp(100px,9vw,150px) 0; }
.manifest .eyebrow,.manifest h2 span { color:#151718; }
.manifest h2 { font:540 clamp(55px,6.4vw,100px)/.98 var(--body); letter-spacing:-.075em; }
.manifest p { border-top:1px solid rgba(0,0,0,.45); padding-top:22px; font-weight:550; }
.cycle-section { background:var(--bg); color:var(--text); padding:130px 0 155px; }
.section-heading { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(230px,.5fr); gap:3vw; max-width:none; align-items:end; margin-bottom:60px; }
.section-heading .eyebrow { grid-column:1/-1; margin-bottom:4px; }
.section-heading h2 { font:530 clamp(55px,5.6vw,88px)/.99 var(--body); letter-spacing:-.075em; margin:0; }
.section-heading h2 span { color:var(--text); }
.section-heading h2 span::after { width:75px; height:4px; margin-top:22px; background:var(--orange); }
.section-heading p { font-size:17px; max-width:380px; margin:0; padding:0 0 5px 20px; border-left:1px solid var(--line); }
.stage-tabs { border:0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); gap:0; margin:0; }
.stage-tabs button { border:0!important; border-right:1px solid var(--line)!important; min-height:125px; border-radius:0; background:transparent; color:var(--muted); padding:18px 15px; font-weight:600; }
.stage-tabs button[aria-selected=true] { background:var(--text); color:var(--bg); box-shadow:none; border-color:var(--line)!important; }
.stage-tabs button span { color:var(--orange); font:650 11px var(--mono); }
.stage-tabs button[aria-selected=true] span { color:var(--bg); }
.stage-panel { border:0; border-radius:0; background:var(--surface); box-shadow:none; min-height:600px; }
.stage-top h3 { font:540 clamp(38px,4vw,64px)/1.05 var(--body); letter-spacing:-.065em; }
.stage-block h4,.stage-outcome b,.stage-footer a,.stage-transition b { color:var(--orange); }
.stage-block h4 span { border:0; color:var(--orange); width:20px; }
.stage-block.docs { border:0; border-top:3px solid var(--orange); border-radius:0; background:var(--bg2); }
.stage-block li::before { background:var(--orange); border-radius:0; }
.stage-transition>div { border-radius:0; background:transparent; border:0; border-top:1px solid var(--line); padding:18px 0; }
.document-flow { background:var(--bg2); color:var(--text); padding:140px 0; }
.document-grid { grid-template-columns:1.05fr .95fr; gap:8vw; }
.document-flow h2 { font:530 clamp(50px,5.2vw,82px)/1.02 var(--body); letter-spacing:-.072em; }
.document-flow h2 span { color:var(--text); }
.document-flow p { color:var(--muted); }
.doc-chain { border-left:0; padding-left:0; counter-reset:chain; }
.doc-chain div { padding:20px 0; border-top:1px solid var(--line); border-bottom:0; font:540 clamp(19px,1.6vw,25px)/1.1 var(--body); }
.doc-chain div:last-child { border-bottom:1px solid var(--line); }
.doc-chain div::before { display:none; }
.doc-chain div span { color:var(--orange); font:600 12px var(--mono); }
.doc-chain div:hover { transform:translateX(4px); color:var(--text); }

/* The contribution is represented by a single vertical stroke in a shared score. */
.vessel-section { background:var(--vessel-bg); color:var(--text); padding:135px 0 145px; }
.vessel-layout { grid-template-columns:1fr 1fr; gap:6vw; }
.vessel-copy h2 { font:520 clamp(56px,5.6vw,90px)/1.01 var(--body); letter-spacing:-.075em; }
.vessel-copy h2 span { color:var(--text); }
.vessel-copy h2 span::after { content:''; display:block; width:75px; height:4px; background:var(--orange); margin-top:24px; }
.vessel-copy p { color:var(--muted); font-size:19px; }
.energy-stat { border-top:1px solid var(--vessel-line); padding-top:16px; margin:34px 0 26px; }
.energy-stat strong { color:var(--text); font:500 clamp(75px,8vw,128px)/.9 var(--body); letter-spacing:-.075em; }
.energy-stat span { color:var(--muted); }
.vessel-visual { height:580px; display:block; border:1px solid var(--vessel-line); background:var(--vessel-surface); overflow:hidden; padding:0 28px; }
.vessel-visual::before,.vessel-visual::after,.vessel-aura,.vessel,.vessel-top,.vessel-bottom,.vessel-liquid { display:none!important; }
.vessel-meta { position:relative; top:auto; left:auto; right:auto; z-index:2; display:flex; justify-content:space-between; padding:22px 0; border-bottom:1px solid var(--vessel-line); color:var(--vessel-muted); font:650 10px/1.4 var(--mono); letter-spacing:.075em; }
.vessel-meta span:last-child { color:var(--orange); }
.energy-board { position:relative; height:calc(100% - 115px); display:flex; flex-direction:column; justify-content:space-between; padding-top:38px; }
.energy-board-label { color:var(--vessel-muted); font:600 11px/1.4 var(--mono); letter-spacing:.08em; }
.spark-container { position:relative; inset:auto; display:flex; align-items:flex-end; gap:clamp(2px,.4vw,6px); height:235px; width:100%; padding-bottom:12px; border-bottom:1px solid var(--vessel-line); z-index:1; pointer-events:auto; }
.spark-container::before { content:''; position:absolute; left:0; bottom:-1px; width:32%; height:1px; background:linear-gradient(90deg,transparent,var(--orange),transparent); animation:energySweep 5s ease-in-out infinite; pointer-events:none; }
@keyframes energySweep { 0%,15% { transform:translateX(-105%); opacity:0; } 35% { opacity:.8; } 70%,100% { transform:translateX(320%); opacity:0; } }
.spark { position:relative; left:auto!important; top:auto!important; display:block; flex:1 1 0; min-width:2px; width:auto; height:var(--bar-height); border:0; border-radius:0; background:var(--orange); color:transparent; font-size:0; box-shadow:none; transform:none; animation:barRise .7s cubic-bezier(.16,1,.3,1) both; transform-origin:bottom; }
.spark:nth-child(2n),.spark:nth-child(3n) { background:var(--vessel-alt); border:0; box-shadow:none; }
.spark.is-empty,.spark.is-empty:nth-child(2n),.spark.is-empty:nth-child(3n) { height:3px!important; background:var(--vessel-empty); opacity:.42; animation:none; }
.spark.is-mine,.spark.is-highlighted { background:var(--orange)!important; box-shadow:0 0 0 3px color-mix(in srgb,var(--orange) 30%,transparent); transform:scaleY(1.12); opacity:1; animation:none; z-index:2; }
@keyframes barRise { from { transform:scaleY(.05); opacity:.3; } to { transform:scaleY(1); opacity:1; } }
.energy-board-total { display:flex; justify-content:space-between; align-items:end; gap:15px; padding:25px 0 5px; }
.energy-board-total span { color:var(--vessel-muted); font:600 10px/1.5 var(--mono); letter-spacing:.08em; }
.energy-board-total strong { font:500 clamp(85px,10vw,155px)/.75 var(--body); letter-spacing:-.08em; color:var(--text); }
.vessel-caption { position:relative; z-index:2; left:auto; right:auto; bottom:auto; margin:0; padding:18px 0 0; max-width:none; display:flex; justify-content:space-between; border-top:1px solid var(--vessel-line); color:var(--vessel-muted); font:600 10px/1.4 var(--mono); }
.vessel-caption span { color:var(--orange); }
.ideas-panel { border-top:1px solid var(--vessel-line); margin-top:100px; padding-top:30px; }
.ideas-heading h3 { font:550 clamp(26px,2.7vw,41px)/1.15 var(--body); letter-spacing:-.05em; }
.ideas-heading span { color:var(--vessel-muted); }
.idea-card { border:1px solid var(--vessel-line); border-radius:0; background:var(--vessel-surface); box-shadow:none; }
.idea-card.is-mine,.idea-card:hover { border-color:var(--orange); }
.idea-meta { color:var(--orange); }
.idea-card p,.empty-ideas { color:var(--vessel-muted); }
.empty-ideas { border:1px solid var(--vessel-line); }
.contribute-section { background:var(--bg); padding:140px 0 155px; }
.contribute-invite h2 { font:520 clamp(55px,5.6vw,90px)/1 var(--body); letter-spacing:-.073em; }
.contribute-invite h2 span { color:var(--text); }
.contribute-invite h2 span::after { content:''; display:block; width:75px; height:4px; margin-top:24px; background:var(--orange); }
.invite-map { border:0; border-top:3px solid var(--orange); border-radius:0; padding:24px 0; background:transparent; box-shadow:none; }
.invite-map>span,.invite-map b { color:var(--orange); }
.invite-map strong { font:560 22px var(--body); }
.invite-map>div { padding:19px 0; }
.footer { background:var(--bg2); color:var(--text); border-top:1px solid var(--line); }
.footer p,.footer small { color:var(--muted); }

/* The questionnaire is a considered working surface rather than another hero card. */
.intake-layout { gap:7vw; padding-top:70px; }
.intake-aside h1 { font:520 clamp(55px,5.2vw,86px)/1 var(--body); letter-spacing:-.075em; }
.intake-aside h1 em { color:var(--text); }
.intake-aside h1 em::after { content:''; display:block; width:70px; height:4px; background:var(--orange); margin-top:20px; }
.diagnostic-map { border:0; border-top:3px solid var(--orange); border-radius:0; padding:24px 0; background:transparent; box-shadow:none; }
.diagnostic-map>span,.diagnostic-map b,.intake-topline span:first-child,.step-kicker { color:var(--orange); }
.intake-private { border-left:2px solid var(--orange); }
.intake-progress { height:2px; border-radius:0; }
.intake-progress i { border-radius:0; background:var(--orange); }
.intake-steps { border:0; border-top:1px solid var(--line); gap:0; padding:0; margin-bottom:25px; }
.intake-steps button { border:0; border-right:1px solid var(--line); border-radius:0; min-height:75px; padding:12px 10px; background:transparent; }
.intake-steps button:first-child { border-left:1px solid var(--line); }
.intake-steps button[aria-current=step] { background:var(--surface); box-shadow:inset 0 3px 0 var(--orange); border-color:var(--line); color:var(--text); }
.intake-steps button b { color:var(--orange); }
#initiative-form,.intake-success { border:1px solid var(--line); border-radius:0; background:var(--surface); box-shadow:none; padding:clamp(26px,3.6vw,58px); }
.intake-step h2,.intake-success h2 { font:540 clamp(34px,3.6vw,54px)/1.08 var(--body); letter-spacing:-.06em; }
.step-lead { max-width:650px; }
.field input,.field select,.field textarea { border-radius:0; background:var(--bg); }
.field input:focus,.field select:focus,.field textarea:focus { border-color:var(--orange); box-shadow:inset 3px 0 0 var(--orange); }
.chip-grid span,.choice-stack label,.branch-panel,.review-card,.access-note { border-radius:0; }
.chip-grid input:checked+span { background:var(--text); color:var(--bg); border-color:var(--text); }
.choice-stack label:has(input:checked) { border-color:var(--orange); background:color-mix(in srgb,var(--orange) 6%,var(--bg)); }
.choice-stack input,.consent input { accent-color:var(--orange); }
.branch-panel h3 { font-family:var(--body); font-weight:600; }
.review-card>span { color:var(--orange); }
.intake-controls button,.intake-success a,.intake-success button { border-radius:0; }
.intake-controls #next-button,.intake-controls #submit-button,.intake-success a { background:var(--orange); border-color:var(--orange); color:var(--on-accent); }

@media(max-width:1100px) {
  .story-scene { grid-template-columns:1fr 1fr; }
  .scene-copy h1,.scene-copy h2 { font-size:clamp(50px,6vw,77px); }
  .scene-two .scene-copy h2 { font-size:clamp(43px,4.5vw,60px); }
  .scan-card { min-height:150px; }
  .section-heading { grid-template-columns:1fr; }
  .section-heading .eyebrow { grid-column:auto; }
  .section-heading p { max-width:690px; border-left:0; border-top:1px solid var(--line); padding:18px 0 0; }
}
@media(max-width:900px) {
  .shell,.intake-shell { width:calc(100% - 44px); }
  .story-scene { grid-template-columns:1fr; }
  .story-scene::before { display:none; }
  .customer-art::before,.urgent-art::before,.hero-art::before { inset:10% 0 0 12%; }
  .scene-three .hero-art::before { inset:4% -3% 0 12%; }
  .cases-layout,.document-grid,.vessel-layout { grid-template-columns:1fr; }
  .cases-intro { position:static; }
  .case-selector { grid-template-columns:repeat(3,1fr); }
  .case-selector button { border-right:1px solid var(--case-line); padding:12px; }
  .stage-tabs button { flex-basis:170px; }
  .vessel-visual { max-width:none; }
}
@media(max-width:600px) {
  .shell,.intake-shell { width:calc(100% - 36px); }
  .header-row,.intake-head-row { height:66px; }
  .brand-icon,.intake-brand img { width:34px; height:34px; }
  .wordmark,.intake-brand { font-size:14px; }
  .story-sticky { background:var(--bg); }
  .story-status { top:82px; left:18px; right:18px; font-size:8px; }
  .story-status::before { width:19px; }
  .story-scene { padding:52px 18px 58px; min-height:670px; }
  .scene-copy h1,.scene-copy h2,.scene-two .scene-copy h2 { font-size:clamp(47px,11.5vw,65px); line-height:.99; margin-bottom:25px; }
  .scene-copy h1 em::after,.scene-copy h2 em::after { width:58px; height:3px; margin-top:17px; }
  .scene-copy p,.scene-two .scene-copy p { font-size:16px; line-height:1.45; }
  .scene-micro { font-size:9px; }
  .customer-art,.urgent-art,.hero-art { height:330px; min-height:330px; }
  .customer-art img,.urgent-art img,.hero-art img { height:320px; max-height:320px; }
  .signal-card { left:0; bottom:1%; top:auto; width:210px; padding:9px 12px; }
  .signal-card strong { font-size:13px; }
  .signal-card span,.signal-card i { font-size:8px; }
  .urgent-speech { top:10%; right:0; }
  .scene-two { min-height:0; }
  .scene-two .stuck-visual { margin-top:22px; }
  .scan-grid { grid-template-columns:1fr; }
  .scan-card,.scan-card.is-gap { min-height:0; border-right:0; padding:13px 15px; }
  .scan-card-head strong { font-size:15px; }
  .scan-card p { font-size:13px; }
  .scan-card small { font-size:12px; }
  .scan-card>span { font-size:11px; }
  .hero-badge { right:0; bottom:4%; }
  .mission-map { margin-top:20px; padding:17px; }
  .map-node strong { font-size:20px; }
  .cases-section,.cycle-section,.document-flow,.vessel-section,.contribute-section { padding:95px 0; }
  .cases-intro h2,.section-heading h2,.document-flow h2,.vessel-copy h2,.contribute-invite h2 { font-size:clamp(45px,10.8vw,62px); }
  .case-selector { grid-template-columns:1fr; }
  .case-selector button { border-right:0; }
  .case-console { margin-top:20px; }
  .case-console-top { padding:14px; }
  .manifest h2 { font-size:clamp(48px,11vw,62px); }
  .section-heading { gap:20px; }
  .stage-tabs button { flex-basis:148px; min-height:92px; }
  .stage-panel { padding:27px 18px; }
  .stage-top h3 { font-size:39px; }
  .vessel-visual { height:440px; padding:0 16px; }
  .vessel-meta { font-size:8px; padding:16px 0; }
  .energy-board { height:calc(100% - 90px); padding-top:28px; }
  .energy-board-label,.energy-board-total span,.vessel-caption { font-size:8px; }
  .spark-container { height:160px; gap:2px; }
  .energy-board-total strong { font-size:85px; }
  .vessel-caption { padding-top:12px; }
  .ideas-panel { margin-top:70px; }
  .intake-aside h1 { font-size:clamp(49px,11vw,65px); }
  .intake-steps button { flex-basis:105px; }
  #initiative-form { padding:28px 20px; }
  .intake-step h2 { font-size:clamp(34px,8.5vw,47px); }
}
/* Chapter pacing and alternate layouts keep all illustrations clear of captions. */
@media(min-width:1001px) {
  .story { height:560vh; min-height:3900px; }
  .story-scene { transition:opacity .48s ease,visibility .48s; transform:none; }
  .scene-pressure .scene-copy h2 { font-size:clamp(56px,5.9vw,98px); }
  .scene-three { grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); background:color-mix(in srgb,var(--orange) 3%,var(--bg)); }
  .scene-three .hero-art { grid-column:1; grid-row:1; border-left:0; border-right:1px solid var(--grid); }
  .scene-three .hero-art img { width:110%; max-width:none; height:auto; max-height:calc(100svh - 180px); margin-left:-7%; align-self:center; }
  .scene-three .scene-copy { grid-column:2; grid-row:1; padding-left:3vw; }
  .scene-three .hero-art::before { right:auto; left:0; }
}
@media(max-width:1000px) {
  .story { height:auto; min-height:0; }
  .story-sticky { position:relative; height:auto; min-height:0; overflow:visible; padding:110px 0 0; }
  .story-status { top:94px; }
  .story-bottom { display:none; }
  .story-scene,.story-scene[aria-hidden=true] { position:relative; display:grid; grid-template-columns:1fr; gap:15px; padding:55px 5vw 60px; min-height:0; opacity:1; visibility:visible; transform:none; pointer-events:auto; border-bottom:1px solid var(--line); }
  .story-scene .scene-copy { max-width:720px; }
  .customer-art,.urgent-art,.hero-art { position:relative; right:auto; bottom:auto; width:100%; height:450px; min-height:0; margin:8px 0 0; opacity:1; border-left:0; border-top:1px solid var(--grid); }
  .customer-art img,.urgent-art img,.hero-art img { height:450px; max-height:450px; max-width:100%; }
  .scene-two .stuck-visual { max-height:none; overflow:hidden; width:100%; margin:20px 0 0; }
  .mission-map { max-width:none; width:100%; margin:15px 0 0; }
  .scene-note.signal-card { max-width:560px; }
}
@media(max-width:600px) {
  .story-sticky { padding-top:95px; }
  .story-status { top:82px; }
  .story-scene,.story-scene[aria-hidden=true] { padding:46px 18px 53px; }
  .scene-copy h1,.scene-copy h2,.scene-two .scene-copy h2 { font-size:clamp(43px,10.4vw,62px); }
  .scene-copy h1 em::after,.scene-copy h2 em::after { height:2px; margin-top:16px; }
  .scene-note.signal-card { display:grid; grid-template-columns:1fr; width:100%; margin-top:19px; padding:14px 0 0; }
  .signal-card strong,.signal-card i { grid-column:1; grid-row:auto; text-align:left; }
  .signal-card strong { font-size:16px; }
  .signal-card span,.signal-card i { font-size:10px; }
  .urgent-speech { font-size:26px; padding-left:12px; }
  .urgency-meter { grid-template-columns:auto 1fr auto; gap:8px; }
  .urgency-meter span,.urgency-meter strong { font-size:9px; }
  .customer-art,.urgent-art,.hero-art { height:325px; min-height:0; }
  .customer-art img,.urgent-art img,.hero-art img { height:325px; max-height:325px; }
  .hero-badge { position:relative; inset:auto; margin-top:18px; }
  .scene-two .stuck-visual { margin-top:18px; }
  .scan-card,.scan-card.is-gap { border-right:0; }
}
@media(prefers-reduced-motion:reduce) {
  .spark,.spark-container::before { animation:none; }
  .story { height:auto; min-height:0; }
  .story-sticky { position:relative; height:auto; min-height:0; overflow:visible; padding-top:110px; }
  .story-scene,.story-scene[aria-hidden=true] { position:relative; display:grid; grid-template-columns:1fr; min-height:0; opacity:1; visibility:visible; transform:none; pointer-events:auto; border-bottom:1px solid var(--line); }
  .customer-art,.urgent-art,.hero-art { position:relative; right:auto; bottom:auto; width:100%; height:440px; opacity:1; }
  .customer-art img,.urgent-art img,.hero-art img { height:440px; max-height:440px; }
  .scene-two .scan-beam { display:none; }
}

/* Energy of ideas — the vessel is the single visual object, with one light per contribution. */
.vessel-section {
  padding:clamp(110px,12vw,190px) 0 125px;
  background:var(--vessel-bg);
}
.vessel-layout {
  grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);
  gap:clamp(35px,5vw,90px);
  align-items:center;
}
.vessel-copy { align-self:center; padding:20px 0 55px; }
.vessel-copy .eyebrow { display:block; margin-bottom:35px; }
.vessel-copy h2 {
  max-width:680px;
  margin:0 0 31px;
  font:520 clamp(66px,6.3vw,116px)/.98 var(--body);
  letter-spacing:-.082em;
}
.vessel-copy h2 em { font-style:normal; color:var(--orange); }
.vessel-copy h2 span::after { display:none; }
.vessel-copy p {
  max-width:545px;
  margin:0;
  color:var(--vessel-muted);
  font-size:clamp(18px,1.5vw,22px);
  line-height:1.48;
}
.energy-stat {
  display:flex;
  align-items:baseline;
  gap:19px;
  margin:47px 0 26px;
  border-top:1px solid var(--vessel-line);
  padding-top:19px;
}
.energy-stat strong {
  color:var(--text);
  font:480 clamp(76px,8vw,130px)/.9 var(--body);
  letter-spacing:-.08em;
}
.energy-stat span { max-width:160px; color:var(--vessel-muted); font-size:16px; line-height:1.3; font-weight:550; }
.vessel-copy .action-link { min-width:220px; justify-content:space-between; }
.vessel-copy-note {
  display:flex;
  gap:15px;
  align-items:baseline;
  max-width:490px;
  margin-top:27px;
  color:var(--vessel-muted);
  font-size:13px;
  line-height:1.45;
}
.vessel-copy-note span { flex:none; color:var(--orange); font:650 11px var(--mono); }
.vessel-visual {
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:space-between;
  width:100%;
  max-width:none;
  height:760px;
  padding:0;
  overflow:visible;
  border:0;
  background:transparent;
}
.vessel-meta {
  position:relative;
  z-index:3;
  top:auto; left:auto; right:auto;
  padding:17px 0;
  border-top:1px solid var(--vessel-line);
  border-bottom:1px solid var(--vessel-line);
  color:var(--vessel-muted);
}
.vessel-stage {
  position:relative;
  display:flex;
  justify-content:center;
  align-items:center;
  flex:1;
  min-height:0;
  isolation:isolate;
}
.vessel-stage::before {
  content:'';
  position:absolute;
  left:14%; right:14%; bottom:6%;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--vessel-line),transparent);
}
.vessel-object {
  position:relative;
  z-index:1;
  height:min(100%,655px);
  aspect-ratio:2/3;
  --tilt-x:0deg;
  --tilt-y:0deg;
  transform:perspective(1200px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));
  transition:transform .4s cubic-bezier(.16,1,.3,1),translate .4s cubic-bezier(.16,1,.3,1);
}
.vessel-visual:hover .vessel-object { translate:0 -8px; }
.vessel-object img {
  position:absolute;
  z-index:2;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  pointer-events:none;
  filter:drop-shadow(0 32px 35px rgba(0,0,0,.18));
}
.vessel-contents {
  position:absolute;
  z-index:3;
  left:17%; right:17%; top:13%; bottom:13%;
  overflow:hidden;
}
.spark-container {
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  padding:0;
  border:0;
  pointer-events:none;
}
.spark-container::before { display:none; }
.spark {
  position:absolute;
  left:var(--x)!important;
  top:var(--y)!important;
  width:var(--size);
  height:calc(var(--size) * 1.7);
  min-width:0;
  border:1px solid rgba(255,235,204,.8);
  border-radius:2px;
  background:#ff9d5b;
  box-shadow:0 0 12px 3px rgba(246,104,54,.64),0 0 30px rgba(255,174,100,.5);
  transform:rotate(16deg);
  opacity:1;
  animation:ideaIgnite .95s cubic-bezier(.16,1,.3,1) both;
}
.spark:nth-child(2n),.spark:nth-child(3n) {
  border-color:rgba(255,246,220,.9);
  background:#ffe4b7;
  box-shadow:0 0 12px 3px rgba(255,184,108,.65),0 0 30px rgba(255,194,130,.5);
}
.spark.is-mine,.spark.is-highlighted {
  z-index:4;
  border-color:white;
  background:#fff6d8!important;
  box-shadow:0 0 0 5px rgba(255,159,84,.2),0 0 25px 10px rgba(255,172,94,.8)!important;
  transform:rotate(16deg) scale(1.55);
}
@keyframes ideaIgnite {
  from { opacity:0; translate:0 35px; scale:.2; }
  to { opacity:1; translate:0 0; scale:1; }
}
.vessel-side-note {
  position:absolute;
  right:0;
  top:41%;
  width:145px;
  padding-left:14px;
  border-left:1px solid var(--orange);
  color:var(--vessel-muted);
}
.vessel-side-note span { display:block; margin-bottom:10px; color:var(--orange); font:650 10px/1.4 var(--mono); letter-spacing:.055em; }
.vessel-side-note b { color:var(--text); font-size:15px; line-height:1.35; font-weight:520; }
.vessel-caption {
  position:relative;
  left:auto; right:auto; bottom:auto;
  display:flex;
  align-items:end;
  justify-content:space-between;
  min-height:76px;
  margin:0;
  padding:16px 0 0;
  border-top:1px solid var(--vessel-line);
  color:var(--vessel-muted);
}
.vessel-caption span { max-width:75%; color:var(--vessel-muted); font:650 11px/1.4 var(--mono); letter-spacing:.06em; }
.vessel-caption strong { color:var(--text); font:520 44px/.95 var(--body); letter-spacing:-.07em; }
.ideas-panel { margin-top:clamp(70px,8vw,120px); padding-top:32px; }
.ideas-heading { margin-bottom:29px; }
.ideas-heading h3 { max-width:680px; font-size:clamp(29px,3vw,48px); }
.idea-list { grid-template-columns:1fr 1fr; column-gap:5vw; row-gap:0; }
.idea-card {
  min-height:0;
  padding:25px 0 28px;
  border:0;
  border-top:1px solid var(--vessel-line);
  background:transparent;
  transition:padding .25s,border-color .25s;
}
.idea-card:hover,.idea-card.is-mine { border-color:var(--orange); transform:none; }
.idea-card:hover { padding-left:8px; }
.idea-card h4 { margin:16px 0 9px; font:550 23px/1.2 var(--body); letter-spacing:-.04em; }
.idea-card p { font-size:15px; line-height:1.5; }
.idea-meta { font-size:11px; }
.empty-ideas { padding:30px 0; border:0; border-top:1px solid var(--vessel-line); font-size:17px; }
html[data-theme=light] .vessel-object img { filter:drop-shadow(0 35px 40px rgba(30,25,20,.13)); }
@media(max-width:1100px) {
  .vessel-layout { grid-template-columns:1fr 1fr; gap:25px; }
  .vessel-copy h2 { font-size:clamp(54px,6vw,82px); }
  .vessel-visual { height:660px; }
  .vessel-side-note { right:-4%; top:48%; }
}
@media(max-width:900px) {
  .vessel-layout { grid-template-columns:1fr; }
  .vessel-copy { padding:0; }
  .vessel-copy h2 { max-width:none; font-size:clamp(60px,10vw,93px); }
  .vessel-copy p { max-width:650px; }
  .vessel-visual { height:710px; margin-top:40px; }
  .vessel-side-note { right:9%; }
}
@media(max-width:600px) {
  .vessel-section { padding:98px 0 90px; }
  .vessel-copy .eyebrow { margin-bottom:24px; }
  .vessel-copy h2 { font-size:clamp(53px,12vw,74px); margin-bottom:23px; }
  .vessel-copy p { font-size:17px; }
  .energy-stat { margin:34px 0 20px; }
  .energy-stat strong { font-size:80px; }
  .energy-stat span { font-size:14px; }
  .vessel-copy-note { font-size:12px; }
  .vessel-visual { height:540px; margin-top:47px; padding:0; }
  .vessel-meta { font-size:8px; gap:12px; }
  .vessel-meta span:last-child { text-align:right; }
  .vessel-object { height:min(100%,440px); }
  .vessel-side-note { display:none; }
  .vessel-caption { min-height:60px; }
  .vessel-caption span { font-size:9px; }
  .vessel-caption strong { font-size:34px; }
  .ideas-panel { margin-top:60px; }
  .ideas-heading { align-items:start; flex-direction:column; gap:8px; }
  .idea-list { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) {
  .spark { animation:none; }
  .vessel-visual:hover .vessel-object { translate:0; }
}
