/* 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}
