/* Finishing touches: tactile navigation, clear states and restrained motion. */
.header{--menu-top:94px;isolation:isolate}
.header #menu{display:flex;align-items:center;gap:4px;padding:5px;background:#f0ebf3;border:1px solid #e2d9e7;border-radius:99px;color:#3e3346;font-size:14px;font-weight:600}
.header #menu .nav-link{display:flex;align-items:center;gap:8px;min-height:43px;padding:10px 13px;border-radius:99px;white-space:nowrap;transition:background .25s,color .25s,box-shadow .25s,transform .25s}
.header #menu .nav-link:after{display:none}
.header #menu .nav-link:hover{background:#fff;color:#5b3e6d;box-shadow:0 3px 12px #48325108}
.header #menu .nav-link[aria-current=location]{color:#fff;background:#725480;box-shadow:0 4px 13px #7254802b}
.nav-icon{display:grid;place-items:center;flex:none}
.nav-icon svg,.header-book svg{display:block;width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.nav-label{display:block;line-height:1.4}
.nav-label small,.nav-arrow,.nav-mobile-intro,.nav-mobile-book{display:none}
.header .header-book{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:13px 20px;white-space:nowrap;border-radius:99px;font-size:14px}
.header .header-book svg{width:18px;height:18px;flex:none}
.header .header-book .book-arrow{display:inline-block;transition:transform .25s}
.header .header-book:hover .book-arrow{transform:translate(2px,-2px)}
.header .brand small{transition:letter-spacing .4s}
.header .brand:hover small{letter-spacing:3px}
.header.is-compact{box-shadow:0 5px 25px #291b3409}
.header .menu-toggle{display:none;align-items:center;justify-content:center;position:relative;border:1px solid #a899b74d;border-radius:50%;width:44px;min-width:44px;height:44px;padding:0;color:inherit;background:#ffffff12;transition:background .25s,border-color .25s}
.menu-glyph{display:block;position:relative;width:18px;height:14px}
.menu-glyph i{position:absolute;left:0;right:0;display:block;height:1.5px;background:currentColor;transition:transform .25s,top .25s,opacity .2s}
.menu-glyph i:nth-child(1){top:0}.menu-glyph i:nth-child(2){top:6px}.menu-glyph i:nth-child(3){top:12px}
.menu-toggle[aria-expanded=true] .menu-glyph i:nth-child(1){top:6px;transform:rotate(45deg)}
.menu-toggle[aria-expanded=true] .menu-glyph i:nth-child(2){opacity:0;transform:translateX(-4px)}
.menu-toggle[aria-expanded=true] .menu-glyph i:nth-child(3){top:6px;transform:rotate(-45deg)}
.section-head .eyebrow:before,.reviews-heading .eyebrow:before{content:'';display:block;width:26px;height:1px;background:#93759f;flex:none}
.hero .hero-content>.eyebrow .dot{animation:studio-beacon 3.5s ease-in-out infinite}
.service-card .service-card-copy b{transition:transform .35s,background .35s}
.ig-post img{transition:transform .7s cubic-bezier(.2,.65,.3,1),filter .5s}
.review-portrait{transition:transform .45s}
.cta{position:relative;isolation:isolate;overflow:hidden}
.cta:after{content:'';position:absolute;inset:-50% -20%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 22% 35%,#f9f0ff99,transparent 42%),radial-gradient(ellipse at 78% 70%,#ae92c84d,transparent 45%);animation:studio-ambient 18s ease-in-out infinite alternate}
.booking-page .header{background:#faf9f6}
.booking-page .header .text-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 18px;border:1px solid #d9cce0;border-radius:99px;font-size:14px;font-weight:600;transition:background .25s}
.booking-page .header .text-link:hover{background:#eee6f3}
@media(hover:hover) and (pointer:fine){.header #menu .nav-link:hover .nav-icon{animation:nav-nudge .4s ease}.service-card:hover .service-card-copy b{background:#ffffff24;transform:translate(2px,-2px)}.ig-post:hover img{transform:scale(1.045);filter:brightness(1.035)}.review-card:hover .review-portrait{transform:scale(1.065)}}
@keyframes studio-beacon{0%,100%{box-shadow:0 0 0 4px #d7c9ef1a}50%{box-shadow:0 0 0 8px #d7c9ef05}}
@keyframes studio-ambient{from{transform:translate3d(-3%,-3%,0) rotate(-6deg)}to{transform:translate3d(4%,4%,0) rotate(6deg)}}
@keyframes nav-nudge{50%{transform:translateY(-2px) rotate(-8deg)}}
@media(min-width:1181px) and (max-width:1400px){.header{gap:18px;padding-inline:4%}.header #menu .nav-link{gap:7px;padding-inline:11px}.header #menu{font-size:13px}.header .brand b{font-size:28px}.header .header-book{padding-inline:17px}}
@media(max-width:1180px){
 body.menu-open{overflow:hidden}
 .header{gap:14px}
 .header .header-book{margin-left:auto}
 .header .menu-toggle{display:inline-flex}
 .header #menu{display:none;position:fixed;inset:calc(var(--menu-top) + 12px) 4% auto;padding:24px;border:1px solid #ded2e5;border-radius:22px;background:#faf8fc;color:#302536;max-height:calc(100dvh - var(--menu-top) - 32px);overflow:auto;box-shadow:0 24px 65px #20132735;backdrop-filter:blur(25px);font-size:17px;z-index:50}
 .header #menu.open{display:flex;flex-direction:column;align-items:stretch;gap:7px;animation:menu-arrive .3s cubic-bezier(.2,.65,.3,1) both}
 .header #menu .nav-mobile-intro{display:flex;justify-content:space-between;gap:20px;align-items:center;color:#80618d;padding:0 7px 15px;margin-bottom:5px;border-bottom:1px solid #e7deec;font-size:11px;font-weight:600;letter-spacing:1.4px}
 .header #menu .nav-link{gap:15px;padding:12px;min-height:66px;white-space:normal;border-radius:14px}
 .header #menu .nav-link .nav-icon{width:40px;height:40px;border:1px solid #e3d8e9;border-radius:12px;background:#f0e9f4;color:#7a5b88}
 .header #menu .nav-link .nav-icon svg{width:20px;height:20px}
 .header #menu .nav-link[aria-current=location] .nav-icon{color:#fff;background:#ffffff14;border-color:#ffffff30}
 .nav-label small{display:block;font-family:'DM Sans',sans-serif;font-size:12px;font-weight:400;color:#796b82;letter-spacing:0;margin-top:4px}
 .header #menu .nav-link[aria-current=location] small{color:#f5ebfa}
 .nav-arrow{display:block;margin-left:auto;font-size:18px;font-weight:400;color:#9b86a6}
 .header #menu .nav-link[aria-current=location] .nav-arrow{color:#fff}
 .header #menu .nav-mobile-book{display:flex;align-items:center;justify-content:space-between;gap:15px;background:#29222f;color:#fff;border-radius:14px;padding:16px 19px;font-size:15px;font-weight:600;margin-top:10px}
 .header #menu .nav-mobile-book:after{display:none}
 .menu-toggle[aria-expanded=true]{background:#efe6f4!important;color:#4d355d!important;border-color:#cdb8da}
}
@media(max-width:1000px){.header{--menu-top:84px}}
@media(max-width:700px){
 .header{--menu-top:78px;gap:9px}
 .header .header-book{min-height:44px;padding:11px 13px;gap:8px;font-size:13px}
 .header .header-book .book-arrow{display:none}
 .header .header-book svg{width:16px;height:16px}
 .header .menu-toggle{width:42px;min-width:42px;height:42px}
 .header #menu{padding:18px;inset:calc(var(--menu-top) + 8px) 4% auto;border-radius:19px;max-height:calc(100dvh - var(--menu-top) - 24px)}
 .header #menu .nav-mobile-intro{font-size:10px;padding-bottom:12px}
 .header #menu .nav-link{min-height:61px;padding:10px;gap:12px}
 .header #menu .nav-link .nav-icon{width:37px;height:37px;border-radius:11px}
 .header #menu .nav-link .nav-label{font-size:16px}
 .header .brand:hover small{letter-spacing:1.6px}
 .booking-page .header{gap:12px}
 .booking-page .header .text-link{font-size:13px;padding-inline:13px;white-space:nowrap}
}
@media(max-width:370px){.header .brand b{font-size:23px}.header .brand small{font-size:8px;letter-spacing:1.35px}.header .header-book{font-size:12px;padding-inline:11px;gap:6px}.header{gap:7px}}
@keyframes menu-arrive{from{opacity:0;transform:translateY(-10px) scale(.985)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.header #menu.open,.hero .hero-content>.eyebrow .dot,.cta:after,.header #menu .nav-link:hover .nav-icon{animation:none}.header #menu .nav-link,.menu-glyph i,.header .header-book .book-arrow,.review-portrait,.ig-post img,.service-card .service-card-copy b{transition:none}}
