/* fonts.css */
/* cyrillic-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/web-0.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/web-1.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/web-2.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/web-3.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/web-4.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/web-5.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/web-0.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/web-1.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/web-2.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/web-3.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/web-4.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/web-5.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/web-0.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/web-1.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/web-2.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/web-3.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/web-4.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/web-5.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/web-0.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/web-1.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/web-2.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/web-3.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/web-4.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/web-5.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic */
@font-face {
  font-family: 'Marck Script';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/web-6.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Marck Script';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/web-7.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Marck Script';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/web-8.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Prata';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/web-9.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Prata';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/web-10.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Prata';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/web-11.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin */
@font-face {
  font-family: 'Prata';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/web-12.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* style.css */
:root{--cream:#eee9df;--ink:#34362f;--rose:#98506a;--pink:#e9b7c1;--line:#bbb8aa;--serif:'Prata',Georgia,serif;--sans:'Manrope',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.7 var(--sans)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}img{display:block;max-width:100%;height:auto}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--rose);outline-offset:6px}button:disabled{opacity:.3;cursor:default}h1,h2,h3,p{margin-top:0}h2{font:clamp(48px,5.2vw,82px)/1.04 var(--serif);letter-spacing:-1.8px;margin-bottom:30px}h2 em{font-weight:400;color:var(--rose)}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:600;margin-bottom:24px}.section{padding:110px 7%}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:white;padding:10px}.skip:focus{top:10px}.read-progress{position:fixed;top:0;left:0;height:3px;background:var(--rose);z-index:101;width:100%;transform:scaleX(0);transform-origin:left}
.header{height:100px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--cream);position:relative;z-index:10}.wordmark{font:42px/.9 var(--serif);letter-spacing:-2px;display:flex;align-items:center;gap:13px}.wordmark img{mix-blend-mode:multiply;width:27px;height:33px}.wordmark small{display:block;font:9px var(--sans);letter-spacing:1.5px;margin-top:8px}.header nav{display:flex;gap:30px;font-size:14px}.header nav a{position:relative;padding:8px 0}.header nav a:after{content:'';position:absolute;bottom:0;left:0;height:1px;width:100%;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s}.header nav a:hover:after{transform:scaleX(1)}.header-actions{display:flex;align-items:center;gap:25px}.header-cta{border-bottom:1px solid;padding:8px 0;font-size:14px}.header-cta span{margin-right:12px}.language{background:none;border:0;padding:12px 4px;font-size:13px;min-width:40px;min-height:44px}.menu-toggle{display:none;border:0;background:none;width:44px;height:44px;padding:10px}.menu-toggle span{display:block;height:1px;background:var(--ink);margin:7px 0}
.hero{position:relative;min-height:700px;height:calc(100svh - 100px);max-height:1100px;color:#fff;overflow:hidden;isolation:isolate}.hero-photo{position:absolute;inset:-6% 0;animation:hero-mask 1.5s cubic-bezier(.2,.65,.2,1) both}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 60%;will-change:transform}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#20281b30,#1b211345 45%,#20221bd6)}.hero-topline{position:relative;display:flex;justify-content:space-between;padding:35px 5%;font-size:12px;letter-spacing:2px;animation:fade-in 1.1s .3s both}.hero-copy{position:absolute;bottom:125px;left:7%;right:7%}.hero h1{font:clamp(62px,7.7vw,126px)/1.03 var(--serif);letter-spacing:-3.5px;font-weight:400;margin:20px 0 36px}.hero h1 .line{display:block;overflow:hidden;padding-bottom:8px;margin-bottom:-8px}.hero h1 .line>span,.hero h1 .line>em{display:block;animation:title-rise 1.25s cubic-bezier(.16,1,.3,1) .25s both}.hero h1 .line>em{color:#f1c6cd;font-weight:400;animation-delay:.42s}.hero-copy>.eyebrow{animation:fade-in 1.2s .5s both}.hero-bottom{display:flex;align-items:end;justify-content:space-between;gap:25px;animation:fade-in 1.2s .65s both}.hero-bottom p{line-height:1.8;margin:0}.pill{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;border:0;border-radius:40px;padding:20px 28px;background:var(--pink);color:#332c28;font-size:14px;transition:background .25s,box-shadow .25s;min-height:60px}.pill b{font-size:24px;font-weight:400;line-height:1;transition:transform .3s}.pill:hover{background:#f3ced3;box-shadow:0 8px 35px #44283115}.pill:hover b{transform:rotate(45deg)}.hero-side{position:absolute;right:3%;top:45%;writing-mode:vertical-rl;font-size:10px;letter-spacing:2px}.scroll-cue{position:absolute;bottom:35px;left:7%;right:7%;border-top:1px solid #ffffff65;padding-top:20px;display:flex;justify-content:space-between;font-size:12px;letter-spacing:2px}.scroll-cue>span:last-child{font-size:22px;line-height:1;animation:nudge 2s ease-in-out 3}
.intro{text-align:center;position:relative;overflow:hidden;padding-top:100px;padding-bottom:120px}.intro>*:not(svg){position:relative;z-index:1}.intro-mark{width:44px;margin:0 auto 32px}.intro-mark img{mix-blend-mode:multiply;width:44px;height:auto}.intro h2{font-size:clamp(50px,6.3vw,94px);margin:28px 0}.intro-text{max-width:640px;margin:0 auto 30px;line-height:1.9}.text-link{display:inline-flex;align-items:center;gap:28px;border-bottom:1px solid var(--ink);padding:10px 0;font-size:14px}.text-link>span:last-child{font-size:24px;transition:transform .3s}.text-link:hover>span:last-child{transform:translate(3px,3px)}.intro-line{position:absolute;inset:8% -3%;height:90%;width:106%;pointer-events:none}.intro-line path{fill:none;stroke:#a7777970;stroke-width:1;stroke-dasharray:1;stroke-dashoffset:var(--line-progress,0)}.manifesto{opacity:var(--manifesto-opacity,1);transform:translateY(var(--manifesto-y,0))}
.practices{padding-right:0;padding-bottom:85px;background:#e5e2d8}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;padding-right:8%;margin-bottom:45px}.section-heading h2{margin:0;max-width:750px}.slider-nav{display:flex;gap:10px}.round{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--ink);background:transparent;border-radius:50%;width:52px;height:52px;font-size:23px;flex-shrink:0;transition:color .25s,background .25s,transform .25s}.round:hover:not(:disabled){background:var(--ink);color:var(--cream)}.class-track{display:flex;gap:28px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 8% 20px 0;overscroll-behavior-x:contain}.class-track::-webkit-scrollbar{display:none}.class-card{flex:0 0 31.5%;min-width:260px;scroll-snap-align:start}.class-image{position:relative;aspect-ratio:3/4;overflow:hidden;background:#c9c2b5}.class-image img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s;filter:saturate(.65)}.class-card:hover img{transform:scale(1.055);filter:saturate(.9)}.class-number{position:absolute;top:18px;left:20px;font:italic 25px var(--serif);color:#fff;text-shadow:0 1px 10px #000}.class-image:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 50%,#242b2160);pointer-events:none}.class-image .round{position:absolute;bottom:20px;right:20px;z-index:1;background:var(--cream);border:0;min-width:52px;min-height:52px}.class-image .round:hover{background:var(--pink);color:var(--ink);transform:rotate(45deg)}.class-meta{display:flex;justify-content:space-between;gap:10px;font-size:12px;margin:18px 0 9px;color:#606253}.class-card h3{font:36px/1.1 var(--serif);margin:0 0 8px}.class-card>p{font-size:14px;line-height:1.6;max-width:320px;margin-bottom:0}.track-footer{padding-right:8%;display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:25px;font-size:11px;letter-spacing:1px}.track-progress{height:1px;background:#bab9ac;flex:1;max-width:250px}.track-progress i{height:2px;display:block;width:100%;background:#4c5145;transform:scaleX(.2);transform-origin:left}
.studio{display:grid;grid-template-columns:1.05fr 1fr;gap:10%;align-items:center;padding-top:140px;padding-bottom:140px}.studio-photo{aspect-ratio:4/5;overflow:hidden;position:relative;border-radius:45% 45% 0 0;background:#c4bdb0}.studio-photo img{height:115%;width:100%;object-fit:cover;object-position:70% center;will-change:transform}.studio-photo:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#252a2470)}.photo-caption{position:absolute;z-index:1;bottom:30px;left:28px;right:28px;display:flex;justify-content:space-between;align-items:center;color:#fff;font-size:10px;letter-spacing:1px}.photo-caption>span:first-child{font:30px var(--serif)}.studio-copy h2{font-size:clamp(66px,6.5vw,104px)}.studio-copy>p:not(.eyebrow){max-width:420px}.studio-values{margin-top:38px}.studio-values>div{display:flex;gap:25px;align-items:center;border-top:1px solid var(--line);padding:14px 0}.studio-values span{font:italic 20px var(--serif);color:var(--rose)}.studio-values p{margin:0;font-size:14px}.marquee{padding:22px 0 29px;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.marquee>div{display:flex;gap:65px;align-items:center;width:max-content;animation:marquee 30s linear infinite}.marquee span{font:52px var(--sans);letter-spacing:-2px;font-weight:400}.marquee em{font:italic 78px var(--serif);color:var(--rose)}
.people{display:grid;grid-template-columns:1.15fr 1fr;gap:10%;align-items:center;padding-top:130px;padding-bottom:140px}.people-copy>p:not(.eyebrow){max-width:500px}.people-note{font-size:14px;padding-top:16px;color:#656454}.people-image{position:relative;aspect-ratio:4/5;overflow:hidden}.people-image img{height:100%;width:100%;object-fit:cover;object-position:center;filter:saturate(.7)}.image-label{position:absolute;bottom:24px;left:24px;background:var(--cream);padding:10px 15px;font-size:11px;letter-spacing:1.5px}
.app-section{background:#343d34;color:var(--cream);display:grid;grid-template-columns:1.1fr 1fr;gap:6%;align-items:center;overflow:hidden;padding-top:120px;padding-bottom:115px}.app-section h2 em{color:var(--pink)}.app-copy>p:not(.eyebrow){max-width:450px;color:#e0e0d1}.app-steps{display:flex;flex-direction:column;margin:30px 0 40px;gap:16px}.app-steps>span{display:flex;gap:18px;align-items:center;font-size:14px}.app-steps b{font:italic 20px var(--serif);color:var(--pink)}.phone-scene{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;isolation:isolate;min-height:610px}.phone{width:272px;min-height:540px;background:#f3eee5;color:#34362f;border:7px solid #1e211d;border-radius:42px;padding:44px 20px 22px;box-shadow:25px 40px 65px #111b1855,1px 0 0 1px #919486;position:relative;transform:rotate(var(--phone-rotation,-7deg)) translateY(var(--phone-y,0));will-change:transform}.phone-notch{width:78px;height:20px;border-radius:0 0 15px 15px;background:#1e211d;position:absolute;top:0;left:calc(50% - 39px)}.phone-brand{font:32px/.85 var(--serif);text-align:center;letter-spacing:-1px}.phone-brand span{font:7px var(--sans);letter-spacing:1.5px;display:block;margin-top:8px}.phone-eyebrow{font-size:8px;letter-spacing:1px;margin:27px 0 12px}.phone h3{font:43px/.95 var(--serif);margin:0 0 19px}.phone h3 em{color:var(--rose);font-weight:400}.phone-image{height:173px;position:relative;overflow:hidden;border-radius:5px}.phone-image img{width:100%;height:100%;object-fit:cover}.phone-image:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,#20251d90)}.phone-image>span{position:absolute;bottom:10px;left:10px;z-index:1;color:white;font:22px var(--serif)}.phone-row{display:flex;justify-content:space-between;font-size:11px;margin:20px 0}.phone-line{height:1px;background:#ccc5b9}.phone-bottom{display:flex;justify-content:space-between;letter-spacing:1px;font-size:7px;margin-top:16px}.phone-caption{font-size:10px;letter-spacing:1.5px;margin-top:34px;position:relative;text-align:center}.orbit{position:absolute;z-index:-1;width:430px;height:490px;border:1px solid #adc0a64d;border-radius:50%;transform:rotate(-35deg)}.orbit-two{width:500px;height:370px;transform:rotate(40deg);border-color:#deb0b850}
.faq{display:grid;grid-template-columns:1fr 1.2fr;gap:8%;padding-top:130px;padding-bottom:130px}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 0;list-style:none;cursor:pointer;font-size:16px}summary::-webkit-details-marker{display:none}summary>span:last-child{font-size:26px;font-weight:400;transition:transform .3s}details[open] summary>span:last-child{transform:rotate(45deg)}details>p{font-size:14px;line-height:1.9;margin:0;padding:0 35px 25px 0}details[open]>p{animation:fade-in .35s both}.closing{text-align:center;border-top:1px solid var(--line);background:#e8c4c5;padding-top:95px;padding-bottom:95px}.closing h2{font-size:clamp(65px,8vw,120px);line-height:1;margin-bottom:40px}.closing h2 em{color:#743f50}.large{width:78px;height:78px;font-size:38px}.footer{padding:45px 7% 32px;overflow:hidden}.footer-logo{font:clamp(140px,24vw,380px)/.9 var(--serif);letter-spacing:-.04em;display:block;text-align:center;margin-bottom:50px}.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;border-top:1px solid var(--line);padding-top:24px;font-size:12px}.motion-toggle{border:0;border-bottom:1px solid;background:none;padding:3px 0;font-size:12px}.mobile-dock{display:none}
dialog{color:var(--ink);background:var(--cream);border:0;max-height:90svh;box-shadow:0 25px 100px #0004}dialog::backdrop{background:#19231f99;backdrop-filter:blur(6px)}dialog[open]{animation:dialog-in .4s cubic-bezier(.2,.7,.2,1)}body:has(dialog[open]){overflow:hidden}.close-dialog.round{position:absolute;right:18px;top:18px;background:var(--cream);z-index:2;width:44px;height:44px;font-size:28px}.close-dialog.round:hover{background:var(--ink)}.detail-dialog{padding:0;width:min(860px,92vw);border-radius:5px}.detail-grid{display:grid;grid-template-columns:1fr 1.2fr}.detail-grid>img{height:100%;width:100%;object-fit:cover;min-height:540px}.detail-copy{padding:60px 36px 36px}.detail-copy h2{font-size:48px;letter-spacing:-1px}.detail-copy>p{font-size:15px}.detail-facts{display:flex;flex-wrap:wrap;gap:10px 20px;font-size:12px;padding-top:15px;margin:25px 0;border-top:1px solid var(--line)}.detail-copy .pill{width:100%;font-size:13px;padding:17px 20px}.app-dialog{width:min(540px,92vw);padding:50px;border-radius:5px;text-align:center}.app-dialog>img{margin:0 auto 25px;mix-blend-mode:multiply}.app-dialog h2{font-size:54px}.app-dialog>p:not(.eyebrow){font-size:15px}.app-dialog .pill{margin-top:15px;width:100%}.menu-dialog{inset:0 0 0 auto;margin:0;width:min(520px,100vw);max-width:100%;height:100svh;max-height:100svh;padding:35px}.menu-top{display:flex;justify-content:space-between;align-items:center}.menu-top .close-dialog.round{position:static}.menu-dialog nav{display:flex;flex-direction:column;margin:65px 0}.menu-dialog nav a{display:flex;gap:20px;align-items:center;border-bottom:1px solid var(--line);padding:19px 0;font:35px var(--serif)}.menu-dialog nav a>span:first-child{font:italic 16px var(--serif);color:var(--rose)}.menu-dialog>p{font-size:11px;letter-spacing:2px}.noscript{padding:25px;text-align:center}
.js-motion .reveal{opacity:0;transform:translateY(35px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}.js-motion .reveal.visible{opacity:1;transform:translateY(0)}.js-motion .studio-photo.reveal{clip-path:inset(15% 0 0);transition:clip-path 1.3s cubic-bezier(.2,.7,.2,1),opacity .9s,transform 1.1s}.js-motion .studio-photo.visible{clip-path:inset(0)}.motion-paused *, .motion-paused *:before,.motion-paused *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-paused .reveal{opacity:1!important;transform:none!important;clip-path:none!important}.motion-paused .hero-photo img,.motion-paused .studio-photo img,.motion-paused .phone,.motion-paused .manifesto{transform:none!important;opacity:1!important}
@keyframes hero-mask{from{clip-path:inset(4% 4% 4% round 200px)}to{clip-path:inset(0 round 0)}}@keyframes title-rise{from{transform:translateY(115%)}to{transform:translateY(0)}}@keyframes fade-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes nudge{50%{transform:translateY(5px)}}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes dialog-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.section{padding-left:max(7%,calc((100vw - 1450px)/2));padding-right:max(7%,calc((100vw - 1450px)/2))}.practices{padding-right:0}}
@media(max-width:1050px){.header nav{gap:18px}.header-cta{display:none}.class-card{flex-basis:43%}.studio{gap:7%}.people{gap:7%}.app-section{gap:3%}.phone{width:250px}.phone-scene{min-height:570px}.faq{gap:6%}.section{padding-left:6%;padding-right:6%}.practices{padding-right:0}}
@media(max-width:700px){
html{scroll-padding-top:25px}.header{height:80px;padding:0 6%;gap:10px}.wordmark{font-size:34px;gap:9px}.wordmark small{font-size:7px;letter-spacing:1.4px}.wordmark img{width:22px;height:27px}.header nav{display:none}.header-actions{gap:12px}.language{font-size:13px}.menu-toggle{display:block}.hero{height:calc(100svh - 80px);min-height:630px;max-height:850px}.hero-photo img{object-position:65% center}.hero-photo:after{background:linear-gradient(180deg,#1b21132b,#1b21132a 25%,#20221be3)}.hero-topline{padding:25px 6%;font-size:10px;letter-spacing:1px}.hero-copy{left:7%;right:7%;bottom:105px}.hero h1{font-size:clamp(43px,11.7vw,80px);letter-spacing:-1.6px;line-height:1.05;margin:18px 0 25px}.hero-bottom{align-items:start;flex-direction:column;gap:22px}.hero-bottom p{font-size:14px}.hero-copy>.eyebrow{font-size:10px;letter-spacing:1.8px}.hero-side{display:none}.pill{padding:18px 22px;min-height:58px;font-size:14px;width:100%}.hero .pill{background:#efc4cb}.scroll-cue{font-size:10px;bottom:27px;padding-top:17px}.section{padding:78px 7%}.eyebrow{font-size:11px;letter-spacing:1.5px;margin-bottom:20px}h2{font-size:50px;letter-spacing:-1.2px;margin-bottom:24px}.intro{padding-top:75px;padding-bottom:85px}.intro h2{font-size:clamp(41px,10.8vw,70px)}.intro-mark{margin-bottom:28px}.intro-text{font-size:15px;line-height:1.85}.intro-text br{display:none}.intro-line{inset:5% -40%;width:180%;height:95%}.text-link{font-size:14px}.practices{padding-right:0;padding-bottom:55px}.section-heading{padding-right:8%;margin-bottom:30px;align-items:end;gap:10px}.section-heading h2{font-size:47px;max-width:290px}.section-heading h2 em{display:block}.slider-nav{gap:6px;margin-bottom:4px}.slider-nav .round{width:38px;height:44px;font-size:19px;border-radius:22px}.class-track{gap:18px;padding-right:8%;padding-bottom:10px}.class-card{flex-basis:83%;min-width:0}.class-image{aspect-ratio:4/5}.class-card h3{font-size:34px}.class-card>p{font-size:14px}.class-meta{font-size:11px}.track-footer{margin-top:25px;font-size:9px;letter-spacing:.5px;gap:15px}.track-footer>span:first-child{max-width:180px}.track-progress{max-width:65px}.studio{grid-template-columns:1fr;gap:42px;padding-top:80px;padding-bottom:80px}.studio-photo{aspect-ratio:4/4.5;max-height:500px;order:2}.studio-copy h2{font-size:72px;line-height:.95}.studio-copy>p:not(.eyebrow){font-size:16px}.studio-values{margin-top:28px}.studio-values>div{padding:12px 0}.photo-caption{bottom:22px;left:22px;right:22px}.marquee{padding:16px 0 20px}.marquee>div{gap:35px}.marquee span{font-size:32px;letter-spacing:-1px}.marquee em{font-size:51px}.people{grid-template-columns:1fr;gap:36px;padding-top:80px;padding-bottom:80px}.people h2{font-size:46px}.people-image{aspect-ratio:4/4;max-height:440px}.people-copy>p{font-size:16px}.people-copy .people-note{font-size:14px}.image-label{left:20px;bottom:20px;font-size:10px}.app-section{grid-template-columns:1fr;gap:30px;padding-top:80px;padding-bottom:55px}.app-section h2{font-size:52px}.app-copy>p:not(.eyebrow){font-size:16px}.app-steps{gap:13px;margin:28px 0 32px}.phone-scene{min-height:560px;margin-top:5px}.phone{width:250px;min-height:505px;padding-top:38px}.phone h3{font-size:41px}.phone-image{height:155px}.phone-caption{font-size:9px;letter-spacing:1px;margin-top:32px}.orbit-one{width:330px;height:410px}.orbit-two{width:370px;height:280px}.faq{grid-template-columns:1fr;gap:25px;padding-top:80px;padding-bottom:80px}.faq h2{font-size:54px}.faq summary{font-size:15px;padding:22px 0}.faq details>p{font-size:14px;padding-right:12px}.closing{padding-top:65px;padding-bottom:65px}.closing h2{font-size:60px;letter-spacing:-2px}.large{width:68px;height:68px}.footer{padding:45px 7% 100px}.footer-logo{font-size:27vw;margin-bottom:35px}.footer-bottom{justify-content:start;gap:18px 24px;font-size:11px}.footer-bottom>span{flex-basis:100%}.motion-toggle{font-size:11px}.mobile-dock{position:fixed;z-index:9;left:7%;right:7%;bottom:max(16px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;padding:16px 22px;background:#e9b7c1f5;color:#34362f;border:1px solid #deb0b6;border-radius:40px;box-shadow:0 6px 30px #242c2228;font-size:14px;backdrop-filter:blur(12px);transform:translateY(150%);opacity:0;pointer-events:none;transition:transform .4s,opacity .4s}.mobile-dock.shown{transform:translateY(0);opacity:1;pointer-events:auto}.mobile-dock>span:last-child{font-size:23px;line-height:1}.detail-dialog{max-height:90svh;width:92vw}.detail-grid{grid-template-columns:1fr}.detail-grid>img{height:220px;min-height:0;object-position:center 50%}.detail-copy{padding:28px 25px}.detail-copy h2{font-size:44px}.app-dialog{padding:55px 25px 30px}.app-dialog h2{font-size:47px}.menu-dialog{padding:28px}.menu-dialog nav a{font-size:32px}.menu-dialog nav{margin-top:60px}}
@media(max-width:360px){.hero h1{font-size:40px}.hero-topline{font-size:9px}.section-heading h2{font-size:40px}.slider-nav{flex-direction:column}.closing h2{font-size:51px}.app-section h2{font-size:44px}.track-footer{gap:8px}.menu-dialog nav a{font-size:28px}}
@media(max-width:700px){.hero-photo img{object-position:82% center}}



/* brand-motion.css */
/* BÂOLI identity: smoky white, charcoal and restrained movement accents. */
::selection{background:#9FD3C7;color:#313130}html{scrollbar-color:#aba9a3 #edebe9}a{text-underline-offset:.22em}h1,h2,h3{text-wrap:balance}p{max-width:70ch}.hero h1{letter-spacing:-.03em}.hero-bottom p{font-size:16px}.class-card>p{font-size:16px}.header-motion{font-size:12px!important}.hero-topline,.track-footer,.ritual-index,.ritual-card span,.phone-caption,.image-label{font-size:12px!important;letter-spacing:.04em!important}.campaign-note{font-size:11px!important}.studio-copy>p,.people-copy>p,.app-copy>p{line-height:1.8}.hero-copy{padding-top:15px}.phone-caption{max-width:260px}.motion-enabled .manifesto{opacity:1}
@media(max-width:700px){.hero-bottom p{font-size:15px!important}.hero-topline{font-size:11px!important;letter-spacing:0!important}.hero h1{margin-top:12px!important}.hero-copy{top:8%!important}.class-card>p,.faq details>p{font-size:16px!important}.class-meta{font-size:12px!important}.track-footer{letter-spacing:0!important}.header-actions{gap:6px}.header-motion{font-size:11px!important}.hero .pill{font-size:14px!important}.ritual-card span{font-size:12px!important}.people-note{font-size:15px!important}}
.hero-whisper{color:#313130!important;text-shadow:none!important}.ritual-one img{object-position:right center}
.hero-photo:after{display:none}.hero{background:linear-gradient(135deg,#faf9f7,#edebe9)}.hero .pill{background:#9FD3C7!important;color:#313130!important}.hero-whisper{position:absolute;z-index:4;left:0;right:0;top:45%;text-align:center;font:clamp(60px,10vw,150px)/1.1 var(--serif);color:#fff;text-shadow:0 2px 25px #31313020;opacity:0;pointer-events:none;transform:translateY(35px)}.motion-enabled .hero-whisper{opacity:var(--whisper-opacity,0);transform:translateY(var(--whisper-y,35px))}.hero-ribbon path{stroke-width:3}.intro{background:linear-gradient(#edebe9,#f8f7f5)}.ritual-journey{background:#f8f7f5;padding:30px 0 70px}.ritual-stage{position:relative;overflow:hidden;display:flex;align-items:center;flex-direction:column;justify-content:center;padding:40px 7%;min-height:760px}.ritual-heading{text-align:center;z-index:4}.ritual-heading h2{font-size:clamp(40px,5vw,72px);margin-bottom:28px}.ritual-heading .eyebrow{margin-bottom:16px}.ritual-deck{width:min(820px,86vw);display:grid;position:relative;perspective:1400px;margin:20px 0 30px}.ritual-card{grid-area:1/1;background:#edebe9;padding:12px;border-radius:4px;box-shadow:0 20px 60px #3131301c;transform-origin:50% 90%;overflow:hidden}.ritual-card img{width:100%;height:clamp(260px,34vw,460px);object-fit:cover}.ritual-card>div{display:flex;align-items:center;justify-content:space-between;padding:22px 12px 14px;gap:20px}.ritual-card span{font-size:11px;letter-spacing:1px}.ritual-card h3{font:clamp(20px,2.4vw,34px)/1.25 var(--serif);margin:0}.ritual-one{z-index:3;transform:rotate(-4deg)}.ritual-two{z-index:2;transform:rotate(4deg)}.ritual-three{z-index:1;transform:rotate(-1deg)}.ritual-index{display:flex;align-items:center;gap:18px;font-size:11px;letter-spacing:1px;margin-top:12px}.ritual-index i{width:40px;height:1px;background:#9FD3C7}.motion-enabled .ritual-journey{height:245svh;padding:0}.motion-enabled .ritual-stage{position:sticky;top:0;height:100svh;min-height:680px}.motion-enabled .ritual-one{transform:translate3d(var(--card-one-x,0),var(--card-one-y,0),0) rotate(var(--card-one-angle,-4deg));opacity:var(--card-one-opacity,1)}.motion-enabled .ritual-two{transform:translate3d(var(--card-two-x,0),var(--card-two-y,0),0) rotate(var(--card-two-angle,4deg));opacity:var(--card-two-opacity,1)}.motion-enabled .ritual-three{transform:rotate(var(--card-three-angle,-1deg)) scale(var(--card-three-scale,.95))}.ritual-heading{transform:translateY(var(--ritual-heading-y,0))}.motion-paused .ritual-deck{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:18px;padding-bottom:25px}.motion-paused .ritual-card{flex:0 0 95%;transform:none;scroll-snap-align:center}.app-section{background:#edebe9!important;color:#313130!important;border-block:1px solid #c6c3c0}.app-section h2 em,.app-copy>p:not(.eyebrow){color:#313130!important}.app-steps b{color:#313130}.phone{box-shadow:20px 35px 70px #31313020}.orbit{border-color:#b1d9cb}.orbit-two{border-color:#e2cbd2}.studio{background:#faf9f7}.practices{background:#edebe9}.marquee{background:#faf9f7}.motion-enabled .marquee>div{animation:none;transform:translateX(var(--marquee-shift,0))}.motion-paused .hero-whisper{display:none}
@media(max-width:700px){.ritual-stage{padding:35px 7%;min-height:610px}.motion-enabled .ritual-journey{height:210svh}.motion-enabled .ritual-stage{min-height:610px}.ritual-heading h2{font-size:36px;max-width:310px}.ritual-deck{width:86vw;margin-block:15px 25px}.ritual-card{padding:8px}.ritual-card img{height:clamp(270px,42svh,400px);object-position:center}.ritual-card>div{align-items:start;flex-direction:column;gap:10px;padding:18px 10px 12px}.ritual-card h3{font-size:24px}.ritual-card span{font-size:9px}.ritual-index{font-size:9px;gap:12px}.ritual-index i{width:18px}.hero-whisper{font-size:15vw;top:48%}.hero-topline{color:#313130}.hero-copy{z-index:5}.hero-photo img{filter:none}.ritual-heading .eyebrow{font-size:9px}}

.header-motion{font-size:11px;white-space:nowrap;min-height:44px;padding:8px 3px;border-bottom:0}.header-motion:before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:#aaa;margin-right:6px}.motion-enabled .header-motion:before{background:#477965}
@media(max-width:700px){.header-actions{gap:6px}.header-motion{font-size:10px}.header-motion:before{display:none}.header .wordmark{gap:5px}.header .wordmark .logo-window{width:85px}.header .wordmark .logo-window img{width:85px;transform:translateY(-41px)}.header .wordmark>img{width:19px;height:24px}}
:root{--cream:#edebe9;--ink:#313130;--rose:#313130;--pink:#9FD3C7;--line:#c6c3c0;--serif:'Prata',Georgia,serif}
h1,h2,h3{font-weight:400}h2{line-height:1.17;font-size:clamp(42px,4.7vw,74px)}h2 em,.hero h1 em{font-style:normal}.header{border-bottom:1px solid var(--line)}.wordmark .logo-window{display:block;width:111px;height:39px;overflow:hidden}.wordmark .logo-window img{width:111px;height:auto;max-width:none;transform:translateY(-53px);mix-blend-mode:multiply}.wordmark>img{width:25px;height:31px}.footer-logo .logo-window{display:block;width:100%;aspect-ratio:3/1;overflow:hidden}.footer-logo img{width:100%;transform:translateY(-44%);mix-blend-mode:multiply}.footer-logo{margin:15px 0 50px}
.hero-journey{position:relative}.hero{min-height:680px;color:var(--ink);background:var(--cream)}.hero-photo{inset:0;animation:brand-aperture 1.8s cubic-bezier(.16,1,.3,1) both;clip-path:inset(2% 3% 3% 48% round 48% 48% 2px 2px)}.hero-photo img{object-position:68% center}.hero-photo:after{background:linear-gradient(0deg,#31313030,transparent 40%)}.hero-copy{top:20%;bottom:auto;left:6%;right:6%}.hero h1{font-size:clamp(48px,6.2vw,98px);line-height:1.18;letter-spacing:-3px;margin:24px 0 35px}.hero h1 .line{padding-bottom:15px;margin-bottom:-15px}.hero h1 .line>em{color:var(--ink)}.hero-bottom{flex-direction:column;align-items:start;gap:28px}.hero-bottom p{max-width:310px}.hero .pill{background:var(--ink);color:var(--cream);width:auto;max-width:100%}.hero-topline{padding:30px 6%;font-size:10px}.hero-topline>span:last-child{visibility:hidden}.scroll-cue{left:6%;right:6%;border-color:#31313050}.hero-side{right:1%;color:var(--ink)}.hero-ribbon{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}.hero-ribbon path{fill:none;stroke:#9FD3C7;stroke-width:2;stroke-dasharray:1;stroke-dashoffset:var(--ribbon-offset,1)}
.js-motion:not(.motion-paused) .hero-journey{height:175svh}.js-motion:not(.motion-paused) .hero{position:sticky;top:0;height:100svh;max-height:none}.js-motion:not(.motion-paused) .hero-photo{animation:none;clip-path:inset(var(--aperture-top,2%) var(--aperture-right,3%) var(--aperture-bottom,3%) var(--aperture-left,48%) round var(--aperture-radius,240px) var(--aperture-radius,240px) 2px 2px)}.hero-copy,.hero-topline,.hero-side{z-index:3}.js-motion:not(.motion-paused) .hero-copy{transform:translateY(var(--hero-copy-y,0));opacity:var(--hero-copy-opacity,1)}
.intro h2{font-size:clamp(43px,5.6vw,86px);line-height:1.25}.intro-line path{stroke:#9FD3C7;stroke-width:2}.practices{background:var(--cream);border-block:1px solid var(--line)}.class-image{border-radius:160px 160px 2px 2px}.class-card:nth-child(even) .class-image{border-radius:2px 2px 160px 160px}.class-card h3{font-size:30px;line-height:1.3}.class-meta{color:#5f5f5a}.class-card{transition:transform .7s ease}.studio-photo{border-radius:2px;aspect-ratio:4/5}.studio-photo img{object-position:45% center}.studio-copy h2{font-size:clamp(49px,5.8vw,86px);line-height:1.2}.studio-values{border-bottom:1px solid var(--line)}.marquee{background:var(--cream)}.marquee em{font-style:normal;font-size:65px}.marquee span{font-size:42px}.people-image{border-radius:50% 50% 2px 2px}.people-image img{object-position:50% center}.people-note{color:#60605d}.app-section{background:var(--ink)}.app-section h2 em{color:var(--cream)}.app-copy>p:not(.eyebrow){color:var(--cream)}.phone{background:var(--cream);color:var(--ink)}.phone h3{font-size:32px;line-height:1.2}.phone h3 em{font-style:normal}.orbit{border-color:#9FD3C770}.orbit-two{border-color:#EAE78850}.phone-image>span{font-size:18px}.pill:hover{background:#d3e9e0}.hero .pill:hover{background:#454542}.closing{background:var(--cream);position:relative;overflow:hidden}.closing:before{content:'';width:75%;height:50%;border:2px solid #DAB4C9;border-radius:50%;position:absolute;left:12%;top:25%;transform:rotate(-18deg);pointer-events:none}.closing h2{position:relative;font-size:clamp(48px,6.4vw,96px);line-height:1.2}.closing h2 em{color:var(--ink)}.closing .round{background:var(--pink)}.campaign-note{font-size:10px;letter-spacing:.3px;color:#646460;text-align:center;padding:0 7%;max-width:800px;margin:20px auto 40px}.mobile-dock{background:#edebe9ed;border-color:#31313040;color:var(--ink)}.image-label{font-size:9px}.read-progress{background:var(--ink)}
.js-motion .people-image.reveal{clip-path:inset(22% 8% round 45% 45% 0 0);transition:clip-path 1.5s cubic-bezier(.16,1,.3,1),transform 1.1s,opacity 1s}.js-motion .people-image.visible{clip-path:inset(0 round 45% 45% 0 0)}.studio-photo{transform:rotate(var(--studio-angle,0deg))!important}.phone-scene{perspective:1000px}.orbit-one{transform:rotate(var(--orbit-angle,-35deg))}.orbit-two{transform:rotate(calc(var(--orbit-angle,-35deg) * -1))}.manifesto em{color:var(--ink)}
@keyframes brand-aperture{from{clip-path:inset(10% 12% 10% 60% round 300px);opacity:0}to{clip-path:inset(2% 3% 3% 48% round 240px 240px 2px 2px);opacity:1}}
@media(max-width:700px){.header{height:76px}.wordmark .logo-window{width:98px;height:36px}.wordmark .logo-window img{width:98px;transform:translateY(-47px)}.hero{height:calc(100svh - 76px);min-height:740px;max-height:none}.js-motion:not(.motion-paused) .hero-journey{height:150svh}.js-motion:not(.motion-paused) .hero{min-height:710px}.hero-copy{top:9%;left:7%;right:7%}.hero-copy>.eyebrow{font-size:9px;margin-bottom:10px}.hero h1{font-size:clamp(35px,9vw,60px);letter-spacing:-1.5px;line-height:1.24;margin:14px 0 20px}.hero-bottom{gap:18px}.hero-bottom p{font-size:12px;line-height:1.7;max-width:230px}.hero .pill{min-height:48px;padding:13px 20px;font-size:12px;gap:26px}.hero-photo{inset:0;clip-path:inset(48% 7% 10% 7% round 150px 150px 2px 2px);animation:none}.hero-photo img{object-position:60% 70%;height:100%;object-fit:cover}.hero-photo:after{background:transparent}.hero-topline{padding:18px 7%;font-size:8px;letter-spacing:1px}.hero-topline>span:last-child{visibility:visible}.hero-ribbon{z-index:2;opacity:.8}.scroll-cue{font-size:9px;bottom:25px}.section{padding-block:75px}h2{font-size:42px}.intro h2{font-size:clamp(34px,8.7vw,55px)}.section-heading{align-items:center}.section-heading h2{font-size:36px;max-width:245px;line-height:1.25}.slider-nav{flex-direction:column}.class-card h3{font-size:28px}.studio-copy h2{font-size:55px;line-height:1.2}.studio-photo{aspect-ratio:1/1;order:2}.studio-photo img{object-position:43% center}.people h2{font-size:36px}.people-image{aspect-ratio:1}.app-section h2{font-size:40px}.faq h2{font-size:43px}.closing h2{font-size:clamp(37px,9.5vw,62px);letter-spacing:-1px}.marquee span{font-size:27px}.marquee em{font-size:40px}.footer-logo{margin-bottom:30px}.detail-copy h2{font-size:35px}.app-dialog h2{font-size:39px}.menu-dialog nav a{font-size:28px}.campaign-note{font-size:9px}.hero-copy .eyebrow{max-width:80%}}
.motion-paused .hero-copy{opacity:1!important;transform:none!important}.motion-paused .studio-photo{transform:none!important}.motion-paused .manifesto em{color:var(--ink)}.motion-paused .hero-ribbon{display:none}
@media(max-width:700px){.hero-photo img{position:absolute;top:var(--photo-top,48%);height:var(--photo-height,42%);width:100%;object-position:60% center;transform:none!important}.motion-paused .hero-photo img{top:48%;height:42%}.hero-copy{top:7%}.hero h1{font-size:clamp(33px,8.5vw,56px)}}


/* cinema.css */
/* One full-screen narrative: movement, breath, connection. */
.liquid-surface{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;display:none}.liquid-active .liquid-surface{display:block}.liquid-active .hero-photo,.liquid-active .cinema-layer{visibility:hidden!important}.liquid-active .cinema-shade{z-index:3}
.hero-journey{height:auto}.hero{height:calc(100svh - 100px);min-height:680px;max-height:none;background:#edebe9;color:#313130}.hero-photo{inset:0!important;animation:none!important;clip-path:none!important}.hero-photo img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover;object-position:68% 50%;transform:scale(var(--cinema-zoom,1))!important}.hero-photo:after{display:none}.hero-ribbon,.hero-side{display:none}.hero-copy{top:auto!important;bottom:115px!important;left:6%;right:6%;padding:0;opacity:1;transform:none}.hero h1{font-size:clamp(64px,7.3vw,112px);line-height:1.15;max-width:1000px;margin:0 0 25px!important;letter-spacing:-.045em}.hero h1 .line{padding-bottom:12px}.hero h1 .line>*{animation:none!important}.hero-bottom{flex-direction:row;align-items:end;justify-content:space-between;gap:25px;animation:none!important}.hero-bottom p{font-size:16px!important;max-width:400px}.hero .pill{background:#313130!important;color:#fff!important;width:auto;min-width:235px;min-height:58px;font-size:14px!important}.hero-topline{position:absolute;inset:0 0 auto;padding:26px 6%;z-index:6}.hero-topline>span:last-child{visibility:visible}.scroll-cue{z-index:6;bottom:30px;left:6%;right:6%;border-color:#31313055}.cinema-shade{position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,#edebe912 30%,#edebe9a8 70%,#edebe9f0);pointer-events:none}.cinema-layer{position:absolute;inset:0;overflow:hidden;pointer-events:none;visibility:hidden}.cinema-layer img{width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(var(--cinema-zoom,1))}.cinema-breathe{z-index:1;clip-path:inset(0 0 var(--breathe-wipe,100%) 0)}.cinema-belong{z-index:2;clip-path:inset(0 var(--belong-wipe,100%) 0 0)}.cinema-breathe img{object-position:50% center}.cinema-belong img{object-position:50% center}.cinema-words{position:absolute;inset:0;z-index:4;pointer-events:none;display:grid;place-items:center;overflow:hidden}.cinema-word{grid-area:1/1;font:clamp(100px,17vw,270px)/1.1 var(--serif);letter-spacing:-.05em;opacity:0;white-space:nowrap;color:#313130;text-shadow:0 2px 45px #edebe970}.cinema-word-one{opacity:var(--word-one-opacity,0);transform:translateX(var(--word-one-x,0))}.cinema-word-two{opacity:var(--word-two-opacity,0);transform:translateX(var(--word-two-x,0));color:#fff;text-shadow:0 2px 40px #31313030}.cinema-word-three{opacity:var(--word-three-opacity,0);transform:translateX(var(--word-three-x,0));color:#fff;text-shadow:0 2px 40px #31313030}.cinema-chapters{position:absolute;z-index:6;right:6%;top:88px;display:flex;gap:22px;font-size:12px;color:#313130}.cinema-chapters span{padding-top:10px;border-top:2px solid currentColor;min-width:70px}.cinema-chapters span:nth-child(1){opacity:var(--chapter-one,1)}.cinema-chapters span:nth-child(2){opacity:var(--chapter-two,.35)}.cinema-chapters span:nth-child(3){opacity:var(--chapter-three,.35)}.cinema-curtains{position:absolute;inset:0;z-index:7;display:flex;pointer-events:none;overflow:hidden}.cinema-curtains i{flex:1;background:#edebe9;transform:translateY(-101%)}.motion-enabled .cinema-curtains i{animation:cinema-curtain 1.2s cubic-bezier(.76,0,.24,1) both}.motion-enabled .cinema-curtains i:nth-child(2){animation-delay:.08s}.motion-enabled .cinema-curtains i:nth-child(3){animation-delay:.16s}.motion-enabled .cinema-curtains i:nth-child(4){animation-delay:.24s}.hero-motion{display:none;position:absolute;z-index:6;right:6%;top:145px;background:#edebe9f0;border:1px solid #31313040;border-radius:30px;padding:12px 18px;font-size:13px;min-height:44px}.motion-paused .hero-motion{display:block}.motion-enabled .hero-journey{height:270svh!important}.motion-enabled .hero{position:sticky!important;top:0;height:100svh!important;min-height:650px}.motion-enabled .hero-copy{opacity:var(--cinema-title-opacity,1)!important;transform:translateY(var(--cinema-title-y,0))!important}.motion-enabled .cinema-layer{visibility:visible}.motion-paused .cinema-words,.motion-paused .cinema-layer,.motion-paused .cinema-curtains{display:none}.motion-paused .hero-photo img{transform:none!important}.motion-paused .hero-copy{opacity:1!important;transform:none!important}
@keyframes cinema-curtain{from{transform:translateY(0)}to{transform:translateY(-101%)}}
@media(max-width:700px){.hero{height:calc(100svh - 76px);min-height:660px}.motion-enabled .hero-journey{height:245svh!important}.motion-enabled .hero{min-height:620px}.hero-photo img{object-position:72% center}.hero-copy{top:auto!important;bottom:110px!important;left:7%;right:7%;padding:0}.hero h1{font-size:clamp(39px,10.5vw,66px)!important;line-height:1.18;letter-spacing:-.035em;margin-bottom:20px!important}.hero-bottom{flex-direction:column;align-items:start;gap:19px}.hero-bottom p{font-size:14px!important;max-width:320px;line-height:1.7}.hero .pill{width:100%;padding:17px 23px;min-height:56px}.hero-topline{padding:22px 7%;font-size:10px!important}.cinema-chapters{left:7%;right:7%;top:65px;gap:16px;justify-content:space-between;font-size:10px}.cinema-chapters span{min-width:65px}.cinema-word{font-size:21vw;letter-spacing:-.04em}.cinema-words{padding-bottom:8vh}.cinema-shade{background:linear-gradient(180deg,#edebe930 0%,#edebe900 20%,#edebe91c 40%,#edebe9cc 65%,#edebe9fa 100%)}.cinema-belong img{object-position:42% center}.hero-motion{top:120px;right:7%;font-size:12px}.scroll-cue{bottom:28px;left:7%;right:7%}}


/* journey.css */
/* One continuous material: photographic water, opening space, orbiting rituals. */
.practices.section{padding:0 0 7rem;overflow:visible;background:#EDEBE9}
.practice-stage{padding:3rem 4vw 1.5rem;box-sizing:border-box;background:#EDEBE9}
.practice-stage .section-heading{margin-bottom:1.6rem;align-items:center}
.practice-stage .slider-nav{display:flex;flex-direction:row;flex-shrink:0}
.practice-stage h2{font-size:clamp(2rem,4vw,4rem);max-width:22ch}
.practice-theatre{position:relative;min-height:500px;height:63svh;overflow:hidden;background:#dedbd6;isolation:isolate}
.practice-visual,.practice-visual>img,.practice-water,.practice-water canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.practice-visual>img{object-position:center 42%}
.practice-water{pointer-events:none}
.practice-theatre:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(237,235,233,.96),rgba(237,235,233,.72) 25%,transparent 65%);z-index:1;pointer-events:none}
.practice-copy{position:absolute;z-index:2;left:4vw;bottom:3rem;width:38%;max-width:550px}
.practice-copy h3{font-family:Prata,serif;font-size:clamp(2.8rem,5.2vw,5.6rem);line-height:1.1;margin:1rem 0;text-wrap:balance}
.practice-copy p{font-size:17px;max-width:29ch;line-height:1.6;margin-bottom:1.4rem}
.practice-duration{font-size:14px}
.practice-count{position:absolute;right:2rem;top:1.5rem;z-index:2;background:#edebe9;padding:.55rem .8rem;font-variant-numeric:tabular-nums}
.practices .class-track{display:flex;flex-wrap:wrap;gap:0 1.8rem;padding:.7rem 0 0;margin:0;overflow:visible;scroll-snap-type:none}
.class-track>button{background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0;color:#313130;font:inherit;font-size:14px;padding:.85rem 0;cursor:pointer;min-height:44px}
.class-track>button[aria-pressed=true]{border-color:#313130;font-weight:700}
.class-track>button:hover{border-color:#8ba99d}
.motion-enabled .practices{height:350svh;padding-bottom:0}
.motion-enabled .practice-stage{position:sticky;top:0;min-height:100svh}
.studio{perspective:1200px}
.motion-enabled .studio-photo{clip-path:ellipse(var(--portal-x,50%) var(--portal-y,50%) at 50% 50%);transform:rotateY(var(--club-turn,0deg))!important;will-change:clip-path}
.motion-enabled .studio-copy h2{transform:translateY(var(--club-title-y,0px));}
.phone-scene{perspective:1400px;isolation:isolate}
.motion-enabled .phone{transform:translateY(var(--phone-y,0px)) rotateY(var(--phone-turn,0deg)) rotateZ(var(--phone-rotation,0deg))!important;z-index:3;position:relative}
.ritual-fan{position:absolute;inset:0;pointer-events:none;z-index:1}
.ritual-fan img{position:absolute;width:42%;height:48%;object-fit:cover;left:29%;top:26%;border-radius:5px;box-shadow:0 22px 45px #31313022;opacity:0}
.motion-enabled .ritual-fan img{opacity:var(--fan-opacity,0);transform:translateX(calc(var(--fan-open,0px) * var(--side))) translateY(calc(var(--fan-rise,0px) * var(--side))) rotate(calc(var(--fan-angle,0deg) * var(--side)));}
.closing{position:relative;isolation:isolate;overflow:hidden}
.closing-water{position:absolute;width:110%;aspect-ratio:1;left:-5%;top:50%;border:1px solid #9ab8ac;border-radius:50%;z-index:-1;pointer-events:none;opacity:.5;transform:translateY(-50%) scale(var(--closing-wave,.5))}
.closing-water:before,.closing-water:after{content:'';position:absolute;inset:12%;border:1px solid #9ab8ac;border-radius:50%}.closing-water:after{inset:25%}
.motion-enabled .closing h2{transform:translateY(var(--closing-lift,0px))}
.motion-paused .closing-water{display:none}
@media(max-width:700px){
 .practice-stage{padding:1.5rem 5vw 1rem}.practice-stage .section-heading{gap:1rem;margin-bottom:1rem}.practice-stage h2{font-size:1.9rem}.practice-stage .round{width:40px;height:40px;min-width:40px}.practice-stage .slider-nav{gap:5px}
 .practice-theatre{height:62svh;min-height:420px}.practice-copy{left:6%;bottom:1.5rem;width:88%;max-width:none}.practice-copy h3{font-size:clamp(2.1rem,9vw,3.3rem);max-width:16ch;margin:.5rem 0}.practice-copy p{font-size:15px;margin-bottom:1rem;max-width:30ch}.practice-copy .pill{min-height:44px;padding:10px 16px}.practice-duration{font-size:13px}.practice-count{right:.8rem;top:.8rem;font-size:12px}
 .practice-theatre:after{background:linear-gradient(0deg,#edebe9 0%,rgba(237,235,233,.96) 18%,rgba(237,235,233,.6) 42%,transparent 72%)}
 .practices .class-track{gap:0 1rem}.class-track>button{font-size:12px;padding:.5rem 0;min-height:38px}.motion-enabled .practices{height:370svh}.motion-enabled .practice-stage{min-height:100svh}
 .ritual-fan img{width:40%;height:40%;left:30%;top:30%}
}
@media(max-height:740px) and (max-width:700px){.practice-theatre{height:56svh;min-height:330px}.practice-copy h3{font-size:2rem}.practice-copy p{margin:0 0 .7rem}.practice-stage h2{font-size:1.6rem}.practice-stage{padding-top:1rem}.class-track>button{min-height:34px;padding:.3rem 0}}

/* immersive.css */
/* Bâoli: descend into the photograph, choose a rhythm, return to the water. */
.practice-stage .section-heading{padding-right:0}
.practice-stage{padding:2rem 4vw 1rem}
.practice-stage h2{font-size:clamp(2rem,3.1vw,3.4rem)}
.practice-theatre{height:58svh;min-height:400px}
.practice-copy{bottom:2rem}
.practice-copy h3{font-size:clamp(2.5rem,4.7vw,5rem)}
.practice-copy p{font-size:16px}
.practices .class-track{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:16px;padding:16px 0 5px;perspective:1000px}
.class-track>button{display:flex;flex-direction:column;align-items:stretch;gap:9px;text-align:left;font-size:13px;line-height:1.3;padding:0 0 8px;min-width:0;border-bottom:2px solid transparent;transition:transform .5s cubic-bezier(.16,1,.3,1),border-color .2s}
.practice-thumb{display:block;height:clamp(52px,6vw,86px);overflow:hidden;background:#d8d4ce}
.practice-thumb img{width:100%;height:100%;object-fit:cover;filter:saturate(.35);transition:filter .4s,transform .6s cubic-bezier(.16,1,.3,1)}
.class-track>button[aria-pressed=true] .practice-thumb img{filter:none;transform:scale(1.1)}
.motion-enabled .class-track>button[aria-pressed=true]{transform:translateY(-7px)}
.class-track>button:focus-visible{outline:2px solid #313130;outline-offset:4px}
.practice-theatre{touch-action:pan-y}
.practice-theatre:before{content:'';position:absolute;inset:0;z-index:3;pointer-events:none;border:1px solid #31313015}
.practice-duration{display:inline-block}
.practice-count{border-radius:50%;width:64px;height:64px;display:grid;place-items:center;padding:0;font-size:13px}
.practice-copy .pill{width:auto}
.studio.section{display:block;padding:0;background:#edebe9;perspective:none}
.studio-stage{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;align-items:center;padding:6rem 7%;position:relative;overflow:hidden}
.studio-stage .studio-photo{border-radius:0;max-height:none}
.studio-copy{position:relative;z-index:2}
.studio-copy h2{font-size:clamp(3.5rem,6vw,6rem);line-height:1.08}
.studio-values>div>span{display:none}
.motion-enabled .studio.section{height:210svh}
.motion-enabled .studio-stage{position:sticky;top:0;height:100svh;min-height:700px;padding:4vw 7%;display:flex;align-items:center}
.motion-enabled .studio-stage .studio-photo{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;border-radius:0;transform:none!important;clip-path:inset(var(--club-inset,22%) round var(--club-radius,40%));transition:none}
.motion-enabled .studio-photo img{height:100%;object-position:70% center;transform:scale(var(--club-zoom,1.15))!important}
.motion-enabled .studio-photo:after{inset:0;background:linear-gradient(90deg,#edebe9f5 0%,#edebe9cc 32%,#edebe900 72%)}
.motion-enabled .studio-copy{max-width:460px;opacity:var(--club-copy-opacity,1);transform:translateY(var(--club-copy-rise,0px))}
.motion-enabled .studio-copy h2{transform:none}
.studio-values{max-width:350px}
.photo-caption{font-size:12px}
.people-image{isolation:isolate}
.people-image>img{filter:none}
.people-shutter{position:absolute;inset:0;overflow:hidden;pointer-events:none;background:#edebe9;transform-origin:50% 100%;z-index:1;display:none}
.people-shutter img{width:100%;height:100%;object-fit:cover}
.motion-enabled .people-shutter{display:block;transform:translateY(var(--shutter-y,0px))}
.people-shutter:nth-of-type(1){clip-path:inset(0 66.666% 0 0)}
.people-shutter:nth-of-type(2){clip-path:inset(0 33.333% 0 33.333%)}
.people-shutter:nth-of-type(3){clip-path:inset(0 0 0 66.666%)}
.motion-enabled .people-image>img{opacity:var(--people-base,0)}
.people-image .image-label{z-index:2;font-size:12px}
.motion-enabled .people-image{transform:perspective(1400px) rotateY(var(--people-turn,0deg))!important}
.app-section{overflow:hidden}
.motion-enabled .app-steps>span{transform:translateX(var(--step-x,0px));opacity:var(--step-opacity,1)}
.app-steps>span{transition:color .25s}
.app-steps>span.is-current b{background:#9FD3C7;color:#313130;border-radius:50%;width:32px;height:32px;display:inline-grid;place-items:center}
.faq-heading{align-self:start}
.motion-enabled .faq-heading{position:sticky;top:3rem}
.faq-list details{position:relative}
.faq-list details:before{content:'';position:absolute;top:-1px;left:0;width:100%;height:2px;background:#313130;transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.16,1,.3,1)}
.faq-list details[open]:before{transform:scaleX(1)}
.faq-list details[open] summary{font-weight:600}
.faq-list details>p{font-size:16px}
.closing.section{min-height:85svh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#edebe9;padding:6rem 7%;isolation:isolate}
.closing-photo{position:absolute;inset:0;z-index:-2;overflow:hidden}
.closing-photo>img{width:100%;height:100%;object-fit:cover;object-position:70% center}
.closing:after{content:'';position:absolute;inset:0;background:#edebe9bb;z-index:-1;pointer-events:none}
.closing h2{font-size:clamp(3rem,7vw,6rem);line-height:1.12;max-width:18ch}
.closing h2 em{color:#313130}
.closing .large{background:#edebe9;border-color:#313130}
.closing-water{display:none}
.material-water{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.motion-paused .material-water{display:none}
.motion-enabled .footer-logo{transform:translateY(var(--footer-rise,0px));clip-path:inset(var(--footer-cut,0%) 0 0)}
.motion-paused .people-image>img{opacity:1}
.closing h2{letter-spacing:-.025em}
.hero-topline,.scroll-cue,.phone-caption,.footer-bottom,.footer-bottom .motion-toggle{font-size:12px}
.footer-bottom a,.footer-bottom button{min-height:44px;display:inline-flex;align-items:center}
@media(max-width:700px){
 .practice-stage{padding:1.4rem 5vw 1rem}.practice-stage h2{font-size:1.85rem}.practice-stage .section-heading{margin-bottom:1.1rem}.practice-stage .round{min-width:44px;width:44px;height:44px}
 .practice-theatre{height:57svh;min-height:370px}.practice-copy{bottom:1.3rem;left:6%;width:88%}.practice-copy h3{font-size:clamp(2rem,8vw,2.7rem)}.practice-copy p{font-size:16px;line-height:1.4;max-width:32ch}.practice-count{height:48px;width:48px}
 .practices .class-track{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:12px;padding:12px 2px 10px;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#a7b8af transparent}
 .class-track>button{flex:0 0 108px;font-size:13px;min-height:105px;scroll-snap-align:center}.practice-thumb{height:60px}.motion-enabled .class-track>button[aria-pressed=true]{transform:translateY(-3px)}
 .studio-stage{grid-template-columns:1fr;padding:5rem 7%;gap:2.5rem}.studio-copy h2{font-size:3.4rem}
 .motion-enabled .studio.section{height:185svh}.motion-enabled .studio-stage{height:100svh;min-height:740px;padding:3rem 7%;align-items:flex-end}
 .motion-enabled .studio-photo img{object-position:70% center}
 .motion-enabled .studio-photo:after{background:linear-gradient(0deg,#edebe9 3%,#edebe9ee 30%,#edebe975 58%,#edebe900 84%)}
 .motion-enabled .studio-copy{max-width:100%;padding-bottom:1.5rem}.studio-copy>p{font-size:16px}.studio-values{margin-top:1rem}.studio-values>div{padding:8px 0}.photo-caption{top:1.5rem;bottom:auto;left:7%;right:7%;color:#313130}.photo-caption>span:last-child{font-size:11px}
 .people{padding-top:5rem;padding-bottom:5rem}.people-image{max-height:520px;aspect-ratio:4/5}
 .motion-enabled .faq-heading{position:static}.closing.section{min-height:75svh}.closing h2{font-size:clamp(2.8rem,11vw,4rem)}
}
@media(max-height:760px){.motion-enabled .practices{height:auto}.motion-enabled .practice-stage{position:relative;min-height:0}.practice-theatre{min-height:350px}.motion-enabled .studio.section{height:auto}.motion-enabled .studio-stage{position:relative;min-height:800px}.class-track>button{font-size:13px}}


/* Soft optical surfaces keep the photography and the brand typography in focus. */
.glass-control{background:linear-gradient(135deg,#ffffffcf,#edebe9e8);color:#313130;border:1px solid #ffffffb0;box-shadow:0 8px 28px #31313012,inset 0 1px 0 #ffffffd9;backdrop-filter:blur(16px) saturate(1.12);-webkit-backdrop-filter:blur(16px) saturate(1.12);isolation:isolate;position:relative;overflow:hidden}
.glass-control:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at var(--glint-x,30%) var(--glint-y,0%),#ffffffc9,transparent 65%);opacity:.65}
.practice-stage .slider-nav{padding:5px;border-radius:60px;gap:3px}
.practice-stage .slider-nav .round{border:0;min-width:44px;width:44px;height:44px}
.practice-stage .slider-nav .round:hover{background:#3131300d;color:#313130}
.practice-copy .pill.glass-control{border-color:#31313025;background:linear-gradient(135deg,#ffffffdf,#edebe9e8);font-weight:600}
.closing .large.glass-control{background:linear-gradient(135deg,#ffffffe6,#edebe9cc);border-color:#ffffffc0;color:#313130}
.mobile-dock.glass-control{position:fixed;background:#edebe9e8;border-color:#ffffffb0}
.motion-enabled .glass-control{transition:scale .35s cubic-bezier(.16,1,.3,1),box-shadow .35s,transform .4s,opacity .4s}
.motion-enabled .glass-control:active{scale:.98}
.motion-enabled .glass-control:focus-within{box-shadow:0 8px 28px #31313018,inset 0 1px 0 #fff}
.hero h1{font-size:clamp(58px,6.8vw,100px);letter-spacing:-.025em;line-height:1.18}
.hero h1 em,h2 em{font-style:normal}
.cinema-word{font-size:clamp(85px,14vw,210px);letter-spacing:-.025em}
.studio-copy h2{font-size:clamp(3.1rem,5.1vw,5.1rem);line-height:1.14;letter-spacing:-.025em}
.people h2,.app-section h2,.faq h2{font-size:clamp(2.6rem,4.6vw,4.8rem);line-height:1.18;letter-spacing:-.025em;text-wrap:balance}
.practice-copy h3{line-height:1.15;letter-spacing:-.02em}
.people-copy>p,.studio-copy>p,.app-copy>p{line-height:1.8;text-wrap:pretty}
.people-shutter{transition:transform .16s linear}
.closing:before{display:none}
.motion-enabled .app-dialog[open]{animation:glass-arrive .48s cubic-bezier(.16,1,.3,1) both}
@keyframes glass-arrive{from{opacity:0;transform:translateY(10px) scale(.975)}to{opacity:1;transform:none}}
@media(max-width:700px){
 .hero h1{font-size:clamp(38px,10vw,64px)!important;letter-spacing:-.025em;line-height:1.22}
 .cinema-word{font-size:19vw}
 .studio-copy h2{font-size:3.05rem}
 .people h2,.app-section h2,.faq h2{font-size:clamp(2.15rem,8.7vw,3.3rem)}
 .practice-stage .slider-nav{padding:3px}.practice-stage .slider-nav .round{min-width:44px;width:44px;height:44px}
 .glass-control{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
}
.motion-paused .glass-control:before{display:none}

/* practice-deck.css */
/* A tactile photographic carousel: depth and spring motion, separate from the water chapters. */
.deck-ready .practice-visual{display:none}
.deck-ready .practice-theatre{background:transparent;overflow:hidden;isolation:isolate;height:660px;min-height:0;display:flex;flex-direction:column}
.deck-ready .practice-theatre:before,.deck-ready .practice-theatre:after{display:none}
.practice-deck{position:relative;flex:1;min-height:330px;perspective:1400px;isolation:isolate;touch-action:pan-y;user-select:none}
.deck-card{position:absolute;left:50%;top:20px;width:min(43vw,450px);height:calc(100% - 45px);padding:0;border:0;border-radius:22px;overflow:hidden;transform:translateX(calc(-50% + var(--deck-x,0%))) translateZ(var(--deck-z,0px)) rotateY(var(--deck-angle,0deg)) scale(var(--deck-scale,1));opacity:var(--deck-opacity,1);background:#dedbd6;box-shadow:0 20px 32px #31313016;cursor:pointer;backface-visibility:hidden;transform-origin:50% 50%;color:#313130;text-align:left;-webkit-tap-highlight-color:transparent}
.deck-card>img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;pointer-events:none}
.deck-card:after{content:'';position:absolute;inset:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 0 1px #ffffff70}
.deck-caption{position:absolute;left:5%;right:5%;bottom:5%;padding:19px 22px;border-radius:20px;background:#edebe9c9;backdrop-filter:blur(16px) saturate(1.15);-webkit-backdrop-filter:blur(16px) saturate(1.15);box-shadow:inset 0 1px 0 #ffffffd9,0 4px 14px #3131300b;pointer-events:none;transform:translateY(0);transition:opacity .3s}
.deck-caption>span{display:block;font-size:11px;letter-spacing:.04em;margin-bottom:8px}
.deck-caption strong{display:block;font:clamp(22px,2.5vw,34px)/1.16 Prata,serif;letter-spacing:-.015em}
.deck-card:not([aria-pressed=true]) .deck-caption{opacity:.7}
.deck-card:focus-visible{outline:3px solid #313130;outline-offset:5px}
.deck-ready .practice-copy{position:relative;left:auto;bottom:auto;width:100%;max-width:none;text-align:center;padding:0 8px 8px;min-height:130px}
.deck-ready .practice-copy h3{display:none}
.deck-ready .practice-copy p{font-size:16px;line-height:1.5;max-width:48ch;margin:8px auto 14px}
.deck-ready .practice-duration{font-size:13px}
.deck-ready .practice-copy .pill{min-height:46px;padding:11px 24px;min-width:180px}
.deck-ready .practice-count{top:20px;right:2vw;z-index:30;background:#edebe9a8;width:52px;height:52px}
.deck-ready .practices .class-track{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;padding:12px 0 4px;perspective:none}
.deck-ready .class-track .practice-thumb{display:none}
.deck-ready .class-track>button{flex:0 1 auto;min-height:44px;padding:9px 13px;border-radius:24px;border:1px solid transparent;display:block;font-size:13px;text-align:center;transform:none!important}
.deck-ready .class-track>button[aria-pressed=true]{background:#ffffffa6;border-color:#ffffffd9;box-shadow:0 4px 14px #3131300b;font-weight:600}
.deck-ready .practice-stage{padding-top:2rem;padding-bottom:1.5rem}
.deck-ready .practice-stage .section-heading{margin-bottom:6px}
.deck-ready.motion-enabled .practice-stage{min-height:100svh}
.deck-ready.motion-enabled .practices{height:145svh}
@media(min-height:850px){.deck-ready .practice-theatre{height:69svh}}
@media(max-width:700px){
 .deck-ready .practice-stage{padding:1.5rem 0 1rem}.deck-ready .practice-stage .section-heading{padding:0 6%;gap:14px}.deck-ready .practice-stage h2{font-size:1.7rem;line-height:1.2}
 .deck-ready .practice-theatre{height:610px;min-height:0}.practice-deck{min-height:350px;perspective:1100px}.deck-card{width:70vw;max-width:340px;top:22px;height:calc(100% - 42px);border-radius:20px}
 .deck-caption{padding:15px 17px;border-radius:17px}.deck-caption strong{font-size:25px}.deck-caption>span{font-size:10px;line-height:1.4}
 .deck-ready .practice-copy{padding:4px 7% 10px;min-height:157px}.deck-ready .practice-copy p{font-size:15px;margin:8px auto 12px;max-width:31ch}.deck-ready .practice-copy .pill{width:auto}
 .deck-ready .practices .class-track{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;padding:5px 6% 10px;gap:5px}.deck-ready .class-track>button{white-space:nowrap;flex-shrink:0;min-height:44px;padding:10px 14px}
 .deck-ready .practice-count{right:4%;top:24px;font-size:12px;width:44px;height:44px}
}
@media(max-height:820px){.deck-ready.motion-enabled .practices{height:auto}.deck-ready.motion-enabled .practice-stage{position:relative;min-height:0}.deck-ready .practice-theatre{height:560px}.practice-deck{min-height:320px}}
.motion-paused .deck-card{transition:none}.motion-paused .deck-card:not([aria-pressed=true]){opacity:.65}
.deck-lens{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.deck-card.has-lens .deck-caption{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}

/* rituals.css */
/* Photography stays intact. The type, curtains and abstract water carry the spectacle. */
.people-image>img,.motion-enabled .people-image>img{opacity:1;transform:none;filter:none}
.motion-enabled .people-image{transform:none!important}
.people-image:after{content:'';position:absolute;inset:0;background:#edebe9;transform:translateX(var(--people-reveal,102%));pointer-events:none;z-index:1;border-radius:0 0 45% 0}
.motion-paused .people-image:after{display:none}
.people-image .image-label{z-index:2}
.deck-caption{background:#edebe9e0;backdrop-filter:none;-webkit-backdrop-filter:none}
.deck-caption:after{content:'';position:absolute;inset:0;border:1px solid #ffffffb0;border-radius:inherit;pointer-events:none}
.type-line{display:block;overflow:hidden;padding-bottom:.12em;margin-bottom:-.12em}
.type-line>span{display:block}
.motion-enabled .intro .type-line>span{transform:translateX(calc(var(--type-drift,0px) * var(--line-side,1)))}
.motion-enabled .studio-copy .type-line>span{transform:translateY(var(--type-lift,0%));opacity:var(--type-visible,1)}
.intro{overflow:hidden;position:relative}
.intro-mark{position:relative}
.intro-mark:before,.intro-mark:after{content:'';position:absolute;left:50%;top:50%;width:190px;height:190px;border:1px solid #9FD3C7;border-radius:50%;pointer-events:none;transform:translate(-50%,-50%) scale(var(--mark-ring,.4));opacity:var(--mark-opacity,.4)}
.intro-mark:after{width:310px;height:310px;border-color:#DAB4C9}
.marquee{height:clamp(260px,40vw,460px);position:relative;border:0;background:#edebe9;display:flex;flex-direction:column;justify-content:center;gap:1rem;isolation:isolate}
.marquee>div{position:relative;animation:none!important;gap:3rem;transform:none;white-space:nowrap;will-change:auto}
.marquee>div:nth-child(2){opacity:.5}
.marquee span,.marquee em{font:clamp(45px,8vw,115px)/1.2 Prata,serif;letter-spacing:-.025em;color:#313130}
.marquee em{font-family:Manrope,sans-serif;font-weight:400}
.motion-enabled .marquee>div:first-child{transform:translateX(var(--ribbon-one,-10%)) rotate(var(--ribbon-angle,-8deg));transform-origin:50% 50%}
.motion-enabled .marquee>div:nth-child(2){transform:translateX(var(--ribbon-two,-15%)) rotate(calc(var(--ribbon-angle,-8deg) * -1));transform-origin:50% 50%}
.closing-photo{background:#edebe9}
.closing:after{display:none}
.closing.section{min-height:95svh;overflow:hidden}
.closing h2{position:relative;z-index:2}
.closing .large{z-index:2}
.ritual-water{width:100%;height:100%;position:absolute;inset:0;pointer-events:none}
.closing .type-line>span{transform:translateY(var(--closing-type,0%))}
.motion-paused .closing .type-line>span{transform:none}
.motion-paused .intro-mark:before,.motion-paused .intro-mark:after{display:none}
@media(max-width:700px){.marquee{height:270px;gap:1.3rem}.marquee span,.marquee em{font-size:57px}.marquee>div{gap:2rem}.closing.section{min-height:80svh}.intro-mark:before{width:120px;height:120px}.intro-mark:after{width:210px;height:210px}}


/* silk.css */
/* The closing gesture unfolds like silk. Photography remains optically intact. */
.closing.section{min-height:760px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr auto;align-items:center;justify-items:start;padding:5rem 7%;gap:1.8rem;overflow:hidden}
.closing h2{grid-column:1;grid-row:1;align-self:end;text-align:left;font-size:clamp(3rem,5.4vw,5.4rem);max-width:12ch;transform:none!important}
.closing .large{grid-column:1;grid-row:2;align-self:start;margin:0 0 4rem}
.closing-photo{position:relative;grid-column:2;grid-row:1 / 3;inset:auto;width:100%;aspect-ratio:1;z-index:0;overflow:visible;background:transparent;pointer-events:none}
.silk-surface{position:absolute;inset:0;width:100%;height:100%}
.closing-photo:empty:before{content:'';position:absolute;inset:12%;border-radius:47% 53% 65% 35% / 60% 35% 65% 40%;background:linear-gradient(140deg,#fff,#DAB4C9 50%,#edebe9);box-shadow:15px 24px 60px #3131300c}
.closing .type-line>span{transform:none!important}
.motion-enabled .footer-logo{clip-path:none!important;transform:none!important}
.people-image{border-radius:46% 46% 3px 3px;overflow:hidden}
.deck-card{border-radius:44% 44% 12px 12px;box-shadow:0 20px 36px #31313010}
.deck-caption{border-radius:12px;background:#edebe9ed;padding:16px 20px;box-shadow:none}
.deck-caption>span{font-size:12px;letter-spacing:0;line-height:1.5}
.deck-card:not([aria-pressed=true]) .deck-caption{opacity:.55}
.marquee>div:nth-child(2){opacity:.3}
.marquee em{font-family:Prata,serif;font-style:normal}
.motion-enabled .people-image:after{transition:transform .15s linear}
.motion-paused .people-image:after{display:none}
@media(max-width:700px){
 .closing.section{min-height:0;display:flex;flex-direction:column;gap:1.2rem;padding:2rem 7% 4rem}
 .closing-photo{width:min(100%,430px);aspect-ratio:1;order:0;flex:none;margin:0 0 -1.5rem}
 .closing h2{order:1;text-align:center;align-self:center;font-size:clamp(2.45rem,10vw,3.5rem);max-width:14ch;margin:0}
 .closing .large{order:2;align-self:center;margin:1rem 0 0;width:68px;height:68px}
 .deck-ready.motion-enabled .practices{height:auto}
 .deck-ready.motion-enabled .practice-stage{position:relative;min-height:0}
 .deck-ready .practice-theatre{height:570px}
 .practice-deck{min-height:310px}
 .deck-card{width:73vw;max-width:340px}
 .deck-caption strong{font-size:24px}
 .deck-caption>span{font-size:11px}
 .motion-enabled .studio.section{height:auto}
 .motion-enabled .studio-stage{position:relative;height:auto;min-height:0;padding:3rem 7%;display:flex;flex-direction:column;gap:2.5rem;align-items:stretch}
 .motion-enabled .studio-stage .studio-photo{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:4/5;clip-path:none;overflow:hidden;border-radius:46% 46% 3px 3px}
 .motion-enabled .studio-photo img{transform:none!important;height:100%;object-position:65% center}
 .motion-enabled .studio-photo:after{display:none}
 .motion-enabled .studio-copy{opacity:1;transform:none;padding:0}
 .motion-enabled .studio-copy h2{transform:none}
 .photo-caption{top:auto;bottom:1rem;left:6%;right:6%;padding:.5rem;background:#edebe9e8}
 .phone-scene{min-height:500px}
 .marquee{height:210px}
 .marquee span,.marquee em{font-size:46px}
}
@media(max-width:390px){.deck-ready .practice-theatre{height:535px}.practice-deck{min-height:290px}.deck-ready .practice-copy p{font-size:15px}.closing h2{font-size:2.45rem}}

/* Restore the accepted full-frame abstract Liquid finale; retain V14 mobile/reveal fixes. */
.closing.section{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:95svh;padding:6rem 7%;gap:2rem}
.closing-photo{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;z-index:-2;margin:0;overflow:hidden;background:#edebe9}
.closing-photo:empty:before{display:none}
.closing h2{align-self:center;text-align:center;font-size:clamp(3rem,7vw,6rem);max-width:18ch;margin:0}
.closing .large{align-self:center;margin:0}
@media(max-width:700px){.closing.section{min-height:80svh;padding:4rem 7%}.closing h2{font-size:clamp(2.8rem,11vw,4rem)}.closing-photo{position:absolute;inset:0;width:100%;height:100%;margin:0}}

/* scene-direction.css */
/* Photograph-sized scenes replace the row of floating cards. */
.practice-cinema-ready .practices,.practice-cinema-ready.motion-enabled .practices{height:auto;padding:5rem 4% 4rem}
.practice-cinema-ready .practice-stage,.practice-cinema-ready.motion-enabled .practice-stage{position:relative;padding:0;min-height:0;height:auto}
.practice-cinema-ready .practice-stage .section-heading{max-width:1400px;margin:0 auto 2rem;align-items:end}
.practice-cinema-ready .practice-stage h2{font-size:clamp(2.6rem,5vw,5rem);max-width:14ch;line-height:1.1}
.practice-cinema-ready .practice-theatre{height:auto!important;overflow:visible}
.practice-cinema{perspective:none;min-height:0;flex:none;width:100%}
.cinema-open{display:block;position:relative;width:100%;height:clamp(480px,75svh,850px);padding:0;border:0;overflow:hidden;background:#dedad5;isolation:isolate;touch-action:pan-y;cursor:pointer;text-align:left;color:#313130}
.cinema-still{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%;pointer-events:none}
.cinema-still.incoming{z-index:1;clip-path:inset(0 100% 0 0)}
.cinema-seam{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}
.cinema-open:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#edebe9e8);z-index:3;pointer-events:none}
.cinema-name{position:absolute;z-index:4;left:4%;bottom:4.3rem;font:clamp(3rem,7vw,6rem)/1.05 Prata,serif;letter-spacing:-.035em;max-width:90%;text-wrap:balance}
.cinema-invitation{position:absolute;z-index:4;left:4%;bottom:2rem;font-size:14px;border-bottom:1px solid #31313070;padding-bottom:5px}
.cinema-hint{font-size:12px;margin:1rem 0;text-align:right}
.practice-cinema-ready .practice-copy{display:none}
.practice-cinema-ready .class-track{display:flex;gap:0;overflow-x:auto;padding:0;margin-top:1rem;scrollbar-width:thin}
.practice-cinema-ready .class-track>button{flex:1 0 auto;display:block;padding:1.1rem 1.5rem;font-size:16px;transform:none!important;border-bottom:1px solid #31313033;transition:background .25s}
.practice-cinema-ready .class-track>button[aria-pressed=true]{background:#313130;color:#edebe9;border-color:#313130}
.practice-cinema-ready .practice-thumb,.practice-cinema-ready .practice-count{display:none}
.practice-cinema-ready .class-track>button:focus-visible{outline-offset:-4px}
/* An expanding photograph becomes the room; text arrives only after it opens. */
.motion-enabled .studio.section{height:180svh}
.motion-enabled .studio-stage{position:sticky;top:0;height:100svh;min-height:620px;padding:5rem 6%;display:flex;align-items:end;overflow:hidden;isolation:isolate}
.motion-enabled .studio-stage .studio-photo{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;border-radius:0;clip-path:polygon(var(--room-aperture,0% 0%,100% 0%,100% 100%,0% 100%));box-shadow:none;z-index:-1}
.motion-enabled .studio-stage .studio-photo img{width:100%;height:100%;object-fit:cover;object-position:65% center;transform:none!important}
.motion-enabled .studio-stage .studio-photo:after{display:block;position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#edebe9ef)}
.motion-enabled .studio-copy{max-width:650px;padding:0;opacity:1;transform:none}
.motion-enabled .studio-copy h2{font-size:clamp(3rem,5.5vw,5.5rem);transform:none}
.motion-enabled .studio-copy .type-line>span{transform:none;opacity:1}
.motion-enabled .studio-copy>p,.motion-enabled .studio-values{opacity:var(--room-copy,1)}
.studio-stage .photo-caption{top:2rem;bottom:auto;left:6%;right:auto;background:#edebe9dd;padding:.5rem .8rem}
.phone-scene .orbit{display:block}
.motion-enabled .phone-scene .phone{transform:translateY(var(--device-rise,0px)) rotateY(var(--device-turn,0deg)) rotateZ(var(--device-lean,0deg));transition:none}
@media(max-width:700px){
 .practice-cinema-ready .practices,.practice-cinema-ready.motion-enabled .practices{padding:3rem 0}
 .practice-cinema-ready .practice-stage .section-heading{padding:0 6%;margin-bottom:1.5rem}
 .practice-cinema-ready .practice-stage h2{font-size:2.6rem}
 .cinema-open{height:68svh;min-height:430px;max-height:680px}
 .cinema-name{font-size:clamp(2.8rem,12vw,4rem);left:6%;bottom:4.8rem}
 .cinema-invitation{left:6%}.cinema-hint{padding:0 6%;text-align:left}
 .practice-cinema-ready .class-track{padding:0 6%;margin-top:0;gap:0}
 .practice-cinema-ready .class-track>button{font-size:14px;padding:.9rem 1.2rem}
 .motion-enabled .studio.section{height:155svh}
 .motion-enabled .studio-stage{position:sticky;height:100svh;min-height:600px;padding:3rem 6%;justify-content:end;gap:0}
 .motion-enabled .studio-stage .studio-photo{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;border-radius:0}
 .motion-enabled .studio-copy h2{font-size:2.9rem}
 .motion-enabled .studio-copy>p{font-size:15px;line-height:1.55}
 .studio-values{display:none}
}

@media(max-width:700px){.motion-enabled .studio-copy{padding-bottom:55px}.motion-enabled .studio-copy h2{font-size:2.65rem}.motion-enabled .studio-copy>p{margin-bottom:0}}

/* water-world.css */
/* The approved closing material now defines the entrance and navigation. */
.water-host{isolation:isolate}.world-water{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
.header{position:fixed;top:12px;left:3%;right:3%;width:94%;height:78px;min-height:0;padding:0 2.5%;border:0;border-radius:50px;background:#edebe9ed;box-shadow:0 12px 28px #31313012;backdrop-filter:none;transform:none!important}
.header.water-drawn{background:transparent;box-shadow:none}
.header>.world-water{z-index:-1}.header .wordmark,.header nav,.header-actions{position:relative;z-index:1}
.header nav{gap:24px}.header-cta{font-size:12px}.header nav a{font-size:13px}
.hero-journey,.motion-enabled .hero-journey{height:210svh!important}
.hero,.motion-enabled .hero{position:sticky;top:0;height:100svh!important;min-height:700px;overflow:hidden;background:#edebe9}
.hero .hero-photo,.hero .cinema-layer{inset:15% 4% 12% 55%!important;clip-path:inset(0 round 48% 48% 8px 8px)!important;z-index:1;visibility:visible!important;border:1px solid #ffffffaa}
.hero .hero-photo img,.hero .cinema-layer img{transform:none!important;object-position:65% center}
.hero .cinema-breathe{clip-path:inset(0 0 var(--breathe-wipe,100%) 0 round 48% 48% 8px 8px)!important;z-index:2}
.hero .cinema-belong{clip-path:inset(0 var(--belong-wipe,100%) 0 0 round 48% 48% 8px 8px)!important;z-index:3}
.hero .cinema-shade,.hero .cinema-curtains{display:none}
.hero .hero-copy,.motion-enabled .hero .hero-copy{top:28%!important;bottom:auto!important;left:6%;right:40%;z-index:5;opacity:1!important;transform:none!important}
.hero h1{font-size:clamp(3.4rem,6.6vw,6.3rem)!important;line-height:1.12;letter-spacing:-.04em}
.hero h1 .line{overflow:visible}.hero h1 .line em{font-style:normal}
.hero-bottom{flex-direction:column;align-items:start;gap:1.8rem;margin-top:2rem}
.hero .pill{min-width:0;width:auto;font-size:13px!important;padding:16px 24px;min-height:52px}
.hero-topline{top:105px;padding:15px 6%}.hero-topline>span:last-child{display:none}
.cinema-chapters{top:auto;bottom:5%;left:56%;right:4%;justify-content:space-between;gap:12px}
.cinema-words{z-index:4;inset:10% 0 0;align-items:end;padding-bottom:14%;opacity:.18}
.cinema-word,.cinema-word-two,.cinema-word-three{color:#313130;text-shadow:none;font-size:16vw}
.hero .scroll-cue{left:6%;right:48%;bottom:5%}
.phone-scene{isolation:isolate;overflow:visible}.phone-scene>.world-water{inset:-10% -8%;width:116%;height:120%;z-index:0;max-width:none}
.phone-scene .phone,.phone-scene .ritual-fan,.phone-scene .phone-caption{z-index:2}.phone-scene .orbit{display:none}
@media(max-width:900px){.header nav{gap:12px}.header nav a{font-size:11px}.header-cta{display:none}}
@media(max-width:700px){
 .header{top:8px;left:3%;right:3%;width:94%;height:68px;padding:0 5%}.header-actions{gap:14px}.header .wordmark{gap:7px}
 .hero,.motion-enabled .hero{min-height:720px}
 .hero-journey,.motion-enabled .hero-journey{height:190svh!important}
 .hero .hero-photo,.hero .cinema-layer{inset:38% 6% 10% 32%!important;clip-path:inset(0 round 48% 48% 6px 6px)!important}
 .hero .cinema-breathe{clip-path:inset(0 0 var(--breathe-wipe,100%) 0 round 48% 48% 6px 6px)!important}
 .hero .cinema-belong{clip-path:inset(0 var(--belong-wipe,100%) 0 0 round 48% 48% 6px 6px)!important}
 .hero .hero-copy,.motion-enabled .hero .hero-copy{top:17%!important;left:6%;right:6%;bottom:auto!important}
 .hero h1{font-size:clamp(2.6rem,11.4vw,4rem)!important;line-height:1.12;margin-bottom:0!important}
 .hero-bottom{margin-top:1rem;gap:1rem}.hero-bottom p{max-width:19ch;font-size:12px!important}.hero .pill{font-size:11px!important;max-width:55%;padding:12px 14px;min-height:46px;background:#313130!important}
 .hero-topline{top:88px;padding:0 6%;font-size:9px!important}.hero .scroll-cue{right:6%;bottom:3%}.cinema-chapters{left:6%;right:auto;bottom:12%;top:auto;flex-direction:column;gap:10px;font-size:9px}.cinema-chapters span{min-width:60px;padding-top:5px}.cinema-words{display:none}
 .phone-scene>.world-water{inset:-5% 0;width:100%;height:110%}
}
.motion-paused .hero-journey{height:auto!important}.motion-paused .hero{position:relative}

@media(max-width:700px){.hero h1{font-size:clamp(2rem,9.5vw,3rem)!important}.hero-bottom p{max-width:22ch}.hero .pill{max-width:57%}}
.hero .cinema-layer{border-radius:48% 48% 8px 8px;overflow:hidden}
.hero .cinema-breathe{clip-path:polygon(var(--water-breathe,0% 0%,0% 0%,0% 100%))!important}
.hero .cinema-belong{clip-path:polygon(var(--water-belong,100% 0%,100% 0%,100% 100%))!important}

/* flow-world.css */
/* V20: photographic scale, liquid boundaries, spatial browsing. */
.header{top:14px;height:66px;background:#edebe9df;backdrop-filter:blur(16px);box-shadow:0 8px 28px #31313012;border:1px solid #ffffffaa}
.header.water-drawn{background:#edebe9df;box-shadow:0 8px 28px #31313012}.header>.world-water{opacity:.32}
.hero-journey,.motion-enabled .hero-journey{height:270svh!important}
.hero,.motion-enabled .hero{min-height:600px;height:100svh!important;background:#edebe9}
.hero>.world-water{display:none}
.hero .hero-photo,.hero .cinema-layer{inset:0!important;border:0;border-radius:0;clip-path:none!important}
.hero .hero-photo img,.hero .cinema-layer img{transform:scale(var(--flow-scale,1))!important;object-position:62% center}
.hero .cinema-breathe{clip-path:polygon(var(--flow-breathe,100% 100%,100% 100%,100% 100%))!important}
.hero .cinema-belong{clip-path:polygon(var(--flow-belong,100% 100%,100% 100%,100% 100%))!important}
.hero .cinema-shade{display:block;z-index:4;background:linear-gradient(180deg,#edebe910 35%,#edebe985 69%,#edebe9f5 100%)}
.hero .hero-copy,.motion-enabled .hero .hero-copy{top:auto!important;bottom:12%!important;left:6%;right:6%;opacity:var(--flow-copy,1)!important;transform:translateY(var(--flow-copy-y,0px))!important}
.hero h1{font-size:clamp(3rem,6.6vw,6rem)!important;line-height:1.13;max-width:1050px;margin-bottom:20px!important;letter-spacing:-.035em}
.hero h1 .line{padding-bottom:0}.hero h1 .line em{font-style:normal}
.hero-bottom{flex-direction:row;align-items:end;justify-content:space-between;margin-top:1.5rem;gap:24px}.hero-bottom p{max-width:34ch;font-size:15px!important}
.hero .pill{max-width:none;min-height:54px;padding:16px 25px;font-size:14px!important}
.hero-topline{display:none}.hero .scroll-cue{bottom:4%;left:6%;right:6%}
.cinema-chapters{left:6%;right:auto;top:108px;bottom:auto;flex-direction:row;color:#313130;background:#edebe9d9;padding:12px 20px;border-radius:40px;gap:25px}
.cinema-chapters span{border:0;padding:0;min-width:0;font-size:11px}
.cinema-words{display:grid;inset:0;align-items:center;padding:0;opacity:1;z-index:5}
.cinema-word{font-size:clamp(5rem,17vw,16rem);color:#fff;text-shadow:0 2px 30px #31313045;letter-spacing:-.035em}
.flow-rim{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none}
.practice-cinema{perspective:1400px;position:relative;padding:0 14%;isolation:isolate}
.practice-cinema .cinema-open{height:70svh;min-height:480px;max-height:800px;border-radius:12px;box-shadow:0 24px 45px #31313022;transform:rotateY(var(--gallery-turn,0deg));transition:transform 1s cubic-bezier(.16,1,.3,1);z-index:2}
.gallery-wing{position:absolute;top:9%;width:28%;height:72%;border:0;padding:0;overflow:hidden;border-radius:12px;box-shadow:0 18px 32px #31313025;background:#dedad5;cursor:pointer;transition:transform 1s cubic-bezier(.16,1,.3,1);transform-style:preserve-3d}
.gallery-wing img{width:100%;height:100%;object-fit:cover;pointer-events:none}.gallery-wing:after{content:'';position:absolute;inset:0;border-radius:inherit;box-shadow:inset 2px 2px 3px #ffffffaa,inset -3px -3px 8px #31313055;background:linear-gradient(115deg,#fff5,transparent 32%,transparent 70%,#9FD3C74d);pointer-events:none}
.gallery-wing.prev{left:0;transform:translateX(-6%) rotateY(32deg) scale(.88)}.gallery-wing.next{right:0;transform:translateX(6%) rotateY(-32deg) scale(.88)}
.gallery-wing:hover,.gallery-wing:focus-visible{transform:translateY(-12px) rotateY(0deg) scale(.92)}
.gallery-wing span{position:absolute;left:10%;right:10%;bottom:20px;padding:10px;background:#edebe9e8;font-size:12px;text-align:left;z-index:1;border-radius:6px}
.practice-cinema.changing .gallery-wing.prev{transform:translateX(-12%) rotateY(42deg) scale(.82)}.practice-cinema.changing .gallery-wing.next{transform:translateX(12%) rotateY(-42deg) scale(.82)}
.cinema-name{font-size:clamp(2.5rem,5vw,4.8rem)}.cinema-hint{position:relative;z-index:3;text-align:center;margin-top:24px}
.practice-cinema-ready .practice-theatre{overflow:hidden;padding:24px 0}.practice-cinema-ready .class-track>button{font-size:14px}
.motion-paused .hero-journey{height:auto!important}.motion-paused .hero .hero-copy{opacity:1!important;transform:none!important}.motion-paused .flow-rim{display:none}.motion-paused .gallery-wing,.motion-paused .cinema-open{transition:none!important}
@media(max-width:700px){
 .header{height:62px;top:8px;padding:0 4%}.header-actions{gap:12px}
 .hero,.motion-enabled .hero{min-height:600px}.hero-journey,.motion-enabled .hero-journey{height:235svh!important}
 .hero .hero-photo img{object-position:64% center}.hero .cinema-breathe img{object-position:52% center}.hero .cinema-belong img{object-position:45% center}
 .hero .hero-copy,.motion-enabled .hero .hero-copy{bottom:13%!important;left:6%;right:6%;top:auto!important}
 .hero h1{font-size:clamp(2.2rem,9.8vw,4rem)!important;line-height:1.16;max-width:100%}
 .hero-bottom{flex-direction:column;gap:18px;align-items:start}.hero-bottom p{max-width:29ch;font-size:13px!important}.hero .pill{width:auto;max-width:100%;font-size:12px!important;min-height:48px}
 .cinema-chapters{top:91px;left:6%;right:auto;gap:18px;padding:10px 16px}.cinema-chapters span{font-size:10px}
 .cinema-words{display:grid;padding-bottom:8vh}.cinema-word{font-size:22vw}
 .hero .scroll-cue{bottom:5%}.hero .cinema-shade{background:linear-gradient(180deg,#edebe910 25%,#edebe940 43%,#edebe9eb 78%,#edebe9 100%)}
 .practice-cinema{padding:0 8%}.practice-cinema .cinema-open{height:61svh;min-height:410px;border-radius:10px}.gallery-wing{width:25%;top:10%;height:70%}.gallery-wing span{display:none}.gallery-wing.prev{left:-8%}.gallery-wing.next{right:-8%}
 .cinema-name{font-size:clamp(2rem,9vw,3rem);bottom:4rem;left:6%}.cinema-invitation{font-size:12px;left:6%}.cinema-hint{font-size:11px}.practice-cinema-ready .practices{padding-left:3%;padding-right:3%}
}
@media(max-height:600px){.hero,.motion-enabled .hero{min-height:520px}.hero h1{font-size:2.6rem!important}.hero-bottom p{display:none}}

/* practice-atlas.css */
/* A photographic instrument: choose a panel and the entire composition opens. */
.atlas-ready .practices{scroll-margin-top:95px}
.atlas-ready .practice-theatre{overflow:visible!important;padding:12px 0 0}
.practice-atlas.practice-deck{display:block;position:relative;inset:auto;width:100%;height:auto;min-height:0;padding:0;perspective:none;transform:none;overflow:visible}
.atlas-panels{display:grid;gap:9px;width:100%;height:clamp(520px,74svh,850px);perspective:1800px;transition:grid-template-columns 1100ms cubic-bezier(.16,1,.3,1);isolation:isolate}
.atlas-panels{touch-action:pan-y}.atlas-panels.atlas-dragging{transition:none;cursor:grabbing}.atlas-dragging .atlas-panel{transition:none!important;cursor:grabbing}.atlas-dragging .atlas-panel:before{display:none}
.atlas-panel{position:relative;display:block;min-width:0;width:100%;height:100%;padding:0;border:0;border-radius:80px 80px 10px 10px;overflow:hidden;background:#dedbd7;text-align:left;color:#313130;cursor:pointer;touch-action:pan-y;box-shadow:0 16px 26px #31313017;transform:translateY(calc(12px * var(--distance)));transition:transform 1100ms cubic-bezier(.16,1,.3,1),border-radius 1100ms cubic-bezier(.16,1,.3,1);isolation:isolate}
.atlas-panel.active{border-radius:12px;transform:translateY(0);z-index:3}
.atlas-panel>img{position:absolute;top:0;left:50%;width:calc(var(--atlas-width,1200px) * .66);max-width:none;height:100%;object-fit:cover;object-position:center;transform:translateX(-50%);pointer-events:none}
.atlas-panel:after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;border-radius:inherit;box-shadow:inset 2px 0 2px #ffffffc0,inset -3px 0 8px #31313035;background:linear-gradient(180deg,transparent 38%,#edebe9a8 68%,#edebe9f5 100%)}
.atlas-panel:before{content:'';position:absolute;inset:0;z-index:4;pointer-events:none;border-radius:inherit;background:linear-gradient(105deg,transparent 40%,#ffffff55 49%,transparent 58%);transform:translateX(-160%)}
.motion-enabled .atlas-panel.active:before{animation:atlas-light 1300ms cubic-bezier(.16,1,.3,1) both}
.atlas-spine{position:absolute;z-index:2;left:50%;bottom:25px;writing-mode:vertical-rl;transform:translateX(-50%) rotate(180deg);font:17px/1.1 Prata,serif;white-space:nowrap;opacity:1;transition:opacity .2s}
.active .atlas-spine{opacity:0}
.atlas-copy{position:absolute;z-index:2;left:6%;right:6%;bottom:30px;display:flex;flex-direction:column;align-items:start;gap:15px;opacity:0;transform:translateY(35px);transition:opacity .18s,transform .3s;pointer-events:none;width:calc(var(--atlas-width,1200px) * .48)}
.active .atlas-copy{opacity:1;transform:translateY(0);transition:opacity .5s .22s,transform .8s .15s}
.atlas-name{display:block;font:clamp(2.6rem,4.6vw,5rem)/1.08 Prata,serif;letter-spacing:-.035em;text-wrap:balance}
.atlas-short{font-size:14px;line-height:1.6;max-width:38ch}.atlas-open{font-size:13px;padding-bottom:6px;border-bottom:1px solid #31313070}
.atlas-panel:focus-visible{outline:3px solid #313130;outline-offset:4px}.atlas-panel:not(.active):hover{transform:translateY(-12px)}
.atlas-status{font-size:12px;line-height:1.6;text-align:center;margin:35px auto 0;max-width:52ch}
.atlas-ready .class-track{margin-top:16px;gap:6px;padding:0 0 12px}.atlas-ready .class-track>button{font-size:12px!important;padding:12px 15px!important;border:0;border-radius:24px;background:transparent;min-height:44px}
.atlas-ready .class-track>button[aria-pressed=true]{background:#313130;color:#edebe9}.atlas-ready .class-track .practice-thumb{display:none}
.motion-enabled .atlas-arriving .atlas-panel{animation:atlas-unfold 1400ms cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--order) * 55ms)}
@keyframes atlas-unfold{from{transform:translateY(110px) rotateZ(calc((var(--order) - 3) * 7deg));border-radius:110px}to{transform:translateY(calc(12px * var(--distance)))}}
@keyframes atlas-light{from{transform:translateX(-160%)}to{transform:translateX(160%)}}
.motion-paused .atlas-panels,.motion-paused .atlas-panel,.motion-paused .atlas-copy,.motion-paused .atlas-spine{transition:none!important;animation:none!important}.motion-paused .atlas-panel:before{animation:none!important;display:none}
@media(max-width:800px){
 .atlas-panels{height:clamp(430px,65svh,650px);display:block!important;position:relative;perspective:1200px;overflow:hidden;border-radius:12px}
 .atlas-panel{position:absolute;inset:0;border-radius:12px;width:100%;opacity:0;pointer-events:none;transform:translateX(calc(var(--travel,1) * 105%)) rotateZ(calc(var(--travel,1) * 9deg)) scale(.86);transition:transform 1000ms cubic-bezier(.16,1,.3,1),opacity .5s,border-radius 1s;box-shadow:none}
 .atlas-panel.active{opacity:1;pointer-events:auto;transform:translateX(0) rotateZ(0) scale(1);z-index:3}
 .atlas-panel.drag-preview{opacity:1;z-index:2}.atlas-panel.drag-preview .atlas-copy{opacity:1;transform:none}
 .atlas-panel>img{width:100%;object-position:center}.atlas-spine{display:none}.atlas-copy{width:auto;left:7%;right:7%;bottom:26px;gap:12px}.atlas-name{font-size:clamp(2.5rem,10vw,4rem);max-width:100%}.atlas-short{font-size:13px;max-width:31ch}.atlas-open{font-size:12px}
 .atlas-ready .class-track{display:flex;gap:9px;overflow-x:auto;scrollbar-width:thin;margin-top:18px;scroll-snap-type:x proximity;padding:5px 3px 12px!important}
 .atlas-ready .class-track>button{flex:0 0 76px;width:76px;display:flex;flex-direction:column;gap:8px;padding:0!important;border-radius:0;background:transparent!important;color:#313130!important;white-space:normal;scroll-snap-align:center;font-size:10px!important;line-height:1.25;text-align:center}
 .atlas-ready .class-track .practice-thumb{display:block;width:70px;height:82px;border-radius:32px 32px 5px 5px;overflow:hidden;opacity:.58;transition:opacity .3s,transform .5s}
 .atlas-ready .class-track .practice-thumb img{width:100%;height:100%;object-fit:cover}.atlas-ready .class-track>button[aria-pressed=true] .practice-thumb{opacity:1;transform:translateY(-4px);outline:2px solid #313130;outline-offset:2px}
 .atlas-status{margin:16px auto 0;font-size:11px;padding:0 15px}.atlas-ready .practice-stage .section-heading{margin-bottom:20px;display:block;position:relative;padding-right:0}.atlas-ready .practice-stage h2{font-size:2.45rem;max-width:100%;padding-right:0}.atlas-ready .section-heading .slider-nav{position:absolute;right:0;top:0;gap:0}.atlas-ready .slider-nav .round{width:40px;height:40px}
 .motion-enabled .atlas-arriving .atlas-panel:not(.active){animation:none}.motion-enabled .atlas-arriving .atlas-panel.active{animation:atlas-mobile-enter 1200ms cubic-bezier(.16,1,.3,1) both}
 @keyframes atlas-mobile-enter{from{transform:translateY(80px) rotateZ(-8deg) scale(.85);border-radius:100px}to{transform:none;border-radius:12px}}
}


/* next-level.css */
.fan-ready .practice-theatre{overflow:hidden!important;padding:28px 0 0}.practice-fan .fan-panels{display:block!important;position:relative;height:clamp(560px,80svh,850px);perspective:1600px;overflow:hidden;border-radius:0;touch-action:pan-y;isolation:isolate}
.practice-fan .atlas-panel{position:absolute;inset:10px auto auto 50%;width:56%;height:78%;min-height:0;border-radius:14px;transform-origin:50% 100%;transition:none!important;opacity:1;pointer-events:auto;box-shadow:0 28px 35px #31313020;will-change:transform}
.practice-fan .atlas-panel>img{width:100%;left:0;transform:none;object-fit:cover}.practice-fan .atlas-copy{width:auto;left:6%;right:6%;bottom:25px}.practice-fan .atlas-name{font-size:clamp(2.5rem,4vw,4.8rem)}.practice-fan .atlas-panel:not(.active) .atlas-copy{opacity:0}.practice-fan .atlas-panel:before{display:none}.practice-fan .atlas-status{margin:0 auto 10px}.fan-ready .class-track{margin-top:0}
.type-portal{height:155svh;position:relative;background:#edebe9}.type-portal-stage{position:sticky;top:0;height:100svh;min-height:480px;overflow:hidden;display:grid;place-items:center;isolation:isolate}
.type-portal-photo{position:absolute;inset:30% 7% 10%;width:86%;height:60%;object-fit:contain;object-position:center;opacity:1;clip-path:inset(0 var(--portal-inset,50%) round 18px);z-index:0}
.type-portal-word{position:absolute;top:12%;left:0;width:100%;text-align:center;z-index:1;font:clamp(3rem,10vw,9rem)/1.1 Prata,serif;letter-spacing:-.035em;color:#313130;white-space:nowrap;transform:translateY(var(--portal-word-y,22svh));will-change:transform}
.type-portal-stage:after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 -60px 65px -45px #edebe9;z-index:3}
.water-light-host{position:relative;isolation:isolate}.water-light{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;opacity:.8}
.intro>canvas.water-light,.faq>canvas.water-light{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;z-index:-1!important;display:block;max-width:none;margin:0;padding:0}
.motion-paused .type-portal{display:none}.motion-paused .water-light{display:none}.motion-paused .practice-fan .atlas-panel{will-change:auto}
@media(max-width:800px){.practice-fan .fan-panels{height:clamp(490px,73svh,680px)}.practice-fan .atlas-panel{width:78%;height:81%;top:15px;border-radius:12px}.practice-fan .atlas-name{font-size:clamp(2.3rem,9.5vw,3.2rem)}.practice-fan .atlas-copy{bottom:24px;gap:10px}.practice-fan .atlas-short{font-size:12px}.practice-fan .atlas-open{font-size:12px}.type-portal{height:140svh}.type-portal-word{font-size:12vw;top:20%}.type-portal-photo{inset:34% 5% 12%;width:90%;height:54%;object-position:center}.fan-ready .class-track{margin-top:5px}}

@media(max-width:800px){.type-portal-photo{top:34%;bottom:auto;height:auto;aspect-ratio:3/2}}

/* real-photos.css */
/* Real photographs stay intact; no pixel distortion or portrait filters. */
.team-roster{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:56px 30px;padding:0 7% 110px;max-width:1600px;margin:auto}
.team-portrait{overflow:hidden;aspect-ratio:2/3;background:#dedbd7;border-radius:46% 46% 2px 2px}
.team-card:nth-child(2n) .team-portrait{border-radius:2px 2px 46% 46%}
.team-portrait img{width:100%;height:100%;object-fit:cover;display:block}
.team-card h3{font:clamp(26px,3vw,40px)/1.2 Prata,serif;margin:24px 0 10px}
.team-card p{font-size:14px;line-height:1.6;margin:0;max-width:28ch;color:#565654}
.team-card:nth-child(3n+2){padding-top:55px}
.people-image img,.studio-photo img{filter:none!important}
.people-image{aspect-ratio:3/2!important;border-radius:2px!important}
.hero-photo picture{display:block;width:100%;height:100%}
.hero-photo img{object-position:65% center!important}
.studio-details{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:24px 7% 70px}
.studio-details img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.fan-ready .atlas-panel img{object-fit:contain!important;object-position:center 20%!important;filter:none!important;background:#edebe9}
.fan-ready .atlas-panel{background:#edebe9!important}
.fan-ready .atlas-panel:after{background:linear-gradient(transparent 55%,#edebe9 78%)!important}
.fan-ready .atlas-copy{color:#313130!important;text-shadow:none!important}
.detail-grid>img{object-fit:contain;background:#edebe9}
@media(max-width:700px){.team-roster{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 6% 75px;gap:30px 14px}.team-card:nth-child(3n+2){padding-top:0}.team-card:nth-child(2n){padding-top:35px}.team-card h3{font-size:25px;margin-top:16px}.team-card p{font-size:12px}.team-portrait{border-radius:80px 80px 2px 2px}.team-card:nth-child(2n) .team-portrait{border-radius:2px 2px 80px 80px}.detail-grid>img{height:auto;max-height:42svh;width:100%}}

/* schedule.css */
.weekly-schedule{padding-top:100px;padding-bottom:90px;scroll-margin-top:100px;background:#edebe9}
.schedule-heading{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:40px}.schedule-heading h2{font:clamp(38px,5vw,72px)/1.14 Prata,serif;letter-spacing:-.025em;margin:0 0 18px}.schedule-heading p{font-size:16px;line-height:1.6;margin:0}.schedule-filter{display:flex;flex-direction:column;gap:10px;font-size:14px}.schedule-filter select{font:inherit;color:#313130;background:transparent;border:0;border-bottom:1px solid #92928c;border-radius:0;padding:13px 30px 13px 0;min-width:240px;max-width:100%;cursor:pointer}
.schedule-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;padding:8px;border-radius:40px;background:#e2e0dd;margin-bottom:36px}.schedule-days button{border:0;background:transparent;border-radius:30px;min-height:64px;color:#313130;cursor:pointer;font:14px/1.3 Manrope,sans-serif;padding:12px 8px;display:flex;align-items:center;justify-content:center;gap:10px;transition:background .25s,box-shadow .25s}.schedule-days button[aria-selected=true]{background:#fffdf9;box-shadow:0 5px 13px #31313014}.schedule-days small{font-size:12px;color:#565654}.day-short{display:none}
#schedule-panel{display:grid;grid-template-columns:1.05fr 1fr;gap:6%;align-items:start;min-height:510px}.schedule-list{min-width:0;position:relative}.schedule-day-title{font:30px/1.2 Prata,serif;margin:4px 0 10px}.schedule-result{font-size:13px;color:#565654;margin:0 0 20px}.schedule-row{width:100%;display:grid;grid-template-columns:66px 1fr 20px;gap:18px;text-align:left;align-items:center;padding:23px 14px;border:0;border-top:1px solid #c8c6c1;background:transparent;color:#313130;cursor:pointer;transition:background .25s}.schedule-row:last-child{border-bottom:1px solid #c8c6c1}.schedule-row.selected{background:#dce9e1}.schedule-row:hover{background:#e4ece6}.schedule-row time{font-size:17px;font-variant-numeric:tabular-nums}.schedule-row strong{display:block;font:21px/1.35 Prata,serif}.schedule-row-teacher{display:block;font:14px/1.4 Manrope,sans-serif;margin-top:7px}.schedule-start{display:block;font:12px/1.5 Manrope,sans-serif;margin-top:7px;color:#595442}.schedule-row-arrow{font-size:23px}.schedule-preview{min-width:0}.schedule-photo{position:relative;aspect-ratio:3/2;overflow:hidden;background:#dedbd7}.schedule-photo>img{display:block;width:100%;height:100%;object-fit:contain}.schedule-photo-time{position:absolute;bottom:12px;left:12px;background:#edebe9f5;border-radius:24px;padding:9px 16px;font-size:13px}.schedule-preview-copy{padding:25px 0}.schedule-teacher{display:flex;align-items:center;gap:12px;font-size:14px}.schedule-teacher img{width:42px;height:42px;border-radius:50%;object-fit:cover;object-position:center 25%}.schedule-preview h3{font:clamp(30px,3.2vw,48px)/1.15 Prata,serif;margin:20px 0}.schedule-preview-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;margin-top:28px}.schedule-preview .pill{font-size:13px;background:#9FD3C7;color:#313130;gap:18px}.schedule-preview .text-link,.schedule-empty .text-link{font:14px/1.4 Manrope,sans-serif;background:transparent;border:0;border-bottom:1px solid #313130;padding:10px 0;cursor:pointer;color:#313130}.schedule-booking-note{max-width:680px;font-size:14px;line-height:1.7;margin:35px 0 0;color:#565654}.schedule-empty{padding:25px 0;line-height:1.7}.schedule-empty-art{min-height:340px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:24px;padding:30px;background:#e2e0dd;text-align:center}.schedule-empty-art>span{font:58px Prata,serif}.schedule-empty-art p{font-size:15px;max-width:26ch;line-height:1.7}.portrait-switch{font:12px/1.4 Manrope,sans-serif;min-height:44px;display:block;padding:8px 0;color:#565654;border:0;border-bottom:1px solid #b5b3ad;background:transparent;cursor:pointer}.team-portrait.alternate{border-radius:2px!important}.team-portrait.alternate img{object-fit:contain;background:#e2e0dd}
.weekly-schedule :focus-visible,.portrait-switch:focus-visible{outline:2px solid #313130;outline-offset:4px}.motion-paused .schedule-days button,.motion-paused .schedule-row{transition:none}
@media(max-width:1100px){.schedule-days button{font-size:12px;gap:5px}.schedule-row{gap:10px}.schedule-row strong{font-size:19px}.schedule-preview-actions{align-items:start;flex-direction:column}}
@media(max-width:800px){.weekly-schedule{padding:65px 6%;scroll-margin-top:85px}.schedule-heading{display:block;margin-bottom:25px}.schedule-heading h2{font-size:42px}.schedule-heading p{font-size:15px}.schedule-filter{margin-top:25px;max-width:100%}.schedule-filter select{width:100%}.schedule-days{gap:0;padding:5px;border-radius:18px;margin-bottom:26px}.schedule-days button{flex-direction:column;gap:4px;border-radius:13px;min-height:60px;padding:8px 2px;font-size:14px}.day-full{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.day-short{display:inline}#schedule-panel{grid-template-columns:1fr;gap:30px;min-height:0}.schedule-day-title{font-size:28px}.schedule-row{padding:20px 10px;grid-template-columns:57px 1fr 18px;gap:10px}.schedule-row strong{font-size:19px}.schedule-row time{font-size:16px}.schedule-preview h3{font-size:35px}.schedule-preview-actions{align-items:stretch}.schedule-preview .pill{justify-content:space-between}.schedule-preview-copy{padding:20px 0 0}.schedule-booking-note{margin-top:30px;font-size:13px}.schedule-photo-time{font-size:12px}.schedule-empty-art{display:none}}


/* mobile-editorial.css */
/* Phone composition is the base. Photographs remain intact HTML assets. */
.editorial-journey,.motion-enabled .editorial-journey{height:auto!important}
.hero.hero-editorial,.motion-enabled .hero.hero-editorial{height:100svh!important;min-height:780px;position:relative;overflow:hidden;padding:0;background:#edebe9}
.hero.hero-editorial .hero-photo{inset:285px 18px 46px!important;border-radius:90px 90px 12px 12px;clip-path:none!important;overflow:hidden;transform:translateY(var(--editorial-y,0px));background:#d8e5e2;z-index:1}
.hero.hero-editorial .hero-photo img{width:100%;height:100%;object-fit:contain;object-position:center!important;transform:none!important;filter:none!important}
.hero.hero-editorial .hero-copy,.motion-enabled .hero.hero-editorial .hero-copy{inset:96px 22px auto!important;transform:none!important;opacity:1!important;z-index:3;color:#313130}
.hero.hero-editorial h1{font:clamp(30px,8.5vw,42px)/1.15 Prata,serif!important;letter-spacing:-.035em;margin:0!important;text-transform:none!important;max-width:none}
.hero-editorial h1>span{display:block}
.hero-editorial .hero-bottom{margin-top:17px;display:flex;flex-direction:row;align-items:center;gap:12px}
.hero-editorial .hero-bottom p{font:12px/1.55 Manrope,sans-serif!important;max-width:15ch;margin:0;color:#313130}
.hero-editorial .hero-bottom .pill{font:12px/1.3 Manrope,sans-serif!important;min-height:48px;padding:14px 17px;gap:14px;background:#313130;color:#edebe9;flex-shrink:0}
.hero-team-link{position:absolute;bottom:12px;left:22px;z-index:3;font:12px/1.5 Manrope,sans-serif;color:#313130;text-underline-offset:5px;text-decoration:underline;min-height:30px;display:flex;align-items:center}
.editorial-contour{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2;overflow:visible}
.editorial-contour path{fill:none;stroke:#9FD3C7;stroke-width:3;vector-effect:non-scaling-stroke;stroke-dasharray:1500;stroke-dashoffset:var(--contour-dash,0);filter:drop-shadow(1px 2px 1px #fff)}
.club-interlude{padding:30px 6% 70px;overflow:hidden;background:#edebe9}
.interlude-heading{margin-bottom:30px;max-width:740px}
.interlude-heading h2{font:clamp(34px,8.5vw,58px)/1.16 Prata,serif;margin:0 0 16px;letter-spacing:-.025em}
.interlude-heading p{font:15px/1.65 Manrope,sans-serif;margin:0}
.interlude-pictures{position:relative;padding-bottom:60px}
.interlude-main{display:block;width:100%;height:auto;border-radius:12px;transform:translateY(var(--interlude-y,0px));object-fit:contain}
.interlude-detail{display:block;width:37%;height:auto;position:relative;margin:-8px 0 0 auto;transform:rotate(var(--detail-angle,4deg));border:7px solid #edebe9;box-shadow:0 12px 25px #31313012}
#people{display:block;padding:75px 0 55px;scroll-margin-top:84px;overflow:hidden}
#people .people-copy{padding:0 6%;max-width:750px;margin:0 0 35px}
#people .people-copy h2{font-size:clamp(40px,10vw,68px);line-height:1.12;margin-bottom:22px}
#people .people-copy p{font-size:15px;line-height:1.7}
#people .people-note,#people .people-copy>.text-link{display:none}
.team-selector{display:flex;gap:8px;overflow-x:auto;padding:0 6% 15px;scrollbar-width:thin;scrollbar-color:#8c938e transparent}
.team-selector button{font:14px/1.3 Manrope,sans-serif;border:1px solid #babbb5;border-radius:24px;background:transparent;color:#313130;min-height:44px;padding:10px 18px;white-space:nowrap;cursor:pointer}
.team-selector button[aria-pressed=true]{background:#313130;color:#edebe9;border-color:#313130}
#people .team-roster{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 6% 24px;max-width:none;margin:0;scrollbar-width:thin;scrollbar-color:#8c938e transparent;scroll-padding-left:6%;touch-action:pan-x pan-y}
#people .team-card{flex:0 0 88%;flex-basis:88%;min-width:0;scroll-snap-align:start;padding:0!important}
#people .team-portrait,#people .team-card:nth-child(2n) .team-portrait{border-radius:14px!important;aspect-ratio:2/3;max-height:540px;background:#edebe9}
#people .team-portrait img{object-fit:contain!important;object-position:center!important}
#people .team-card h3{font:32px/1.2 Prata,serif;margin:18px 0 9px}
#people .team-card p{font:14px/1.6 Manrope,sans-serif;max-width:32ch;min-height:46px;color:#313130}
.portrait-choices{display:flex;gap:10px;min-height:60px;margin-top:12px}
.portrait-choices button{width:45px;height:56px;padding:2px;border:1px solid transparent;border-radius:4px;background:transparent;cursor:pointer}
.portrait-choices button[aria-pressed=true]{border-color:#313130}
.portrait-choices img{display:block;width:100%;height:100%;object-fit:contain;border-radius:2px}
.team-schedule-link{font:14px/1.4 Manrope,sans-serif;min-height:44px;display:inline-flex;align-items:center;color:#313130;text-decoration:underline;text-underline-offset:5px;margin-top:10px}
#people .people-image{width:88%;max-width:880px;margin:50px auto 0;aspect-ratio:auto!important;height:auto!important;min-height:0;border-radius:12px!important;clip-path:none!important;transform:none!important}
#people .people-image img{width:100%;height:auto!important;object-fit:contain!important;transform:none!important;clip-path:none!important}
#people .people-image:before,#people .people-image:after,#people .people-image .image-label{display:none!important}
.schedule-row{box-shadow:inset 0 0 0 1px transparent}
.schedule-row.selected{background:var(--teacher-color,#e2e0dd);box-shadow:inset 0 0 0 1px #31313035}
.schedule-row-teacher:before{content:'';display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:8px;background:var(--teacher-color);border:1px solid #31313040}
.schedule-row:hover{background:var(--teacher-color,#e2e0dd)}
.schedule-capacity{font:14px/1.6 Manrope,sans-serif;color:#313130}
.detail-alternative{display:block;width:100%;height:auto;object-fit:contain;margin-top:24px}
.manifesto{letter-spacing:-.035em!important}
.phone-bottom span,.phone-brand>span{font-size:11px!important;letter-spacing:.02em!important}
@media(max-width:800px){.schedule-preview{padding:0 12px 20px}.schedule-preview .schedule-photo,.schedule-preview .schedule-teacher,.schedule-preview h3,.schedule-preview .schedule-start{display:none}.schedule-preview-copy{padding:8px 0}.schedule-preview-actions{margin-top:12px;gap:12px}.schedule-preview .schedule-capacity{margin:0}.schedule-preview .pill{min-height:48px}}
.hero-editorial :focus-visible,.team-selector :focus-visible,.portrait-choices :focus-visible,.team-schedule-link:focus-visible{outline:2px solid #313130;outline-offset:5px}
.motion-paused .hero-editorial .hero-photo,.motion-paused .interlude-main,.motion-paused .interlude-detail{transform:none!important}
@media(min-width:701px){
 .hero.hero-editorial,.motion-enabled .hero.hero-editorial{min-height:680px;max-height:1150px}
 .hero.hero-editorial .hero-photo{inset:100px 6% 40px auto!important;width:43%;max-width:570px;border-radius:38% 38% 12px 12px;background:#edebe9}
 .hero.hero-editorial .hero-copy,.motion-enabled .hero.hero-editorial .hero-copy{inset:30% auto auto 6%!important;width:54%}
 .hero.hero-editorial h1{font-size:clamp(40px,5.5vw,82px)!important;line-height:1.12!important;max-width:100%;text-shadow:0 2px 24px #edebe9}
 .hero-editorial .hero-bottom{margin-top:38px;flex-direction:column;align-items:start;gap:20px}
 .hero-editorial .hero-bottom p{font-size:16px!important;max-width:28ch}
 .hero-editorial .hero-bottom .pill{font-size:14px!important;padding:18px 24px}
 .hero-team-link{left:6%;bottom:55px;font-size:14px}
 .editorial-contour{left:25%;width:75%}
 .club-interlude{padding:50px 10% 90px}.interlude-heading{margin-bottom:45px}.interlude-pictures{max-width:1100px;margin:auto;padding-bottom:0}.interlude-main{width:87%}.interlude-detail{width:25%;margin:-95px 0 0 auto}
 #people .people-copy{margin:0 auto 40px;text-align:center}#people .team-roster{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px 26px;overflow:visible;max-width:1500px;margin:auto;padding:15px 6% 40px}#people .team-card{min-width:0}.team-selector{justify-content:center;margin-bottom:20px}.team-portrait{max-height:none!important}
 #people .people-image{width:54%;max-width:620px}
}
@media(max-width:360px){.header{left:8px;right:8px;width:auto;padding:0 10px!important}.header .wordmark{gap:4px}.header .logo-window{width:76px}.header .wordmark>img{width:18px;height:auto}.header-actions{gap:5px!important}.header .language{padding:8px;min-width:32px}.header .menu-toggle{width:32px;min-width:32px}.header .motion-toggle{padding:6px 2px;font-size:10px}.hero.hero-editorial h1{font-size:29px!important}.hero-editorial .hero-bottom{gap:8px}.hero-editorial .hero-bottom .pill{font-size:11px!important;padding:12px}.team-selector button{padding:10px 14px}}


/* navigation-polish.css */
/* Solid reading surfaces; liquid motion is restricted to the surrounding artwork. */
.header,.header.water-drawn{top:10px;left:12px;right:12px;width:auto;height:70px;padding:0 16px!important;border:0;border-radius:18px;background:#edebe9!important;backdrop-filter:none!important;box-shadow:0 7px 22px #31313016;gap:12px;isolation:isolate}
.header>.world-water{display:none}
.header:after{content:'';position:absolute;bottom:0;left:18px;right:18px;height:2px;background:#667f74;transform:scaleX(var(--navigation-progress,0));transform-origin:left;pointer-events:none}
.header .wordmark{gap:7px;flex-shrink:0}.header-actions{gap:8px!important}.header .language{min-width:44px;min-height:44px;font-size:13px}
.header .menu-toggle{width:76px;min-width:76px;height:44px;padding:0 14px;border-radius:24px;position:relative;background:#313130;color:#edebe9;align-items:center;justify-content:space-between;gap:8px}
.header .menu-toggle .menu-caption{display:block;margin:0;background:none;height:auto;font:12px/1.2 Manrope,sans-serif}
.header .menu-toggle .menu-lines{display:block;width:16px;height:10px;margin:0;border-top:1px solid #edebe9;border-bottom:1px solid #edebe9;background:none}
.header .header-motion{display:none}.header .menu-toggle{display:flex}.header nav{display:none}
.header nav a{min-height:44px;display:flex;align-items:center;padding:8px 12px;border-radius:22px;font-size:13px;color:#313130;transition:background .3s}
.header nav a[aria-current=location]{background:#9FD3C7}.header nav a:after{display:none}
#menu-dialog{width:calc(100% - 16px);max-width:560px;max-height:calc(100svh - 24px);margin:auto 8px 8px auto;padding:24px 24px 30px;border:0;border-radius:24px;background:#edebe9;color:#313130;box-shadow:0 20px 70px #31313030}
#menu-dialog::backdrop{background:#31313070;backdrop-filter:blur(3px)}
#menu-dialog .menu-top{display:flex;align-items:center;justify-content:space-between}
#menu-dialog nav{margin:30px 0 22px;display:flex;flex-direction:column;gap:0}
#menu-dialog nav a{font:clamp(25px,7vw,34px)/1.3 Prata,serif;padding:17px 0;border-bottom:1px solid #c9c7c2;display:block;color:#313130}
#menu-dialog nav a>span:first-child{display:none}
#menu-dialog .menu-motion{min-height:44px;font:14px Manrope,sans-serif;border:1px solid #aaa9a3;border-radius:24px;padding:10px 18px;background:transparent;color:#313130}
#menu-dialog>p{font:14px/1.6 Manrope,sans-serif;letter-spacing:0;margin:22px 0 0;max-width:28ch}
.motion-enabled #menu-dialog[open]{animation:menu-arrive .5s cubic-bezier(.16,1,.3,1) both}
@keyframes menu-arrive{from{transform:translateY(45px);opacity:.4}to{transform:none;opacity:1}}
.fan-ready .atlas-panel:after{display:none!important}
.fan-ready .atlas-panel>img{height:calc(100% - 168px)!important;top:0!important;bottom:auto!important}
.fan-ready .atlas-panel .atlas-copy{left:0;right:0;bottom:0;width:100%;min-height:168px;padding:18px 22px;background:#edebe9;color:#313130!important;text-shadow:none!important;gap:8px}
.fan-ready .atlas-name{font-size:clamp(27px,3vw,42px)!important;line-height:1.13}
.fan-ready .atlas-short,.fan-ready .atlas-open{font-size:14px!important;line-height:1.5;color:#313130}
.motion-enabled .studio-copy,.studio-copy{background:#edebe9;padding:28px!important;border-radius:14px;color:#313130;max-width:650px}
.studio-copy>p,.studio-values,.motion-enabled .studio-copy>p,.motion-enabled .studio-values{opacity:1!important;color:#313130!important}
.studio-stage .photo-caption{background:#edebe9!important;color:#313130;padding:12px 16px;font-size:12px}
.app-copy,.intro-text,.faq-list{color:#313130}.app-copy>p,.app-copy h2,.app-copy h2 em{color:#313130!important}
.closing h2{background:#edebe9;padding:18px 22px;border-radius:14px;color:#313130!important;text-shadow:none!important}.closing h2 em{color:inherit!important}
.phone-image>span{background:#edebe9;color:#313130;padding:8px 12px;border-radius:6px}.phone-caption{background:#edebe9;color:#313130;padding:8px 12px;border-radius:6px}
.mobile-dock,.mobile-dock.glass-control{background:#edebe9!important;color:#313130!important;backdrop-filter:none!important}.mobile-dock:before,.mobile-dock:after{display:none!important}
.header :focus-visible,#menu-dialog :focus-visible{outline:2px solid #667f74;outline-offset:4px}
.motion-paused #menu-dialog[open]{animation:none}.motion-paused .header nav a{transition:none}
@media(min-width:1251px){.header,.header.water-drawn{left:3%;right:3%;padding:0 24px!important;border-radius:18px}.header nav{display:flex;gap:4px}.header .menu-toggle{display:none}.header .header-motion{display:block;font-size:12px}.header .header-cta{background:#313130;color:#edebe9;border:0;border-radius:24px;padding:14px 18px}.header .header-cta span{margin-right:8px}}
@media(max-width:700px){.header .wordmark .logo-window{width:98px}.studio-copy,.motion-enabled .studio-copy{padding:22px!important}.studio-copy h2{font-size:40px!important}.fan-ready .atlas-panel .atlas-copy{padding:16px;min-height:164px}.fan-ready .atlas-panel>img{height:calc(100% - 164px)!important}.closing h2{padding:14px 16px}.hero.hero-editorial .hero-copy,.motion-enabled .hero.hero-editorial .hero-copy{top:100px!important}}
@media(max-width:360px){.header,.header.water-drawn{left:8px;right:8px;padding:0 10px!important;gap:6px}.header .wordmark>img{width:18px}.header .wordmark .logo-window{width:82px}.header-actions{gap:3px!important}.header .language{min-width:36px}.header .menu-toggle{min-width:70px;width:70px;padding:0 12px}.header .wordmark{gap:3px}}


@media(max-width:700px){.atlas-ready .section-heading .slider-nav{position:static;width:max-content;margin:18px 0 0 auto}.motion-enabled .studio-stage{padding-bottom:110px}.studio-stage .photo-caption{top:100px}.motion-enabled .studio-copy h2{transform:none!important}}
@media(max-width:700px) and (max-height:700px){.motion-enabled .studio-stage{height:auto;min-height:760px;position:relative}}


/* club-gallery.css */
.club-gallery{padding:90px 0 70px;overflow:hidden;background:#edebe9;color:#313130}
.gallery-heading{padding:0 6%;display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:25px}.gallery-heading h2{margin:0;max-width:750px;font-size:clamp(40px,5.5vw,80px);line-height:1.15}.gallery-heading p{font-size:15px;max-width:29ch;margin:0}
.gallery-reel{display:flex;align-items:center;gap:38px;overflow-x:auto;scroll-snap-type:x mandatory;padding:50px max(6vw,calc((100vw - 600px)/2)) 65px;scrollbar-width:thin;scrollbar-color:#81968c transparent;overscroll-behavior-x:contain;perspective:1200px}
.gallery-frame{position:relative;flex:0 0 560px;scroll-snap-align:center;background:none;border:0;padding:0;color:inherit;text-align:left;transform:rotate(var(--gallery-turn,0deg));transform-origin:50% 60%;transition:transform .55s cubic-bezier(.16,1,.3,1);cursor:zoom-in}.gallery-frame:nth-child(3n+2){flex-basis:340px}.gallery-frame img{display:block;width:100%;height:430px;object-fit:contain;background:#e4e2dd;box-shadow:0 16px 24px #31313018}.gallery-frame span{display:flex;justify-content:space-between;gap:12px;padding:17px 0 0;font:15px/1.5 Manrope,sans-serif}.gallery-frame b{font-size:22px;font-weight:400}.gallery-frame:focus-visible{outline:2px solid #667f74;outline-offset:10px}.gallery-frame:hover{transform:rotate(0deg) translateY(-8px)}
.gallery-controls{display:flex;gap:20px;align-items:center;justify-content:center;margin-top:18px}.gallery-controls button,.gallery-dialog button{min-width:48px;min-height:48px;border:1px solid #8b8d86;border-radius:50%;background:#edebe9;color:#313130;font-size:24px}.gallery-controls output{font:14px Manrope,sans-serif;min-width:60px;text-align:center}
.gallery-dialog{inset:0;width:100%;height:100%;max-width:100%;max-height:100%;padding:24px;background:#edebe9;border:0}.gallery-dialog::backdrop{background:#313130e8}.gallery-dialog figure{height:calc(100% - 80px);margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.gallery-dialog img{width:100%;height:calc(100% - 55px);object-fit:contain;min-height:0}.gallery-dialog figcaption{font:16px/1.5 Manrope,sans-serif;text-align:center}.gallery-dialog .gallery-close{display:block;margin:0 0 16px auto}.gallery-dialog-controls{position:absolute;top:24px;left:24px;display:flex;gap:10px}
.motion-enabled .gallery-dialog[open]{animation:album-open .45s cubic-bezier(.16,1,.3,1)}@keyframes album-open{from{clip-path:inset(12% 10% round 80px);opacity:.4}to{clip-path:inset(0 round 0);opacity:1}}
.header-edge{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:-1}.header-edge rect{fill:none;stroke:#b1d5c6;stroke-width:2;vector-effect:non-scaling-stroke;stroke-dasharray:22 78;stroke-dashoffset:var(--edge-offset,0);transition:stroke-dashoffset .45s ease-out}.header-edge .edge-light{stroke:#fff;stroke-width:1;stroke-dasharray:9 91;stroke-dashoffset:calc(var(--edge-offset,0) - 7)}.motion-enabled .header-edge{animation:edge-arrive 1.8s ease-out both}@keyframes edge-arrive{from{opacity:0;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}
.motion-paused .gallery-frame{transform:none;transition:none}.motion-paused .gallery-dialog[open]{animation:none}.motion-paused .header-edge rect{transition:none}
@media(max-width:700px){.club-gallery{padding:65px 0 90px}.gallery-heading{display:block}.gallery-heading h2{font-size:42px;margin-bottom:18px}.gallery-heading p{font-size:15px}.gallery-reel{gap:26px;padding:35px 10vw 40px}.gallery-frame,.gallery-frame:nth-child(3n+2){flex-basis:80vw}.gallery-frame img{height:380px;height:min(52svh,430px)}.gallery-frame span{font-size:14px}.gallery-dialog{padding:16px}.gallery-dialog-controls{top:16px;left:16px}.gallery-dialog figcaption{font-size:14px}.gallery-heading h2{max-width:11ch}}


.gallery-frame img{height:auto;max-height:430px;background:transparent;object-fit:contain}.gallery-reel{min-height:530px}.gallery-frame:nth-child(3n+2) img{max-height:430px}@media(max-width:700px){.gallery-frame img,.gallery-frame:nth-child(3n+2) img{max-height:52svh}.gallery-reel{min-height:430px}.club-gallery{scroll-margin-top:90px}}


/* gentle-mobile.css */
/* User feedback: a clear invitation, intact pictures and touch-led movement. */
.club-interlude,.studio-details,#people>.people-image{display:none!important}
.gentle-hero .editorial-contour{display:none}.gentle-hero .silk-stage{display:contents}
.hero.hero-editorial.gentle-hero .hero-photo{border-radius:4px!important;clip-path:none!important;transform:none!important;background:transparent}
.hero.hero-editorial.gentle-hero .hero-photo img{object-fit:contain!important}
.gentle-hero .hero-bottom{flex-direction:column;align-items:stretch;gap:10px}.gentle-hero .hero-bottom .pill{order:-1;justify-content:space-between;font-size:16px!important;min-height:56px;padding:17px 22px!important;width:100%;max-width:360px}.gentle-hero .hero-bottom p{max-width:none!important;font-size:14px!important}
.studio.section,.motion-enabled .studio.section{height:auto!important;padding:70px 6% 0!important;display:block}
.studio-stage,.motion-enabled .studio-stage{position:relative!important;display:block!important;height:auto!important;min-height:0!important;padding:0!important;overflow:visible}
.studio-stage .studio-photo{display:none!important}.studio-copy,.motion-enabled .studio-copy{max-width:800px;padding:0!important;margin:0 auto;background:transparent}.studio-copy h2{font-size:clamp(40px,6vw,70px)!important;transform:none!important}.studio-copy>p{max-width:60ch!important}.studio-values{display:none!important}
.club-gallery{padding-top:20px}.gallery-heading{display:none}.gallery-frame{transform:none!important;transition:none!important}.gallery-frame:hover{transform:none!important}.gallery-dialog[open]{animation:none!important}
.motion-enabled .gallery-dialog[open] figure{animation:gentle-arrive .3s ease-out both}@keyframes gentle-arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:800px){
 .hero.hero-editorial.gentle-hero,.motion-enabled .hero.hero-editorial.gentle-hero{height:auto!important;min-height:0!important;display:flex;flex-direction:column;padding-top:100px}
 .hero.hero-editorial.gentle-hero .hero-copy,.motion-enabled .hero.hero-editorial.gentle-hero .hero-copy{position:relative;inset:auto!important;margin:0 22px;width:auto;padding:0}
 .hero.hero-editorial.gentle-hero .hero-photo{position:relative;inset:auto!important;margin:24px 22px 0;width:calc(100% - 44px);height:auto;max-width:none;order:2}
 .hero.hero-editorial.gentle-hero .hero-photo img{height:auto;width:100%;max-height:570px}
 .gentle-hero .hero-team-link{position:relative;left:auto;bottom:auto;margin:16px 22px 26px;order:3}
 .gentle-hero .hero-copy h1{font-size:clamp(30px,8.4vw,42px)!important}
 .motion-enabled .gentle-hero .hero-photo{animation:gentle-arrive .65s ease-out both}
 .motion-enabled .practices,.motion-enabled .practices.section{height:auto!important}.motion-enabled .practice-stage{position:relative!important;height:auto!important;min-height:0!important}
 .fan-ready .atlas-panel{pointer-events:auto;transition:none!important}
 .fan-ready .atlas-panel .atlas-copy{min-height:145px}.fan-ready .atlas-panel>img{height:calc(100% - 145px)!important}
 .phone,.motion-enabled .phone{transform:none!important}.water-light{display:none!important}
 .gallery-reel{min-height:350px;padding-top:20px;padding-bottom:25px}.gallery-frame img{max-height:400px}.club-gallery{padding-bottom:50px}
 .motion-paused .atlas-panel{transition:none!important}
}

@media(max-width:800px){.hero.hero-editorial.gentle-hero .hero-photo img{position:static!important;inset:auto!important;height:auto!important}.hero.hero-editorial.gentle-hero .hero-photo picture{position:static!important;display:block}}
@media(max-width:800px){.practice-fan .fan-panels{height:465px!important;perspective:none}.practice-fan .atlas-panel{width:78%;height:420px;top:8px;will-change:transform}.fan-ready .atlas-panel>img{height:275px!important}.fan-ready .atlas-panel .atlas-copy{height:145px;min-height:145px;bottom:0}}
@media(max-width:800px){.mobile-dock{display:none!important}}

@media(min-width:801px){.gentle-hero .hero-copy h1{font-size:clamp(42px,5.5vw,86px)!important}}

/* hero-light.css */
/* A shared silk gesture: a parted entrance, then a quiet ribbon along the page. */
.preparing body>:not(.brand-opening){visibility:hidden}
.gentle-hero .hero-photo{isolation:isolate;overflow:hidden}
.gentle-hero .hero-photo:before,.gentle-hero .hero-photo:after{content:"";position:absolute;inset:-4% auto -4% -3%;width:56%;height:108%;z-index:2;pointer-events:none;background:#EDEBE9;border-radius:0 44% 58% 0;transform:translateX(-110%);opacity:1}
.gentle-hero .hero-photo:after{left:auto;right:-3%;border-radius:54% 0 0 42%;transform:translateX(110%)}
.hero-revealing.motion-enabled .gentle-hero .hero-photo:before{animation:silk-left 1.6s cubic-bezier(.16,1,.3,1) both}
.hero-revealing.motion-enabled .gentle-hero .hero-photo:after{animation:silk-right 1.6s cubic-bezier(.16,1,.3,1) both}
@keyframes silk-left{from{transform:translateX(0)}to{transform:translateX(-110%)}}
@keyframes silk-right{from{transform:translateX(0)}to{transform:translateX(110%)}}
.page-silk{position:fixed;inset:0;width:100%;height:100%;z-index:25;pointer-events:none;opacity:.5;contain:strict}
.page-silk path{fill:none;stroke:url(#silk-tone);stroke-width:34;stroke-linecap:round}
.page-silk .silk-edge{stroke:#fff;stroke-width:1;opacity:.65}
.motion-paused .page-silk{display:none}
.motion-enabled .symbiosis-photo{transition:translate .65s cubic-bezier(.2,.7,.2,1);translate:0 var(--silk-rise,0px)}
@media(max-width:800px){.page-silk path{stroke-width:15}.page-silk .silk-edge{stroke-width:.6}.page-silk{opacity:.38}}


.preparing.motion-enabled .gentle-hero .hero-photo:before,.preparing.motion-enabled .gentle-hero .hero-photo:after{transform:translateX(0)}

/* editorial-motion.css */
/* Selected layered navigation and photographic mask study, in the BÂOLI identity. */
#menu-dialog{inset:0;margin:0 0 0 auto;width:min(680px,100%);height:100dvh;max-width:100%;max-height:100dvh;padding:0;border:0;background:transparent;overflow:hidden;color:#313130;animation:none!important}
#menu-dialog::backdrop{background:rgb(49 49 48 / .3);backdrop-filter:none}
.menu-layer{position:absolute;inset:0;pointer-events:none;background:#9FD3C7}.menu-layer:nth-child(2){background:#DAB4C9}
.menu-sheet{position:relative;background:#edebe9;height:100%;overflow-y:auto;padding:24px clamp(22px,5vw,62px);display:flex;flex-direction:column;gap:24px}
#menu-dialog .menu-top{margin:0;display:flex;align-items:center;justify-content:space-between}
#menu-dialog nav{display:flex;flex-direction:column;gap:0;margin:auto -16px;flex-shrink:0}
#menu-dialog nav a{position:relative;display:flex;align-items:baseline;gap:12px;padding:12px 16px;border:0;font-family:Prata,serif;font-size:clamp(27px,3.2vw,43px);line-height:1.25;letter-spacing:-.035em;isolation:isolate;overflow:hidden;color:#313130;text-decoration:none}
#menu-dialog nav a::before{content:"";position:absolute;inset:0;background:#313130;z-index:-1;transform:translateY(102%);transition:transform .3s cubic-bezier(.16,1,.3,1)}
#menu-dialog nav a:hover::before,#menu-dialog nav a:focus-visible::before{transform:translateY(0)}
#menu-dialog nav a:hover,#menu-dialog nav a:focus-visible{color:#edebe9}
#menu-dialog nav a>span:first-child:not(:last-child){font:12px Manrope,sans-serif;order:2;opacity:.8}#menu-dialog nav a>span:last-child{font-size:inherit}
#menu-dialog .menu-motion{align-self:flex-start;margin:0;min-height:44px;font-size:14px}#menu-dialog .menu-sheet>p{font-size:14px;line-height:1.6;margin:0;max-width:27ch;padding-bottom:12px}html.menu-open{overflow:hidden}
.practice-guide{max-width:1160px;margin:24px auto 110px;padding:0 6%;scroll-margin-top:100px}.practice-guide h2{font:clamp(29px,4vw,48px)/1.25 Prata,serif;margin:0 0 30px;max-width:20ch}
.practice-guide details{border-top:1px solid #b8b5af}.practice-guide details:last-child{border-bottom:1px solid #b8b5af}
.practice-guide summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center;min-height:74px;padding:18px 0;font:clamp(20px,2.4vw,29px)/1.3 Prata,serif}.practice-guide summary::-webkit-details-marker{display:none}
.practice-guide summary svg{flex:none;width:20px;height:20px;transition:rotate .25s}.practice-guide details[open] summary svg{rotate:45deg}
.practice-guide .guide-body{padding:0 0 30px;max-width:72ch;font:16px/1.8 Manrope,sans-serif}.guide-body p,.detail-copy p{margin:0 0 20px}.guide-body h3,.detail-copy h3{font:600 15px/1.5 Manrope,sans-serif;margin:25px 0 8px}
.guide-facts{display:flex;flex-wrap:wrap;gap:8px 25px;font-size:14px;margin-bottom:24px}.practice-note{padding:16px;background:#e5e2df;font-size:14px;line-height:1.75}.guide-body a{display:inline-block;margin:8px 0 0;text-underline-offset:5px;min-height:44px;color:#313130}
.masked-gallery{overflow:visible;padding:0 0 70px!important}.masked-gallery .gallery-reel{display:none}.album-scroll{height:350vh;height:350svh;position:relative}.album-sticky{position:sticky;top:90px;margin:0 5%;padding-top:16px}
.album-stage{position:relative;height:calc(100svh - 220px);max-height:770px;min-height:300px;overflow:hidden;background:#dedbd5;isolation:isolate}.album-stage>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;transform:none;translate:none}.album-stage .album-soft{object-fit:cover;filter:blur(24px);opacity:.24;transform:scale(1.06)}.album-stage .album-front{clip-path:url(#baoli-album-mask)}
.album-stage .album-enlarge{position:absolute;right:16px;bottom:16px;z-index:3;background:#edebe9;color:#313130;border:0;border-radius:50%;width:48px;height:48px;display:grid;place-items:center;cursor:zoom-in}.album-enlarge svg{width:21px;height:21px}
.album-caption{display:flex;gap:20px;align-items:center;justify-content:space-between;min-height:62px;padding:12px 0;font-size:15px}.album-caption p{margin:0}.album-progress{display:flex;gap:8px}.album-progress button{width:40px;height:44px;padding:0;border:0;background:transparent;position:relative;cursor:pointer}.album-progress button::after{content:"";position:absolute;left:0;right:0;top:21px;height:2px;background:#b5b4ad}.album-progress button[aria-pressed="true"]::after{background:#313130;height:3px}.masked-gallery .gallery-controls{margin:0 0 10px;gap:20px}.album-mask-defs{position:absolute;width:0;height:0;overflow:hidden}
.motion-paused .album-scroll{height:auto}.motion-paused .album-sticky{position:relative;top:0}.motion-paused .album-front{clip-path:none;opacity:0}
@media(max-width:700px){.menu-sheet{padding:20px 24px;gap:20px}#menu-dialog nav a{font-size:clamp(25px,7.6vw,34px);padding-block:13px}.practice-guide{margin:0 auto 75px;padding:0 6%}.practice-guide .guide-body{font-size:16px}.practice-guide summary{min-height:70px;font-size:23px}.album-scroll{height:290svh}.album-sticky{top:80px;margin:0 5%;padding-top:8px}.album-stage{height:48svh;min-height:280px;max-height:430px}.album-caption{display:block;min-height:90px;padding-top:17px}.album-progress{justify-content:space-between;gap:12px;margin-top:4px}.album-progress button{flex:1}.masked-gallery{padding-bottom:55px!important}}


#menu-dialog{border-radius:0;box-shadow:none}#menu-dialog nav a>span:first-child:not(:last-child){display:inline;color:inherit}#menu-dialog nav a:hover,#menu-dialog nav a:focus-visible{color:#edebe9}
@media(min-width:901px){.header nav{display:none}.header-actions{margin-left:auto}.header .menu-toggle{display:flex;align-items:center;justify-content:center}}

/* device-experience.css */
/* Touch-led mobile; a broader, photographic desktop composition. */
#menu-dialog nav a{border-radius:18px;transition:color .25s,scale .25s;--touch-x:50%;--touch-y:50%}
#menu-dialog nav a::after{content:"";position:absolute;inset:-100%;z-index:-1;background:radial-gradient(ellipse at var(--touch-x) var(--touch-y),#9FD3C7 0 26%,transparent 57%);opacity:0;scale:.25;transition:scale .8s cubic-bezier(.16,1,.3,1),opacity .55s;pointer-events:none}
#menu-dialog nav a.touching{scale:.985;color:#313130}#menu-dialog nav a.touching::after{opacity:1;scale:1}#menu-dialog nav a.touching::before{transform:translateY(102%)}
.studio-portal{padding:30px 6% 100px;background:#edebe9}.portal-link{display:block;text-decoration:none;color:#313130;max-width:1400px;margin:auto}.portal-photos{display:grid;grid-template-columns:1.6fr .8fr .8fr;gap:28px;align-items:center;padding:25px 0 35px}.portal-photos img{display:block;width:100%;height:350px;object-fit:cover;border-radius:35% 44% 33% 44% / 22% 30% 20% 25%;transition:transform .8s cubic-bezier(.16,1,.3,1)}.portal-photos img:first-child{height:470px;border-radius:30% 44% 26% 32% / 15% 20% 15% 21%}.portal-photos img:nth-child(2){transform:translateY(40px) rotate(4deg)}.portal-photos img:nth-child(3){transform:translateY(-25px) rotate(-4deg)}.portal-caption{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #31313030;padding:22px 0}.portal-caption strong{font:clamp(24px,3vw,38px)/1.35 Prata,serif;font-weight:400}.portal-caption small{display:block;font:14px/1.6 Manrope,sans-serif;margin-top:10px}.portal-caption svg{flex:none;width:56px;height:56px;stroke:#313130;stroke-width:1.2;fill:none}
@media(hover:hover){.motion-enabled .portal-link:hover .portal-photos img:nth-child(2){transform:translateY(12px) rotate(0)}.motion-enabled .portal-link:hover .portal-photos img:nth-child(3){transform:translateY(-10px) rotate(0)}}
#people .team-roster{align-items:start}#people .team-card{background:var(--teacher-tone,#D1CBBE);padding:20px 20px 26px!important;border-radius:40px 64px 38px 54px;color:#313130;overflow:hidden}#people .team-card:nth-child(2n){border-radius:62px 38px 56px 36px}#people .team-card .team-portrait,#people .team-card:nth-child(2n) .team-portrait{border-radius:43% 37% 36% 43% / 23% 29% 21% 24%!important;background:#edebe9;isolation:isolate}#people .team-card h3,#people .team-card p{color:#313130}#people .team-card .team-schedule-link{color:#313130}#people .portrait-choices button{border-radius:12px;overflow:hidden}#people .team-selector button{border-color:var(--teacher-tone,#b5b4ad)}#people .team-selector button[aria-pressed="true"]{background:var(--teacher-tone,#D1CBBE);color:#313130}
@media(min-width:801px){.gentle-hero .hero-photo picture{display:block;height:100%}.motion-enabled .gentle-hero .hero-photo img{animation:room-breath 14s ease-in-out 1.6s 2 alternate;transform-origin:center}.hero.hero-editorial.gentle-hero .hero-photo{border-radius:44px 110px 44px 78px!important}.hero.hero-editorial.gentle-hero .hero-photo img{object-fit:cover!important}.gentle-hero .hero-copy{z-index:2}#people .team-card:nth-child(3n+2){margin-top:50px}}
@keyframes room-breath{from{scale:1}to{scale:1.035}}
@media(max-width:800px){.hero.hero-editorial.gentle-hero .hero-photo{border-radius:24px 55px 24px 42px!important}.hero.hero-editorial.gentle-hero .hero-photo img{animation:none!important;scale:1!important}.hero-revealing.motion-enabled .gentle-hero .hero-photo:before,.hero-revealing.motion-enabled .gentle-hero .hero-photo:after{animation-duration:.8s}.studio-portal{padding:20px 6% 65px}.portal-photos{grid-template-columns:1.2fr 1fr;gap:18px;padding:18px 0 26px}.portal-photos img:first-child{height:280px;grid-row:span 2;border-radius:50px 65px 36px 44px}.portal-photos img:nth-child(2),.portal-photos img:nth-child(3){height:132px;transform:none;border-radius:42px 28px 36px 28px}.portal-caption{align-items:start}.portal-caption strong{font-size:27px}.portal-caption small{font-size:13px;max-width:26ch}.portal-caption svg{width:44px;height:44px}#people .team-card{flex-basis:86%;padding:16px 16px 24px!important;border-radius:34px 48px 30px 42px}#people .team-card .team-portrait{max-height:470px}.practice-fan .atlas-panel{border-radius:26px!important}.practice-fan .fan-panels{touch-action:pan-y}.practice-fan .atlas-status{max-width:90%;margin:0 auto}}
.motion-paused .portal-photos img,.motion-paused #menu-dialog nav a::after{transition:none}.motion-paused .gentle-hero .hero-photo img{animation:none!important}.motion-paused #menu-dialog nav a{transition:none}


/* refinement.css */
/* V38: touch-first pastel choices, an internal album and a liquid light opening. */
.gentle-hero .hero-bottom .pill{background:#9FD3C7!important;color:#263d34!important;border:1px solid #a6c7b9;box-shadow:0 9px 22px #456d5512}.gentle-hero .hero-bottom .pill:hover{background:#d1e8df!important}.gentle-hero .hero-bottom .pill b{background:#ffffff80;color:#263d34}
.practice-guide{max-width:1280px;margin:30px auto 85px}.practice-guide h2{margin-bottom:14px}.guide-hint{font:15px/1.65 Manrope,sans-serif;margin:0 0 30px;color:#494642}.practice-bubbles{display:flex;flex-wrap:wrap;gap:16px 18px;align-items:center}.practice-bubble{position:relative;display:flex;align-items:center;justify-content:center;gap:16px;flex:1 1 25%;min-height:100px;max-width:100%;padding:24px 30px;border:1px solid #ffffffc9;border-radius:48% 43% 46% 42% / 58% 55% 47% 49%;background:linear-gradient(135deg,#ffffffaa,var(--bubble-tone));box-shadow:0 8px 20px #52443c0a,inset 0 2px 2px #ffffffad;color:#313130;font:clamp(16px,1.6vw,23px)/1.35 Prata,serif;cursor:pointer;text-align:center;transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s}.practice-bubble:nth-child(3n+2){border-radius:44% 52% 46% 40% / 48% 50% 52% 55%}.practice-bubble svg{width:20px;height:20px;flex:none}.practice-bubble:active{transform:scale(.95)}.practice-bubble:focus-visible{outline:2px solid #313130;outline-offset:5px}@media(hover:hover){.practice-bubble:hover{transform:translateY(-5px);box-shadow:0 14px 28px #52443c14,inset 0 2px 2px #fff}}
.practice-fan .atlas-panel{background:var(--practice-tone,#9FD3C7)!important}.practice-fan .atlas-panel::after{background:linear-gradient(180deg,transparent 45%,var(--practice-tone,#9FD3C7) 87%)!important}.practice-fan .atlas-panel img{mix-blend-mode:normal;background:transparent}.practice-fan .atlas-copy{color:#313130!important}
#first-visit .faq-list{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}#first-visit details{padding:15px 25px 18px;border:0!important;border-radius:36px 60px 35px 49px;background:#DAB4C9;color:#313130}#first-visit details:nth-child(2){background:#9FD3C7;border-radius:56px 35px 47px 36px}#first-visit details:nth-child(3){background:#EAE788;border-radius:45px 35px 55px 40px}#first-visit details:nth-child(4){background:#B5D6E9;border-radius:36px 55px 38px 55px}#first-visit summary{min-height:80px;padding:12px 0!important;font-size:18px;line-height:1.5;gap:14px}#first-visit details p{font:15px/1.8 Manrope,sans-serif;padding:0 0 8px;max-width:56ch;color:#313130}#first-visit summary>span:last-child{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#ffffff80;flex:none}#first-visit .water-light{display:none}
.hero.hero-editorial.gentle-hero .hero-photo::before,.hero.hero-editorial.gentle-hero .hero-photo::after{display:none!important}.hero-liquid-light{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3}.hero.hero-editorial.gentle-hero .hero-photo img{animation:none!important}.hero-photo .light-replay{position:absolute;right:18px;bottom:18px;z-index:4;width:46px;height:46px;display:grid;place-items:center;border:1px solid #ffffffbc;border-radius:50%;background:#edebe9dd;color:#313130;cursor:pointer}.light-replay svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.3}.motion-paused .light-replay{display:none}
.motion-enabled .phone-scene .phone{transform:perspective(1100px) translateY(var(--phone-lift,0px)) rotateY(var(--phone-yaw,0deg)) rotateZ(var(--phone-roll,0deg))!important;will-change:auto}.motion-paused .phone-scene .phone{transform:none!important}.phone-scene{perspective:1100px}
@media(max-width:800px){.practice-guide{padding:0 22px;margin:20px auto 60px}.practice-bubbles{gap:12px 10px}.practice-bubble{flex:1 1 calc(50% - 10px);min-height:92px;padding:18px 13px;gap:7px;font-size:15px;line-height:1.5}.practice-bubble svg{width:16px;height:16px}.guide-hint{font-size:14px;max-width:30ch;margin-bottom:23px}.practice-guide h2{font-size:30px}#first-visit .faq-list{grid-template-columns:1fr;gap:14px}#first-visit details{padding:10px 23px 15px}#first-visit summary{min-height:72px;font-size:17px}.hero-photo .light-replay{bottom:12px;right:12px}.motion-enabled .phone-scene .phone{transform:perspective(1100px) translateY(var(--phone-lift,0px)) rotateY(var(--phone-yaw,0deg)) rotateZ(var(--phone-roll,0deg))!important}}
.motion-paused .practice-bubble{transition:none}

.fan-ready .practice-fan .atlas-panel .atlas-copy{background:var(--practice-tone,#9FD3C7)}
/* V42: soft glass pebbles, readable on touch and keyboard. */
.practice-bubbles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;align-items:center}.practice-bubble{width:100%;aspect-ratio:1.12;min-height:0;flex:none;flex-direction:column;padding:25px 20px;border-radius:49% 45% 48% 43% / 46% 51% 44% 50%;background:radial-gradient(ellipse at 28% 18%,#ffffffed,transparent 57%),linear-gradient(145deg,#ffffff80,var(--bubble-tone));border:1px solid #fff;box-shadow:inset 0 2px 8px #fff,inset 0 -8px 20px #ffffff60,0 10px 22px #3131300a;backdrop-filter:blur(9px);font-size:clamp(17px,1.6vw,23px);line-height:1.45;isolation:isolate;overflow:hidden}.practice-bubble::before{content:'';position:absolute;inset:8px;border:1px solid #ffffff99;border-radius:inherit;pointer-events:none}.practice-bubble::after{content:'';position:absolute;inset:-30%;background:linear-gradient(120deg,transparent 37%,#ffffff9c 49%,transparent 61%);transform:translateX(-75%);transition:transform .85s ease;z-index:-1;pointer-events:none}.practice-bubble:hover::after,.practice-bubble:focus-visible::after,.practice-bubble:active::after{transform:translateX(65%)}.practice-bubble svg{width:17px;height:17px;opacity:.6}.practice-bubble:nth-child(3n+2){border-radius:44% 50% 43% 48% / 50% 43% 51% 45%}
@media(max-width:800px){.practice-bubbles{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.practice-bubble{aspect-ratio:1.05;padding:20px 14px;min-height:155px;font-size:16px;gap:10px}}
.motion-paused .practice-bubble::after{transition:none}

/* V43: clear optical controls above an abstract pastel backdrop. */
.practice-bubbles{position:relative;background:radial-gradient(ellipse at 18% 28%,#9FD3C7 0,transparent 36%),radial-gradient(ellipse at 83% 48%,#DAB4C9 0,transparent 39%),radial-gradient(ellipse at 42% 85%,#B5D6E988 0,transparent 35%);padding:28px 10px;border-radius:50px}
.practice-bubble{--gx:30%;--gy:15%;background:#ffffff16!important;backdrop-filter:none;-webkit-backdrop-filter:none;border:1px solid #ffffffbb;box-shadow:inset 2px 3px 3px #fff,inset -2px -3px 5px #6b7b702c,0 8px 22px #3c51481c;font-family:Manrope,sans-serif;font-size:clamp(15px,1.3vw,19px);font-weight:500;border-radius:50%;transition:transform .5s cubic-bezier(.18,.8,.25,1),border-radius .5s,box-shadow .5s}
.practice-bubble:nth-child(3n+2){border-radius:47% 53% 50% 49%}.practice-bubble::before{inset:0;border:0;border-radius:inherit;background:linear-gradient(135deg,#fff4,transparent 45%,#fff2);-webkit-backdrop-filter:blur(2px) saturate(1.4);backdrop-filter:url(#practice-lens) blur(1px) saturate(1.4);box-shadow:inset 0 0 12px #ffffff9c;z-index:-1}
.practice-bubble::after{inset:0;transform:none!important;border-radius:inherit;background:radial-gradient(ellipse at var(--gx) var(--gy),#ffffffb0,transparent 45%);opacity:.7;transition:opacity .4s;z-index:-1}.practice-bubble:hover::after,.practice-bubble:focus-visible::after{opacity:1}.practice-bubble:active{transform:scale(.955);border-radius:45% 53% 46% 54%;box-shadow:inset 2px 3px 8px #fff,0 3px 10px #3c51481c}.practice-bubble>span{text-shadow:0 1px 5px #ffffffb3;max-width:15ch}.practice-bubble svg{opacity:.8}
@supports not (backdrop-filter:blur(2px)){.practice-bubble{background:#edebe9e8!important}}
/* V44: richer individually tinted optical surfaces. */
.practice-bubble{background:color-mix(in srgb,var(--bubble-tone) 57%,transparent)!important;box-shadow:inset 2px 3px 3px #fffffff0,inset -3px -5px 8px #53695e38,0 10px 24px #3c514824}
.practice-bubble::before{background:linear-gradient(140deg,#fff8,transparent 34%,transparent 62%,#fff5);box-shadow:inset 0 0 3px 2px #fff9,inset 0 -12px 18px #ffffff45}
.practice-bubble::after{background:radial-gradient(ellipse at var(--gx) var(--gy),#ffffffe0,transparent 43%);opacity:.6}
.detail-dialog{border-radius:32px;border:1px solid #ffffffb3;box-shadow:0 30px 90px #253a3540}#detail-dialog,#detail-dialog .detail-copy{background:var(--detail-tone,#9FD3C7);color:#313130}
@media(max-width:700px){.detail-dialog{border-radius:28px 28px 18px 18px;width:94vw;max-height:90dvh}.detail-grid>img{min-height:0;max-height:36svh;object-fit:cover}}
.motion-paused .practice-bubble,.motion-paused .practice-bubble::after{transition:none}
/* V46: a delicate enclosing edge keeps pastel practice cards distinct from the page. */
.fan-ready .practice-fan .atlas-panel{border:1px solid #a89f9680!important;box-sizing:border-box;outline:2px solid #ffffffb3;outline-offset:-3px}
/* One entrance owns the detail panel; avoid the global dialog keyframes. */
#detail-dialog[open]{animation:none!important}
.practice-bubble[aria-busy="true"]{box-shadow:inset 0 0 0 2px #ffffffd9,0 8px 20px #53695e20}
#detail-dialog::backdrop{animation:detail-backdrop-in .35s ease-out}
@keyframes detail-backdrop-in{from{background:#19231f00;backdrop-filter:blur(0)}to{background:#19231f99;backdrop-filter:blur(6px)}}
.motion-paused #detail-dialog::backdrop{animation:none}
/* V47: same delicate frame for the approved instructor colour surfaces. */
#people .team-card{border:1px solid #a89f9680;outline:2px solid #ffffff99;outline-offset:-4px;box-sizing:border-box}
/* V50: fine, static brand gestures — no extra animation/render loop. */
#intro,#practice,#people,#first-visit{background-image:url('assets/brand-thread.svg');background-size:100% auto;background-position:center;background-repeat:no-repeat}
.fan-ready .practice-fan .atlas-panel .atlas-copy{background-image:url('assets/brand-thread-card.svg');background-size:cover;background-position:center}
@media(max-width:800px){#intro,#practice,#people,#first-visit{background-size:auto 720px}.fan-ready .practice-fan .atlas-panel .atlas-copy{background-size:100% 100%}}

/* Keep the glass gradients inside the practice buttons, with a uniform page background. */
.practice-bubbles{background:none}

/* Curved Pilates weights: shaded volume, angled rest and horizontal interaction. */
.pilates-weight{display:inline-flex!important;align-items:center;justify-content:center;width:42px;height:32px;flex:0 0 42px;max-width:none!important;pointer-events:none;transform:rotate(-45deg);filter:drop-shadow(0 3px 2px #31313028)}
.pilates-weight svg,.practice-bubble .pilates-weight svg{display:block;width:42px;height:32px;opacity:1;overflow:visible}
.motion-enabled .pilates-weight{transition:transform .38s cubic-bezier(.16,1,.3,1)}
@media(hover:hover){.pill:hover .pilates-weight,.practice-bubble:hover .pilates-weight,.schedule-row:hover .pilates-weight{transform:rotate(0)}}
.pill:focus-visible .pilates-weight,.pill:active .pilates-weight,.practice-bubble:focus-visible .pilates-weight,.practice-bubble:active .pilates-weight,.schedule-row:focus-visible .pilates-weight,.schedule-row:active .pilates-weight{transform:rotate(0)}
.schedule-row{grid-template-columns:66px 1fr 42px}
@media(max-width:800px){.schedule-row{grid-template-columns:57px 1fr 36px}.schedule-row .pilates-weight{width:36px;flex-basis:36px}.schedule-row .pilates-weight svg{width:36px}}


/* Actual Sculpt Body Bar product images, cropped in CSS without changing the source files. */
.pilates-weight.body-bar{position:relative;filter:none;mix-blend-mode:multiply}
.body-bar-crop{position:absolute;display:block;width:12px;height:52px;overflow:hidden;transform:rotate(90deg);filter:brightness(1.085) saturate(1.2)}
.body-bar-crop img{position:absolute;width:48px!important;height:auto!important;max-width:none!important;left:-21px;top:-7px;object-fit:contain}
.body-bar--yellow .body-bar-crop{filter:brightness(1.085) saturate(1.8) hue-rotate(-110deg)}
.body-bar--lilac .body-bar-crop{filter:brightness(1.085) hue-rotate(-65deg)}
.practice-bubble .body-bar{margin:3px 0}

/* Client-supplied practice stamps, first variant for each matching class. */
.practice-bubble{gap:10px}
.practice-stamp{display:block;width:81px;height:67.5px;flex:0 0 67.5px;background-image:url('assets/practice-stamps-reference.jpg');background-size:282.75px 1200px;background-position:-16.5px var(--stamp-y);background-repeat:no-repeat;mix-blend-mode:multiply;filter:grayscale(1) contrast(3) brightness(1.3);pointer-events:none;text-shadow:none!important}
@media(max-width:800px){.practice-bubble{min-height:180px;aspect-ratio:1;padding:15px 10px;gap:8px}.practice-bubble>span:last-child{font-size:14px;line-height:1.35}}

/* Preserve circular shape and transparent stamps over the original glass layers. */
.practice-bubble,.practice-bubble:nth-child(3n+2){aspect-ratio:1;min-height:0;border-radius:50%}
.practice-bubble>span{text-shadow:none}
.practice-stamp{mix-blend-mode:normal;filter:url(#practice-stamp-ink)}
@media(max-width:800px){.practice-bubble{padding:12px 10px;gap:5px}.practice-bubble>span:last-child{font-size:13px;max-width:16ch}.practice-stamp{transform:scale(.9);margin:-3px 0}}
/* Horizontal Everyday Exercise Mat photographs for the six navigation links. */
#menu-dialog .menu-sheet nav{gap:5px;margin:10px -16px}
#menu-dialog .menu-sheet nav a{--mat-image:url('assets/menu-mats/mint-flat.jpg');min-height:140px;padding:20px 36px;align-items:center;justify-content:center;border:0;border-radius:0;background:transparent!important;overflow:hidden;font-size:clamp(23px,2.8vw,34px);text-align:center;isolation:isolate}
#menu-dialog .menu-sheet nav a:nth-child(2){--mat-image:url('assets/menu-mats/yellow-flat.jpg')}
#menu-dialog .menu-sheet nav a:nth-child(3){--mat-image:url('assets/menu-mats/pink-flat.jpg')}
#menu-dialog .menu-sheet nav a:nth-child(4){--mat-image:url('assets/menu-mats/pink-flat.jpg')}
#menu-dialog .menu-sheet nav a:nth-child(5){--mat-image:url('assets/menu-mats/blue-flat.jpg')}
#menu-dialog .menu-sheet nav a:nth-child(6){--mat-image:url('assets/menu-mats/blue-flat.jpg')}
#menu-dialog .menu-sheet nav a::before{inset:auto;left:50%;top:50%;width:368px;height:510px;background:var(--mat-image) center/100% 100% no-repeat;transform:translate(-50%,-50%) rotate(90deg)!important;mix-blend-mode:multiply;filter:brightness(1.065);transition:none;z-index:-1}
#menu-dialog .menu-sheet nav a:nth-child(4)::before{filter:brightness(1.065) hue-rotate(-45deg)}
#menu-dialog .menu-sheet nav a::after{display:none}
#menu-dialog .menu-sheet nav a:hover,#menu-dialog .menu-sheet nav a:focus-visible{color:#313130!important}
@media(max-width:700px){#menu-dialog .menu-sheet nav a{min-height:112px;padding:18px 20px;font-size:23px}#menu-dialog .menu-sheet nav a::before{width:296px;height:410px}.menu-sheet{gap:16px}}

#menu-dialog .menu-sheet nav a{mix-blend-mode:multiply}


#menu-dialog .menu-sheet nav a:nth-child(6)::before{filter:brightness(1.065) saturate(0) sepia(.18)}

/* Temporary photo-ball comparison, preserving the supplied stamps and class dialogs. */
.ball-preview-controls{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 20px}
.ball-preview-controls button{padding:11px 16px;border:1px solid #313130;border-radius:24px;background:transparent;color:#313130;font:14px Manrope,sans-serif;cursor:pointer}
.ball-preview-controls button[aria-pressed=true]{background:#313130;color:#edebe9}
.ball-preview-controls button:focus-visible{outline:2px solid #313130;outline-offset:4px}
.photo-balls .practice-bubble{background:transparent!important;border:0;box-shadow:none;mix-blend-mode:multiply;isolation:isolate}
.practice-ball-photo{position:absolute;inset:0;max-width:none!important;border-radius:50%;background:url('assets/pilates-ball-clean.png') center/177% auto no-repeat;filter:var(--ball-filter);z-index:-2;pointer-events:none}
.photo-balls .practice-bubble::before,.photo-balls .practice-bubble::after{display:none}
.photo-balls.glass-preview .practice-bubble::before,.photo-balls.glass-preview .practice-bubble::after{display:block}
.photo-balls.glass-preview .practice-bubble{box-shadow:inset 2px 3px 3px #fffffff0,inset -3px -5px 8px #53695e38}
.photo-balls .practice-stamp{position:absolute;top:43%;left:50%;transform:translateX(-50%) scale(.8);margin:0}
.photo-balls .practice-bubble>span:last-child{position:absolute;bottom:13%;left:12%;right:12%;max-width:none;font-size:clamp(13px,1.3vw,18px);line-height:1.2}
@media(max-width:800px){.photo-balls .practice-stamp{top:39%;transform:translateX(-50%) scale(.62)}.photo-balls .practice-bubble>span:last-child{bottom:10%;font-size:12px}}

/* Centred stamp and debossed practice lettering on the unbranded photo. */
.photo-balls .practice-stamp{top:20%;transform:translateX(-50%) scale(1);margin:0}
.photo-balls .practice-bubble>span:last-child{top:63%;bottom:auto;left:10%;right:10%;font-family:Manrope,sans-serif;font-weight:650;font-size:clamp(15px,1.5vw,21px);letter-spacing:-.025em;line-height:1.25;color:#4c4148;text-shadow:0 1px 1px #ffffffb3,0 -1px 1px #31313055}
@media(max-width:800px){.photo-balls .practice-stamp{top:18%;transform:translateX(-50%) scale(.82)}.photo-balls .practice-bubble>span:last-child{font-size:14px}}

/* Debossed stamp edges match the recessed practice lettering. */
.photo-balls .practice-stamp{filter:url(#practice-stamp-ink) drop-shadow(0 1px .6px #ffffffc0) drop-shadow(0 -1px .5px #31313055);opacity:.82}

/* Larger figure, with the whole composition lifted slightly. */
.photo-balls .practice-stamp{top:15%;transform:translateX(-50%) scale(1.2)}
.photo-balls .practice-bubble>span:last-child{top:60%}
@media(max-width:800px){.photo-balls .practice-stamp{top:13%;transform:translateX(-50%) scale(1.05)}}

/* Instructor colours are the base material; photo contributes only neutral shading. */
.photo-balls .practice-bubble{mix-blend-mode:normal}
.practice-ball-photo{background:var(--bubble-tone);filter:none;overflow:hidden}
.practice-ball-photo::before{content:'';position:absolute;inset:0;background:url('assets/pilates-ball-clean.png') center/177% auto no-repeat;filter:grayscale(1) brightness(1.35);mix-blend-mode:multiply;opacity:.55;border-radius:inherit}
.photo-balls .practice-bubble>span:last-child{font-family:Prata,serif;font-style:normal;font-weight:400;font-size:clamp(18px,1.8vw,26px);letter-spacing:0;line-height:1.08;font-feature-settings:'locl' 1}
@media(max-width:800px){.photo-balls .practice-stamp{top:4%}.photo-balls .practice-bubble>span:last-child{top:64%;font-size:19px;left:8%;right:8%}}
@media(max-width:360px){.photo-balls .practice-bubble>span:last-child{font-size:16px}}

/* Keep the figure and label together in the safe centre of each sphere. */
.photo-balls .practice-bubble{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:18% 8%}
.photo-balls .practice-stamp{position:relative;top:auto;left:auto;transform:scale(1);margin:-3px 0;flex:0 0 67.5px}
.photo-balls .practice-bubble>span:last-child{position:relative;inset:auto;max-width:100%;flex:none}
@media(max-width:800px){.photo-balls .practice-stamp{top:auto;transform:scale(.85);margin:-7px 0}.photo-balls .practice-bubble>span:last-child{top:auto;font-size:17px;line-height:1.05}}
@media(max-width:360px){.photo-balls .practice-stamp{transform:scale(.7);margin:-12px 0}.photo-balls .practice-bubble>span:last-child{font-size:15px}}

/* Shared soft photographic stage preserves portrait and landscape compositions. */
.fan-ready .practice-fan .atlas-panel{border-radius:30px!important;box-shadow:0 16px 30px #31313015}
.practice-photo-frame{position:absolute;top:14px;left:14px;right:14px;bottom:182px;display:grid;place-items:center;padding:10px;border-radius:22px;background:color-mix(in srgb,var(--practice-tone) 24%,#edebe9);overflow:hidden;pointer-events:none}
.fan-ready .practice-fan .atlas-panel .practice-photo-frame img{position:static!important;display:block;width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important;transform:none!important;border-radius:16px;background:transparent;box-shadow:0 5px 12px #31313012}
@media(max-width:800px){.practice-photo-frame{top:12px;left:12px;right:12px;bottom:157px;padding:8px;border-radius:20px}.fan-ready .practice-fan .atlas-panel .practice-photo-frame img{border-radius:14px}}

.practice-photo-frame{display:flex;align-items:center;justify-content:center}.fan-ready .practice-fan .atlas-panel .practice-photo-frame img{min-width:0;min-height:0}

/* Broader palette at the entrance; teacher colours stay semantic in the schedule. */
.hero.hero-editorial.gentle-hero{background:#edebe9}
.gentle-hero .hero-bottom .pill{background:#EAE788!important;color:#313130!important;border-color:transparent;box-shadow:none}
.gentle-hero .hero-bottom .pill:hover{background:#f0eda8!important}
.gentle-hero .hero-team-link{background:#C3B5DF;padding:12px 20px;border-radius:28px;text-decoration:none;min-height:44px}
#schedule .schedule-days{background:color-mix(in srgb,#B5D6E9 40%,#edebe9)}
#schedule .schedule-days button[aria-selected=true]{background:#EAE788;color:#313130}
#schedule .schedule-row{border:0;margin:10px 0;padding:20px 16px;border-radius:24px 40px 24px 34px;background:color-mix(in srgb,var(--teacher-color) 38%,#edebe9);grid-template-columns:57px minmax(0,1fr) 48px;gap:12px}
#schedule .schedule-row.selected{background:var(--teacher-color);box-shadow:inset 0 0 0 1.5px #31313080}
#schedule .schedule-row:hover{background:color-mix(in srgb,var(--teacher-color) 80%,#edebe9)}
#schedule .schedule-selection{padding:14px;border-radius:28px;background:color-mix(in srgb,var(--teacher-color) 23%,#edebe9)}
#schedule .schedule-photo{border-radius:20px;background:color-mix(in srgb,var(--teacher-color) 40%,#edebe9)}
#schedule .schedule-preview-copy{padding:22px 8px 8px}
#schedule .schedule-preview .pill{background:var(--teacher-color)}
.schedule-equipment-note{font-size:13px;line-height:1.5}
@media(max-width:800px){#schedule .schedule-row{padding:18px 12px;gap:8px;grid-template-columns:49px minmax(0,1fr) 40px}#schedule .schedule-row strong{font-size:18px}#schedule .schedule-preview{margin:8px 0 22px}#schedule .schedule-preview h3{font-size:30px}}

/* An editorial two-line introduction in the established brand type. */
.hero.hero-editorial.gentle-hero .hero-bottom p{display:flex;flex-direction:column;align-items:flex-start;gap:8px;font-family:Prata,serif;font-size:clamp(22px,2.3vw,32px)!important;line-height:1.4!important;margin:0;order:-2}
.hero-disciplines{font:15px/1.6 Manrope,sans-serif;letter-spacing:.015em}
.hero-disciplines>span{background:none;padding:0}
.hero-for-you{font:400 clamp(27px,3vw,38px)/1.3 Prata,serif;letter-spacing:0;color:#313130}
@media(max-width:800px){.hero.hero-editorial.gentle-hero .hero-bottom{gap:18px!important}.hero.hero-editorial.gentle-hero .hero-bottom p{font-size:24px!important;gap:5px}.hero.hero-editorial.gentle-hero{padding-bottom:30px!important}}

/* Invitation-inspired paper and pastel linework, confined to the opening. */
.hero.hero-editorial.gentle-hero,.motion-enabled .hero.hero-editorial.gentle-hero{background-color:#edebe9;background-image:url('assets/invitation-lines.svg'),linear-gradient(120deg,#ffffff66,transparent 45%,#ffffff38);background-size:100% 100%;background-repeat:no-repeat;isolation:isolate}
@media(max-width:800px){.hero.hero-editorial.gentle-hero,.motion-enabled .hero.hero-editorial.gentle-hero{background-size:100% 100%;background-position:center}}

/* Original wordmark in the menu and a typographic pause beneath the hero. */
#menu-dialog .menu-original-logo{display:block;line-height:1;font-size:0}
#menu-dialog .menu-original-logo .logo-window{display:block;width:142px;height:54px;overflow:hidden}
#menu-dialog .menu-original-logo img{display:block;width:142px;height:auto;max-width:none;transform:translateY(-67px);mix-blend-mode:multiply}
#intro.section{padding:52px 7% 28px!important}
#intro.section .intro-text{display:flex;flex-direction:column;align-items:center;gap:8px;max-width:760px!important;font-size:inherit!important;line-height:1.3!important;text-align:center}
#intro .intro-statement{display:block;font:400 clamp(28px,3.3vw,44px)/1.3 Prata,serif;letter-spacing:-.025em;text-wrap:balance}
#intro .intro-emphasis{display:block;font:400 clamp(30px,3.5vw,46px)/1.3 Prata,serif;letter-spacing:-.015em;text-wrap:balance}
#intro .intro-invitation{display:block;max-width:42ch;margin-top:16px;font:400 16px/1.75 Manrope,sans-serif;text-wrap:pretty}
@media(max-width:800px){#intro.section{padding:38px 7% 20px!important}#intro.section .intro-text{gap:4px}#intro .intro-statement{font-size:27px}#intro .intro-emphasis{font-size:32px}#intro .intro-invitation{font-size:14px;line-height:1.8;max-width:33ch;margin-top:15px}}
#intro.section>.water-light{display:none!important}

/* Soft photographic reflections; move a light layer, never resample the backdrop. */
.photo-balls .practice-bubble{border-radius:50%!important;transition:transform .25s ease;contain:paint}
.photo-balls.glass-preview .practice-bubble{box-shadow:inset 1px 2px 3px #ffffff9c,inset -2px -4px 9px #53695e30}
.photo-balls.glass-preview .practice-bubble::before{backdrop-filter:none;-webkit-backdrop-filter:none;background:linear-gradient(145deg,#ffffff26,transparent 38%,transparent 70%,#ffffff18);box-shadow:inset 0 1px 2px #ffffff80,inset 0 -5px 12px #ffffff20}
.photo-balls.glass-preview .practice-bubble::after{inset:0;opacity:.8;background:radial-gradient(ellipse 23% 12% at 31% 23%,#ffffff85 0%,#ffffff48 32%,#ffffff16 65%,transparent 100%),radial-gradient(ellipse 12% 28% at 83% 64%,#ffffff28,transparent 100%);transform:translate3d(var(--light-x,0px),var(--light-y,0px),0)!important;transition:none}
.photo-balls .practice-bubble>span:last-child{font-family:Manrope,sans-serif;font-weight:600;font-style:normal;font-size:clamp(16px,1.5vw,21px);line-height:1.25;letter-spacing:-.02em;color:#39383a;text-wrap:balance;text-shadow:0 1px 1px #ffffffb3,0 -1px .7px #31313066}
@media(max-width:800px){.photo-balls .practice-bubble>span:last-child{font-size:15px}}
@media(max-width:360px){.photo-balls .practice-bubble>span:last-child{font-size:14px}}
@media(hover:hover){.photo-balls .practice-bubble:hover{transform:translateY(-2px)}}
.photo-balls .practice-bubble:active{transform:scale(.98)}
.motion-paused .photo-balls .practice-bubble,.effects-off .photo-balls .practice-bubble{transition:none}


/* Draw a small brand loop inside each answer instead of a black top rule. */
#first-visit details::before{display:none}
#first-visit details{--faq-tone:#DAB4C9}
#first-visit details:nth-child(2){--faq-tone:#9FD3C7}
#first-visit details:nth-child(3){--faq-tone:#EAE788}
#first-visit details:nth-child(4){--faq-tone:#B5D6E9}
.faq-brand-line{display:block;width:100%;height:26px;margin:0 0 12px;overflow:visible;pointer-events:none;color:color-mix(in srgb,var(--faq-tone) 70%,#313130)}
.faq-brand-line path{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:0}
.motion-enabled details[open] .faq-brand-line path{animation:faq-brand-draw 1.2s cubic-bezier(.22,.61,.36,1) both}
@keyframes faq-brand-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.motion-paused .faq-brand-line path,.effects-off .faq-brand-line path{animation:none!important}


/* Real app screens supplied in the studio handoff. */
#app .phone{min-height:0!important;padding:8px!important;border-radius:34px;overflow:hidden}
#app .phone-shot{display:block;width:100%;height:auto;border-radius:21px}
#app .ritual-fan img{height:auto;aspect-ratio:1170/2532;object-fit:contain;border-radius:20px;background:#edebe9;top:12%}

/* Fit all six mat links in the open menu, including short mobile viewports. */
#menu-dialog .menu-sheet{padding:18px 24px;gap:10px;overflow-y:auto}
#menu-dialog .menu-sheet .menu-top{flex-shrink:0}
#menu-dialog .menu-sheet nav{flex:1 0 auto;gap:3px;margin:4px -12px;justify-content:center}
#menu-dialog .menu-sheet nav a{min-height:44px;height:clamp(44px,calc((100dvh - 180px)/6),82px);padding:6px 14px;font-size:clamp(19px,2.5vh,26px);flex:none}
#menu-dialog .menu-sheet nav a::before{width:216px;height:340px}
#menu-dialog .menu-sheet>p{font-size:12px;line-height:1.4;padding:0;flex-shrink:0}
@media(max-width:700px){#menu-dialog .menu-sheet{padding:14px 22px;gap:8px}#menu-dialog .menu-sheet nav a{font-size:clamp(18px,2.8dvh,23px)}#menu-dialog .menu-sheet nav a::before{width:200px;height:310px}}

/* Slightly larger mats with lettering pressed into their surface. */
#menu-dialog .menu-sheet nav a{height:clamp(44px,calc((100dvh - 170px)/6),90px);font-family:Manrope,sans-serif;font-weight:600;letter-spacing:-.025em;line-height:1.25;text-shadow:0 1px 1px #ffffffb3,0 -1px .7px #31313066}
#menu-dialog .menu-sheet nav a::before{width:234px;height:370px}
@media(max-width:700px){#menu-dialog .menu-sheet nav a{font-size:clamp(19px,2.9dvh,24px)}#menu-dialog .menu-sheet nav a::before{width:218px;height:338px}}

/* Fine warm edge for the opening class invitation. */
.gentle-hero .hero-bottom .pill{border:1px solid #aaa258;box-shadow:inset 0 0 0 3px #ffffff29,inset 0 0 0 4px #aaa25845,0 3px 9px #716b2f0a}
.gentle-hero .hero-bottom .pill:hover{border-color:#89813e}
.gentle-hero .hero-bottom .pill>span[data-i18n="heroCta"]{font-family:Prata,serif;font-size:clamp(17px,1.5vw,20px);font-weight:400;line-height:1.4;letter-spacing:-.02em}

.gentle-hero .hero-bottom .pill>span[data-i18n="heroCta"]{font-family:"Marck Script",cursive;font-size:clamp(26px,2.5vw,32px);font-weight:400;line-height:1.1;letter-spacing:0}

/* Hand-drawn directional marks on paired pastel touch targets. */
#practice .slider-nav{gap:9px;background:none;box-shadow:none;border:0;padding:0;backdrop-filter:none}
#practice .slider-nav .round{width:51px;height:48px;min-width:48px;padding:3px;display:grid;place-items:center;border:1px solid #31313024;color:#313130;box-shadow:inset 0 1px 0 #ffffff8c,0 3px 7px #31313009;transition:transform .2s ease,box-shadow .2s ease}
#practice #prev-class{background:#DAB4C9;border-radius:47% 53% 43% 57% / 52% 44% 56% 48%;transform:rotate(-5deg)}
#practice #next-class{background:#B5D6E9;border-radius:55% 45% 52% 48% / 44% 57% 43% 56%;transform:rotate(5deg)}
#practice .slider-nav svg{display:block;width:40px;height:37px;overflow:visible;pointer-events:none}
#practice .slider-nav path{fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
#practice .slider-nav .round:hover{transform:rotate(0) translateY(-2px);box-shadow:inset 0 1px 0 #ffffff8c,0 5px 10px #31313014}
#practice .slider-nav .round:active{transform:rotate(0) scale(.94)}
#practice .slider-nav .round:focus-visible{outline:2px solid #313130;outline-offset:4px}
.motion-paused #practice .slider-nav .round{transition:none}


/* Handwritten header controls echo the personal invitation. */
.header .menu-toggle{width:82px;min-width:82px;justify-content:center;border:1px solid #6b9d90!important;box-shadow:inset 0 0 0 3px #ffffff26,inset 0 0 0 4px #6b9d903d}
.header .menu-toggle .menu-caption{font:600 15px/1.2 Manrope,sans-serif;letter-spacing:0}
.header .language{font:600 14px/1 Manrope,sans-serif;letter-spacing:0;min-width:44px;min-height:44px}
.header .header-actions .menu-toggle{border-color:#6b9d90!important}

/* Bolder handwritten arrows in the requested paired brand colours. */
#practice #prev-class{color:#B5D6E9}
#practice #next-class{color:#EAE788}
#practice .slider-nav path{stroke-width:3.2}

/* Weekly calendar inspired by the supplied app screenshot. */
.schedule-view-switch{display:flex;gap:9px;margin:0 0 28px}
.schedule-view-switch button{min-height:44px;border:1px solid #31313026;border-radius:26px;background:transparent;padding:10px 19px;color:#313130;font:500 14px Manrope,sans-serif;cursor:pointer}
.schedule-view-switch button[aria-pressed=true]{background:#B5D6E9;border-color:#B5D6E9}
#schedule[data-view="week"] .schedule-days,#schedule[data-view="week"] #schedule-panel{display:none}
#schedule[data-view="day"] .schedule-week{display:none}
.week-head,.week-events{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}
.week-head{margin-bottom:16px;text-align:center;font:500 14px Manrope,sans-serif;letter-spacing:.06em}
.week-events{grid-template-rows:repeat(var(--week-rows),minmax(78px,auto));align-items:start}
.week-event{min-width:0;width:100%;min-height:68px;padding:10px 7px;border:1px solid transparent;border-radius:19px;background:var(--teacher-color);color:#313130;text-align:center;cursor:pointer;font:12px/1.25 Manrope,sans-serif;transition:transform .2s}
.week-event time{display:block;font-size:11px;margin-bottom:5px;font-variant-numeric:tabular-nums}
.week-event strong{display:block;font-weight:650;overflow-wrap:anywhere}
.week-event span{display:block;margin-top:3px;font-size:11px}.week-event small{display:block;margin-top:4px;font-size:10px}
.week-event:hover{transform:translateY(-2px);border-color:#31313066}
@media(max-width:800px){#schedule .schedule-heading h2{font-size:38px}.week-head,.week-events{gap:3px}.week-head{font-size:11px}.week-events{grid-template-rows:repeat(var(--week-rows),minmax(86px,auto))}.week-event{padding:7px 2px;border-radius:12px;min-height:76px;font-size:10px;line-height:1.2}.week-event time,.week-event span{font-size:9px}.week-event small{font-size:8px}.schedule-view-switch{margin-bottom:24px}}
.motion-paused .week-event{transition:none}


/* Fine calendar framing keeps the pastel timetable clearly structured. */
#schedule .schedule-week{border:1px solid #bcb8ae;border-radius:24px;padding:20px 14px;background:#ffffff12}
#schedule .week-head{padding-bottom:14px;border-bottom:1px solid #cbc7be}
#schedule .week-event{border:1px solid color-mix(in srgb,var(--teacher-color) 58%,#313130);box-shadow:inset 0 0 0 2px #ffffff24}
#schedule .week-event:hover,#schedule .week-event:focus-visible{border-color:#313130}
@media(max-width:800px){#schedule .schedule-week{padding:16px 4px;border-radius:18px;margin-inline:-8px}#schedule .week-event{border-radius:11px}}

/* Match the day view to the framed weekly calendar. */
#schedule .schedule-row{border:1px solid color-mix(in srgb,var(--teacher-color) 58%,#313130)!important}
#schedule .schedule-row.selected{border-color:color-mix(in srgb,var(--teacher-color) 35%,#313130)!important}
#schedule .schedule-selection{border:1px solid color-mix(in srgb,var(--teacher-color) 58%,#313130)}

/* Clear weekdays and a compact desktop week, without empty time slots. */
#schedule .week-head{font:600 14px/1.3 Manrope,sans-serif;letter-spacing:.02em}
#schedule .schedule-days button{font-family:Manrope,sans-serif;font-size:14px;font-weight:600}
@media(min-width:801px){
 #schedule.weekly-schedule{padding-top:55px;padding-bottom:55px}
 #schedule .schedule-heading{margin-bottom:20px}
 #schedule .schedule-heading h2{font-size:clamp(34px,3.5vw,50px);margin-bottom:10px}
 #schedule .schedule-view-switch{margin-bottom:18px}
 #schedule .week-events{grid-template-rows:none;grid-auto-rows:minmax(66px,auto);gap:6px;align-items:stretch}
 #schedule .week-event{grid-row:var(--week-order)!important;min-height:66px;padding:7px 5px;font-size:11px;border-radius:14px}
 #schedule .week-event time{margin-bottom:3px;font-size:11px}
 #schedule .week-event span{font-size:10px;margin-top:2px}
 #schedule .schedule-booking-note{margin-top:18px}
}
@media(max-width:800px){#schedule .week-head{font-size:12px}#schedule .schedule-days button{font-size:14px}}

#schedule .week-head{position:sticky;top:88px;z-index:4;background:#edebe9;padding-top:10px;margin-top:-10px;box-shadow:0 5px 8px #edebe9}
#schedule .week-foot{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;text-align:center;font:600 14px/1.3 Manrope,sans-serif;margin-top:16px;padding-top:14px;border-top:1px solid #cbc7be}
#prices .price-unlimited{border:2px solid #77702f;border-radius:22px 29px 24px 19px;box-shadow:inset 0 0 0 3px #ffffff50,0 4px 12px #77702f12}
#prices .price-unlimited dd{position:relative;padding:7px 10px}
#prices .price-unlimited dd::after{content:'';position:absolute;inset:0;border:1.5px solid #77702f;border-radius:48% 52% 46% 54%;transform:rotate(-5deg);pointer-events:none}
@media(max-width:800px){#schedule .week-head{top:82px}#schedule .week-foot{gap:3px;font-size:12px}}

/* Brand words retain the exact studio palette; scrolling stays native. */
.marquee>div>:nth-child(3n+1){color:#9FD3C7}
.marquee>div>:nth-child(3n+2){color:#DAB4C9}
.marquee>div>:nth-child(3n){color:#B5D6E9}
.marquee>div:nth-child(2){opacity:.85}
#prices .price-unlimited{border:3px solid #77702f;box-shadow:inset 0 0 0 4px #ffffff60}
#prices .price-unlimited dt{font-weight:800}

/* Studio invitation: the same pastel, drawn gesture as the practice controls. */
.portal-caption .studio-drawn-arrow{width:56px;height:56px;padding:5px;background:#DAB4C9;border:1px solid #b48da2;border-radius:46% 54% 49% 51%;stroke:#587d92;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;transform:rotate(-5deg)}
.motion-enabled .portal-caption .studio-drawn-arrow{transition:transform .35s ease-out}
.motion-enabled .portal-link:hover .studio-drawn-arrow,.motion-enabled .portal-link:focus-visible .studio-drawn-arrow{transform:rotate(0deg) translate(2px,-2px)}
@media(max-width:800px){.portal-caption .studio-drawn-arrow{width:48px;height:48px}}


/* A readable mobile week: two day columns, swipe or jump through all seven. */
.mobile-week{display:none}
@media(max-width:800px){
 #schedule .schedule-week{margin-inline:0;padding:12px 10px 14px;border-radius:20px}
 #schedule .week-desktop{display:none}
 .mobile-week{display:block;min-width:0}
 .mobile-week-jump{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0;border-bottom:1px solid #cbc7be;padding-bottom:10px}
 .mobile-week-jump button{min-width:0;min-height:44px;padding:8px 0;border:0;border-radius:13px;background:none;color:#313130;font:600 13px/1.2 Manrope,sans-serif;cursor:pointer}
 .mobile-week-jump button[aria-pressed=true]{background:#B5D6E9}
 .mobile-week-hint{font:12px/1.5 Manrope,sans-serif;color:#575751;margin:12px 2px}
 .mobile-week-track{position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 12px)/2);gap:12px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#9FD3C7 #dedbd5;padding:2px 2px 14px;align-items:start;overscroll-behavior-x:contain}
 .mobile-week-day{min-width:0;scroll-snap-align:start}
 .mobile-week-day h3{font:600 14px/1.4 Manrope,sans-serif;margin:0 0 12px;padding:0 1px 10px;border-bottom:1px solid #cbc7be;overflow-wrap:anywhere}
 .mobile-week-day h3 small{display:block;font:400 12px/1.5 Manrope,sans-serif;margin-top:3px;color:#575751}
 .mobile-week-classes{display:grid;gap:8px}
 #schedule .mobile-week .week-event{min-height:104px;padding:11px 9px;text-align:left;font:600 13px/1.3 Manrope,sans-serif;border-radius:12px;box-shadow:none}
 #schedule .mobile-week .week-event strong{overflow-wrap:normal;hyphens:auto}
 #schedule .mobile-week .week-event time{font-size:15px;font-weight:700;margin-bottom:8px}
 #schedule .mobile-week .week-event span{font-size:12px;font-weight:400;margin-top:6px;overflow-wrap:anywhere}
 #schedule .mobile-week .week-event small{font-size:11px;font-weight:400}
 .mobile-week-empty{font:13px/1.5 Manrope,sans-serif;color:#575751;padding:12px 2px}
}

@media(max-width:800px){
 #schedule .schedule-week{position:relative;margin-top:20px;padding-top:28px;border:1.5px solid #8d9185;border-radius:16px 20px 17px 15px;background:#f6f4f0}
 #schedule .schedule-week::before,#schedule .schedule-week::after{content:'';position:absolute;top:-12px;width:9px;height:25px;border:2px solid #78998d;border-radius:7px;background:#edebe9;pointer-events:none}
 #schedule .schedule-week::before{left:20%}#schedule .schedule-week::after{right:20%}
 .mobile-calendar-title{font:600 15px/1.4 Manrope,sans-serif;margin:0 0 15px;text-align:center}
 .mobile-week-jump{position:sticky;top:82px;z-index:3;background:#f6f4f0;padding-top:5px}
 .mobile-week-day{border-right:1px solid #dad8d0;padding-right:6px}
 .mobile-week-day h3{min-height:56px}
}

/* Two core families; handwriting reserved for the hero invitation and Menu. */
h1 em,h2 em,h3 em{font-family:Prata,serif;font-style:normal;font-weight:400}
#prices .pricing-intro h2 em{font:400 1em/1.25 Prata,serif}

@media(max-width:800px){
 .mobile-week-track{touch-action:pan-x pan-y pinch-zoom;-webkit-overflow-scrolling:touch;cursor:grab}
 .mobile-week-track .week-event{touch-action:pan-x pan-y pinch-zoom;user-select:none;-webkit-user-select:none}
 .mobile-week-track.is-dragging{cursor:grabbing;scroll-snap-type:none}
 .mobile-week-track.is-dragging .week-event{cursor:grabbing;pointer-events:none}
}

/* A studio-coloured instructor picker, with native disclosure/keyboard behavior. */
.schedule-filter{min-width:260px;position:relative;z-index:6}
.teacher-picker{position:relative}
.teacher-picker summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px;padding:12px 16px;border:1px solid #91ada3;border-radius:16px;background:#e0e9e2;font:500 14px/1.4 Manrope,sans-serif;cursor:pointer}
.teacher-picker summary::-webkit-details-marker{display:none}
.teacher-picker summary svg{width:34px;height:28px;fill:none;stroke:#446f64;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;transition:transform .25s ease}
.teacher-picker[open] summary svg{transform:rotate(180deg)}
.teacher-options{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:8;padding:7px;background:#f6f4f0;border:1px solid #b9c7bb;border-radius:16px;max-height:360px;overflow-y:auto}
.teacher-options button{display:flex;align-items:center;gap:12px;width:100%;min-height:44px;padding:10px;border:0;border-radius:9px;background:none;color:#313130;text-align:left;font:500 14px/1.4 Manrope,sans-serif;cursor:pointer}
.teacher-options button:hover,.teacher-options button[aria-pressed=true]{background:#e1e8e0}
.teacher-options i{width:20px;height:20px;border:1px solid #31313028;border-radius:50%;flex-shrink:0}
.all-teacher-tones{background:conic-gradient(#DAB4C9 0 60deg,#9FD3C7 60deg 120deg,#B5D6E9 120deg 180deg,#EAE788 180deg 240deg,#D1CBBE 240deg 300deg,#C3B5DF 300deg)}
#practice,#practice .practice-stage{background:#edebe9!important}
#practice .section-heading,#practice .section-heading h2{background:transparent!important}
#intro.section{background-color:#edebe9;padding-top:68px!important;padding-bottom:52px!important}
#intro.section .intro-text{align-items:flex-start;text-align:left;gap:12px;max-width:880px!important;margin-inline:auto}
#intro .intro-statement{font-size:clamp(29px,3.8vw,54px);line-height:1.3}
#intro .intro-emphasis{font-size:clamp(34px,4.6vw,66px);line-height:1.3;position:relative;padding-bottom:12px}
#intro .intro-emphasis::after{content:'';display:block;width:100px;height:3px;margin-top:20px;background:#9FD3C7;border-radius:50%;transform:rotate(-3deg)}
#intro .intro-invitation{font-size:16px;max-width:40ch;margin-top:4px;line-height:1.8}
#menu-dialog .menu-layer{background:#B5D6E9}#menu-dialog .menu-layer:nth-child(2){background:#DAB4C9}#menu-dialog .menu-sheet{background:#edebe9}
@media(max-width:800px){.schedule-filter{min-width:0;width:100%}#intro.section{padding-top:42px!important;padding-bottom:30px!important}#intro .intro-invitation{font-size:15px}}


/* Remove the residual control glint behind the practice heading. */
#practice .slider-nav.glass-control{isolation:auto;overflow:visible;backdrop-filter:none;-webkit-backdrop-filter:none;background:none;box-shadow:none}
#practice .slider-nav.glass-control::before{content:none!important;display:none!important}
#practice .section-heading{isolation:isolate;background:#edebe9!important}
#menu-dialog .menu-sheet>p{max-width:none;font:400 clamp(18px,2vw,24px)/1.5 Prata,serif;padding:8px 0 0;margin:0;text-align:center}
#menu-dialog .menu-sheet>p em{display:inline-block;font:500 14px/1.6 Manrope,sans-serif;font-style:normal;letter-spacing:.035em;margin-top:3px}
#menu-dialog .close-dialog{width:46px;height:46px;background:#9FD3C7;border:1px solid #72998d;border-radius:46% 54% 48% 52%;padding:8px}
#menu-dialog .close-dialog svg{width:28px;height:28px;fill:none;stroke:#41665c;stroke-width:2.2;stroke-linecap:round}
#people .team-selector button{border:1px solid #a8aca1!important}
#people .team-selector button[aria-pressed=true]{border-color:#556e61!important}
.header .language,.schedule-view-switch button,.mobile-week-jump button,.teacher-options button,.schedule-days button,.portrait-choices button,.team-schedule-link,.schedule-preview-actions .text-link,.schedule-preview-actions .pill,.app-section .pill,.detail-copy button,.detail-copy .pill{border:1px solid #909b8c!important}
.header .language{border-radius:16px}
.teacher-options button{border-color:#c5cabf!important}
.teacher-options button+button{margin-top:3px}
.team-schedule-link,.schedule-preview-actions .text-link{padding:9px 14px;border-radius:14px}
#first-visit .faq-toggle-mark{background:transparent;border:1px solid #69746970}
.faq-toggle-mark svg{width:28px;height:28px;fill:none;stroke:#465c50;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
#first-visit details[open] .faq-toggle-mark{transform:rotate(45deg)}
@media(max-height:700px){#menu-dialog .menu-sheet>p{font-size:17px;padding-top:0;line-height:1.25}#menu-dialog .menu-sheet>p em{font-size:12px;margin-top:0}}

html.motion-enabled{scroll-behavior:smooth}html.motion-paused{scroll-behavior:auto}

.header .language{text-decoration:none;display:grid;place-items:center}

/* Desktop invitation: more breathing room and a larger, single-line target. */
@media(min-width:801px){
 .gentle-hero .hero-bottom .pill{margin-top:20px;min-height:74px;max-width:420px;padding:20px 24px!important;gap:14px}
 .gentle-hero .hero-bottom .pill>span[data-i18n="heroCta"]{white-space:nowrap;font-size:clamp(26px,2.6vw,34px);line-height:1.2}
 .gentle-hero .hero-bottom .pill>svg,.gentle-hero .hero-bottom .pill>.pilates-weight{flex-shrink:0}
}
@media(min-width:801px) and (max-width:1100px){
 .gentle-hero .hero-bottom .pill{padding-inline:18px!important;gap:10px}
 .gentle-hero .hero-bottom .pill>span[data-i18n="heroCta"]{font-size:26px}
}

/* FAQ uses the same curved body bars as the other invitations. */
#first-visit summary>.faq-toggle-mark{width:52px;height:44px;background:transparent;border:0;transform:none}
#first-visit details[open] .faq-toggle-mark{transform:none}
#first-visit details[open] .faq-toggle-mark .body-bar{transform:rotate(0)}
#first-visit summary:focus-visible .faq-toggle-mark .body-bar{transform:rotate(0)}
@media(hover:hover){#first-visit summary:hover .faq-toggle-mark .body-bar{transform:rotate(0)}}

/* Final desktop handoff polish: readable footer, bare FAQ bars, roomy CTA. */
@media(min-width:801px){
 .footer.site-footer h2{color:#171716!important;-webkit-text-fill-color:#171716;font-weight:700;opacity:1}
 .gentle-hero .hero-bottom .pill{width:max-content!important;max-width:none!important;flex-shrink:0;padding-inline:28px!important;gap:22px}
}

/* Bare FAQ body bars on phone and desktop; keep the touch target. */
#first-visit summary>span.faq-toggle-mark:last-child{background:transparent;border:0;box-shadow:none}

/* Dated week navigation, shared by day/week views. */
.schedule-week-nav{display:flex;align-items:center;justify-content:center;gap:20px;margin:24px 0 8px}
.schedule-week-nav p{margin:0;text-align:center;min-width:190px;font:16px/1.5 Manrope,sans-serif}
.schedule-week-nav p small,.calendar-date{display:block;font:12px/1.5 Manrope,sans-serif}
.schedule-week-nav button{width:48px;height:44px;flex:none;border:1px solid #69746970;border-radius:18px;background:#DAB4C9;color:#313130;cursor:pointer}
.schedule-week-nav button:last-child{background:#B5D6E9}
.schedule-week-nav button:disabled{opacity:.38;cursor:default}
.schedule-week-nav svg{width:32px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.schedule-date-note{font:12px/1.6 Manrope,sans-serif;text-align:center;max-width:52ch;margin:0 auto 18px}
.mobile-week-day h3 time{display:block;font:12px/1.5 Manrope,sans-serif}
@media(max-width:480px){.schedule-week-nav{gap:10px}.schedule-week-nav p{min-width:0;flex:1;font-size:14px}.schedule-week-nav button{width:44px}.mobile-week-jump .calendar-date{font-size:11px}}

/* Centre the practice navigation as one pair on phones. */
@media(max-width:800px){#practice .section-heading .slider-nav{margin:18px auto 0!important;align-self:center;justify-content:center;flex-direction:row;width:max-content;float:none}}

/* Match the centred practice controls on desktop as requested. */
@media(min-width:801px){#practice .section-heading{flex-direction:column;align-items:stretch}#practice .section-heading .slider-nav{margin:18px auto 0!important;align-self:center;justify-content:center;flex-direction:row;width:max-content;float:none}}

/* Practice invitation uses the same equipment mark as app actions. */
.atlas-open{display:inline-flex;align-items:center;gap:12px}.atlas-open .body-bar{flex:none;width:42px;height:22px}.atlas-open .body-bar-crop{left:15px;top:-15px}

.map-equipment-link{display:inline-flex;align-items:center;gap:8px}.map-equipment-link .body-bar{flex:none;width:28px;height:20px;transform:scale(.6);transform-origin:center}

.invitation-arrow{display:inline-block;flex:0 0 auto;width:22px;height:22px;vertical-align:middle;transition:transform .25s ease}.atlas-open .invitation-arrow,.map-equipment-link .invitation-arrow{width:17px;height:17px}@media(hover:hover){a:hover>.invitation-arrow,.atlas-panel:hover .invitation-arrow{transform:translate(2px,-2px)}}

.browser-handoff{width:min(440px,calc(100% - 32px));max-height:85svh;padding:30px 24px;border:1px solid #31313040;border-radius:20px;background:#EDEBE9;color:#313130}.browser-handoff::backdrop{background:#31313066}.browser-handoff h2{font-size:30px;line-height:1.2;margin:22px 0}.browser-handoff p{font-size:15px;line-height:1.6}.browser-handoff input{width:100%;padding:12px;border:1px solid #31313040;border-radius:8px;user-select:text!important;-webkit-user-select:text!important;background:transparent}.browser-handoff .handoff-close{position:absolute;right:12px;top:10px;width:40px;height:40px;border:1px solid #31313040;border-radius:50%;background:transparent;font-size:26px}.handoff-copy{margin:16px 0;background:#B5D6E9}.handoff-continue{display:block;text-decoration:underline}.handoff-status{min-height:24px}

/* Cross-language alignment corrections, September 2026. */
#people .team-roster{align-items:stretch!important}
#people .team-card{display:flex;flex-direction:column;margin-top:0!important}
#people .team-card .team-portrait{flex:none}
#people .team-card .portrait-choices{min-height:48px}
#people .team-card .team-schedule-link{margin-top:auto;align-self:flex-start}
#people .team-card p{margin-bottom:28px}
.footer.site-footer h2{font:600 15px/1.5 Manrope,sans-serif!important;letter-spacing:0!important;color:#313130!important;-webkit-text-fill-color:#313130}
.browser-handoff .handoff-close{display:grid;place-items:center;padding:0;line-height:1}
.browser-handoff .handoff-close svg{display:block;width:18px;height:18px}
#schedule .schedule-days button{justify-content:flex-start;align-items:center}
#schedule .schedule-days .calendar-date{min-height:2.6em;display:grid;place-items:center;line-height:1.3;font-variant-numeric:tabular-nums}
#schedule .schedule-days button>small{margin-top:auto}
.faq summary,.faq summary *{-webkit-tap-highlight-color:transparent}
.faq summary:focus:not(:focus-visible){outline:none;box-shadow:none}
@media(max-width:800px){#schedule .schedule-days button{padding-top:10px;padding-bottom:10px}#people .team-card:has(.team-portrait):not(:has(.portrait-choices)) .team-portrait{margin-bottom:48px}}

/* liquid-presence.css */
/* A continuous optical edge, shaped by the studio mirror, not a photo filter. */
.hero-liquid-light{z-index:3;opacity:.94}.liquid-invitation{position:absolute;left:20px;bottom:18px;z-index:4;padding:10px 15px;border-radius:24px;background:#edebe9ed;color:#313130;font:12px/1.5 Manrope,sans-serif;pointer-events:none;max-width:calc(100% - 90px)}.motion-paused .liquid-invitation{display:none}.hero-photo .light-replay{background:#edebe9ed}
.motion-enabled .phone-scene .phone{transform:perspective(1100px) translateY(var(--phone-lift,0px)) rotateY(var(--phone-yaw,0deg)) rotateZ(var(--phone-roll,0deg)) scale(var(--phone-scale,1))!important;transform-origin:50% 68%}.motion-paused .phone-scene .phone{transform:none!important}
@media(max-width:800px){.liquid-invitation{left:12px;bottom:12px;padding:8px 12px;font-size:12px;max-width:calc(100% - 78px)}.phone-scene{overflow:visible}.motion-enabled .phone-scene .phone{transform:perspective(950px) translateY(var(--phone-lift,0px)) rotateY(var(--phone-yaw,0deg)) rotateZ(var(--phone-roll,0deg)) scale(var(--phone-scale,1))!important}}

/* mirror.css */
/* V40: one photographic mirror, with the studio's own silhouette. */
.hero.hero-editorial.gentle-hero,.motion-enabled .hero.hero-editorial.gentle-hero{display:grid;grid-template-columns:43% 57%;align-items:center;height:auto!important;min-height:760px!important;max-height:none;padding:110px 5% 65px!important;overflow:hidden;gap:0}
.hero.hero-editorial.gentle-hero .hero-copy,.motion-enabled .hero.hero-editorial.gentle-hero .hero-copy{position:relative!important;inset:auto!important;width:auto!important;margin:0!important;padding:0 22px 0 0;grid-column:1;grid-row:1;z-index:2}
.hero.hero-editorial.gentle-hero .hero-copy h1{font-size:clamp(36px,4vw,66px)!important;line-height:1.2!important;letter-spacing:-.045em;text-shadow:none;max-width:none}
.hero.hero-editorial.gentle-hero .hero-photo{position:relative!important;inset:auto!important;width:100%;max-width:none;height:clamp(540px,75svh,850px);margin:0;grid-column:2;grid-row:1;border-radius:43% 34% 39% 29% / 24% 37% 25% 34%!important;clip-path:none!important;animation:none!important;box-shadow:inset 0 0 0 1px #fff8;isolation:isolate;overflow:hidden;background:#deddd3}
.hero.hero-editorial.gentle-hero .hero-photo picture{display:block;position:absolute!important;inset:0!important;height:100%;width:100%}
.hero.hero-editorial.gentle-hero .hero-photo img{display:block;position:absolute!important;inset:0!important;height:100%!important;width:100%;object-fit:cover!important;object-position:42% center!important;animation:none!important;scale:1!important;transform:none!important;max-height:none!important}
.hero.hero-editorial.gentle-hero .hero-photo::before{display:block!important;content:'';position:absolute;inset:0;width:100%;height:100%;z-index:2;background:transparent;border:2px solid #ffffff85;border-radius:inherit;transform:none;pointer-events:none;box-sizing:border-box;animation:none!important}
.hero.hero-editorial.gentle-hero .hero-photo::after{display:none!important}
.gentle-hero .hero-team-link{position:relative!important;inset:auto!important;grid-column:1;grid-row:2;margin:22px 0 0;font-size:14px;justify-self:start}
.gentle-hero .hero-bottom{margin-top:27px!important;gap:17px!important}.gentle-hero .hero-bottom p{font-size:16px!important;line-height:1.7!important;order:0}.gentle-hero .hero-bottom .pill{order:1;max-width:330px}
.mirror-light{position:absolute;inset:-20%;z-index:1;pointer-events:none;background:linear-gradient(115deg,transparent 36%,#ffffff35 45%,#fff7 48%,transparent 57%);opacity:0;transform:translateX(-35%)}
.hero-mirror-enter.motion-enabled .hero.hero-editorial.gentle-hero .hero-photo picture{animation:mirror-unfold 1.65s cubic-bezier(.16,1,.3,1) both!important}
.hero-mirror-enter.motion-enabled .mirror-light{animation:mirror-light 2.1s ease-out both}
.motion-enabled .hero-photo.mirror-touched .mirror-light{animation:mirror-light 1.4s ease-out both}
@keyframes mirror-unfold{from{clip-path:inset(8% 18% 8% 18% round 42% 34% 38% 30%);opacity:.35;translate:0 20px}to{clip-path:inset(0% 0% 0% 0% round 0%);opacity:1;translate:0 0}}
@keyframes mirror-light{0%{opacity:0;transform:translateX(-40%)}25%{opacity:.55}100%{opacity:0;transform:translateX(45%)}}
#intro{padding:42px 6% 55px!important;min-height:0!important;height:auto!important;display:flex;gap:28px;align-items:center;justify-content:center;max-width:1160px;margin:auto}
#intro .intro-mark,#intro .manifesto,#intro .text-link,#intro .intro-line{display:none!important}#intro .intro-text{margin:0!important;max-width:58ch!important;text-align:center;font-size:clamp(17px,1.7vw,22px)!important;line-height:1.8!important;opacity:1!important;transform:none!important}
#class-track{display:none!important}.practices.section{padding-bottom:15px!important}.practice-guide{margin-top:0!important}
.page-silk{display:none!important}
.header .menu-toggle{background:#9FD3C7!important;color:#313130!important;border-color:transparent!important}.header .menu-lines:before,.header .menu-lines:after{background:#313130!important}
#menu-dialog nav{gap:8px}#menu-dialog nav a{--menu-tone:#9FD3C7;background:color-mix(in srgb,var(--menu-tone) 42%,#edebe9);border-radius:20px 32px 20px 28px;color:#313130!important;transition:background .35s,scale .25s}
#menu-dialog nav a:nth-child(2){--menu-tone:#EAE788}#menu-dialog nav a:nth-child(3){--menu-tone:#DAB4C9}#menu-dialog nav a:nth-child(4){--menu-tone:#C3B5DF}#menu-dialog nav a:nth-child(5){--menu-tone:#B5D6E9}#menu-dialog nav a:nth-child(6){--menu-tone:#D1CBBE}
#menu-dialog nav a::before{background:var(--menu-tone)}#menu-dialog nav a::after{background:radial-gradient(ellipse at var(--touch-x) var(--touch-y),var(--menu-tone) 0 30%,transparent 65%)}
#menu-dialog nav a:hover,#menu-dialog nav a:focus-visible,#menu-dialog nav a.touching{color:#313130!important;background:var(--menu-tone)}#menu-dialog nav a:focus-visible{outline:2px solid #313130;outline-offset:2px}

@media(max-width:800px){
 .hero.hero-editorial.gentle-hero,.motion-enabled .hero.hero-editorial.gentle-hero{display:flex;flex-direction:column;align-items:stretch;min-height:0!important;padding:105px 22px 15px!important}
 .hero.hero-editorial.gentle-hero .hero-copy,.motion-enabled .hero.hero-editorial.gentle-hero .hero-copy{padding:0;margin:0!important}
 .hero.hero-editorial.gentle-hero .hero-copy h1{font-size:clamp(30px,8.3vw,49px)!important;max-width:none;line-height:1.18!important}
 .hero.hero-editorial.gentle-hero .hero-photo{order:2;margin:24px 0 0;width:100%;height:clamp(360px,55svh,570px);border-radius:42% 32% 35% 26% / 19% 29% 22% 28%!important}
 .gentle-hero .hero-bottom{margin-top:15px!important;gap:12px!important}.gentle-hero .hero-bottom p{font-size:14px!important}.gentle-hero .hero-bottom .pill{order:-1;max-width:none}
 .gentle-hero .hero-team-link{order:3;margin:20px 0 0!important;align-self:center;font-size:13px}
 #intro{padding:30px 25px 38px!important}#intro .intro-text{font-size:16px!important;line-height:1.75!important}
 .hero-mirror-enter.motion-enabled .hero.hero-editorial.gentle-hero .hero-photo picture{animation-duration:1.1s!important}
 #menu-dialog nav a{font-size:clamp(23px,7vw,32px);padding:11px 16px}#menu-dialog nav{margin-block:auto}
}
.motion-paused .hero-photo,.motion-paused .mirror-light{animation:none!important}.motion-paused .mirror-light{display:none}


.header .header-cta{background:#9FD3C7;color:#313130}.portal-photos img:first-child{border-radius:43% 34% 39% 29% / 24% 37% 25% 34%}.motion-paused .hero-photo picture{animation:none!important}
@media(max-width:800px){.hero.hero-editorial.gentle-hero .hero-photo img{object-position:22% center!important}}
/* V44: wider real room, optical light limited to the unoccupied studio. */
.hero.hero-editorial.gentle-hero .hero-photo{height:clamp(440px,58vw,640px);border-radius:20% 28% 19% 25% / 26% 23% 29% 21%!important}
.hero.hero-editorial.gentle-hero .hero-photo img{object-position:50% 50%!important}
.studio-glass-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;opacity:0;transition:opacity .15s}
@media(max-width:800px){.hero.hero-editorial.gentle-hero .hero-photo{height:auto!important;min-height:0!important;aspect-ratio:1.16!important;margin-top:18px!important}}
.motion-paused .studio-glass-canvas{display:none!important}

/* invitation-presence.css */
/* Occasional horizontal ribbon gestures occupy their own space, never text. */
.invitation-flourish{position:relative;display:block;clear:both;width:100%;height:100px;overflow:hidden;pointer-events:none;contain:layout paint;margin:0;flex:none}
.invitation-flourish svg{display:block;width:100%;height:100%;opacity:.8;transform:translateX(var(--ribbon-shift,0px))}
.invitation-flourish path{stroke-width:3;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--ribbon-progress,1))}
@media(max-width:800px){.invitation-flourish{height:72px}.invitation-flourish svg{width:150%;max-width:none;margin-left:-25%}.invitation-flourish path{stroke-width:2.5}}

/* pricing.css */
.pricing-section{display:grid;grid-template-columns:1fr 1.15fr;gap:7%;padding:60px 6% 75px;background:#edebe9;scroll-margin-top:100px;color:#313130}
.pricing-intro h2{font:400 clamp(32px,4vw,54px)/1.17 Prata,serif;margin:0 0 20px;letter-spacing:-.025em}
.pricing-intro h2 em{font:400 1em/1.25 Prata,serif}
.pricing-intro p{font:15px/1.65 Manrope,sans-serif;max-width:34ch;margin:0 0 18px}
.pricing-intro .pricing-note{font-size:13px;max-width:40ch}
.pricing-list dl{margin:0}.price-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 4px;border-top:1px solid #31313025}
.price-row dt{font:600 16px/1.4 Manrope,sans-serif;position:relative;padding-left:20px}
.price-row dt:before{content:'';position:absolute;left:0;top:7px;width:9px;height:9px;border-radius:50%;background:var(--price-tone)}
.price-row small{display:block;font:400 12px/1.5 Manrope,sans-serif;margin-top:4px}
.price-row dd{margin:0;flex:none;font:400 29px/1.1 Prata,serif;white-space:nowrap;font-variant-numeric:tabular-nums}
.price-unlimited{background:#EAE788;border:0;border-radius:16px;padding:18px 16px;margin-top:8px}.price-unlimited dt{padding-left:0}.price-unlimited dt:before{display:none}
.pricing-terms{font:12px/1.6 Manrope,sans-serif;margin:14px 0 0;max-width:60ch}
.schedule-prices-link{display:inline-flex;align-items:center;min-height:44px;margin-top:8px;color:#313130;font:14px/1.4 Manrope,sans-serif;text-underline-offset:5px}
.schedule-prices-link:focus-visible{outline:2px solid #313130;outline-offset:4px}
@media(max-width:800px){.pricing-section{display:block;padding:40px 6% 55px}.pricing-intro h2{font-size:32px}.pricing-intro p{max-width:none;margin-bottom:12px}.pricing-list{margin-top:24px}.price-row{padding-block:13px}.price-row dt{font-size:14px}.price-row dd{font-size:26px}.price-row small{font-size:11px}.price-unlimited{padding:16px 12px}.pricing-terms{font-size:12px}}

/* site-footer.css */
.footer.site-footer{padding:50px 6% 22px;background:#e5e2dd;color:#313130;border-top:1px solid #31313026}
.site-footer .footer-grid{display:grid;grid-template-columns:1.3fr .8fr .9fr 1.2fr;gap:36px;align-items:start}
.site-footer .footer-logo{display:block;width:180px;margin:0 0 18px;font-size:initial;line-height:1;transform:none!important;clip-path:none!important}
.site-footer .footer-logo .logo-window{display:block;width:170px;height:65px;overflow:hidden}
.site-footer .footer-logo img{display:block;width:170px;height:auto;max-width:none;transform:translateY(-80px);mix-blend-mode:multiply}
.site-footer .footer-brand p{font:14px/1.7 Manrope,sans-serif;max-width:29ch;margin:0}
.site-footer h2{font:600 14px/1.5 Manrope,sans-serif;margin:0 0 14px}
.site-footer .footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:0}
.site-footer .footer-links a,.site-footer .footer-location a{font:13px/1.5 Manrope,sans-serif;min-height:44px;display:inline-flex;align-items:center;text-decoration:none;color:inherit}
.site-footer a:hover{text-decoration:underline;text-underline-offset:5px}
.site-footer address{font:normal 14px/1.7 Manrope,sans-serif;margin:0 0 10px}
.site-footer .footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:32px;padding-top:18px;border-top:1px solid #31313026;font:12px/1.5 Manrope,sans-serif;letter-spacing:0}
.site-footer .footer-bottom button,.site-footer .footer-bottom a{min-height:44px;color:inherit}
.site-footer :focus-visible{outline:2px solid #313130;outline-offset:4px}
@media(max-width:800px){.site-footer .footer-grid{grid-template-columns:1fr 1fr;gap:30px 22px}.site-footer .footer-brand,.site-footer .footer-location{grid-column:1/-1}.site-footer .footer-brand p{max-width:none}.site-footer .footer-bottom{flex-wrap:wrap;justify-content:space-between;gap:8px}.site-footer .footer-bottom>span{flex-basis:100%}.footer.site-footer{padding:36px 6% 20px}}

/* opening-ribbons.css */
.brand-opening::before{display:none}
.opening-ribbons{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;fill:none}
.opening-ribbons path{stroke-width:3;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;opacity:.8;animation:opening-ribbon-draw 2s cubic-bezier(.25,.1,.25,1) both}
.opening-ribbons path:nth-child(2){animation-delay:.12s}.opening-ribbons path:nth-child(3){animation-delay:.22s}
@keyframes opening-ribbon-draw{to{stroke-dashoffset:0}}


/* content-interaction.css */
/* Discourage casual selection/saving; this is not a security or DRM boundary. */
body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
img{-webkit-user-drag:none;-webkit-touch-callout:none;user-select:none}
input,textarea,[contenteditable="true"]{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}
