:root{color-scheme:dark;--red:#e93c3f;--text:rgba(255,255,255,.7);--heading:Oswald,'Arial Narrow',sans-serif;--body:Inter,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:#000;color:#fff;font-family:var(--body);font-size:21px;line-height:1.4}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:wait}a{color:inherit;text-decoration:none}button{border:0;background:none}img{display:block;max-width:100%;height:auto}p,h1,h2,h3{margin:0}h1,h2,h3{font-family:var(--heading);font-weight:600;text-transform:uppercase;letter-spacing:.6px}h1{font-size:71px;line-height:87px;font-weight:700}h2{font-size:71px;line-height:89px}h3{font-size:47px;line-height:58px}p{color:var(--text)}:focus-visible{outline:3px solid #fff;outline-offset:6px}.container{width:min(1280px,calc(100% - 80px));margin-inline:auto}.eyebrow{color:var(--red);font:400 20px/22px var(--heading);letter-spacing:3px;text-transform:uppercase}.red{color:var(--red)}.green{color:#50d273}.muted{color:rgba(255,255,255,.6)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;min-width:227px;padding:14px 20px;border:1px solid transparent;border-radius:32px;background:var(--red);font:600 16px/22px var(--body);text-transform:uppercase;transition:background .2s,transform .2s}.button:hover{background:#f45255;transform:translateY(-1px)}.button-secondary{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16);backdrop-filter:blur(4px)}.button-secondary:hover{background:rgba(255,255,255,.15)}.button-small{min-width:0;min-height:38px;padding:7px 20px;font-size:14px}.actions{display:flex;gap:16px;flex-wrap:wrap}.skip-link{position:fixed;top:8px;left:8px;z-index:10;padding:12px;background:#000;transform:translateY(-150%)}.skip-link:focus{transform:none}
.hero{height:780px;position:relative;overflow:hidden}.hero-background{position:absolute;inset:0;pointer-events:none;isolation:isolate}.hero-video{position:absolute;left:20.7%;right:-2.78%;top:0;height:100%;overflow:hidden;isolation:isolate}.hero-background video{width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;pointer-events:none}.hero-overlay-vertical{inset:0 -33px;background:linear-gradient(180deg,rgba(0,0,0,.65),transparent 50%,rgba(0,0,0,.7))}.hero-overlay-horizontal{inset:-73px -163px -47px -95px;background:linear-gradient(90deg,rgba(0,0,0,.8),rgba(0,0,0,.25) 50%,rgba(0,0,0,.45))}.hero-overlay-tint{inset:-60px -129px;background:rgba(233,60,63,.2);mix-blend-mode:overlay}.hero-background::before,.hero-background::after{content:'';position:absolute;pointer-events:none}.hero-background::before{z-index:1;left:0;top:0;bottom:0;width:40%;background:linear-gradient(90deg,#000,transparent)}.hero-background::after{left:0;right:0;bottom:0;height:157px;background:linear-gradient(180deg,transparent,#000)}.site-header{position:relative;display:flex;align-items:center;justify-content:space-between;padding-top:40px;gap:24px}nav{display:flex;align-items:center;gap:34px;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:1px}nav a:hover{color:var(--red)}.menu-toggle{display:none}.hero-layout{position:relative;display:flex;align-items:center;justify-content:space-between;margin-top:105px}.hero-content{position:relative;width:626px;max-width:100%}.hero-content h1{max-width:626px;margin-top:14px}.body-copy{max-width:607px;margin-top:15px;line-height:29px}.hero-content .actions{margin-top:29px}.stores{display:flex;gap:14px;margin-top:29px;padding-block:16px}.app-store-badge{display:block;position:relative;width:131.63px;height:44px}.app-store-badge img{position:absolute;max-width:none}.badge-frame{top:0;left:0}.badge-icon{top:21.8%;left:8.33%}.badge-title{top:44.68%;left:28.77%}.badge-caption{top:21.09%;left:29.81%}.stores button{padding:0;border-radius:7px}.stores button:hover{opacity:.8}.video-toggle{position:absolute;right:40px;bottom:45px;color:#aaa;font-size:12px;border:1px solid #444;border-radius:20px;padding:7px 12px}
.app-section{padding-top:95px}.section-heading{text-align:center}.section-heading h2{margin-top:16px}.section-heading>p:not(.eyebrow){margin:16px auto 0;max-width:1000px}.feature{display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:400px}.feature:first-of-type{margin-top:65px}.feature>img{width:100%}.feature>div{padding-left:0;max-width:550px}.feature p{max-width:506px;margin-top:16px;line-height:29px}.feature-reverse img{grid-column:2;grid-row:1}.feature-reverse>div{grid-column:1;grid-row:1}.performance{position:relative;max-width:1600px;margin:90px auto 0;min-height:922px;isolation:isolate;overflow:hidden}.performance-background{position:absolute;inset:0;z-index:-1;overflow:hidden}.performance-background img{position:absolute;width:103.5%;max-width:none;height:104.3%;left:-3.5%;top:0;object-fit:cover}.performance-background::after{content:'';position:absolute;inset:0;background:linear-gradient(#000,transparent 45%,#000)}.performance .section-heading{position:relative}.performance .section-heading>p:not(.eyebrow){max-width:1000px}.performance .button{margin-top:29px}.performance-phone{display:flex;justify-content:flex-end;margin-top:15px}.performance-phone img{width:50%;max-width:640px}
.training{padding-top:30px}.training .section-heading>p:not(.eyebrow){max-width:680px;font-size:28px;line-height:44px}.training-content{display:grid;grid-template-columns:575px 1fr;gap:80px;margin-top:58px;align-items:start}.session-options{display:grid;grid-template-columns:1fr 1fr;gap:15px}.session-card{position:relative;display:flex;flex-direction:column;align-items:center;padding:20px 19px 24px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);border-radius:16px;transition:background .2s,border-color .2s,transform .2s}.session-card.selected{background:rgba(233,60,63,.16);border-color:var(--red)}@media(hover:hover){.session-card:not(:disabled):hover{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.16);transform:translateY(-1px)}.session-card.selected:not(:disabled):hover{background:rgba(233,60,63,.24);border-color:var(--red)}}.session-card>img{width:240px}.session-title{font:500 32px/34px var(--heading);letter-spacing:1px;text-transform:uppercase}.session-description{font-size:14px;line-height:20px;margin-top:6px;color:var(--text)}.selection-mark{position:absolute;top:20px;left:20px;width:34px;height:34px;border:1px solid #555;border-radius:50%;background:#111}.selected .selection-mark{background:var(--red);border-color:var(--red)}.selection-mark{display:grid;place-items:center}.selection-mark img{display:none}.selected .selection-mark img{display:block}.price-container{min-width:0}table{width:100%;border-collapse:collapse;font-family:var(--heading);letter-spacing:3px;text-transform:uppercase}th,td{padding:40px 0;line-height:36px}thead th{font-size:21px;font-weight:400;color:rgba(255,255,255,.6);white-space:nowrap}th:first-child{text-align:left}th:not(:first-child),td{text-align:right}tbody tr{border-top:1px solid rgba(255,255,255,.3)}tbody th{font-size:28px;font-weight:400}td{font-size:28px;font-weight:700;min-width:80px}#pricing-error{font-size:16px;margin-top:20px}
.membership{position:relative;padding:87px 0;min-height:754px;margin-top:60px;isolation:isolate}.membership-background{position:absolute;inset:0;z-index:-1;background:url('images/membership-background@2x.jpg') center/cover no-repeat;max-width:1600px;margin:auto}.membership-card{position:relative;min-height:580px;padding:95px;border:1px solid #dc8400;border-radius:44px}.membership-flag{position:absolute;right:76px;top:0}.membership h2{margin-top:16px}.membership-card>p:not(.eyebrow){max-width:723px;font-size:28px;line-height:44px;margin-top:16px}.membership .button{margin-top:16px}
.location .section-heading{margin-bottom:58px}.location-content{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.map{position:relative;height:422px;border-radius:34px;overflow:hidden;background:#120c0c}.map-image{width:100%;height:100%;object-fit:cover;opacity:.4;mix-blend:hard-light}.map::after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse,transparent 40%,rgba(0,0,0,.65))}.map-pointer{position:absolute;left:39%;top:53%;z-index:1}.location-details h3{font-size:44px;line-height:44px;letter-spacing:1px}.location-details>p{font-size:28px;line-height:44px;margin-top:13px}.address-row{display:flex;align-items:center;gap:10px;margin-top:29px;font-size:26px;line-height:44px}.copy-address{flex-shrink:0;padding:5px}.hours span{color:rgba(255,255,255,.6);margin-right:10px}.location-details .actions{margin-top:29px;gap:10px}#copy-status{display:block;min-height:24px;font-size:14px;margin-top:6px;color:var(--text)}.contact{padding-top:130px;padding-bottom:120px}.contact h2{max-width:1077px;font-size:72px;line-height:104px}.contact-links{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:58px;font:600 55px/104px var(--heading);text-transform:uppercase;color:rgba(255,255,255,.6)}.contact-links a:hover{color:#fff}footer{border-top:1px solid #272727}.footer-main{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-block:58px}.footer-main p{font-size:17px;margin-top:8px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-block:34px;font-size:15px;position:relative}.footer-bottom::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:#272727}.footer-bottom>div{display:flex;gap:34px;color:var(--text)}.footer-bottom button{padding:0}
@media(min-width:1440px){.container{width:1280px}}
@media(max-width:1200px){nav{gap:20px}.training-content{grid-template-columns:1fr 1fr;gap:40px}.membership-card{padding:75px 60px}.membership h2{font-size:62px}.location-details h3{font-size:36px}.address-row{font-size:21px}.location-details>p{font-size:23px;line-height:36px}.contact-links{font-size:44px}.footer-main{align-items:flex-start}.footer-main nav{flex-wrap:wrap;justify-content:flex-end;max-width:450px}h2{font-size:60px;line-height:1.25}}
@media(max-width:900px){.container{width:calc(100% - 48px)}body{font-size:18px}.site-header{padding-top:30px}.menu-toggle{display:block;font-size:14px;text-transform:uppercase;border:1px solid #555;padding:10px 16px;border-radius:24px}.site-header nav{display:none;position:absolute;top:95px;right:0;left:0;z-index:5;background:#111;border:1px solid #333;border-radius:18px;padding:24px;align-items:stretch}.site-header nav.open{display:flex;flex-direction:column}.site-header nav a{padding:8px}.hero-layout{margin-top:105px}.hero-video{left:0;right:0}.hero-content h1{font-size:64px;line-height:1.2;max-width:570px}.body-copy{max-width:540px}.feature{min-height:340px;gap:20px}.feature h3{font-size:36px;line-height:1.2}.feature p{font-size:18px;line-height:27px}.performance{min-height:750px;margin-top:65px}.performance-phone{margin-top:45px}.training-content{grid-template-columns:1fr;gap:20px}.session-options{max-width:575px;margin:auto;width:100%}.membership-card{padding:80px 36px 50px;min-height:0}.membership h2{font-size:52px}.membership-card>p:not(.eyebrow){font-size:24px;line-height:36px;max-width:500px}.membership-flag{right:32px}.membership{min-height:0;padding-block:65px}.location-content{grid-template-columns:1fr}.map{height:380px}.contact{padding-top:90px;padding-bottom:80px}.contact h2{font-size:58px;line-height:1.35}.contact-links{font-size:36px;line-height:1.5}.footer-main{flex-direction:column}.footer-main nav{max-width:none;justify-content:flex-start}.footer-bottom{font-size:13px}.footer-bottom>div{gap:20px}}
@media(max-width:600px){.container{width:calc(100% - 40px)}h2{font-size:40px;line-height:1.25}.eyebrow{font-size:15px;line-height:20px;letter-spacing:2px}.hero{height:auto;min-height:800px;padding-bottom:105px}.site-header img{width:177px}.hero-layout{margin-top:95px}.hero-content h1{font-size:48px;line-height:1.2;margin-top:18px;max-width:390px}.body-copy{font-size:18px;line-height:27px;max-width:390px}.hero-background video{object-position:65% center}.actions{gap:12px}.hero .actions{flex-direction:column;max-width:350px}.button{min-width:0;font-size:14px;padding-inline:20px}.stores{gap:12px}.video-toggle{right:20px;bottom:30px}.app-section{padding-top:55px}.section-heading>p:not(.eyebrow){font-size:17px;line-height:26px}.feature{display:flex;flex-direction:column;gap:20px;margin-top:46px;min-height:0}.feature:first-of-type{margin-top:30px}.feature>div{width:100%;max-width:none}.feature h3{font-size:34px}.feature p{margin-top:12px}.feature>img{max-width:500px}.performance{min-height:760px;margin-top:85px}.performance .section-heading{padding-bottom:20px}.performance .section-heading h2{font-size:39px}.performance-background{top:140px}.performance-background img{object-position:35% center}.performance-phone{margin-top:45px;justify-content:flex-end;width:100%}.performance-phone img{width:85%;max-width:420px;margin-right:-25px}.training{padding-top:55px}.training .section-heading>p:not(.eyebrow){font-size:18px;line-height:28px}.training-content{margin-top:32px}.session-options{gap:12px}.session-card{padding:12px 10px 20px}.session-title{font-size:26px;line-height:32px}.session-description{font-size:11px}.selection-mark{width:27px;height:27px;left:12px;top:12px}table{letter-spacing:1px}th,td{padding-block:26px;line-height:28px}thead th{font-size:15px}tbody th,td{font-size:22px}td{min-width:65px}.membership{margin-top:30px;padding-block:45px}.membership-card{padding:85px 24px 36px;border-radius:28px}.membership h2{font-size:38px;line-height:1.3}.membership-card>p:not(.eyebrow){font-size:18px;line-height:28px}.membership-flag{right:24px}.membership .eyebrow{font-size:13px}.membership .button{margin-top:24px}.location{padding-top:35px}.location .section-heading{margin-bottom:32px}.map{height:300px;border-radius:24px}.location-details h3{font-size:30px;line-height:1.3}.location-details>p{font-size:20px;line-height:30px}.address-row{font-size:18px;line-height:28px;align-items:flex-start}.location .actions{flex-direction:column}.contact{padding-top:80px;padding-bottom:70px}.contact h2{font-size:42px;line-height:1.35}.contact-links{grid-template-columns:1fr;gap:16px;margin-top:30px;font-size:32px;overflow-wrap:anywhere}.footer-main{padding-block:35px}.footer-main p{font-size:14px}.footer-main nav{display:grid;grid-template-columns:1fr 1fr;gap:22px;font-size:12px}.footer-bottom{flex-direction:column;padding-block:25px;gap:16px}.footer-bottom>div{justify-content:space-between}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* Social links and updated hero/footer composition. */
.social-links{display:flex;align-items:center;flex-shrink:0}.social-links a{display:flex;align-items:center;justify-content:center;opacity:.4;transition:opacity .2s}.social-links a:hover,.social-links a:focus-visible{opacity:1}.social-links img{max-width:none}.hero-social{flex-direction:column;gap:40px;padding-bottom:40px}.footer-social{gap:34px}.footer-brand{display:flex;align-items:flex-end;gap:13px;flex-shrink:0}.footer-brand>img{width:48px;height:48px}.footer-brand>span{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.footer-tagline{font-size:13px;line-height:22px;color:var(--text)}.footer-actions{display:flex;align-items:center;gap:44px}.footer-main{gap:24px}.footer-actions nav{flex-wrap:nowrap;max-width:none}.footer-actions .button{flex-shrink:0}
@media(max-width:1300px){.footer-main{flex-wrap:wrap}.footer-actions{flex-wrap:wrap;gap:30px}.footer-tagline{white-space:normal}}
@media(max-width:900px){.hero-layout{gap:24px}.hero-content{max-width:calc(100% - 56px)}.hero-social{gap:28px}.footer-actions{width:100%;justify-content:space-between}.footer-actions nav{width:100%;justify-content:flex-start}}
@media(max-width:600px){.hero-layout{flex-direction:column;align-items:flex-start;gap:32px}.hero-content{max-width:100%}.hero-social{flex-direction:row;gap:32px;padding-bottom:0}.hero-social a{min-height:44px}.footer-brand{align-items:center}.footer-brand>span{min-width:0}.footer-tagline{max-width:260px}.footer-actions{gap:24px}.footer-actions nav{display:flex;flex-wrap:wrap;gap:22px}.footer-social a{min-height:44px}.footer-social{gap:24px}}
@media(prefers-reduced-motion:reduce){.social-links a{transition:none}}

/* Native dialogs provide focus containment and make the page behind them inert. */
html.modal-open,html.modal-open body{overflow:hidden}html{scrollbar-gutter:stable}
.modal{margin:auto;position:fixed;inset:0;padding:40px;border:1px solid rgba(255,255,255,.16);border-radius:44px;background:#211d1d;color:#fff;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain;box-shadow:0 24px 80px #0008}
.modal::backdrop{background:rgba(0,0,0,.8);backdrop-filter:blur(4px)}
.modal h2{font-size:47px;line-height:58px}.modal-close{position:absolute;right:40px;top:40px;display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(255,255,255,.16);border-radius:50%;background:rgba(255,255,255,.08);padding:9px;transition:background .2s}.modal-close:hover{background:rgba(255,255,255,.15)}
.download-modal{width:655px;text-align:center}.download-modal h2{padding-inline:44px}.download-modal>p{font-size:21px;line-height:29px;margin-top:20px}.download-qr{width:345px;height:345px;margin:44px auto}.download-qr img{max-width:none;transform-origin:top left}.download-stores{display:flex;justify-content:center;align-items:center;gap:30px}.download-stores button{padding:0;border-radius:8px}.download-stores button:hover{opacity:.8}.large-app-badge{display:block;width:215.395px;height:72px}.large-app-badge .app-store-badge{transform:scale(1.6363636);transform-origin:top left}.large-google-badge{display:block;width:243.002px;height:72px}.large-google-badge>img{max-width:none;transform:scale(1.6363636);transform-origin:top left}
.member-modal{width:705px;min-height:635px}.member-modal h2{padding-right:58px;margin-left:8px}.member-options{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:40px}.member-card{align-items:flex-start;text-align:left;padding:20px 20px 24px 78px;min-width:0}.member-card .selection-mark{width:44px;height:44px}.member-card .session-description{white-space:nowrap}.member-table table{table-layout:fixed}.member-table th:first-child{width:40%}.member-table td{white-space:nowrap}.member-table del{opacity:.4;margin-left:10px}.member-modal #member-pricing-error{font-size:16px;margin-top:24px}.copied-modal{width:232px;border-radius:16px;padding:32px;backdrop-filter:blur(4px);background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.08);text-align:center}.copied-modal>img{margin:auto}.copied-modal h2{margin-top:24px;font-size:40px;line-height:40px;font-weight:500;letter-spacing:.5px}
@media(max-width:600px){.modal{padding:28px 20px;border-radius:28px}.modal-close{right:16px;top:20px}.modal h2{font-size:32px;line-height:42px}.download-modal h2{padding:0 40px}.download-modal>p{font-size:17px;line-height:26px;margin-top:18px}.download-qr{width:276px;height:276px;margin:28px auto}.download-qr img{transform:scale(.8)}.download-stores{gap:14px}.large-app-badge{width:131.63px;height:44px}.large-app-badge .app-store-badge{transform:none}.large-google-badge{width:148.501px;height:44px}.large-google-badge>img{transform:none}.member-modal{min-height:0}.member-modal h2{margin:0;padding-right:40px}.member-options{gap:10px;margin-top:28px}.member-card{padding:52px 12px 16px}.member-card .selection-mark{width:28px;height:28px;top:12px;left:12px}.member-card .session-title{font-size:24px;line-height:30px}.member-card .session-description{font-size:10px;white-space:normal}.member-table table{letter-spacing:1px}.member-table th:first-child{width:38%}.member-table thead th{font-size:14px;white-space:normal}.member-table tbody th,.member-table td{font-size:20px}.member-table td del{display:block;margin:0;font-size:16px;line-height:22px}.copied-modal{width:232px;padding:32px;border-radius:16px}.copied-modal h2{font-size:40px;line-height:40px}}
@media(max-width:360px){.download-qr{width:241.5px;height:241.5px}.download-qr img{transform:scale(.7)}.download-stores{flex-direction:column}.download-modal h2{font-size:28px;padding-left:0}.member-card .session-title{font-size:21px}.member-table thead th{font-size:12px}}

/* Coming soon launch state, matching the supplied Figma screen. */
.button-coming-soon:disabled,.button-coming-soon:disabled:hover{background:linear-gradient(#0009,#0009),var(--red);color:rgba(255,255,255,.5);cursor:default;transform:none;min-width:227px}
.hero-coming-soon{align-items:center}
.hero-coming-soon .stores{margin:0;padding:0;opacity:.5;align-items:center}
.hero-coming-soon .stores button:disabled{cursor:default}
.hero-coming-soon .stores button:disabled:hover{opacity:1}
.location-details>p.opening-notice{color:var(--red);font-size:24px;line-height:44px;margin-top:29px}
.contact-links{grid-template-columns:1fr}
@media(min-width:901px){.hero-layout{margin-top:114px}}
@media(max-width:600px){.hero .hero-coming-soon{align-items:flex-start;gap:16px;max-width:100%}.location-details>p.opening-notice{font-size:20px;line-height:30px}}
