:root{--ink:#1a1a1a;--charcoal:#2d2d2d;--charcoal-2:#3a3a3a;--red:#c02030;--red-dk:#9c1a27;--red-bright:#ff6b78;--bg:#ffffff;--bg-alt:#f5f5f5;--line:#e2e2e2;--text:#2d2d2d;--text-mute:#5c5c5c;--on-dark:#f7f7f7;--on-dark-mute:#c9c9c9;--wrap:1200px;--radius:10px;--step--1:clamp(.83rem,.8rem + .15vw,.9rem);--step-0:clamp(1rem,.96rem + .2vw,1.09rem);--step-1:clamp(1.2rem,1.1rem + .5vw,1.5rem);--step-2:clamp(1.5rem,1.3rem + 1vw,2.1rem);--step-3:clamp(1.9rem,1.5rem + 1.9vw,3rem);--step-4:clamp(2.3rem,1.7rem + 3vw,4.2rem);--sp:clamp(3rem,2rem + 4vw,6rem)}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}body{font-family:Ubuntu,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:var(--step-0);line-height:1.65;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}img,picture,svg,video{display:block;max-width:100%;height:auto}a{color:inherit}h1,h2,h3,h4,h5,h6{line-height:1.12;text-wrap:balance;font-weight:700}p{text-wrap:pretty}:focus-visible{outline:3px solid var(--red);outline-offset:3px;border-radius:3px}.section--dark :focus-visible,.band :focus-visible{outline-color:var(--red-bright)}.band :focus-visible{outline-color:#fff}.wrap{width:min(100% - 2.5rem,var(--wrap));margin-inline:auto}.section{padding-block:var(--sp)}.section--alt{background:var(--bg-alt)}.section--dark{background:var(--charcoal);color:var(--on-dark)}.section--dark p{color:var(--on-dark-mute)}.stack>*+*{margin-top:1rem}.center{text-align:center}.grid{display:grid;gap:clamp(1rem,2vw,2rem)}.eyebrow{font-size:var(--step--1);letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--red)}.section--dark .eyebrow{color:var(--red-bright)}.h-xl{font-size:var(--step-4);text-transform:uppercase;letter-spacing:-.01em}.h-lg{font-size:var(--step-3);text-transform:uppercase}.h-md{font-size:var(--step-2)}.h-sm{font-size:var(--step-1)}.lead{font-size:var(--step-1);color:var(--text-mute);line-height:1.5}.section--dark .lead{color:var(--on-dark-mute)}.rule{width:64px;height:4px;background:var(--red);border:0;margin:1.1rem 0}.section--dark .rule{background:var(--red-bright)}.center .rule{margin-inline:auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.85rem 1.6rem;border:2px solid transparent;border-radius:var(--radius);font-weight:700;font-size:var(--step--1);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:transform .15s ease,background-color .15s ease,color .15s ease;min-height:48px}.btn:hover{transform:translateY(-2px)}.btn--primary{background:var(--red);color:#fff}.btn--primary:hover{background:var(--red-dk)}.btn--dark{background:var(--charcoal);color:#fff}.btn--dark:hover{background:var(--ink)}.btn--ghost{border-color:currentColor;background:transparent}.btn--onred{background:#fff;color:var(--red)}.btn--onred:hover{background:var(--bg-alt);color:var(--red-dk)}.btn--ghost:hover{background:var(--red);color:#fff;border-color:var(--red)}.btn-row{display:flex;flex-wrap:wrap;gap:.75rem}.center .btn-row{justify-content:center}html{--hdr-h:72px}html.nav-locked{overflow:hidden}.hdr{position:sticky;top:0;z-index:50;background:#fff;color:var(--text);border-bottom:1px solid var(--line);transition:border-color .2s}.hdr.has-sheet{border-bottom-color:transparent}.hdr__inner{display:flex;align-items:center;gap:1rem;min-height:72px}.hdr__logo{display:flex;align-items:center;flex:0 0 auto}.hdr__logo img{width:auto;height:44px;object-fit:contain}.hdr__nav{margin-left:auto;display:flex;align-items:center;gap:.35rem}.hdr__nav>a{padding:.55rem .8rem;border-radius:6px;text-decoration:none;font-weight:500;font-size:var(--step--1);color:var(--text)}.hdr__nav>a:hover,.hdr__nav>a[aria-current=page]{background:var(--bg-alt);color:var(--ink)}.hdr__nav>a[aria-current=page]{box-shadow:inset 0 -3px 0 var(--red);font-weight:700}.hdr__cta{margin-left:.5rem}.burger{display:none;margin-left:auto;align-items:center;gap:.55rem;background:transparent;border:0;padding:.5rem .25rem;cursor:pointer;color:var(--ink);font:inherit;min-height:48px}.burger__label{font-size:var(--step--1);font-weight:700;text-transform:uppercase;letter-spacing:.1em}.burger__box{position:relative;width:22px;height:16px;flex:0 0 auto}.burger__box:before,.burger__box:after,.burger__line{content:"";position:absolute;left:0;width:100%;height:2px;border-radius:2px;background:currentColor;transition:transform .28s cubic-bezier(.2,.8,.3,1),opacity .18s linear}.burger__box:before{top:0}.burger__line{top:7px}.burger__box:after{bottom:0}.burger.is-open .burger__box:before{transform:translateY(7px) rotate(45deg)}.burger.is-open .burger__line{opacity:0;transform:scaleX(.4)}.burger.is-open .burger__box:after{transform:translateY(-7px) rotate(-45deg)}.sheet{position:fixed;inset:var(--hdr-h) 0 0;background:#fff;z-index:49;display:flex;flex-direction:column;justify-content:space-between;padding:1.25rem clamp(1.25rem,5vw,2rem) calc(1.5rem + env(safe-area-inset-bottom));overflow-y:auto}.sheet[hidden]{display:none}.sheet.is-open{animation:sheetDrop .22s ease}@keyframes sheetDrop{0%{transform:translateY(-10px)}to{transform:none}}.sheet__nav{display:flex;flex-direction:column}.sheet__nav a{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.15rem .25rem;text-decoration:none;color:var(--ink);font-size:var(--step-2);font-weight:700;line-height:1.15;border-bottom:1px solid var(--line)}.sheet.is-open .sheet__nav a{animation:sheetIn .38s cubic-bezier(.2,.8,.3,1) backwards;animation-delay:calc(50ms + var(--n) * 45ms)}.sheet__nav a svg{width:22px;height:22px;flex:0 0 auto;color:var(--red);transition:transform .2s ease}.sheet__nav a:hover svg,.sheet__nav a:focus-visible svg{transform:translate(4px)}.sheet__nav a[aria-current=page]{color:var(--red)}.sheet__foot{padding-top:1.75rem}.sheet.is-open .sheet__foot{animation:sheetIn .34s cubic-bezier(.2,.8,.3,1) backwards;animation-delay:calc(50ms + var(--n) * 45ms)}.sheet__foot .btn{width:100%}.sheet__meta{margin-top:1rem;text-align:center;font-size:var(--step--1);color:var(--text-mute)}.sheet__meta a{color:var(--text-mute);text-decoration:none}.sheet__meta a:hover{color:var(--red);text-decoration:underline}@keyframes sheetIn{0%{transform:translateY(14px) scale(.985)}to{transform:none}}@media(prefers-reduced-motion:reduce){.sheet.is-open,.sheet.is-open .sheet__nav a,.sheet.is-open .sheet__foot{animation:none}}@media(max-width:900px){.burger{display:flex}.hdr__nav{display:none}}@media(min-width:901px){.sheet{display:none}}.hero{position:relative;display:grid;isolation:isolate;overflow:hidden;background:var(--charcoal);color:#fff;min-height:min(80vh,780px)}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--hero-pos,50% 30%);opacity:.42}.hero__body{grid-area:1/1;display:flex;flex-direction:column;justify-content:center;padding-block:clamp(4rem,10vw,8.5rem);position:relative}.hero__body:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#1a1a1a8c,#1a1a1abf)}.hero h1{max-width:22ch}.h1-kicker{display:block;margin-bottom:.7rem;color:#e8e8e8;font-size:var(--step--1);font-weight:700;letter-spacing:.16em;text-transform:uppercase;line-height:1.4}.hero p{max-width:56ch;color:#e8e8e8}.cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}.card__media{aspect-ratio:16/10;overflow:hidden;background:var(--bg-alt)}.card__media img{width:100%;height:100%;object-fit:cover}.card__body{padding:1.5rem;display:flex;flex-direction:column;gap:.75rem;flex:1}.card__body .btn-row{margin-top:auto;padding-top:.5rem}.values{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));text-align:center}.value{padding:1.75rem 1.25rem;border:1px solid rgba(255,255,255,.16);border-radius:var(--radius)}.value__n{font-size:var(--step-3);color:var(--red-bright);font-weight:700;line-height:1}.value h3{margin-top:.6rem;font-size:var(--step-1);text-transform:uppercase}.team{grid-template-columns:repeat(auto-fill,minmax(min(100%,190px),1fr))}.coach{text-align:center}.coach__img{aspect-ratio:1;border-radius:var(--radius);overflow:hidden;background:var(--bg-alt);border:1px solid var(--line)}.coach__img img{width:100%;height:100%;object-fit:cover}.coach h3{margin-top:.75rem;font-size:var(--step-0);text-transform:uppercase}.coach p{font-size:var(--step--1);color:var(--text-mute)}.filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.filters button{padding:.55rem 1.1rem;border:2px solid var(--line);background:#fff;border-radius:999px;font:inherit;font-size:var(--step--1);font-weight:600;cursor:pointer;min-height:44px;transition:background-color .15s,border-color .15s,color .15s}.filters button:hover{border-color:var(--charcoal)}.filters button[aria-pressed=true]{background:var(--charcoal);border-color:var(--charcoal);color:#fff}.table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:#fff}table{width:100%;border-collapse:collapse;min-width:520px}caption{text-align:left;padding:1rem 1.25rem;font-weight:700;border-bottom:1px solid var(--line)}th,td{padding:.9rem 1.25rem;text-align:left;border-bottom:1px solid var(--line);font-size:var(--step-0)}thead th{background:var(--charcoal);color:#fff;font-size:var(--step--1);text-transform:uppercase;letter-spacing:.08em}tbody tr:last-child td{border-bottom:0}tbody tr:nth-child(2n){background:#fafafa}td .note{display:inline-block;margin-left:.5rem;padding:.15rem .5rem;background:var(--bg-alt);border-radius:999px;font-size:var(--step--1);color:var(--text-mute)}.faq{max-width:820px;margin-inline:auto}.faq details{border:1px solid var(--line);border-radius:var(--radius);background:#fff;margin-bottom:.75rem}.faq summary{padding:1.15rem 1.35rem;font-weight:700;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem;align-items:center;min-height:56px}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-size:1.6rem;line-height:1;color:var(--red);flex:0 0 auto}.faq details[open] summary:after{content:"–"}.faq details[open] summary{border-bottom:1px solid var(--line)}.faq div{padding:1.15rem 1.35rem;color:var(--text-mute)}.split{display:grid;gap:clamp(1.5rem,4vw,3.5rem);align-items:center;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}.split img{border-radius:var(--radius);width:100%}.checks{list-style:none;padding:0}.checks li{position:relative;padding-left:1.9rem;margin-bottom:.7rem}.checks li:before{content:"";position:absolute;left:0;top:.5em;width:.7rem;height:.7rem;background:var(--red);border-radius:2px;transform:rotate(45deg)}.section--dark .checks li:before{background:var(--red-bright)}.creds{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.creds li{background:var(--bg-alt);border:1px solid var(--line);border-radius:999px;padding:.3rem .85rem;font-size:var(--step--1);font-weight:600}.trainers{display:grid;gap:clamp(1.5rem,3vw,2.5rem)}.trainer{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.25rem,2.5vw,2rem);display:flex;flex-direction:column}.trainer__img{aspect-ratio:4/5;overflow:hidden;border-radius:var(--radius);background:var(--bg-alt);margin-bottom:1.25rem}.trainer__img img{width:100%;height:100%;object-fit:cover;object-position:center top}.trainer__body{display:flex;flex-direction:column;flex:1}.trainer__name{text-transform:uppercase;margin-bottom:.3rem}.trainer__role{margin-bottom:0}.trainer p{margin-bottom:.9rem}.trainer__sub{font-size:var(--step-0);text-transform:uppercase;letter-spacing:.08em;color:var(--ink);margin:.25rem 0 .85rem}.trainer__prog{margin-bottom:1.1rem}.trainer__prog:last-child{margin-bottom:0}.trainer__prog h5{font-size:var(--step-0);color:var(--red);margin-bottom:.3rem}.trainer__prog p{color:var(--text-mute)}.trainer__cta{margin-top:auto;padding-top:1.5rem}.trainer__cta[hidden]{display:none}.trainer__progcta{margin-top:.85rem;font-size:var(--step--1);padding:.7rem 1.2rem}.trainer__cta .btn{width:100%}@media(min-width:880px){.trainer{display:grid;grid-template-columns:380px minmax(0,1fr);gap:clamp(1.75rem,3vw,3rem);align-items:start}.trainer__img{margin-bottom:0;position:sticky;top:96px}.trainer:nth-child(2n){grid-template-columns:minmax(0,1fr) 380px}.trainer:nth-child(2n) .trainer__img{order:2}.trainer:nth-child(2n) .trainer__body{order:1}.trainer__cta .btn{width:auto}}.band{background:var(--red);color:#fff;text-align:center}.band h2{font-size:var(--step-3);text-transform:uppercase}.band p{max-width:60ch;margin-inline:auto;color:#fff}.band .btn--ghost:hover{background:#fff;color:var(--red);border-color:#fff}.ftr{background:#fff;color:var(--text);border-top:1px solid var(--line);padding-block:clamp(2.5rem,5vw,4rem) 1.5rem}.ftr a{color:var(--text-mute);text-decoration:none}.ftr a:hover{color:var(--red);text-decoration:underline}.ftr__grid{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}.ftr h2,.ftr h3{font-size:var(--step-0);text-transform:uppercase;letter-spacing:.08em;color:var(--ink);margin-bottom:.9rem}.ftr ul{list-style:none;padding:0}.ftr li{margin-bottom:.15rem}.ftr li a{display:inline-block;padding:.45rem 0;min-height:24px}@media(pointer:coarse){.ftr li{margin-bottom:.35rem}.ftr li a{padding:.6rem 0;min-height:44px;display:flex;align-items:center}}.ftr__logo img{height:52px;width:auto;object-fit:contain;margin-bottom:1rem}.ftr__btm{margin-top:2.5rem;padding-top:1.25rem;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;justify-content:space-between;font-size:var(--step--1);color:var(--text-mute)}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;z-index:100;background:var(--red);color:#fff;padding:.75rem 1.25rem;border-radius:6px;font-weight:700}.ftr__loc[data-astro-cid-sz7xmlte]{margin-bottom:1rem}.ftr__loc[data-astro-cid-sz7xmlte] strong[data-astro-cid-sz7xmlte]{display:block;color:var(--ink)}.ftr__hours[data-astro-cid-sz7xmlte]{margin-top:2.5rem;padding-top:1.75rem;border-top:1px solid var(--line)}.ftr__hoursnote[data-astro-cid-sz7xmlte]{font-size:var(--step--1);color:var(--text-mute);margin-bottom:1.25rem}.ftr__hoursnote[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{color:var(--red);font-weight:600}.ftr__hoursgrid[data-astro-cid-sz7xmlte]{display:grid;gap:1.5rem 2.5rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}.ftr__hoursgrid[data-astro-cid-sz7xmlte] h3[data-astro-cid-sz7xmlte]{margin-bottom:.6rem}.ftr__hoursrow[data-astro-cid-sz7xmlte]{display:grid;grid-template-columns:5.5rem 1fr;gap:.5rem;padding:.28rem 0;font-size:var(--step--1)}.ftr__hoursrow[data-astro-cid-sz7xmlte] dt[data-astro-cid-sz7xmlte]{font-weight:700;color:var(--ink)}.ftr__hoursrow[data-astro-cid-sz7xmlte] dd[data-astro-cid-sz7xmlte]{margin:0;color:var(--text-mute)}.ftr__hours[data-astro-cid-sz7xmlte] dl[data-astro-cid-sz7xmlte]{margin:0}.ftr__social[data-astro-cid-sz7xmlte]{display:flex;gap:.5rem;margin-top:.25rem}.ftr__social[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{display:inline-flex;align-items:center;gap:.45rem;min-height:44px;padding:.5rem .75rem;border-radius:var(--radius);color:var(--text-mute);text-decoration:none;font-size:var(--step--1);font-weight:600}.ftr__social[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--red);background:var(--bg-alt);text-decoration:none}.ftr__social[data-astro-cid-sz7xmlte] svg[data-astro-cid-sz7xmlte]{width:18px;height:18px;flex:0 0 auto}.ftr__loc[data-astro-cid-sz7xmlte] span[data-astro-cid-sz7xmlte]{display:block;font-size:var(--step--1);color:var(--text-mute)}
