.page-hero{padding-block:clamp(1.5rem,1.2rem + 1vw,2.35rem);border-bottom:1px solid var(--color-border);background:var(--color-surface-soft)}.page-hero--compact{padding-block:clamp(1.35rem,1.1rem + .8vw,2rem)}.page-hero .container>*{max-width:var(--measure-reading)}.page-hero h1{margin:0;max-width:18ch;font-size:var(--font-size-h1);line-height:1.05}.page-hero h1+p{margin:.4rem 0 0;color:var(--color-text-muted);font-size:clamp(.92rem,.89rem + .12vw,1rem);text-wrap:pretty}
.split-layout{display:grid;gap:var(--space-7);align-items:center}.card-grid{display:grid;gap:var(--space-5)}.contact-grid{display:grid;gap:var(--space-6)}.policy-layout{max-width:var(--measure-wide)}.policy-layout section{margin-top:var(--flow-2xl)}.policy-layout ul{padding-left:var(--space-5)}.policy-layout p,.policy-layout li{line-height:var(--line-height-relaxed)}.policy-layout>p:last-of-type{margin-bottom:0}.policy-contact{margin-top:var(--flow-xl);font-style:normal;line-height:var(--line-height-relaxed)}.external-panel{padding:clamp(var(--space-6),7vw,var(--space-9));border:1px solid var(--color-border);border-radius:var(--radius-large);text-align:center;background:var(--color-surface)}.external-panel p{max-width:var(--measure-narrow);margin-inline:auto}.placeholder-message{max-width:46rem;text-align:center;margin-inline:auto}
.contact-widget-panel{grid-column:1/-1;margin-top:clamp(.25rem,1vw,.75rem);padding:clamp(1.25rem,2.5vw,2rem);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface)}.contact-widget-panel__heading{max-width:46rem;margin-bottom:1rem}.contact-widget-panel__heading h2{margin-bottom:.4rem;font-size:var(--font-size-h4)}.contact-widget-panel__heading p{margin:0;color:var(--color-text-muted)}.contact-widget-panel__embed{min-height:24rem;overflow:hidden}
.contact-page .page-hero{padding-block:clamp(.85rem,.75rem + .35vw,1.15rem)}.contact-page>.section{padding-block:clamp(1.15rem,1rem + .55vw,1.65rem)}.contact-page .contact-grid{gap:clamp(.85rem,1.25vw,1.15rem)}.contact-page .contact-widget-panel{margin-top:0;padding:clamp(1rem,1.4vw,1.25rem)}.contact-page .contact-widget-panel__heading{margin-bottom:.65rem}.contact-page .content-card{padding:clamp(1rem,1.4vw,1.25rem)}.location-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin:.8rem 0}.location-actions .button{min-height:2.75rem;padding:.65rem .9rem}
.contact-hours{grid-column:1/-1}.contact-hours__list{display:grid;grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr));gap:1rem;margin:0}.contact-hours__list dt{font-family:var(--font-accent);font-weight:600}.contact-hours__list dd{margin:.25rem 0 0;font-size:.94rem;line-height:1.5}.contact-hours>p{margin:1rem 0 0;color:var(--color-text-muted);font-size:.94rem}
.content-card{padding:clamp(var(--space-5),4vw,var(--space-7));border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface)}.content-card h2{font-size:var(--font-size-h4)}
.first-visit-page .page-hero{padding-top:clamp(1.35rem,1.1rem + .65vw,1.9rem)}
.first-visit-editorial{padding-block:clamp(1.5rem,1.25rem + 1vw,2.4rem)}
.first-visit-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(24rem,.92fr);grid-template-areas:"copy media" "offers media" "resources resources";column-gap:clamp(2.25rem,3vw,3.25rem);row-gap:.7rem;align-items:start}
.first-visit-copy{grid-area:copy;max-width:43rem}
.first-visit-copy h2{max-width:22ch;margin-bottom:.8rem;font-size:var(--font-size-h2);line-height:1.1}
.first-visit-copy p+p{margin-top:.8rem}
.first-visit-media{grid-area:media;width:100%;max-width:33rem;margin-left:auto;overflow:hidden;border-radius:var(--radius-card);background:var(--color-surface-soft)}
.first-visit-image{display:block;width:100%;height:auto}
.first-visit-offers{grid-area:offers;display:grid;grid-template-columns:1fr;grid-auto-rows:auto;gap:.65rem;padding-top:.65rem;border-top:1px solid var(--color-border)}
.first-visit-offer{display:flex;min-width:0;flex-direction:column;align-items:flex-start;padding:.9rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-large);background:var(--color-surface)}
.first-visit-offer h3{margin:0 0 .55rem;font-family:var(--font-accent);font-size:1.22rem;font-weight:500;line-height:1.15;letter-spacing:0}
.first-visit-offer dl{width:100%;margin:0 0 .65rem}
.first-visit-offer dl>div{display:grid;grid-template-columns:7rem minmax(0,1fr);gap:.75rem;align-items:baseline;padding:.42rem 0;border-top:1px solid var(--color-border)}
.first-visit-offer .first-visit-offer__row--includes{align-items:start}
.first-visit-offer dt{color:var(--color-text-muted);font-family:var(--font-functional);font-size:.86rem;font-weight:500;line-height:1.35}
.first-visit-offer dd{margin:0;font-family:var(--font-body);font-size:.94rem;font-weight:400;line-height:1.4}
.first-visit-offer__price-stack{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .55rem}
.first-visit-offer__price{font-family:var(--font-body);font-size:1.08rem;font-style:normal;font-weight:400;line-height:1.2;letter-spacing:0;text-transform:none;white-space:nowrap}
.first-visit-offer__regular-value{color:var(--color-text-muted);font-family:var(--font-body);font-size:.84rem;font-style:normal;font-weight:400;line-height:1.3;letter-spacing:0;text-decoration:none;text-transform:none}
.first-visit-offer .button{min-height:2.75rem;margin-top:.2rem;padding:.7rem 1rem;font-size:.82rem}
.first-visit-resources{grid-area:resources;display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:clamp(1.25rem,2.5vw,2.25rem);padding:.8rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-large);background:color-mix(in srgb,var(--color-surface-soft) 70%,var(--color-background))}
.first-visit-resources h2{margin:0;white-space:nowrap;font-family:var(--font-heading);font-size:1.3rem;font-weight:400;line-height:1.2}
.first-visit-resources p{margin:0;font-size:.94rem;line-height:1.55}
.first-visit-resources a{text-decoration-thickness:1px;text-underline-offset:.16em}
.faq-page .page-hero{padding-block:clamp(1.5rem,1.2rem + .8vw,2.25rem)}.faq-page .page-hero h1+p{margin-top:.35rem}.faq-section{padding-block:clamp(2rem,1.5rem + 1.5vw,3rem)}.faq-shell{max-width:54rem}.faq-search{margin:0}.faq-search label{display:block;margin-bottom:.5rem;font-family:var(--font-functional);font-size:var(--font-size-sm);font-weight:500}.faq-search-control{position:relative}.faq-search-control input{width:100%;min-height:clamp(3rem,2.9rem + .2vw,3.25rem);padding:.7rem 3rem .7rem 2.75rem;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface)}.faq-search-icon{position:absolute;z-index:1;top:50%;left:1rem;width:.9rem;height:.9rem;border:1.5px solid currentColor;border-radius:50%;color:var(--color-text-muted);translate:0 -55%;pointer-events:none}.faq-search-icon::after{position:absolute;right:-.32rem;bottom:-.2rem;width:.42rem;height:1.5px;background:currentColor;rotate:45deg;content:""}.faq-clear{position:absolute;right:.4rem;top:50%;translate:0 -50%;min-width:2.75rem;min-height:2.75rem;border:0;border-radius:50%;color:var(--color-text-muted);background:transparent;cursor:pointer}.faq-results-status{margin:.65rem 0 0;color:var(--color-text-muted);font-family:var(--font-functional);font-size:var(--font-size-sm)}.faq-list{max-width:none;margin-top:clamp(1rem,.9rem + .3vw,1.25rem)}.faq-item{border-bottom:1px solid var(--color-border)}.faq-item h2{margin:0}.faq-question{display:flex;width:100%;min-height:clamp(3.75rem,3.5rem + .5vw,4.5rem);align-items:flex-start;justify-content:space-between;gap:1rem;padding:clamp(.95rem,.85rem + .35vw,1.2rem) 0;border:0;text-align:left;color:var(--color-text);background:transparent;font-family:var(--font-heading);font-size:clamp(1.05rem,1rem + .25vw,1.2rem);font-weight:500;line-height:1.4;cursor:pointer}.faq-question-text{min-width:0;flex:1}.faq-icon{position:relative;flex:0 0 1rem;width:1rem;height:1rem;margin-top:.25rem;color:var(--color-primary)}.faq-icon::before,.faq-icon::after{position:absolute;top:50%;left:0;width:100%;height:1.5px;background:currentColor;content:"";transition:transform var(--motion-fast) var(--ease-out)}.faq-icon::after{transform:rotate(90deg)}.faq-question[aria-expanded="true"] .faq-icon::after{transform:rotate(90deg) scaleX(0)}.faq-answer{overflow:hidden;padding:0}.faq-enhanced .faq-answer{transition:height var(--motion-standard) var(--ease-out),opacity var(--motion-fast) var(--ease-out),transform var(--motion-fast) var(--ease-out)}.faq-answer-inner{padding:.1rem 2.5rem 1.25rem 0}.faq-answer-inner p{max-width:48rem;margin:0;line-height:1.65}.faq-no-results{text-align:center;padding:clamp(2rem,5vw,3rem)}
.faq-answer-inner p+p{margin-top:.85rem}
.faq-page--15p-categories .faq-category{padding-top:.85rem}.faq-page--15p-categories .faq-category+.faq-category{margin-top:.75rem;border-top:1px solid var(--color-border)}.faq-page--15p-categories .faq-category-title{margin:0;padding:.25rem 0 .2rem;color:var(--color-primary);font-family:var(--font-accent);font-size:clamp(1rem,.96rem + .12vw,1.08rem);font-weight:600;line-height:1.25;letter-spacing:.055em;text-transform:uppercase}.faq-page--15p-categories .faq-category-items{margin:0}
@media(min-width:48rem){.split-layout{grid-template-columns:1.05fr .95fr;gap:var(--space-9)}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:47.99rem){.page-hero,.page-hero--compact{padding-block:clamp(1.5rem,6vw,2.1rem)}.faq-page .page-hero{padding-block:clamp(1.35rem,4vw,1.75rem)}.faq-answer-inner{padding-right:1.5rem}}

