/* Optional interaction layer: content remains usable without JavaScript. */
:root{--motion-ease:cubic-bezier(.22,1,.36,1)}
.page-progress{position:fixed;inset:0 auto auto 0;height:3px;width:100%;background:#b6a374;transform:scaleX(0);transform-origin:left;z-index:100;pointer-events:none}
.service-filters{display:flex;flex-wrap:wrap;gap:10px;margin:-10px 0 38px}.service-filters button{border:1px solid #b8bfae;background:transparent;color:var(--green);border-radius:30px;padding:10px 18px;font-size:13px;transition:background .2s,color .2s,transform .2s}.service-filters button[aria-pressed=true]{background:var(--green);color:var(--cream);border-color:var(--green)}.service-filters button:hover{transform:translateY(-2px)}.service-filters button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.service-grid-with-specials.is-filtered{grid-template-columns:repeat(auto-fit,minmax(230px,320px));justify-content:start}.service[hidden]{display:none!important}.filter-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.back-to-top{position:fixed;bottom:78px;right:22px;z-index:14;width:44px;height:44px;border:1px solid #b5bda8;border-radius:50%;color:var(--green);background:var(--cream);box-shadow:0 4px 15px #203e3414;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .2s,transform .2s,visibility .2s}.back-to-top.is-visible{opacity:1;visibility:visible;transform:none}.back-to-top:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
@media(prefers-reduced-motion:no-preference){.motion-ready .reveal-item{opacity:0;transform:translateY(18px);transition:opacity .65s var(--motion-ease),transform .65s var(--motion-ease);transition-delay:var(--reveal-delay,0ms)}.motion-ready .reveal-item.is-revealed{opacity:1;transform:none}.button,.treatment-book,.textlink,.review-arrow{transition:background .2s,color .2s,box-shadow .2s,transform .2s}.button:active,.review-arrow:active{transform:scale(.98)}.site-dropdown.open{animation:menu-arrive .22s var(--motion-ease)}@keyframes menu-arrive{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:none}}details[open]>:not(summary){animation:answer-arrive .25s ease}@keyframes answer-arrive{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.service{transition:transform .3s var(--motion-ease),box-shadow .3s var(--motion-ease)}.service.is-revealed:hover{transform:translateY(-6px)}.button:hover{transform:translateY(-2px);box-shadow:0 6px 18px #203e3420}.gift-label{transition:transform .5s var(--motion-ease),box-shadow .5s}.gift:hover .gift-label{transform:rotate(-1deg) translateY(-4px);box-shadow:0 24px 45px #23362820}.special-offer-photo img{transition:transform .6s var(--motion-ease)}.special-offer:hover .special-offer-photo img{transform:scale(1.035)}}
@media(max-width:600px){.service-filters{gap:8px;margin-bottom:30px}.service-filters button{font-size:12px;padding:9px 13px}.service-grid-with-specials.is-filtered{grid-template-columns:1fr}.back-to-top{right:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.service-filters button,.back-to-top{transition:none}}
