@font-face{font-family:"Barlow Condensed";src:url("assets/fonts/barlow-condensed-400.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url("assets/fonts/barlow-condensed-500.woff2") format("woff2");font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url("assets/fonts/barlow-condensed-600.woff2") format("woff2");font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url("assets/fonts/barlow-condensed-300i.woff2") format("woff2");font-style:italic;font-weight:300;font-display:swap}
@font-face{font-family:"DM Sans";src:url("assets/fonts/dm-sans-400.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"DM Sans";src:url("assets/fonts/dm-sans-500.woff2") format("woff2");font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:"DM Sans";src:url("assets/fonts/dm-sans-700.woff2") format("woff2");font-style:normal;font-weight:700;font-display:swap}

:root{
  --bg:#070707;
  --surface:#0d0d0d;
  --surface-2:#101010;
  --white:#f7f7f4;
  --muted:#989898;
  --muted-2:#555;
  --red:#e24b4a;
  --line:#232323;
  --shell:1168px;
  --ease:cubic-bezier(.22,1,.36,1);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--white);font-family:"DM Sans",Arial,sans-serif;font-size:16px;line-height:1.55;overflow-x:hidden}
body.menu-open,body.modal-open{overflow:hidden}
button,input,select{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{color:inherit}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.skip-link{position:fixed;left:12px;top:-80px;z-index:9999;background:#fff;color:#000;padding:12px 18px;border-radius:4px;transition:top .2s}
.skip-link:focus{top:12px}

.site-header{position:absolute;z-index:100;left:24px;right:24px;top:25px;height:72px;display:flex;align-items:center;gap:32px;padding:0;transition:height .5s var(--ease),padding .5s var(--ease),background .5s,border-color .5s,top .5s,border-radius .5s;will-change:transform}
.site-header.scrolled{position:fixed;top:20px;height:68px;padding:0 18px 0 24px;background:rgba(11,11,11,.82);border:1px solid rgba(255,255,255,.1);border-radius:40px;box-shadow:0 16px 60px rgba(0,0,0,.38);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.logo-link{width:118px;flex:0 0 118px}
.logo-link img{width:100%;height:auto}
.desktop-nav{display:flex;align-items:center;gap:46px;margin:auto}
.desktop-nav a{font-size:15px;color:#eee;position:relative;padding:10px 0}
.desktop-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:5px;height:1px;background:var(--red);transition:right .3s var(--ease)}
.desktop-nav a:hover::after,.desktop-nav a:focus-visible::after{right:0}
.nav-contact{display:flex;align-items:center;gap:10px;min-width:232px}
.phone-icon{width:44px;height:44px;border:1px solid var(--line);border-radius:11px;color:var(--red);display:grid;place-items:center;font-size:25px;transform:rotate(-45deg)}
.nav-contact span:last-child{display:flex;flex-direction:column;line-height:1.2}
.nav-contact small{font-size:10px;letter-spacing:.14em;color:#aaa;margin-bottom:4px}
.nav-contact strong{font-size:18px;white-space:nowrap}
.menu-toggle{display:none;border:0;background:transparent;width:46px;height:46px;position:relative;cursor:pointer}
.menu-toggle span{position:absolute;width:24px;height:1px;background:#fff;left:11px;top:19px;transition:.3s}
.menu-toggle span+span{top:27px}
.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}
.mobile-menu{position:fixed;z-index:90;inset:0;background:rgba(6,6,6,.98);display:grid;place-items:center;opacity:0;visibility:hidden;transition:.45s var(--ease)}
.mobile-menu.open{opacity:1;visibility:visible}
.mobile-menu nav{display:flex;flex-direction:column;text-align:center;gap:12px}
.mobile-menu nav a{font-family:"Barlow Condensed";font-size:54px;font-weight:500;text-transform:uppercase;line-height:1.05}
.mobile-menu nav a:nth-child(even){color:var(--red);font-style:italic;font-weight:300}
.mobile-call{position:absolute;bottom:42px;font-size:17px;color:#aaa}

.hero{position:relative;height:976px;overflow:hidden;background:#070707;isolation:isolate}
.hero-grain{position:absolute;inset:0;z-index:-3;background-image:linear-gradient(90deg,rgba(0,0,0,.22),rgba(0,0,0,.05) 55%,rgba(0,0,0,.36)),url("assets/hero-texture.png");background-size:cover;background-position:center;opacity:.95}
.hero::after{content:"";position:absolute;z-index:-1;inset:auto 0 0;height:30%;background:linear-gradient(transparent,#070707)}
.hero-athlete{position:absolute;z-index:-2;left:50.8%;top:128px;width:537px;height:720px;object-fit:cover;object-position:top center;filter:saturate(.8) contrast(1.08);opacity:0;transform:translate3d(0,40px,0) scale(.98);transition:opacity 1.1s .25s var(--ease),transform 1.3s .25s var(--ease)}
.loaded .hero-athlete{opacity:1;transform:translate3d(var(--hero-x,0),var(--hero-y,0),0) scale(1)}
.hero-copy{position:absolute;left:24px;top:302px;width:min(66vw,880px);z-index:2}
.eyebrow{font-size:13px;letter-spacing:.13em;text-transform:uppercase;color:#c7c7c7;margin:0 0 10px}
.eyebrow b{font-weight:400;color:var(--red);font-size:20px;margin-right:5px}
.hero-eyebrow{opacity:0;transform:translateY(20px);transition:.8s .2s var(--ease)}
.loaded .hero-eyebrow{opacity:1;transform:none}
.hero h1{margin:0;font-family:"Barlow Condensed",Impact,sans-serif;font-size:clamp(88px,10.86vw,148px);line-height:.9;font-weight:600;letter-spacing:-.02em;text-transform:uppercase;display:flex;flex-direction:column;color:var(--red)}
.hero h1 span,.hero h1 em{display:block;opacity:0;transform:translateY(70px);clip-path:inset(0 0 100% 0);transition:opacity .7s var(--ease),transform 1s var(--ease),clip-path 1s var(--ease)}
.hero h1 .hero-white{font-size:.53em;line-height:1.1;color:var(--white);transition-delay:.28s;letter-spacing:0}
.hero h1 span:not(.hero-white){transition-delay:.38s}
.hero h1 em{font-style:italic;font-weight:300;transition-delay:.48s}
.loaded .hero h1 span,.loaded .hero h1 em{opacity:1;transform:none;clip-path:inset(0)}
.hero-intro{color:#a4a4a4;margin:33px 0 30px;font-size:16px;opacity:0;transform:translateY(22px);transition:.8s .65s var(--ease)}
.loaded .hero-intro{opacity:1;transform:none}
.hero-actions{display:flex;gap:14px;align-items:center;opacity:0;transform:translateY(24px);transition:.8s .77s var(--ease)}
.loaded .hero-actions{opacity:1;transform:none}
.button{height:59px;border-radius:999px;padding:0 28px;border:1px solid #ddd;background:transparent;display:inline-flex;align-items:center;justify-content:center;gap:18px;font-family:"Barlow Condensed",sans-serif;font-size:18px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;cursor:pointer;transition:background .35s var(--ease),color .35s,border-color .35s,transform .35s var(--ease)}
.button:hover{transform:translateY(-2px)}
.button:focus-visible{outline:2px solid var(--red);outline-offset:4px}
.button-solid{background:#f7f7f4;color:#090909;border-color:#f7f7f4}
.button-solid:hover{background:var(--red);border-color:var(--red);color:#fff}
.button-outline:hover{background:#fff;color:#080808}
.play-button span{width:32px;height:32px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;font-size:11px;padding-left:2px}
.hero-note{position:absolute;z-index:4;border:1px solid var(--line);border-radius:18px;background:rgba(8,8,8,.62);backdrop-filter:blur(6px);padding:22px;display:flex;flex-direction:column;opacity:0;transform:translateY(25px);transition:.8s var(--ease)}
.loaded .hero-note{opacity:1;transform:none}
.hero-note strong{font-family:"Barlow Condensed";font-size:20px;line-height:1.1;margin-bottom:7px}
.hero-note span{font-size:13px;color:#929292;line-height:1.6}
.trending{right:61px;top:433px;width:154px;transition-delay:.68s}
.this-week{right:139px;top:569px;width:157px;transition-delay:.8s}
.member-trust{position:absolute;right:25px;bottom:128px;width:232px;opacity:0;transform:translateY(24px);transition:.8s .92s var(--ease)}
.loaded .member-trust{opacity:1;transform:none}
.member-faces{display:flex;margin-bottom:9px}
.member-faces img{width:48px;height:48px;object-fit:cover;border-radius:50%;border:2px solid #111;margin-left:-14px}
.member-faces img:first-child{margin-left:0}
.member-trust strong{font-family:"Barlow Condensed";font-size:20px;line-height:1.05;display:block}

.marquee{height:64px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;overflow:hidden;white-space:nowrap;background:#090909}
.marquee-track{display:flex;align-items:center;gap:18px;width:max-content;animation:marquee 34s linear infinite}
.marquee span{font-family:"Barlow Condensed";font-size:24px;letter-spacing:.02em}
.marquee i{font-style:normal;color:var(--red);font-size:20px}
@keyframes marquee{to{transform:translateX(-50%)}}

.section{position:relative;background:var(--bg)}
.section-shell{width:min(var(--shell),calc(100% - 48px));margin:0 auto}
.programs{padding:177px 0 135px}
.section-heading{display:grid;grid-template-columns:minmax(0,1fr) 338px;gap:70px;align-items:end;margin-bottom:70px}
.section-heading h2{margin:0;font-family:"Barlow Condensed";font-size:72px;font-weight:600;line-height:1.05;text-transform:uppercase;letter-spacing:-.01em;white-space:nowrap}
.section-heading h2 em{color:var(--red);font-weight:300}
.section-heading>p{color:#999;margin:0 0 8px;font-size:16px;line-height:1.6}
.program-grid{display:grid;grid-template-columns:3fr 2fr;gap:24px}
.program-card{height:304px;border:1px solid var(--line);border-radius:18px;padding:36px;position:relative;background:#0c0c0c;overflow:hidden;display:flex;flex-direction:column;transition:border-color .4s,transform .5s var(--ease),background .4s}
.program-card:nth-child(3){grid-column:1;width:68%}
.program-card:nth-child(4){grid-column:1/3;grid-row:2;margin-left:35%;width:65%}
.program-card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 10%,rgba(226,75,74,.12),transparent 30%);opacity:0;transition:.5s}
.program-card:hover{border-color:rgba(226,75,74,.72);transform:translateY(-4px);background:#101010}
.program-card:hover::before{opacity:1}
.program-icon{height:64px;color:var(--red);font-family:"Barlow Condensed";font-size:55px;line-height:1}
.program-icon svg{width:48px;height:48px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}
.program-icon.bolt{font-size:60px;font-weight:300;font-style:italic}
.program-icon.person{font-size:50px}
.card-arrow{position:absolute;right:26px;top:26px;width:45px;height:45px;border:1px solid #333;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:23px;opacity:0;transform:translate(-12px,12px) rotate(-25deg);transition:.45s var(--ease)}
.program-card:hover .card-arrow{opacity:1;transform:none}
.program-card h3{font-family:"Barlow Condensed";font-size:36px;font-weight:500;line-height:1.1;margin:15px 0 11px;position:relative}
.program-card>p{color:#999;margin:0;max-width:600px;font-size:14px;position:relative}
.chips{display:flex;gap:8px;align-items:center;margin-top:auto;position:relative}
.chips span{font-size:10px;color:#aaa;letter-spacing:.09em;border-radius:999px;background:#141414;padding:5px 9px;white-space:nowrap}
.section-cta{text-align:center;margin-top:69px}
.section-cta p{color:#999;margin:0 0 18px}

.progress{padding:78px 0 105px}
.progress .section-heading{margin-bottom:58px}
.progress-grid{display:grid;grid-template-columns:420px 1fr;gap:120px;align-items:center}
.progress-photo{height:530px;border-radius:20px;overflow:visible;position:relative}
.progress-photo .hall{width:100%;height:100%;object-fit:cover;border-radius:20px;filter:saturate(.7) brightness(.75)}
.progress-person{position:absolute;width:205px;height:auto;right:22px;bottom:0;filter:drop-shadow(0 16px 28px rgba(0,0,0,.7));transition:transform .7s var(--ease)}
.progress-photo:hover .progress-person{transform:translateY(-8px) rotate(-1deg)}
.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.stat-card{height:168px;border:1px solid var(--line);border-radius:18px;padding:25px;display:flex;flex-direction:column;justify-content:center;background:#0b0b0b;transition:border-color .35s,transform .35s var(--ease)}
.stat-card:hover{border-color:#444;transform:translateY(-3px)}
.stat-card strong{font-family:"Barlow Condensed";font-size:58px;font-weight:400;line-height:1}
.stat-card p{margin:8px 0 0;color:var(--red);font-size:13px;letter-spacing:.13em}
.progress-note{text-align:center;color:#8f8f8f;margin:43px 0 0}

.coaches{padding:96px 0 115px}
.coaches .section-heading{margin-bottom:65px}
.coach-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.coach-card{height:356px;border:1px solid var(--line);border-radius:19px;overflow:hidden;position:relative;background:#111}
.coach-card::after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.92))}
.coach-card img{width:100%;height:100%;object-fit:cover;object-position:center top;filter:saturate(.8) contrast(1.03);transition:transform .7s var(--ease),filter .7s}
.coach-card:hover img{transform:scale(1.055);filter:saturate(1) contrast(1.03)}
.coach-card>div{position:absolute;z-index:2;left:30px;right:18px;bottom:24px}
.coach-card h3{font-family:"Barlow Condensed";font-size:24px;line-height:1;margin:0 0 5px;font-weight:600}
.coach-card p{font-size:11px;color:var(--red);letter-spacing:.12em;margin:0}
.coaches .section-cta{margin-top:62px}

.pricing{padding:99px 0 120px}
.pricing .section-heading{margin-bottom:68px}
.price-list{display:grid;gap:26px}
.price-card{height:394px;border:1px solid var(--line);border-radius:18px;background:#0c0c0c;padding:38px 36px;display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:90px;position:relative;transition:border-color .4s,background .4s,transform .45s var(--ease)}
.price-card:hover{border-color:#444;background:#0f0f0f;transform:translateY(-3px)}
.price-card.featured{border-color:var(--red)}
.popular{position:absolute;right:36px;top:35px;border-radius:99px;background:var(--red);color:#101010;padding:3px 11px;font-size:9px;letter-spacing:.08em}
.price-name{color:var(--red)!important;font-size:12px!important;letter-spacing:.12em;margin-bottom:28px!important}
.price-main>p{color:#969696;font-size:14px;margin:0 0 30px}
.price{font-family:"Barlow Condensed";font-size:60px!important;color:#f8f8f5!important;line-height:1;margin:0 0 19px!important}
.price>span{font-size:.6em;margin-right:2px}
.price small{font-size:23px;font-weight:400}
.price-main .button{height:51px;min-width:160px;margin-top:3px}
.features{list-style:none;margin:0;padding:0;display:grid;gap:15px;color:#aaa;font-size:14px}
.features li::before{content:"✓";color:var(--red);margin-right:17px}
.features li.off{color:#444}
.features li.off::before{content:"×";color:#444}
.cancel-note{text-align:center;color:#979797;margin:57px 0 0}

.story{height:577px;position:relative;overflow:hidden;isolation:isolate}
.story>img{position:absolute;z-index:-2;inset:-12%;width:124%;height:124%;object-fit:cover;object-position:center;filter:grayscale(1) brightness(.55);transform:translateY(var(--story-y,0)) scale(1.04);will-change:transform}
.story-shade{position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.25),rgba(0,0,0,.1)),linear-gradient(0deg,rgba(0,0,0,.32),transparent 60%)}
.story-copy{width:min(var(--shell),calc(100% - 48px));margin:0 auto;padding-top:109px}
.story h2{font-family:"Barlow Condensed";font-size:148px;font-weight:600;line-height:.9;margin:0 0 43px;color:var(--red);text-transform:uppercase}
.story h2 span{display:block;color:#fff;font-size:72px;line-height:1.1}
.story .button{min-width:235px}

.testimonials{padding:170px 0 130px;min-height:1180px;overflow:hidden}
.testimonials .section-heading{margin-bottom:72px}
.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;height:690px;overflow:hidden;mask-image:linear-gradient(to bottom,transparent 0,#000 7%,#000 83%,transparent 100%)}
.testimonial-column{display:flex;flex-direction:column;gap:24px;will-change:transform}
.column-a{transform:translateY(calc(var(--quotes-shift,0px) - 10px))}
.column-b{transform:translateY(calc(var(--quotes-shift,0px) + 56px))}
.column-c{transform:translateY(calc(var(--quotes-shift,0px) + 20px))}
.quote-card{border:1px solid var(--line);border-radius:18px;background:#0b0b0b;padding:32px 34px;min-height:255px;display:flex;flex-direction:column}
.quote-type{color:var(--red);font-size:12px;letter-spacing:.1em;margin:0 0 24px}
.quote-card blockquote{margin:0;color:#aaa;font-size:14px;line-height:1.7}
.quote-person{margin-top:auto;padding-top:26px;display:flex;align-items:center;gap:10px;color:#8a8a8a;font-size:13px}
.quote-person span{width:40px;height:40px;border-radius:50%;background:#2a2a2a;color:#858585;display:grid;place-items:center;font-size:10px}

.final-cta{height:675px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-bottom:4px solid var(--red)}
.final-cta h2{font-family:"Barlow Condensed";font-size:72px;font-weight:600;margin:0 0 58px;text-transform:uppercase}
.final-cta h2 em{font-weight:300;color:var(--red)}
.final-cta .button{min-width:240px}

footer{background:#090909;padding:0 0 35px}
.footer-line{height:0}
.footer-grid{width:min(1220px,calc(100% - 96px));margin:0 auto;padding:112px 0 84px;display:grid;grid-template-columns:1.05fr .6fr 1.05fr 1.5fr;gap:66px;color:#919191;font-size:13px}
.footer-grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:13px}
.footer-brand img{width:118px;margin-bottom:52px}
.footer-brand p{margin:0}
.socials{display:flex;gap:14px}
.socials a{color:var(--red);font-size:25px;line-height:1}
.footer-title{font-size:12px;margin:0 0 15px;color:#888}
.footer-links{display:flex;flex-direction:column;gap:14px;color:#ddd}
.footer-links button{border:0;padding:0;background:transparent;cursor:pointer;text-align:left;font:inherit;color:inherit}
.hours{display:grid;gap:14px;margin:0}
.hours div{display:grid;grid-template-columns:90px 1fr;gap:14px}
.hours dt{color:#888}.hours dd{margin:0;color:#ddd}
.footer-grid address{font-style:normal;color:#ccc;line-height:1.7;margin-bottom:5px}
.footer-grid a{transition:color .25s}
.footer-grid a:hover,.footer-links button:hover{color:var(--red)}
.footer-bottom{width:min(1220px,calc(100% - 96px));margin:0 auto;padding-top:35px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:#777;font-size:11px}
.footer-bottom p{margin:0}.footer-bottom div{display:flex;gap:30px}

.reveal{opacity:0;transform:translateY(42px);transition:opacity .85s var(--ease),transform 1s var(--ease);transition-delay:var(--delay,0ms)}
.reveal.is-visible{opacity:1;transform:none}
.coach-card.reveal{transform:translateY(45px) scale(.98)}
.coach-card.reveal.is-visible{transform:none}

.modal[hidden]{display:none}
.modal{position:fixed;z-index:500;inset:0;display:grid;place-items:center;padding:24px}
.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.82);backdrop-filter:blur(10px);animation:fadeIn .35s}
.modal-panel{position:relative;width:min(600px,100%);max-height:calc(100vh - 48px);overflow:auto;background:#0c0c0c;border:1px solid #2b2b2b;border-radius:22px;padding:48px;box-shadow:0 35px 100px rgba(0,0,0,.65);animation:modalIn .55s var(--ease)}
.modal-close{position:absolute;right:18px;top:16px;border:1px solid #333;width:42px;height:42px;border-radius:50%;background:#111;cursor:pointer;font-size:24px;line-height:1}
.modal-panel h2{font-family:"Barlow Condensed";font-size:52px;line-height:1;text-transform:uppercase;margin:10px 0 17px}
.modal-panel h2 em{color:var(--red);font-weight:300}
.modal-panel>p:not(.eyebrow){color:#999;margin:0 0 30px}
.modal-panel form{display:grid;gap:16px}
.modal-panel label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#aaa;display:grid;gap:7px}
.modal-panel input,.modal-panel select{height:52px;border:1px solid #303030;border-radius:10px;background:#111;color:#fff;padding:0 14px;outline:0}
.modal-panel input:focus,.modal-panel select:focus{border-color:var(--red)}
.form-success{color:#8dcc87;margin:2px 0 0!important}
.video-panel{position:relative;width:min(1080px,100%);aspect-ratio:16/9;border-radius:20px;overflow:hidden;border:1px solid #333;background:#090909;animation:modalIn .55s var(--ease)}
.video-panel>img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) brightness(.42);animation:teaserZoom 12s ease-in-out infinite alternate}
.video-panel .modal-close{z-index:3}
.video-copy{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:60px}
.video-pulse{width:74px;height:74px;border:1px solid #fff;border-radius:50%;display:grid;place-items:center;margin-bottom:28px;animation:pulse 1.8s infinite}
.video-copy h2{font-family:"Barlow Condensed";font-size:64px;line-height:.95;margin:0;text-transform:uppercase}
.video-copy h2 em{font-weight:300;color:var(--red)}
.video-copy p{letter-spacing:.17em;color:#bbb}
@keyframes fadeIn{from{opacity:0}}
@keyframes modalIn{from{opacity:0;transform:translateY(30px) scale(.97)}}
@keyframes teaserZoom{to{transform:scale(1.08)}}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(226,75,74,0)}50%{box-shadow:0 0 0 20px rgba(226,75,74,.12);border-color:var(--red)}}

@media (max-width:1100px){
  .desktop-nav{gap:24px}.nav-contact{min-width:210px}.nav-contact strong{font-size:15px}
  .hero-athlete{left:49%;opacity:.7}.hero-copy{width:72vw}
  .hero-note,.member-trust{transform:scale(.88)}.trending{right:15px}.this-week{right:78px}.member-trust{right:0}
  .section-heading{grid-template-columns:1fr 280px}.section-heading h2{font-size:62px}
  .program-card:nth-child(3){width:100%}.program-card:nth-child(4){margin-left:0;width:100%;grid-column:2}
  .progress-grid{grid-template-columns:380px 1fr;gap:55px}
  .coach-card>div{left:18px}.price-card{gap:45px}
  .story h2{font-size:118px}.story h2 span{font-size:60px}
}

@media (max-width:820px){
  .site-header{left:16px;right:16px;top:14px}.site-header.scrolled{top:12px;padding-left:16px}.logo-link{width:105px;flex-basis:105px}.desktop-nav,.nav-contact{display:none}.menu-toggle{display:block;margin-left:auto}
  .hero{height:920px}.hero-grain{background-position:55% center}.hero-athlete{left:30%;top:132px;width:560px;height:748px;opacity:.52}.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,7,7,.94) 0,rgba(7,7,7,.55) 58%,rgba(7,7,7,.4))}
  .hero-copy{left:24px;top:250px;width:calc(100% - 48px)}.hero h1{font-size:clamp(74px,15.5vw,110px)}.hero h1 .hero-white{font-size:.48em}.hero-intro{font-size:15px}.hero-note{display:none}.member-trust{bottom:40px;right:18px;transform-origin:right bottom}.hero-actions{flex-wrap:wrap}
  .section-shell{width:calc(100% - 36px)}.programs{padding-top:120px}.section-heading{grid-template-columns:1fr;gap:25px;margin-bottom:48px}.section-heading h2{font-size:clamp(52px,10vw,68px);white-space:normal}.section-heading>p{max-width:460px}
  .program-grid{grid-template-columns:1fr}.program-card,.program-card:nth-child(3),.program-card:nth-child(4){grid-column:auto;grid-row:auto;width:100%;margin:0;height:290px}.card-arrow{opacity:1;transform:none}
  .progress{padding-top:70px}.progress-grid{grid-template-columns:1fr;gap:30px}.progress-photo{width:min(420px,100%);margin:auto}.stats-grid{gap:14px}.stat-card{height:150px}
  .coach-grid{grid-template-columns:repeat(2,1fr);gap:16px}.coach-card{height:400px}
  .price-card{height:auto;min-height:430px;grid-template-columns:1fr;gap:35px;padding:34px}.features{grid-template-columns:repeat(2,1fr)}
  .story{height:560px}.story-copy{width:calc(100% - 36px);padding-top:120px}.story h2{font-size:clamp(80px,15vw,112px)}.story h2 span{font-size:55px}
  .testimonials{padding-top:120px}.testimonial-grid{grid-template-columns:repeat(2,1fr)}.column-c{display:none}
  .final-cta h2{font-size:60px;padding:0 25px}
  .footer-grid{width:calc(100% - 48px);grid-template-columns:repeat(2,1fr);gap:55px}.footer-bottom{width:calc(100% - 48px)}
}

@media (max-width:560px){
  body{font-size:15px}.hero{height:850px}.hero-athlete{left:4%;top:170px;width:540px;height:720px}.hero-copy{left:18px;top:215px;width:calc(100% - 36px)}.hero h1{font-size:21.2vw;line-height:.9}.hero h1 .hero-white{font-size:.44em}.hero-eyebrow{font-size:10px}.hero-intro{margin-top:27px}.hero-actions{gap:9px}.button{height:54px;padding:0 21px;font-size:16px}.hero-actions .button{flex:1;min-width:155px}.hero-actions .play-button{background:rgba(0,0,0,.28)}.member-trust{display:none}
  .marquee{height:58px}.marquee span{font-size:21px}
  .programs{padding:100px 0}.section-heading h2{font-size:54px;line-height:.98}.section-heading h2 em{display:block}.program-card{padding:26px;height:300px}.program-card h3{font-size:31px}.program-card>p{font-size:13px}.chips{flex-wrap:wrap}.chips span{font-size:9px}
  .progress{padding-bottom:95px}.progress-photo{height:440px}.progress-person{width:175px}.stats-grid{grid-template-columns:1fr 1fr}.stat-card{height:130px;padding:20px}.stat-card strong{font-size:47px}.stat-card p{font-size:10px}.progress-note{font-size:12px}
  .coaches{padding-top:65px}.coach-grid{grid-template-columns:1fr}.coach-card{height:460px}.coach-card h3{font-size:29px}.coach-card p{font-size:12px}
  .pricing{padding-top:70px}.price-card{padding:28px;gap:30px}.price{font-size:52px!important}.features{grid-template-columns:1fr}.popular{right:24px;top:25px}.price-main>p{margin-bottom:22px}
  .story{height:520px}.story-copy{padding-top:120px}.story h2{font-size:23vw}.story h2 span{font-size:14vw}.story .button{margin-top:8px}
  .testimonials{min-height:1000px;padding-bottom:80px}.testimonial-grid{grid-template-columns:1fr;height:650px}.column-b,.column-c{display:none}.quote-card{padding:28px}
  .final-cta{height:590px}.final-cta h2{font-size:15vw;line-height:1}.final-cta h2 em{display:block}.footer-grid{grid-template-columns:1fr;padding:80px 0 60px}.footer-brand img{margin-bottom:20px}.footer-bottom{flex-direction:column;gap:22px}.modal-panel{padding:38px 24px}.modal-panel h2{font-size:44px}.video-copy h2{font-size:46px}.video-copy{padding:30px}.video-pulse{width:58px;height:58px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}.hero h1 span,.hero h1 em,.hero-eyebrow,.hero-intro,.hero-actions,.hero-note,.member-trust,.hero-athlete{opacity:1;transform:none;clip-path:none}
}
