@import url('/assets/fonts/fonts.css');
:root{--paper:#f5f5f0;--surface:#e8ebe3;--ink:#243b32;--muted:#536157;--accent:#284e3b;--hover:#183d2b;--on-accent:#fff;--dark:#213a30;--pale:#edf1e8;--error:#9c3029;--body:'Manrope',Arial,sans-serif;--display:'Cormorant Garamond',Georgia,serif;--s-small:.875rem;--s-body:1rem;--s-lead:clamp(1.125rem,1.9vw,1.4rem);--s-head:clamp(2.25rem,4.5vw,4.6rem);--s-display:clamp(2.8rem,6.5vw,6.5rem);--space-1:.5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2rem;--space-5:3rem;--space-6:4.5rem;--space-7:7rem;--space-8:10rem;--gutter:clamp(1.25rem,4vw,5rem);--max:1440px;--control:3.25rem;--radius:0;--ease:cubic-bezier(.2,.7,.2,1);--fast:180ms;--slow:650ms}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{margin:0;background:var(--paper);color:var(--ink);font:var(--s-body)/1.65 var(--body);-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}p{margin:0 0 var(--space-3);max-width:66ch;text-wrap:pretty}h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.04;letter-spacing:-.035em;margin:0;text-wrap:balance}h1{font-size:var(--s-display)}h2{font-size:var(--s-head)}h3{font-size:clamp(1.65rem,2.9vw,2.5rem)}img{display:block;width:100%;height:auto;object-fit:cover}svg{width:1.35rem;height:1.35rem;flex:none}button{color:inherit}::selection{background:var(--accent);color:var(--on-accent)}:focus-visible{outline:3px solid var(--accent);outline-offset:5px}button:disabled{opacity:.45;cursor:not-allowed}button[aria-busy=true]{cursor:progress}.wrap{max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}.section{padding-block:var(--space-6)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5)}.section-heading h2{max-width:16ch}.section-heading p{max-width:37ch;margin:0}.skip{position:fixed;top:var(--space-2);left:var(--space-2);background:var(--accent);color:var(--on-accent);padding:var(--space-2);z-index:100;transform:translateY(-200%)}.skip:focus{transform:none}.btn{display:inline-flex;min-height:var(--control);justify-content:center;align-items:center;gap:var(--space-3);padding:.85rem 1.5rem;border:0;border-radius:var(--radius);background:var(--accent);color:var(--on-accent);font-weight:500;line-height:1.4;transition:background var(--fast),transform var(--fast)}.btn:hover{background:var(--hover);transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn svg{width:1.1rem}.btn-light{background:var(--paper);color:var(--ink)}.btn-light:hover{background:var(--surface)}.text-link{display:inline-flex;align-items:center;gap:var(--space-2);padding-block:.65rem;min-height:2.75rem;text-decoration:underline;text-underline-offset:.35em;text-decoration-thickness:1px;transition:opacity var(--fast)}.text-link:hover{opacity:.65}.site-header{height:5.75rem;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);position:relative;z-index:20;background:var(--paper)}.brand{font-family:var(--display);font-size:2rem;font-weight:500;letter-spacing:-.055em;line-height:1}.desktop-nav{display:none}.languages{display:flex;gap:.1rem;margin-inline-start:auto}.languages a{display:grid;place-items:center;min-width:2.65rem;min-height:2.75rem;font-size:var(--s-small);opacity:.65}.languages a[aria-current=page]{opacity:1;text-decoration:underline;text-underline-offset:.5rem}.header-cta{display:none}.menu-toggle{width:2.75rem;height:2.75rem;border:0;background:transparent;display:grid;place-items:center}.mobile-nav{position:absolute;left:0;right:0;top:100%;padding:var(--space-4) var(--gutter);background:var(--surface);z-index:22}.mobile-nav[hidden]{display:none}.mobile-nav a{display:block;padding:.75rem 0;min-height:2.75rem}.hero{position:relative;isolation:isolate;overflow:hidden;background:var(--surface);padding-top:var(--space-4)}.hero-copy{position:relative;z-index:2;padding:var(--space-4) var(--gutter) var(--space-5)}.hero h1{max-width:13ch}.hero-description{font-size:var(--s-body);max-width:33ch;margin:var(--space-3) 0 var(--space-4)}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2) var(--space-3)}.hero-media{overflow:hidden}.hero-media img{aspect-ratio:1.22;object-position:72% center;animation:hero-arrive .9s var(--ease) both}.hero-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--gutter);font-size:var(--s-small);background:var(--paper)}.hero-foot a{display:flex;align-items:center;gap:.6rem;min-height:2.75rem}.hero-foot span{max-width:24ch}.intro{max-width:1050px;margin:auto;text-align:center;padding-block:var(--space-6)}.intro p{font:400 var(--s-lead)/1.6 var(--body);margin:var(--space-4) auto 0;max-width:61ch}.intro h2{max-width:22ch;margin:auto}.programs-layout{display:grid;gap:var(--space-4)}.program-feature{display:block}.program-feature .image-window{overflow:hidden}.program-feature img{aspect-ratio:4/4.4;transition:transform var(--slow) var(--ease)}.program-feature:hover img{transform:scale(1.035)}.program-feature h3{margin-top:var(--space-3)}.program-feature p{margin-top:var(--space-2);max-width:48ch}.program-list{display:grid;gap:var(--space-4);align-content:start}.program-item{display:grid;grid-template-columns:6.5rem 1fr;gap:var(--space-3);align-items:center}.program-item img{aspect-ratio:1;transition:transform var(--slow) var(--ease)}.program-item h3{font-size:1.8rem}.program-item p{margin:var(--space-1) 0 0;line-height:1.6}.program-item:hover img{transform:scale(.95)}.program-note{font-size:var(--s-small);color:var(--muted);margin-top:var(--space-4);max-width:67ch}.reformer{background:var(--surface);overflow:hidden}.reformer-layout{display:grid;gap:var(--space-4);align-items:center}.reformer h2{max-width:14ch}.reformer p{margin-top:var(--space-3);max-width:45ch}.model-area{position:relative;min-height:22rem;display:grid;place-items:center;isolation:isolate;overflow:hidden}.model-area>img{width:100%;aspect-ratio:1.3;object-fit:cover;transition:opacity var(--slow)}.model-area canvas{width:100%;height:100%;position:absolute;inset:0;opacity:0;transition:opacity var(--slow);touch-action:pan-y}.model-area.is-ready canvas{opacity:1}.model-area.is-ready>img{opacity:0}.model-controls{display:flex;justify-content:center;gap:var(--space-2);margin-top:var(--space-2)}.model-controls button{background:var(--paper);color:var(--ink);border:0;min-width:2.75rem;min-height:2.75rem;display:grid;place-items:center;transition:background var(--fast)}.model-controls button:hover{background:var(--pale)}.model-caption{text-align:center;font-size:var(--s-small);color:var(--muted);margin:var(--space-2) auto 0}.first-layout{display:grid;gap:var(--space-5)}.first-photo{overflow:hidden}.first-photo img{aspect-ratio:4/5;object-position:55% center}.first-content h2{margin-bottom:var(--space-5);max-width:15ch}.first-step{margin-block:var(--space-4)}.first-step h3{font-family:var(--body);font-size:var(--s-lead);letter-spacing:-.02em;line-height:1.3;margin-bottom:var(--space-2)}.first-step p{max-width:45ch}.studio{background:var(--dark);color:var(--paper)}.studio .section-heading p{color:var(--pale)}.studio-photo{position:relative;overflow:hidden}.studio-photo img{aspect-ratio:1.35}.photo-caption{font-size:var(--s-small);margin-top:var(--space-2);opacity:.85}.studio-facts{display:grid;gap:var(--space-4);padding-top:var(--space-5)}.studio-facts h3{margin-bottom:var(--space-2)}.journal-grid{display:grid;gap:var(--space-5)}.journal-entry{display:block}.journal-entry .image-window{overflow:hidden;background:var(--surface)}.journal-entry img{aspect-ratio:1.55;transition:transform var(--slow) var(--ease)}.journal-entry:hover img{transform:scale(1.035)}.journal-entry h3{font-size:clamp(1.7rem,2.8vw,2.5rem);margin-top:var(--space-3)}.journal-entry p{margin-top:var(--space-2)}.journal-entry .read{font-size:var(--s-small);text-decoration:underline;text-underline-offset:.35em}.faq-layout{display:grid;gap:var(--space-5)}.faq-photo img{aspect-ratio:4/5;object-position:65% center}.faq-content h2{margin-bottom:var(--space-5)}details{margin-bottom:var(--space-3);background:var(--surface);padding:var(--space-3)}summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);cursor:pointer;font-weight:500;min-height:2.75rem;line-height:1.5;list-style:none}summary::-webkit-details-marker{display:none}summary svg{transition:transform var(--fast)}details[open] summary svg{transform:rotate(45deg)}details p{padding-top:var(--space-3);margin:0}.contact{background:var(--surface)}.contact-layout{display:grid;gap:var(--space-5)}.contact h2{max-width:15ch}.contact address{font-style:normal;margin:var(--space-4) 0 var(--space-3);font-size:var(--s-lead);max-width:29ch}.contact-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-4)}.contact-side{display:flex;flex-direction:column;align-items:start;justify-content:center}.contact-side .phone{font-family:var(--display);font-size:clamp(1.8rem,3.5vw,3.2rem);line-height:1.2;margin-bottom:var(--space-4)}.partner{padding-block:var(--space-6)}.partner-layout{display:flex;flex-direction:column;align-items:start;gap:var(--space-4)}.partner h2{max-width:19ch}.partner p{max-width:50ch;margin-top:var(--space-3)}.site-footer{background:var(--dark);color:var(--paper);padding-block:var(--space-5) var(--space-4)}.footer-brand{font-family:var(--display);font-size:clamp(4rem,16vw,15rem);letter-spacing:-.06em;line-height:1;display:block;margin-bottom:var(--space-5)}.footer-links{display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-5);margin-bottom:var(--space-4)}.footer-links a{min-height:2.75rem;display:inline-flex;align-items:center}.footer-note{max-width:92ch;font-size:var(--s-small);opacity:.85}.footer-bottom{font-size:var(--s-small);display:flex;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.mobile-booking{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:25;padding:.65rem var(--gutter) max(.65rem,env(safe-area-inset-bottom));background:var(--paper);gap:var(--space-2);transform:translateY(120%);visibility:hidden;transition:transform var(--fast)}.mobile-booking.visible{transform:none;visibility:visible}.mobile-booking .btn{flex:1;min-height:2.9rem;font-size:var(--s-small);padding:.6rem}.mobile-booking .wa{background:var(--surface);color:var(--ink);width:3rem;display:grid;place-items:center}.assistant-button{position:fixed;right:1.25rem;bottom:5.5rem;width:4rem;height:4rem;background:var(--pale);border:0;border-radius:50%;padding:0;z-index:26}.assistant-sprite{display:block;width:100%;height:100%;background-size:cover;background-position:center;background-image:url('/assets/assistant/zeni-mascot-1-ClARy-hz.png');animation:zeni-idle 7.4s step-end infinite}.assistant-button:hover .assistant-sprite,.assistant-button:focus-visible .assistant-sprite{animation:zeni-hover 2.9s step-end infinite}.dialog{border:0;background:var(--paper);color:var(--ink);padding:var(--space-4);max-width:34rem;width:calc(100% - 2rem);max-height:88svh;overflow:auto}.dialog::backdrop{background:rgba(19,35,27,.6)}.dialog h2{font-size:clamp(2rem,5vw,3rem);margin-right:2rem}.dialog p{margin-top:var(--space-3)}.dialog-close{border:0;background:transparent;position:absolute;right:var(--space-2);top:var(--space-2);width:2.75rem;height:2.75rem;display:grid;place-items:center}.booking-form fieldset{border:0;padding:0;margin:var(--space-4) 0}.booking-form legend{font-weight:600;margin-bottom:var(--space-2)}.choices{display:flex;flex-wrap:wrap;gap:var(--space-1)}.choice{display:flex;gap:.5rem;align-items:center;padding:.7rem 1rem;min-height:2.75rem;background:var(--surface);cursor:pointer}.choice:has(input:checked){background:var(--accent);color:var(--on-accent)}.choice input{accent-color:var(--accent);margin:0}.booking-form label[for]{display:block;margin-bottom:var(--space-2);font-weight:500}.booking-form textarea{display:block;width:100%;padding:var(--space-2);min-height:6rem;border:1px solid var(--muted);background:var(--paper);color:var(--ink);resize:vertical}.booking-form button[type=submit]{margin-top:var(--space-4);width:100%}.assistant-menu{display:grid;gap:var(--space-2);margin-top:var(--space-4)}.assistant-menu a,.assistant-menu button{background:var(--surface);padding:var(--space-2);border:0;min-height:var(--control);text-align:left}.subpage-hero{padding-top:var(--space-5);padding-bottom:var(--space-6)}.subpage-hero h1{font-size:clamp(2.5rem,6vw,5.5rem);max-width:20ch}.subpage-hero .lead{font-size:var(--s-lead);margin-top:var(--space-4);max-width:52ch}.breadcrumbs{font-size:var(--s-small);display:flex;gap:var(--space-2);margin-bottom:var(--space-5);flex-wrap:wrap}.breadcrumbs a{text-decoration:underline;text-underline-offset:.25rem}.article-cover img{max-height:36rem;aspect-ratio:1.8}.article-body{display:grid;gap:var(--space-5);padding-block:var(--space-6)}.article-toc{align-self:start;background:var(--surface);padding:var(--space-4)}.article-toc a{display:block;padding:.5rem 0;line-height:1.5}.article-content{max-width:49rem}.article-content section{margin-bottom:var(--space-6)}.article-content h2{font-size:clamp(2rem,4vw,3rem);margin-bottom:var(--space-4);max-width:22ch}.article-content p{max-width:66ch}.article-inquiry{background:var(--surface);padding:var(--space-4);margin-top:var(--space-5)}.article-inquiry h2{font-size:2rem}.article-inquiry p{margin-top:var(--space-3)}.article-note{color:var(--muted);font-size:var(--s-small);margin-top:var(--space-4)}.topic-links{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-5)}.topic-links button{border:0;background:var(--surface);padding:.8rem 1.1rem;min-height:2.75rem}.topic-links button[aria-pressed=true]{background:var(--accent);color:var(--on-accent)}[hidden]{display:none!important}.reveal{transition:transform var(--slow) var(--ease),opacity var(--slow) var(--ease)}.js-motion .reveal:not(.is-visible){opacity:.01;transform:translateY(1.2rem)}.reveal.is-visible{opacity:1;transform:none}.image-window{overflow:hidden}
@media(min-width:640px){.program-list{grid-template-columns:1fr 1fr}.program-item{grid-template-columns:1fr}.program-item img{aspect-ratio:1.3;max-width:none}.journal-grid{grid-template-columns:1fr 1fr}.studio-facts{grid-template-columns:1fr 1fr}.section{padding-block:var(--space-7)}.first-layout{grid-template-columns:1fr 1fr;align-items:center}.faq-layout{grid-template-columns:1fr 1fr;align-items:center}.faq-photo{order:2}.contact-layout{grid-template-columns:1.2fr 1fr}.partner-layout{flex-direction:row;align-items:center;justify-content:space-between}.dialog{padding:var(--space-5)}.mobile-booking{display:none}.assistant-button{bottom:1.5rem;width:4.5rem;height:4.5rem}.hero h1{max-width:15ch}.hero-description{font-size:var(--s-lead)}}
@media(min-width:1000px){.site-header{height:6.5rem}.desktop-nav{display:flex;gap:clamp(1.25rem,2.2vw,2.75rem);font-size:var(--s-small);margin-inline:auto}.desktop-nav a{padding-block:1rem;transition:opacity var(--fast)}.desktop-nav a:hover{opacity:.6}.header-cta{display:inline-flex;font-size:var(--s-small);min-height:2.9rem;padding:.7rem 1rem}.menu-toggle{display:none}.languages{margin:0}.hero{padding:0;min-height:43rem;height:calc(90svh - 6.5rem);max-height:56rem}.hero-media{position:absolute;inset:0;z-index:0}.hero-media img{width:100%;height:100%;aspect-ratio:auto;object-position:65% center}.hero-copy{max-width:var(--max);margin:auto;padding:clamp(4.5rem,9vh,8rem) var(--gutter);width:100%}.hero h1{max-width:13ch;font-size:clamp(4.1rem,6vw,6.3rem)}.hero-description{max-width:28ch;font-size:1.05rem}.hero-actions{align-items:start;flex-direction:column;gap:.25rem}.hero-foot{padding-block:var(--space-2)}.intro{padding-block:var(--space-7)}.programs-layout{grid-template-columns:1.2fr 1fr;gap:var(--space-6)}.program-feature img{aspect-ratio:4/4.1}.program-list{grid-template-columns:1fr;gap:var(--space-4);padding-top:var(--space-5)}.program-item{grid-template-columns:8.5rem 1fr;gap:var(--space-4)}.program-item img{aspect-ratio:1}.program-feature h3{font-size:3rem}.program-item h3{font-size:2rem}.reformer-layout{grid-template-columns:1fr 1.6fr;gap:var(--space-5)}.model-area{min-height:30rem}.first-layout{gap:var(--space-7)}.first-content{padding-block:var(--space-5)}.studio-photo img{aspect-ratio:2.3}.studio-facts{grid-template-columns:1fr 1fr 1fr;gap:var(--space-6)}.journal-grid{grid-template-columns:1.4fr 1fr 1fr;align-items:start;gap:var(--space-4)}.journal-entry:first-child img{aspect-ratio:1.12}.journal-entry:nth-child(2){padding-top:var(--space-6)}.journal-entry:nth-child(3){padding-top:var(--space-8)}.journal-grid.all-articles{grid-template-columns:repeat(3,1fr);row-gap:var(--space-6)}.all-articles .journal-entry{padding-top:0}.all-articles .journal-entry img{aspect-ratio:1.5}.all-articles .journal-entry h3{font-size:2rem}.faq-layout{gap:var(--space-7)}.contact-layout{gap:var(--space-8)}.article-body{grid-template-columns:16rem 1fr;gap:var(--space-7)}.article-toc{position:sticky;top:var(--space-4)}.subpage-hero h1{max-width:21ch}.section-heading{gap:var(--space-6)}.footer-note{max-width:110ch}}
@media(prefers-reduced-motion:no-preference){.hero-media img{animation:hero-arrive .9s var(--ease) both}.studio-photo img{animation:photo-drift 16s ease-in-out infinite alternate}.reveal:nth-child(2){transition-delay:70ms}.reveal:nth-child(3){transition-delay:140ms}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.js-motion .reveal:not(.is-visible){opacity:1;transform:none}}
@keyframes hero-in{from{opacity:.4;transform:scale(1.045)}to{opacity:1;transform:scale(1)}}@keyframes photo-drift{from{transform:scale(1)}to{transform:scale(1.04)}}
@keyframes zeni-idle{0%,20.3%,41.4%,97.4%{background-image:url('/assets/assistant/zeni-mascot-1-ClARy-hz.png')}13.6%,33.7%,54%{background-image:url('/assets/assistant/zeni-mascot-2-_2jPb956.png')}60.8%{background-image:url('/assets/assistant/zeni-mascot-3-EVlA90wC.png')}67.6%{background-image:url('/assets/assistant/zeni-mascot-4-DrPmw3pp.png')}70.4%{background-image:url('/assets/assistant/zeni-mascot-5-C5JmDGEr.png')}}
@keyframes zeni-hover{0%,77%{background-image:url('/assets/assistant/zeni-mascot-1-1d1n2i4_.png')}70.1%,94.3%{background-image:url('/assets/assistant/zeni-mascot-2-CZwnbpna.png')}}

@media(min-width:640px){.hero-foot{padding-inline-end:6.5rem}.hero-foot span{max-width:none}}

@media(max-width:360px){.site-header{gap:.25rem}.brand{font-size:1.6rem}.languages a{min-width:2.25rem}}

.hero-media{isolation:isolate}
.hero-depth-layer{transform-origin:55% 60%;backface-visibility:hidden;transform:scale(1.025)}
.hero-depth-layer picture{display:block}
/* taste-skill-ignore: neutral sunlight scrim over the hero photograph */ .hero-atmosphere{position:absolute;inset:-25% 20% -25% 40%;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,251,232,.14) 42%,rgba(255,251,232,.05) 64%,transparent);transform:rotate(-17deg);z-index:1}
.depth-active .hero-depth-layer,.depth-active .hero-atmosphere{will-change:transform}
@media(min-width:1000px){.hero-depth-layer,.hero-depth-layer picture{height:100%}.hero-depth-layer{transform:scale(1.06)}.hero-copy{padding-top:clamp(5rem,10vh,8.5rem)}.depth-active .hero-copy{will-change:transform}.hero-atmosphere{inset:-30% 24% -30% 48%}}
@media(prefers-reduced-motion:reduce){.hero-depth-layer{transform:none!important}.hero-atmosphere{transform:rotate(-17deg)!important}.hero-copy{transform:none!important}}
@keyframes hero-arrive{from{opacity:.55}to{opacity:1}}

@media(max-width:639px){.section-heading{flex-direction:column;align-items:flex-start;gap:var(--space-3)}.section-heading h2{max-width:17ch}}
