/* Home inherits the shared header, typography, navigation and buttons. */
.home-page{min-height:100vh;min-height:100svh;display:flex;flex-direction:column}
.home-page main{display:flex;flex:1;min-height:0}
.home-page .scene-wrap{flex:1;width:100%;height:auto;min-height:420px;margin:0;border-radius:0}
.home-page .scene-fallback{font:600 14px 'Space Grotesk',sans-serif;letter-spacing:1.5px}
@media(max-width:640px){.home-page .scene-wrap{min-height:360px}}
.home-page #highway{position:absolute;inset:0;width:100%;height:100%}
/* A still frame of the 3D scene paints immediately (and for crawlers, screenshot
   services and devices without WebGL); the live canvas fades in over it. */
.home-page .scene-wrap{background:#e9ece5 url(hero-poster.jpg) center/cover no-repeat}
.home-page #highway{opacity:0;transition:opacity .6s ease}
.home-page .scene-wrap.is-ready #highway{opacity:1}
.home-page .scene-wrap:not(.scene-error) .scene-fallback{visibility:hidden}
.home-page .scene-error .scene-fallback{z-index:3;inset:auto 0 28px;margin:auto;width:max-content;max-width:calc(100% - 32px);height:auto;padding:12px 16px;background:#20231fe6;color:#fff;border-radius:4px;letter-spacing:.3px;text-align:center}
@media(prefers-reduced-motion:reduce){.home-page #highway{transition:none}}
