/* The artwork keeps its camera angle and square geometry at every size.
   Fit the canvas inside the page; camera fitting handles the scene bounds. */
.opening{max-width:none;grid-template-columns:44% 56%}
.opening-chapter{padding-left:13.6364%;padding-right:4%;min-height:max(100svh,46rem)}
.particle-stage{min-height:0}
.particle-stage canvas{left:-8%;width:108%}
.copy-rail>.opening-chapter:last-child{min-height:max(100svh,46rem)}
header{padding-left:var(--pad);padding-right:var(--pad)}
.skip{top:1rem;transform:translateY(-200%)}
.skip:focus{top:1rem;transform:none}

/* CSS pixels and physical monitor pixels are independent. Above the original
   desktop artboard, scale type and spacing with the viewport, including labels
   and controls; browser zoom and high-DPI screens continue to work normally. */
@media(min-width:1800px){
 :root{font-size:calc(100vw / 112.5)}
 header{height:5.875rem;gap:2.1875rem}
 .logo{font-size:1.5625rem;letter-spacing:.1125rem}
 header nav{font-size:.625rem;gap:1.875rem}
 .hub-link{font-size:.625rem;margin-left:1.875rem;gap:1.375rem}
 .hero{padding-top:9.375rem;padding-bottom:4.0625rem}
 .eyebrow{font-size:.5rem;letter-spacing:.1125rem}
 .hero .eyebrow{margin-bottom:2.1875rem}
 h1{font-size:clamp(4rem,6.6vw,7rem)}
 .lead,.opening-chapter>p:not(.lead){font-size:.8125rem;max-width:21.875rem}
 .lead{margin-top:1.875rem}
 .opening-chapter>p:not(.lead){margin-bottom:1.125rem}
 .primary{padding:1.125rem 1.5625rem;border-radius:2.5rem;font-size:.6875rem;gap:2.375rem}
 .primary span{font-size:1.1875rem}
 .hero .primary{margin-top:1.8125rem}
 .hero-note{font-size:.625rem;margin-top:2.625rem}
 .chapter-index{font-size:.5rem;letter-spacing:.06875rem;gap:1.5625rem;margin-bottom:2.125rem}
 .opening-chapter h2{font-size:clamp(3rem,5.2vw,5.25rem);margin-bottom:2.0625rem}
 .chapter-takeaway{font-size:.625rem;max-width:21.875rem;margin-top:1.375rem;padding-top:1.25rem}
 .mantle-words{font-size:.625rem;gap:.625rem 1.1875rem;max-width:21.25rem;margin:.875rem 0}
 .text-link{font-size:.6875rem;gap:1.5625rem;padding:.8125rem 0;margin-top:.9375rem}
 .text-link span{font-size:1.0625rem}
 .particle-labels>div{gap:.3125rem;padding-left:1.125rem}
 .particle-labels>div:before{width:.6875rem;top:.3125rem}
 .particle-labels span{font-size:.375rem;letter-spacing:.075rem}
 .particle-labels b{font-size:.75rem;letter-spacing:-.0125rem}
 .particle-labels [data-label="1"] b{font-size:1.3125rem;letter-spacing:.03125rem}
 .particle-labels span,.particle-labels b{padding:.125rem .25rem;margin-left:-.25rem}
 .assembly-note{font-size:.5625rem;letter-spacing:.0125rem}
 .scene-footer{bottom:1.5rem;font-size:.5rem;gap:.75rem}
 .scene-footer>span{max-width:11.25rem}
 .scene-footer>div{gap:.8125rem}
 .scene-footer button{font-size:.5625rem;min-height:2.25rem;padding:.5rem 0}
 .possibilities{padding:6.875rem var(--pad) 6.25rem}
 .section-opening,.scenario-layout{max-width:81.25rem}
 .section-opening h2{font-size:clamp(2.375rem,4.7vw,4.5rem);margin:1.5625rem 0}
 .section-opening p{font-size:.8125rem;max-width:26.875rem}
 .scenario-layout{margin-top:4.0625rem}
 .scenario-choices button{font-size:clamp(1.0625rem,1.7vw,1.625rem);padding:1.5625rem 0;gap:1.25rem;letter-spacing:-.0375rem}
 .scenario-choices b{font-size:1.1875rem}
 .case-panel{padding-top:.5rem}
 .case-category{font-size:.4375rem;letter-spacing:.0875rem}
 .case-panel h3{font-size:clamp(1.6875rem,2.8vw,2.75rem);margin:1.25rem 0}
 .case-panel>p{font-size:.75rem;max-width:28.125rem}
 .case-route{margin:2.375rem 0;gap:1.25rem}
 .case-route li{font-size:.5625rem;padding-top:1.5625rem}
 .case-route li:before{width:.3125rem;height:.3125rem;top:-.1875rem}
 .case-panel .case-outcome{font-size:.8125rem;padding-top:.3125rem}
 .agentic-benchmark{padding:6.875rem 6% 5.3125rem}
 .benchmark-intro>span{font-size:.5rem;letter-spacing:.0875rem}
 .benchmark-intro h2{font-size:clamp(2.8125rem,5.3vw,5rem);margin:1.75rem 0}
 .benchmark-intro>p{font-size:.8125rem;max-width:20.625rem}
 .benchmark-standards summary{grid-template-columns:1.5625rem 1fr 1.25rem;gap:1.125rem;padding:1.4375rem 0}
 .benchmark-number,.benchmark-name small{font-size:.5rem}
 .benchmark-name{gap:.4375rem}
 .benchmark-name small{letter-spacing:.04375rem}
 .benchmark-name strong{font-size:1.375rem;letter-spacing:-.0375rem}
 .benchmark-standards summary>b{font-size:1.3125rem}
 .benchmark-standards details>p{font-size:.75rem;margin:0 1.875rem 1.4375rem 2.6875rem;max-width:28.75rem}
 .benchmark-foot{font-size:.6875rem;margin-top:4.0625rem;padding-top:1.5625rem;gap:1.25rem}
 .closing{padding:6.5625rem var(--pad) 6.25rem}
 .closing h2{font-size:clamp(3.25rem,7.4vw,7.1875rem);margin:2.375rem 0 2.8125rem;max-width:75rem}
 .closing>div{gap:5rem}
 .closing p{font-size:.8125rem}
 footer{padding:2.1875rem var(--pad);gap:1.5625rem}
 footer>span,footer>a:last-child{font-size:.625rem}
 footer .logo{font-size:1.5625rem}
 dialog{padding:2.6875rem;max-width:34.375rem}
 dialog h2{font-size:2.5rem;margin:1.5625rem 0}
 dialog>p{font-size:.75rem}
 dialog .close{font-size:1.75rem;right:1.125rem;top:.75rem}
 dialog label{font-size:.6875rem;margin:1.4375rem 0}
 input,textarea{font-size:.8125rem;padding:.8125rem;margin-top:.625rem}
 .form-note{font-size:.625rem;margin-top:1.125rem}
}
@media(max-width:767px){
 .opening{display:block}
 .opening-chapter{padding-left:6%;padding-right:6%;min-height:max(100svh,1010px)}
 .hero{min-height:max(100svh,1020px)}
 .copy-rail>.opening-chapter:last-child{min-height:max(100svh,1010px)}
 .particle-stage canvas{left:0;width:100%}
}
@media(max-width:360px){.hero,.opening-chapter,.copy-rail>.opening-chapter:last-child{min-height:980px}}

