.interactive-city-hero{--hero-transition:850ms cubic-bezier(0.4,0,0.2,1);--hero-hover-transition:280ms cubic-bezier(0.4,0,0.2,1);--hero-sky-h:min(calc(var(--hero-h) / 6),calc(var(--hero-h) / 2 - 15.625vw));height:var(--hero-h)}.interactive-city-hero #city-scene-transform,.interactive-city-hero .city-world-layer{transition:transform var(--hero-transition);transform-origin:0 0}.interactive-city-hero.hero-transitioning #city-scene-transform,.interactive-city-hero.hero-transitioning .city-world-layer{will-change:transform}.interactive-city-hero .city-zone{cursor:pointer;transition:opacity var(--hero-hover-transition)}.interactive-city-hero .city-art-raster{image-rendering:high-quality}.interactive-city-hero .city-world-layer{background-color:#d4e4ec}.interactive-city-hero .city-hover-mask{transition:opacity var(--hero-hover-transition)}.interactive-city-hero .city-zone-hit{fill:transparent;stroke:transparent;cursor:pointer}.interactive-city-hero .city-zone-backdrop{cursor:zoom-out}.interactive-city-hero .city-zone-backdrop,.interactive-city-hero .city-zone-backdrop:focus,.interactive-city-hero .city-zone-backdrop:focus-visible,.interactive-city-hero .city-zone-hit,.interactive-city-hero .city-zone-hit:focus,.interactive-city-hero .city-zone-hit:focus-visible{outline:none;stroke:transparent}.interactive-city-hero .city-hover-mask path{transition:opacity var(--hero-hover-transition),stroke-opacity var(--hero-hover-transition)}.interactive-city-hero .city-scene-stage{filter:none}.interactive-city-hero .zone-tile-active-ring{filter:drop-shadow(0 0 6px rgba(13,148,136,.35))}@keyframes city-blink{0%,45%,to{opacity:.35}50%{opacity:1}}@keyframes city-signal{0%,40%{fill:#fca5a5}45%,85%{fill:#fde047}90%,to{fill:#86efac}}@keyframes city-cow-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes city-machine-arm{0%,to{transform:rotate(0deg)}40%{transform:rotate(-18deg)}60%{transform:rotate(8deg)}}.interactive-city-hero .city-light.anim-blink{animation:city-blink 3.2s ease-in-out infinite}.interactive-city-hero .city-actor-cow{animation:city-cow-bob 6s ease-in-out infinite}.interactive-city-hero .city-machine-arm{transform-origin:0 0;animation:city-machine-arm 4.5s ease-in-out infinite}.interactive-city-hero.hero-paused .city-actor-cow,.interactive-city-hero.hero-paused .city-light,.interactive-city-hero.hero-paused .city-machine-arm,.interactive-city-hero.hero-zoom-active .city-actor-cow,.interactive-city-hero.hero-zoom-active .city-light{animation-play-state:paused}.interactive-city-hero.hero-reduced-motion .city-actor-cow,.interactive-city-hero.hero-reduced-motion .city-light,.interactive-city-hero.hero-reduced-motion .city-machine-arm{animation:none!important}.interactive-city-hero.hero-reduced-motion #city-scene-transform,.interactive-city-hero.hero-reduced-motion .city-world-layer{transition-duration:.12s}.interactive-city-hero.hero-fullscreen-fallback{position:fixed;inset:0;z-index:80;width:100vw;height:100dvh}@keyframes hero-title-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.interactive-city-hero .hero-title-card{animation:hero-title-in .42s cubic-bezier(.22,1,.36,1) both}.interactive-city-hero.hero-reduced-motion .hero-title-card{animation:none}.interactive-city-hero .city-clouds{container-type:inline-size}@keyframes city-cloud-drift{0%{transform:translateX(-100%)}to{transform:translateX(100cqw)}}.interactive-city-hero .city-cloud{position:absolute;left:0;aspect-ratio:3/1;background:radial-gradient(ellipse 34% 60% at 32% 62%,#fff 0 55%,transparent 72%),radial-gradient(ellipse 30% 70% at 55% 45%,#fff 0 55%,transparent 72%),radial-gradient(ellipse 26% 52% at 76% 66%,#fff 0 55%,transparent 72%),radial-gradient(ellipse 48% 34% at 50% 78%,#fff 0 60%,transparent 75%);filter:blur(6px);animation-name:city-cloud-drift;animation-timing-function:linear;animation-iteration-count:infinite;will-change:transform}.interactive-city-hero.hero-reduced-motion .city-cloud{animation-play-state:paused}@media (prefers-reduced-motion:reduce){.interactive-city-hero .city-cloud{animation-play-state:paused}}.interactive-city-hero .city-actors-svg{transition:opacity .52s ease-out}.interactive-city-hero .city-actors-svg image{image-rendering:high-quality;-webkit-user-drag:none}.interactive-city-hero .city-actor-layer-rail .city-actor,.interactive-city-hero .city-actor-layer-road .city-actor,.interactive-city-hero .city-actor-layer-water .city-actor{will-change:transform}.interactive-city-hero .city-occlusion-layer,.interactive-city-hero .city-occlusion-layer *{pointer-events:none}@keyframes city-light-pulse{0%,to{opacity:calc(var(--city-light-peak, .4) * .22)}45%{opacity:var(--city-light-peak,.4)}70%{opacity:calc(var(--city-light-peak, .4) * .5)}}.interactive-city-hero .city-light{opacity:0;animation-name:city-light-pulse;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-fill-mode:both}@keyframes city-shore-wave{0%{opacity:0;transform:translate(var(--shore-dx,-10px),var(--shore-dy,24px))}35%{opacity:.75}78%{opacity:.95;transform:translate(0)}to{opacity:0;transform:translate(.4px,-1px)}}.interactive-city-hero .city-shore-wave{opacity:0;animation:city-shore-wave 7.2s cubic-bezier(.3,.1,.4,1) infinite both}@keyframes city-shore-swash{0%{opacity:.6;transform:translate(0)}33%{opacity:1;transform:translate(var(--swash-in-x,1px),var(--swash-in-y,-3px))}72%{opacity:.55;transform:translate(var(--swash-out-x,-1px),var(--swash-out-y,3px))}to{opacity:.6;transform:translate(0)}}.interactive-city-hero .city-shore-foam{animation:city-shore-swash 2.4s ease-in-out infinite both}.interactive-city-hero .city-shore-waves-still .city-shore-wave{animation:none;opacity:.35}.interactive-city-hero .city-shore-waves-still .city-shore-foam{animation:none;opacity:.7}.interactive-city-hero.hero-paused .city-shore-foam,.interactive-city-hero.hero-paused .city-shore-wave{animation-play-state:paused}@keyframes city-spill-flow{to{stroke-dashoffset:-17}}@keyframes city-spill-flow-fast{to{stroke-dashoffset:-15}}@keyframes city-spill-splash{0%,to{opacity:.55;transform:scale(.85)}50%{opacity:.9;transform:scale(1.12)}}@keyframes city-spill-ring{0%{opacity:.7;transform:scale(.45)}to{opacity:0;transform:scale(1.6)}}.interactive-city-hero .city-spill-flow{opacity:.8;animation:city-spill-flow .55s linear infinite}.interactive-city-hero .city-spill-flow-shade{opacity:.45}.interactive-city-hero .city-spill-flow-fast{opacity:.9;animation-name:city-spill-flow-fast;animation-duration:.38s}.interactive-city-hero .city-spill-ring,.interactive-city-hero .city-spill-splash{transform-box:fill-box;transform-origin:center}.interactive-city-hero .city-spill-splash{animation:city-spill-splash .9s ease-in-out infinite both}.interactive-city-hero .city-spill-ring{opacity:0;animation:city-spill-ring 1.8s ease-out infinite both}.interactive-city-hero .city-spillways-still .city-spill-flow,.interactive-city-hero .city-spillways-still .city-spill-splash{animation:none}.interactive-city-hero .city-spillways-still .city-spill-ring{animation:none;opacity:0}.interactive-city-hero.hero-paused .city-spill-flow,.interactive-city-hero.hero-paused .city-spill-ring,.interactive-city-hero.hero-paused .city-spill-splash{animation-play-state:paused}.interactive-city-hero .city-lights-still .city-light{animation:none}@media (prefers-reduced-motion:reduce){.interactive-city-hero .city-light{animation:none;opacity:calc(var(--city-light-peak, .4) * .45)}.interactive-city-hero .city-shore-wave{animation:none;opacity:.35}.interactive-city-hero .city-shore-foam,.interactive-city-hero .city-spill-flow,.interactive-city-hero .city-spill-splash{animation:none}.interactive-city-hero .city-spill-ring{animation:none;opacity:0}.interactive-city-hero .city-actors-svg{transition:none}}@keyframes city-tag-ring-in{0%{opacity:0;stroke-width:22}to{opacity:1;stroke-width:9}}@keyframes city-tag-dot-in{0%{opacity:0;transform:scale(.2)}60%{transform:scale(1.25)}to{opacity:1;transform:scale(1)}}@keyframes city-tag-line-in{0%{stroke-dashoffset:var(--tag-line-length,260)}to{stroke-dashoffset:0}}@keyframes city-tag-box-in{0%{opacity:0;transform:scale(.72)}to{opacity:1;transform:scale(1)}}.interactive-city-hero .city-hover-tag-ring{animation:city-tag-ring-in .26s cubic-bezier(.22,1,.36,1) both}.interactive-city-hero .city-hover-tag-dot{animation:city-tag-dot-in .32s cubic-bezier(.34,1.56,.64,1) 90ms both}.interactive-city-hero .city-hover-tag-line{stroke-dasharray:var(--tag-line-length,260);animation:city-tag-line-in .34s cubic-bezier(.4,0,.2,1) .16s both}.interactive-city-hero .city-hover-tag-box{animation:city-tag-box-in .3s cubic-bezier(.34,1.56,.64,1) .3s both}.interactive-city-hero.hero-reduced-motion .city-hover-tag-box,.interactive-city-hero.hero-reduced-motion .city-hover-tag-dot,.interactive-city-hero.hero-reduced-motion .city-hover-tag-line,.interactive-city-hero.hero-reduced-motion .city-hover-tag-ring{animation:none;stroke-dashoffset:0;opacity:1}@media (prefers-reduced-motion:reduce){.interactive-city-hero .city-hover-tag-box,.interactive-city-hero .city-hover-tag-dot,.interactive-city-hero .city-hover-tag-line,.interactive-city-hero .city-hover-tag-ring{animation:none;stroke-dashoffset:0;opacity:1}}.interactive-city-hero .city-product-track{transition:transform .52s cubic-bezier(.22,1,.36,1);will-change:transform}@keyframes city-product-modal-in{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.interactive-city-hero .city-product-modal{animation:city-product-modal-in .32s cubic-bezier(.22,1,.36,1) both}@keyframes city-product-backdrop-in{0%{opacity:0}}.interactive-city-hero .city-product-backdrop{animation:city-product-backdrop-in .24s ease-out both}.interactive-city-hero.hero-reduced-motion .city-product-backdrop{animation:none}.interactive-city-hero.hero-reduced-motion .city-product-track{transition:none}.interactive-city-hero.hero-reduced-motion .city-product-modal{animation:none}@media (prefers-reduced-motion:reduce){.interactive-city-hero .city-product-track{transition:none}.interactive-city-hero .city-product-modal{animation:none}}