/* 01 — A quiet sense of progress through long studio pages. */
#micdup-reading-progress{position:fixed;z-index:90;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#7e4798,#b28bc7);transform:scaleX(var(--fluid-progress,0));transform-origin:left;pointer-events:none;contain:strict}
@media(max-width:700px){#micdup-reading-progress{height:2px}}
@media(prefers-reduced-motion:reduce){#micdup-reading-progress{transition:none}}

/* 02 — Booking arrows respond to the pointer and keyboard. */
a.fluid-cta>.fluid-cta-arrow{display:inline-block;flex:none;transform:translate(0,0);transition:transform .28s cubic-bezier(.2,.8,.2,1.2)}
a.fluid-cta:is(:hover,:focus-visible)>.fluid-cta-arrow{transform:translate(3px,-3px)}
@media(prefers-reduced-motion:reduce){a.fluid-cta>.fluid-cta-arrow{transition:none;transform:none!important}}

/* 03 — An ink-like underline follows exploratory links. */
a.text-link.fluid-text-link{position:relative;border-bottom-color:#d7c1e2}
a.text-link.fluid-text-link::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--gold,#7e4798);transform:scaleX(.18);transform-origin:left;transition:transform .24s cubic-bezier(.22,1,.36,1);pointer-events:none}
a.text-link.fluid-text-link:is(:hover,:focus-visible)::after{transform:scaleX(1)}
@media(prefers-reduced-motion:reduce){a.text-link.fluid-text-link::after{transition:none}}

/* 04 — The four supporting studios arrive as a group; photographs keep their framing. */
.air-other-studios[data-fluid-studio-stagger]{isolation:isolate}


/* 06 — No border/shadow override: Signature keeps its authored permanent emphasis. */
.price-grid > .price.fluid-package-wash{position:relative;isolation:isolate}
.price-grid > .price.fluid-package-wash::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(135deg,rgba(126,71,152,.045),rgba(126,71,152,.018));opacity:0;transition:opacity 180ms ease}
.price-grid > .price.fluid-package-wash:focus-within::before{opacity:1}
@media(hover:hover){.price-grid > .price.fluid-package-wash:hover::before{opacity:1}}
@media(prefers-reduced-motion:reduce){.price-grid > .price.fluid-package-wash::before{transition:none}}

/* Verification marker only. No height, overflow, visibility, focus or summary changes. */
main#main :is(.editorial-faq-list,.faq) > details[data-fluid-faq="ready"]{--fluid-faq-ready:1}

/* 08 — The experience carries a quiet four-part journey. */
.experience-flow-nav.fluid-journey{position:sticky;top:0;z-index:20;background:#fffffff2;backdrop-filter:blur(12px)}
#experience-prepare,#experience-arrive,#experience-record,#experience-create{scroll-margin-top:110px}
.experience-flow-nav.fluid-journey::before,.experience-flow-nav.fluid-journey::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;pointer-events:none;background:#e8deec}
.experience-flow-nav.fluid-journey::after{background:var(--gold,#7e4798);transform:scaleX(var(--journey-progress,0));transform-origin:left}
.fluid-journey>a>span{transition:color .22s,background-color .22s,box-shadow .22s;border-radius:50%;padding:4px;min-width:24px;text-align:center}
.fluid-journey>a.fluid-journey-current>span{background:#7e4798;color:#fff;box-shadow:0 0 0 4px #7e479817}
.fluid-journey>a.fluid-journey-complete>span{color:#7e4798;background:#f1e8f6}
@media(prefers-reduced-motion:reduce){.fluid-journey>a>span{transition:none}}

/* 09 — Replace the original photograph zoom and play-disc scaling, only on enhanced controls. */
.creator-showcase-page .cs-creator-card.fluid-creator-play .cs-card-photo img{transform:none;transition:none}
.creator-showcase-page .cs-poster-button.fluid-creator-play .cs-play-disc.fluid-play-ring{position:relative;transform:none;transition:none}
.creator-showcase-page .fluid-creator-play .fluid-play-ring::after{content:'';position:absolute;inset:-5px;border:1.5px solid var(--cs-violet,#7e4798);border-radius:50%;pointer-events:none;opacity:0;transform:scale(.90);transition:opacity 180ms ease,transform 240ms cubic-bezier(.22,1,.36,1)}
.creator-showcase-page .fluid-creator-play:focus-visible .fluid-play-ring::after{opacity:.95;transform:scale(1)}
@media(hover:hover){.creator-showcase-page .fluid-creator-play:hover .fluid-play-ring::after{opacity:.95;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.creator-showcase-page .fluid-creator-play .fluid-play-ring::after{transition:none;transform:none!important}}

/* 10 — The finished mark stays visible before, during and after enhancement. */
.site-footer .site-footer-conversion .site-footer-submark.fluid-footer-signature{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.site-footer .site-footer-conversion .site-footer-submark.fluid-footer-signature{opacity:1!important;transform:none!important}}

/* Keep desktop navigation above animated content and its compositor layers. */
@media(min-width:1001px){body>header{position:relative;z-index:40;isolation:isolate;overflow:visible}}

/* A stable, opaque navigation layer. Menu contents never enter compositor animations. */
body>header.fluid-sticky-header{position:sticky;top:0;background:#fff;transition:box-shadow .2s,border-color .2s}
body>header.fluid-sticky-header.fluid-header-scrolled{box-shadow:0 8px 24px #2215280b;border-bottom-color:#e5dbe9}
:root[data-fluid-release]{scroll-padding-top:calc(var(--fluid-header-height,90px) + 16px)}
.experience-flow-nav.fluid-journey{top:var(--fluid-header-height,90px)}
body>header #navigation details.nav-more:not([open])>.creative-nav-panel{display:none!important}
body>header #navigation .creative-nav-panel,body>header #navigation .creative-nav-group{opacity:1!important;transform:none!important;filter:none!important;animation:none!important;transition:none!important;will-change:auto!important}
body>header #navigation details.nav-more>summary{cursor:pointer;user-select:none}
@media(min-width:1001px){
 body>header.fluid-sticky-header{z-index:60;isolation:isolate;overflow:visible}
 body>header #navigation{position:static}
 body>header #navigation details.nav-more{position:static}
 body>header #navigation details.nav-more>.creative-nav-panel{position:absolute;top:calc(100% + 8px);right:5%;left:auto;z-index:2;width:min(760px,90vw);min-width:0;max-height:calc(100dvh - var(--fluid-header-height,90px) - 24px);overflow:auto;overscroll-behavior:contain;background:#fff;isolation:isolate}
}
@media(max-width:1000px){body>header #navigation details.nav-more>.creative-nav-panel{position:static;left:auto;right:auto;top:auto;width:auto;max-height:none;overflow:visible}}
@media(prefers-reduced-motion:reduce){body>header.fluid-sticky-header{transition:none}}
