/* Homepage composition, October 19. Shared brand tokens remain in styles.css. */
@font-face{font-family:'Barlow Condensed';src:url('/assets/barlow-condensed-800.woff2') format('woff2');font-weight:800;font-style:normal;font-display:swap}
.site-nav{gap:28px}.site-nav>a{font-size:15px}.site-nav .nav-cta{background:var(--red);border-color:var(--red);color:#fff;padding:13px 20px}
.hero{padding:32px 0 38px;background:#090909}
.hero-layout{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:48px;align-items:center}
.hero-content{padding:15px 0;display:block}
.hero .eyebrow{font-size:14px;line-height:1.65;letter-spacing:.035em;margin-bottom:26px;max-width:none;color:#ddd5c5}
.hero h1{font-family:'Barlow Condensed',Impact,sans-serif;font-size:clamp(80px,9.8vw,144px);line-height:.88;letter-spacing:-.025em;overflow-wrap:normal;text-wrap:initial}
.hero-subline{font-size:16px;line-height:1.65;margin-top:26px;max-width:37ch;color:#c8c1b3}
.hero-intro{font-size:clamp(21px,2vw,27px);line-height:1.4;font-weight:600;max-width:29ch;margin-top:12px;color:var(--cream)}
.hero-actions{flex-direction:column;align-items:flex-start;gap:8px;margin-top:26px}
.hero-actions .button{min-width:250px}.hero-actions .text-link{font-size:15px}
.hero-team{align-self:center;position:relative;border:0;background:none}
.hero-team img{width:100%;height:auto;aspect-ratio:1206/1046;object-fit:contain}
.hero-team figcaption{border-top:0;border-left:3px solid var(--red);padding:12px 16px;background:#171715;font-size:10px;letter-spacing:.07em;line-height:1.7}
.training-strip{background:#201f1b}.strip-inner{grid-template-columns:1.15fr 1fr 1fr;min-height:96px}.next-class small{color:#c8b58f}.strip-item strong{font-size:18px}.strip-item span{font-size:13px}
.section-pad{padding-block:72px}.section-kicker{margin-bottom:32px;padding-bottom:15px}.section-heading h2{font-size:clamp(34px,3.6vw,49px);line-height:1.1;letter-spacing:-.045em}.section-heading{margin-bottom:32px}
.first-class-section{background:var(--cream);color:var(--ink);border-bottom:1px solid var(--dark-line)}
.first-class-grid{grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:70px;align-items:start}
.first-class-copy>.eyebrow{color:var(--red-dark);font-size:12px;margin-bottom:18px}
.first-class-copy h2{font-size:clamp(38px,4.4vw,59px);line-height:1.08;letter-spacing:-.05em;max-width:15ch}
.first-class-copy>p:not(.eyebrow){color:#47433b;font-size:17px;line-height:1.7;margin-top:24px}
.first-step-list{margin-top:22px}.first-step-list>div{border-color:#ccc3b4;padding-block:14px;gap:18px}.first-step-list>div>span{color:#8d2d26}.first-step-list p{color:#47433b;font-size:16px;line-height:1.65}.first-step-list strong{color:var(--ink);font-size:17px}
.first-class-copy .first-visit-detail{font-size:15px!important;color:#5e574c!important;margin-top:20px}
.class-planner{background:#1c1c18;color:var(--cream);padding:30px;border-top:3px solid var(--red)}
.class-planner h3{font-size:31px;letter-spacing:-.04em;margin:14px 0 24px}.planner-heading{padding-bottom:14px}.planner-result{padding:20px 0;margin-top:18px;border-color:#585348}.planner-result p{font-size:15px}.planner-result h4{font-size:25px}.class-planner .button{font-size:15px;width:100%;gap:14px}.planner-note{font-size:13px;line-height:1.65}.experience-options label span{font-size:14px;min-height:46px}.class-planner select{font-size:16px;min-height:48px}
.club-section{background:#f5f1e8}.club-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:76px;align-items:center}.club-copy .eyebrow{color:#8d2d26;margin-bottom:20px}.club-copy h2{font-size:clamp(38px,4.2vw,58px);line-height:1.07;margin-bottom:24px}.club-copy .large-copy{font-size:23px;line-height:1.5}.club-copy>p:not(.large-copy):not(.eyebrow){font-size:17px;line-height:1.75;max-width:58ch}.club-team-photo{position:static;max-width:430px;justify-self:end}.club-team-photo figcaption{font-size:10px;padding:13px 18px}
.home-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px;border-top:1px solid var(--dark-line);margin-top:48px;padding-top:28px}.home-values article>span{font-size:11px;font-weight:800;color:#8d2d26;letter-spacing:.1em}.home-values h3{font-size:30px;letter-spacing:-.04em;margin:12px 0}.home-values p{font-size:16px;line-height:1.7;color:#514b41;max-width:36ch}.foundation-line{font-size:11px;font-weight:800;letter-spacing:.1em;margin-top:28px;color:#685546}
.training-heading{margin-bottom:34px}.training-paths{gap:34px}.training-path{padding-top:24px}.training-path:first-child{border-top:3px solid #e29b8f;padding-top:22px}.path-number{display:none}.path-title h3{font-size:29px}.training-path>p{font-size:17px;line-height:1.7;margin:17px 0 20px}.weekend-grid{margin-top:28px;padding-top:26px}.weekend-intro h3,.weekend-option h3{font-size:27px}.weekend-option>p{font-size:16px}.weekend-intro .small-label{margin-bottom:14px}
.coaching-grid{grid-template-columns:minmax(0,.73fr) minmax(0,1.27fr);gap:68px;align-items:start}.instructor-portrait{position:static;max-width:440px;width:100%;justify-self:start}.instructor-portrait figcaption{padding:14px 18px;font-size:11px;gap:4px}.instructor-portrait figcaption span{font-size:10px}.coaching-grid .andrew-profile{max-width:none}.coaching-grid h2{font-size:clamp(40px,4.7vw,65px);margin-bottom:16px;line-height:1.1}.coaching-grid .profile-role{font-size:13px;line-height:1.65;color:#654c35}.coaching-grid .profile-rank{font-size:15px;line-height:1.7}.coaching-grid .large-copy{font-size:22px;line-height:1.55;margin-top:22px}.coaching-grid p{font-size:17px;line-height:1.7}.coaching-grid .large-copy+p{font-size:17px;line-height:1.7;margin-top:18px}.bio-more{margin-top:20px}.bio-more>summary{font-size:15px}.bio-more>div{padding:0 0 20px}.bio-more>div p{font-size:16px}.progress-motto{font-size:13px!important;letter-spacing:.04em;margin-top:24px}
.coach-team{display:block;margin-top:44px;padding-top:32px}.coach-team-intro{grid-template-columns:.8fr 1.2fr;gap:52px;margin-bottom:22px}.coach-team-intro h3{font-size:29px}.coach-team-intro p:not(.eyebrow){font-size:16px}.coach-team-intro>div:last-child>p+p{display:none}.coach-roster{grid-template-columns:repeat(4,minmax(0,1fr));gap:0 28px;border-top:2px solid var(--red)}.coach-roster li{padding-block:15px}.coach-roster strong{font-size:18px}.coach-roster span{font-size:12px}
.schedule-controls{margin-bottom:28px}.schedule-grid{gap:20px}.schedule-card{min-height:0}.schedule-card-header{padding-bottom:16px}.schedule-card-header h3{font-size:25px}.schedule-card-footer{padding-top:18px}
.membership-heading{margin-bottom:30px}.membership-heading h2{font-size:clamp(36px,3.8vw,52px)}.membership-rate{min-height:105px;padding-block:20px}.membership-rate dd{font-size:47px}.membership-rate dt>strong{font-size:24px}.membership-next-step{padding:22px 26px}
.faq-intro h2{font-size:clamp(33px,3.5vw,47px)}.faq-list summary{font-size:18px}.faq-list details>div p{font-size:16px}
.class-life{padding-top:32px;background:var(--cream)}.class-life-heading{padding-top:0;border-top:0}.class-life-heading h2{font-size:36px}.class-photo-grid{gap:24px}.class-photo-grid img{aspect-ratio:4/3;object-fit:contain}.class-photo-grid figcaption{font-size:13px}
.education-section .section-heading>p{max-width:53ch}.education-section .section-heading h2{max-width:11ch}.mat-iq-lesson{padding:24px 28px;margin-bottom:30px}.mat-iq-lesson h3{font-size:29px}.mat-iq-lesson p:not(.eyebrow){font-size:16px}.video-grid{gap:28px}.video-card h3{font-size:23px}.video-card>p{font-size:15px;line-height:1.65}.education-footer{padding-top:24px;margin-top:28px}
.home-art-callout{padding:45px 0;border-bottom:1px solid var(--dark-line)}.home-art-callout h2{font-size:40px;line-height:1.1;margin:0}.home-art-callout p{font-size:16px;line-height:1.7}.home-art-callout .eyebrow{font-size:11px;margin-bottom:18px}.home-art-callout .art-links{gap:14px 22px;flex-wrap:wrap}.home-art-callout .art-links a{font-size:14px;min-height:44px;display:inline-flex;align-items:center}
.gear-preview{display:grid;grid-template-columns:.7fr 1.3fr;gap:64px;align-items:center}.gear-preview figure{max-width:430px}.gear-preview figure img{width:100%;height:auto}.gear-preview h2{font-size:clamp(34px,3.8vw,50px);line-height:1.1;margin-bottom:22px}.gear-preview p:not(.eyebrow){font-size:17px;line-height:1.7;max-width:49ch}.gear-preview .text-link{margin-top:20px}
.updates-section .section-heading h2{font-size:43px}.updates-section .social-hub{display:none}.social-post-content>p{font-size:16px}.social-posts{gap:32px}.social-post-content .story-date{font-size:13px}.visit-section{min-height:0}.visit-image{min-height:0}.visit-image img{max-height:420px;width:100%;object-fit:contain}.visit-copy{padding-block:64px}.visit-copy h2{font-size:49px}.visit-copy>.eyebrow{font-size:11px}
.footer-section-links{display:flex;flex-wrap:wrap;gap:12px 28px;padding-bottom:28px;border-bottom:1px solid var(--line);margin-bottom:24px}.footer-section-links a{min-height:44px;display:inline-flex;align-items:center;font-size:14px;color:#d0c9ba}.footer-section-links a:hover{color:#fff}
.story-top{padding-block:72px}.story-top h1{font-size:clamp(48px,7vw,90px);line-height:1.05;max-width:15ch}.story-top>p:not(.eyebrow){max-width:43ch;font-size:23px;margin:26px 0}.story-page .section-pad{padding-block:70px}.story-page .club-copy h2{font-size:43px}.story-page .club-team-photo{max-width:none}.story-page .club-copy>p:not(.eyebrow){font-size:18px}.story-footer{display:flex;justify-content:space-between;gap:30px;padding-block:40px}.story-page .header-inner>.text-link{font-size:14px}
@media(max-width:1080px){.hero-layout{gap:28px;grid-template-columns:.9fr 1.1fr}.hero h1{font-size:clamp(74px,10vw,110px)}.hero .eyebrow{font-size:13px}.hero-subline{font-size:15px}.hero-intro{font-size:22px}.hero-team figcaption{font-size:9px}.first-class-grid{gap:40px}.club-grid{gap:40px}.coaching-grid{gap:40px}.coach-roster{grid-template-columns:repeat(3,minmax(0,1fr))}.gear-preview{gap:40px}}
@media(max-width:800px){.section-pad{padding-block:56px}.hero{padding-top:26px;padding-bottom:28px}.hero .eyebrow{font-size:12px}.hero h1{font-size:76px}.hero-intro{font-size:20px}.hero-actions .button{min-width:0;width:100%;padding-inline:17px}.hero-subline{max-width:30ch}.first-class-grid{grid-template-columns:1fr 1fr;gap:30px}.first-class-copy h2{font-size:39px}.class-planner{padding:24px}.experience-options{grid-template-columns:1fr}.club-grid{grid-template-columns:1fr 1fr;align-items:start;gap:30px}.club-copy h2{font-size:39px}.club-copy .large-copy{font-size:21px}.club-copy>p:not(.large-copy):not(.eyebrow){font-size:16px}.home-values{gap:26px}.home-values h3{font-size:28px}.training-paths{grid-template-columns:1fr}.training-path{display:grid;grid-template-columns:1fr 1.2fr;gap:16px 30px}.path-title{grid-column:1;grid-row:1}.training-path>p{grid-column:2;grid-row:1;margin:0}.path-meta{grid-column:2;margin:0}.coaching-grid{grid-template-columns:.7fr 1fr;gap:30px}.coaching-grid h2{font-size:40px}.coaching-grid .large-copy{font-size:20px}.coaching-grid .profile-rank{font-size:14px}.coaching-grid p,.coaching-grid .large-copy+p{font-size:16px}.coach-team-intro{grid-template-columns:1fr 1.2fr;gap:28px}.coach-roster{grid-template-columns:repeat(3,minmax(0,1fr))}.home-art-callout .shell{grid-template-columns:1fr 1fr;gap:30px}.home-art-callout h2{font-size:33px}.gear-preview{grid-template-columns:.8fr 1.2fr;gap:30px}.gear-preview h2{font-size:36px}.updates-section .section-heading h2{font-size:38px}.visit-copy h2{font-size:42px}.story-page .club-grid,.story-page .meaning-grid{grid-template-columns:1fr}}
@media(max-width:700px){
 .site-nav .nav-cta{justify-content:space-between}.site-nav>a{font-size:22px;min-height:54px}.site-nav{gap:10px}
 .hero{padding:24px 0 0}.hero-layout{display:flex;flex-direction:column;align-items:stretch;gap:0}.hero-content{display:contents}.hero .eyebrow{order:1;display:block;font-size:12px;line-height:1.65;margin-bottom:20px}.hero .red-square{display:none}.hero h1{order:2;font-size:clamp(72px,21vw,120px);line-height:.9;letter-spacing:-.02em;overflow-wrap:normal}.hero-subline{order:3;font-size:15px;line-height:1.6;max-width:none;margin-top:20px}.hero-intro{order:4;font-size:20px;line-height:1.4;margin:10px 0 22px;max-width:30ch}.hero-intro br{display:none}.hero-actions{order:5;margin:0 0 20px;gap:0;align-items:stretch}.hero-actions .button{min-height:54px;font-size:15px}.hero-actions .text-link{min-height:48px;font-size:15px}.hero-team{order:6;margin-inline:-20px;align-self:stretch}.hero-team img{aspect-ratio:900/567}.hero-team figcaption{font-size:9px;padding:10px 20px;border-left:0;border-bottom:3px solid var(--red);gap:12px}
 .strip-inner{display:block}.next-class{padding-block:20px;border:0;gap:13px}.next-class strong{font-size:14px;line-height:1.6}.strip-item{display:none}
 .section-pad{padding-block:48px}.section-kicker{margin-bottom:28px}.section-heading{gap:20px;display:block;margin-bottom:28px}.section-heading h2{font-size:36px}.section-heading>p{font-size:17px;max-width:55ch;margin-top:22px}
 .first-class-grid{grid-template-columns:1fr;gap:30px}.first-class-copy h2{font-size:42px;max-width:none}.first-class-copy>p:not(.eyebrow){font-size:17px;margin-top:22px}.first-step-list{margin-top:18px}.first-step-list>div{padding-block:13px}.first-step-list p{font-size:16px}.first-step-list strong{font-size:17px}.first-class-copy .first-visit-detail{font-size:15px!important}.class-planner{padding:26px 22px}.class-planner h3{font-size:30px;margin-bottom:20px}.experience-options{grid-template-columns:1fr 1fr}.experience-options label span{font-size:13px}.planner-heading .small-label{font-size:10px}.planner-result{padding-block:18px}.planner-note{font-size:13px}
 .club-grid{grid-template-columns:1fr;gap:30px}.club-copy h2{font-size:41px}.club-copy .large-copy{font-size:22px;line-height:1.5}.club-copy>p:not(.large-copy):not(.eyebrow){font-size:17px}.club-team-photo{width:100%;max-width:440px;justify-self:start}.home-values{grid-template-columns:1fr;gap:24px;margin-top:32px;padding-top:26px}.home-values article{display:grid;grid-template-columns:36px 1fr;gap:0 14px;align-items:start}.home-values article>span{grid-column:1;grid-row:1;margin-top:8px}.home-values h3{grid-column:2;margin:0 0 10px;font-size:28px}.home-values p{grid-column:2;max-width:45ch;font-size:16px}.foundation-line{font-size:10px;line-height:1.7}
 .training-path{grid-template-columns:1fr;gap:0;display:flex;padding-top:23px}.path-title{margin:0}.path-title h3{font-size:29px}.training-path>p{font-size:17px;margin:17px 0 20px}.path-meta{margin:0}.weekend-grid{grid-template-columns:1fr;gap:24px;margin-top:28px}.weekend-intro{display:none}.weekend-option{border-top:1px solid var(--line);border-left:0;padding:22px 0 0}.weekend-option>p{font-size:16px}.weekend-option h3{font-size:28px}
 .coaching-grid{grid-template-columns:1fr;gap:32px}.instructor-portrait{max-width:330px;justify-self:start}.coaching-grid .andrew-profile{max-width:65ch}.coaching-grid h2{font-size:43px}.coaching-grid .profile-role{font-size:12px}.coaching-grid .profile-rank{font-size:15px}.coaching-grid .large-copy{font-size:21px}.coaching-grid p,.coaching-grid .large-copy+p{font-size:17px}.coach-team{margin-top:32px;padding-top:28px}.coach-team-intro{display:block;margin-bottom:24px}.coach-team-intro h3{font-size:29px}.coach-team-intro p:not(.eyebrow){font-size:16px}.coach-roster{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}.coach-roster strong{font-size:17px}.coach-roster li{padding-block:14px}
 .schedule-grid{gap:18px}.membership-heading h2{font-size:42px}.membership-rate{min-height:106px}.membership-rate dd{font-size:44px}.membership-rate dt>strong{font-size:23px}.membership-next-step{padding:22px 20px}.membership-group h3{font-size:12px}.faq-intro h2{font-size:36px}.faq-list summary{font-size:17px;line-height:1.5}.faq-list details>div p{font-size:16px}
 .class-life{padding-top:24px;padding-bottom:44px}.class-life-heading h2{font-size:31px}.class-photo-grid{gap:22px 16px}.mat-iq-lesson{padding:24px 20px;grid-template-columns:1fr}.mat-iq-lesson>img{display:none}.mat-iq-lesson h3{font-size:29px}.mat-iq-lesson .text-link{grid-column:1}.education-section .section-heading h2{max-width:none}.video-card h3{font-size:23px}.video-grid{gap:32px}.home-art-callout{padding-block:40px}.home-art-callout .shell{grid-template-columns:1fr;gap:22px}.home-art-callout h2{font-size:35px}.home-art-callout p{font-size:17px}.gear-preview{grid-template-columns:1fr;gap:28px}.gear-preview figure{max-width:350px}.gear-preview h2{font-size:36px}.gear-preview p:not(.eyebrow){font-size:17px}.gear-preview .eyebrow{margin-bottom:17px}.updates-section .section-heading h2{font-size:36px}.social-post-content>p{font-size:16px}.visit-copy{padding-block:48px}.visit-copy h2{font-size:44px}.visit-image img{max-height:300px}
 .footer-section-links{gap:5px 24px}.story-top{padding-block:44px}.story-top h1{font-size:47px}.story-top>p:not(.eyebrow){font-size:21px}.story-page .header-inner>.text-link{font-size:12px;max-width:85px}.story-page .brand-type{font-size:18px}.story-page .brand img{width:44px;height:44px}.story-page .header-inner{gap:15px}.story-page .section-pad{padding-block:48px}.story-page .club-copy h2{font-size:36px}.story-page .club-copy>p:not(.eyebrow){font-size:17px}.story-footer{display:block}.story-footer>.text-link{margin-top:18px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button:hover{transform:none}}

.first-visit-prep{margin-top:24px;border-block:1px solid var(--dark-line)}.first-visit-prep>summary{display:flex;justify-content:space-between;gap:20px;align-items:center;min-height:54px;font-size:16px;font-weight:800;cursor:pointer;list-style:none}.first-visit-prep>summary::-webkit-details-marker{display:none}.first-visit-prep>summary>span{font-size:25px;color:var(--red-dark)}.first-visit-prep[open]>summary>span{transform:rotate(45deg)}.first-visit-prep .first-visit-detail{font-size:15px;line-height:1.7;margin:18px 0 22px;color:#514b41}.first-visit-prep .first-step-list{margin-top:0}.first-visit-prep .first-step-list>div:last-child{border-bottom:0}

.first-class-copy .first-visit-costs{font-size:15px!important;color:#654c35!important;margin-top:20px!important}.first-visit-costs a{display:inline-flex;font-size:14px;margin-left:10px;text-decoration:underline;text-underline-offset:4px}

@media(min-width:701px){.hero .eyebrow{display:block}.hero .red-square{display:inline-block;margin-right:9px;vertical-align:middle}}
