/* Cedar motion language: masked, editorial and deliberately restrained. */
:root{--motion-ease:cubic-bezier(.22,.61,.36,1);--motion-soft:cubic-bezier(.16,1,.3,1)}

/* Hero entrance */
.motion-ready .site-header .brand-logo{opacity:0;transform:scale(.92)}
.motion-ready.motion-loaded .site-header .brand-logo{opacity:1;transform:scale(1);transition:transform 1s var(--motion-soft),opacity .5s ease}
.motion-ready .desktop-nav a,.motion-ready .header-book{opacity:0;transform:translateX(12px)}
.motion-ready.motion-loaded .desktop-nav a,.motion-ready.motion-loaded .header-book{opacity:1;transform:none;transition:opacity .65s ease,transform .85s var(--motion-soft)}
.motion-ready.motion-loaded .desktop-nav a:nth-child(1){transition-delay:.14s}.motion-ready.motion-loaded .desktop-nav a:nth-child(2){transition-delay:.2s}.motion-ready.motion-loaded .desktop-nav a:nth-child(3){transition-delay:.26s}.motion-ready.motion-loaded .desktop-nav a:nth-child(4){transition-delay:.32s}.motion-ready.motion-loaded .header-book{transition-delay:.38s}
.motion-ready .hero .eyebrow{opacity:0;letter-spacing:.28em}
.motion-ready.motion-loaded .hero .eyebrow{opacity:1;letter-spacing:.16em;transition:opacity .8s ease,letter-spacing 1.15s var(--motion-soft);transition-delay:.24s}
.hero-title-line{display:block;overflow:hidden;padding:.02em .15em .2em .03em;margin:-.02em -.15em -.2em -.03em}
.hero-title-line-inner{display:block}
.motion-ready .hero-title-line-inner{transform:translateY(112%)}
.motion-ready.motion-loaded .hero-title-line-inner{transform:none;transition:transform 1.05s var(--motion-soft)}
.motion-ready.motion-loaded .hero-title-line:nth-child(1) .hero-title-line-inner{transition-delay:.22s}.motion-ready.motion-loaded .hero-title-line:nth-child(2) .hero-title-line-inner{transition-delay:.3s}.motion-ready.motion-loaded .hero-title-line:nth-child(3) .hero-title-line-inner{transition-delay:.38s}.motion-ready.motion-loaded .hero-title-line:nth-child(4) .hero-title-line-inner{transition-delay:.46s}
.motion-ready .hero-copy>.button,.motion-ready .hero-explore{opacity:0;clip-path:inset(0 100% 0 0)}
.motion-ready.motion-loaded .hero-copy>.button,.motion-ready.motion-loaded .hero-explore{opacity:1;clip-path:inset(0);transition:clip-path .9s var(--motion-soft),opacity .2s ease;transition-delay:.65s}
.motion-ready.motion-loaded .hero-explore{transition-delay:.76s}
.motion-ready .hero-image{clip-path:inset(0 0 0 100%)}
.motion-ready.motion-loaded .hero-image{clip-path:inset(0);transition:clip-path 1.25s var(--motion-soft);transition-delay:.12s}
.motion-ready .hero-image .carousel-slide:not([hidden]) img{transform:scale(1.055)}
.motion-ready.motion-loaded .hero-image .carousel-slide:not([hidden]) img{transform:scale(1);transition:transform 1.7s var(--motion-soft);transition-delay:.18s}
.motion-ready .trust-line>*{opacity:0}.motion-ready.motion-loaded .trust-line>*{opacity:1;transition:opacity .8s ease;transition-delay:.75s}.motion-ready.motion-loaded .trust-line>*:nth-child(2){transition-delay:.84s}.motion-ready.motion-loaded .trust-line>*:nth-child(3){transition-delay:.93s}

