/* Cerebro stationary product and focused page layouts. Shared theme stays intact. */
:root, [data-theme="dark"] {
  --sense-eeg: #b29aff;
  --sense-meg: #7dccff;
  --sense-optical: #73dfbd;
  --stimulus: #f7a1b3;
  --art-body: #505361;
  --art-edge: #8b91a3;
  --art-seat: #303440;
}
[data-theme="light"] {
  --sense-eeg: #6943cf;
  --sense-meg: #216799;
  --sense-optical: #08765b;
  --stimulus: #ae3655;
  --art-body: #b9beca;
  --art-edge: #657084;
  --art-seat: #dce0e8;
}
.station-site h1, .station-site h2, .station-site h3 { text-wrap: balance; }
.station-site p { text-wrap: pretty; }
.station-site .site-header .wrap { height: 76px; gap: 24px; }
.station-site .site-nav { display: flex; margin-left: auto; gap: 24px; }
.station-site .site-nav a { font-size: 14px; text-decoration: none; white-space: nowrap; }
.station-site .site-nav a[aria-current="page"] { color: var(--accent); }
.station-site .header-actions { margin-left: 0; }
.station-site .site-footer { font-size: 13px; }
.station-site .site-footer .wrap { gap: 20px; }
.station-hero { padding: 64px 0 76px; background: var(--hero-wash); border-bottom: 1px solid var(--line); }
.station-hero-grid { display: grid; grid-template-columns: .94fr 1.15fr; gap: 24px; align-items: center; }
.station-hero-copy h1 { margin: 28px 0; font-size: clamp(44px, 4.6vw, 64px); line-height: 1.04; font-weight: 630; letter-spacing: -.055em; }
.station-lede { color: var(--text-2); font-size: clamp(19px, 1.75vw, 23px); line-height: 1.65; max-width: 850px; margin: 24px 0; }
.station-subcopy { max-width: 480px; color: var(--muted); font-size: 16px; line-height: 1.8; }
.hero-capabilities { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 32px; }
.hero-capabilities span { border: 1px solid var(--line-strong); padding: 5px 11px; border-radius: 20px; color: var(--muted); font-size: 12px; }
.hero-capabilities span:nth-child(1) { color: var(--sense-eeg); }
.hero-capabilities span:nth-child(2) { color: var(--sense-meg); }
.hero-capabilities span:nth-child(3) { color: var(--sense-optical); }
.station-visual { margin: 0; min-width: 0; }
.station-art { width: 100%; height: auto; }
.station-key { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px 16px; margin: 18px 0 0; padding: 0; list-style: none; }
.station-key li { display: flex; gap: 10px; align-items: center; font-size: 12px; color: var(--text-2); }
.station-key b { color: var(--accent); width: 19px; height: 19px; flex: 0 0 19px; display: grid; place-items: center; border: 1px solid var(--line-strong); border-radius: 50%; font-size: 11px; }
.art-stop-light { stop-color: var(--art-seat); }
.art-stop-dark { stop-color: var(--surface); }
.art-stop-glow { stop-color: var(--accent); stop-opacity: .14; }
.art-stop-clear { stop-color: var(--accent); stop-opacity: 0; }
.art-grid { fill: none; stroke: var(--line); stroke-width: 1; }
.art-support { fill: none; stroke: var(--art-edge); stroke-width: 3; stroke-linejoin: round; }
.art-support .art-foot { fill: var(--surface-2); }
.art-chair { stroke: var(--art-edge); stroke-width: 2; fill: none; }
.art-chair .art-cushion { fill: var(--art-seat); stroke: var(--line-strong); }
.art-chair .art-arm { stroke-width: 6; stroke-linecap: round; }
.art-person { fill: var(--art-body); stroke: var(--art-edge); stroke-width: 1.5; }
.art-face { fill: none; }
.art-array { fill: none; stroke: var(--art-edge); stroke-width: 2; }
.art-arch { stroke-width: 7; }
.art-electrical-line { fill: none; stroke: var(--sense-eeg); stroke-width: 2.5; }
.art-magnetic-line { fill: none; stroke: var(--sense-meg); stroke-width: 2; }
.art-optical-line { fill: none; stroke: var(--sense-optical); stroke-width: 2.5; }
.art-electrode { fill: var(--sense-eeg); stroke: var(--bg); stroke-width: 1; }
.art-optode { fill: var(--sense-optical); stroke: var(--bg); stroke-width: 1; }
.art-opm { fill: var(--surface-2); stroke: var(--sense-meg); stroke-width: 2; }
.art-coil-arm { fill: none; stroke: var(--art-edge); stroke-width: 3; }
.art-coil { fill: var(--surface); stroke: var(--stimulus); stroke-width: 5; }
.art-output-line { fill: none; stroke: var(--stimulus); stroke-width: 3; }
.art-screen, .art-rack { fill: var(--surface-2); stroke: var(--art-edge); stroke-width: 2; }
.art-screen-face, .art-rack-front { fill: var(--bg); stroke: var(--line-strong); }
.art-slot { stroke: var(--muted); }
.art-cable { stroke-width: 2; opacity: .7; stroke-dasharray: 5 5; }
.art-pins circle { fill: var(--surface); stroke: var(--accent); stroke-width: 2; }
.art-pins text { fill: var(--accent); font: 600 28px var(--font-sans); dominant-baseline: central; text-anchor: middle; }
.station-band { padding: 88px 0; border-bottom: 1px solid var(--line); }
.station-band.flush-top { padding-top: 0; }
.section-heading { max-width: 800px; margin-bottom: 40px; }
.section-heading h2, .closing-grid h2 { margin: 0 0 24px; font-size: clamp(32px, 3.8vw, 51px); line-height: 1.12; letter-spacing: -.04em; font-weight: 610; }
.section-heading p, .closing-grid > div > p { color: var(--text-2); font-size: 17px; line-height: 1.8; }
.section-heading .small-note, .small-note { color: var(--muted); font-size: 14px; line-height: 1.8; }
.value-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; }
.value-grid article { border-top: 1px solid var(--line-strong); padding-top: 24px; }
.feature-index, .diagram-kicker { color: var(--accent); font: 500 12px/1.7 var(--font-mono); }
.value-grid h3 { font-size: 23px; letter-spacing: -.025em; margin: 16px 0; }
.value-grid p { color: var(--text-2); font-size: 15px; line-height: 1.8; margin: 0; }
.overview-loop { display: grid; grid-template-columns: 1fr 40px 1fr 40px 1fr; gap: 18px; align-items: center; padding: 32px; border: 1px solid var(--line-strong); border-radius: var(--r-lg); background: var(--surface); }
.loop-column { align-self: stretch; min-width: 0; }
.signal-stack { display: grid; gap: 10px; margin-top: 24px; }
.signal-stack > span { padding: 14px 12px; border: 1px solid var(--line); border-radius: 8px; font-size: 13px; color: var(--text-2); }
.electrical-dot::before, .magnetic-dot::before, .optical-dot::before, .output-dot::before { content: ""; display: inline-block; width: 6px; height: 6px; border-radius: 50%; margin: 0 9px 2px 0; background: var(--sense-eeg); }
.magnetic-dot::before { background: var(--sense-meg); }
.optical-dot::before { background: var(--sense-optical); }
.output-dot::before { background: var(--stimulus); }
.loop-arrow { font-size: 28px; text-align: center; color: var(--muted); }
.loop-controller { text-align: center; padding: 18px; background: var(--accent-soft); border: 1px solid var(--accent); border-radius: var(--r-md); }
.controller-glyph { font-size: 40px; line-height: 1; color: var(--accent); margin: 20px; }
.loop-controller h3 { font-size: 22px; margin: 20px 0 10px; }
.loop-controller > p:last-child { color: var(--text-2); font-size: 14px; line-height: 1.8; }
.loop-return { grid-column: 1 / -1; color: var(--text-2); text-align: center; border-top: 1px dashed var(--line-strong); padding-top: 24px; font-size: 14px; }
.loop-return > span { color: var(--accent); font-size: 24px; padding-right: 10px; }
.station-caption { margin: 18px 0; color: var(--muted); font-size: 13px; line-height: 1.8; }
.text-link { display: inline-block; color: var(--accent); font-size: 15px; text-underline-offset: 5px; margin-top: 16px; }
.configuration-grid, .closing-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; }
.module-list { border-top: 1px solid var(--line-strong); }
.module-list > a { display: flex; gap: 20px; padding: 24px 0; color: inherit; text-decoration: none; border-bottom: 1px solid var(--line); }
.module-list > a > span { font: 500 13px var(--font-mono); color: var(--accent); padding-top: 7px; }
.module-list > a > b { margin-left: auto; color: var(--accent); font-size: 22px; }
.module-list h3 { margin: 0 0 8px; font-size: 23px; letter-spacing: -.025em; }
.module-list p { margin: 0; color: var(--text-2); font-size: 14px; line-height: 1.7; }
.page-intro { padding: 72px 0 64px; }
.page-intro h1 { margin: 0; font-size: clamp(42px, 5.5vw, 74px); line-height: 1.08; letter-spacing: -.05em; font-weight: 620; }
.page-sections { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 30px; }
.page-sections a { color: var(--text-2); font-size: 13px; padding: 8px 14px; border: 1px solid var(--line-strong); border-radius: 30px; text-decoration: none; }
.page-sections a:hover { color: var(--accent); border-color: var(--accent); }
.source-network { display: grid; grid-template-columns: 1fr .8fr 1.35fr; gap: 28px; align-items: stretch; }
.source-inputs { display: flex; flex-direction: column; gap: 8px; }
.source-inputs button { display: grid; grid-template-columns: 65px 1fr 16px; gap: 10px; align-items: center; background: var(--surface); border: 1px solid var(--line-strong); color: var(--text-2); text-align: left; padding: 17px 14px; border-radius: 10px; font-size: 13px; }
.source-inputs button[aria-pressed="true"] { border-color: var(--accent); background: var(--accent-soft); color: var(--text); }
.source-code { font-weight: 650; font-size: 13px; white-space: nowrap; }
.network-center { display: flex; flex-direction: column; justify-content: center; position: relative; }
.network-center::before { content: "→"; position: absolute; left: -23px; top: 40%; color: var(--muted); }
.network-hub { border: 1px solid var(--accent); background: var(--accent-soft); text-align: center; padding: 28px 12px; border-radius: var(--r-md); }
.network-hub h3 { color: var(--text); font-size: 19px; line-height: 1.9; margin: 18px 0 0; }
.network-outputs { display: grid; gap: 8px; font-size: 12px; text-align: center; color: var(--text-2); margin-top: 24px; }
.network-outputs b { font-size: 13px; color: var(--stimulus); margin-bottom: 4px; }
.source-panels { border: 1px solid var(--line); border-radius: var(--r-lg); padding: 32px; background: var(--surface); min-width: 0; }
.source-panels article + article { margin-top: 40px; padding-top: 32px; border-top: 1px solid var(--line); }
.source-panels h3 { font-size: 29px; line-height: 1.3; letter-spacing: -.03em; margin: 24px 0; }
.source-panels p { color: var(--text-2); font-size: 15px; line-height: 1.8; }
.source-panels p.small-note { font-size: 13px; color: var(--muted); }
.source-enhanced .source-panels article { margin: 0; padding: 0; border: 0; }
[hidden] { display: none !important; }
.module-tag { display: inline-block; color: var(--muted); font: 500 12px/1.6 var(--font-mono); }
.module-tag.electrical { color: var(--sense-eeg); }
.module-tag.magnetic { color: var(--sense-meg); }
.module-tag.optical { color: var(--sense-optical); }
.module-tag.output { color: var(--stimulus); }
.mini-path { display: flex; flex-wrap: wrap; gap: 10px; margin: 24px 0; align-items: center; }
.mini-path span { font-size: 12px; border: 1px solid var(--line-strong); padding: 8px 10px; border-radius: 7px; }
.mini-path i { font-style: normal; color: var(--accent); }
.mode-picker { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 24px; }
.mode-picker button { border: 1px solid var(--line-strong); background: var(--surface); color: var(--text-2); padding: 14px 10px; border-radius: 10px; font-size: 14px; }
.mode-picker button[aria-pressed="true"] { color: var(--accent-ink); background: var(--accent); border-color: var(--accent); }
.session-illustration { border: 1px solid var(--line-strong); border-radius: var(--r-md); padding: 22px; background: var(--surface); }
.session-lane { display: grid; grid-template-columns: 150px repeat(4, minmax(0, 1fr)); gap: 10px; padding: 9px 0; align-items: stretch; }
.session-lane > b { font-size: 13px; font-weight: 550; align-self: center; }
.session-lane > span { text-align: center; padding: 12px 6px; font-size: 12px; border: 1px solid var(--line); border-radius: 6px; color: var(--muted); }
.session-lane .lane-read { color: var(--sense-eeg); background: var(--accent-soft); }
.session-lane .lane-optical { color: var(--sense-optical); }
.session-lane .lane-output { color: var(--stimulus); border-color: var(--stimulus); }
.session-lane .lane-excluded { background: repeating-linear-gradient(-45deg, transparent, transparent 4px, var(--line) 4px, var(--line) 5px); }
.session-enhanced [data-session-display="sense"] .session-lane > span:nth-child(2), .session-enhanced [data-session-display="feedback"] .session-lane > span:nth-child(3), .session-enhanced [data-session-display="intervene"] .session-lane > span:nth-child(4), .session-enhanced [data-session-display="recover"] .session-lane > span:nth-child(5) { outline: 1px solid var(--accent); }
.mode-explanation { margin-top: 28px; max-width: 830px; min-height: 120px; }
.mode-explanation h3 { margin: 0 0 10px; font-size: 25px; letter-spacing: -.025em; }
.mode-explanation p { margin: 0; color: var(--text-2); font-size: 15px; line-height: 1.8; }
.mode-explanation article + article { margin-top: 24px; }
.compatibility-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px; }
.compatibility-grid article { border-top: 1px solid var(--line-strong); padding-top: 24px; }
.compatibility-grid h3 { font-size: 24px; line-height: 1.3; margin: 18px 0; letter-spacing: -.025em; }
.compatibility-grid p { color: var(--text-2); font-size: 15px; line-height: 1.8; }
.station-note { padding: 24px 28px; border-left: 2px solid var(--accent); background: var(--accent-soft); margin-top: 40px; max-width: 1000px; }
.station-note > b { font-size: 17px; }
.station-note p { color: var(--text-2); font-size: 15px; line-height: 1.8; margin: 10px 0 0; }
.sensor-stories, .output-stories { display: grid; gap: 88px; }
.sensor-story, .output-story { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: center; scroll-margin-top: 108px; }
.sensor-story:nth-child(even) .sensor-visual { order: 2; }
.sensor-visual, .output-visual { border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--surface); padding: 28px; }
.sensor-visual svg, .output-visual svg { width: 100%; height: auto; }
.sensor-copy h2, .output-story h2 { font-size: clamp(28px, 3vw, 40px); line-height: 1.15; font-weight: 600; letter-spacing: -.035em; margin: 20px 0; }
.sensor-copy > p, .output-story > div > p { color: var(--text-2); font-size: 15px; line-height: 1.8; }
.visual-footer { display: flex; flex-wrap: wrap; gap: 8px 14px; justify-content: center; border-top: 1px solid var(--line); padding-top: 20px; color: var(--text-2); font-size: 12px; }
.sensor-outline { fill: none; stroke: var(--art-edge); stroke-width: 2; }
.electrical-stroke, .magnetic-stroke, .optical-stroke, .output-stroke { fill: none; stroke: var(--sense-eeg); stroke-width: 3; stroke-linejoin: round; stroke-linecap: round; }
.magnetic-stroke { stroke: var(--sense-meg); }
.optical-stroke { stroke: var(--sense-optical); }
.output-stroke { stroke: var(--stimulus); }
.electrical-fill { fill: var(--sense-eeg); }
.magnetic-fill { fill: var(--sense-meg); }
.output-fill { fill: var(--stimulus); }
.sensor-wire { fill: none; stroke: var(--muted); stroke-width: 2; stroke-dasharray: 5 5; }
.sensor-block { fill: var(--surface-2); stroke: var(--art-edge); stroke-width: 2; }
.sensor-field { fill: none; stroke: var(--sense-meg); stroke-width: 1.5; opacity: .5; }
.tissue-layer { fill: var(--accent-soft); stroke: var(--art-edge); stroke-width: 2; }
.output-field { fill: none; stroke: var(--stimulus); stroke-width: 2; stroke-dasharray: 6 5; }
.output-coil { fill: var(--surface); stroke: var(--stimulus); stroke-width: 4; }
.optical-role-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; }
.optical-role-grid article { border-top: 2px solid var(--sense-optical); padding-top: 20px; }
.optical-role-grid article > span { font: 500 12px var(--font-mono); color: var(--sense-optical); }
.optical-role-grid h3 { font-size: 23px; margin: 20px 0 14px; }
.optical-role-grid p, .reference-grid p, .pulse-families p { color: var(--text-2); font-size: 15px; line-height: 1.8; }
.reference-grid, .pulse-families { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px; }
.reference-grid h3, .pulse-families h3 { margin: 0 0 18px; font-size: 23px; line-height: 1.3; letter-spacing: -.025em; }
.hardware-details > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 24px; border: 1px solid var(--line-strong); border-radius: var(--r-md); color: var(--accent); font-size: 17px; font-weight: 550; cursor: pointer; }
.hardware-details > summary::marker, .hardware-details > summary::-webkit-details-marker { display: none; }
.hardware-context { border-left: 2px solid var(--accent); padding: 8px 24px; margin: 32px 0; color: var(--text-2); font-size: 15px; }
.hardware-details .wrap { padding-left: 0; padding-right: 0; }
.hardware-details .band, .hardware-details .compare, .hardware-details .proof { padding-top: 56px; padding-bottom: 56px; }
.hardware-details .band-alt { background: transparent; }
.hardware-details .headline { font-size: clamp(30px, 4vw, 46px); }
.generator-map { margin: 0; border: 1px solid var(--line-strong); border-radius: var(--r-lg); padding: 32px; background: var(--surface); }
.generator-clock { text-align: center; border-bottom: 1px solid var(--line-strong); padding-bottom: 24px; }
.generator-clock h3 { font-size: 26px; line-height: 1.4; letter-spacing: -.025em; margin: 14px 0; }
.generator-clock > p { color: var(--muted); font-size: 14px; }
.generator-branches { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; padding-top: 28px; }
.generator-branches > div { border: 1px solid var(--line); border-radius: var(--r-md); padding: 24px 20px; }
.generator-branches h3 { font-size: 21px; margin: 14px 0 24px; }
.branch-number { color: var(--accent); font: 500 12px var(--font-mono); }
.generator-branches p { color: var(--text-2); font-size: 14px; line-height: 1.8; }
.generator-branches b { color: var(--muted); font-size: 12px; font-weight: 550; }
.pulse-families { margin-top: 44px; }
.integration-steps { list-style: none; margin: 0; padding: 0; max-width: 900px; }
.integration-steps li { display: flex; gap: 26px; padding: 26px 0; border-top: 1px solid var(--line-strong); }
.integration-steps li > span { color: var(--accent); font: 500 13px var(--font-mono); padding-top: 8px; }
.integration-steps h3 { font-size: 24px; margin: 0 0 12px; }
.integration-steps p { color: var(--text-2); font-size: 15px; line-height: 1.8; margin: 0; }
.evidence-links { display: flex; gap: 24px; flex-wrap: wrap; margin-top: 28px; }
.evidence-links a { color: var(--accent); font-size: 14px; text-underline-offset: 4px; }
.station-site .study-library { padding-top: 0; }
.station-site .study-library .nf-heading { display: none; }
.station-site .neurofeedback:first-of-type { padding-top: 0; }
.reading-next { display: flex; flex-wrap: wrap; gap: 24px; padding: 32px 0; }
.reading-next a { color: var(--accent); font-size: 15px; text-underline-offset: 4px; }
@media (max-width: 1100px) {
  .station-site .site-header .wrap { gap: 18px; }
  .station-site .site-nav { gap: 16px; }
  .station-site .brand small { display: none; }
  .source-network { grid-template-columns: 1fr .8fr 1.2fr; gap: 22px; }
  .source-inputs button { grid-template-columns: 1fr 16px; }
  .source-inputs button > span:nth-child(2) { grid-row: 2; grid-column: 1; }
  .source-inputs button > b { grid-column: 2; grid-row: 1 / 3; }
  .source-panels { padding: 24px; }
  .sensor-story, .output-story { gap: 40px; }
}
@media (max-width: 900px) {
  html { scroll-padding-top: 128px; }
  .station-site .site-header .wrap { display: grid; grid-template-columns: 1fr auto; height: auto; gap: 0 20px; padding-top: 16px; }
  .station-site .site-nav { grid-column: 1 / -1; grid-row: 2; display: flex; width: 100%; min-width: 0; margin: 12px 0 0; gap: 22px; overflow-x: auto; padding: 0 1px 12px; scrollbar-width: thin; }
  .station-site .header-actions { grid-column: 2; grid-row: 1; }
  .station-site .brand small { display: inline; }
  .station-hero-grid { grid-template-columns: 1fr; gap: 28px; }
  .station-hero { padding-top: 40px; }
  .station-hero-copy { max-width: 640px; }
  .station-hero-copy h1 { font-size: clamp(43px, 8vw, 70px); }
  .station-visual { width: 100%; max-width: 700px; justify-self: center; }
  .station-key li { font-size: 13px; }
  .configuration-grid, .closing-grid { gap: 40px; }
  .overview-loop { gap: 12px; padding: 24px; grid-template-columns: 1fr 20px 1fr 20px 1fr; }
  .signal-stack > span { font-size: 12px; padding: 12px 8px; }
  .loop-controller { padding: 14px 8px; }
  .loop-controller h3 { font-size: 18px; }
  .source-network { grid-template-columns: 1fr 1fr; }
  .source-inputs { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .network-center { grid-column: 1; grid-row: 2; }
  .source-panels { grid-column: 2; }
  .network-center::before { display: none; }
  .session-lane { grid-template-columns: 110px repeat(4, minmax(0, 1fr)); gap: 6px; }
  .session-lane > span { font-size: 12px; }
  .optical-role-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .generator-map { padding: 24px; }
  .generator-branches { gap: 16px; }
  .generator-branches > div { padding: 20px 14px; }
}
@media (max-width: 640px) {
  .station-site .site-nav a { font-size: 12px; }
  .station-site .site-nav { gap: 12px; justify-content: space-between; }
  .station-hero { padding: 32px 0 48px; }
  .station-hero-copy h1 { margin: 24px 0; }
  .station-hero-grid { gap: 0; }
  .station-hero-copy { display: contents; }
  .station-visual { grid-row: 3; margin-bottom: 12px; }
  .station-hero-copy .chip { font-size: 11px; }
  .station-lede { font-size: 19px; line-height: 1.7; }
  .station-subcopy { font-size: 15px; }
  .hero-capabilities { margin-top: 24px; }
  .station-key { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 16px; margin-top: 14px; }
  .station-key li { align-items: flex-start; font-size: 12px; line-height: 1.65; }
  .station-key b { margin-top: 2px; }
  .station-art { margin: -8px 0; }
  .station-band { padding: 56px 0; }
  .page-intro { padding: 40px 0 44px; }
  .page-intro h1 { font-size: 42px; }
  .section-heading { margin-bottom: 30px; }
  .section-heading p { font-size: 16px; }
  .value-grid, .configuration-grid, .closing-grid, .reference-grid, .pulse-families, .compatibility-grid { grid-template-columns: 1fr; gap: 30px; }
  .overview-loop { grid-template-columns: 1fr; gap: 8px; padding: 24px 20px; }
  .loop-arrow { transform: rotate(90deg); line-height: 1; padding: 8px; }
  .loop-column { padding: 10px 0; }
  .loop-column > .diagram-kicker { margin-top: 0; }
  .signal-stack { margin-top: 16px; }
  .signal-stack > span { font-size: 14px; padding: 14px; }
  .loop-controller { padding: 16px; }
  .controller-glyph { margin: 12px; }
  .loop-controller h3 { font-size: 24px; margin: 16px 0; }
  .loop-return { margin: 18px 0 0; font-size: 13px; }
  .source-network { grid-template-columns: 1fr; }
  .source-inputs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .source-inputs button { padding: 14px 12px; }
  .network-center { grid-column: 1; grid-row: 2; }
  .network-hub h3 { font-size: 17px; line-height: 1.6; }
  .network-outputs { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-bottom: 0; }
  .network-outputs b { grid-column: 1 / -1; }
  .source-panels { grid-column: 1; padding: 24px; }
  .source-panels h3 { font-size: 28px; }
  .mode-picker { gap: 6px; }
  .mode-picker button { font-size: 12px; padding: 14px 5px; }
  .session-illustration { padding: 18px 12px; }
  .session-lane { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5px; }
  .session-lane > b { grid-column: 1 / -1; margin: 8px 0; font-size: 13px; }
  .session-lane > span { font-size: 12px; padding: 10px 3px; line-height: 1.6; }
  .mode-explanation { min-height: 200px; }
  .station-note { padding: 22px; }
  .sensor-stories, .output-stories { gap: 56px; }
  .sensor-story, .output-story { grid-template-columns: 1fr; gap: 28px; }
  .sensor-story:nth-child(even) .sensor-visual { order: 0; }
  .sensor-visual, .output-visual { padding: 18px; }
  .sensor-story, .output-story { scroll-margin-top: 134px; }
  .optical-role-grid { gap: 28px 20px; }
  .optical-role-grid h3 { font-size: 21px; }
  .optical-role-grid p { font-size: 14px; }
  .hardware-details > summary { padding: 20px; font-size: 16px; }
  .hardware-context { padding: 4px 18px; font-size: 14px; }
  .generator-branches { grid-template-columns: 1fr; gap: 20px; }
  .generator-branches > div { padding: 24px; }
  .generator-branches svg { max-width: 260px; }
  .generator-clock h3 { font-size: 24px; }
  .generator-map { padding: 20px; }
  .evidence-links { gap: 16px; }
}
@media (prefers-reduced-motion: reduce) { .station-site { scroll-behavior: auto; } }
