:root{color-scheme:light;--ink:#141824;--muted:#555b64;--line:#dedede;--yellow:#f5d45b;--black:#000;--width:1088px;font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;color:var(--ink);background:#fff;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-width:320px}a{color:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button{font:inherit}button,a,summary{touch-action:manipulation}img{max-width:100%;display:block}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #bc8d00;outline-offset:6px}::selection{background:var(--yellow);color:#111}.skip-link{position:fixed;left:20px;top:-80px;background:#000;color:#fff;padding:16px;z-index:100}.skip-link:focus{top:10px}
.header{height:64px;padding:8px 40px;display:flex;align-items:center;justify-content:space-between;gap:24px;position:fixed;top:0;left:0;width:100%;z-index:20;background:rgba(255,255,255,.98);transition:box-shadow .2s}.header.scrolled{box-shadow:0 2px 12px #0000000d}.brand{display:flex;align-items:center;gap:16px;text-decoration:none;color:#000;white-space:nowrap}.brand img{width:48px;height:48px;object-fit:contain}.brand span{font-size:24px;font-weight:700;letter-spacing:-.8px;margin-left:4px}.header nav{display:flex;gap:40px;align-items:center}.header nav a{text-decoration:none;text-transform:uppercase;font-size:16px;font-weight:700;letter-spacing:1.4px;padding:10px 0;position:relative;color:#000}.header nav a:after{position:absolute;content:"";height:1px;background:currentColor;bottom:3px;left:0;width:100%;transform:scaleX(0);transition:transform .18s}.header nav a:hover:after,.header nav a[aria-current=page]:after{transform:scaleX(1)}.menu-toggle{display:none}
main{padding-top:64px;min-height:calc(100vh - 93px)}main:focus{outline:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.06;letter-spacing:-1.5px}h1{font-size:48px;font-weight:800}h2{font-size:46px;font-weight:800}h3{font-size:30px}p{font-size:18px;line-height:1.65;color:var(--muted)}.wrap{max-width:var(--width);width:calc(100% - 64px);margin-inline:auto}.narrow{max-width:960px}.eyebrow{font-size:14px;letter-spacing:.4px;text-transform:uppercase;font-weight:400;line-height:1.6}.cta{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;border:2px solid #000;padding:22px 32px;min-height:64px;text-decoration:none;gap:5px;background:#fff;color:var(--ink);text-align:center;transition:background .18s,color .18s,transform .18s}.cta strong{font-size:20px;font-weight:800;letter-spacing:.2px;line-height:1.3}.cta span{font-size:14px;font-weight:400;line-height:1.3;color:var(--muted)}.cta:hover{background:#000;color:#fff}.cta:hover span{color:#ddd}.cta:active{transform:translateY(1px)}.cta.dark{background:#000;color:#fff}.cta.dark:hover{background:#242424}.cta.inverse{color:#fff;border-color:#fff;background:transparent}.cta.inverse:hover{background:#fff;color:#000}.cta.single{font-size:18px;font-weight:700;flex-direction:row;gap:12px;padding:18px 24px}.icon{width:24px;height:24px;flex:none;vertical-align:middle}
.hero{text-align:center;padding:103px 24px 0}.hero .eyebrow{margin-bottom:25px}.hero h1{font-size:72px;font-weight:900;letter-spacing:-2.8px;margin-bottom:30px;line-height:1.02}.hero .intro{max-width:740px;margin:0 auto 46px;line-height:1.55}.hero .cta{min-width:520px}.hero-image{width:calc(100% - 64px);max-width:974px;aspect-ratio:16/9;object-fit:cover;margin:104px auto 0}.welcome{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:104px;margin-bottom:64px;text-align:center}.welcome h2{margin-bottom:24px}.welcome p{margin-bottom:24px}.welcome .cta{width:100%;margin-top:14px}.schedule-callout{background:#000;color:#fff;min-height:500px;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:48px 32px;gap:36px}.schedule-callout h2{font-size:36px;line-height:1.35;letter-spacing:-.7px;margin:0}.schedule-callout .cta{width:auto;margin:0}
.programs{background:#000;color:#fff;padding:64px 0}.program-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.program{background:#0b0b0b;border:1px solid #292929;padding:42px 40px;text-align:center}.program .overline{letter-spacing:4px;font-size:20px;font-weight:400;color:#ccc}.program h2{font-size:36px;font-style:italic;letter-spacing:-1.4px;margin:8px 0 32px}.program p{font-size:16px;color:#ccc;line-height:1.7;margin-bottom:20px}.program p:last-child{margin:0}.overview{padding-top:72px;padding-bottom:64px}.overview h2{font-style:italic;line-height:1.24;margin-bottom:30px}.overview p{margin-bottom:24px}.overview .cta{margin-top:14px;min-width:575px;padding:27px 34px}.faq{padding-top:60px;padding-bottom:64px}.faq h2{font-style:italic;text-align:center;margin-bottom:32px}.faq details{border:1px solid var(--line);margin-bottom:16px}.faq summary{display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;list-style:none;font-size:20px;font-weight:700;padding:24px;line-height:1.4}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"";width:8px;height:8px;flex:none;transform:rotate(45deg);border-bottom:2px solid currentColor;border-right:2px solid currentColor;transition:transform .2s;margin-right:6px}.faq details[open] summary:after{transform:rotate(225deg)}.faq details p{font-size:16px;padding:0 24px 24px;margin:0}.contact-strip{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;background:#000;color:#fff}.contact-strip a{padding:48px 20px;text-decoration:none;display:block;transition:background .18s}.contact-strip a:nth-child(2){color:#000;background:#fff}.contact-strip h3{font-size:30px;font-style:italic;margin-bottom:20px;letter-spacing:-.5px}.contact-strip .icon{margin-right:14px}.contact-strip span{font-size:28px;line-height:1.4;word-break:break-word}.contact-strip a:hover{background:#242424}.contact-strip a:nth-child(2):hover{background:#f3f3f3}.social-footer{background:#000;color:#fff;padding:65px 24px;text-align:center}.social-footer>span{font-size:60px;display:block;margin-bottom:30px}.social-footer a{width:60px;height:60px;border-radius:50%;border:1px solid #252525;display:inline-flex;align-items:center;justify-content:center;transition:background .2s}.social-footer a:hover{background:#222}.social-footer .icon{width:28px;height:28px}.footer{border-top:1px solid #202020;text-align:center;padding:26px 24px;display:flex;gap:10px;justify-content:center;flex-wrap:wrap;color:#777;font-size:13px;margin-top:32px;line-height:1.6}.replica-note{font-size:12px}.replica-note:before{content:"·";margin-right:10px}.replica-note a{text-underline-offset:3px}.noscript{max-width:600px;margin:40px auto}
.page{padding:126px 0 32px;text-align:center}.page h1{margin-bottom:20px}.page .lead{margin-bottom:48px;font-size:20px}.about-page .lead{font-size:18px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.about-card{border:1px solid #ddd;padding:32px 34px 40px;display:flex;align-items:center;flex-direction:column}.coach-photo{width:160px;height:160px;border-radius:50%;object-fit:cover;object-position:50% 22%;margin-bottom:24px}.about-card .eyebrow{font-size:12px;letter-spacing:2px;color:#777;margin-bottom:10px}.about-card h2{font-size:32px;margin-bottom:22px}.about-card p{font-size:16px;line-height:1.75}.checkmat-large{height:64px;width:64px;object-fit:contain;margin-bottom:20px}.about-card .cta{margin-top:auto;min-height:50px;font-size:15px;padding:15px 22px}.badge{background:#000;color:#fff;display:inline-block;padding:12px 18px;font-size:14px;line-height:1.4;margin-bottom:26px}.about-actions{display:flex;gap:16px;justify-content:center;margin:40px 0 12px;flex-wrap:wrap}
.schedule-page{padding-top:65px;max-width:1152px}.schedule-page h1{font-size:24px;letter-spacing:-1px;margin-bottom:30px;color:#000}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:16px;min-height:470px}.day h2{font-size:14px;letter-spacing:1px;text-transform:uppercase;color:#777;margin:0 0 22px;font-weight:800}.class-card{border:1px solid #ddd;padding:18px 8px 14px;text-align:center;box-shadow:0 1px 3px #0002;margin-bottom:16px;min-height:94px}.class-card time{display:block;font-family:monospace;font-size:11px;letter-spacing:1.2px;color:#666;white-space:nowrap;margin-bottom:9px}.class-card h3{font-size:18px;letter-spacing:-.3px;margin-bottom:4px;font-weight:800}.class-card p{font-size:12px;line-height:1.2;text-transform:uppercase;letter-spacing:1px;margin:0}.empty-day{border:1px dashed #ddd;padding:24px 5px;color:#777;font-size:14px;line-height:1.5}.day-picker{display:none}.schedule-note{font-size:13px;margin:0 auto 16px}.schedule-note a{text-underline-offset:3px}.mobile-day-label{display:none}
.contact-page .contact-lines{font-size:18px;line-height:2;color:#4b5563;margin:20px 0}.contact-lines a{color:#4259c1;text-decoration:none;overflow-wrap:anywhere}.contact-lines a:hover{text-decoration:underline}.map-card{padding:24px;border-radius:16px;box-shadow:0 4px 20px #00000007;margin:10px auto 0}.map-card h2{font-size:20px;letter-spacing:-.4px;color:#404650}.map-card p{font-size:14px;line-height:1.7;margin:28px 0 24px}.map-frame{width:100%;height:400px;border:0;border-radius:14px;background:#f2f3f3;display:block}.map-link{display:inline-block;margin-top:20px;font-size:14px;text-underline-offset:4px}.book-page{max-width:832px}.book-page h1{color:#000}.book-block{background:#000;color:#fff;border-radius:16px;padding:36px 32px;box-shadow:0 6px 12px #0002;margin-bottom:40px}.book-block h2{font-size:24px;letter-spacing:-.7px;margin-bottom:24px}.book-block p,.book-block li{color:#ddd;font-size:16px;line-height:1.7;margin-bottom:0}.book-block ul{list-style:none;padding:0;margin:0}.book-block li+li{margin-top:14px}.book-block li:before{content:"• ";color:#fff}.book-block .contact-lines{margin:20px 0 0}.book-block .contact-lines a{color:#fff;text-decoration:underline;text-underline-offset:4px}.not-found{min-height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center}.not-found p{max-width:500px}
.brand img:nth-child(2){border-radius:50%}.hero-image{height:auto}.coach-photo{object-position:50% 60%}
@media(min-width:1600px){.header{padding-inline:max(40px,calc((100vw - 1440px)/2))}}
@media(max-width:1023px){.header{padding-inline:24px}.header nav{gap:24px}.header nav a{font-size:14px}.brand{gap:10px}.brand span{font-size:21px}.brand img{width:42px;height:42px}.hero h1{font-size:60px}.week-grid{gap:10px}.class-card h3{font-size:15px}.class-card time{font-size:10px;letter-spacing:0}.welcome h2{font-size:38px}.program{padding:32px 24px}.program h2{font-size:30px}.contact-strip span{font-size:22px}.contact-strip h3{font-size:24px}}
@media(max-width:767px){.header{height:72px;padding:12px 20px;gap:12px}.brand{gap:8px}.brand img{width:36px;height:36px}.brand span{font-size:18px;letter-spacing:-.6px;margin-left:2px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;align-items:center;width:44px;height:44px;background:none;border:0;color:#000;padding:10px;margin-right:-8px}.menu-toggle span{height:2px;width:24px;background:#000;transition:transform .2s}.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)}.header nav{position:absolute;top:72px;left:0;right:0;display:none;background:#fff;border-bottom:1px solid #ddd;box-shadow:0 14px 20px #0000000a;padding:14px 24px 24px;gap:0;flex-direction:column;align-items:stretch}.header nav.open{display:flex}.header nav a{padding:16px;font-size:15px;text-align:center}.header nav a:after{display:none}.header nav a[aria-current=page]{background:#f4f4f4}main{padding-top:72px}.wrap{width:calc(100% - 40px)}h1{font-size:36px}h2{font-size:34px}p{font-size:17px;line-height:1.7}.hero{padding:65px 20px 0}.hero .eyebrow{font-size:11px;letter-spacing:.5px;margin-bottom:24px}.hero h1{font-size:42px;line-height:1.08;letter-spacing:-1.8px;margin-bottom:24px}.hero .intro{font-size:16px;margin-bottom:30px;line-height:1.65}.hero .cta{min-width:0;width:100%;padding:19px 16px}.cta strong{font-size:16px;line-height:1.4}.cta span{font-size:13px}.hero-image{width:calc(100% - 40px);margin-top:56px;aspect-ratio:4/3}.welcome{grid-template-columns:1fr;gap:32px;margin-top:56px;margin-bottom:40px}.welcome h2{font-size:36px}.welcome p{font-size:16px}.schedule-callout{min-height:320px;padding:35px 20px;gap:28px}.schedule-callout h2{font-size:28px}.cta.single{font-size:15px;padding:18px 14px}.programs{padding:40px 0}.program-grid{grid-template-columns:1fr;gap:24px}.program{padding:32px 24px}.program .overline{font-size:16px}.program h2{font-size:28px;margin-bottom:25px}.overview{padding-top:48px;padding-bottom:36px}.overview h2{font-size:32px}.overview p{font-size:16px}.overview .cta{min-width:0;width:100%;padding:20px 16px}.faq{padding-top:32px;padding-bottom:40px}.faq h2{font-size:32px}.faq summary{font-size:16px;padding:20px;gap:18px}.faq details p{padding:0 20px 20px;font-size:15px}.contact-strip{grid-template-columns:1fr}.contact-strip a{padding:34px 20px}.contact-strip h3{font-size:26px;margin-bottom:15px}.contact-strip span{font-size:24px}.social-footer{padding:48px 20px}.social-footer>span{font-size:48px;margin-bottom:24px}.footer{flex-direction:column;padding:24px 20px;margin-top:24px}.replica-note:before{display:none}.page{padding-top:64px}.page .lead{font-size:17px;margin-bottom:32px}.about-grid{grid-template-columns:1fr;gap:24px}.about-card{padding:28px 24px}.about-card h2{font-size:28px}.about-actions{flex-direction:column;margin-top:24px}.schedule-page{padding-top:40px}.schedule-page h1{font-size:28px;margin-bottom:28px}.day-picker{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-bottom:26px}.day-picker button{min-height:44px;background:white;border:1px solid #ddd;font-size:12px;font-weight:700;color:#666;letter-spacing:.3px;padding:4px}.day-picker button[aria-pressed=true]{background:#000;color:#fff;border-color:#000}.week-grid{display:block;min-height:0}.day{display:none}.day.selected{display:block}.day h2{display:none}.mobile-day-label{display:block!important;font-size:16px!important;text-align:left;margin-bottom:16px!important;letter-spacing:0!important;text-transform:none!important;color:#111!important}.class-card{padding:20px;box-shadow:none;min-height:105px}.class-card time{font-size:12px;letter-spacing:1px;margin-bottom:8px}.class-card h3{font-size:21px;margin-bottom:7px}.class-card p{font-size:12px}.empty-day{padding:44px 16px;margin-bottom:30px}.schedule-note{margin:28px 0 16px;font-size:13px}.contact-page .contact-lines{font-size:16px;line-height:2.2}.map-card{padding:20px 12px}.map-frame{height:330px}.map-card p{margin:20px 0}.book-page h1{font-size:36px}.book-block{padding:28px 22px;margin-bottom:24px}.book-block h2{font-size:23px}.book-block p,.book-block li{font-size:15px}.book-block .contact-lines{font-size:14px}.not-found{padding:40px 0}.not-found h1{font-size:32px}}
@media(max-width:360px){.header{padding-inline:14px}.brand img{width:30px;height:30px}.brand span{font-size:16px}.hero h1{font-size:36px}.wrap{width:calc(100% - 32px)}.hero{padding-inline:16px}.hero-image{width:calc(100% - 32px)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
:is(.footer,.about-card .eyebrow,.day h2,.empty-day){color:var(--muted)}
.open-mat-notice{border:1px dashed var(--line);padding:20px 10px;margin-bottom:16px}.open-mat-notice h3{font-size:18px;letter-spacing:-.3px;margin-bottom:12px}.open-mat-notice p{font-size:13px;line-height:1.6;margin:0}.schedule-legend{max-width:900px;margin:24px auto;border-top:1px solid var(--line);padding-top:20px;text-align:left}.schedule-legend p{font-size:14px;line-height:1.65;margin-bottom:12px}.schedule-legend strong{color:var(--ink)}
@media(min-width:768px) and (max-width:1023px){.day-picker{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-bottom:26px}.day-picker button{min-height:44px;background:white;border:1px solid var(--line);font-size:14px;font-weight:700;color:var(--muted);letter-spacing:.3px;padding:4px}.day-picker button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.week-grid{display:block;min-height:0}.day{display:none}.day.selected{display:block}.day h2{display:none}.mobile-day-label{display:block!important;font-size:18px!important;text-align:left;margin-bottom:16px!important;letter-spacing:0!important;text-transform:none!important;color:var(--ink)!important}.class-card{padding:20px;box-shadow:none;min-height:105px}.class-card time{font-size:12px;letter-spacing:1px;margin-bottom:8px}.class-card h3{font-size:21px;margin-bottom:7px}.class-card p{font-size:12px}.empty-day{padding:44px 16px;margin-bottom:30px}}
