.hero-wrapper{min-height:calc(100vh + 800px);scroll-snap-align:start;isolation:isolate}.hero-wrapper.no-scroll-anim{min-height:100svh}.hero-scene{position:sticky;top:0;width:100%;height:100svh;overflow:hidden;background:var(--color-white)}.hero-scene.no-scroll-anim{position:relative}@keyframes dot-grid-fade{0%{opacity:1}to{opacity:0}}.hero-scene:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(0,0,0,.2) 1px,transparent 1px);background-size:40px 40px;animation:dot-grid-fade linear;animation-timeline:scroll(root);animation-range:100px 500px;animation-fill-mode:forwards;pointer-events:none;z-index:0}.hero-scene.no-scroll-anim:before{opacity:0;animation:none}@keyframes overlay-fade{0%{opacity:1}to{opacity:0}}@keyframes logo-to-grid{0%{transform:translate(var(--logo-dx, 0px),var(--logo-dy, 0px)) scale(var(--logo-scale, 1))}to{transform:none}}@keyframes tile-logo-bg{0%{background:transparent}to{background:#000}}@keyframes badge-black-out{0%{opacity:1}to{opacity:0}}@keyframes badge-white-in{0%{opacity:0}to{opacity:1}}.hero-focus-overlay{position:absolute;inset:0;z-index:5;pointer-events:none;display:grid;grid-template-rows:1fr 2fr 2fr 1.5fr;animation:overlay-fade linear both;animation-timeline:scroll(root);animation-range:0px 350px}.hero-lang-placeholder{grid-row:1}.hero-logo-zone{grid-row:2}.hero-text{position:absolute;bottom:24%;left:0;right:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 1.5rem;pointer-events:none;gap:2.5rem}.hero-scroll-cta{position:absolute;bottom:4%;left:0;right:0;display:flex;justify-content:center;align-items:center}.hero-scene.no-scroll-anim .hero-focus-overlay{opacity:0;pointer-events:none;animation:none}.hero-grid{position:absolute;inset:0;z-index:10;display:grid;width:100%;height:100%;grid-template-columns:548fr 222fr 549fr;grid-template-rows:566fr 473fr 222fr 473fr 566fr;gap:var(--grid-gap);padding:var(--grid-gap)}.tile{position:relative;overflow:hidden;color:var(--color-black);display:block}.tile__icon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:1}.tile__icon img{width:auto;height:40%;max-height:40%;max-width:65%;object-fit:contain}.tile--tips .tile__icon img{height:60%;max-height:60%}.tile--facilities .tile__icon img{height:35%;max-height:35%}.tile__label{position:absolute;bottom:14px;left:14px;font-family:var(--font-display);font-size:clamp(11px,2.8vw,15px);line-height:1.1;letter-spacing:-.01em;text-transform:uppercase;color:var(--color-black);z-index:2}.tile__on-site{position:absolute;top:12px;right:12px;font-family:var(--font-display);font-size:max(11px,clamp(11px,1.2vmin,13px));letter-spacing:.08em;text-transform:uppercase;color:#fff;background:color-mix(in srgb,var(--tile-bg) 80%,black);padding:.2em .65em .25em;border-radius:100px;line-height:1.5;pointer-events:none;z-index:3;white-space:nowrap}.tile--food{grid-area:1 / 1 / 2 / 2;background:var(--color-food);--tile-bg: var(--color-food)}.tile--wellness{grid-area:1 / 2 / 2 / 4;background:var(--color-wellness);--tile-bg: var(--color-wellness)}.tile--events{grid-area:2 / 1 / 3 / 3;background:var(--color-events);--tile-bg: var(--color-events)}.tile--facilities{grid-area:2 / 3 / 4 / 4;background:var(--color-facilities);--tile-bg: var(--color-facilities)}.tile--parking{grid-area:3 / 1 / 5 / 2;background:var(--color-parking)}.tile--transport{grid-area:4 / 2 / 5 / 4;background:var(--color-transport)}.tile--tips{grid-area:5 / 1 / 6 / 3;background:var(--color-tips)}.tile--local{grid-area:5 / 3 / 6 / 4;background:var(--color-local)}.tile--logo{grid-area:3 / 2 / 4 / 3;background:transparent;display:flex;align-items:center;justify-content:center;width:100%;height:100%;overflow:hidden;z-index:15;transform-origin:center;animation:tile-logo-bg linear both;animation-timeline:scroll(root);animation-range:300px 600px}.tile__badge{position:absolute;width:80%;height:80%;object-fit:contain;top:50%;left:50%;transform:translate(-50%,-50%)}.tile__badge--black{animation:badge-black-out linear both;animation-timeline:scroll(root);animation-range:350px 600px}.tile__badge--white{animation:badge-white-in linear both;animation-timeline:scroll(root);animation-range:350px 600px}.tile--logo.is-flipped{animation:logo-to-grid linear both,tile-logo-bg linear both;animation-timeline:scroll(root),scroll(root);animation-range:0px 600px,300px 600px}.hero-scene.no-scroll-anim .tile--logo{animation:none;background:#000}.hero-scene.no-scroll-anim .tile__badge--black{animation:none;opacity:0}.hero-scene.no-scroll-anim .tile__badge--white{animation:none;opacity:1}a.tile{text-decoration:none;cursor:pointer;transition:filter .2s ease;min-height:44px}a.tile:hover{filter:brightness(.88)}a.tile:focus-visible{outline:3px solid rgba(0,0,0,.9);outline-offset:-3px;z-index:10}@keyframes fly-from-top-left{0%{transform:translate(-110%,-110%)}to{transform:none}}@keyframes fly-from-top-right{0%{transform:translate(110%,-110%)}to{transform:none}}@keyframes fly-from-left{0%{transform:translate(-110%)}to{transform:none}}@keyframes fly-from-right{0%{transform:translate(110%)}to{transform:none}}@keyframes fly-from-left-bottom{0%{transform:translate(-110%,55%)}to{transform:none}}@keyframes fly-from-right-bottom{0%{transform:translate(110%,55%)}to{transform:none}}@keyframes fly-from-bottom-left{0%{transform:translate(-55%,110%)}to{transform:none}}@keyframes fly-from-bottom-right{0%{transform:translate(55%,110%)}to{transform:none}}.tile--events{animation:fly-from-left linear both;animation-timeline:scroll(root);animation-range:200px 540px}.tile--transport{animation:fly-from-right-bottom linear both;animation-timeline:scroll(root);animation-range:215px 555px}.tile--wellness{animation:fly-from-top-right linear both;animation-timeline:scroll(root);animation-range:220px 560px}.tile--parking{animation:fly-from-left-bottom linear both;animation-timeline:scroll(root);animation-range:220px 560px}.tile--facilities{animation:fly-from-right linear both;animation-timeline:scroll(root);animation-range:235px 575px}.tile--food{animation:fly-from-top-left linear both;animation-timeline:scroll(root);animation-range:245px 590px}.tile--tips{animation:fly-from-bottom-left linear both;animation-timeline:scroll(root);animation-range:255px 600px}.tile--local{animation:fly-from-bottom-right linear both;animation-timeline:scroll(root);animation-range:260px 600px}.hero-scene.no-scroll-anim .tile{opacity:1;animation:none;transform:none}@keyframes lang-clip{0%{clip-path:inset(0);pointer-events:all}to{clip-path:inset(0 0 100% 0);pointer-events:none}}.hero-lang{position:absolute;top:0;left:0;right:0;height:25.7%;z-index:100;display:grid;grid-template-columns:1fr 1fr 1fr;pointer-events:all;clip-path:inset(0);animation:lang-clip linear forwards;animation-timeline:scroll(root);animation-range:200px 400px}.hero-lang__item{font-family:var(--font-display);font-size:max(16px,clamp(16px,1.8vmin,20px));letter-spacing:.06em;text-transform:uppercase;text-align:center;color:var(--color-black);background:var(--color-white);cursor:pointer;pointer-events:all;display:flex;align-items:center;justify-content:center;min-height:44px;border-right:1px solid rgba(0,0,0,.15);text-decoration:none;padding:0 var(--space-s);-webkit-tap-highlight-color:transparent}.hero-lang__item:last-child{border-right:none}.hero-lang__item--active{background:var(--color-black);color:var(--color-white)}.hero-lang__item:focus-visible{outline:3px solid var(--color-black);outline-offset:-3px;z-index:5}.hero-logo-zone{grid-row:2;pointer-events:none}.hero-text{grid-row:3;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3rem 1.5rem 0}.hero-h1{font-family:var(--font-display);font-size:var(--text-hero);line-height:1.05;letter-spacing:-.02em;color:var(--color-black)}.hero-subtitle{font-family:var(--font-body);font-size:max(16px,var(--text-sub));font-weight:400;color:var(--color-black);max-width:30ch}.hero-scroll-cta{grid-row:4;display:flex;align-items:center;justify-content:center;color:var(--color-black);pointer-events:none;animation:cta-bounce 2s ease-in-out infinite}@keyframes cta-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}@media (prefers-reduced-motion: reduce){.hero-scroll-cta{animation:none}.hero-wrapper{min-height:100svh}.hero-scene{position:relative}.hero-scene:before{opacity:0;animation:none}.hero-focus-overlay{opacity:0;pointer-events:none;animation:none}.tile--logo{animation:none;background:#000}.tile__badge--black{animation:none;opacity:0}.tile__badge--white{animation:none;opacity:1}.tile{opacity:1;animation:none}}