.about-page .page-hero{padding-top:clamp(1.5rem,1.2rem + .8vw,2.25rem)}
.team-introduction{padding-block:clamp(1.5rem,2.5vw,2.1rem) clamp(1.1rem,1.7vw,1.5rem)}
.team-introduction p{max-width:46rem;margin:0 auto;font-family:var(--font-body);font-size:clamp(1.08rem,1rem + .35vw,1.35rem);font-weight:400;line-height:1.6;text-align:center;text-wrap:pretty}
.team-introduction .container{width:min(calc(100% - 2rem),52rem);padding:clamp(.9rem,1.4vw,1.2rem) 0;background:transparent}
.team-introduction .container::before,.team-introduction .container::after{display:block;width:min(100%,14rem);height:1px;margin-inline:auto;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--color-primary) 70%,var(--color-border)),transparent);content:""}
.team-introduction p{margin-block:clamp(.9rem,1.4vw,1.15rem)}
.team-portrait{padding-bottom:clamp(2.25rem,4vw,3.75rem)}
.team-portrait__media{width:min(100%,38.4rem);margin:0 auto;overflow:hidden;border-radius:var(--radius-card);background:var(--color-surface-soft)}
.team-portrait__image{display:block;width:100%;height:auto}
.team-next-step{margin:1.25rem 0 0;text-align:center}.team-next-step a{text-decoration:underline;text-underline-offset:.18em}
.team-identities{width:min(100%,38.4rem);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,2vw,2rem);margin:clamp(1rem,2vw,1.5rem) auto 0}
.team-identity{padding:clamp(.85rem,1.5vw,1.1rem) 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);text-align:center}
.team-identity h2{margin:0;font-size:var(--font-size-card-heading);line-height:1.1}
.team-identity__role{margin:.15rem 0 0;color:var(--color-text-muted);font-family:var(--font-accent);font-size:var(--font-size-sm);font-weight:500;letter-spacing:.08em;text-transform:uppercase}
.coach-profile__placeholder{max-width:30rem;margin:.65rem auto 0;color:var(--color-text-muted);font-family:var(--font-body);font-size:clamp(.92rem,.89rem + .1vw,1rem);font-weight:300;letter-spacing:0;line-height:1.65;text-align:left;text-transform:none}
.team-story{padding-block:clamp(2.5rem,5vw,4.5rem);background:var(--color-surface)}
.team-story__inner{max-width:64rem}
.team-story-section{display:grid;grid-template-columns:minmax(13rem,.7fr) minmax(0,1.3fr);gap:clamp(1.5rem,4vw,4rem);align-items:start;padding-block:clamp(1.75rem,3.5vw,3rem);border-top:1px solid var(--color-border)}
.team-story-section:last-child{border-bottom:1px solid var(--color-border)}
.team-story-section .eyebrow{grid-column:1/-1;margin-bottom:-.75rem}
.team-story-section--primary .eyebrow{font-family:var(--font-accent);font-size:var(--font-size-label);font-weight:500;letter-spacing:var(--letter-spacing-label);line-height:1.2;text-transform:uppercase}
.team-story-section h2{margin:0;font-size:var(--font-size-h2);line-height:1.08}
.team-story-section p{max-width:50rem;margin:0;font-size:clamp(1rem,.97rem + .12vw,1.075rem);line-height:var(--line-height-relaxed)}
.studio-editorial{padding-block:clamp(2.25rem,3vw,3rem) clamp(2.5rem,3.5vw,3.5rem)}
.about-editorial{width:min(calc(100% - 2rem),74rem);max-width:74rem;margin-inline:auto}
.about-editorial-heading{max-width:46rem;margin:0 0 1.1rem;font-family:var(--font-heading);font-size:clamp(2rem,1.8rem + .55vw,2.55rem);font-weight:500;line-height:1.1;letter-spacing:0;text-transform:none;opacity:1}
.about-editorial__body{display:grid;grid-template-columns:minmax(0,46rem) clamp(23.5rem,27vw,25rem);justify-content:space-between;align-items:center;gap:clamp(3rem,4vw,4.5rem)}
.about-editorial__prose{min-width:0;max-width:46rem}
.about-editorial__prose p{max-width:46rem;margin:0;font-size:max(1rem,var(--font-size-body));line-height:1.65}
.about-editorial__prose p+p{margin-top:1.1rem}
.about-story-page--refined{--about-media-stack-width:42rem;--about-media-phone-width:100%}
.about-story-page--refined .about-editorial__prose h3{margin:1.4rem 0 .5rem;font-family:var(--font-heading);font-size:clamp(1.3rem,1.2rem + .35vw,1.6rem);font-weight:500;line-height:1.2}
.about-story-page--refined .about-editorial__prose a{text-decoration:underline;text-underline-offset:.18em}
@media(min-width:55.01rem){.about-story-page--refined .about-editorial__body{display:block}.about-story-page--refined .about-editorial__prose{display:flow-root;max-width:none}.about-story-page--refined .about-editorial__prose p{max-width:none}.about-story-page--refined .about-editorial__media{float:right;width:clamp(20rem,30vw,25rem);margin:0 0 1.25rem clamp(1.75rem,2.5vw,2.75rem)}}
@media(max-width:55rem){.about-story-page--refined .studio-editorial__image{max-width:none}.about-story-page--refined .about-editorial__media{margin-bottom:1rem}}
.about-editorial__media{width:100%;max-width:none;margin:0;align-self:center;justify-self:end;overflow:hidden;border-radius:var(--radius-card);background:var(--color-surface-soft)}
.about-editorial__media picture{display:block;width:100%}
.studio-editorial__image{display:block;width:100%;max-width:28rem;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center;margin-inline:auto}
.studio-editorial--studio{padding-block:1rem 1.05rem}
.studio-layout{display:grid;grid-template-columns:minmax(0,1fr) 21rem;align-items:start;gap:clamp(3.25rem,4vw,4.5rem);width:100%;max-width:none;margin:0}
.studio-layout__content{min-width:0}
.studio-story{display:grid;grid-template-columns:minmax(18rem,24rem) minmax(0,1fr);align-items:center;gap:clamp(2rem,4vw,4rem);max-width:68rem;margin-inline:auto}
.studio-story__media{width:100%;margin:0;overflow:hidden;border-radius:var(--radius-card)}
.studio-story__media picture{display:block}
.studio-story__media .studio-editorial__image{display:block;width:100%;max-width:none;height:auto;margin:0;aspect-ratio:auto;object-fit:contain;object-position:center}
.studio-story__details{display:grid;gap:1rem;min-width:0}
.studio-story .studio-section{padding-top:1rem;border-top:1px solid var(--color-border)}
.studio-story .studio-section--first{padding-top:0;border-top:0}
.studio-story .studio-section h2{margin:0 0 .6rem;font-size:clamp(1.55rem,1.4rem + .4vw,1.95rem);line-height:1.12}
.studio-story .studio-section p{margin:0;line-height:1.6}
@media(max-width:55rem){.studio-story{grid-template-columns:1fr;gap:1.25rem;max-width:none}.studio-story__media{width:min(100%,50rem);margin-inline:auto}.studio-story__media .studio-editorial__image{aspect-ratio:4/3;object-fit:cover;object-position:center 76%}.studio-story .studio-section--first{padding-top:1rem;border-top:1px solid var(--color-border)}}
.studio-layout__media{width:100%;max-width:21rem;margin:0;justify-self:end;overflow:hidden;border-radius:var(--radius-card);background:var(--color-surface-soft)}
.studio-layout__media picture{display:block;width:100%}
.studio-layout__media .studio-editorial__image{display:block;width:100%;max-width:none;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;object-position:center;margin:0}
.studio-layout .studio-section{padding-block:.85rem}
.studio-layout .studio-section--first{padding-top:.2rem}
.studio-layout .studio-section+.studio-section{border-top:1px solid var(--color-border)}
.studio-layout .studio-section h2{max-width:28ch;margin:0 0 .6rem;font-size:clamp(1.55rem,1.4rem + .4vw,1.95rem);line-height:1.12}
.studio-layout .studio-section p{max-width:56rem;margin:0;line-height:1.6}
.studio-closing{display:grid;grid-template-columns:minmax(17rem,.7fr) minmax(0,1.3fr);grid-template-areas:"title copy" "title action";column-gap:2rem;row-gap:.55rem;width:100%;margin:1rem 0 0;padding:1.1rem 1.25rem;align-items:start;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface-soft)}
.studio-closing h2{grid-area:title;max-width:24ch;margin:0;align-self:start;font-size:clamp(1.55rem,1.4rem + .45vw,2rem);line-height:1.12}
.studio-closing p{grid-area:copy;margin:0;line-height:var(--line-height-relaxed)}
.studio-closing .button{grid-area:action;justify-self:start;align-self:start;margin:.1rem 0 0}
.studio-landing-page .course-content{padding-block:clamp(1rem,2vw,1.5rem)}
.studio-landing-page--aligned-media{--studio-media-max-width:100%;--studio-media-mobile-width:100%}
.studio-landing-media{width:100%;max-width:var(--studio-media-max-width,48rem);height:auto;margin:0 auto clamp(.9rem,1.2vw,1.1rem);overflow:hidden;border-radius:var(--radius-card);background:var(--color-surface-soft)}
.studio-landing-media picture{display:block;width:100%}
.studio-landing-image{display:block;width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;object-position:center}
@media(min-width:55.01rem){
  .first-visit-page .page-hero{padding-top:clamp(1.05rem,.98rem + .25vw,1.3rem)}
  .first-visit-editorial{padding-block:.9rem 1rem}
  .first-visit-copy h2{margin-bottom:.55rem}
  .first-visit-copy p+p{margin-top:.55rem}
  .about-story-page .studio-editorial{padding-block:1.5rem 1.75rem}
  .team-introduction{padding-block:1.25rem .9rem}
  .team-introduction .container{padding:.75rem 0}
  .team-introduction p{margin-block:.8rem}
  .team-portrait{padding-bottom:1.5rem}
  .team-portrait__media,.team-identities{width:min(100%,32rem)}
  .team-identities{gap:1.25rem;margin-top:.8rem}
  .account-registration-intro{max-width:44rem;margin-inline:auto;padding-top:clamp(.45rem,.5vw,.7rem);text-align:center}
  .account-registration-intro p{margin:0 auto clamp(1.65rem,1.35rem + .75vw,2.1rem);font-size:clamp(1.15rem,1.1rem + .16vw,1.3rem);line-height:1.55;text-wrap:pretty}
}
@media(max-width:55rem){.team-story-section{grid-template-columns:1fr;gap:.75rem}.team-story-section .eyebrow{margin-bottom:0}}
@media(max-width:55rem){.about-editorial__body{grid-template-columns:1fr;gap:clamp(1.5rem,5vw,2.5rem)}.about-editorial__prose{width:min(100%,42rem);margin-inline:auto}.about-editorial__media{order:-1;width:min(100%,var(--about-media-stack-width,26rem));margin-inline:auto;justify-self:center}.studio-editorial--studio{padding-block:1.5rem 2rem}.studio-layout{grid-template-columns:1fr;gap:1.75rem}.studio-layout__media{width:min(100%,21rem);max-width:21rem;margin-inline:auto;justify-self:center}.studio-layout .studio-section{padding-block:.9rem}.studio-closing{display:block;width:min(100%,72rem);margin:1rem auto 0;padding:1.2rem 1.4rem}.studio-closing h2{margin:0 0 .6rem}.studio-closing .button{margin-top:1.25rem}}