/* Section-specific scroll reveals */
.motion-reveal{--reveal-delay:0s}
.motion-reveal .motion-kicker,.motion-reveal .motion-copy,.motion-reveal .motion-signature{opacity:0;transition:opacity .8s ease,transform 1s var(--motion-soft);transition-delay:var(--reveal-delay)}
.motion-reveal .motion-heading{clip-path:inset(0 0 100% 0);transition:clip-path 1.05s var(--motion-soft);transition-delay:var(--reveal-delay)}
.motion-reveal .motion-image{clip-path:inset(0 100% 0 0);transition:clip-path 1.1s var(--motion-soft);transition-delay:var(--reveal-delay)}
.motion-reveal .motion-copy{transform:translateX(22px)}
.motion-reveal .motion-signature{transform:translateX(-16px)}
.motion-reveal.is-visible .motion-kicker,.motion-reveal.is-visible .motion-copy,.motion-reveal.is-visible .motion-signature{opacity:1;transform:none}
.motion-reveal.is-visible .motion-heading,.motion-reveal.is-visible .motion-image{clip-path:inset(0)}
.treatments.motion-reveal .motion-image{clip-path:inset(100% 0 0 0)}
.treatments.motion-reveal.is-visible .motion-image{clip-path:inset(0)}
.reviews.motion-reveal .motion-heading{clip-path:inset(50% 0 50% 0)}
.reviews.motion-reveal.is-visible .motion-heading{clip-path:inset(0)}
.consultation.motion-reveal .motion-heading{clip-path:inset(0 0 0 100%)}
.consultation.motion-reveal.is-visible .motion-heading{clip-path:inset(0)}
.site-footer.motion-reveal .footer-wordmark{clip-path:inset(0 0 100% 0);letter-spacing:.08em;transition:clip-path 1.25s var(--motion-soft),letter-spacing 1.4s var(--motion-soft)}
.site-footer.motion-reveal.is-visible .footer-wordmark{clip-path:inset(0);letter-spacing:.04em}

/* Tactile image motion and micro-interactions */
.carousel-slide img{transform:translate3d(0,var(--parallax-y,0),0) scale(1.035);will-change:transform}
.carousel:hover .carousel-slide:not([hidden]) img{transform:translate3d(0,var(--parallax-y,0),0) scale(1.055)}
.button,.header-book,.text-link,.footer-main a,.footer-bottom a{transition:color .35s ease,background-color .35s ease,border-color .35s ease,transform .5s var(--motion-soft)}
.button:hover,.header-book:hover{transform:translateY(-2px)}
.button span,.header-book span,.text-link span{display:inline-block;transition:transform .55s var(--motion-soft)}
.button:hover span,.header-book:hover span,.text-link:hover span{transform:translate(4px,-4px)}
.treatment-menu summary{position:relative}.treatment-menu summary:after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .7s var(--motion-soft)}.treatment-menu summary:hover:after{transform:scaleX(1)}
.newsletter-entry button:hover{transform:translateX(3px)}

@media(max-width:760px){.motion-ready .hero-image{clip-path:inset(0 0 100% 0)}.motion-reveal .motion-copy{transform:translateY(14px)}.site-footer.motion-reveal .footer-wordmark{letter-spacing:.03em}.site-footer.motion-reveal.is-visible .footer-wordmark{letter-spacing:0}.carousel:hover .carousel-slide:not([hidden]) img{transform:translate3d(0,var(--parallax-y,0),0) scale(1.035)}}

@media(prefers-reduced-motion:reduce){.motion-ready *,.motion-reveal *{animation:none!important;transition:none!important}.motion-ready .site-header .brand-logo,.motion-ready .desktop-nav a,.motion-ready .header-book,.motion-ready .hero .eyebrow,.motion-ready .hero-title-line-inner,.motion-ready .hero-copy>.button,.motion-ready .hero-explore,.motion-ready .trust-line>*,.motion-reveal .motion-kicker,.motion-reveal .motion-copy,.motion-reveal .motion-signature{opacity:1!important;transform:none!important}.motion-ready .hero-image,.motion-reveal .motion-heading,.motion-reveal .motion-image,.site-footer.motion-reveal .footer-wordmark{clip-path:none!important}.carousel-slide img{transform:none!important;will-change:auto}}
