:root{--bg:#111310;--surface:#191c18;--surface-2:#20241e;--text:#f3f4ec;--muted:#aaafa5;--line:#353a30;--lime:#c4f85a;--display:'Barlow Condensed','Arial Narrow',Impact,sans-serif;--body:Inter,Arial,sans-serif;--header:92px}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 24px)}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--body);font-size:14px;line-height:1.7}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%;object-fit:cover}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--display);font-weight:700;line-height:.96;letter-spacing:-.02em}h2{font-size:clamp(48px,5.2vw,76px)}h3{font-size:30px}p{color:var(--muted)}::selection{background:var(--lime);color:var(--bg)}:focus-visible{outline:2px solid var(--lime);outline-offset:6px}.wrap{width:min(1280px,calc(100% - 112px));margin-inline:auto}.section{padding-block:110px}.lime{color:var(--lime)}.muted-heading{color:#8c9386}.eyebrow{font-size:10px;letter-spacing:2.2px;font-weight:600;text-transform:uppercase;color:var(--lime);margin-bottom:23px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;min-height:53px;padding:14px 23px;background:var(--lime);color:#14180c;font-size:12px;font-weight:700;border:1px solid var(--lime);transition:background .2s,transform .2s}.button span{font-size:22px;line-height:1}.button:hover{background:#d5ff89;transform:translateY(-2px)}.button-small{min-height:40px;padding:9px 17px;font-size:11px;gap:20px}.text-link{display:inline-flex;align-items:center;gap:26px;font-size:12px;font-weight:600;padding-block:10px;border-bottom:1px solid #626857}.text-link span{font-size:22px;color:var(--lime)}.text-link:hover{color:var(--lime);border-color:var(--lime)}.skip-link{position:fixed;z-index:100;top:-100px;left:15px;background:var(--lime);padding:12px 20px;color:#111}.skip-link:focus{top:12px}.site-header{height:var(--header);background:rgba(17,19,16,.96);position:sticky;top:0;z-index:30;border-bottom:1px solid #ffffff12;backdrop-filter:blur(16px)}.navigation{height:100%;position:relative;display:flex;align-items:center;justify-content:center}.wordmark{display:inline-flex;align-items:center;gap:9px;font-family:var(--display);font-size:32px;font-weight:800;letter-spacing:-.5px;white-space:nowrap;line-height:1}.wordmark svg{width:23px;height:31px;fill:var(--lime)}.brand-dot{font-family:var(--body);font-size:10px;margin-left:3px;vertical-align:top;line-height:1.6}.nav-links{position:absolute;inset:0;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.nav-group{display:flex;gap:27px;align-items:center;pointer-events:auto}.nav-group>a:not(.button){font-size:11px;font-weight:500;color:#c7cdc0}.nav-group>a:hover{color:var(--lime)}.nav-right{gap:23px}.menu-toggle{display:none}.hero{height:min(790px,calc(100svh - var(--header)));min-height:650px;position:relative;isolation:isolate;overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%;z-index:-2}.hero-image{object-position:65% 48%;filter:saturate(.45) brightness(.65)}.hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(10,14,9,.9),rgba(10,14,9,.5) 49%,rgba(10,14,9,.08)),linear-gradient(0deg,#10140fed,transparent 35%)}.hero-content{padding-top:clamp(70px,9vh,110px)}.status-dot{display:inline-block;width:6px;height:6px;background:var(--lime);border-radius:50%;margin-right:8px;vertical-align:1px}.hero h1{font-size:clamp(88px,9.4vw,142px);font-weight:800;line-height:.91;letter-spacing:-.012em}.hero h1>span{color:var(--lime)}.hero-copy{font-size:14px;line-height:1.9;color:#c6cbbc;margin-top:28px}.hero-actions{display:flex;align-items:center;gap:35px;margin-top:32px}.hero-actions .text-link{border-color:transparent}.hero-bottom{position:absolute;bottom:34px;left:0;right:0;display:flex;justify-content:space-between;align-items:flex-end}.hero-bottom>p{font-size:9px;letter-spacing:1.8px;line-height:1.8;color:#c1c7b8}.scroll-cue{font-size:10px;color:#d2d8c8;display:flex;align-items:center;gap:20px}.scroll-cue span{border:1px solid #788067;border-radius:50%;display:grid;place-items:center;width:31px;height:31px;font-size:16px}.hero-index{font-family:var(--display);font-size:25px;color:var(--lime)}.hero-index span{font-family:var(--body);font-size:8px;color:#8e9784;letter-spacing:2px;margin-left:8px}.discipline-strip{height:62px;background:var(--lime);color:#18200e;overflow:hidden;display:flex;align-items:center}.discipline-strip>div{display:flex;align-items:center;justify-content:space-around;gap:50px;min-width:1500px;font-family:var(--display);font-size:26px;font-weight:700;letter-spacing:1px;white-space:nowrap}.discipline-strip span{font-size:26px}.about{display:grid;grid-template-columns:1.06fr 1fr;gap:95px;align-items:center}.about-images{display:grid;grid-template-columns:1.25fr 1fr;grid-template-rows:220px 220px;gap:12px;position:relative;padding-bottom:23px}.about-main{grid-row:span 2;position:relative;overflow:hidden}.about-main img{height:100%;width:100%;filter:saturate(.4);object-position:48% center}.about-main::after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#080b06b8)}.about-main figcaption{position:absolute;bottom:22px;left:23px;z-index:1;font-family:var(--display);font-size:25px;line-height:1.1}.about-small{width:100%;height:100%;filter:saturate(.45)}.image-label{position:absolute;bottom:0;font-size:8px;letter-spacing:2px;color:#8d9684}.about-copy .lead{color:#e0e3d9;font-size:16px;line-height:1.7;margin:27px 0 13px}.about-copy>p:not(.eyebrow){max-width:440px}.club-features{list-style:none;margin:25px 0 20px;padding:0;border-top:1px solid var(--line)}.club-features li{border-bottom:1px solid var(--line);padding:12px 0;color:#d4d9cb;font-size:12px}.club-features span{color:var(--lime);font-size:9px;margin-right:20px}.programs,.trainers,.gallery{background:#191c17;border-block:1px solid #ffffff06}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:45px}.section-heading>p,.section-heading>div:last-child:not(:first-child){max-width:380px;padding-bottom:3px}.section-heading p:not(.eyebrow){font-size:13px}.program-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.program-card{position:relative;min-height:390px;overflow:hidden;isolation:isolate;border-bottom:2px solid #5d674f}.program-card::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#0003,transparent 15%,#10150cb3 55%,#10150c 100%)}.program-card>img{position:absolute;inset:0;width:100%;height:100%;z-index:-2;filter:saturate(.35) brightness(.7);transition:transform .5s,filter .5s}.program-card:hover>img,.program-card:focus-visible>img{transform:scale(1.05);filter:saturate(.7) brightness(.85)}.program-card:hover{border-color:var(--lime)}.card-number{position:absolute;top:20px;left:20px;font-size:10px;letter-spacing:1px;color:#dce4ce}.program-content{position:absolute;bottom:22px;left:20px;right:17px}.program-content h3{font-size:28px;line-height:1.02}.program-content p{font-size:11px;line-height:1.7;margin-top:13px;min-height:57px;color:#bcc6af}.card-arrow{display:grid;place-items:center;width:30px;height:30px;border:1px solid #6d7a5c;color:var(--lime);font-size:20px;margin-top:18px;transition:background .2s}.program-card:hover .card-arrow{color:#151b0c;background:var(--lime)}.section-footnote{display:flex;justify-content:space-between;margin-top:26px;gap:20px;font-size:10px}.section-footnote>span{font-size:8px;letter-spacing:1.8px;color:#939b89}.section-footnote a:hover{color:var(--lime)}.demo-note{font-size:10px!important;line-height:1.6!important;color:#a6ae9c!important;margin-top:15px!important}.trainer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.trainer-photo{height:330px;position:relative;overflow:hidden;background:#262b22}.trainer-photo::after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#080b06a6)}.trainer-photo img{height:100%;width:100%;filter:grayscale(1);object-position:center 25%;transition:filter .4s,transform .4s}.trainer-card:hover img{filter:grayscale(.2);transform:scale(1.03)}.trainer-photo>span{position:absolute;bottom:17px;left:17px;z-index:1;font-size:8px;letter-spacing:1.2px;color:var(--lime)}.trainer-card h3{font-size:29px;margin-top:23px}.trainer-card .specialty{font-size:10px;color:var(--lime);margin:8px 0 12px}.trainer-card>p:last-child{font-size:11px;line-height:1.8}.center-heading{text-align:center;margin-bottom:60px}.center-heading>p:not(.eyebrow){margin-top:22px;font-size:13px}.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}.plan{border:1px solid var(--line);padding:35px 30px 30px;display:flex;flex-direction:column;position:relative;background:#191c17}.plan .plan-index{font-size:8px;letter-spacing:1.6px;color:#b6c0a8;margin-bottom:24px}.plan h3{font-size:38px}.plan>p:not(.plan-index){font-size:11px;margin-top:13px}.price{font-family:var(--display);font-size:56px;font-weight:600;line-height:1;margin-top:32px;letter-spacing:-.8px}.price span{font-family:var(--body);font-size:10px;letter-spacing:0;font-weight:400;margin-left:8px;color:#aab39d}.plan ul{list-style:none;padding:26px 0;margin:28px 0 25px;border-top:1px solid var(--line);display:grid;gap:14px}.plan li{font-size:11px;color:#c6cfbb;padding-left:22px;position:relative;line-height:1.6}.plan li::before{content:'✓';position:absolute;left:0;color:var(--lime)}.plan .button{margin-top:auto;font-size:11px;gap:14px;min-height:49px}.button-outline{background:transparent;color:var(--text);border-color:#58624a}.button-outline:hover{background:var(--lime);color:#14180c}.featured{background:var(--lime);color:#17200e;border-color:var(--lime)}.featured .plan-index,.featured>p,.featured .price span,.featured li{color:#384825}.featured ul{border-color:#8caf47}.featured li::before{color:#253517}.button-dark{background:#18200e;border-color:#18200e;color:var(--lime)}.button-dark:hover{background:#303e1e;color:#e1ffaa}.recommended{position:absolute;top:-25px;left:-1px;right:-1px;background:#d8ff8e;color:#1c2a0a;font-size:8px;letter-spacing:1.7px;text-align:center;height:25px;padding:5px}.plan-note{font-size:9px;text-align:center;margin-top:24px;color:#a4ae98}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.gallery-item{position:relative;height:230px;overflow:hidden;background:#293022}.gallery-wide{grid-column:span 2;grid-row:span 2;height:auto}.gallery-item:last-child{grid-column:span 1}.gallery-item::after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#090e06c9)}.gallery-item img{height:100%;width:100%;filter:saturate(.4);transition:transform .5s,filter .5s}.gallery-item:hover img{transform:scale(1.05);filter:saturate(.8)}.gallery-item>span{position:absolute;bottom:16px;left:17px;right:17px;z-index:1;display:flex;justify-content:space-between;align-items:center;font-size:9px;color:#e3e9d9}.gallery-item b{color:var(--lime);font-size:20px;font-weight:400}.contact{position:relative;isolation:isolate;padding:105px 0;overflow:hidden}.contact-image,.contact-shade{position:absolute;inset:0;width:100%;height:100%;z-index:-2}.contact-image{filter:grayscale(1) brightness(.25);object-position:center 40%}.contact-shade{z-index:-1;background:linear-gradient(90deg,#0d110b55,#0d110be8 75%),linear-gradient(0deg,#10150b55,#10150b55)}.contact-inner{display:grid;grid-template-columns:1.2fr 1fr;gap:100px;align-items:center}.contact h2{font-size:clamp(80px,8.5vw,126px);line-height:.91}.contact-copy>p:not(.eyebrow):not(.call-note){margin:26px 0;font-size:14px;color:#c2cbb7}.call-note{font-size:9px;margin-top:13px;color:#a7b299}.contact-details{border-top:1px solid #535d47}.contact-details>div{padding:24px 0;border-bottom:1px solid #535d47}.detail-label{font-size:8px;letter-spacing:1.8px;color:var(--lime);margin-bottom:10px}.contact-value{font-size:17px;color:#e3e8db}.contact-note{font-size:10px;margin-top:7px;color:#a5b296}.hours{font-size:11px;margin:0;color:#d4deca}.hours>div{display:flex;justify-content:space-between;gap:12px;margin:5px 0}.hours dd{margin:0}#phone-details{scroll-margin-top:115px;transition:background .3s}#phone-details:target{background:#c4f85a0e;padding-inline:15px}.site-footer{padding:53px 0 24px;background:#0c0f0a}.footer-main{display:flex;align-items:flex-start;justify-content:space-between;gap:40px}.footer-main .wordmark{font-size:30px}.footer-main>div>p{font-size:10px;margin-top:13px}.footer-main nav{display:grid;grid-template-columns:repeat(3,auto);gap:12px 30px;font-size:10px;color:#b5bfaa}.footer-main a:hover,.footer-bottom a:hover{color:var(--lime)}.footer-contact{display:grid;gap:13px}.footer-contact>span{font-size:8px;letter-spacing:1.7px;color:#8f9c81}.footer-contact>a{font-size:10px}.disclosure{font-size:9px;color:#98a58b;margin-top:35px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #2b3423;margin-top:20px;padding-top:20px;font-size:8px;color:#98a58b}.footer-bottom a{color:#c3d0b5}.lightbox{width:min(1100px,95vw);max-height:94svh;border:1px solid #677456;padding:15px 20px;background:#11170e;color:#f1f5e9;overflow:auto}.lightbox::backdrop{background:#050803ed;backdrop-filter:blur(8px)}.lightbox-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.lightbox-count{font-size:11px;letter-spacing:2px;color:#b3c4a0}.icon-button{height:44px;width:44px;background:#202b18;color:var(--lime);border:1px solid #536440;font-size:24px;flex-shrink:0}.icon-button:hover{background:var(--lime);color:#16200c}.lightbox-stage{display:flex;align-items:center;gap:14px;justify-content:space-between}.lightbox-image{max-width:calc(100% - 116px);width:auto;height:auto;max-height:72svh;object-fit:contain}.lightbox>p{text-align:center;font-size:12px;margin-top:13px;color:#d6e3c8}.reveal{opacity:1;transform:none}.motion-ready .reveal.pending{opacity:0;transform:translateY(20px)}.motion-ready .reveal{transition:opacity .65s,transform .65s}
@media(min-width:1600px){.hero{height:840px;max-height:900px}.hero-content{padding-top:120px}}
@media(max-width:1190px){.wrap{width:calc(100% - 72px)}.nav-group{gap:18px}.nav-right{gap:16px}.nav-group>a:not(.button){font-size:10px}.navigation>.wordmark{font-size:27px}.navigation>.wordmark svg{width:19px}.about{gap:50px}.about-images{grid-template-rows:200px 200px}.program-grid{gap:9px}.program-content{left:14px;right:12px}.program-content h3{font-size:25px}.program-content p{font-size:10px}.trainer-photo{height:290px}.contact-inner{gap:60px}.plan{padding-inline:24px}.gallery-item{height:210px}.gallery-wide{height:auto}}
@media(max-width:980px){:root{--header:76px}.wrap{width:calc(100% - 48px)}.section{padding-block:80px}.navigation{justify-content:space-between}.navigation>.wordmark{font-size:30px}.menu-toggle{display:flex;align-items:center;gap:14px;min-height:44px;min-width:80px;background:transparent;border:0;color:#e2e9d7;padding:10px 0 10px 10px}.menu-label{font-size:11px}.menu-lines{width:22px;height:11px;border-top:1px solid var(--lime);border-bottom:1px solid var(--lime);transition:transform .2s}.menu-toggle[aria-expanded=true] .menu-lines{transform:rotate(-45deg)}.nav-links{display:none;position:absolute;inset:auto -24px auto;top:100%;background:#141a10;border-bottom:1px solid #4e5e3b;max-height:calc(100svh - var(--header));overflow:auto;padding:20px 24px 28px;pointer-events:auto}.nav-links.is-open{display:block}.nav-group{display:flex;flex-direction:column;gap:0;align-items:stretch}.nav-group>a:not(.button){padding:12px 0;font-size:13px;border-bottom:1px solid #2f3b24}.nav-right .button{margin-top:20px;max-width:220px}.hero{min-height:640px;height:720px}.hero-content{padding-top:100px}.hero h1{font-size:clamp(88px,12.5vw,120px)}.about{gap:35px}.about-images{grid-template-rows:180px 180px}.about h2{font-size:48px}.about-copy .lead{font-size:14px}.about-copy>p{font-size:12px}.program-grid{grid-template-columns:repeat(6,1fr);gap:14px}.program-card{grid-column:span 2;min-height:330px}.program-card:nth-child(n+4){grid-column:span 3;min-height:300px}.program-content{left:20px;right:20px}.program-content h3{font-size:28px}.program-content p{font-size:12px;min-height:40px}.section-heading{gap:24px}.section-heading>p,.section-heading>div:last-child:not(:first-child){max-width:310px}.trainer-grid{gap:18px}.trainer-photo{height:240px}.trainer-card h3{font-size:26px}.plan{padding:28px 20px 23px}.plan h3{font-size:34px}.price{font-size:46px}.price span{font-size:9px;margin-left:5px}.plan .button{padding:12px;font-size:10px}.gallery-grid{grid-template-columns:repeat(3,1fr)}.gallery-item{height:205px}.gallery-wide{height:auto}.gallery-item:last-child{grid-column:span 1}.contact-inner{gap:45px}.footer-main{gap:25px}.footer-main nav{grid-template-columns:repeat(2,auto);gap:9px 20px}.footer-contact{max-width:180px}}
@media(max-width:700px){.wrap{width:calc(100% - 40px)}.section{padding-block:68px}h2{font-size:49px}.eyebrow{font-size:9px;letter-spacing:1.7px;margin-bottom:18px}.hero{min-height:650px;height:calc(100svh - var(--header));max-height:780px}.hero-image{object-position:68% center}.hero-shade{background:linear-gradient(90deg,#0c120bde,#0c120b65),linear-gradient(0deg,#0b1009,transparent 55%)}.hero-content{padding-top:90px}.hero h1{font-size:clamp(66px,14.9vw,104px)}.hero-copy{font-size:12px;margin-top:25px;max-width:330px}.hero-actions{gap:22px;margin-top:28px}.hero-actions .button{padding:13px 17px;gap:20px;font-size:11px}.hero-actions .text-link{font-size:11px;gap:12px}.hero-bottom{bottom:26px}.hero-bottom>p{font-size:8px;letter-spacing:1px}.hero-index{display:none}.scroll-cue{font-size:9px;gap:10px}.discipline-strip{height:51px}.discipline-strip>div{font-size:23px;gap:32px;min-width:1250px}.about{grid-template-columns:1fr;gap:40px}.about-images{grid-template-rows:180px 180px;max-width:560px}.about-copy{max-width:550px}.about-copy>p:not(.eyebrow){max-width:none;font-size:13px}.about-copy .lead{font-size:16px!important}.about h2{font-size:51px}.section-heading{display:block;margin-bottom:30px}.section-heading>p,.section-heading>div:last-child:not(:first-child){margin-top:23px;max-width:450px}.program-grid{grid-template-columns:repeat(2,1fr);gap:12px}.program-card,.program-card:nth-child(n+4){grid-column:auto;min-height:340px}.program-card:last-child{grid-column:span 2;min-height:280px}.program-card:last-child>img{object-position:center 35%}.program-content h3{font-size:30px}.program-content p{font-size:11px;min-height:55px}.program-card:last-child .program-content p{min-height:0;max-width:280px}.section-footnote{display:block}.section-footnote a{display:block;margin-top:12px}.trainer-grid{grid-template-columns:repeat(2,1fr);gap:30px 16px}.trainer-photo{height:270px}.trainer-card h3{font-size:27px;margin-top:18px}.trainer-card .specialty{font-size:9px}.trainer-card>p:last-child{font-size:11px}.trainer-photo>span{left:12px;font-size:7px;letter-spacing:.6px}.center-heading{text-align:left;margin-bottom:32px}.center-heading h2{max-width:400px}.center-heading>p:not(.eyebrow){margin-top:18px}.plan-grid{grid-template-columns:1fr;gap:40px}.plan{padding:30px}.plan h3{font-size:38px}.plan .plan-index{margin-bottom:20px}.price{font-size:58px}.price span{font-size:11px}.plan>p:not(.plan-index){font-size:12px}.plan ul{margin:25px 0;padding:24px 0 0;gap:12px}.plan li{font-size:12px}.plan .button{font-size:12px;min-height:51px;padding:13px 19px}.plan-note{text-align:left;line-height:1.8}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:10px}.gallery-item{height:190px}.gallery-wide{height:320px;grid-column:span 2;grid-row:auto}.gallery-item:last-child{grid-column:auto}.gallery-item>span{font-size:8px;left:12px;right:12px;bottom:11px;gap:5px}.contact{padding:75px 0}.contact-inner{grid-template-columns:1fr;gap:45px}.contact h2{font-size:90px}.contact-details{max-width:550px}.contact-copy>p:not(.eyebrow):not(.call-note){font-size:13px}.footer-main{flex-wrap:wrap;gap:30px}.footer-main>div:first-child{width:100%}.footer-main nav{grid-template-columns:repeat(2,auto);gap:12px 25px}.footer-contact{margin-left:auto}.disclosure{font-size:9px;line-height:1.8}.footer-bottom{flex-direction:column;gap:10px;font-size:9px}.lightbox{padding:10px;width:96vw}.lightbox-stage{position:relative;display:block;padding-bottom:54px}.lightbox-image{max-width:100%;width:100%;max-height:65svh}.lightbox-prev,.lightbox-next{position:absolute;bottom:0}.lightbox-prev{left:0}.lightbox-next{right:0}.lightbox>p{margin-top:10px;font-size:11px}}
@media(max-width:380px){.wrap{width:calc(100% - 32px)}.hero-content{padding-top:75px}.hero h1{font-size:59px}.hero-actions{gap:13px}.hero-actions .button{gap:10px;padding-inline:12px}.hero-actions .text-link{font-size:10px;gap:8px}.about-images{grid-template-rows:150px 150px}.program-content{left:14px;right:12px}.program-content h3{font-size:26px}.program-content p{font-size:10px}.trainer-photo{height:215px}.trainer-card h3{font-size:24px}.gallery-item{height:160px}.gallery-wide{height:270px}.footer-contact{margin-left:0}}
/* V1.1: a focused anchor must be measured in its final, untransformed position. */
.motion-ready .reveal:focus-within{opacity:1;transform:none;transition:none}
/* Only navigation near the document end may need extra room below the footer. */
.site-footer{padding-bottom:calc(24px + var(--anchor-scroll-space,0px))}

@media(max-width:980px){
  /* Match the menu to the header, rather than extending past narrower page gutters. */
  .navigation{position:static}
  .nav-links{left:0;right:0;padding-inline:24px}
  .section{padding-block:64px}
  .section-heading>*,.about>*,.contact-inner>*,.program-grid>*,.trainer-grid>*,.plan-grid>*{min-width:0}
}
@media(max-width:700px){
  .section,.contact{padding-block:clamp(44px,12vw,56px)}
  .nav-links{padding-inline:20px}
  /* Let the hero follow its content instead of reserving almost a full screen. */
  .hero{height:auto;min-height:0;max-height:none}
  .hero-content{padding-top:56px}
  .hero-bottom{position:relative;inset:auto;margin-top:54px;margin-bottom:24px;gap:16px}
  .hero-actions{flex-wrap:wrap;row-gap:12px}
  h2,.about h2{font-size:clamp(42px,12vw,51px);overflow-wrap:break-word}
  .contact h2{font-size:clamp(64px,20vw,90px)}
  .about{gap:30px}
  .about-main figcaption{right:18px;font-size:clamp(20px,5.5vw,25px)}
  .section-heading{margin-bottom:26px}
  .program-grid,.trainer-grid,.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  /* Keep copy in normal flow so longer headings cannot escape a clipped card. */
  .program-card,.program-card:nth-child(n+4){display:flex;align-items:flex-end;padding:54px 16px 22px;min-height:320px}
  .program-card:last-child{min-height:260px}
  .program-content{position:relative;inset:auto;width:100%;min-width:0}
  .program-content h3{font-size:clamp(22px,6.1vw,30px);overflow-wrap:break-word}
  .program-content p{min-height:0}
  .program-card:last-child .program-content h3{font-size:30px}
  .contact-inner{gap:32px}
  .hours>div{flex-wrap:wrap;gap:2px 12px}
  .plan-grid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:380px){
  .nav-links{padding-inline:16px}
  .program-card,.program-card:nth-child(n+4){padding-inline:12px}
}

/* THE VOLT CODE uses the established section, type, and color system. */
.rules-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;gap:16px}
.rule-card{position:relative;background:var(--surface);border:1px solid var(--line);padding:26px;min-width:0}
.rule-icon{display:block;width:34px;height:34px;color:var(--lime);margin-bottom:22px}
.rule-number{position:absolute;top:26px;right:26px;color:var(--muted);font-size:10px;letter-spacing:1.5px}
.rule-card h3{font-size:30px;line-height:1.1;text-transform:uppercase}
.rule-card p{font-size:13px;line-height:1.7;margin-top:12px}
@media(max-width:980px){.rules-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* V1.2: shared gutters, width-driven imagery, and readable mobile cards. */
@media(max-width:768px){
  :root{--mobile-gutter:clamp(16px,4.5vw,20px)}
  .wrap{width:calc(100% - 2 * var(--mobile-gutter))}
  .nav-links{padding-inline:var(--mobile-gutter)}
  .about-images{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);grid-template-rows:repeat(2,minmax(0,1fr));aspect-ratio:1.1;height:auto;max-width:none;padding-bottom:0;margin-bottom:25px}
  .about-images>*{min-width:0;min-height:0}
  .about-main,.about-small{width:100%;height:100%}
  .about-main img{width:100%;height:100%}
  .about-main figcaption{left:16px;right:16px;bottom:16px;font-size:clamp(20px,5.4vw,25px)}
  .image-label{bottom:-25px;left:0;right:0;line-height:1.5}
}
@media(max-width:700px){
  .about-copy{max-width:none}
  .hero-copy{font-size:13px;max-width:none}
  .trainer-photo{height:auto;aspect-ratio:4/5}
  .trainer-card .specialty{font-size:11px}
  .trainer-card>p:last-child{font-size:12px}
  .trainer-photo>span{left:12px;right:12px;font-size:8px;line-height:1.5}
  .gallery-item{height:auto;aspect-ratio:1}
  .gallery-wide{height:auto;aspect-ratio:3/2}
  .gallery-item>span{font-size:11px;line-height:1.5;gap:8px}
  .gallery-item b{flex-shrink:0}
  .footer-main{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
  .footer-main>div:first-child{width:auto}
  .footer-main nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
  .footer-main nav a{display:flex;align-items:center;min-height:40px;font-size:12px}
  .footer-contact{margin-left:0;max-width:none;gap:8px}
  .footer-contact>a{display:flex;align-items:center;min-height:40px;font-size:12px}
  .footer-main>div>p,.disclosure,.footer-bottom{font-size:11px}
}
@media(max-width:599px){
  .rules-grid{grid-template-columns:minmax(0,1fr);grid-auto-rows:auto;gap:12px}
  .rule-card{display:grid;grid-template-columns:30px minmax(0,1fr);column-gap:16px;padding:20px}
  .rule-icon{width:30px;height:30px;grid-row:span 2;margin:0}
  .rule-card h3{grid-column:2;font-size:26px;padding-right:20px}
  .rule-card p{grid-column:2;margin-top:8px}
  .rule-number{top:20px;right:16px;font-size:9px}
}
@media(max-width:440px){
  .program-grid{grid-template-columns:minmax(0,1fr)}
  .program-card,.program-card:nth-child(n+4),.program-card:last-child{grid-column:auto;min-height:232px;padding:54px 22px 22px}
  .program-content h3,.program-card:last-child .program-content h3{font-size:30px;line-height:1.05}
  .program-content p{font-size:13px;max-width:260px}
  .program-content{max-width:290px}
  .card-number{left:22px;top:20px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.motion-ready .reveal.pending{opacity:1;transform:none}}