@media(max-width:55rem){.first-visit-layout{grid-template-columns:1fr;grid-template-areas:"copy" "media" "offers" "resources";column-gap:0;row-gap:clamp(1.25rem,1rem + .5vw,1.5rem)}.first-visit-media,.first-visit-offers,.first-visit-resources{width:100%;max-width:34rem;margin-inline:auto}.first-visit-resources{display:block}.first-visit-resources h2{white-space:normal}.first-visit-resources p{margin-top:.4rem}.team-introduction .container{width:min(calc(100% - 2rem),52rem)}}
@media(max-width:30rem){.first-visit-action .button{width:100%;max-width:22rem}}
@media(max-width:47.99rem){.studio-landing-page .course-content{padding-block:.85rem 1.15rem}.studio-landing-media{margin-bottom:.75rem}}

/* Embedded booking/account tools and narrow-screen content safeguards */
.booking-widget-section,.account-registration-section{min-width:0}
.booking-widget-container,.account-registration-container{min-width:0;max-width:100%;overflow:hidden}
.booking-widget-container iframe,.account-registration-container iframe,.contact-widget-panel iframe{display:block;width:100%!important;max-width:100%!important;border:0}
.booking-widget-container healcode-widget,.account-registration-container healcode-widget,.contact-widget-panel healcode-widget{display:block;max-width:100%}
/* Reserve the measured initial embeds; allow longer schedules/forms to grow naturally. */
.booking-widget-container .mindbody-widget{position:relative;display:flow-root;min-height:47rem}
.booking-widget-container .mindbody-widget>.iframe-loader{position:absolute;inset:0 0 auto;pointer-events:none}
.account-registration-container>healcode-widget{display:flow-root;min-height:196rem}
.account-registration-container>healcode-widget.is-widget-loading{visibility:hidden}
@media(max-width:55rem){.account-registration-container>healcode-widget{min-height:216rem}}
@media(max-width:47.99rem){.account-registration-container>healcode-widget{min-height:230rem}}
.policy-layout,.external-panel,.contact-widget-panel{min-width:0;overflow-wrap:anywhere}

