@font-face{font-family:Manrope;src:url('../fonts/Manrope-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap;ascent-override:94%;descent-override:24%;size-adjust:100%;}
@font-face{font-family:Inter;src:url('../fonts/Inter-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;ascent-override:92%;descent-override:25%;size-adjust:100%;}
@font-face{font-family:Inter;src:url('../fonts/Inter-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap;ascent-override:92%;descent-override:25%;size-adjust:100%;}
:root{--bg:#0b0c0a;--panel:#121410;--panel-2:#181a16;--text:#f0f0e9;--muted:#aeb1a8;--line:#30332d;--accent:#c7f36a;--accent-ink:#10120d;--max:1180px;--header:68px;--ease:cubic-bezier(.22,.8,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Arial,sans-serif;font-size:16px;line-height:1.55;overflow-x:hidden;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}.shell{width:min(calc(100% - 32px),var(--max));margin-inline:auto}.skip-link{position:fixed;left:12px;top:8px;z-index:1000;padding:10px 14px;background:var(--accent);color:var(--accent-ink);transform:translateY(-150%);transition:transform .2s}.skip-link:focus{transform:none}a{color:inherit;text-decoration:none}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.site-header{position:sticky;top:0;z-index:50;background:rgba(11,12,10,.96);border-bottom:1px solid var(--line)}.header-inner{height:68px;display:flex;align-items:center;gap:18px}.brand{font-family:Manrope,Arial,sans-serif;font-weight:700;letter-spacing:-.06em;font-size:22px;display:inline-flex;align-items:center;gap:6px;line-height:1}.brand i{display:block;width:7px;height:7px;background:var(--accent);border-radius:50%}.desktop-nav{display:none}.header-cta{display:none;margin-left:auto;font-size:13px;font-weight:500}.menu-toggle{margin-left:auto;width:46px;height:46px;padding:0;border:1px solid var(--line);background:transparent;color:var(--text);display:grid;place-content:center;gap:6px}.menu-toggle span{width:18px;height:1px;background:currentColor;display:block;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-menu{position:fixed;z-index:49;inset:68px 0 auto;background:var(--bg);border-bottom:1px solid var(--line);padding:10px 16px 22px}.mobile-menu nav{display:grid}.mobile-menu a{min-height:48px;display:flex;align-items:center;border-bottom:1px solid var(--line);font-family:Manrope,Arial,sans-serif;font-size:22px}.mobile-menu .mobile-menu-cta{margin-top:16px;border:0;background:var(--accent);color:var(--accent-ink);justify-content:center;font-size:15px;font-family:Inter,Arial,sans-serif;font-weight:500}.hero{min-height:calc(100dvh - 68px);padding:38px 0 28px;display:flex;flex-direction:column;justify-content:space-between;border-bottom:1px solid var(--line)}.hero-grid{display:grid;grid-template-columns:1fr;gap:28px}.eyebrow,.section-index,.hero-meta,.art-label,.art-note,.price-label,.demo-note{font-size:12px;text-transform:uppercase;letter-spacing:.11em;font-weight:500}.eyebrow{display:flex;justify-content:space-between;color:var(--muted);border-top:1px solid var(--line);padding-top:11px}.hero h1,.section h2,.manifesto-text,.trial h2{font-family:Manrope,Arial,sans-serif;font-weight:700;letter-spacing:-.065em;line-height:1;margin:36px 0 20px}.hero h1{font-size:clamp(46px,13vw,82px);max-width:780px}.hero h1 em,.trial h2 em{font-style:normal;color:var(--accent)}.hero-lead{max-width:620px;color:#c8cbc2;font-size:17px;line-height:1.48;margin:0}.hero-actions{display:flex;flex-direction:column;align-items:flex-start;gap:18px;margin-top:28px}.button{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:0 20px;font-size:14px;font-weight:500}.button span{font-size:19px}.button-primary{background:var(--accent);color:var(--accent-ink)}.text-link{min-height:44px;display:inline-flex;align-items:center;gap:10px;color:var(--text);border-bottom:1px solid #777a72;padding-bottom:3px}.hero-art{min-height:300px;position:relative;background:var(--panel);overflow:hidden;border:1px solid var(--line)}.hero-art svg{position:absolute;inset:15% 7% 0;width:86%;height:85%;overflow:visible}.hero-art .line{fill:none;stroke:#a7aaa0;stroke-width:1.3}.hero-art .line-b,.hero-art .line-c{opacity:.55}.hero-art circle{fill:var(--accent)}.art-label{position:absolute;top:15px;left:15px;color:var(--muted)}.art-note{position:absolute;right:15px;bottom:15px;display:grid;gap:4px;text-align:right;color:#d9dcd2}.hero-meta{width:min(calc(100% - 32px),var(--max));margin:30px auto 0;display:flex;justify-content:space-between;gap:14px;color:#8f9289;border-top:1px solid var(--line);padding-top:11px}.hero-meta span:nth-child(2){display:none}.section{padding:82px 0;border-bottom:1px solid var(--line);scroll-margin-top:78px}.section-index{color:var(--muted);margin:0}.section-head h2,.faq h2,.location h2{font-size:clamp(43px,12vw,76px);margin:22px 0 42px}.section h2 span,.faq h2 span,.location h2 span{color:#8e9288}.manifesto{padding:82px 0;border-bottom:1px solid var(--line)}.manifesto-grid{display:grid;grid-template-columns:1fr;gap:30px}.manifesto-text{font-size:clamp(37px,9.8vw,70px);margin:0;max-width:900px}.manifesto-small{color:var(--muted);max-width:470px;margin:28px 0 0;font-size:16px}.direction-list{border-top:1px solid var(--line)}.direction-item{display:grid;grid-template-columns:40px 1fr auto;gap:12px;padding:24px 0;border-bottom:1px solid var(--line);align-items:start}.direction-item h3{font-family:Manrope,Arial,sans-serif;font-size:24px;letter-spacing:-.04em;margin:0 0 7px}.direction-item p{color:var(--muted);font-size:14px;line-height:1.45;margin:0;max-width:500px}.direction-num,.direction-tag{color:#777b72;font-size:12px}.direction-tag{border:1px solid var(--line);padding:4px 7px;white-space:nowrap}.direction-item.featured{background:var(--accent);color:var(--accent-ink);padding-inline:12px;margin-inline:-12px}.direction-item.featured p,.direction-item.featured .direction-num,.direction-item.featured .direction-tag{color:#2d351e}.direction-item.featured .direction-tag{border-color:#6f8838}.split{display:flex;flex-direction:column}.section-aside{color:var(--muted);font-size:14px;margin:-20px 0 28px}.day-tabs{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--line);gap:0}.day-tab{min-height:48px;border:0;border-bottom:2px solid transparent;background:transparent;color:#777b72;font:500 13px Inter,Arial,sans-serif}.day-tab.is-active{color:var(--text);border-bottom-color:var(--accent)}.schedule-panels{min-height:270px}.schedule-panel{padding-top:4px}.class-row{display:grid;grid-template-columns:58px 1fr auto;gap:10px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}.class-row time,.class-row b{font-size:12px;color:#888c83}.class-row strong{font-family:Manrope,Arial,sans-serif;font-size:17px;letter-spacing:-.03em;display:block}.class-row span{font-size:13px;color:var(--muted);display:block;margin-top:2px}.price-grid{display:grid;gap:12px}.price-card{padding:24px;background:var(--panel);border:1px solid var(--line);min-height:290px;display:flex;flex-direction:column}.price-card-accent{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.price-card-accent p,.price-card-accent .price-label{color:#394521}.price-label{margin:0 0 auto}.price{font-family:Manrope,Arial,sans-serif;font-size:46px;letter-spacing:-.06em;line-height:1;margin:25px 0 15px}.price small{font:500 14px Inter,Arial,sans-serif;letter-spacing:0}.price-card>p:not(.price-label){color:var(--muted);font-size:14px;max-width:340px;margin:0 0 24px;line-height:1.45}.price-card a{border-top:1px solid var(--line);padding-top:13px;font-size:13px;font-weight:500;display:flex;justify-content:space-between}.price-card-accent a{border-color:#718844}.team{padding-bottom:94px}.team-grid{display:grid;grid-template-columns:1fr;gap:28px}.coach{max-width:420px}.portrait{height:320px;background:var(--panel);border:1px solid var(--line);display:grid;place-items:end center;overflow:hidden}.portrait svg{width:80%;height:90%;fill:none;stroke:#a7aaa0;stroke-width:1.2}.portrait-a{background:#161915}.portrait-b{background:#141613}.portrait-c{background:#181a16}.coach-meta{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:12px;margin-top:10px}.coach-meta h3{font-family:Manrope,Arial,sans-serif;font-size:18px;margin:0}.coach-meta p{font-size:13px;color:var(--muted);margin:3px 0 0}.coach-meta>span{font-size:12px;color:#777b72}.trial{background:var(--accent);color:var(--accent-ink);padding:72px 0}.trial-inner{display:grid;grid-template-columns:1fr;gap:30px}.trial .section-index{color:#435220}.trial h2{font-size:clamp(45px,11vw,76px);margin:0 0 20px}.trial p{max-width:500px;font-size:16px;margin:0 0 28px;color:#313a1d}.button-dark{background:var(--bg);color:var(--text)}.faq{padding-bottom:92px}.faq-grid{display:grid;gap:20px}.faq h2{margin-top:22px}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-family:Manrope,Arial,sans-serif;font-size:17px;letter-spacing:-.025em;cursor:pointer}summary::-webkit-details-marker{display:none}summary span{font-family:Inter,Arial,sans-serif;font-size:24px;font-weight:400;color:#8d9188;transition:transform .2s}details[open] summary span{transform:rotate(45deg);color:var(--accent)}details p{color:var(--muted);font-size:15px;line-height:1.5;margin:0 34px 22px 0;max-width:620px}.location{padding:82px 0;border-bottom:1px solid var(--line);scroll-margin-top:78px}.location-grid{display:grid;gap:28px}.location h2{margin-bottom:20px}.demo-note{display:inline-block;color:var(--accent);border:1px solid #6d823d;padding:6px 8px}.location-card{background:var(--panel);border:1px solid var(--line)}.map-art{height:190px;border-bottom:1px solid var(--line);position:relative;overflow:hidden}.map-art svg{width:100%;height:100%;fill:none;stroke:#4a4e46;stroke-width:1}.map-art circle{fill:var(--accent);stroke:none}.map-art>span{position:absolute;right:14px;bottom:12px;font-size:11px;line-height:1.4;color:#777b72;text-align:right}.address{padding:22px}.address strong{display:block;font-family:Manrope,Arial,sans-serif;font-size:23px;letter-spacing:-.04em}.address>span{display:block;color:var(--muted);font-size:13px;margin-top:4px}.address>div{display:flex;gap:20px;margin-top:18px}.address a{text-decoration:underline;text-underline-offset:4px;font-size:14px}.hours{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:7px 20px;padding:18px 22px;font-size:13px}.hours span{color:var(--muted)}.hours b{font-weight:500;text-align:right}.site-footer{padding:45px 0 calc(105px + env(safe-area-inset-bottom));background:#080907}.footer-inner{display:grid;gap:28px}.footer-inner .brand{font-size:25px}.footer-inner>div>p{color:var(--muted);font-size:13px;margin:10px 0 0}.footer-contact{font-family:Manrope,Arial,sans-serif;font-size:29px;letter-spacing:-.05em;display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:16px}.footer-contact span{color:var(--accent)}.footer-bottom{display:flex;justify-content:space-between;gap:15px;color:#666a62;font-size:12px}.mobile-bar{position:fixed;z-index:60;left:0;right:0;bottom:0;padding:8px 10px calc(8px + env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr 1.35fr;gap:8px;background:rgba(11,12,10,.97);border-top:1px solid var(--line)}.mobile-bar a{min-height:46px;display:flex;align-items:center;justify-content:center;font-size:14px;border:1px solid var(--line)}.mobile-bar a:last-child{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
@media (min-width:560px){.shell{width:min(calc(100% - 48px),var(--max))}.hero{padding-top:48px}.hero-actions{flex-direction:row;align-items:center}.hero-art{min-height:400px}.hero-meta span:nth-child(2){display:block}.price-grid{grid-template-columns:repeat(3,1fr)}.team-grid{grid-template-columns:repeat(3,1fr);gap:16px}.portrait{height:280px}.trial-inner{grid-template-columns:160px 1fr}.location-grid{grid-template-columns:.8fr 1.2fr}.mobile-bar{display:none}.site-footer{padding-bottom:55px}}
@media (min-width:768px){:root{--header:76px}.site-header{height:76px}.header-inner{height:76px}.menu-toggle{display:none}.desktop-nav{display:flex;gap:22px;margin-left:auto}.desktop-nav a{font-size:12px;color:#b5b8ae}.header-cta{display:inline-flex;border:1px solid var(--line);min-height:42px;align-items:center;padding:0 14px}.mobile-menu{display:none}.hero{min-height:calc(100dvh - 76px);padding:55px 0 32px}.hero-grid{grid-template-columns:1.25fr .75fr;align-items:center;gap:45px}.hero-art{min-height:540px}.hero h1{margin-top:52px}.hero-meta{margin-top:35px}.manifesto{padding:110px 0}.manifesto-grid{grid-template-columns:160px 1fr;gap:60px}.section{padding:112px 0}.section-head h2,.faq h2,.location h2{margin-top:28px;margin-bottom:62px}.split{flex-direction:row;justify-content:space-between;align-items:end}.section-aside{margin:0 0 20px;text-align:right}.direction-item{grid-template-columns:55px 1fr 90px;padding:30px 0}.direction-item h3{font-size:29px}.direction-item p{font-size:15px}.direction-item.featured{padding-inline:20px;margin-inline:-20px}.day-tab{min-height:54px}.class-row{grid-template-columns:85px 1fr 100px;padding:25px 0}.class-row strong{font-size:19px}.price-card{min-height:350px;padding:30px}.price{font-size:57px}.team{padding-bottom:125px}.portrait{height:350px}.trial{padding:110px 0}.trial-inner{grid-template-columns:160px 1fr;gap:70px}.faq-grid{grid-template-columns:.7fr 1.3fr;gap:70px}.faq h2{margin-bottom:0}.location{padding:112px 0}.map-art{height:280px}.location-grid{gap:70px}.footer-inner{grid-template-columns:1fr 1fr;gap:45px}.footer-contact{font-size:36px}.footer-bottom{grid-column:1/-1}}
@media (min-width:1100px){.hero h1{font-size:86px}.hero-art{min-height:600px}.hero-grid{grid-template-columns:1.35fr .65fr}.manifesto-text{max-width:980px}.direction-list{margin-left:140px}.team-grid{gap:24px}.portrait{height:400px}.location-grid{grid-template-columns:.7fr 1.3fr}}
@media (max-width:330px){.shell{width:calc(100% - 24px)}.header-inner{gap:10px}.brand{font-size:20px}.hero h1{font-size:43px}.hero-lead{font-size:16px}.hero-meta{width:calc(100% - 24px);font-size:10px}.hero-meta span:last-child{display:none}.direction-item{grid-template-columns:30px 1fr}.direction-tag{display:none}.day-tab{font-size:12px}.class-row{grid-template-columns:50px 1fr}.class-row b{display:none}.price{font-size:42px}.footer-contact{font-size:25px}.footer-bottom{font-size:11px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* a11y-tapfix: min 44px tap zones (audit fix, no visual change) */
.brand{min-height:44px;display:inline-flex;align-items:center}.address a{min-height:44px;display:inline-flex;align-items:center}
/* tapfix2 */
.price-card a{min-height:44px}.footer-bottom a{min-height:44px;display:inline-flex;align-items:center}

/* hero-band: full-width statement, art as wide band below (redesign) */
.hero-grid{grid-template-columns:minmax(0,1fr)}
.hero-copy{max-width:none}
.hero h1{max-width:none}
.hero-art{min-height:300px}
@media (min-width:768px){.hero-art{min-height:340px}}
@media (min-width:1100px){.hero-grid{grid-template-columns:minmax(0,1fr)}.hero-art{min-height:380px}}
