:root{
  --bg:#f5f5f2;--paper:#fff;--ink:#2f3033;--muted:#777;--dark:#080808;--line:#e6e6e2;--accent:#f04438;--accent-dark:#d92d20;--max:1120px;--edge:min(28px,5vw)
}
*{box-sizing:border-box}html{width:100%;max-width:100%;overflow-x:hidden;scroll-behavior:smooth}body{margin:0;width:100%;max-width:100%;overflow-x:hidden;background:var(--bg);color:var(--ink);font-family:Inter,Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;padding-bottom:82px}body.modal-lock{overflow:hidden;touch-action:none}a{color:inherit;text-decoration:none}button{font:inherit}img,video,iframe{max-width:100%}.wrap{max-width:var(--max);margin-inline:auto;padding-inline:var(--edge)}.hidden{display:none!important}
.site-header{position:fixed;inset:0 0 auto 0;z-index:70;color:#fff;transition:transform .25s ease,background .25s ease;border-bottom:1px solid rgba(255,255,255,.08);background:linear-gradient(to bottom,rgba(0,0,0,.75),rgba(0,0,0,.18),rgba(0,0,0,0));backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}.site-header.header-hidden{transform:translateY(-100%)}.header-inner{height:66px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;align-items:center;gap:14px;min-width:0;font-weight:950;letter-spacing:.16em;text-transform:uppercase;font-size:13px}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border:2px solid rgba(255,255,255,.9);background:rgba(0,0,0,.35);font-weight:950;line-height:1}.nav{display:flex;align-items:center;gap:24px;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.09em}.nav a{opacity:.84}.nav a:hover{opacity:1}.nav-call{border:1px solid rgba(255,255,255,.9);padding:10px 15px;background:#fff;color:#111;opacity:1!important}.burger{display:none;width:44px;height:44px;border:1px solid rgba(255,255,255,.38);background:rgba(0,0,0,.35);color:#fff;align-items:center;justify-content:center}.burger span{display:block;width:19px;height:2px;background:#fff;margin:4px 0}.mobile-menu{position:fixed;inset:0;z-index:65;background:rgba(0,0,0,.95);color:#fff;display:none;padding:92px var(--edge) 28px}.mobile-menu.open{display:block}.mobile-menu a{display:block;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:18px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.hero{position:relative;min-height:100svh;overflow:hidden;background:#000;color:#fff;display:flex;align-items:center;padding-top:80px}.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(to bottom,rgba(0,0,0,.2),rgba(0,0,0,.72)),linear-gradient(to right,rgba(0,0,0,.88),rgba(0,0,0,.33),rgba(0,0,0,.88)),var(--hero-img);background-size:cover;background-position:center;filter:saturate(.82) contrast(1.04)}.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.82),transparent 50%)}.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;filter:saturate(.82) contrast(1.04)}.hero-content{position:relative;z-index:2;width:100%;padding:96px 0 56px;text-align:center}h1{margin:0 auto;max-width:920px;font-size:clamp(45px,8.5vw,88px);line-height:.94;letter-spacing:-.06em;font-weight:950;text-wrap:balance;text-shadow:0 4px 26px rgba(0,0,0,.48)}.hero-sub{margin:20px auto 0;max-width:760px;font-size:clamp(20px,3.8vw,34px);line-height:1.16;font-weight:900;text-shadow:0 4px 22px rgba(0,0,0,.46)}.hero-note{margin:19px auto 0;max-width:700px;color:rgba(255,255,255,.78);font-size:15px;line-height:1.65}.hero-actions{margin-top:32px;display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 25px;border:1px solid transparent;font-weight:950;letter-spacing:.05em;text-transform:uppercase;font-size:13px;cursor:pointer;transition:transform .12s ease,background .16s ease,border-color .16s ease;color:inherit;background:transparent;border-radius:1px;text-align:center}.btn:active{transform:scale(.985)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 18px 32px rgba(240,68,56,.24)}.btn-primary:hover{background:var(--accent-dark);border-color:var(--accent-dark)}.btn-dark{background:#111;color:#fff;border-color:#111}.btn-dark:hover{background:#000}.btn-light{background:#fff;color:#111;border-color:#fff}.btn-light:hover{background:#eee;border-color:#eee}.border{border:1px solid var(--line)}.hero-hours-wrap{margin-top:22px;display:flex;justify-content:center}.hero-hours-card{position:relative;width:min(100%,430px);min-height:70px;border:1px solid rgba(255,255,255,.24);background:rgba(0,0,0,.56);color:#fff;display:flex;align-items:center;justify-content:center;gap:14px;padding:13px 18px 13px 70px;text-align:center;cursor:pointer;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 18px 40px rgba(0,0,0,.30);border-radius:1px}.hours-icon{position:absolute;left:15px;top:50%;transform:translateY(-50%);width:40px;height:40px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08)}.hours-status{display:block;font-size:12px;font-weight:950;letter-spacing:.16em;text-transform:uppercase;color:#fff}.hours-value{display:block;margin-top:3px;font-size:14px;color:rgba(255,255,255,.76)}.hero-hours-card.is-open .hours-status{color:#98fb98}.hero-hours-card.is-closed .hours-status{color:#ffb4ad}
section{position:relative;padding:76px 0;background:var(--bg)}section.white{background:#fff}.tight-top{padding-top:36px}.section-head{text-align:center;margin:0 auto 44px;max-width:850px}.section-head h2{margin:0;font-size:clamp(38px,7vw,64px);line-height:.94;font-weight:950;letter-spacing:-.052em;text-transform:uppercase;color:#303236;text-wrap:balance}.divider{width:185px;height:8px;background:#ebebe8;margin:30px auto 0}.section-head p{margin:20px auto 0;max-width:660px;font-size:15px;line-height:1.65;color:var(--muted)}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.hard-card{background:#fff;border:1px solid var(--line);box-shadow:0 22px 40px rgba(0,0,0,.055);padding:30px;border-radius:0;text-align:left}.hard-card h3{margin:0;font-size:24px;line-height:1.1;font-weight:900;letter-spacing:-.03em}.hard-card p{margin:14px 0 0;color:#777;line-height:1.62;font-size:14px}.hard-number{display:inline-grid;place-items:center;width:46px;height:46px;background:#111;color:#fff;font-weight:950;margin-bottom:22px;letter-spacing:.03em}.service-stack{display:grid;gap:42px;max-width:970px;margin-inline:auto}.service-feature{position:relative;background:#111;padding:0 0 54px;box-shadow:0 20px 45px rgba(0,0,0,.08)}.feature-media{height:clamp(260px,46vw,470px);background:#171717;background-image:linear-gradient(to bottom,rgba(0,0,0,.08),rgba(0,0,0,.38)),var(--img);background-size:cover;background-position:center}.feature-panel{position:relative;left:50%;transform:translateX(-50%);width:min(82%,700px);margin-top:-48px;background:#fff;box-shadow:0 18px 38px rgba(0,0,0,.11);padding:28px 34px;text-align:center;border:1px solid #f0f0ec}.feature-panel h3{margin:0;color:#454545;font-size:clamp(28px,5vw,45px);line-height:1.03;font-weight:500;letter-spacing:-.05em}.feature-panel p{margin:14px auto 0;max-width:560px;color:#777;line-height:1.7;font-size:18px}.video-stage{position:relative;min-height:500px;background:#000;color:#fff;display:grid;place-items:center;overflow:hidden}.video-stage::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(0,0,0,.72),rgba(0,0,0,.72)),var(--poster);background-size:cover;background-position:center;filter:saturate(.8) contrast(1.04)}.video-inner{position:relative;text-align:center}.video-inner .kicker{font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.2em;color:rgba(255,255,255,.72)}.video-inner h2{margin:16px 0 0;font-size:clamp(37px,7vw,64px);line-height:.96;font-weight:950;letter-spacing:-.052em;text-transform:uppercase;text-wrap:balance}.play-btn{margin:28px auto 0;width:86px;height:86px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.42);background:rgba(255,255,255,.12);color:#fff;cursor:pointer;box-shadow:0 20px 50px rgba(0,0,0,.42);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}.play-btn svg{margin-left:4px}
.pricing-list{max-width:880px;margin-inline:auto;background:#fff;border-top:1px solid #e2e2de;border-bottom:1px solid #e2e2de}.price-row{display:grid;grid-template-columns:150px 1fr;align-items:center;gap:18px;min-height:72px;padding:18px 20px;border-bottom:1px dotted #d8d8d4;text-align:left}.price-row:last-child{border-bottom:0}.price-amount{font-size:32px;line-height:1;font-weight:950;letter-spacing:-.04em;color:#303236;white-space:nowrap}.price-row p{margin:0;color:#696969;font-size:18px;line-height:1.4}.price-note{max-width:860px;margin:24px auto 0;text-align:center;color:#777;font-size:16px;line-height:1.7}.price-cta{display:flex;justify-content:center;margin-top:28px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#dcdcd8;border:1px solid #dcdcd8}.step{background:#fff;padding:26px 18px;min-height:175px}.step b{display:block;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:#111}.step h3{margin:20px 0 0;font-size:18px;line-height:1.15}.step p{margin:10px 0 0;color:#777;font-size:13px;line-height:1.55}
.media-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(240px,310px);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 0 16px;margin-inline:calc(var(--edge)*-1);padding-inline:var(--edge);scrollbar-width:none}.media-strip::-webkit-scrollbar{display:none}.media-card{scroll-snap-align:start;background:#fff;border:1px solid var(--line);box-shadow:0 18px 36px rgba(0,0,0,.055);text-align:left;cursor:pointer;padding:0;border-radius:0;overflow:hidden;color:var(--ink)}.media-strip[data-autoscroll],.reviews-strip[data-autoscroll]{scroll-snap-type:none;scroll-behavior:auto;will-change:scroll-position}.media-strip[data-autoscroll] .media-card,.reviews-strip[data-autoscroll] .review-card{scroll-snap-align:none}.media-strip[data-autoscroll].is-paused,.reviews-strip[data-autoscroll].is-paused{cursor:grab}.media-thumb{position:relative;height:260px;background:#1a1a1a;background-image:linear-gradient(to bottom,rgba(0,0,0,.08),rgba(0,0,0,.38)),var(--img);background-size:cover;background-position:center;display:grid;place-items:center}.media-thumb::after{content:attr(data-label);position:absolute;left:14px;top:14px;background:#111;color:#fff;font-size:10px;font-weight:950;letter-spacing:.14em;text-transform:uppercase;padding:9px 10px}.media-card h3{font-size:21px;line-height:1.08;margin:18px 18px 0;font-weight:900;letter-spacing:-.03em}.media-card p{font-size:13px;line-height:1.55;color:#777;margin:10px 18px 20px}.mini-play{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.92);color:#111;box-shadow:0 16px 32px rgba(0,0,0,.22)}.reviews-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(270px,360px);gap:16px;overflow-x:auto;padding:2px 0 16px;margin-inline:calc(var(--edge)*-1);padding-inline:var(--edge);scrollbar-width:none}.reviews-strip::-webkit-scrollbar{display:none}.review-card{background:#fff;border:1px solid var(--line);box-shadow:0 18px 36px rgba(0,0,0,.055);padding:24px;text-align:left;min-height:210px}.stars{font-size:17px;letter-spacing:.08em;color:#111}.review-card p{margin:15px 0 0;color:#666;line-height:1.65;font-size:14px}.review-author{margin-top:16px;font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.13em;color:#111}.review-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:28px}.trainer{display:grid;grid-template-columns:.9fr 1.1fr;background:#111;color:#fff;align-items:stretch;min-height:420px}.trainer-photo{background:#222;background-image:linear-gradient(to bottom,rgba(0,0,0,.05),rgba(0,0,0,.25)),var(--img);background-size:cover;background-position:center;min-height:420px}.trainer-text{padding:56px;display:flex;flex-direction:column;justify-content:center}.trainer-text .kicker{font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.18em;color:#bbb}.trainer-text h2{margin:18px 0 0;font-size:clamp(34px,5vw,55px);line-height:.98;font-weight:950;letter-spacing:-.05em;text-transform:uppercase}.trainer-text p{margin:20px 0 28px;color:#ddd;line-height:1.7;max-width:520px}
.faq-list{max-width:880px;margin-inline:auto;border-top:1px solid #d8d8d3}.faq-item{border-bottom:1px solid #d8d8d3;background:#fff}.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px;background:#fff;color:#111;border:0;text-align:left;cursor:pointer;font-weight:900;font-size:18px}.faq-q span:last-child{font-size:26px;line-height:1}.faq-a{max-height:0;overflow:hidden;transition:max-height .28s ease}.faq-a p{margin:0;padding:0 22px 22px;color:#747474;line-height:1.65}.faq-item.open .faq-a{max-height:260px}.faq-item.open .faq-q span:last-child{transform:rotate(45deg)}.contact-grid{display:grid;grid-template-columns:1fr;gap:22px;align-items:stretch;max-width:860px;margin-inline:auto}.contact-card{background:#fff;border:1px solid var(--line);padding:34px;box-shadow:0 20px 42px rgba(0,0,0,.055);text-align:center}.contact-card h3{font-size:38px;line-height:.98;letter-spacing:-.05em;margin:0;text-transform:uppercase;text-align:center}.contact-card p{color:#666;line-height:1.65;max-width:620px;margin:18px auto 0;text-align:center}.contact-lines{margin:24px auto;display:grid;gap:10px;color:#444;font-weight:800;justify-items:center;text-align:center;max-width:620px}.contact-card .btn{margin-inline:auto;width:min(100%,520px)}.map{border:1px solid var(--line);background:#ddd;min-height:340px;overflow:hidden}.map iframe{width:100%;height:100%;min-height:340px;border:0;filter:grayscale(1) contrast(1.05)}.footer{background:#080808;color:#fff;padding:24px 0}.footer-row{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:12px;color:#aaa}.footer-row b{color:#fff;text-transform:uppercase;letter-spacing:.14em}.bottom-bar{position:fixed;left:0;right:0;bottom:0;z-index:80;padding:10px var(--edge) max(10px,env(safe-area-inset-bottom));background:rgba(255,255,255,.88);border-top:1px solid rgba(0,0,0,.08);box-shadow:0 -18px 46px rgba(0,0,0,.13);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transform:translateY(105%);transition:transform .23s ease}.bottom-bar.visible{transform:translateY(0)}.bottom-grid{max-width:390px;margin-inline:auto;display:grid;grid-template-columns:1fr;gap:12px}.bottom-grid .btn{width:100%;min-height:56px}
.modal{position:fixed;inset:0;z-index:120;display:none;background:rgba(0,0,0,.82);padding:16px;align-items:center;justify-content:center}.modal.open{display:flex}.modal-card{width:min(100%,720px);max-height:min(820px,calc(100svh - 32px));overflow:auto;background:#0b0b0b;color:#fff;border:1px solid rgba(255,255,255,.12);box-shadow:0 30px 70px rgba(0,0,0,.55)}.modal-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:24px;border-bottom:1px solid rgba(255,255,255,.12)}.modal-head h3{margin:0;font-size:35px;line-height:1;letter-spacing:-.04em;text-transform:uppercase}.modal-close{width:54px;height:54px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.08);color:#fff;cursor:pointer;font-size:30px}.modal-close.floating{position:absolute;right:12px;top:12px;z-index:2;background:rgba(255,255,255,.92);color:#111}.modal-body{padding:24px}.hours-list{display:grid;gap:10px}.hours-row{display:grid;grid-template-columns:1fr auto;gap:16px;padding:16px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05)}.hours-row.today{border-color:rgba(240,68,56,.55);background:rgba(240,68,56,.13)}.hours-row b{text-transform:uppercase;letter-spacing:.08em}.video-modal-card{width:min(100%,430px);background:#000;border:1px solid rgba(255,255,255,.15);box-shadow:0 30px 80px rgba(0,0,0,.55);position:relative}.video-modal-card video,.video-modal-card iframe{display:block;width:100%;aspect-ratio:9/16;background:#000;border:0}.lightbox-img{width:100%;max-height:70svh;object-fit:contain;background:#111}.image-card{background:#111}.review-options{display:grid;gap:12px}.review-options a,.review-options button{width:100%;min-height:56px}
@media(max-width:940px){.nav{display:none}.burger{display:flex}.grid-3,.contact-grid,.trainer{grid-template-columns:1fr}.pricing-list{max-width:760px}.steps{grid-template-columns:1fr 1fr}.trainer-photo{min-height:360px}.trainer-text{padding:36px var(--edge)}}
@media(max-width:620px){body{padding-bottom:88px}.hero-content{padding:78px 0 38px}h1{font-size:47px}.hero-sub{font-size:23px}.hero-note{font-size:15px}.hero-actions{display:grid;grid-template-columns:1fr;max-width:390px;margin-inline:auto}.btn{width:100%;min-height:54px}.section-head h2{font-size:45px}.divider{height:7px;width:178px}.grid-3{grid-template-columns:1fr}.hard-card{padding:30px 26px}.feature-media{height:300px;margin-inline:calc(var(--edge)*-1)}.service-feature{margin-inline:0;padding-bottom:42px}.feature-panel{width:86%;padding:25px 22px}.feature-panel h3{font-size:35px}.feature-panel p{font-size:18px}.video-stage{min-height:370px}.price-row{grid-template-columns:1fr;gap:8px;text-align:center;min-height:auto;padding:20px 12px}.price-row p{font-size:18px}.price-amount{font-size:34px}.steps{grid-template-columns:1fr}.media-strip{grid-auto-columns:minmax(235px,78vw)}.media-thumb{height:245px}.bottom-grid{grid-template-columns:1fr}.bottom-grid .btn{font-size:12px;padding-inline:8px}.modal-head h3{font-size:30px}.hours-row{grid-template-columns:1fr}.footer-row{flex-direction:column;text-align:center}}