/* Version 15N French preview: concise guidance around the embedded schedule */
body.booking-page .page-hero{padding-block:clamp(.9rem,1.5vw,1.25rem)}
body.booking-page .page-hero h1{margin-bottom:.3rem}
body.booking-page .page-hero h1+p{max-width:60rem}
body.booking-page .booking-help{display:none}
.booking-guide--15n-preview{padding:clamp(1.25rem,2.5vw,2rem) 0}
.booking-guide--15n-preview .booking-guide__panel{padding:clamp(1.25rem,2vw,1.75rem) 0;border-block:1px solid var(--color-border)}
.booking-guide--15n-preview .booking-guide__header{max-width:44rem;margin-bottom:clamp(1rem,1.8vw,1.4rem)}
.booking-guide--15n-preview .booking-guide__header .eyebrow{margin:0 0 .25rem}
.booking-guide--15n-preview .booking-guide__header h2{margin:0;font-size:clamp(1.85rem,2.4vw,2.45rem);line-height:1.08}
.booking-guide--15n-preview .booking-guide__header p:last-child{margin:.45rem 0 0;color:var(--color-text-muted);font-size:1.05rem;line-height:1.5}
.booking-guide--15n-preview .booking-guide__content{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(17rem,.65fr);gap:clamp(1.25rem,3vw,2.75rem);align-items:stretch}
.booking-guide--15n-preview .booking-guide__steps{display:grid;gap:0;margin:0;padding:0;list-style:none}
.booking-guide--15n-preview .booking-guide__steps li{display:grid;grid-template-columns:2.25rem minmax(0,1fr);gap:.85rem;padding:.85rem 0;border-top:1px solid var(--color-border)}
.booking-guide--15n-preview .booking-guide__steps li:last-child{border-bottom:1px solid var(--color-border)}
.booking-guide--15n-preview .booking-guide__steps span{display:grid;width:2.1rem;height:2.1rem;place-items:center;border:1px solid var(--color-primary);border-radius:50%;color:var(--color-primary);font-family:var(--font-accent);font-size:.92rem;font-weight:600}
.booking-guide--15n-preview .booking-guide__steps h3{margin:0 0 .18rem;font-size:clamp(1.08rem,1rem + .2vw,1.22rem);line-height:1.25}
.booking-guide--15n-preview .booking-guide__steps p{margin:0;color:var(--color-text-muted);line-height:1.5}
.booking-guide--15n-preview .booking-guide__aside{padding:clamp(1rem,1.7vw,1.35rem);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface-soft)}
.booking-guide--15n-preview .booking-guide__aside h3{margin:0 0 .4rem;font-size:clamp(1.25rem,1.5vw,1.5rem)}
.booking-guide--15n-preview .booking-guide__aside>p{margin:.4rem 0 0;line-height:1.5}
.booking-guide--15n-preview .booking-guide__links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem .8rem;margin-top:.9rem;padding-top:.8rem;border-top:1px solid var(--color-border);font-size:.96rem;line-height:1.35}
.booking-guide--15n-preview .booking-guide__links a{width:fit-content}
.booking-guide--15n-preview .booking-guide__help{margin-top:.9rem!important;padding-top:.75rem;border-top:1px solid var(--color-border);font-size:.92rem}
@media(max-width:47.99rem){
  body.booking-page .page-hero{padding-block:.85rem}
  .booking-guide--15n-preview{padding-block:1rem}
  .booking-guide--15n-preview .booking-guide__panel{padding:1rem 0}
  .booking-guide--15n-preview .booking-guide__header{margin-bottom:.8rem}
  .booking-guide--15n-preview .booking-guide__header h2{font-size:1.85rem}
  .booking-guide--15n-preview .booking-guide__header p:last-child{font-size:1rem}
  .booking-guide--15n-preview .booking-guide__content{grid-template-columns:1fr;gap:1rem}
  .booking-guide--15n-preview .booking-guide__steps li{grid-template-columns:2rem minmax(0,1fr);gap:.7rem;padding:.7rem 0}
  .booking-guide--15n-preview .booking-guide__steps span{width:1.85rem;height:1.85rem;font-size:.84rem}
  .booking-guide--15n-preview .booking-guide__aside{padding:1rem}
  .booking-guide--15n-preview .booking-guide__links{grid-template-columns:1fr 1fr;font-size:.94rem}
}

