/* White room, existing editorial copy above the interactive scene. */
body:not(.case-page) .hero{background:#fff;min-height:clamp(528px,72.6svh,792px)}
.hero-source{pointer-events:none}
.hero-source a{pointer-events:auto}
.home-page .hero-svg-fallback,.hero-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.home-page .hero-svg-fallback{display:block;overflow:hidden;pointer-events:none;opacity:1;transition:opacity .42s cubic-bezier(.16,1,.3,1)}
.hero-svg-ball{fill:#fff;stroke:#151515;stroke-width:1;vector-effect:non-scaling-stroke}
.hero-svg-ball--outline{opacity:.42}
.hero-svg-ball--solid{fill:#151515;stroke:#151515;opacity:.76}
.hero-svg-ball--soft{fill:#deded9;stroke:#151515;opacity:.58}
.hero-canvas{pointer-events:auto;touch-action:pan-y;opacity:0;transition:opacity .42s cubic-bezier(.16,1,.3,1)}
.hero-primary-ready .hero-canvas{opacity:1}
.hero-primary-ready .hero-svg-fallback{opacity:0}
.hero-source h1{text-shadow:none}
@media(min-width:1200px){.hero-source h1{font-size:clamp(3.6rem,4.86vw,6.48rem)}}
@media(max-width:720px){body:not(.case-page) .hero{min-height:70.4svh;padding-bottom:80px}.hero-source h1{font-size:clamp(28px,8.5vw,60px)}}
@media(prefers-reduced-motion:reduce){.hero-svg-fallback,.hero-canvas{transition-duration:.01ms}}
