/* Studio reference: 2 s reveals, exponential-out easing, 200 ms stagger. */
:root{--motion-ease:cubic-bezier(.19,1,.22,1)}
html,body{overflow-x:clip}
#instructor,#information{overflow:clip}
.motion-ready .motion-item{opacity:var(--enter-opacity,0);transform:translate3d(var(--enter-x,0px),var(--enter-y,30px),0) scale(var(--enter-scale,1)) rotate(var(--enter-rotate,0deg));transition:opacity var(--enter-duration,2000ms) var(--motion-ease) var(--enter-delay,0ms),transform var(--enter-duration,2000ms) var(--motion-ease) var(--enter-delay,0ms)}
.motion-ready .motion-item.is-visible{opacity:1;transform:none}
.motion-ready .site-header.motion-item{transition:opacity 2s var(--motion-ease) .2s,transform 2s var(--motion-ease) .2s,color .4s,background .4s,box-shadow .4s}
@media(min-width:1141px){.desktop-nav{gap:22px;font-size:11px}}
.reservation{overflow:clip}.reservation-inner{transform-origin:center center}
.desktop-nav>a:not(.btn):after{display:none}.nav-roll{display:block;position:relative;overflow:hidden;height:22px;line-height:22px}.nav-roll>span{display:block;transition:translate .5s var(--motion-ease)}.nav-roll>span+span{position:absolute;top:100%;left:0;white-space:nowrap}.desktop-nav>a:is(:hover,:focus-visible) .nav-roll>span{translate:0 -100%}
.btn{transition:background .6s var(--motion-ease),color .6s var(--motion-ease);position:relative}.btn:hover{transform:none}.btn:has(.arrow-roll):after{display:none}.arrow-roll{position:relative;display:block;overflow:hidden;flex:0 0 23px;width:23px;height:24px;line-height:24px;text-align:center;font-size:20px;font-weight:400}.arrow-roll>span{position:absolute;inset:0;transition:translate .6s var(--motion-ease)}.arrow-roll>span+span{translate:-25px 0}.btn:is(:hover,:focus-visible) .arrow-roll>span{translate:25px 0}.btn:is(:hover,:focus-visible) .arrow-roll>span+span{translate:0 0}.header-trial .arrow-roll{width:17px;flex-basis:17px;font-size:16px}
.panel-nav a{transition:color .5s var(--motion-ease),padding .5s var(--motion-ease)}.panel-nav a:after{transition:translate .5s var(--motion-ease)}.panel-nav a:is(:hover,:focus-visible){padding-left:8px}.panel-nav a:is(:hover,:focus-visible):after{translate:5px 0}.panel-nav a.active:before{transition:height .4s var(--motion-ease)}
.mobile-menu{display:block;opacity:0;visibility:hidden;pointer-events:none;translate:0 -18px;transition:opacity .4s cubic-bezier(.4,.4,0,1),translate .4s cubic-bezier(.4,.4,0,1),visibility 0s .4s}
.mobile-menu.open{opacity:1;visibility:visible;pointer-events:auto;translate:0 0;transition-delay:0s}.mobile-menu nav>*{opacity:0;translate:0 18px;transition:opacity .6s var(--motion-ease),translate .6s var(--motion-ease)}.mobile-menu.open nav>*{opacity:1;translate:0 0;transition-delay:.12s}.mobile-menu.open nav>:nth-child(2){transition-delay:.16s}.mobile-menu.open nav>:nth-child(3){transition-delay:.2s}.mobile-menu.open nav>:nth-child(4){transition-delay:.24s}.mobile-menu.open nav>:nth-child(n+5){transition-delay:.28s}.menu-toggle i{transition:transform .4s cubic-bezier(.4,.4,0,1)}
@media(min-width:951px){.mobile-menu{display:none}}
.voice-track{position:relative;overscroll-behavior-x:contain}.carousel-enhanced{scroll-behavior:auto;scroll-snap-type:none;overflow-anchor:none}.carousel-enhanced .voice-card{scroll-snap-align:none}.round-control{transition:color .3s,background .3s}.round-control:is(:hover,:focus-visible){background:var(--taupe);color:#fff}.carousel-controls{gap:14px}.carousel-counter{font-variant-numeric:tabular-nums}.social-link{transition:scale .5s var(--motion-ease)}.social-link:is(:hover,:focus-visible){scale:1.2}
.instagram-strip{position:relative;display:flex;overflow-x:auto;scrollbar-width:none;gap:15px;min-width:0;width:100%;margin:0;padding:0 20px;overscroll-behavior-x:contain}.instagram-strip::-webkit-scrollbar{display:none}.instagram-strip>button{flex:0 0 calc((100% - 75px)/6);aspect-ratio:1}.instagram-strip img{transition:scale .6s var(--motion-ease);transform:none}.instagram-strip button:is(:hover,:focus-visible) img{scale:1.2;transform:none}.instagram-pause{display:block;margin:22px auto 0}
.question-label{flex:1;transition:translate .3s cubic-bezier(.4,.4,0,1)}.faq-list summary:is(:hover,:focus-visible) .question-label{translate:5px 0}.faq-list summary:after{display:none}.faq-icon{position:relative;display:block;width:20px;height:20px;flex-shrink:0}.faq-icon:before,.faq-icon:after{content:'';position:absolute;top:9px;left:3px;width:14px;height:1px;background:#998779;transition:rotate .4s,opacity .4s}.faq-icon:after{rotate:90deg}.is-expanded .faq-icon:after{rotate:0deg;opacity:0}.faq-answer{overflow:hidden}
.news-item span,.news-item:after{transition:translate .4s var(--motion-ease)}.news-item:is(:hover,:focus-visible) span,.news-item:is(:hover,:focus-visible):after{translate:5px 0}.hero-offer{transition:box-shadow .5s var(--motion-ease)}.hero-offer img,.floating-offer img{transition:scale .6s var(--motion-ease)}.hero-offer:hover img,.floating-offer:hover img{scale:1.06}
.floating-offer{position:fixed;z-index:30;right:30px;bottom:30px;display:flex;align-items:stretch;background:#fff;color:#514b46;border:6px solid #fff;border-radius:7px;overflow:hidden;width:292px;text-align:center;box-shadow:0 5px 30px #0002;padding:0;opacity:0;visibility:hidden;translate:0 50px;transition:opacity 2s var(--motion-ease),translate 2s var(--motion-ease),visibility 0s .4s;pointer-events:none}.floating-offer.visible{opacity:1;visibility:visible;translate:0 0;transition-delay:0s;pointer-events:auto}.floating-offer .offer-text{background:#eae4df;flex:1;padding:12px 5px;line-height:1.6}.floating-offer img{width:110px;object-fit:cover}.modal-open .floating-offer{opacity:0;pointer-events:none}
.dialog[open]{animation:dialog-enter .4s cubic-bezier(.4,.4,0,1)}.dialog[open]::backdrop{animation:backdrop-enter .4s ease}@keyframes dialog-enter{from{opacity:0;translate:0 25px}to{opacity:1;translate:0 0}}@keyframes backdrop-enter{from{opacity:0}to{opacity:1}}
@media(max-width:1140px){.desktop-nav{gap:14px;font-size:10px}.desktop-nav .btn{min-width:115px;gap:7px;padding-inline:12px}}
@media(max-width:700px){.instagram-strip{gap:10px;padding-inline:15px}.instagram-strip>button{flex-basis:46%}.voice-track{padding-right:0}.floating-offer{width:185px;right:12px;bottom:12px;border-width:4px}.floating-offer img{width:64px}.floating-offer .offer-text{padding:6px 4px}.floating-offer .offer-text small{font-size:8px}.floating-offer .offer-text strong{font-size:9px}.floating-offer .offer-text b{font-size:23px}.panel-nav a:is(:hover,:focus-visible){padding-left:0}.desktop-nav .header-trial{font-size:10px;min-width:115px}}
@media(prefers-reduced-motion:reduce){.motion-ready .motion-item{opacity:1!important;transform:none!important;transition:none!important}.concept-intro{position:relative;top:auto;opacity:1!important}.concept-collage img{translate:none!important}.nav-roll>span,.arrow-roll>span,.social-link,.instagram-strip img,.question-label{transition:none!important}.mobile-menu,.mobile-menu nav>*,.floating-offer{transition:none!important}.dialog[open],.dialog[open]::backdrop{animation:none!important}}
/* The reference eases the opening image from 115% over ten seconds. */
.motion-ready .hero-video{animation:hero-picture-enter 10s linear both,hero-picture-fade 1s linear both}
@keyframes hero-picture-enter{from{transform:scale(1.15)}to{transform:scale(1)}}
@keyframes hero-picture-fade{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.motion-ready .hero-video{animation:none!important}}