@media(max-width:47.99rem){
  .page-hero,.page-hero--compact{padding-block:clamp(1.1rem,4vw,1.5rem)}
  .page-hero h1{font-size:var(--font-size-h1);line-height:1.05}
  .page-hero h1+p{font-size:1rem;line-height:1.5}
  .contact-grid{gap:1rem}
  .contact-widget-panel{margin-top:0;padding:1rem}
  .contact-widget-panel__embed{min-height:28rem}
  .policy-layout section{margin-top:clamp(1.75rem,7vw,2.5rem)}
  .policy-layout ul{padding-left:1.25rem}
  .faq-search-control input{font-size:1rem}
  .faq-question{min-height:3.5rem}
  .first-visit-editorial{padding-block:.9rem 1.1rem}
  .first-visit-layout{row-gap:.85rem}
  .first-visit-media{width:min(100%,16rem);margin-inline:auto}
  .first-visit-offers{gap:.55rem;padding-top:.55rem}
  .first-visit-offer{padding:.75rem .85rem}
  .first-visit-offer h3{margin-bottom:.4rem}
  .first-visit-offer dl{margin-bottom:.5rem}
  .first-visit-offer dl>div{padding:.3rem 0}
  .first-visit-offer .button{min-height:2.75rem;margin-top:.1rem;padding:.62rem .9rem}

  .about-story-page .studio-editorial{padding-block:1.05rem 1.35rem}
  .about-story-page .about-editorial{width:min(calc(100% - 2.7rem),74rem)}
  .about-editorial-heading{margin-bottom:.75rem}
  .about-editorial__body{gap:1rem}
  .about-editorial__media{width:min(100%,var(--about-media-phone-width,18rem))}
  .about-editorial__prose p{font-size:.98rem;line-height:1.58}
  .about-editorial__prose p+p{margin-top:.78rem}

  .studio-editorial--studio{padding-block:1.05rem 1.35rem}
  .studio-layout{gap:1.15rem}
  .studio-layout__media{width:min(100%,17rem);max-width:17rem}
  .studio-layout .studio-section{padding-block:.68rem}
  .studio-layout .studio-section--first{padding-top:0}
  .studio-layout .studio-section h2{margin-bottom:.4rem}
  .studio-layout .studio-section p{line-height:1.55}
  .studio-closing{margin-top:.75rem;padding:.85rem .95rem}
  .studio-closing h2{margin-bottom:.4rem}
  .studio-closing .button{margin-top:.8rem}

  .team-introduction{padding-block:1rem .75rem}
  .team-introduction .container{padding:.6rem 0}
  .team-introduction p{margin-block:.65rem;font-size:.98rem;line-height:1.55;text-align:left}
  .team-portrait{padding-bottom:1.35rem}
  .team-portrait__media{width:min(100%,20rem)}
  .team-identities{width:min(100%,32rem);grid-template-columns:1fr;gap:.65rem;margin-top:.7rem}
  .team-identity{padding:.65rem 0;text-align:left}
  .coach-profile__placeholder{max-width:none;margin-top:.5rem}
  .team-story{padding-block:1.25rem}
  .team-story-section{gap:.55rem;padding-block:1rem}
  .team-story-section p{font-size:.98rem;line-height:1.58}
  .external-panel{padding:clamp(1.1rem,5vw,1.5rem)}
}

