:root {
  --ink: #07110d;
  --ink-deep: #040906;
  --panel: #0d1a13;
  --panel-soft: #122219;
  --paper: #eef3e7;
  --paper-2: #dfe7d7;
  --acid: #c5ff50;
  --acid-soft: #9ecf3d;
  --rust: #e76135;
  --cyan: #75e8d0;
  --line: rgba(213, 236, 199, .15);
  --muted: #8fa493;
  --white: #f6fbf0;
  --mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
  --sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --serif: Georgia, "Times New Roman", serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--ink); color: var(--white); font-family: var(--sans); overflow-x: hidden; }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
svg { display: block; }

.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 999; padding: .8rem 1rem; background: var(--acid); color: var(--ink); font-weight: 800; text-decoration: none; }
.skip-link:focus { top: 1rem; }
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.ambient { position: fixed; z-index: -1; width: 42vw; height: 42vw; border-radius: 50%; filter: blur(130px); opacity: .12; pointer-events: none; }
.ambient-a { left: -20vw; top: 18vh; background: var(--acid); }
.ambient-b { right: -22vw; top: 60vh; background: var(--rust); }

.site-header { height: 78px; padding: 0 clamp(1.25rem, 4vw, 4.8rem); border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; position: relative; z-index: 30; background: rgba(7,17,13,.82); backdrop-filter: blur(18px); }
.brand { display: inline-flex; align-items: center; gap: .7rem; text-decoration: none; font-weight: 900; font-size: .96rem; letter-spacing: -.02em; }
.brand > span > span { color: var(--acid); }
.brand-mark { width: 35px; height: 35px; fill: none; stroke: var(--acid); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.brand-mark .brand-circuit { stroke: var(--rust); stroke-width: 1.5; }
.desktop-nav { display: flex; align-items: center; gap: 2.2rem; }
.desktop-nav a { color: #b6c6b7; font-family: var(--mono); font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; text-decoration: none; position: relative; }
.desktop-nav a::after { content: ""; position: absolute; height: 1px; width: 0; background: var(--acid); left: 0; bottom: -.55rem; transition: width .25s ease; }
.desktop-nav a:hover::after, .desktop-nav a:focus-visible::after { width: 100%; }
.header-actions { display: flex; align-items: center; gap: 1.2rem; }
.season-pill { border: 1px solid var(--line); border-radius: 100px; display: inline-flex; align-items: center; gap: .5rem; padding: .48rem .8rem; font-family: var(--mono); font-size: .6rem; letter-spacing: .09em; color: #b2c3b4; text-transform: uppercase; }
.season-pill i, .signal i { width: 6px; height: 6px; background: var(--rust); border-radius: 50%; box-shadow: 0 0 0 4px rgba(231,97,53,.12); animation: statusPulse 2s ease infinite; }
.mini-cta { font-family: var(--mono); font-size: .67rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; border-bottom: 1px solid var(--acid); padding: .45rem 0; }

.hero { min-height: min(820px, calc(100vh - 78px)); display: grid; grid-template-columns: minmax(340px, .88fr) minmax(490px, 1.12fr); position: relative; padding: clamp(4rem, 7vw, 7.4rem) clamp(1.25rem, 6.4vw, 7.8rem) 5.3rem; gap: clamp(3rem, 5vw, 7rem); border-bottom: 1px solid var(--line); }
.hero::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px); background-size: 64px 64px; mask-image: linear-gradient(to bottom, #000, transparent 92%); pointer-events: none; }
.hero-copy { position: relative; z-index: 3; align-self: center; }
.eyebrow { display: flex; align-items: center; gap: .75rem; color: var(--acid); font-family: var(--mono); font-size: .68rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; margin-bottom: 1.45rem; }
.eyebrow span { border: 1px solid rgba(197,255,80,.38); padding: .28rem .38rem; font-size: .56rem; }
.hero h1, .section-intro h2, .protocol-heading h2, .tech-copy h2, .pilot-content h2 { margin: 0; font-size: clamp(3.5rem, 6.2vw, 7.2rem); line-height: .88; letter-spacing: -.075em; font-weight: 800; max-width: 900px; }
.hero h1 em, .section-intro h2 em, .protocol-heading h2 em, .tech-copy h2 em, .pilot-content h2 em { font-family: var(--serif); font-weight: 400; color: var(--rust); }
.hero h1 strong { color: var(--acid); font-weight: 800; }
.hero-lead { color: #a9b8aa; font-size: clamp(1rem, 1.25vw, 1.18rem); line-height: 1.75; max-width: 590px; margin: 2rem 0 2.3rem; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 1.25rem; align-items: center; }
.primary-cta { display: inline-flex; align-items: center; justify-content: center; gap: 1.25rem; min-height: 53px; padding: 0 1.35rem; background: var(--acid); color: var(--ink); text-decoration: none; font-family: var(--mono); font-size: .72rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; box-shadow: 5px 5px 0 rgba(197,255,80,.17); transition: transform .2s ease, box-shadow .2s ease; }
.primary-cta svg, .text-link svg, .vote-button svg { width: 19px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.primary-cta:hover, .primary-cta:focus-visible { transform: translate(-2px,-2px); box-shadow: 8px 8px 0 rgba(197,255,80,.18); }
.play-button { display: inline-flex; align-items: center; gap: .7rem; border: 0; background: none; color: #c4d0c2; cursor: pointer; font-size: .78rem; }
.play-icon { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; transition: border-color .2s, color .2s; }
.play-icon svg { width: 18px; fill: currentColor; }
.play-button:hover .play-icon { border-color: var(--acid); color: var(--acid); }
.trust-row { display: flex; flex-wrap: wrap; gap: 1.2rem; margin-top: 3.5rem; padding-top: 1.25rem; border-top: 1px solid var(--line); max-width: 610px; }
.trust-row span { display: flex; align-items: center; gap: .45rem; color: #778b7c; font-family: var(--mono); font-size: .58rem; text-transform: uppercase; letter-spacing: .06em; }
.trust-row svg { width: 16px; fill: none; stroke: var(--acid-soft); stroke-width: 1.4; }

.hero-visual { min-height: 610px; position: relative; align-self: center; border: 1px solid var(--line); background: radial-gradient(circle at 50% 43%, rgba(197,255,80,.08), transparent 38%), linear-gradient(150deg, rgba(255,255,255,.025), transparent 40%); box-shadow: inset 0 0 80px rgba(0,0,0,.35); overflow: hidden; }
.hero-visual::before, .hero-visual::after { content: ""; position: absolute; z-index: 2; width: 38px; height: 38px; border-color: var(--acid); opacity: .65; }
.hero-visual::before { left: 12px; top: 12px; border-left: 1px solid; border-top: 1px solid; }
.hero-visual::after { right: 12px; bottom: 47px; border-right: 1px solid; border-bottom: 1px solid; }
.visual-caption { position: absolute; left: 1.15rem; right: 1.15rem; top: 1rem; z-index: 4; display: flex; justify-content: space-between; font-family: var(--mono); font-size: .56rem; letter-spacing: .11em; color: #839588; }
.signal { display: flex; align-items: center; gap: .5rem; color: var(--acid-soft); }
.botanical-scan { position: absolute; width: min(100%, 680px); height: auto; left: 50%; top: 47%; transform: translate(-50%,-50%); overflow: visible; }
.scan-grid path { stroke: #96b59d; stroke-width: .5; fill: none; }
.scan-rings circle, .scan-rings path { stroke: rgba(197,255,80,.24); stroke-width: .7; fill: none; stroke-dasharray: 3 7; }
.scan-rings circle:nth-child(2) { stroke: rgba(117,232,208,.22); stroke-dasharray: 1 8; }
.orbit { fill: none; stroke-width: 1; stroke-dasharray: 2 9; }
.orbit-a { stroke: rgba(117,232,208,.65); animation: dash 18s linear infinite; }
.orbit-b { stroke: rgba(231,97,53,.48); animation: dash 24s linear reverse infinite; }
.plant-roots path { fill: none; stroke: rgba(197,255,80,.32); stroke-width: 1.2; }
.plant-roots circle { fill: var(--acid); }
.main-stem, .branch { fill: none; stroke: url(#stem); stroke-width: 5; stroke-linecap: round; }
.branch { stroke-width: 2.5; }
.leaves path { fill: rgba(98,144,50,.7); stroke: #b0e24c; stroke-width: 1.3; }
.tomatoes circle { fill: url(#fruit); stroke: #fa8c58; stroke-width: 1; }
.tomatoes path { fill: #799d38; stroke: #bcf252; stroke-width: .7; }
.measure-lines path { fill: none; stroke: rgba(197,255,80,.65); stroke-width: .8; }
.measure-lines circle { fill: var(--acid); }
.measure-text { font: 8px var(--mono); fill: #7d9584; letter-spacing: 1px; }
.measure-text .measure-value { fill: var(--acid); font-size: 14px; font-weight: 800; }
.measure-text .warm { fill: var(--rust); }
.model-node { position: absolute; z-index: 5; display: flex; align-items: center; gap: .55rem; padding: .52rem .7rem; background: rgba(5,13,9,.88); border: 1px solid var(--line); box-shadow: 0 10px 30px rgba(0,0,0,.25); }
.model-node > span { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid currentColor; font-family: var(--serif); font-size: 1.15rem; color: var(--acid); }
.model-node div { display: flex; flex-direction: column; gap: .12rem; }
.model-node b { font: 700 .54rem var(--mono); letter-spacing: .1em; }
.model-node small { color: #899a8c; font: .55rem var(--mono); }
.node-a { left: 4%; top: 25%; }
.node-b { right: 4%; top: 47%; }
.node-b > span { color: var(--rust); }
.node-c { left: 8%; bottom: 14%; }
.node-c > span { color: var(--cyan); }
.visual-footer { position: absolute; z-index: 4; bottom: 0; left: 0; right: 0; height: 42px; border-top: 1px solid var(--line); display: flex; justify-content: space-around; align-items: center; background: rgba(4,10,7,.8); font: .53rem var(--mono); letter-spacing: .06em; color: #6f8274; }
.visual-footer span { display: flex; align-items: center; gap: .32rem; }
.visual-footer i { width: 4px; height: 4px; border-radius: 50%; background: var(--acid); }
.visual-footer b { color: #afc1b1; }
.hero-index { position: absolute; bottom: 1.1rem; right: clamp(1.25rem, 6.4vw, 7.8rem); font: .6rem var(--mono); letter-spacing: .14em; color: #64776a; }
.hero-index span { color: var(--rust); }

.live-strip { min-height: 60px; padding: 0 clamp(1.25rem, 4vw, 4.8rem); display: grid; grid-template-columns: auto 1fr auto; gap: 2rem; align-items: center; border-bottom: 1px solid var(--line); background: #09140e; overflow: hidden; }
.strip-label, .strip-status { font: 700 .56rem var(--mono); letter-spacing: .12em; white-space: nowrap; color: #8da090; }
.strip-label { display: flex; align-items: center; gap: .6rem; color: var(--acid); }
.strip-label > span { width: 8px; height: 8px; background: var(--acid); box-shadow: 0 0 13px var(--acid); }
.strip-status b { color: var(--rust); margin-left: .6rem; }
.ticker { justify-self: center; display: flex; gap: 1.1rem; align-items: center; color: #708274; font: .56rem var(--mono); letter-spacing: .1em; white-space: nowrap; }
.ticker i { color: #344a3a; }

.twin-section { background: #dfe7d9; color: var(--ink); padding: clamp(5.5rem, 9vw, 9.5rem) clamp(1.25rem, 5vw, 6rem); border-bottom: 1px solid #bac6b6; }
.twin-intro { max-width: 1440px; }
.twin-intro .eyebrow { color: #745a24; }
.twin-intro .eyebrow span { border-color: rgba(116,90,36,.35); }
.twin-intro h2 { font-size: clamp(2.8rem, 5vw, 5.7rem); }
.twin-disclosure { max-width: 1440px; min-height: 48px; margin: 0 auto .8rem; display: grid; grid-template-columns: auto 1fr auto; gap: 1rem; align-items: center; border: 1px solid #b4c0b0; padding: .55rem .7rem; background: #edf2e8; }
.twin-lab-badge, .twin-source { display: inline-flex; align-items: center; gap: .5rem; white-space: nowrap; font: 800 .51rem var(--mono); letter-spacing: .09em; }
.twin-lab-badge { color: #8f3b24; background: #f1d2c5; border: 1px solid #daa58f; padding: .45rem .55rem; }
.twin-lab-badge i, .twin-source i { width: 5px; height: 5px; border-radius: 50%; background: var(--rust); }
.twin-disclosure p { margin: 0; color: #647166; font-size: .65rem; line-height: 1.45; }
.twin-disclosure p strong { color: #39493d; }
.twin-source { color: #66766a; }
.twin-source.loaded i { background: #709c28; }
.twin-source.fallback { color: #855139; }
.twin-console { max-width: 1440px; margin: 0 auto; background: var(--ink); color: var(--white); border: 1px solid #34463a; box-shadow: 16px 16px 0 #c3cec0; }
.twin-header { min-height: 66px; padding: .8rem 1rem; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); background: #0a1510; }
.twin-identity { display: flex; align-items: center; gap: .7rem; }
.twin-identity svg { width: 36px; height: 36px; padding: .35rem; fill: none; stroke: var(--acid); stroke-width: 1.4; border: 1px solid rgba(197,255,80,.23); }
.twin-identity > span { display: flex; flex-direction: column; gap: .22rem; }
.twin-identity small { color: #6f8274; font: .5rem var(--mono); letter-spacing: .1em; }
.twin-identity b { color: #c5d2c4; font-size: .72rem; }
.engine-status { display: flex; align-items: center; gap: .55rem; color: #617467; font: .48rem var(--mono); letter-spacing: .08em; }
.engine-status b { color: var(--acid); font-size: .52rem; }
.engine-status i { height: 20px; width: 1px; margin: 0 .4rem; background: var(--line); }
.strategy-bar { min-height: 80px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1rem; padding: .7rem 1rem; border-bottom: 1px solid var(--line); }
.strategy-bar > span:first-child, .strategy-note { color: #687a6c; font: 700 .5rem var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.strategy-tabs { justify-self: center; display: grid; grid-template-columns: repeat(3, minmax(150px, 205px)); border: 1px solid var(--line); }
.strategy-tabs button { position: relative; min-height: 51px; border: 0; border-right: 1px solid var(--line); background: transparent; color: #7c8f80; cursor: pointer; padding: .5rem .75rem .5rem 1.8rem; text-align: left; transition: color .2s, background .2s; }
.strategy-tabs button:last-child { border-right: 0; }
.strategy-tabs button > i { position: absolute; left: .75rem; top: 16px; width: 7px; height: 7px; border: 1px solid #6f8274; border-radius: 50%; }
.strategy-tabs button.active { background: rgba(197,255,80,.08); color: var(--white); }
.strategy-tabs button.active > i { border: 2px solid var(--acid); box-shadow: 0 0 8px rgba(197,255,80,.5); }
.strategy-tabs button { font: 700 .58rem var(--mono); letter-spacing: .04em; }
.strategy-tabs small { display: block; color: #5e7063; font-size: .45rem; margin-top: .25rem; }
.twin-grid { display: grid; grid-template-columns: minmax(300px,.75fr) minmax(440px,1.45fr) minmax(210px,.55fr); min-height: 600px; }
.twin-organism, .twin-timeline-panel { border-right: 1px solid var(--line); }
.twin-organism { display: flex; flex-direction: column; min-width: 0; background: radial-gradient(circle at 50% 40%,rgba(197,255,80,.06), transparent 42%); }
.organism-head, .readout-head { height: 42px; padding: 0 .8rem; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid var(--line); color: #687b6d; font: .48rem var(--mono); letter-spacing: .09em; }
.organism-head b, .readout-head b { color: var(--acid); }
.twin-plant { width: 100%; max-height: 510px; flex: 1; }
.twin-scan-lines path { stroke: rgba(182,213,184,.08); stroke-width: .6; fill: none; }
.soil-horizon { fill: url(#twinSoil); stroke: #59744d; stroke-width: 1; }
.moisture-field { fill: url(#waterDepth); transition: opacity .3s, transform .3s; }
.root-network { transition: opacity .3s, transform .3s; transform-origin: 212px 266px; }
.root-network path { fill: none; stroke: var(--cyan); stroke-width: 1.3; opacity: .67; }
.root-network circle { fill: var(--cyan); }
.canopy { transition: transform .35s; transform-origin: 212px 267px; }
.twin-stem, .twin-branch { fill: none; stroke: var(--acid-soft); stroke-width: 4; stroke-linecap: round; }
.twin-branch { stroke-width: 2; }
.twin-leaf { fill: rgba(92,135,45,.72); stroke: #afdc50; stroke-width: 1; }
.twin-fruit circle { fill: var(--rust); stroke: #ff936d; stroke-width: .8; }
.moisture-drops path { fill: var(--cyan); opacity: .65; }
.organism-labels path { fill: none; stroke: rgba(197,255,80,.5); stroke-width: .7; }
.organism-labels text { fill: #708375; font: 7px var(--mono); letter-spacing: 1px; }
.organism-labels .label-value { fill: var(--acid); font-size: 11px; font-weight: 800; }
.organism-labels .warm { fill: var(--rust); }.organism-labels .cyan { fill: var(--cyan); }
.organism-legend { min-height: 43px; display: flex; align-items: center; justify-content: center; gap: 1rem; border-top: 1px solid var(--line); color: #687a6c; font: .45rem var(--mono); text-transform: uppercase; letter-spacing: .06em; }
.organism-legend span { display: flex; align-items: center; gap: .35rem; }
.organism-legend i { width: 5px; height: 5px; border-radius: 50%; }
.canopy-dot { background: var(--acid); }.root-dot { background: #7ea151; }.water-dot { background: var(--cyan); }
.twin-timeline-panel { min-width: 0; }
.timeline-head { min-height: 88px; padding: 1.1rem 1.2rem; display: flex; justify-content: space-between; align-items: center; }
.timeline-head > div:first-child { display: flex; flex-direction: column; gap: .35rem; }
.timeline-head small { color: #64776a; font: .48rem var(--mono); letter-spacing: .1em; }
.timeline-head strong { font-size: 1.15rem; }
.metric-live { display: grid; grid-template-columns: auto auto; align-items: end; text-align: right; }
.metric-live > span { color: var(--acid); font: 800 2.1rem/1 var(--mono); letter-spacing: -.06em; }
.metric-live > i { color: var(--acid); font: normal .72rem var(--mono); padding: 0 0 .25rem .2rem; }
.metric-live small { grid-column: 1/-1; margin-top: .3rem; }
.metric-tabs { min-height: 56px; display: grid; grid-template-columns: repeat(6,1fr); border-block: 1px solid var(--line); }
.metric-tabs button { display: flex; gap: .35rem; align-items: center; justify-content: center; border: 0; border-right: 1px solid var(--line); background: transparent; color: #65786a; cursor: pointer; font: .48rem var(--mono); text-transform: uppercase; }
.metric-tabs button:last-child { border-right: 0; }
.metric-tabs button i { width: 5px; height: 5px; border: 1px solid currentColor; border-radius: 50%; }
.metric-tabs button.active { color: var(--acid); background: rgba(197,255,80,.05); }
.metric-tabs button.active i { background: var(--acid); box-shadow: 0 0 8px var(--acid); }
.timeline-chart { padding: 1.1rem 1rem .4rem; }
.static-fallback .timeline-chart { position: relative; opacity: .58; }
.static-fallback .timeline-chart::after { content: "APERÇU LOCAL — DONNÉES NON CHARGÉES"; position: absolute; inset: 50% auto auto 50%; transform: translate(-50%,-50%); width: max-content; max-width: 80%; padding: .5rem .65rem; color: var(--rust); border: 1px solid rgba(231,97,53,.45); background: rgba(7,17,13,.88); font: 700 .48rem var(--mono); letter-spacing: .09em; text-align: center; }
.timeline-chart svg { width: 100%; overflow: visible; }
.twin-chart-grid path { fill: none; stroke: rgba(223,239,221,.08); stroke-width: .7; }
.twin-chart-area { fill: url(#twinArea); transition: d .35s; }
.twin-chart-line { fill: none; stroke: var(--acid); stroke-width: 2.4; stroke-linejoin: round; transition: d .35s; filter: drop-shadow(0 0 4px rgba(197,255,80,.38)); }
.twin-chart-points circle { fill: var(--ink); stroke: var(--acid); stroke-width: 1.4; cursor: pointer; }
.twin-chart-points circle.active { fill: var(--acid); stroke-width: 3; }
.day-cursor { stroke: rgba(231,97,53,.7); stroke-width: .8; stroke-dasharray: 2 4; transition: x1 .25s, x2 .25s; }
.chart-labels { fill: #5b6f60; font: 8px var(--mono); }
.day-scrubber { min-height: 55px; display: grid; grid-template-columns: repeat(14,1fr); padding: 0 1rem 1rem; gap: 3px; }
.day-scrubber button { position: relative; min-width: 0; height: 30px; padding: 0; border: 1px solid #25372c; background: transparent; color: #536659; cursor: pointer; font: .42rem var(--mono); }
.day-scrubber button:hover { border-color: #637b67; }
.day-scrubber button.active { color: var(--ink); background: var(--rust); border-color: var(--rust); font-weight: 900; }
.twin-readout { min-width: 0; background: #09130e; }
.readout-head i { width: 5px; height: 5px; border-radius: 50%; background: var(--acid); box-shadow: 0 0 7px var(--acid); }
.twin-readout dl { margin: 0; padding: .7rem .8rem; }
.twin-readout dl > div { padding: .7rem 0; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: 1fr auto; gap: .4rem; }
.twin-readout dt { color: #718476; font-size: .62rem; align-self: end; }
.twin-readout dd { margin: 0; color: #d2dfd1; }
.twin-readout dd b { font: 800 1rem var(--mono); }
.twin-readout dd span { color: #687b6d; font: .48rem var(--mono); margin-left: .2rem; }
.twin-readout dl div > i { grid-column: 1/-1; height: 2px; background: #1e3025; }
.twin-readout dl div > i u { display: block; height: 100%; background: #728d40; text-decoration: none; transition: width .3s; }
.local-cost { margin: .4rem .8rem 1rem; border: 1px solid rgba(197,255,80,.16); padding: .8rem; background: rgba(197,255,80,.035); }
.local-cost span { display: block; color: #687a6c; font: .45rem var(--mono); letter-spacing: .08em; }
.local-cost b { display: block; color: var(--acid); font: 800 2.5rem/1 var(--mono); margin: .4rem 0; }
.local-cost small { color: #607264; font-size: .53rem; }
.twin-footer { min-height: 47px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .6rem 1rem; border-top: 1px solid var(--line); color: #607365; font: .46rem var(--mono); letter-spacing: .07em; text-transform: uppercase; }
.twin-footer span { display: flex; align-items: center; gap: .35rem; }.twin-footer i { width: 5px; height: 5px; border-radius: 50%; background: var(--acid); }.twin-footer b { color: #9cad9e; }

.duel-section { background: var(--paper); color: var(--ink); padding: clamp(5.5rem, 9vw, 9.5rem) clamp(1.25rem, 7vw, 8.5rem); }
.section-intro { display: grid; grid-template-columns: 1.1fr .6fr; gap: 5rem; align-items: end; max-width: 1320px; margin: 0 auto 3.2rem; }
.section-intro .eyebrow { color: #5a742b; }
.section-intro .eyebrow span { border-color: rgba(90,116,43,.35); }
.section-intro h2, .protocol-heading h2, .tech-copy h2, .pilot-content h2 { font-size: clamp(2.8rem, 5vw, 5.7rem); }
.section-intro p { color: #5b695d; line-height: 1.7; font-size: 1rem; max-width: 460px; margin: 0 0 .4rem; }
.demo-disclosure { max-width: 1320px; margin: 0 auto 1.15rem; display: flex; gap: .75rem; align-items: flex-start; padding: .9rem 1rem; color: #72533f; border: 1px solid rgba(170,91,48,.22); background: rgba(231,97,53,.06); font-size: .72rem; line-height: 1.5; }
.demo-disclosure svg { width: 18px; flex: 0 0 auto; fill: none; stroke: var(--rust); stroke-width: 1.5; }
.demo-disclosure strong { color: #873c25; }
.battle-console { max-width: 1320px; margin: 0 auto; border: 1px solid #bdc8b8; background: #f7faf3; box-shadow: 14px 14px 0 #dce5d5; }
.battle-header { min-height: 92px; display: flex; align-items: center; justify-content: space-between; padding: 1.3rem 1.6rem; border-bottom: 1px solid #cbd4c6; }
.specimen-id { display: flex; align-items: center; gap: 1rem; }
.specimen-thumb { display: grid; place-items: center; width: 54px; height: 54px; background: var(--ink); }
.specimen-thumb svg { width: 38px; fill: none; stroke: var(--acid); stroke-width: 1.25; }
.specimen-thumb circle { fill: var(--rust); stroke: none; }
.specimen-id small, .countdown small { display: block; color: #6b7d6d; font: 700 .55rem var(--mono); letter-spacing: .12em; margin-bottom: .3rem; }
.specimen-id h3 { margin: 0; font-size: 1.35rem; letter-spacing: -.025em; }
.countdown { text-align: right; }
.countdown strong { font: 800 1.15rem var(--mono); letter-spacing: .04em; }
.countdown strong span { color: #31513c; }
.countdown strong i { color: #819184; font-size: .55rem; font-style: normal; margin-right: .4rem; }
.evidence-bar { min-height: 62px; display: grid; grid-template-columns: repeat(4,1fr); border-bottom: 1px solid #cbd4c6; background: #eef3e9; }
.evidence-bar span { display: flex; flex-direction: column; justify-content: center; padding: .85rem 1.3rem; color: #3f5143; font-size: .75rem; border-right: 1px solid #cbd4c6; }
.evidence-bar span:last-child { border-right: 0; }
.evidence-bar b { font: 700 .5rem var(--mono); letter-spacing: .1em; color: #829083; margin-bottom: .24rem; }
.predictions fieldset { padding: 0; margin: 0; border: 0; display: grid; grid-template-columns: repeat(3,1fr); }
.prediction-card { position: relative; padding: 1.6rem; min-height: 350px; border-right: 1px solid #cbd4c6; cursor: pointer; display: flex; flex-direction: column; transition: background .2s, box-shadow .2s; overflow: hidden; }
.prediction-card:last-child { border-right: 0; }
.prediction-card:hover { background: #f0f6e9; }
.prediction-card:has(input:focus-visible) { outline: 3px solid var(--rust); outline-offset: -3px; }
.prediction-card.selected { background: #edf8d7; box-shadow: inset 0 4px 0 #6e9a21; }
.prediction-card input { position: absolute; opacity: 0; pointer-events: none; }
.prediction-card.featured::before { content: ""; position: absolute; width: 150px; height: 150px; right: -75px; top: -75px; border: 1px solid rgba(231,97,53,.18); border-radius: 50%; box-shadow: 0 0 0 20px rgba(231,97,53,.025), 0 0 0 45px rgba(231,97,53,.018); }
.model-glyph { display: grid; place-items: center; width: 46px; height: 46px; border: 1px solid #9aa89a; font: 1.7rem var(--serif); color: #405547; margin-bottom: 1.25rem; }
.prediction-head { display: flex; justify-content: space-between; gap: .5rem; align-items: center; }
.prediction-head b { font: 800 .65rem var(--mono); letter-spacing: .12em; }
.prediction-head i { font: 700 .47rem var(--mono); font-style: normal; color: #788679; border: 1px solid #c7d1c3; padding: .27rem .35rem; }
.prediction-date { padding: 1.4rem 0 1rem; display: grid; grid-template-columns: 1fr auto; align-items: end; border-bottom: 1px solid #d5ddd2; }
.prediction-date small { grid-column: 1/-1; font: 700 .51rem var(--mono); color: #7c8b7d; letter-spacing: .1em; }
.prediction-date strong { font-size: 3rem; line-height: 1; letter-spacing: -.06em; }
.prediction-date em { color: #6e7c70; font-size: .75rem; font-style: normal; padding-bottom: .25rem; }
.confidence { padding: 1.1rem 0 .9rem; display: flex; align-items: center; gap: 1rem; }
.confidence > span { min-width: 80px; }
.confidence small { font: .48rem var(--mono); letter-spacing: .08em; color: #7d8a7e; display: block; }
.confidence b { font: 800 .85rem var(--mono); }
.confidence > i { height: 4px; flex: 1; background: #dce4d8; }
.confidence u { display: block; width: var(--confidence); height: 100%; background: #729c29; text-decoration: none; }
.reasoning { color: #5b695d; font-size: .78rem; line-height: 1.55; flex: 1; }
.select-indicator { display: flex; align-items: center; gap: .55rem; color: #6a786c; font: 700 .53rem var(--mono); letter-spacing: .08em; text-transform: uppercase; margin-top: 1.2rem; }
.select-indicator i { width: 14px; height: 14px; border: 1px solid #93a095; border-radius: 50%; }
.selected .select-indicator { color: #547a16; }
.selected .select-indicator i { border: 4px solid #6f9d25; }
.vote-bar { min-height: 82px; background: var(--ink); color: var(--white); display: flex; align-items: center; justify-content: space-between; padding: 1rem 1.5rem; gap: 2rem; }
.vote-copy { display: flex; flex-direction: column; gap: .3rem; }
.vote-copy span { font: .52rem var(--mono); letter-spacing: .11em; color: var(--acid); }
.vote-copy b { font-size: .73rem; color: #99aa9c; font-weight: 500; }
.vote-button { min-height: 45px; display: inline-flex; align-items: center; gap: 1rem; border: 0; padding: 0 1rem; color: var(--ink); background: var(--acid); font: 800 .65rem var(--mono); letter-spacing: .07em; text-transform: uppercase; cursor: pointer; transition: opacity .2s; }
.vote-button:disabled { opacity: .27; cursor: not-allowed; }
.vote-success { min-height: 110px; background: var(--ink); color: var(--white); display: flex; align-items: center; gap: 1rem; padding: 1.2rem 1.5rem; }
.vote-success[hidden] { display: none; }
.success-mark { width: 48px; height: 48px; display: grid; place-items: center; border: 1px solid var(--acid); flex: 0 0 auto; }
.success-mark svg { width: 30px; fill: none; stroke: var(--acid); stroke-width: 2; }
.vote-success > div:nth-child(2) { flex: 1; }
.vote-success small { display: block; color: var(--acid); font: .53rem var(--mono); letter-spacing: .1em; margin-bottom: .25rem; }
.vote-success strong { display: block; font-size: .9rem; }
.vote-success p { color: #899b8b; font-size: .68rem; margin: .3rem 0 0; }
.vote-success button { color: #abbcac; border: 1px solid #405044; background: transparent; padding: .5rem .7rem; cursor: pointer; font: .58rem var(--mono); text-transform: uppercase; }

.protocol-section { padding: clamp(5.5rem, 9vw, 9rem) clamp(1.25rem, 7vw, 8.5rem); background: var(--ink); }
.protocol-heading { max-width: 850px; margin-bottom: 5rem; }
.protocol-heading .light { color: var(--cyan); }
.protocol-heading .light span { border-color: rgba(117,232,208,.35); }
.protocol-heading h2 { max-width: 790px; }
.protocol-heading p { color: var(--muted); line-height: 1.7; }
.protocol-flow { display: grid; grid-template-columns: 1fr 100px 1fr 100px 1fr; max-width: 1320px; margin: 0 auto 6rem; }
.protocol-flow article { min-height: 320px; padding: 1.7rem; border: 1px solid var(--line); position: relative; background: linear-gradient(145deg, rgba(255,255,255,.025), transparent); }
.flow-number { position: absolute; top: 1rem; right: 1rem; color: #526557; font: .55rem var(--mono); }
.flow-icon { width: 64px; height: 64px; display: grid; place-items: center; margin-bottom: 3.5rem; background: rgba(197,255,80,.05); border: 1px solid rgba(197,255,80,.18); }
.flow-icon svg { width: 42px; fill: none; stroke: var(--acid); stroke-width: 1.2; }
.models-icon svg { stroke: var(--rust); }
.truth-icon svg { stroke: var(--cyan); }
.protocol-flow h3 { font-size: 1.1rem; margin: 0 0 .8rem; }
.protocol-flow p { color: var(--muted); line-height: 1.6; font-size: .8rem; min-height: 80px; }
.protocol-flow article small { font: .51rem var(--mono); color: #66806b; letter-spacing: .1em; }
.flow-line { align-self: center; height: 1px; background: #2e4133; position: relative; overflow: hidden; }
.flow-line span { width: 35%; height: 1px; background: var(--acid); position: absolute; animation: flow 2.4s linear infinite; }
.dual-score { max-width: 1320px; margin: 0 auto; min-height: 240px; border: 1px solid var(--line); display: grid; grid-template-columns: .9fr .75fr 1fr; align-items: center; background: #0a1510; }
.score-copy { padding: 2rem; }
.score-copy > span { color: var(--rust); font: .55rem var(--mono); letter-spacing: .11em; }
.score-copy h3 { font-size: clamp(1.4rem, 2.2vw, 2.1rem); letter-spacing: -.04em; max-width: 420px; margin: .8rem 0 0; }
.score-switch { margin: 1.5rem; display: grid; grid-template-columns: 1fr 1fr; position: relative; border: 1px solid var(--line); }
.score-switch button { position: relative; z-index: 2; min-height: 116px; border: 0; background: transparent; color: #708274; display: flex; flex-direction: column; justify-content: center; cursor: pointer; }
.score-switch button span { font: .52rem var(--mono); letter-spacing: .1em; }
.score-switch button b { font: 800 1.75rem var(--mono); margin: .4rem 0 .2rem; }
.score-switch button small { font-size: .62rem; }
.score-switch button.active { color: var(--ink); }
.score-cursor { position: absolute; z-index: 1; top: 0; bottom: 0; left: 0; width: 50%; background: var(--acid); transition: transform .35s cubic-bezier(.2,.8,.2,1), background .2s; }
.score-switch.reality .score-cursor { transform: translateX(100%); background: var(--cyan); }
.score-chart { padding: 2rem; border-left: 1px solid var(--line); }
.score-chart svg { width: 100%; overflow: visible; }
.chart-grid { fill: none; stroke: rgba(255,255,255,.07); stroke-width: 1; }
.chart-area { fill: rgba(197,255,80,.05); }
.chart-line { fill: none; stroke: var(--acid); stroke-width: 2; transition: d .35s; }
.chart-points { fill: var(--acid); }
.reality-chart .chart-area { fill: rgba(117,232,208,.05); }
.reality-chart .chart-line { stroke: var(--cyan); }
.reality-chart .chart-points { fill: var(--cyan); }
.score-chart > small { display: flex; align-items: center; justify-content: flex-end; gap: .4rem; font: .48rem var(--mono); letter-spacing: .08em; color: #66796a; }
.score-chart > small i { width: 5px; height: 5px; background: var(--rust); border-radius: 50%; }

.technology-section { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(3rem, 8vw, 9rem); padding: clamp(5.5rem, 9vw, 9rem) clamp(1.25rem, 7vw, 8.5rem); background: #e3eadc; color: var(--ink); }
.tech-copy { align-self: center; }
.tech-copy .eyebrow { color: #745a24; }
.tech-copy .eyebrow span { border-color: rgba(116,90,36,.35); }
.tech-copy h2 { max-width: 650px; }
.tech-copy > p { color: #5d6b5f; line-height: 1.75; max-width: 580px; margin: 1.8rem 0 2.4rem; }
.tech-principles { border-top: 1px solid #b9c5b5; }
.tech-principles > div { display: flex; align-items: flex-start; gap: 1rem; padding: 1.05rem 0; border-bottom: 1px solid #b9c5b5; }
.tech-principles > div > span { color: #708463; font: .57rem var(--mono); padding-top: .25rem; }
.tech-principles p { margin: 0; display: flex; flex-direction: column; gap: .2rem; }
.tech-principles b { font-size: .82rem; }
.tech-principles small { color: #6e7d70; font-size: .72rem; }
.ecosystem-roadmap { margin-top: 1.4rem; padding: 1rem; border: 1px solid #b6c3b2; background: rgba(255,255,255,.22); }
.ecosystem-roadmap > span { color: #7d5a30; font: 800 .48rem var(--mono); letter-spacing: .1em; }
.ecosystem-roadmap p { margin: .55rem 0 .4rem; color: #4e6052; font-size: .72rem; line-height: 1.55; }
.ecosystem-roadmap p b { color: #213128; }
.ecosystem-roadmap small { color: #7d897e; font-size: .6rem; }
.rust-core { position: relative; align-self: center; }
.rust-disclosure { color: #805a3f; background: #f0d6c7; border: 1px solid #d6a88f; padding: .55rem .7rem; font: 700 .51rem var(--mono); letter-spacing: .1em; text-align: center; margin-bottom: .65rem; }
.code-window { position: relative; z-index: 2; background: var(--ink); box-shadow: 16px 16px 0 #c8d2c2; color: #d2dfd1; border: 1px solid #314237; }
.code-window header { height: 46px; border-bottom: 1px solid #26372d; display: flex; align-items: center; padding: 0 1rem; font: .55rem var(--mono); }
.code-window header > span { display: flex; gap: .35rem; margin-right: 1rem; }
.code-window header i { width: 7px; height: 7px; background: #47594c; border-radius: 50%; }
.code-window header i:first-child { background: var(--rust); }
.code-window header b { letter-spacing: .04em; }
.code-window header small { color: #718475; letter-spacing: .08em; margin-left: auto; }
.code-window pre { margin: 0; padding: clamp(1.2rem, 3vw, 2.2rem); overflow: auto; font: clamp(.63rem, 1vw, .82rem)/1.75 var(--mono); tab-size: 2; }
.code-dim { color: #43564a; user-select: none; }
.code-key, .code-let { color: #f18a60; }
.code-type { color: var(--acid); }
.code-fn { color: var(--cyan); }
.code-window footer { min-height: 46px; border-top: 1px solid #26372d; display: flex; gap: 1.4rem; align-items: center; padding: .6rem 1rem; color: #809182; font: .48rem var(--mono); letter-spacing: .08em; }
.code-window footer span { display: flex; align-items: center; gap: .35rem; }
.code-window footer i { width: 4px; height: 4px; border-radius: 50%; background: var(--acid); }
.core-map { margin: 2.8rem 0 0; height: 160px; border: 1px solid #b5c2b1; position: relative; background-image: linear-gradient(rgba(42,67,49,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(42,67,49,.05) 1px, transparent 1px); background-size: 24px 24px; }
.core-map svg { position: absolute; inset: 0; width: 100%; height: 100%; fill: none; stroke: #7d947e; stroke-width: 1; }
.core-node, .core-output, .core-engine { position: absolute; z-index: 2; display: grid; place-items: center; background: #e3eadc; border: 1px solid #879989; font: 700 .48rem var(--mono); letter-spacing: .07em; }
.core-node { width: 70px; height: 26px; left: 5px; }
.core-node.n1 { top: 19px; }.core-node.n2 { top: 66px; }.core-node.n3 { top: 115px; }
.core-engine { width: 86px; height: 86px; left: 33%; top: 36px; border-radius: 50%; background: var(--rust); color: white; border-color: #b34020; box-shadow: 0 0 0 8px rgba(231,97,53,.11); }
.core-engine b { font-size: .86rem; }.core-engine small { font-size: .4rem; }
.core-output { width: 70px; height: 34px; right: 5px; top: 62px; background: var(--acid); border-color: #7da626; }

.pilot-section { min-height: 630px; position: relative; display: grid; place-items: center; padding: 6rem 1.25rem; background: var(--ink-deep); overflow: hidden; text-align: center; }
.pilot-section::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(197,255,80,.025) 1px, transparent 1px),linear-gradient(90deg,rgba(197,255,80,.025) 1px,transparent 1px); background-size: 70px 70px; mask-image: radial-gradient(circle, #000, transparent 70%); }
.pilot-orbit { position: absolute; width: min(78vw, 920px); aspect-ratio: 1; border: 1px solid rgba(197,255,80,.09); border-radius: 50%; animation: rotate 50s linear infinite; }
.pilot-orbit::before, .pilot-orbit::after { content: ""; position: absolute; border: 1px solid rgba(117,232,208,.07); border-radius: 50%; inset: 12%; }
.pilot-orbit::after { inset: 29%; border-color: rgba(231,97,53,.12); }
.pilot-orbit i { position: absolute; width: 6px; height: 6px; border-radius: 50%; background: var(--acid); box-shadow: 0 0 12px var(--acid); }
.pilot-orbit i:nth-child(1) { top: 12%; left: 26%; }.pilot-orbit i:nth-child(2) { right: 4%; top: 54%; background: var(--rust); }.pilot-orbit i:nth-child(3) { bottom: 23%; left: 12%; background: var(--cyan); }
.pilot-content { position: relative; z-index: 2; max-width: 900px; }
.eyebrow.centered { justify-content: center; }
.pilot-content h2 { margin-inline: auto; }
.pilot-content p { color: #8b9e8e; line-height: 1.7; max-width: 620px; margin: 1.8rem auto 2.2rem; }
.pilot-actions { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 1.5rem; }
.text-link { display: inline-flex; align-items: center; gap: .7rem; font: 700 .67rem var(--mono); letter-spacing: .06em; text-transform: uppercase; text-decoration: none; padding: .7rem 0; border-bottom: 1px solid #607064; }
.text-link svg { width: 17px; }
.pilot-note { display: block; margin-top: 1.5rem; color: #5e7162; font: .52rem var(--mono); letter-spacing: .06em; text-transform: uppercase; }

.site-footer { min-height: 170px; padding: 2.5rem clamp(1.25rem, 4vw, 4.8rem) 1.5rem; display: grid; grid-template-columns: auto 1fr; gap: 1rem 3rem; align-items: center; border-top: 1px solid var(--line); background: var(--ink-deep); }
.footer-brand { align-self: start; }
.site-footer > p { justify-self: end; align-self: start; color: #718375; margin: .7rem 0; font-size: .72rem; }
.footer-meta { grid-column: 1/-1; display: flex; justify-content: space-between; padding-top: 1.3rem; border-top: 1px solid var(--line); color: #506155; font: .48rem var(--mono); letter-spacing: .08em; }

@keyframes dash { to { stroke-dashoffset: -200; } }
@keyframes flow { from { left: -35%; } to { left: 100%; } }
@keyframes rotate { to { transform: rotate(360deg); } }
@keyframes statusPulse { 50% { opacity: .45; box-shadow: 0 0 0 7px rgba(231,97,53,0); } }

@media (max-width: 1100px) {
  .hero { grid-template-columns: 1fr; min-height: auto; }
  .hero-copy { max-width: 790px; }
  .hero-visual { width: min(100%,760px); min-height: 650px; margin-inline: auto; }
  .desktop-nav { display: none; }
  .protocol-flow { grid-template-columns: 1fr 55px 1fr 55px 1fr; }
  .technology-section { grid-template-columns: 1fr; }
  .tech-copy { max-width: 750px; }
  .rust-core { width: min(100%,800px); }
  .dual-score { grid-template-columns: 1fr 1fr; }
  .score-chart { grid-column: 1/-1; border-left: 0; border-top: 1px solid var(--line); }
  .twin-grid { grid-template-columns: minmax(280px,.7fr) minmax(440px,1.3fr); }
  .twin-readout { grid-column: 1/-1; border-top: 1px solid var(--line); }
  .twin-readout dl { display: grid; grid-template-columns: repeat(3,1fr); gap: 0 1rem; }
  .local-cost { display: flex; align-items: center; gap: 1rem; }
  .local-cost b { margin-left: auto; }
}

@media (max-width: 760px) {
  .site-header { height: 66px; }
  .season-pill { display: none; }
  .mini-cta { font-size: .58rem; }
  .hero { padding-top: 4.5rem; }
  .hero h1 { font-size: clamp(3.2rem, 16vw, 5.2rem); }
  .hero-visual { min-height: 520px; }
  .botanical-scan { width: 600px; max-width: none; }
  .model-node { transform: scale(.82); }
  .node-a { left: 0; }.node-b { right: -2%; }.node-c { left: 2%; }
  .visual-footer span:nth-child(2) { display: none; }
  .hero-index { display: none; }
  .live-strip { grid-template-columns: 1fr auto; }
  .ticker { display: none; }
  .section-intro { grid-template-columns: 1fr; gap: 1.4rem; }
  .battle-header { align-items: flex-start; }
  .countdown { padding-top: .3rem; }
  .evidence-bar { grid-template-columns: 1fr 1fr; }
  .evidence-bar span:nth-child(2) { border-right: 0; }
  .evidence-bar span:nth-child(-n+2) { border-bottom: 1px solid #cbd4c6; }
  .predictions fieldset { grid-template-columns: 1fr; }
  .prediction-card { min-height: auto; border-right: 0; border-bottom: 1px solid #cbd4c6; }
  .prediction-card:last-child { border-bottom: 0; }
  .prediction-head { justify-content: flex-start; }
  .prediction-card .model-glyph { position: absolute; right: 1.5rem; top: 1.4rem; width: 38px; height: 38px; }
  .prediction-card .prediction-head { padding-right: 50px; }
  .prediction-date { max-width: 330px; }
  .vote-bar { align-items: stretch; flex-direction: column; gap: .9rem; }
  .vote-button { justify-content: center; }
  .vote-success { align-items: flex-start; flex-wrap: wrap; }
  .protocol-flow { grid-template-columns: 1fr; gap: 0; }
  .flow-line { width: 1px; height: 48px; justify-self: center; }
  .flow-line span { width: 1px; height: 35%; animation: flowDown 2.4s linear infinite; }
  .protocol-flow article { min-height: auto; }
  .protocol-flow p { min-height: auto; }
  .flow-icon { margin-bottom: 2rem; }
  .dual-score { grid-template-columns: 1fr; }
  .score-switch { margin-top: 0; }
  .score-chart { grid-column: auto; }
  .core-map { display: none; }
  .site-footer { grid-template-columns: 1fr; }
  .site-footer > p { justify-self: start; }
  .twin-disclosure { grid-template-columns: 1fr auto; }
  .twin-disclosure p { grid-column: 1/-1; grid-row: 2; }
  .strategy-bar { grid-template-columns: 1fr; }
  .strategy-bar > span:first-child, .strategy-note { display: none; }
  .strategy-tabs { width: 100%; grid-template-columns: repeat(3,1fr); }
  .twin-grid { grid-template-columns: 1fr; }
  .twin-organism, .twin-timeline-panel { border-right: 0; border-bottom: 1px solid var(--line); }
  .twin-organism { max-height: 550px; }
  .twin-plant { height: 465px; }
  .twin-readout { grid-column: auto; border-top: 0; }
  .twin-readout dl { grid-template-columns: 1fr 1fr; }
  .twin-footer { flex-wrap: wrap; }
}

@media (max-width: 480px) {
  .brand { font-size: .78rem; }
  .brand-mark { width: 30px; height: 30px; }
  .mini-cta { display: none; }
  .hero { padding-inline: 1rem; gap: 3.5rem; }
  .hero-lead { font-size: .95rem; }
  .hero-actions { align-items: stretch; flex-direction: column; }
  .primary-cta { width: 100%; }
  .play-button { justify-content: center; }
  .trust-row { gap: .7rem; }
  .hero-visual { min-height: 460px; }
  .botanical-scan { width: 520px; }
  .model-node { transform: scale(.72); transform-origin: left center; }
  .node-b { transform-origin: right center; }
  .visual-footer { justify-content: space-evenly; }
  .visual-footer span:last-child { display: none; }
  .strip-status { font-size: .45rem; }
  .duel-section, .protocol-section, .technology-section { padding-inline: 1rem; }
  .battle-console { box-shadow: 7px 7px 0 #dce5d5; }
  .battle-header { flex-direction: column; gap: 1rem; }
  .countdown { text-align: left; }
  .evidence-bar { grid-template-columns: 1fr; }
  .evidence-bar span { border-right: 0; border-bottom: 1px solid #cbd4c6; }
  .evidence-bar span:last-child { border-bottom: 0; }
  .prediction-card { padding: 1.25rem; }
  .prediction-head { flex-direction: column; align-items: flex-start; }
  .vote-success { padding: 1rem; }
  .dual-score { margin-inline: 0; }
  .score-copy, .score-chart { padding: 1.25rem; }
  .score-switch { margin-inline: 1rem; }
  .code-window header small { display: none; }
  .code-window pre { font-size: .58rem; }
  .code-window footer { gap: .6rem; flex-wrap: wrap; }
  .footer-meta { flex-direction: column; gap: .6rem; }
  .twin-section { padding-inline: .7rem; }
  .twin-source { font-size: .42rem; }
  .twin-disclosure { grid-template-columns: 1fr; }
  .twin-disclosure p { grid-column: auto; grid-row: auto; }
  .twin-header { align-items: stretch; flex-direction: column; gap: .55rem; }
  .engine-status { justify-content: flex-end; }
  .engine-status span, .engine-status i { display: none; }
  .strategy-tabs button { min-width: 0; padding: .5rem .25rem; text-align: center; }
  .strategy-tabs button > i { display: none; }
  .strategy-tabs small { font-size: .38rem; }
  .metric-tabs { display: flex; overflow-x: auto; }
  .metric-tabs button { flex: 1 0 88px; }
  .metric-tabs button { min-height: 40px; border-bottom: 1px solid var(--line); }
  .timeline-head { padding-inline: .8rem; }
  .timeline-head strong { font-size: .92rem; }
  .metric-live > span { font-size: 1.7rem; }
  .day-scrubber { grid-template-columns: repeat(7,1fr); }
  .twin-readout dl { grid-template-columns: 1fr; }
  .local-cost { display: block; }
}

@keyframes flowDown { from { top: -35%; } to { top: 100%; } }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
