.animated-logo{display:block;width:100%;height:auto;overflow:visible}
.animated-logo [data-logo-part]{transform-box:fill-box;transform-origin:center}
.footer-brand .animated-logo path{fill:#6e329b!important;mix-blend-mode:normal}
.living-site{
 --spring:cubic-bezier(.22,.75,.25,1);--menu-height:116px;
 /* Vertical position: larger px values move characters DOWN. */
 --gallery-left-top:22px;
 --gallery-right-top:18px;
 --gallery-left-top-mobile:15px;
 --gallery-right-top-mobile:13px;
}
.living-site.has-entered{padding-top:var(--menu-height)}
.living-site.has-entered .living-hero,.living-site.has-entered .menu-sentinel{display:none}
html:has(.living-site.experience-ready){scroll-padding-top:116px}
.living-site.experience-ready .scene-section{scroll-margin-top:0}
.living-site.experience-ready .menu-brand,.living-site.experience-ready .living-menu.is-stuck .menu-brand{width:200px}
.living-site.experience-ready .menu-bubble,.living-site.experience-ready .living-menu.is-stuck .menu-bubble{transform:rotate(var(--tilt));translate:0;scale:1;min-height:72px;transition:transform .42s cubic-bezier(.22,.75,.25,1),box-shadow .42s ease}
.living-site.experience-ready .menu-bubble:hover,.living-site.experience-ready .menu-bubble:focus-visible{transform:translateY(-3px) rotate(var(--tilt)) scale(1.045);scale:1}
.living-site.experience-ready .menu-bubble:active{transform:translateY(-1px) rotate(var(--tilt)) scale(.99)}
.living-site .menu-bubble,.living-site .menu-bubble>span{color:#fff}
.mobile-menu-toggle{display:none}
html:has(.living-site.intro-waiting){overflow:hidden}
.living-site:not(.intro-revealing) .living-hero .hero-brand,.living-site:not(.intro-revealing) .living-hero .character{visibility:hidden}
.living-site .discover-cue{display:none}
.intro-bubbles{position:absolute;inset:0;z-index:10;overflow:hidden}
.intro-bubbles[hidden]{display:none}
.intro-bubble{position:absolute;display:block;appearance:none;background:none;border:0;padding:0;cursor:pointer;aspect-ratio:1;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.intro-bubble>img{display:block;object-fit:contain;width:100%;height:100%;pointer-events:none;animation:bubble-float 12s ease-in-out infinite alternate}
.intro-bubble:focus-visible{outline:3px solid #9750d6;outline-offset:10px;border-radius:50%}
.intro-bubble-0{width:clamp(210px,40vw,550px);left:50%;top:48%;translate:-50% -50%}
.intro-bubble-1{width:clamp(110px,17vw,240px);left:9%;top:11%}
.intro-bubble-1>img{animation-duration:15s;animation-delay:-5s}
.intro-bubble-2{width:clamp(65px,8vw,120px);left:20%;top:66%}
.intro-bubble-2>img{animation-duration:11s;animation-delay:-3s}
.intro-bubble-3{width:clamp(80px,10vw,145px);right:10%;top:67%}
.intro-bubble-3>img{animation-duration:16s;animation-delay:-7s}
@keyframes bubble-float{from{transform:translate3d(-5px,8px,0) rotate(-2deg)}to{transform:translate3d(7px,-13px,0) rotate(2deg)}}
.living-site .packages-blue{width:126%;left:-13%;top:-75px;height:calc(100% + 455px);transform:none}
.living-site .world-heading h2{color:#ffca00}
.living-site .world-heading h2 span{color:inherit}
.living-site .world-heading h2>.hover-word{color:inherit}
.living-site .world-heading h2>span:not(.hover-word){color:#ff369b}
.world-spots{position:absolute;z-index:1;width:46vw;max-width:800px;height:auto;top:65px;pointer-events:none;user-select:none}
.world-spots-left{left:-23vw;rotate:-5deg}
.world-spots-right{right:-23vw;rotate:9deg;scale:-1 1}
.living-site .intro-yellow{animation:blob-pendulum 34s ease-in-out infinite alternate;transform-origin:50% 50%}
.living-site .packages-blue{animation:blob-pendulum 42s -16s ease-in-out infinite alternate-reverse;transform-origin:50% 45%}
@keyframes blob-pendulum{from{rotate:-.65deg}to{rotate:.65deg}}
.living-site .living-hero{height:100svh;min-height:480px;max-width:none}
.hero-brand a{display:block;cursor:pointer}
.living-site .hero-brand{top:48%;width:min(46%,780px)}
.living-site .hero-bloopa{top:32%;left:15%}
.living-site .hero-oopa{top:30%;right:17%}
.living-site .discover-cue{bottom:8%;font-size:13px}
.living-site.experience-ready .living-menu{position:fixed;top:0;left:0;visibility:hidden;pointer-events:none}
.living-site.is-entering .living-menu,.living-site.has-entered .living-menu{visibility:visible;pointer-events:auto;background:#fffaf4f2;backdrop-filter:blur(14px);box-shadow:0 6px 25px #684c7910}
.living-site.experience-ready:not(.has-entered) .menu-brand{visibility:hidden}
.living-site.experience-ready:not(.has-entered) .menu-bubble{opacity:0;pointer-events:none}
.living-site.has-entered .hero-brand,.living-site.has-entered .living-hero .character,.living-site.has-entered .discover-cue{visibility:hidden}
.flying-brand{position:fixed;z-index:100;pointer-events:none;transform-origin:top left;margin:0}
.hover-letter{display:inline-block;white-space:pre;transform-origin:center bottom}
.hover-word{display:inline-block;white-space:nowrap}
.original-booking h2:hover .hover-letter,.original-booking h3:hover .hover-letter{animation:title-hop var(--motion-duration,1200ms) cubic-bezier(.22,.8,.3,1) both;animation-delay:var(--letter-delay,0ms)}
@keyframes title-hop{0%,100%{transform:translateY(0)}28%{transform:translateY(calc(-1 * var(--title-hop-height,.46em)))}54%{transform:translateY(var(--title-hop-return,.075em))}76%{transform:translateY(calc(-1 * var(--title-second-hop,.13em)))}}
.living-site .contact-form-column h2>.hover-word{color:inherit}
.living-site .font-enye{font-size:.78em;line-height:0;vertical-align:.035em}
.gallery-track{display:flex;width:100%;height:100%;transition:transform .7s cubic-bezier(.22,.7,.25,1);will-change:transform}
.gallery-track>img{display:block;flex:0 0 100%;width:100%;height:100%;object-fit:cover}
.google-map{display:block;width:100%;aspect-ratio:1;border:6px solid #ff369b;border-radius:60px 45px 70px 40px;background:#f1eee7}
.living-site .experience-photo{cursor:default}
.experience-video{display:block;width:100%;height:100%;object-fit:cover}
.experience-video:fullscreen{object-fit:contain;background:#160e20}
.experience-photo .experience-fullscreen{opacity:1;translate:0;font-size:15px;padding:12px 20px;border:0;cursor:pointer;min-height:44px}
.experience-photo .experience-fullscreen:hover{background:#fff}
.living-site.video-expanded .living-intro{z-index:120}
.living-site .experience-photo.is-video-expanded{position:fixed;inset:0;z-index:160;width:100vw;height:100dvh;aspect-ratio:auto;border:0;border-radius:0;background:#160e20}
.experience-photo.is-video-expanded .experience-video{object-fit:contain}
.experience-photo.is-video-expanded .experience-fullscreen{top:15px;right:20px;bottom:auto}
@media(width<=700px){.living-site .living-hero{height:100svh;min-height:480px}.living-site .hero-brand{width:70%;top:46%}.living-site .hero-bloopa{width:31%;left:1%;top:36%}.living-site .hero-oopa{width:21%;right:3%;top:33%}.living-site .discover-cue{bottom:14%;font-size:11px}.google-map{border-width:4px;border-radius:40px}}
@media(width<=1100px) and (width>=701px){.living-site.experience-ready .menu-brand,.living-site.experience-ready .living-menu.is-stuck .menu-brand{width:165px}.living-site.experience-ready .menu-bubble,.living-site.experience-ready .living-menu.is-stuck .menu-bubble{min-height:66px}}
@media(width<=700px){.living-site{--menu-height:94px}html:has(.living-site.experience-ready){scroll-padding-top:94px}.living-site.experience-ready .menu-brand,.living-site.experience-ready .living-menu.is-stuck .menu-brand{width:77px}.living-site.experience-ready .menu-bubble,.living-site.experience-ready .living-menu.is-stuck .menu-bubble{min-height:48px}}
@media(width<=370px){.living-site.experience-ready .menu-brand,.living-site.experience-ready .living-menu.is-stuck .menu-brand{width:64px}}
@media(width<=820px){
 .living-site{--menu-height:80px}
 html:has(.living-site.experience-ready){scroll-padding-top:80px}
 .living-site .living-menu{height:80px}
 .living-site .living-menu-inner{justify-content:space-between;gap:20px;padding:10px 20px}
 .living-site.experience-ready .menu-brand,.living-site.experience-ready .living-menu.is-stuck .menu-brand{width:125px}
 .mobile-menu-toggle{display:flex;align-items:center;justify-content:center;gap:12px;min-height:46px;padding:9px 17px;border:0;border-radius:24px;background:#9750d6;color:#fff;font-size:15px;font-weight:700;cursor:pointer}
 .mobile-menu-toggle svg{width:24px;height:24px}
 .mobile-menu-toggle path{transform-origin:12px 12px;transition:transform .3s ease}
 .mobile-menu-open .menu-line-top{transform:translateY(5px) rotate(45deg)}
 .mobile-menu-open .menu-line-bottom{transform:translateY(-5px) rotate(-45deg)}
 .living-site.experience-ready .living-menu nav{position:absolute;left:16px;right:16px;top:calc(100% + 6px);padding:16px;display:grid;grid-template-columns:1fr;gap:10px;background:#fffaf8;border:1px solid #f1e7f6;border-radius:24px;max-height:calc(100dvh - 110px);overflow-y:auto;box-shadow:0 15px 40px #50336820;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px);transition:opacity .28s ease,transform .32s cubic-bezier(.22,.75,.25,1),visibility .28s}
 .living-site.experience-ready.mobile-menu-open .living-menu nav{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
 .living-site.experience-ready .living-menu .menu-bubble,.living-site.experience-ready .living-menu.is-stuck .menu-bubble{width:100%;max-width:none;min-height:52px;border-radius:17px;display:flex;justify-content:flex-start;padding:14px 20px;font-size:17px;line-height:1.2;transform:none;translate:0;scale:1}
 .living-site.experience-ready .living-menu .menu-bubble:hover,.living-site.experience-ready .living-menu .menu-bubble:focus-visible{transform:translateX(2px);scale:1}
 .intro-bubble-0{width:74vw;max-width:430px;top:48%}
 .intro-bubble-1{width:31vw;left:5%;top:13%}
 .intro-bubble-2{width:16vw;left:9%;top:65%}
 .intro-bubble-3{width:22vw;right:7%;top:72%}
 .living-site .packages-blue{width:200%;left:-50%;top:-70px;height:calc(100% + 450px)}
 .world-spots{width:78vw;top:110px}
 .world-spots-left{left:-39vw}
 .world-spots-right{right:-39vw}
}
@media(prefers-reduced-motion:reduce){.gallery-track{transition:none}}

/* r7: media have their own spring layer, preserving the existing layout/parallax. */
.character-media{display:block;position:relative;width:100%;height:auto;opacity:0;pointer-events:none;background:transparent}
.character-media.media-ready{opacity:1}
.character-visual{display:block;width:100%;height:100%;transform:scale(0);transform-origin:50% 100%}
.media-ready>.character-visual{transform:scale(1)}
.character-visual>img,.character-visual>video{display:block;width:100%;height:auto;object-fit:contain;animation:none;background:transparent}
.character-bubble>.character-media{position:absolute;inset:0;width:100%;height:100%}
.character-bubble .character-visual>img,.character-bubble .character-visual>video{position:static;inset:auto;width:100%;height:100%;transform:none;object-fit:contain}
.living-site .gallery-bloopa.character-loop,.living-site .gallery-oopa.character-loop{z-index:4;top:var(--gallery-left-top);translate:0 -100%;transform:translate3d(var(--dx,0px),var(--dy,0px),0)}
.living-site .gallery-oopa.character-loop{top:var(--gallery-right-top)}
.living-site .contact-hi5.character-loop{z-index:5;bottom:-2px}
.popup-characters>.popup-character-loop:first-child{width:90px;height:100px}
.popup-characters>.popup-character-loop:last-child{width:70px;height:95px}
.popup-character-loop .character-visual>img,.popup-character-loop .character-visual>video{height:100%;object-fit:contain}
.intro-bubble:not(.intro-bubble-0){touch-action:none;cursor:grab}
.intro-bubble.is-dragging{cursor:grabbing;z-index:15}
.intro-bubble.is-dragging>img{animation-play-state:paused}
.intro-bubble-0>img{transition:filter .25s ease}
.intro-bubble-0.is-drop-target>img{filter:brightness(1.12) drop-shadow(0 0 18px #9750d655)}
.intro-bubble-0[data-pressure]>img{animation:bubble-stress calc(2.2s - var(--pressure)*.4s) ease-in-out infinite;transform-origin:50% 55%}
@keyframes bubble-stress{0%,100%{transform:scale(calc(1 + var(--pressure)*.035)) rotate(-1deg)}30%{transform:scale(calc(1 + var(--pressure)*.055),calc(1 + var(--pressure)*.02)) rotate(1.6deg)}65%{transform:scale(calc(1 + var(--pressure)*.02),calc(1 + var(--pressure)*.055)) rotate(-1.6deg)}}
.bubble-instructions{position:absolute;bottom:7%;left:5%;width:90%;margin:0;text-align:center;color:#754493;font:400 clamp(19px,2vw,26px)/1.25 Yumelo,Arial;pointer-events:none}
.bubble-instructions span{display:block;margin-top:7px;font:400 clamp(13px,1.3vw,16px)/1.4 Neuss,Arial}
.bubble-progress{position:absolute;left:10%;bottom:2.7%;width:80%;text-align:center;color:#754493;font:400 13px/1.3 Neuss,Arial;pointer-events:none}
.flying-brand .animated-logo{overflow:visible}
@media(width<=820px){
 .living-site.experience-ready .living-menu nav{transform-origin:85% 0;transition:opacity .2s ease,visibility .2s}
 .living-site .packages-blue{width:420%;left:-160%;top:-150px;height:calc(100% + 430px)}
 .bubble-instructions{bottom:11%;font-size:21px}
 .bubble-instructions span{max-width:260px;margin:7px auto 0;font-size:14px}
 .bubble-progress{bottom:6%}
 .intro-bubble-3{top:66%}
 .intro-bubble-2{top:62%}
}
@media(width<=700px){
 .living-site .gallery-bloopa.character-loop{top:var(--gallery-left-top-mobile)}
 .living-site .gallery-oopa.character-loop{top:var(--gallery-right-top-mobile)}
 .popup-characters>.popup-character-loop:first-child{width:78px;height:85px}
 .popup-characters>.popup-character-loop:last-child{width:60px;height:80px}
}
@media(prefers-reduced-motion:reduce){
 .intro-bubble>img,.intro-bubble-0[data-pressure]>img{animation:none}
 .character-media{transform:none}
 .original-booking h2:hover .hover-letter,.original-booking h3:hover .hover-letter{animation:none}
 .living-site.experience-ready .living-menu nav,.mobile-menu-toggle path{transition:none}
}

/* A single low-resolution GPU surface handles fusion; DOM buttons retain keyboard access. */
.bubble-field-canvas,.bubble-field-bridges{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
.bubble-field-canvas{opacity:0}
.bubble-field-gpu>.bubble-field-canvas{opacity:1}
.bubble-field-gpu>.bubble-field-bridges{display:none}
.bubble-field-active .intro-bubble{z-index:1;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;will-change:transform;transform-origin:50% 50%}
.bubble-field-active .intro-bubble>img{animation:none!important;transition:none;filter:none!important}
.bubble-field-gpu .intro-bubble>img{opacity:1}
.bubble-field-active{touch-action:none;overscroll-behavior:none;contain:layout paint}
.bubble-field-active .bubble-instructions,.bubble-field-active .bubble-progress{z-index:3}
.bubble-field-active .intro-bubble:focus-visible{outline-offset:4px}
.bubble-field-active .intro-bubble.is-dragging{z-index:2;cursor:grabbing}
@media(prefers-reduced-motion:reduce){.bubble-field-active .intro-bubble{will-change:auto}}
/* r10 — safe logo area and cues with the same typography/colors as the website. */
.intro-safe-layout .living-hero .hero-brand{z-index:5}
.intro-safe-layout .living-hero .character{z-index:2}
.intro-safe-layout .living-hero .character>img{width:100%;height:100%;object-fit:contain;animation:none!important;transform:none}
.bubble-field-active .bubble-instructions{bottom:111px;left:5%;width:90%;margin:0;display:flex;flex-direction:column;align-items:center;gap:7px}
.bubble-instructions .bubble-kicker{display:block;margin:0;font:700 11px/1.2 Neuss,Arial;letter-spacing:1.5px;text-transform:uppercase;color:#754493}
.bubble-instructions .bubble-heading{display:block;margin:0;font:400 clamp(27px,3.2vw,42px)/1.05 Yumelo,Arial;color:#df138b;transform:rotate(-2deg);text-shadow:0 2px #ffffffb3}
.bubble-instructions .bubble-help{display:block;max-width:360px;margin:0;font:400 clamp(13px,1.3vw,16px)/1.35 Neuss,Arial;color:#684080}
.bubble-field-active .bubble-progress{bottom:max(28px,env(safe-area-inset-bottom));left:50%;width:max-content;max-width:90%;padding:8px 15px 8px 8px;translate:-50% 0;display:flex;align-items:center;gap:11px;border:3px solid #ffca00;border-radius:999px;background:#fffaf8;box-shadow:0 6px 0 #9750d612;font:700 11px/1.1 Neuss,Arial;color:#754493}
.bubble-count-number{display:grid;place-items:center;min-width:62px;min-height:36px;padding:5px 11px;border-radius:999px;background:#ffca00;color:#6e329b;font:400 22px/1 Yumelo,Arial}
.bubble-count-label{text-transform:uppercase;letter-spacing:.7px}
.bubble-count-dots{display:flex;gap:5px}
.bubble-count-dots i{display:block;width:10px;height:10px;border:2px solid #9750d64d;border-radius:50%;background:#eee4f4;transition:background .2s ease,border-color .2s ease}
.bubble-count-dots i.is-filled{border-color:#ff369b;background:#ff369b}
@media(width<=820px){
 .intro-bubble-3{top:64%}
 .bubble-field-active .bubble-instructions{bottom:111px}
 .bubble-instructions .bubble-help{max-width:300px;font-size:14px}
}
@media(width<=700px) and (height<=650px){
 .intro-bubble-0{top:39%;width:65vw;max-width:330px}
 .intro-bubble-1{top:6%;left:3%;width:25vw}
 .intro-bubble-2{top:54%;left:6%}
 .intro-bubble-3{top:53%;right:6%;width:20vw}
 .bubble-field-active .bubble-instructions{bottom:95px;gap:5px}
 .bubble-instructions .bubble-heading{font-size:26px}
 .bubble-instructions .bubble-kicker{font-size:10px}
 .bubble-instructions .bubble-help{font-size:13px}
 .bubble-field-active .bubble-progress{bottom:20px}
}
@media(height<=480px) and (orientation:landscape){
 .living-site .living-hero{min-height:360px}
 .intro-bubble-0{top:36%;width:42vh;max-width:230px}
 .intro-bubble-1{top:8%;left:12%;width:14vh;min-width:58px}
 .intro-bubble-2{top:45%;left:25%;width:10vh;min-width:40px}
 .intro-bubble-3{top:38%;right:12%;width:12vh;min-width:48px}
 .bubble-field-active .bubble-instructions{bottom:79px;gap:4px}
 .bubble-instructions .bubble-heading{font-size:27px}
 .bubble-instructions .bubble-help{font-size:13px}
 .bubble-field-active .bubble-progress{bottom:12px;padding:5px 12px 5px 5px}
 .bubble-count-number{min-height:29px;font-size:19px}
}
@media(prefers-reduced-motion:reduce){.bubble-count-dots i{transition:none}}
.character-media{translate:0 var(--character-y,0px);scale:var(--character-size,1);transform-origin:50% 100%}
@media(width<=700px){.character-media{translate:0 var(--character-y-mobile,0px);scale:var(--character-size-mobile,1)}}
/* The gallery frame and photos remain still on hover/focus; the carousel keeps its slide. */
.living-site .gallery-photo,.living-site .gallery-photo:hover,.living-site .gallery-photo:focus-visible,.living-site .gallery-photo:active{transform:none!important;scale:1!important;translate:0 0!important;transition:none;animation:none}
.living-site .gallery-photo>img,.living-site .gallery-track>img,.living-site .gallery-photo:hover>img,.living-site .gallery-photo:focus-visible>img{transform:none!important;scale:1!important;transition:none;animation:none}
.living-site .intro-yellow,.living-site .packages-blue,.living-site .world-spots{translate:0 var(--dy,0px);will-change:translate}
.packages-title-mobile{display:none}
@media(width<=700px){
 .living-site .living-packages{padding-top:var(--packages-topPadding,45px)}
 .living-site .package-oopa{top:var(--packages-characterTop,39px);left:max(5%,calc((100% - 450px)/2));width:var(--packages-characterWidth,92px)}
 .living-site .packages-heading{padding:0;margin-bottom:var(--packages-gapBeforePrice,26px)}
 .living-site .packages-heading h2{width:auto;min-height:106px;margin:0 0 14px;padding-left:var(--packages-headingInset,120px);display:flex;align-items:center;text-align:left;line-height:1.05}
 .living-site .packages-heading h2>.wave-text{display:none}
 .living-site .packages-title-mobile{display:block;font:400 clamp(25px,6.8vw,34px)/1.12 Yumelo,Arial;color:#ffca00}
 .living-site .packages-heading p{max-width:340px;font-size:16px;line-height:1.4;margin-top:0}
 .living-site .package-body{row-gap:42px}
 .living-site .price-offer{min-height:264px;padding-top:52px}
}
@media(width<=350px){
 .living-site .package-oopa{width:78px;top:43px}
 .living-site .packages-heading h2{padding-left:104px;min-height:94px}
 .living-site .packages-title-mobile{font-size:24px}
}
@media(prefers-reduced-motion:reduce){.living-site .intro-yellow,.living-site .packages-blue,.living-site .world-spots{translate:0 0;will-change:auto}}
@media(width<=700px){.living-site .packages-blue{top:var(--packages-blueTop,-65px)}}

@media(width<=700px){.living-site .packages-title-mobile,.living-site .packages-title-mobile .hover-word,.living-site .packages-title-mobile .hover-letter{color:#ffca00}.living-site .price-offer{min-height:272px;padding-top:60px}.living-site .price-offer>strong{font-size:clamp(64px,19vw,75px)}}