/* Preserve the composition around phone notches and the home indicator. */
header{padding-left:max(var(--pad),env(safe-area-inset-left));padding-right:max(var(--pad),env(safe-area-inset-right))}
dialog{max-height:calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow:auto;overscroll-behavior:contain}
@media(pointer:coarse){input,textarea{font-size:16px}.scene-footer button{min-height:44px}}
@media(min-width:540px) and (max-width:767px) and (max-height:540px) and (orientation:landscape){
 .opening{display:grid;grid-template-columns:44% 56%}
 .particle-rail{position:relative;inset:auto;width:auto;pointer-events:auto}.particle-stage{top:0;height:100svh}
 .opening-chapter,.copy-rail>.opening-chapter:last-child{min-height:max(100svh,440px);padding:55px 4% 40px 13.6364%;justify-content:center}
 .hero{padding-top:88px}.hero .eyebrow{font-size:6px;margin-bottom:15px}
 h1{font-size:5.8vw}.lead{font-size:10px;line-height:1.7;margin-top:15px}.hero .primary{margin-top:16px}
 .opening-chapter:not(.hero){padding-top:55px}.opening-chapter:not(.hero) h2{font-size:5vw;margin-bottom:18px}
 .opening-chapter:not(.hero)>p{font-size:10px}.scene-footer>div{gap:13px}.scene-footer button{font-size:7px}
 .assembly-note{font-size:6px}.primary{padding:12px 15px;font-size:9px}
}
