/* Editorial case studies. Technical values and prose come from the existing reports. */
.projects-page .station-visual{padding:0;background:transparent;min-height:0;border-radius:22px;overflow:hidden}
.projects-page .station-visual>img{width:100%;height:auto;object-fit:contain;border-radius:22px;box-shadow:none}
.case-page{--case-accent:#376878;--case-wash:#f4f7f8}
.case-mesphys{--case-accent:#626078;--case-wash:#f5f4f8}
.case-oscillateur{--case-accent:#527268;--case-wash:#f4f7f5}
.case-page .case-intro{width:min(1200px,calc(100% - 100px));max-width:none;margin-top:64px}
.case-page .section-label{margin-bottom:70px}
.case-hero-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.85fr);gap:42px 64px;align-items:center}
.case-category{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--case-accent);margin-bottom:24px}
.case-page .case-intro h1{text-align:left;font-size:clamp(56px,6.5vw,94px);line-height:.98;letter-spacing:-.065em;font-weight:550;margin:0;max-width:750px;overflow:visible}
.case-page .case-description{text-align:left;font-size:19px;line-height:1.65;margin:28px 0 0;max-width:620px}
.case-page .case-result{margin:0;text-align:left;align-self:center;max-width:100%;padding-left:26px}
.case-page .case-result>.mono{font-size:9px;letter-spacing:.13em;margin-bottom:24px}
.case-page .case-result>strong{font-size:clamp(68px,7.6vw,112px);font-weight:450;line-height:1;letter-spacing:-.075em;white-space:nowrap}
.case-result>strong small{font-size:.36em;font-weight:400;letter-spacing:-.04em}
.case-page .case-result>p{font-size:12px;max-width:270px;margin-top:22px;line-height:1.65}
.case-oscillateur .case-result>strong small,.case-mesphys .case-result>strong small{display:block;font-size:24px;line-height:1.5;margin-top:8px;letter-spacing:-.025em}
.result-symbol{font-size:.28em;letter-spacing:-.04em}
.result-secondary{display:flex;gap:30px;margin-top:30px;font-size:11px;line-height:1.6}
.result-secondary>span{flex:1;color:var(--muted)}
.result-secondary b{display:block;font-size:32px;color:var(--ink);font-weight:450;letter-spacing:-.04em}
.result-secondary small{display:block;font-size:10px;margin-top:10px}
.case-page .case-facts{grid-column:1/-1;display:grid;grid-template-columns:1.3fr .85fr;gap:64px;margin:0 0 60px;padding:0;max-width:none;width:100%;border:0}
.case-page .case-facts>div:last-child{padding-left:26px}
.case-page .case-facts dt{font-size:9px;letter-spacing:.1em;font-weight:450}
.case-page .case-facts dd{font-size:13px;max-width:560px;line-height:1.7}
.case-page .case-cover{margin:0 0 70px}
.case-page .case-cover img{max-height:none;height:auto;border-radius:8px;background:transparent;object-fit:contain;transition:scale .7s var(--ease)}
.case-page .case-cover figcaption{text-align:left;margin-top:15px;color:var(--muted);font-size:9px;letter-spacing:.09em}
.case-page .case-intro>.oscillator-visual{background:var(--case-wash);border-radius:8px;padding:40px 50px;margin-bottom:70px}
.case-page .case-layout{display:block;width:min(1200px,calc(100% - 100px));margin:0 auto 70px}
.case-page .case-sidebar{position:sticky;top:100px;z-index:35;padding:0;margin:0 0 65px;background:rgb(255 255 255 / .95);backdrop-filter:blur(16px);border-bottom:1px solid #e6e6e9}
.case-sidebar>.mono,.case-page .case-sidebar>.text-link{display:none}
.case-page .case-sidebar nav{display:flex;flex-direction:row;gap:25px;overflow-x:auto;overscroll-behavior-x:contain;margin:0;padding:0;scrollbar-width:none}
.case-page .report-toc-link{flex:0 0 auto;border-radius:0;position:relative;font-size:11px;padding:22px 0;gap:9px;background:transparent!important;white-space:nowrap;transition:color .25s}
.case-page .report-toc-link::after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:var(--case-accent);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.case-page .report-toc-link[aria-current]{color:var(--ink)}
.case-page .report-toc-link[aria-current]::after{transform:scaleX(1)}
.case-page .report-toc-number{color:var(--case-accent);font-size:9px}
.case-page .report-chapter{display:grid;grid-template-columns:minmax(170px,.36fr) minmax(0,1fr);gap:24px 65px;padding:35px 0 55px;scroll-margin-top:180px}
.case-page .report-chapter+.report-chapter{padding-top:60px}
.case-page .report-chapter-heading{grid-column:1;display:block;margin:0}
.case-page .report-chapter-number{display:block;font-size:10px;color:var(--case-accent);margin:0 0 17px}
.case-page .report-chapter-heading h2{font-size:clamp(23px,2.3vw,32px);line-height:1.14;letter-spacing:-.04em;font-weight:500}
.case-page .report-chapter>.report-block{grid-column:2;min-width:0}
.case-page .report-body p{font-size:16px;line-height:1.85;max-width:710px;margin-bottom:18px}
.case-page .report-body h3{font-size:25px;font-weight:500;margin-top:0}
.case-page .report-body .report-columns{gap:28px;margin:15px 0 0}
.case-page .report-body .report-columns p{font-size:14px;line-height:1.75}
.case-page .report-body .report-columns h4{font-size:16px}
.method-choice{display:inline-block;color:var(--case-accent);font-size:10px;margin:0 0 12px;text-transform:uppercase;letter-spacing:.1em}
.case-page .report-chapter>.report-media{grid-column:1/-1;margin:35px 0 20px}
.case-page .report-media img,.case-page .report-media video{border-radius:6px;background:transparent;transition:scale .7s var(--ease);object-fit:contain;width:100%;height:auto}
.case-page .report-caption{padding-top:15px}
.case-page .report-caption h3{font-size:14px;margin:0 0 6px}
.case-page .report-caption p{font-size:12px;line-height:1.7;color:var(--muted);margin:0;max-width:700px}
.case-page .report-block:has(>.report-steps){grid-column:1/-1}
.case-page .report-steps{display:grid;grid-template-columns:1fr 1fr;gap:15px 65px;padding-top:10px}
.case-page .report-step{grid-template-columns:20px 1fr;padding:20px 0;gap:18px}
.case-page .report-step-number{font-size:11px;color:var(--case-accent);padding-top:4px}
.case-page .report-step h4{font-size:20px;font-weight:500;line-height:1.3}
.case-page .report-step p{font-size:14px;line-height:1.8}
.case-page .report-steps>.report-callout{grid-column:1/-1;max-width:750px;margin:24px auto;padding:25px 0;font-size:15px;line-height:1.9}
.technical-display,.realtime-architecture,.measurement-pair,.equation-display,.experimental-limits{grid-column:1/-1;margin:15px 0 35px;min-width:0}
.technical-display{background:var(--case-wash);border-radius:6px;padding:32px 36px 40px}
.technical-kicker{display:block;font:400 10px/1.5 var(--font);letter-spacing:.12em;color:var(--case-accent)}
.signal-chain{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:36px 22px;list-style:none;margin:32px 0 0;padding:0}
.signal-chain li{position:relative;display:flex;flex-direction:column;gap:18px;min-width:0;font-size:13px;line-height:1.5;padding-top:15px}
.signal-chain li::before{content:"";height:1px;background:currentColor;opacity:.2;position:absolute;inset:0 -22px auto 0;transform-origin:left}
.signal-chain li::after{content:"→";position:absolute;right:0;top:-10px;font-size:14px;color:var(--case-accent);background:var(--case-wash);padding-left:8px}
.signal-chain li:last-child::after{display:none}
.signal-chain li:nth-child(5n)::before{right:0}
.chain-index{font-size:9px;color:var(--case-accent);font-variant-numeric:tabular-nums}
.null-study{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:40px;background:transparent;padding:20px 0}
.case-page .null-study h3{margin:17px 0 15px;font-size:32px}
.case-page .null-study p{font-size:14px;margin-bottom:10px}
.null-study small{font-size:11px;color:var(--muted)}
.null-study svg{color:var(--case-accent);width:100%;height:auto}
.null-study svg text{font:12px var(--font);fill:currentColor}
.measurement-pair{display:grid;grid-template-columns:1fr 1fr;gap:30px 65px;padding:30px 0}
.measurement-pair strong{display:block;font-weight:450;font-size:clamp(56px,6vw,85px);letter-spacing:-.065em;line-height:1.1}
.measurement-pair strong small{font-size:.4em}
.measurement-pair span{display:block;color:var(--muted);font-size:12px;margin-top:15px}
.case-page .measurement-pair>p{grid-column:1/-1;color:var(--muted);font-size:12px;margin:0}
.realtime-architecture{background:#171c25;padding:10px 36px;border-radius:6px;color:#f2f4f7;--case-accent:#a7c8d3;--case-wash:#171c25}
.realtime-architecture .technical-display{padding-inline:0;margin-bottom:0;background:transparent}
.realtime-architecture .technical-display+.technical-display{padding-top:0}
.realtime-architecture .signal-chain{margin-bottom:10px}
.case-page .interface-spread{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);align-items:center;gap:45px;margin:40px 0}
.case-page .interface-spread.is-reversed{grid-template-columns:minmax(0,1fr) minmax(0,1.65fr)}
.interface-spread.is-reversed>img{grid-column:2;grid-row:1}
.interface-spread.is-reversed>.report-caption{grid-column:1;grid-row:1}
.case-page .interface-spread .report-caption h3{font-size:27px;line-height:1.15;margin-bottom:16px}
.case-page .interface-spread .report-caption p{font-size:14px;line-height:1.8;margin-bottom:15px}
.equation-display{padding:35px 40px 45px;background:var(--case-wash);border-radius:6px}
.equation-pair{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:38px}
.equation-pair math{font-size:clamp(28px,3.4vw,46px);color:#263a33}
.experimental-limits{display:grid;grid-template-columns:1fr 2fr;gap:30px;padding:30px 0}
.experimental-limits ul{display:grid;grid-template-columns:1fr 1fr;gap:18px 25px;list-style:none;padding:0;margin:0;font-size:14px;color:var(--muted)}
.case-page .report-chapter>.report-competencies{grid-column:1/-1;padding-top:50px;margin-top:20px}
.report-competencies-heading{display:grid;grid-template-columns:.36fr 1fr;column-gap:65px}
.case-page .report-competencies-heading>span{font-size:10px;color:var(--case-accent);font-weight:400;letter-spacing:.1em;padding-top:7px}
.case-page .report-competencies-heading h3{font-size:34px;margin-bottom:16px}
.case-page .competency-disciplines{grid-column:2;color:var(--case-accent);font-size:12px;line-height:1.9}
.case-page .report-competencies .report-columns{margin-left:calc((100% - 65px) * .2647 + 65px);gap:35px}
.case-page .next-project{width:min(1200px,calc(100% - 100px));padding:65px 0 40px;margin-bottom:60px}
.case-page .next-project>a{font-size:clamp(36px,5vw,72px);font-weight:450;letter-spacing:-.055em;align-items:center;margin-top:24px}
.next-project>a>span:last-child{transition:transform .4s var(--ease);font-weight:400}
.next-project>a:hover>span:last-child{transform:translate(8px,-5px)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.case-page .report-media img:hover,.case-page .case-cover img:hover{scale:1.015}}
@media(min-width:761px) and (max-width:1050px){
  .case-hero-grid{gap:35px}.case-page .case-intro h1{font-size:60px}.case-page .case-result>strong{font-size:68px}
  .case-page .case-result{padding-left:0}.case-page .case-facts{gap:35px}.case-page .case-facts>div:last-child{padding-left:0}
  .case-page .report-chapter{grid-template-columns:170px minmax(0,1fr);gap:25px 35px}.case-page .case-sidebar nav{gap:20px}
  .case-page .interface-spread{gap:28px}.case-page .interface-spread .report-caption h3{font-size:23px}
}
@media(max-width:760px){
  .case-page .case-intro,.case-page .case-layout,.case-page .next-project{width:calc(100% - 40px)}
  .case-page .case-intro{margin-top:35px}.case-page .section-label{margin-bottom:42px}
  .case-hero-grid{grid-template-columns:1fr;gap:32px}.case-category{font-size:9px;margin-bottom:18px}
  .case-page .case-intro h1{font-size:clamp(43px,12vw,65px);line-height:1.02}
  .case-page .case-description{font-size:16px;margin-top:22px;line-height:1.7}
  .case-page .case-result{padding:0;margin:0}.case-page .case-result>.mono{margin-bottom:15px}
  .case-page .case-result>strong{font-size:clamp(68px,21vw,96px)}
  .case-page .case-result>p{max-width:100%;margin-top:16px}
  .case-page .case-facts{grid-template-columns:1fr;gap:23px;margin-bottom:12px}.case-page .case-facts>div:last-child{padding:0}
  .result-secondary{max-width:300px;margin-top:20px}.case-page .case-cover{margin-bottom:30px}
  .case-page .case-cover figcaption{font-size:8px;line-height:1.6}
  .case-page .case-intro>.oscillator-visual{padding:25px 20px;margin-bottom:30px}
  .case-page .case-sidebar{top:82px;margin-bottom:28px}.case-page .case-sidebar nav{gap:24px;display:flex}
  .case-page .report-toc-link{font-size:11px;padding:18px 0}.case-page .report-chapter{display:block;padding:25px 0 30px;scroll-margin-top:145px}
  .case-page .report-chapter+.report-chapter{padding-top:35px}.case-page .report-chapter-heading{margin-bottom:25px}
  .case-page .report-chapter-number{margin-bottom:12px}.case-page .report-chapter-heading h2{font-size:30px}
  .case-page .report-body p{font-size:15px;line-height:1.8}.case-page .report-body h3{font-size:23px}
  .case-page .report-chapter>.report-block{margin-bottom:25px}.case-page .report-body .report-columns{gap:25px}
  .case-page .report-steps{grid-template-columns:1fr;gap:5px}.case-page .report-step{padding:15px 0}
  .case-page .report-step h4{font-size:20px}.case-page .report-step p{font-size:14px}
  .technical-display{padding:25px 24px;margin-block:30px}.signal-chain{grid-template-columns:1fr;gap:0;margin-top:20px}
  .signal-chain li{display:grid;grid-template-columns:20px 1fr;gap:15px;padding:15px 0 15px 20px;font-size:13px}
  .signal-chain li::before{inset:0 auto 0 0;width:1px;height:auto;transform-origin:top}
  .signal-chain li::after{content:"↓";top:13px;left:-5px;right:auto;padding:3px 0;background:var(--case-wash);font-size:12px}
  .signal-chain li:last-child::after{display:block}.chain-index{padding-top:3px}
  .null-study{grid-template-columns:1fr;gap:15px;background:transparent;padding:10px 0}
  .case-page .null-study h3{font-size:27px}.null-study svg{max-height:205px}
  .measurement-pair{gap:25px 18px;padding:20px 0}.measurement-pair strong{font-size:clamp(38px,11.5vw,60px)}
  .measurement-pair span{font-size:11px;margin-top:10px}
  .realtime-architecture{padding:5px 24px;margin:30px 0}.realtime-architecture .technical-display{padding-block:20px}
  .case-page .interface-spread,.case-page .interface-spread.is-reversed{display:flex;flex-direction:column;gap:18px;margin:35px 0;align-items:stretch}
  .case-page .interface-spread .report-caption{padding:0}.case-page .interface-spread .report-caption h3{font-size:24px}
  .case-page .interface-spread .report-caption p{font-size:14px}
  .equation-display{padding:27px 20px}.equation-pair{grid-template-columns:1fr;gap:32px;margin-top:28px}
  .equation-pair math{font-size:32px}.experimental-limits{grid-template-columns:1fr;padding:15px 0;gap:20px}
  .experimental-limits ul{grid-template-columns:1fr;font-size:14px;gap:12px}
  .case-page .report-chapter>.report-competencies{padding-top:30px}.report-competencies-heading{display:block}
  .report-competencies-heading>span{display:block;margin-bottom:15px}.case-page .report-competencies-heading h3{font-size:30px}
  .case-page .competency-disciplines{font-size:12px}.case-page .report-competencies .report-columns{margin-left:0;grid-template-columns:1fr}
  .case-page .next-project{padding:35px 0;margin-bottom:30px}.case-page .next-project>a{font-size:38px;gap:22px}
}
@media(prefers-reduced-motion:reduce){.case-page *{scroll-behavior:auto!important}.next-project>a:hover>span:last-child{transform:none}}
@media print{.case-page .case-sidebar{display:none}.case-page .report-chapter{display:block}.signal-chain{break-inside:avoid}}
