:root{--color-mineral-white: #fbfaf7;--color-pale-gray: #e9e9e4;--color-charcoal: #352f31;--color-deep-plum: #493142;--color-sage: #9aa89a;--color-sage-ink: #48624d;--color-border: #d8d5ce;--font-body: "Zen Old Mincho", "Noto Serif SC", Georgia, serif;--font-display: "Zen Old Mincho", "Noto Serif SC", Georgia, serif;--space-1: .5rem;--space-2: .75rem;--space-3: 1rem;--space-4: 1.5rem;--space-5: 2rem;--space-6: 3rem;--space-7: 4.5rem;--rail-width: clamp(15.5rem, 22.1vw, 20rem);--focus-outline: 3px solid var(--color-mineral-white);--focus-outer: var(--color-charcoal);--motion-fast: .16s;--motion-medium: .24s}@font-face{font-family:Zen Old Mincho;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/zen-old-mincho-japanese-400-normal-1oK4h11t.woff2) format("woff2")}@font-face{font-family:Zen Old Mincho;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/zen-old-mincho-japanese-500-normal-CWbY1O-W.woff2) format("woff2")}@font-face{font-family:"Noto Serif SC";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-serif-sc-chinese-simplified-400-normal-D_MNT7eP.woff2) format("woff2")}@font-face{font-family:"Noto Serif SC";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/noto-serif-sc-chinese-simplified-500-normal-DibaNxQs.woff2) format("woff2")}html{background:var(--color-mineral-white);color:var(--color-charcoal);font-family:var(--font-body);scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:var(--color-mineral-white);-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}*,*:before,*:after{box-sizing:border-box}a{color:inherit;text-underline-offset:.2em}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;font:inherit}:focus-visible{outline:var(--focus-outline);outline-offset:3px;box-shadow:0 0 0 6px var(--focus-outer)}.site-shell{min-height:100vh}.desktop-rail{display:none}.site-shell__content{min-width:0}.mobile-header{display:flex;min-height:4.5rem;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);background:var(--color-mineral-white)}.mobile-brand,.brand-mark{text-decoration:none}.brand-logo{position:relative;display:block;aspect-ratio:464 / 123;background-color:transparent;color:var(--color-deep-plum);-webkit-mask-image:var(--brand-logo-mask);mask-image:var(--brand-logo-mask);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:199.1% auto;mask-size:199.1% auto}.brand-logo:before{position:absolute;top:0;right:0;bottom:0;left:0;background:currentColor;content:""}.mobile-brand{width:clamp(8rem,37vw,10.25rem)}.mobile-menu__brand{width:min(10.5rem,calc(100vw - 6.5rem))}.site-footer__brand{width:min(14rem,100%)}.mobile-header__actions{display:flex;align-items:center;gap:var(--space-2)}.button-link.mobile-header__booking{display:none}.button-link,.menu-trigger,.language-switcher{display:inline-flex;min-height:2.75rem;align-items:center;justify-content:center;gap:var(--space-1);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:background-color var(--motion-fast) ease,color var(--motion-fast) ease,border-color var(--motion-fast) ease}.button-link{padding:.625rem 1rem;background:var(--color-deep-plum);color:var(--color-mineral-white);font-size:.9375rem;font-weight:500;letter-spacing:.04em}.button-link:hover{background:#583948}.button-link--secondary{border-color:var(--color-deep-plum);background:transparent;color:var(--color-deep-plum)}.menu-trigger{flex:0 0 2.75rem;width:2.75rem;padding:0;border-color:var(--color-border);background:transparent}.route-stub{display:grid;min-height:55vh;align-content:center;gap:var(--space-3);padding:var(--space-7) var(--space-4);background:linear-gradient(125deg,var(--color-mineral-white),var(--color-pale-gray))}.route-stub__eyebrow{margin:0;color:var(--color-sage-ink);font-size:.8125rem;letter-spacing:.14em}.route-stub h1{max-width:18ch;margin:0;color:var(--color-deep-plum);font-family:var(--font-display);font-size:clamp(2rem,8vw,4.5rem);font-weight:400;line-height:1.3}.site-footer{display:grid;gap:var(--space-5);padding:var(--space-6) var(--space-4);border-top:1px solid var(--color-border);background:var(--color-pale-gray);font-size:1rem;line-height:1.7}.site-footer p{max-width:38rem;margin:var(--space-1) 0 0}.site-footer__contact,.site-footer nav{display:grid;gap:var(--space-2);font-style:normal}.site-footer__contact a{display:inline-flex;align-items:center;gap:var(--space-1)}.site-footer__contact svg{width:1.125rem;height:1.125rem;flex:0 0 1.125rem}.site-footer a{text-decoration:none}.mobile-menu-backdrop{position:fixed;z-index:10;top:0;right:0;bottom:0;left:0;overflow-y:auto;overscroll-behavior:contain;background:#29282652}.mobile-menu{display:flex;width:min(100%,28rem);min-height:100dvh;max-height:100dvh;flex-direction:column;padding:max(var(--space-3),env(safe-area-inset-top)) max(var(--space-3),env(safe-area-inset-right)) max(var(--space-3),env(safe-area-inset-bottom)) max(var(--space-3),env(safe-area-inset-left));overflow-y:auto;background:var(--color-mineral-white);box-shadow:1.5rem 0 3rem #29282624}.mobile-menu__topbar{display:flex;min-height:3rem;align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-border)}.mobile-menu__links{margin:0;padding:var(--space-5) 0;list-style:none}.mobile-menu__links a{display:block;padding:var(--space-3) 0;border-bottom:1px solid var(--color-border);color:var(--color-deep-plum);font-family:var(--font-display);font-size:1.5rem;text-decoration:none}.mobile-menu__links .nav-link--active,.rail-nav .nav-link--active{font-weight:500;text-decoration:underline;text-decoration-thickness:2px}.mobile-menu__actions{display:grid;gap:var(--space-3);margin-top:auto}.language-switcher{justify-content:flex-start;padding:.625rem 0;border:0;background:transparent}.rail-nav .nav-link{font-size:.9375rem}.rail-language-switcher{font-size:1.0625rem}@media(min-width:42rem){.button-link.mobile-header__booking{display:inline-flex}}@media(min-width:80rem){.site-shell{display:grid;grid-template-columns:var(--rail-width) minmax(0,1fr)}.desktop-rail{position:sticky;top:0;display:flex;height:100vh;flex-direction:column;gap:0;padding:6rem var(--space-4) var(--space-4);border-right:1px solid var(--color-border);background:var(--color-mineral-white)}.brand-mark{display:flex;width:100%;min-height:4.625rem;max-width:11.5rem;align-items:center}.brand-mark .brand-logo{width:100%}.desktop-rail>nav{margin-top:9.5rem}.rail-nav{display:grid;gap:var(--space-3);margin:0;padding:0;list-style:none}.rail-nav:before{width:2rem;height:1px;margin-bottom:var(--space-1);background:var(--color-border);content:""}.rail-nav .nav-link{color:var(--color-charcoal);letter-spacing:.12em;text-decoration:none}.rail-nav a:hover{color:var(--color-deep-plum);text-decoration:underline}.rail-bottom{display:grid;gap:var(--space-2);margin-top:auto}.rail-language-switcher{margin-top:var(--space-3)}.rail-bottom .button-link{justify-content:space-between}.rail-program-cta{border-color:transparent;background:#f2f1ec}.rail-contact{display:grid;gap:.25rem;font-style:normal}.rail-contact a{display:inline-flex;min-height:1.5rem;align-items:center;gap:var(--space-1);color:#746d70;font-size:.8125rem;text-decoration:none}.mobile-header,.mobile-menu-backdrop{display:none}.route-stub{min-height:70vh;padding:clamp(4rem,10vw,10rem)}.site-footer{grid-template-columns:1.5fr 1fr 1fr;padding:var(--space-7) clamp(2rem,6vw,7rem)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.home-page{overflow:clip;background:var(--color-mineral-white)}.discovery-page{background:var(--color-mineral-white)}.discovery-page__intro{padding:clamp(4.5rem,11vw,9rem) clamp(1.25rem,8vw,8rem) 2.5rem;border-bottom:1px solid var(--color-border)}.program-filter{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:2.5rem}.booking-page{min-height:70vh;padding:clamp(2.5rem,7vw,6rem) clamp(1.25rem,8vw,8rem);background:var(--color-mineral-white)}.booking-flow{width:min(100%,48rem)}.booking-flow__eyebrow{margin:0 0 .75rem;color:var(--color-sage-ink);font-size:.8125rem;letter-spacing:.15em}.booking-flow h1,.booking-flow h2{margin:0;color:var(--color-deep-plum);font-family:var(--font-display);font-weight:400}.booking-flow h1{font-size:clamp(2.2rem,5vw,4.1rem)}.booking-flow h2{font-size:clamp(1.5rem,3vw,2rem)}.booking-flow__introduction{max-width:40rem;margin:1rem 0 0;line-height:1.9}.step-progress{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.35rem;margin:2.5rem 0;padding:0;list-style:none}.purchase-flow .step-progress{grid-template-columns:repeat(4,minmax(0,1fr))}.step-progress__item{display:grid;gap:.2rem;padding-top:.65rem;border-top:2px solid var(--color-border);color:#746d70;font-size:.8125rem;line-height:1.45}.step-progress__item>span:first-child{font-size:.8125rem}.step-progress__status{font-size:.8125rem}.step-progress__item--current{border-color:var(--color-deep-plum);color:var(--color-deep-plum);font-weight:500}.step-progress__item--complete{border-color:var(--color-sage-ink);color:var(--color-sage-ink)}.booking-step{display:grid;gap:1.5rem;padding:2rem 0;border-block:1px solid var(--color-border)}.booking-step fieldset{min-width:0;margin:0;padding:0;border:0}.booking-step legend,.form-field>label{display:block;margin-bottom:.65rem;color:var(--color-deep-plum);font-size:.9375rem;font-weight:500}.booking-choice-grid,.booking-date-options,.booking-time-options,.booking-contact-options{display:grid;gap:.65rem}.booking-choice,.booking-date-options label,.booking-time-options label,.booking-contact-options label{display:flex;align-items:flex-start;gap:.65rem;padding:.85rem 1rem;border:1px solid var(--color-border);cursor:pointer;font-size:.9375rem;line-height:1.65}.booking-choice:has(input:checked),.booking-date-options label:has(input:checked),.booking-time-options label:has(input:checked),.booking-contact-options label:has(input:checked){border-color:var(--color-sage-ink);background:#edf0ea}.booking-choice span{display:grid;gap:.25rem}.booking-choice small{color:#746d70}.booking-time-options{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-time-options label{justify-content:center;padding-inline:.45rem}.booking-step fieldset[disabled]{opacity:.58}.form-field{display:grid;gap:.25rem}.form-field input,.form-field textarea{width:100%;padding:.75rem;border:1px solid var(--color-border);border-radius:0;background:var(--color-mineral-white);color:var(--color-charcoal);font:inherit}.form-field textarea{min-height:7rem;resize:vertical}.form-field__hint,.form-field__optional{margin:0;color:#746d70;font-size:.8125rem}.form-field__error{margin:.25rem 0 0;color:#9f253b;font-size:.9375rem;line-height:1.55}.error-summary,.booking-service-error{margin:1.5rem 0;padding:1rem 1.15rem;border-left:4px solid #9f253b;background:#fff4f4;color:#70182a}.error-summary p{margin:0;font-weight:500}.error-summary ul{margin:.65rem 0 0;padding-left:1.25rem}.error-summary a{color:inherit}.booking-service-error{margin-bottom:0}.booking-flow__actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-top:2rem}.booking-button{min-height:2.75rem;padding:.6rem 1rem;border:1px solid var(--color-deep-plum);background:var(--color-deep-plum);color:var(--color-mineral-white);cursor:pointer;font:inherit;text-decoration:none}.booking-button:disabled{cursor:wait;opacity:.62}.booking-button--secondary{background:transparent;color:var(--color-deep-plum)}.booking-text-button{padding:.35rem 0;border:0;border-bottom:1px solid currentColor;background:transparent;color:var(--color-deep-plum);cursor:pointer;font:inherit;font-size:.9375rem}.booking-review__details{margin:0;border-top:1px solid var(--color-border)}.booking-review__details>div{display:grid;grid-template-columns:minmax(7rem,.45fr) 1fr auto;gap:.75rem;padding:.85rem 0;border-bottom:1px solid var(--color-border);font-size:.9375rem;line-height:1.65}.booking-review__details dt{color:#746d70}.booking-review__details dd{margin:0}.booking-success{display:grid;gap:1.1rem}.booking-success>p{max-width:38rem;margin:0;line-height:1.9}.booking-success__simulation{padding:1rem;background:#edf0ea;color:var(--color-sage-ink);font-size:.9375rem}.purchase-acknowledgement{display:grid;grid-template-columns:auto 1fr;gap:.45rem .65rem;align-items:start;padding:.85rem 1rem;border:1px solid var(--color-border);line-height:1.65}.purchase-acknowledgement .form-field__error{grid-column:2}@media(min-width:42rem){.booking-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.program-filter__button{min-height:2.75rem;padding:.55rem 1rem;border:1px solid var(--color-border);background:transparent;color:var(--color-deep-plum);cursor:pointer;font-size:.9375rem;letter-spacing:.08em}.program-filter__button:hover,.program-filter__button--current{border-color:var(--color-deep-plum);background:var(--color-deep-plum);color:var(--color-mineral-white)}.programs-page__count,.pricing-page__tax-note{margin:1.35rem 0 0;color:#746d70;font-size:.9375rem;line-height:1.8}.programs-page__results{padding:1rem clamp(1.25rem,8vw,8rem) clamp(4.5rem,11vw,9rem)}.program-detail-page{padding:clamp(2rem,6vw,6rem) clamp(1.25rem,8vw,8rem) clamp(4.5rem,10vw,8rem)}.program-detail__back{display:inline-flex;align-items:center;gap:.5rem;color:var(--color-deep-plum);font-size:.9375rem;text-decoration:none}.program-detail{display:grid;gap:3rem;margin-top:3rem}.program-detail__eyebrow{margin:0 0 .75rem;color:var(--color-sage-ink);font-size:.8125rem;letter-spacing:.13em}.program-detail h1,.program-not-found h1{margin:0;color:var(--color-deep-plum);font-family:var(--font-display);font-size:clamp(2.4rem,5vw,4.5rem);font-weight:400;letter-spacing:.08em}.program-detail__description,.program-not-found p{max-width:38rem;margin:1.5rem 0 0;line-height:2}.program-detail__summary dl{display:grid;gap:0;max-width:34rem;margin:2rem 0;border-top:1px solid var(--color-border)}.program-detail__summary dl div{display:grid;grid-template-columns:minmax(7rem,.45fr) 1fr;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--color-border);font-size:.9375rem;line-height:1.8}.program-detail__summary dt{color:#746d70}.program-detail__summary dd{margin:0}.program-detail__summary .button-link,.program-detail__actions .button-link{justify-content:space-between}.program-detail__benefits{max-width:70rem;margin-top:4rem;padding-top:2rem;border-top:1px solid var(--color-border)}.program-detail__benefits h2,.pricing-group h2{margin:0;color:var(--color-deep-plum);font-family:var(--font-display);font-size:1.7rem;font-weight:400}.program-detail__benefits ul{display:grid;gap:.75rem;margin:1.5rem 0 0;padding:0;list-style:none}.program-detail__benefits li{padding:1rem 0;border-bottom:1px solid var(--color-border)}.program-not-found{display:grid;min-height:65vh;align-items:center;padding:clamp(3rem,10vw,9rem) clamp(1.25rem,8vw,8rem);background:var(--color-pale-gray)}.program-detail__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}.pricing-page__groups{padding:0 clamp(1.25rem,8vw,8rem) clamp(4.5rem,11vw,9rem)}.pricing-group{padding-top:4rem}.pricing-group+.pricing-group{margin-top:3rem;border-top:1px solid var(--color-border)}.pricing-group__rows{margin-top:1.5rem;border-top:1px solid var(--color-border)}.plan-row{display:grid;gap:1.25rem;padding:2rem 0;border-bottom:1px solid var(--color-border)}.plan-row h3{margin:0;color:var(--color-deep-plum);font-family:var(--font-display);font-size:1.45rem;font-weight:400}.plan-row__identity p,.plan-row__action p{margin:.65rem 0 0;font-size:.9375rem;line-height:1.8}.plan-row__price{display:grid;gap:.35rem}.plan-row__price p{margin:0;color:var(--color-deep-plum);font-family:var(--font-display);font-size:2rem}.plan-row__price span,.plan-row__price small,.plan-row__price del{font-size:.9375rem}.plan-row__price del{color:#746d70}.plan-row ul{display:grid;gap:.4rem;margin:0;padding:0;list-style:none;font-size:.9375rem;line-height:1.6}.plan-row li:before{content:"—";margin-right:.5rem;color:var(--color-sage-ink)}.plan-row__action a{display:inline-flex;align-items:center;gap:.7rem;margin-top:1rem;padding-bottom:.45rem;border-bottom:1px solid currentColor;color:var(--color-deep-plum);font-size:.9375rem;text-decoration:none}.plan-row__action>span{display:inline-block;margin-top:1rem;color:#746d70;font-size:.9375rem}.home-hero{position:relative;display:grid;min-height:min(62rem,calc(100vh - 1px));overflow:hidden;color:var(--color-charcoal);background:var(--color-pale-gray)}.home-hero__image{position:absolute;width:100%;height:100%;object-fit:cover;object-position:80% top}.home-hero__content{position:relative;z-index:1;align-self:start;max-width:46rem;padding:clamp(1.5rem,5vw,3rem) 1rem;background:transparent}.home-hero__copy-layout{visibility:hidden}.home-hero__contrast-layer{position:absolute;z-index:2;top:0;right:0;bottom:0;left:0;display:grid;pointer-events:none}.home-hero__adaptive-copy{grid-area:1 / 1;align-self:start;max-width:min(42rem,calc(100% - 2rem));padding:clamp(1.5rem,5vw,3rem) 1rem;color:#000}.home-hero__ink-character{color:#000}.home-hero__ink-character[data-ink=light]{color:#fff}.home-hero__eyebrow,.section-header__eyebrow,.home-final-cta>div>p:first-child{margin:0 0 1rem;font-size:.8125rem;letter-spacing:.18em}.home-hero h1,.section-header :is(h1,h2),.home-final-cta h2{margin:0;font-family:var(--font-display);font-size:clamp(2.3rem,4.7vw,4.25rem);font-weight:400;letter-spacing:.04em;line-height:1.35}.home-hero__title-line{display:block}.home-hero__description{margin:1.5rem 0 0;font-family:var(--font-display);font-size:clamp(1rem,1.8vw,1.3rem);line-height:1.8}.home-hero__reassurance{max-width:38rem;margin:1rem 0 0;font-size:.9375rem;line-height:1.9}.home-hero__actions,.home-final-cta__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}.home-hero .button-link{min-width:13.5rem;justify-content:space-between}.home-hero .button-link--secondary{border-color:var(--color-deep-plum);color:var(--color-deep-plum)}.home-section{padding:clamp(4.5rem,11vw,10rem) clamp(1.25rem,8vw,8rem)}.section-header{max-width:47rem}.section-header--center{margin-inline:auto;text-align:center}.section-header :is(h1,h2){color:var(--color-deep-plum);font-size:clamp(1.8rem,3.6vw,3.25rem)}.section-header__title-line{display:block}.section-header__eyebrow{color:var(--color-sage-ink)}.section-header__introduction,.home-concept p,.price-card p,.home-studio>div>p,.faq-list p{margin:1.25rem 0 0;font-size:1rem;line-height:2}.home-concept{display:grid;gap:clamp(2rem,8vw,9rem);align-items:center}.home-concept__copy{max-width:32rem}.home-concept__image{display:block;width:100%;height:auto}.text-link{display:inline-flex;align-items:center;gap:.75rem;margin-top:2rem;padding-bottom:.45rem;border-bottom:1px solid currentColor;color:var(--color-deep-plum);font-size:.9375rem;letter-spacing:.08em;text-decoration:none}.home-reasons{border-block:1px solid var(--color-border);background:#f2f1ec}.reason-list{display:grid;gap:2rem;max-width:70rem;margin:3rem auto 0;padding:0;list-style:none}.reason-list li{padding-top:1.5rem;border-top:1px solid var(--color-border)}.reason-list span{color:var(--color-sage-ink);font-size:.8125rem;letter-spacing:.12em}.reason-list h3{margin:1rem 0 0;color:var(--color-deep-plum);font-family:var(--font-display);font-size:1.35rem;font-weight:400}.reason-list p{margin:.75rem 0 0;font-size:.9375rem;line-height:1.9}.program-grid{display:grid;gap:3rem;margin-top:4rem}.program-card{display:flex;flex-direction:column;min-width:0}.program-card__title{order:-2;margin:0;color:var(--color-deep-plum);font-family:var(--font-display);font-size:1.8rem;letter-spacing:.12em}.program-card__eyebrow{order:-1;margin:.35rem 0 1.25rem;color:#746d70;font-size:.9375rem}.program-card__image{width:100%;height:auto;aspect-ratio:4 / 3;object-fit:cover}.program-card__description{margin:1.25rem 0 0;line-height:1.9}.program-card__details{margin:1.25rem 0 0;font-size:.9375rem;line-height:1.8}.program-card__details div{display:grid;grid-template-columns:7rem 1fr;padding:.6rem 0;border-top:1px solid var(--color-border)}.program-card__details dt{color:#746d70;white-space:nowrap}.program-card__details dd{margin:0}.program-card__link{display:flex;justify-content:space-between;align-items:center;margin-top:1.25rem;padding-block:.85rem;border-block:1px solid var(--color-border);color:var(--color-deep-plum);font-size:.9375rem;text-decoration:none}.home-programs .section-header{max-width:64rem}.home-programs__action,.home-pricing__action{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-top:3rem}.home-programs__button{min-width:14rem;justify-content:space-between;background:var(--color-sage-ink)}.home-pricing__action p{margin:0;font-size:.8125rem}.home-pricing{border-bottom:1px solid var(--color-border)}.price-grid{display:grid;gap:1px;margin-top:3rem;background:var(--color-border);border:1px solid var(--color-border)}.price-card{min-height:15rem;padding:1.5rem;background:var(--color-mineral-white)}.price-card--featured{background:var(--color-deep-plum);color:var(--color-mineral-white)}.price-card h3{margin:0;font-family:var(--font-display);font-size:1.35rem;font-weight:400}.price-card__price{margin-top:2rem!important;font-family:var(--font-display);font-size:2rem!important}.price-card small{display:block;margin-top:1rem;color:#746d70;font-size:.9375rem}.price-card--featured small{color:#dfd9dd}.testimonial-grid{display:grid;gap:1px;margin-top:3rem;background:var(--color-border);border:1px solid var(--color-border)}.testimonial-grid blockquote{display:flex;min-height:14rem;flex-direction:column;justify-content:space-between;margin:0;padding:1.5rem;background:var(--color-mineral-white)}.testimonial-grid blockquote>p{margin:0;font-family:var(--font-display);font-size:1.2rem;line-height:1.8}.testimonial-grid footer{display:grid;gap:.3rem;margin-top:2rem;font-size:.8125rem;font-style:normal}.testimonial-grid cite{font-style:normal}.testimonial-grid span{color:#746d70}.home-studio{display:grid;gap:3rem;background:#dfe2dc}.studio-details{display:grid;gap:2rem;margin:0}.studio-details div{padding-top:1.5rem;border-top:1px solid #aeb4ab}.studio-details dt{display:flex;align-items:center;gap:.5rem;color:var(--color-deep-plum);font-family:var(--font-display)}.studio-details dd{margin:.75rem 0 0;font-size:.9375rem}.studio-details a{color:var(--color-deep-plum)}.home-faq{max-width:84rem;margin:0 auto}.faq-list{margin:3rem 0 0;border-top:1px solid var(--color-border)}.faq-list details{border-bottom:1px solid var(--color-border)}.faq-list summary{padding:1.2rem 2rem 1.2rem 0;color:var(--color-deep-plum);cursor:pointer;font-family:var(--font-display);list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{float:right;content:"+";font-family:var(--font-body)}.faq-list details[open] summary:after{content:"−"}.faq-list p{margin:0;padding:0 2rem 1.2rem 0}.studio-page__content,.faq-page__content,.legal-page,.not-found-page{padding:clamp(2.5rem,7vw,7rem) clamp(1.25rem,8vw,8rem) clamp(4.5rem,10vw,8rem)}.studio-page__notice{max-width:46rem;margin:2rem 0 0;padding:1rem 1.2rem;border-left:4px solid var(--color-sage-ink);background:#edf0ea;color:var(--color-sage-ink);font-size:.9375rem;line-height:1.8}.studio-page__content{display:grid;gap:3rem;max-width:76rem}.studio-page__section{padding-top:1.5rem;border-top:1px solid var(--color-border)}.studio-page__section h2,.legal-page h2{margin:0;color:var(--color-deep-plum);font-family:var(--font-display);font-size:1.65rem;font-weight:400}.studio-page__section p,.studio-page__section li,.studio-page__section address,.legal-page p,.not-found-page p{line-height:1.9}.studio-page__section address{display:flex;gap:.55rem;margin-top:1rem;font-style:normal}.studio-page__section ul{display:grid;gap:.65rem;margin:1.25rem 0 0;padding-left:1.2rem}.studio-page__hours{margin:1rem 0 0;border-top:1px solid var(--color-border)}.studio-page__hours div{display:grid;grid-template-columns:minmax(9rem,.55fr) 1fr;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--color-border)}.studio-page__hours dd{margin:0}.studio-page__contact{display:flex;flex-wrap:wrap;gap:1rem}.studio-page__contact a,.faq-search__actions a{display:inline-flex;align-items:center;gap:.5rem;color:var(--color-deep-plum);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:.35rem}.faq-search{max-width:55rem}.faq-search__label{display:block;color:var(--color-deep-plum);font-size:.9375rem;font-weight:500}.faq-search__input{width:100%;margin-top:.65rem;padding:.85rem;border:1px solid var(--color-border);background:var(--color-mineral-white);color:var(--color-charcoal);font:inherit}.faq-search__count{margin:.75rem 0 0;color:#746d70;font-size:.9375rem}.faq-search__results{margin-top:1.5rem;border-top:1px solid var(--color-border)}.faq-search__item{border-bottom:1px solid var(--color-border)}.faq-search__item button{width:100%;padding:1.2rem 2rem 1.2rem 0;border:0;background:transparent;color:var(--color-deep-plum);cursor:pointer;font:inherit;font-family:var(--font-display);text-align:left}.faq-search__item button:after{float:right;content:"+"}.faq-search__item button[aria-expanded=true]:after{content:"−"}.faq-search__item section p{margin:0;padding:0 2rem 1.25rem 0;line-height:1.9}.faq-search__empty{margin-top:2rem;padding:2rem;border:1px solid var(--color-border);background:var(--color-pale-gray)}.faq-search__empty h2{margin:0;color:var(--color-deep-plum);font-family:var(--font-display);font-size:1.5rem;font-weight:400}.faq-search__empty p{line-height:1.9}.faq-search__actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.5rem}.contact-form{display:grid;gap:1.25rem;margin-top:2rem}.contact-flow{width:min(100%,48rem)}.legal-page article,.not-found-page section{max-width:50rem}.legal-page h1,.not-found-page h1{margin:0;color:var(--color-deep-plum);font-family:var(--font-display);font-size:clamp(2.2rem,5vw,4rem);font-weight:400}.legal-page__lead{margin-top:1.25rem}.legal-page section{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.not-found-page{display:grid;min-height:65vh;align-items:center;background:var(--color-pale-gray)}.not-found-page .booking-button{display:inline-flex;margin-top:1.5rem}.home-final-cta{display:grid;gap:2rem;padding:clamp(3rem,8vw,7rem) clamp(1.25rem,8vw,7rem);background:var(--color-deep-plum);color:var(--color-mineral-white)}.home-final-cta h2{color:inherit;font-size:clamp(1.8rem,3.5vw,3.2rem)}.home-final-cta>div>p:last-child{max-width:38rem;margin:1.25rem 0 0;font-size:1rem;line-height:1.9}.home-final-cta .button-link{justify-content:space-between;min-width:14rem;background:var(--color-sage-ink)}.contact-link{display:inline-flex;align-items:center;gap:.55rem;padding:.75rem 0;color:inherit;font-size:.9375rem;text-decoration:none}.gallery-page__content{width:min(100%,96rem);margin-inline:auto;padding:clamp(3.5rem,8vw,7.5rem) clamp(1.25rem,6vw,6rem) clamp(5rem,11vw,10rem)}.gallery-section+.gallery-section{margin-top:clamp(6rem,12vw,11rem)}.gallery-section__header{display:grid;gap:1rem;margin-bottom:clamp(2rem,5vw,4rem);padding-top:1.25rem;border-top:1px solid var(--color-border)}.gallery-section__header>p{margin:0;color:var(--color-sage-ink);font-size:.8125rem;letter-spacing:.16em}.gallery-section__header h2{margin:0;color:var(--color-deep-plum);font-family:var(--font-display);font-size:clamp(1.8rem,3.5vw,3rem);font-weight:400;letter-spacing:.06em}.gallery-section__header div>p{max-width:38rem;margin:.9rem 0 0;line-height:2}.gallery-grid{display:grid;gap:clamp(1.25rem,3vw,2.5rem)}.gallery-card{min-width:0;margin:0}.gallery-card__button{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.gallery-card__button img{display:block;width:100%;height:auto;aspect-ratio:3 / 2;object-fit:contain;background:#f0eee9;transition:opacity var(--motion-fast) ease}.gallery-card__button:hover img{opacity:.9}body.gallery-viewer-open{overflow:hidden}.gallery-viewer{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:clamp(1.25rem,4vw,3rem);color:var(--color-mineral-white)}.gallery-viewer__backdrop{position:absolute;z-index:0;top:0;right:0;bottom:0;left:0;border:0;background:#271922f5;cursor:zoom-out}.gallery-viewer__close{position:absolute;z-index:2;top:max(1rem,env(safe-area-inset-top));right:max(1rem,env(safe-area-inset-right));display:grid;width:3rem;height:3rem;place-items:center;padding:0;border:1px solid rgb(251 250 247 / .5);border-radius:50%;background:#2719228c;color:inherit;cursor:pointer}.gallery-viewer__figure{position:relative;z-index:1;display:grid;max-width:min(92vw,96rem);max-height:90vh;gap:.75rem;margin:0;pointer-events:none}.gallery-viewer__figure img{display:block;width:auto;max-width:100%;height:auto;max-height:min(82vh,64rem);margin-inline:auto;object-fit:contain}.gallery-viewer__figure figcaption{margin:0;color:#eee8eb;font-size:.9375rem;letter-spacing:.04em;text-align:center}@media(min-width:42rem){.gallery-section__header{grid-template-columns:minmax(8rem,.35fr) minmax(0,1fr);align-items:start}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.gallery-grid--studio .gallery-card:first-child,.gallery-grid--studio .gallery-card:last-child,.gallery-grid--equipment .gallery-card:first-child{grid-column:1 / -1}}@media(min-width:60rem){.gallery-grid{grid-template-columns:repeat(12,minmax(0,1fr))}.gallery-grid--studio .gallery-card:nth-child(1),.gallery-grid--studio .gallery-card:nth-child(4),.gallery-grid--equipment .gallery-card:nth-child(1){grid-column:span 7}.gallery-grid--studio .gallery-card:nth-child(2),.gallery-grid--studio .gallery-card:nth-child(3),.gallery-grid--equipment .gallery-card:nth-child(2){grid-column:span 5}.gallery-grid--studio .gallery-card:nth-child(5),.gallery-grid--studio .gallery-card:nth-child(6){grid-column:span 6}.gallery-grid--studio .gallery-card:nth-child(7),.gallery-grid--equipment .gallery-card:nth-child(3){grid-column:3 / span 8}}@media(min-width:42rem){.home-concept{grid-template-columns:minmax(0,.9fr) minmax(20rem,1fr)}.reason-list{grid-template-columns:repeat(3,1fr)}.program-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.75rem}.price-grid{grid-template-columns:repeat(2,1fr)}.testimonial-grid{grid-template-columns:repeat(3,1fr)}.home-studio{grid-template-columns:minmax(0,1.2fr) minmax(18rem,.8fr)}.studio-details{align-content:start}.home-final-cta{grid-template-columns:minmax(0,1fr) auto;align-items:end}.home-final-cta__actions{justify-content:flex-end;max-width:22rem}}@media(min-width:52rem){.program-detail{grid-template-columns:minmax(0,1fr) minmax(20rem,.8fr);align-items:start}.plan-row{grid-template-columns:minmax(13rem,1.2fr) minmax(7rem,.5fr) minmax(11rem,.8fr) minmax(12rem,.8fr);align-items:start}.plan-row__action{text-align:right}.plan-row__action a{justify-content:flex-end}}@media(min-width:42rem)and (max-width:59.999rem){.home-hero__image{top:-8%;height:108%;object-position:58% top}.home-hero__content,.home-hero__adaptive-copy{width:50%;max-width:none;margin-left:48%;padding:clamp(2.5rem,5vw,3.5rem) 1rem 0 0}}@media(min-width:60rem){.home-hero{min-height:min(84.75rem,max(100vh,94.3vw))}.home-hero__image{top:-14%;height:114%;object-position:52% top}.home-hero__content,.home-hero__adaptive-copy{align-self:start;width:43%;max-width:42rem;margin-left:54%;padding:clamp(3rem,4.5vw,4.5rem) clamp(1.5rem,3vw,3rem) 0 0}.home-hero h1{font-size:clamp(2.7rem,4vw,4.25rem)}.home-hero__description{margin-top:1rem}.home-hero__reassurance{margin-top:.65rem}.home-hero__content{background:transparent}.home-hero__actions{display:none}.home-concept{grid-template-columns:minmax(0,1.2fr) minmax(18rem,.8fr);gap:clamp(3rem,4vw,4rem);padding-inline:clamp(4rem,5vw,6rem)}.home-concept .section-header h2{font-size:clamp(2rem,3vw,2.6rem)}.price-grid{grid-template-columns:repeat(4,1fr)}.home-final-cta{padding-inline:clamp(4rem,12vw,13rem)}}
