/* Progressive enhancement: without JavaScript, the complete document still reads normally. */
html:has(.has-page-deck) { height:100%; overflow:hidden; scroll-padding-top:0; }
.has-page-deck { height:100svh; height:100dvh; overflow:hidden; display:grid; grid-template-rows:auto minmax(0,1fr); }
.has-page-deck .site-nav { width:100%; }
.has-page-deck main { min-height:0; overflow:hidden; }
.has-page-deck .deck-page:focus { outline:none; }
.has-page-deck .home { height:100%; display:grid; grid-template-rows:minmax(0,1fr); overflow:hidden; }
.page-stage { min-height:0; position:relative; perspective:1400px; container-type:size; }
.has-page-deck .deck-page { position:absolute; inset:0; width:100%; max-width:1440px; margin:0 auto; min-height:0; height:100%; overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; padding:clamp(24px,5cqh,56px) clamp(28px,4vw,64px); border:0; outline-offset:-5px; }
.has-page-deck .deck-page[hidden] { display:none!important; }
.has-page-deck .chapter { display:grid; grid-template-columns:46% 54%; align-items:center; gap:0; }
.has-page-deck .chapter-inner { position:relative; z-index:2; }
.has-page-deck h1 { font-size:clamp(45px,min(5.35vw,12cqh),80px); margin-bottom:22px; }
.has-page-deck .chapter h2 { font-size:clamp(42px,min(4.7vw,11cqh),72px); margin-block:22px; }
.has-page-deck .route-explanation { margin-top:clamp(24px,5cqh,48px); }
.has-page-deck .scroll-cue { display:none; }
.has-page-deck .art-sticky { position:relative; top:auto; grid-area:auto; align-self:safe center; min-height:0; height:auto; max-height:none; padding:0; width:100%; }
.has-page-deck .art-topline { margin:0 0 0 24px; padding:0 0 10px; }
.has-page-deck #motion-toggle { min-height:44px; padding:10px; margin-right:-10px; }
.has-page-deck .network-art { width:110%; margin-left:-5%; max-height:66cqh; }
.has-page-deck .art-readout { left:24px; bottom:36px; }
.has-page-deck .art-frame figcaption { margin:16px 0 0 24px; }
.has-page-deck .section-heading { gap:14px 64px; }
.has-page-deck .section-heading h2,.has-page-deck .matrix-copy h2,.has-page-deck .start-heading h2 { font-size:clamp(40px,min(4.7vw,10cqh),68px); }
.has-page-deck .section-heading>p { font-size:16px; }
.has-page-deck .metric-toolbar { margin-top:22px; }
.has-page-deck #performance-results .speed-line { margin:clamp(20px,4cqh,40px) 0 28px; }
.has-page-deck .speed-number { font-size:clamp(64px,min(8vw,16cqh),110px); }
.has-page-deck .city-results>div>span { min-height:28px; }
.has-page-deck .city-results i { margin-top:8px; }
.has-page-deck .evidence-links { margin:24px 0 18px; }
.has-page-deck .benchmark-method { padding-top:14px; }
.has-page-deck .matrix-section { gap:64px; }
.has-page-deck .start-section { gap:64px; align-content:safe center; }
.has-page-deck .poros-section { gap:36px 80px; align-content:safe center; }
.has-page-deck .site-footer { grid-column:1/-1; width:100%; padding:24px 0 0; margin-top:32px; }
.page-enter { transform-origin:center bottom; animation:page-turn .52s cubic-bezier(.2,.7,.2,1) both; }
@keyframes page-turn { from { opacity:0; transform:translateY(calc(var(--turn)*24px)); } to { opacity:1; transform:none; } }
@media(max-width:1000px) and (min-width:761px) {
  .has-page-deck .deck-page { padding-inline:28px; }
  .has-page-deck h1 { font-size:52px; }
  .has-page-deck .hero-actions { gap:16px; }
  .has-page-deck .start-section { gap:40px; }
}
@media(max-width:760px) {
  .has-page-deck .site-nav { min-height:64px; }
  .has-page-deck .deck-page { padding:clamp(18px,4cqh,32px) 24px 18px; }
  .has-page-deck .chapter { grid-template-columns:1fr; grid-template-rows:auto minmax(220px,1fr); align-items:start; gap:4px; }
  .has-page-deck h1 { font-size:clamp(36px,min(9.8vw,7.4cqh),56px); line-height:1.06; margin-bottom:14px; }
  .has-page-deck .hero-copy { font-size:15px; line-height:1.5; max-width:440px; margin-bottom:12px; }
  .has-page-deck .hero-actions { margin-top:16px; gap:24px; font-size:12px; }
  .has-page-deck .hero-actions .button { padding:11px 20px; min-height:44px; }
  .has-page-deck .route-explanation { display:none; }
  .has-page-deck .chapter h2 { font-size:clamp(36px,min(9.8vw,7.4cqh),56px); margin:12px 0; }
  .has-page-deck .chapter-copy { font-size:13px; line-height:1.6; margin-bottom:8px; max-width:460px; }
  .has-page-deck .chapter-reach .chapter-copy:last-of-type { display:none; }
  .has-page-deck .chapter .text-link { font-size:12px; margin-top:8px; min-height:32px; }
  .has-page-deck .art-sticky { min-height:220px; height:100%; display:flex; justify-content:center; }
  .has-page-deck .art-topline { margin:0; padding:0; border-bottom:0; }
  .has-page-deck .art-frame { flex:1; min-height:180px; max-height:400px; display:flex; flex-direction:column; justify-content:center; }
  .has-page-deck .network-plane { transform:scale(1.22); }
  .has-page-deck .network-art { width:124%; margin-left:-12%; height:auto; min-height:150px; max-height:40cqh; }
  .has-page-deck .art-readout { position:relative; left:auto; bottom:auto; margin-top:-16px; pointer-events:none; }
  .has-page-deck .readout-kicker { display:none; }
  .has-page-deck .route-readout strong { font-size:12px; }
  .has-page-deck .phase-track { margin-top:7px; width:100px; }
  .has-page-deck .reach-readout { align-items:center; gap:18px; }
  .has-page-deck [data-scene="reach"] .reach-readout { display:flex; }
  .has-page-deck .reach-readout strong { font-size:30px; }
  .has-page-deck .reach-readout small { font-size:12px; }
  .has-page-deck .reach-key { margin-top:0; }
  .has-page-deck .art-frame figcaption { margin:10px 0 0; font-size:8px; }
  .has-page-deck .section-heading { gap:10px; }
  .has-page-deck .section-heading h2,.has-page-deck .matrix-copy h2,.has-page-deck .start-heading h2 { font-size:clamp(34px,8.4vw,48px); }
  .has-page-deck .section-heading>p { font-size:12px; line-height:1.55; max-width:440px; margin-bottom:0; }
  .has-page-deck .metric-toolbar { margin-top:14px; gap:8px; }
  .has-page-deck .metric-switch { padding:2px; }
  .has-page-deck .metric-switch button { min-height:38px; padding:8px 16px; font-size:12px; }
  .has-page-deck .metric-toolbar p { font-size:10px; }
  .has-page-deck #performance-results .speed-line { margin:18px 0; }
  .has-page-deck .speed-number { font-size:clamp(52px,13vw,76px); margin-bottom:10px; }
  .has-page-deck .speed-line>p { font-size:11px; line-height:1.5; }
  .has-page-deck .city-results { gap:16px 18px; }
  .has-page-deck .city-results strong { font-size:24px; }
  .has-page-deck .city-results>div>span { font-size:9px; min-height:18px; }
  .has-page-deck .city-results i { margin-top:4px; height:2px; }
  .has-page-deck .evidence-links { margin:18px 0 14px; font-size:11px; gap:22px; }
  .has-page-deck .evidence-links .text-link { font-size:12px; }
  .has-page-deck .benchmark-method { padding-top:12px; }
  .has-page-deck .matrix-section { grid-template-columns:1fr; grid-template-rows:auto minmax(220px,1fr); gap:18px; }
  .has-page-deck .matrix-copy .eyebrow { margin-bottom:14px; }
  .has-page-deck .matrix-copy p { font-size:14px; margin:18px 0 8px; }
  .has-page-deck .matrix-art { min-height:220px; max-width:470px; align-self:safe center; }
  .has-page-deck .start-section { grid-template-columns:1fr; gap:18px; align-content:start; }
  .has-page-deck .start-heading .eyebrow { margin-bottom:12px; }
  .has-page-deck .start-heading h2 br { display:none; }
  .has-page-deck .start-heading p { margin:12px 0 0; font-size:13px; }
  .has-page-deck .start-options { margin:0; }
  .has-page-deck .start-options>a,.has-page-deck .upcoming-option { padding:16px 0; gap:14px; }
  .has-page-deck .start-options h3 { font-size:20px; margin-bottom:5px; }
  .has-page-deck .start-options p { font-size:12px; line-height:1.55; }
  .has-page-deck .poros-section { grid-template-columns:1fr; gap:24px; align-content:safe center; }
  .has-page-deck .poros-heading .eyebrow { margin-bottom:16px; }
  .has-page-deck .poros-heading h2 { font-size:clamp(76px,23vw,110px); margin-bottom:16px; }
  .has-page-deck .poros-date { margin:0; font-size:11px; }
  .has-page-deck .poros-copy h3 { font-size:28px; margin-bottom:14px; }
  .has-page-deck .poros-copy p { font-size:13px; margin-bottom:12px; }
  .has-page-deck .poros-copy .text-link { margin-top:4px; font-size:12px; }
  .has-page-deck .site-footer { margin:0; padding-top:18px; font-size:10px; gap:6px; }
  .has-page-deck .site-footer nav { gap:16px; }
}
@media(prefers-reduced-motion:reduce) { .page-enter { animation:none; } }
@media print {
  .has-page-deck,.has-page-deck .home { height:auto; display:block; overflow:visible; }
  .page-stage { container-type:normal; }
  .has-page-deck .deck-page,.has-page-deck .deck-page[hidden] { display:block!important; position:static; height:auto; overflow:visible; break-after:page; padding:32px; }
}

@media(min-width:761px) {
  @container (max-height:650px) {
    .has-page-deck .performance-section { padding-block:24px; }
    .has-page-deck .section-heading h2 { font-size:48px; }
    .has-page-deck .metric-toolbar { margin-top:14px; }
    .has-page-deck #performance-results .speed-line { margin:20px 0; }
    .has-page-deck .speed-number { font-size:84px; }
    .has-page-deck .city-results strong { font-size:28px; }
    .has-page-deck .evidence-links { margin:18px 0 14px; }
  }
}