/* French terms preview: keep the first section close to the compact hero. */
.policy-section--compact-start{padding-top:clamp(1.5rem,3vw,2.5rem)}
.policy-layout--compact-start>section:first-child{margin-top:0}

/* Student membership approval: a compact email-based request path. */
.student-approval-section{padding-block:clamp(1.5rem,3.5vw,3rem)}
.student-approval-shell{display:grid;max-width:64rem;grid-template-columns:minmax(0,1.35fr) minmax(18rem,.65fr);grid-template-areas:"intro action" "steps action" "terms terms";gap:clamp(1.25rem,2.5vw,2.25rem) clamp(1.5rem,3vw,3rem);align-items:start}
.student-approval-intro{grid-area:intro}.student-approval-intro .eyebrow{margin:0 0 .35rem}.student-approval-intro h2{margin:0;font-size:clamp(1.65rem,2.5vw,2.35rem);line-height:1.1}.student-approval-intro h2+p{margin:.6rem 0 0;line-height:1.6}
.student-approval-steps{display:grid;grid-area:steps;gap:0;margin:0;padding:0;list-style:none}
.student-approval-steps li{display:grid;grid-template-columns:2.2rem minmax(0,1fr);gap:.85rem;padding:.9rem 0;border-top:1px solid var(--color-border)}.student-approval-steps li:last-child{border-bottom:1px solid var(--color-border)}
.student-approval-steps li>span{display:grid;width:2.1rem;height:2.1rem;place-items:center;border:1px solid var(--color-primary);border-radius:50%;color:var(--color-primary);font-family:var(--font-accent);font-weight:600}
.student-approval-steps h3{margin:0 0 .2rem;font-size:clamp(1.08rem,1rem + .25vw,1.25rem)}.student-approval-steps p{margin:0;color:var(--color-text-muted);line-height:1.55}
.student-approval-action{grid-area:action;padding:clamp(1.15rem,2vw,1.6rem);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface-soft)}.student-approval-action h2{margin:0;font-size:clamp(1.35rem,1.8vw,1.7rem)}.student-approval-action>p{margin:.55rem 0 0;line-height:1.55}.student-approval-action .button{width:100%;margin-top:1.15rem;text-align:center}.student-approval-action .student-approval-fallback{margin-top:.85rem;color:var(--color-text-muted);font-size:.92rem}
.student-approval-terms{grid-area:terms;margin:0;padding-top:.9rem;border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:.94rem;line-height:1.55}
@media(max-width:47.99rem){.student-approval-shell{grid-template-columns:1fr;grid-template-areas:"intro" "steps" "action" "terms";gap:1.15rem}.student-approval-steps li{grid-template-columns:2rem minmax(0,1fr);gap:.7rem;padding:.75rem 0}.student-approval-steps li>span{width:1.85rem;height:1.85rem;font-size:.86rem}.student-approval-action{padding:1rem}.student-approval-action .button{min-height:2.9rem}}

