/* Final room composition: generated shell and video share a fixed floor anchor. */
.tv-room{height:100svh;min-height:650px;padding:0;background-position:center bottom;background-size:cover;display:block;overflow:visible}.tv-scene{position:absolute;left:50%;bottom:13%;width:min(850px,78vw,95svh);max-width:none;transform:translateX(-50%);margin:0;padding:0;z-index:3}.toy-tv{position:relative;width:100%;aspect-ratio:4/3;padding:0;border:0;border-radius:0;background:none;box-shadow:none;transform:none;isolation:isolate}.toy-tv:after{display:none}.toy-tv:before{content:'';position:absolute;left:7%;right:6%;bottom:4%;height:7%;border-radius:50%;background:#39271d70;filter:blur(12px);transform:skewX(-15deg);z-index:-1}.tv-generated-shell{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:2;pointer-events:none}.toy-tv>.tv-screen{position:absolute;left:9.7%;top:23.2%;width:81.1%;height:54%;aspect-ratio:auto;border:0;border-radius:7% / 10%;box-shadow:none;background:#152c30;z-index:1;overflow:hidden}.tv-screen video{height:100%;width:100%;object-fit:cover}.tv-screen:after{display:none}.tv-overlay{z-index:4}.tv-scene #video-status{position:absolute;left:50%;top:100%;transform:translateX(-50%);margin:7px 0 0;width:max-content;max-width:90%;text-align:center;font-size:11px;line-height:1.5}.tv-room .tv-remote{position:absolute;right:6%;bottom:12%;top:auto;left:auto;display:grid;grid-template-columns:1fr 1fr;gap:13px 10px;width:142px;padding:14px 17px 21px;border:1px solid #f6e6c8;border-radius:32px 32px 40px 40px;background:linear-gradient(130deg,#fff9e9,#ecdab9);box-shadow:inset 0 3px 2px #fff,3px 8px 0 #bdab8d,6px 15px 20px #4d392640;z-index:8;margin:0;opacity:0;translate:0 22px;transition:opacity .5s,translate .5s;box-sizing:border-box}.tv-room .tv-remote.remote-visible{opacity:1;translate:0 0}.tv-remote .tv-channel{grid-column:1/-1;text-align:center;font-size:8px;letter-spacing:1px}.tv-remote .tv-led{position:absolute;right:22px;top:43px;width:4px;height:4px}.tv-remote .remote-grip{grid-column:1/-1;width:100%;height:20px;border:0;border-radius:8px;background:transparent;box-shadow:none;display:flex;flex-direction:column;gap:4px;cursor:grab;touch-action:none;justify-content:center;align-items:center;padding:0}.remote-grip span{display:block;width:30px;height:3px;border-radius:3px;background:#b9a98d;box-shadow:0 1px 0 white}.tv-remote.is-dragging{transition:none;box-shadow:inset 0 3px 2px #fff,3px 9px 0 #bdab8d,8px 23px 30px #4d392650}.tv-remote.is-dragging .remote-grip{cursor:grabbing}.tv-remote button:not(.remote-grip){width:47px;height:47px;border-radius:16px;background:linear-gradient(#73bcbc,#408e94);color:#fff;border:1px solid #2c777e;box-shadow:0 4px 0 #2a646b,inset 0 1px 1px #ffffff80;transition:transform .2s,box-shadow .2s,background .2s}.tv-remote button:not(.remote-grip):hover:not(:disabled){transform:translateY(-4px) rotate(-5deg);box-shadow:0 7px 0 #2a646b,inset 0 1px 1px #ffffff80}.tv-remote button:not(.remote-grip):active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 #2a646b}.tv-remote button small{font-size:6px}.tv-remote #tv-fullscreen{grid-column:1/-1;justify-self:center;width:75px;height:43px;flex-direction:row;gap:6px;border-radius:13px;background:linear-gradient(#ffad99,#ed7f6c);border-color:#cb6c5c;box-shadow:0 4px 0 #b96654}.tv-remote #tv-fullscreen:hover{box-shadow:0 7px 0 #b96654}.tv-remote #tv-fullscreen .ui-icon{width:17px;height:17px}.tv-remote #tv-fullscreen small{font-size:6px}.video-collapse{display:none}.tv-screen:fullscreen,.toy-tv>.tv-screen.video-expanded{position:fixed;inset:0;left:0;top:0;width:100vw;height:100dvh;border:0;border-radius:0;background:#10191c;z-index:10000}.tv-screen:fullscreen video,.tv-screen.video-expanded video{object-fit:contain}.tv-screen:fullscreen .video-collapse,.tv-screen.video-expanded .video-collapse{display:grid;place-items:center;position:absolute;right:24px;top:24px;width:45px;height:45px;border:1px solid #ffffff88;border-radius:50%;background:#243c43;color:white;z-index:9;cursor:pointer}.video-expanded-open{overflow:hidden}
/* Remove the old paint containment that clipped tilted photos. */
.intro-carousel-section{background-color:#355e68;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.065' stroke-width='3'%3E%3Crect x='22' y='24' width='24' height='24' rx='5' transform='rotate(15 34 36)'/%3E%3Ccircle cx='132' cy='53' r='16'/%3E%3Cpath d='m68 126 10-20 10 20-20 0Zm61 22q10-19 21 0m-131-51 7 9 11-15M100 15l6 10m-3-12 0 14'/%3E%3C/g%3E%3C/svg%3E"),linear-gradient(125deg,#304f63,#3f7977);background-size:180px 180px,cover}.intro-carousel-heading h2{color:#fff9e7}.intro-carousel-heading .eyebrow{color:#f6d58e}.intro-carousel-section .adventure{overflow:visible!important;contain:none!important}.intro-carousel-section .adventures{padding:45px 45px 50px;scroll-padding-inline:45px;gap:65px}.intro-carousel-section .adventure>img:not(.intro-toy){left:-26px;transform:rotate(-4deg)}.intro-carousel-section .adventure-copy{padding-left:28px}
/* The giraffe rises from behind the following strip, below all reading content. */
.prices{padding-bottom:235px}.giraffe-peek{position:absolute;bottom:0;left:0;width:230px;height:235px;overflow:hidden;pointer-events:none}.prices .giraffe-peek .edge-giraffe{position:absolute;width:220px;height:auto;left:0;top:35px;bottom:auto;transform:translateY(150px) rotate(-7deg);transition:transform 1.2s cubic-bezier(.2,.8,.2,1);opacity:1}.prices .giraffe-peek.is-peeking .edge-giraffe{transform:translateY(10px) rotate(-7deg)}.play-marquee{position:relative;z-index:4}.last-call .welcome-ribbon{display:block!important;width:fit-content;max-width:100%;margin:30px 0 0 38px!important;transform:rotate(-3deg)}.opening-address{display:flex;gap:15px;align-items:center;padding:20px 22px;border:1px solid #ead8a8;border-radius:22px;background:#fff7df;box-shadow:0 5px 0 #f0e2c3;margin:25px 0}.opening-address>.ui-icon{width:36px;height:36px;color:#de9460;flex-shrink:0}.opening-address strong{display:block;font-size:17px;color:#344a65}.opening-address small{display:block;font-size:12px;line-height:1.65;margin-top:5px;color:#657182}
@media(max-width:899px){.tv-runway{height:auto}.tv-room{position:relative;min-height:0;height:760px}.tv-scene{width:min(82vw,720px);bottom:17%}.tv-room .tv-remote{right:3%;bottom:8%;width:125px;padding:10px 13px 18px;gap:10px 7px}.tv-remote button:not(.remote-grip){width:43px;height:43px}.intro-carousel-section .adventures{padding-inline:35px;scroll-padding-inline:35px}.intro-carousel-section .adventure>img:not(.intro-toy){left:-20px}.giraffe-peek{width:190px}.prices .giraffe-peek .edge-giraffe{width:185px}}
@media(max-width:600px){.tv-room{height:max(690px,150vw);background-image:url('assets/tv-bedroom-mobile.avif');background-size:cover;background-position:center bottom;clip-path:none}.tv-scene{width:98%;bottom:29%;transform:translateX(-50%)}.tv-room .tv-remote{right:7%;bottom:7%;width:117px;padding:10px 12px 16px;gap:9px 7px;border-radius:25px 25px 30px 30px}.tv-remote button:not(.remote-grip){width:40px;height:40px}.tv-remote #tv-fullscreen{height:37px;width:70px}.tv-remote .tv-channel{font-size:7px}.tv-remote .remote-grip{height:17px}.tv-room .tv-remote .tv-led{top:35px;right:18px}.tv-scene #video-status{font-size:9px;max-width:80%;margin-top:4px}.toy-tv:before{filter:blur(6px)}.tv-overlay{width:43px;height:43px}.tv-section>.tv-duck{width:135px;left:-10px;bottom:-45px}.intro-carousel-section .adventures{padding:35px 25px 40px;scroll-padding-inline:25px;gap:50px}.intro-carousel-section .adventure{padding:18px!important}.intro-carousel-section .adventure>img:not(.intro-toy){left:0;width:calc(100% + 20px);height:195px;margin:-6px -10px 12px;transform:rotate(-3deg)}.intro-carousel-section .adventure-copy{padding:12px 0 0}.intro-carousel-section .adventure h3{font-size:25px}.intro-carousel-section .adventure p{font-size:12px}.prices{padding-bottom:190px}.giraffe-peek{width:155px;height:180px}.prices .giraffe-peek .edge-giraffe{width:150px;top:15px}.last-call .welcome-ribbon{margin:25px 0 0!important;padding:10px 13px!important}.opening-address{padding:16px;gap:10px;border-radius:18px}.opening-address strong{font-size:15px}.opening-address small{font-size:11px}.opening-address>.ui-icon{width:28px;height:28px}}
@media(prefers-reduced-motion:reduce){.tv-remote{transition:none!important;opacity:1!important;translate:none!important}.prices .giraffe-peek .edge-giraffe{transition:none;transform:translateY(10px) rotate(-7deg)}.tv-remote button{transition:none!important}}
@media(max-width:600px){.tv-scene #video-status{left:28%;max-width:49%;white-space:normal}}
/* Scroll expansion begins only after reaching the room. */
.tv-runway{height:165svh}.tv-room{position:sticky;top:0;height:100svh;min-height:650px;clip-path:inset(calc((1 - var(--tv-expand,0))*8%) calc((1 - var(--tv-expand,0))*13%) round calc((1 - var(--tv-expand,0))*55px))}.tv-scene{transform:translateX(-50%) scale(calc(.91 + var(--tv-expand,0)*.09));transform-origin:50% 94%}.toy-tv:before{background:#39271d40;filter:blur(13px);height:5%;bottom:4.5%}
/* Generated compact shell, with independent accessible animated controls. */
.tv-room .tv-remote{width:145px;height:238px;display:block;padding:0;border:0;background:none;box-shadow:none;border-radius:0;filter:drop-shadow(4px 9px 6px #553d3338)}.remote-art{position:absolute;width:200%;max-width:none;height:100%;left:-50%;top:0;object-fit:fill;pointer-events:none;z-index:-1}.tv-remote.is-dragging{box-shadow:none;filter:drop-shadow(8px 15px 10px #553d3348)}.tv-remote .remote-grip{position:absolute;left:15%;top:7%;width:70%;height:17%;background:none;box-shadow:none}.remote-grip span{opacity:0}.tv-remote .tv-channel{position:absolute;top:28%;left:0;right:0;font-size:7px}.tv-remote .tv-led{display:none}.tv-remote #tv-play,.tv-remote #tv-pause{position:absolute;top:42%;width:43px;height:43px}.tv-remote #tv-play{left:16%}.tv-remote #tv-pause{right:16%}.tv-remote #tv-fullscreen{position:absolute;top:68%;left:25%;width:50%;height:39px}.tv-remote button:focus-visible{outline:3px solid #fff;outline-offset:3px}
.prices .giraffe-peek .edge-giraffe,.prices .giraffe-peek.is-peeking .edge-giraffe{transform:translateY(var(--peek-y,100px)) rotate(-7deg);transition:transform .12s linear;will-change:transform}
.last-call>.wrap{position:relative;overflow:visible}.last-call .welcome-ribbon{position:absolute;right:15px;top:-22px;left:auto;max-width:calc(100% - 30px);margin:0!important;padding:14px 26px!important;background:#dc5360;border:0;border-radius:3px;transform:rotate(4deg);color:white!important;box-shadow:0 6px 12px #9d344a22;z-index:4}.last-call .welcome-ribbon:before{content:'';position:absolute;left:-12px;top:7px;width:24px;height:100%;background:#bb3c4e;clip-path:polygon(0 0,100% 0,100% 100%,0 100%,30% 50%);z-index:-1;margin:0}.last-call .welcome-ribbon:after{content:'';position:absolute;right:-12px;top:7px;width:24px;height:100%;background:#bb3c4e;clip-path:polygon(0 0,100% 0,70% 50%,100% 100%,0 100%);z-index:-1}.last-call .welcome-ribbon p{color:white!important;font-size:18px!important;font-weight:600}
@media(min-width:601px) and (max-width:1100px){.tv-room{background-image:url('assets/tv-bedroom-tablet.avif');background-position:center bottom}.tv-scene{width:min(85vw,760px);bottom:17%}.tv-room .tv-remote{width:132px;height:218px;right:5%;bottom:7%}.tv-remote #tv-play,.tv-remote #tv-pause{width:39px;height:39px}}
@media(max-width:600px){.tv-runway{height:165svh;min-height:1050px}.tv-room{height:100svh;min-height:650px;position:sticky;clip-path:inset(calc((1 - var(--tv-expand,0))*6%) calc((1 - var(--tv-expand,0))*6%) round calc((1 - var(--tv-expand,0))*30px))}.tv-scene{bottom:29%;transform:translateX(-50%) scale(calc(.94 + var(--tv-expand,0)*.06))}.tv-room .tv-remote{width:125px;height:205px;right:7%;bottom:6%}.tv-remote #tv-play,.tv-remote #tv-pause{width:37px;height:37px}.tv-remote #tv-fullscreen{height:34px}.last-call .welcome-ribbon{right:8px;top:-26px;padding:11px 15px!important;max-width:calc(100% - 16px)}.last-call .welcome-ribbon p{font-size:14px!important}.last-call>.wrap{padding-top:55px}}
@media(prefers-reduced-motion:reduce){.tv-runway{height:auto;min-height:0}.tv-room{position:relative;clip-path:none}.tv-scene{transform:translateX(-50%)}.prices .giraffe-peek .edge-giraffe{transition:none}}
.last-call>.wrap>.welcome-ribbon{position:absolute;z-index:4;max-width:calc(100% - 30px)}
/* A photographic, softly tinted backdrop behind the introduction. */
.intro-carousel-section{position:relative;isolation:isolate;background:#315f67;overflow:hidden}.intro-carousel-section:before{content:'';position:absolute;inset:-20px;background:url('assets/photos/Spielplatz (13).webp') center 55% / cover no-repeat;filter:blur(9px);z-index:-2;pointer-events:none}.intro-carousel-section:after{content:'';position:absolute;inset:0;background:linear-gradient(125deg,#25495dd9,#346e6dbb);z-index:-1;pointer-events:none}.intro-carousel-section>.wrap{position:relative;z-index:1}.road-divider{height:92px;background:linear-gradient(#f5f9f8,#fffdf7);position:relative;overflow:hidden;margin-top:-25px}.road-divider svg{display:block;width:100%;height:100%}.prices{padding-top:65px}.motor-bridge{position:relative;height:85px;background:linear-gradient(#f5f8fa,#fffdf7);z-index:3;overflow:visible}.motor-bridge .intro-rideon{position:absolute;width:185px;right:8%;left:auto;top:-63px;bottom:auto;transform:rotate(-8deg);pointer-events:none}.opening{padding-top:100px}.tv-room .tv-remote{right:calc(50% - 475px);width:142px;height:238px}.remote-art{filter:drop-shadow(0 2px 1px #1112)}
/* Satin-like ribbon: subtle weave, shaded folds, and a soft cast shadow. */
.last-call>.wrap>.welcome-ribbon{background:repeating-linear-gradient(0deg,#ffffff05 0 1px,#00000003 1px 2px),linear-gradient(165deg,#f47b7a 0%,#d84b58 34%,#c53c4d 68%,#ec7375 100%);border-top:1px solid #ffaaa599;border-bottom:1px solid #a42f4488;border-radius:2px;box-shadow:0 8px 12px #7c243529,inset 0 2px 2px #ffd5ca33,inset 0 -2px 3px #7c273233;transform:rotate(3deg);padding:15px 26px!important}.last-call .welcome-ribbon:before{left:-17px;top:9px;width:34px;height:calc(100% + 2px);background:linear-gradient(100deg,#c14a55,#902b40 65%,#ac3447);clip-path:polygon(0 0,100% 10%,100% 90%,0 100%,23% 48%);transform:rotate(-4deg)}.last-call .welcome-ribbon:after{right:-17px;top:9px;width:34px;height:calc(100% + 2px);background:linear-gradient(80deg,#9d3043,#cf5260);clip-path:polygon(0 10%,100% 0,77% 50%,100% 100%,0 90%);transform:rotate(4deg)}.last-call .welcome-ribbon p{text-shadow:0 1px 1px #80273966;letter-spacing:.1px}
@media(max-width:1100px){.tv-room .tv-remote{right:5%}}
@media(max-width:600px){.topbar{padding:10px 0}.topbar-inner{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:24px;flex-wrap:nowrap}.top-directions{display:none}.top-location{white-space:nowrap;font-size:9px;letter-spacing:0}.topbar .inline-contacts{gap:7px;flex-shrink:0}.topbar .inline-contacts a{width:23px;height:23px}.road-divider{height:62px;margin-top:-15px}.prices{padding-top:45px}.motor-bridge{height:65px}.motor-bridge .intro-rideon{width:130px;right:5%;top:-45px}.opening{padding-top:80px}.tv-room .tv-remote{right:7%;width:125px;height:205px}.last-call>.wrap>.welcome-ribbon{padding:11px 15px!important}}
.tv-remote .remote-art{width:260%;left:-80%}.prices.wave:before{display:none}.road-divider{background:linear-gradient(#f5f9f8,#f0f8fb)}
.tv-room .tv-remote{width:145px;height:202px}.tv-remote .remote-art{width:150%;left:-25%;height:100%;filter:none}.tv-remote .tv-channel{display:none}.tv-remote .remote-grip{top:9%;left:18%;width:64%;height:18%}.tv-room .tv-remote #tv-play,.tv-room .tv-remote #tv-pause{top:35%;width:36%;height:24%;border:0;border-radius:50%;background:none;box-shadow:none;padding:0;overflow:hidden}.tv-room .tv-remote #tv-play{left:11%;right:auto}.tv-room .tv-remote #tv-pause{left:53%;right:auto}.tv-room .tv-remote #tv-fullscreen{left:17%;top:63%;width:66%;height:18%;border:0;border-radius:22%;background:none;box-shadow:none;padding:0;overflow:hidden}.remote-button-art{position:absolute;max-width:none;pointer-events:none;object-fit:fill}.tv-room .tv-remote button:not(.remote-grip):hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.12);box-shadow:0 3px 5px #34433c25}.tv-room .tv-remote button:not(.remote-grip):active:not(:disabled){transform:translateY(1px) scale(.97);filter:brightness(.96);box-shadow:none}.tv-room .tv-remote button:disabled{opacity:1}.tv-room .tv-remote button:disabled:after{content:'';position:absolute;inset:0;border-radius:inherit;background:#fff6}.tv-remote button:focus-visible{outline:3px solid #fff;outline-offset:3px}
@media(max-width:1100px){.tv-room .tv-remote{width:135px;height:190px}}
@media(max-width:600px){.tv-room .tv-remote{width:128px;height:180px}}
/* Birthday surround, edge toys and stable card numbering */
#ajanlatkeres.booking{position:relative;isolation:isolate;background:linear-gradient(135deg,#25394f,#344f66 60%,#2b435b);padding-top:135px;padding-bottom:140px;overflow:hidden}
#ajanlatkeres.booking:before{display:none}
#ajanlatkeres .booking-grid{position:relative;z-index:1;box-shadow:0 24px 65px #10223440}
.booking-party-decor{position:absolute;inset:0;pointer-events:none;z-index:0}
.booking-party-decor svg{position:absolute;display:block}
.party-balloons{width:175px;left:-12px;top:12px;transform:rotate(-10deg)}
.party-gift{width:170px;right:-12px;bottom:3px;transform:rotate(12deg)}
.party-confetti{inset:0;width:100%;height:100%;opacity:.8}
.prices .price-rings{width:280px;right:-25px;top:auto;bottom:5px}
.motor-bridge{height:130px}
.motor-bridge .intro-rideon{width:280px;right:-15px;top:-85px}
.last-call>.wrap>.welcome-ribbon{padding:0!important;background:none;border:0;box-shadow:none;isolation:isolate}
.last-call .welcome-ribbon p{position:relative;z-index:1;padding:15px 26px;border-radius:2px;background:repeating-linear-gradient(0deg,#ffffff05 0 1px,#00000003 1px 2px),linear-gradient(165deg,#f47b7a,#d84b58 34%,#c53c4d 68%,#ec7375);box-shadow:0 7px 12px #7c243529,inset 0 2px 2px #ffd5ca33;border-top:1px solid #ffaaa599;border-bottom:1px solid #a42f4488}
.last-call .welcome-ribbon:before,.last-call .welcome-ribbon:after{z-index:0;top:13px;height:100%}
@media(max-width:800px){
.intro-carousel-section .adventure-copy .number{position:relative;display:table;inset:auto;float:none;transform:rotate(-5deg);margin:0 0 16px;padding:4px 12px;line-height:1.3}
.intro-carousel-section .adventure-copy h3{display:block;clear:both;margin-top:0}
}
@media(max-width:600px){
#ajanlatkeres.booking{padding-top:110px;padding-bottom:110px}
.party-balloons{width:115px;left:-12px;top:2px}
.party-gift{width:115px;right:-8px;bottom:0}
.prices .price-rings{width:165px;right:-25px;bottom:0;top:auto}
.motor-bridge{height:90px}
.motor-bridge .intro-rideon{width:190px;right:-15px;top:-56px}
.last-call>.wrap>.welcome-ribbon{padding:0!important}
.last-call .welcome-ribbon p{padding:11px 15px}
}
/* Ride-on toy rests on the upper left footer edge. */
footer .footer-rideon{position:absolute;width:280px;height:auto;left:1%;right:auto;top:-165px;bottom:auto;transform:rotate(-7deg);z-index:3;pointer-events:none}
@media(max-width:600px){footer .footer-rideon{width:190px;left:-15px;top:-115px}}
/* Toys span section boundaries; the road remains behind the ride-on. */
.road-divider{overflow:visible;z-index:5}
.road-divider .road-rideon{position:absolute;width:280px;height:auto;right:2%;left:auto;top:auto;bottom:25px;transform:rotate(-5deg);z-index:2;pointer-events:none}
footer .footer-rings{position:absolute;width:280px;height:auto;left:1%;right:auto;top:-165px;bottom:auto;z-index:3;transform:rotate(-7deg);pointer-events:none}
@media(min-width:901px){.hero-bottom>.tv-blocks{width:290px;top:-175px;right:35px}}
@media(max-width:600px){
.road-divider .road-rideon{width:175px;right:0;bottom:15px}
footer .footer-rings{width:190px;left:-15px;top:-115px}
}

.tv-scene #video-status{display:none!important}
/* Mobile hero: hours, full-width slideshow, speech bubble and larger mascot. */
@media(max-width:600px){
.hero-grid{gap:25px}
.hero-art{display:flex;flex-direction:column;align-items:center;height:auto;width:100%;margin:0;padding-bottom:85px;isolation:isolate}
.hero-art .hero-photo{position:relative;inset:auto;order:0;width:calc(100% - 8px);height:auto;aspect-ratio:4/3;margin:0 8px 30px 0;transform:none;border-radius:35px 24px 40px 24px;flex-shrink:0}
.hero-art .lion-caption{position:relative;inset:auto;order:1;width:min(290px,90%);height:72px;min-height:72px;margin:0 0 15px;font-size:21px;transform:rotate(-2deg);flex-shrink:0}
.hero-art .lion-caption:before{left:48%;bottom:-10px}
.hero-art .lion{position:relative;inset:auto;order:2;width:270px;height:270px;max-width:100%;margin:0;flex-shrink:0}
.hero-art .sunburst{top:auto;bottom:95px;left:50%;width:255px;height:245px;transform:translateX(-50%) rotate(-12deg);z-index:0}
}

@media(max-width:600px){footer .footer-rings{display:none}}
@media(max-width:600px){
.hero-art{padding-bottom:0}
.hero-art .sunburst{bottom:10px}
.hero-grid>.hero-visit{justify-self:center;margin:0 0 30px;max-width:100%}
.hero-grid{row-gap:20px;padding-bottom:20px}
}
@media(max-width:600px){
.hero-photo .hero-slides-controls{top:auto;bottom:12px;right:12px;z-index:3;padding:5px 8px 5px 12px;gap:9px;border-radius:24px;background:#fffdf5ed;box-shadow:0 3px 14px #20344b26;backdrop-filter:blur(8px)}
.hero-photo .hero-slides-controls .hero-slides-pause{margin-left:3px}
}
/* Native paw cursors: no tracking layer, touch and text editing stay native. */
@media(hover:hover) and (pointer:fine){
body{cursor:url('assets/paper-plane-cursor.svg') 3 3,auto}
a,button,summary,label[for],select,[role="button"],input[type="submit"],input[type="button"],input[type="checkbox"],input[type="radio"]{cursor:url('assets/paper-plane-pointer.svg') 3 3,pointer!important}
a *,button *,[role="button"] *{cursor:inherit!important}
input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),textarea,[contenteditable="true"]{cursor:text}
button:disabled,input:disabled,select:disabled{cursor:not-allowed!important}
}
/* Small air strokes behind the paper plane; never intercept interaction. */
.cursor-wind{position:fixed;inset:0 auto auto 0;width:58px;height:58px;margin:0;padding:0;border:0;background:transparent;overflow:visible;pointer-events:none!important;z-index:2147483647;opacity:0;contain:layout style}
.cursor-wind.is-visible{opacity:1}
.cursor-wind::backdrop{background:transparent;pointer-events:none}
.cursor-wind svg{display:block;width:100%;height:100%;overflow:visible}
.cursor-wind path{stroke:#53aaa9;stroke-width:1.7;stroke-linecap:round;opacity:0;animation:paper-plane-breeze .95s ease-out infinite;animation-play-state:paused}
.cursor-wind.is-visible path{animation-play-state:running}
.cursor-wind path:nth-child(2){animation-delay:.18s;stroke:#e99483}
.cursor-wind path:nth-child(3){animation-delay:.38s;stroke-width:1.3}
@keyframes paper-plane-breeze{0%{opacity:0;transform:translate(-3px,-3px)}25%{opacity:.8}100%{opacity:0;transform:translate(7px,7px)}}
@media(prefers-reduced-motion:reduce),(hover:none){.cursor-wind{display:none!important}}
/* Fade only the moving text, never the toy crossing the section edge. */
.hero-bottom{overflow:visible;mask-image:none;-webkit-mask-image:none;z-index:6}
.hero-ticker-window{width:100%;min-width:0;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.hero-bottom>.tv-blocks{z-index:7}
/* Fixed hit areas prevent dots from shifting under the pointer on selection. */
.room-dots{gap:2px}
.room-dots button,.room-dots button[aria-current=true]{position:relative;width:28px;height:32px;flex:0 0 28px;padding:0;background:transparent;border:0;border-radius:8px}
.room-dots button:before{content:'';position:absolute;left:50%;top:50%;width:7px;height:7px;border-radius:8px;background:#b2c4c5;transform:translate(-50%,-50%);transition:width .18s ease,background-color .18s ease}
.room-dots button[aria-current=true]:before{width:20px;background:#34b8ba}
.room-dots button:focus-visible{outline:2px solid #34b8ba;outline-offset:1px}
/* Center icons independently of font metrics and legacy button padding. */
#tv-overlay{display:grid;place-items:center;padding:0;line-height:1}
#tv-overlay[hidden]{display:none}
#tv-overlay .ui-icon{display:block;margin:0;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round;transform:none}
#tv-overlay .ui-icon path{fill:none}
.contact-dialog .contact-close{display:grid;place-items:center;padding:0;line-height:1}
.contact-dialog .contact-close .ui-icon{display:block;width:18px;height:18px;margin:0;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;transform:none}
@media(max-width:600px){
.hero-bottom>.tv-blocks{width:150px;right:12px;top:-86px;transform:rotate(5deg)}
.hero-grid>.hero-visit{margin-top:18px;margin-bottom:30px}
}
/* Transparent illustrations retain their intrinsic proportions after export. */
img.toy-float,.last-call>.wrap>img,.footer-logo,.logo img{height:auto;object-fit:contain}
.ball-bounce img{object-fit:contain}
.public-notice{background:#fff1c5;color:#443d31;border-bottom:1px solid #e9d99f;font-size:13px;line-height:1.4}
.public-notice[hidden]{display:none}
.notice-inner{display:flex;align-items:center;justify-content:center;gap:12px;padding-block:5px}
.notice-label{display:inline-flex;flex:none;align-items:center;gap:5px;padding:2px 9px;border-radius:12px;background:#ffe096;color:#68450e;font-size:11px;font-weight:800}
.notice-label svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}
#notice-message{overflow-wrap:anywhere}
@media(max-width:600px){.notice-inner{gap:8px;justify-content:flex-start}.public-notice{font-size:11px}.notice-label{padding:2px 6px;font-size:10px}}
.opening-list{margin:16px 0}
.opening-list>div{align-items:center;padding:5px 0;font-size:14px;line-height:1.35}
.opening-list dd{font-variant-numeric:tabular-nums}
.notice-close{display:grid;place-items:center;flex:0 0 28px;height:28px;padding:0;border:0;border-radius:50%;color:#68450e;background:transparent}
.notice-close:hover,.notice-close:focus-visible{background:#ffe096}
.notice-close .ui-icon{width:16px;height:16px}
@media(max-width:600px){.notice-close{margin-left:auto}}
