:root{--map-wave-duration:12s;--map-wave-ease:cubic-bezier(.4,0,.2,1)}
.is-landing .site-bar,.is-landing .controls{display:none}
.is-landing #presentation{height:100dvh}
.landing{position:absolute;inset:0;display:none;outline:0}
.landing.active{display:block}
.landing-grid{position:absolute;inset:40px;display:grid;place-items:center}
.landing-brand{position:absolute;left:50%;top:31%;transform:translate(-50%,-50%);display:block;width:360px;z-index:1}
.landing-logo{width:100%;height:auto;image-rendering:pixelated}
.landing-map{width:100%;min-width:0}
.builder-map{display:block;width:100%;height:auto;aspect-ratio:820/350;overflow:visible}
.landing-tagline{margin-top:24px;color:var(--fg);font:500 clamp(18px,2.2vw,28px)/1.35 var(--font-body);text-align:center;text-wrap:balance}
.map-block-top{fill:var(--accent);fill-opacity:var(--shade,.8)}
.map-block-right{fill:var(--accent);fill-opacity:.23}
.map-block-front{fill:var(--accent);fill-opacity:.43}
.map-lights{fill:#e9ffe5;pointer-events:none}
.map-glow-phase{opacity:0;animation:map-lights var(--map-wave-duration) var(--map-wave-ease) var(--phase-delay,0s) infinite;animation-play-state:paused}
.builder-map[data-map-playing] .map-glow-phase{animation-play-state:running}
@keyframes map-lights{0%,55%,100%{opacity:0}68%{opacity:.12}78%{opacity:.85}88%{opacity:.18}}
[data-motion-paused] .map-glow-phase{animation:none;opacity:0}
@media(prefers-reduced-motion:reduce){.map-glow-phase{animation:none;opacity:0}}
@media screen and (max-width:900px),screen and (max-width:960px) and (max-height:500px){
 .site-bar{position:fixed;width:100%}
 .is-landing #presentation{height:auto}
 .landing,.landing.active{display:grid;position:relative;min-height:100dvh;padding:24px 16px;place-items:center;scroll-margin-top:0}
 .landing-grid{position:relative;inset:auto;width:100%;max-width:calc(234.2857svh - 252px)}
 .landing-brand{width:30%}
 .landing-tagline{margin-top:16px}
}
@media print{
 .landing,.landing.active{display:block;position:relative;width:1280px;height:720px;break-after:page;background-color:var(--bg);background-image:var(--canvas-image);background-size:auto,var(--canvas-size)}
 .is-landing #presentation{height:auto}
 .map-lights{display:none}
}