.not-found-page{min-height:100vh;min-height:100svh;display:grid;grid-template-rows:auto 1fr;background:radial-gradient(circle at 15% 15%,rgba(217,180,174,.36),transparent 28rem),linear-gradient(145deg,var(--color-background),#f3e3dc)}
.not-found-header{min-height:clamp(5rem,7vw,6.75rem);display:flex;align-items:center;justify-content:center;padding:clamp(1rem,2vw,1.5rem) 1.25rem;border-bottom:1px solid var(--color-border);background:rgba(255,250,245,.78)}
.not-found-brand{width:clamp(10rem,15vw,12.5rem);display:block}.not-found-brand img{width:100%;height:auto}
.not-found-main{min-height:0;display:grid;place-items:center;padding:clamp(2rem,5vw,5rem) 1.25rem}
.not-found-card{position:relative;width:min(100%,52rem);overflow:hidden;padding:clamp(2rem,5vw,4.25rem);border:1px solid var(--color-border);border-radius:var(--radius-large);background:rgba(255,250,245,.94);box-shadow:var(--shadow-soft);text-align:center}
.not-found-card>*:not(.not-found-code){position:relative;z-index:1}.not-found-code{position:absolute;top:50%;left:50%;color:rgba(123,85,79,.055);font-family:var(--font-display);font-size:clamp(14rem,35vw,30rem);line-height:.7;transform:translate(-50%,-50%);user-select:none}
.not-found-card .eyebrow{margin-bottom:.65rem}.not-found-card h1{margin-bottom:.35rem;font-size:clamp(2.65rem,5vw,4.75rem)}.not-found-title-en{margin:0;color:var(--color-primary);font-family:var(--font-heading);font-size:clamp(1.45rem,2.5vw,2rem);line-height:1.15}
.not-found-copy{max-width:40rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,2.5vw,2rem);margin:clamp(1.5rem,3vw,2.25rem) auto 0;padding-top:clamp(1.25rem,2.5vw,1.75rem);border-top:1px solid var(--color-border)}.not-found-copy p{margin:0;line-height:1.55}
.not-found-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:.75rem;margin-top:clamp(1.5rem,3vw,2.25rem)}.not-found-actions .button{min-width:min(100%,13.5rem);min-height:3rem;justify-content:center}
@media(max-width:47.99rem){.not-found-header{min-height:5rem;padding-block:.85rem}.not-found-brand{width:9.75rem}.not-found-main{align-items:start;padding:1.5rem 1rem 2rem}.not-found-card{padding:2rem 1.15rem;border-radius:var(--radius-card)}.not-found-card .eyebrow{max-width:26rem;margin-inline:auto;font-size:.72rem;letter-spacing:.1em}.not-found-card h1{font-size:clamp(2.35rem,11vw,3.15rem)}.not-found-title-en{font-size:1.4rem}.not-found-copy{grid-template-columns:1fr;gap:.65rem;margin-top:1.35rem;padding-top:1.15rem}.not-found-copy p{font-size:.95rem;line-height:1.5}.not-found-actions{display:grid;grid-template-columns:1fr;margin-top:1.4rem}.not-found-actions .button{width:100%}}
