:root{--motion-ease:cubic-bezier(.22,1,.36,1)}
html{scroll-behavior:smooth;scroll-padding-top:85px}
.reading-progress{position:fixed;left:0;top:0;width:100%;height:3px;z-index:1000;pointer-events:none;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#c29269,#ef99bf,#b31c5a);box-shadow:0 0 10px #d7257050}
.motion-toggle{position:fixed;right:12px;bottom:88px;z-index:100;background:#fffaf7ed;border:1px solid #ceb99e;border-radius:24px;color:#704458;padding:9px 13px;font:11px/1.2 sans-serif;box-shadow:0 4px 20px #71374d14;cursor:pointer;backdrop-filter:blur(12px)}
a:focus-visible,summary:focus-visible,button:focus-visible{outline:3px solid #c44b82;outline-offset:5px}
.desktop-nav a{transition:color .25s,translate .35s var(--motion-ease)}
.desktop-nav a[aria-current=location]{color:#b51f61;translate:5px 0;text-decoration:underline;text-underline-offset:7px;text-decoration-color:#c89d74}
.button,.hero-campaign,.fixed-cta>a,.treatment-nav>a,.side-book{position:relative;isolation:isolate;transition:box-shadow .4s,filter .4s,translate .4s var(--motion-ease)}
.button::after,.fixed-cta>a::after,.hero-campaign::after{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(circle 110px at var(--spot-x,50%) var(--spot-y,50%),#ffffff38,transparent);opacity:0;transition:opacity .3s}
.button>*,.hero-campaign>*,.fixed-cta>a>*{position:relative;z-index:1}
.button>span:last-child,.fixed-cta b,.plan-link>span,.map-link>span{transition:translate .4s var(--motion-ease)}
.plan,.case-card,.care-item,.reason,.flow-list li>div{transition:box-shadow .5s,border-color .5s,translate .5s var(--motion-ease)}
.plan-photo,.clinic-image,.wide-photo,.intro-photo,.concern-layout figure{overflow:hidden}
.plan-photo img,.clinic-image img,.wide-photo img,.intro-photo img{transition:transform 1.2s var(--motion-ease)}
.faq details{transition:border-color .3s,background .3s}.faq details[open]{border-color:#bd7c99;background:#fff8fb}.faq summary{transition:color .25s}.faq summary:after{transition:transform .4s var(--motion-ease)}
@media(hover:hover) and (pointer:fine){
 .button:hover,.hero-campaign:hover,.side-book:hover{translate:0 -3px;box-shadow:0 14px 30px #9a34502b;filter:brightness(1.04)}
 .button:hover:after,.fixed-cta>a:hover:after,.hero-campaign:hover:after{opacity:1}
 .button:hover>span:last-child,.fixed-cta>a:hover b,.plan-link:hover>span,.map-link:hover>span{translate:3px -3px}
 .plan:hover,.case-card:hover,.care-item:hover,.flow-list li>div:hover{translate:0 -4px;box-shadow:0 18px 38px #8c41631c;border-color:#bb8497}
 .plan-photo:hover img,.clinic-image:hover img,.wide-photo:hover img,.intro-photo:hover img{transform:scale(1.035)}
 .treatment-nav>a:hover{translate:0 -3px;box-shadow:0 12px 24px #96516e20}
 .faq summary:hover{color:#bf276b}
}
.button:active,.fixed-cta>a:active,.hero-campaign:active{translate:0 1px;filter:brightness(.95)}
html.motion-off{scroll-behavior:auto}html.motion-off *,html.motion-off *:before,html.motion-off *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(max-width:600px){.motion-toggle{right:7px;bottom:83px;font-size:10px;padding:8px 10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
