:root{color-scheme:light;--bg:#f7f7f5;--surface:#fff;--surface-2:#edeeec;--text:#191b20;--muted:#5d6169;--line:#d5d7d8;--accent:#b82134;--accent-hover:#9f182b;--inverse:#191b20;--inverse-text:#fff;--hero-panel:var(--bg);--photo-filter:grayscale(.25) contrast(1.08);scroll-behavior:smooth}
:root[data-theme="dark"]{color-scheme:dark;--bg:#101114;--surface:#1a1c20;--surface-2:#23262a;--text:#f3f3f0;--muted:#adb0b6;--line:#3a3d43;--accent:#ec4358;--accent-hover:#ff6376;--inverse:#efefec;--inverse-text:#191b20;--hero-panel:var(--bg);--photo-filter:grayscale(.25) contrast(1.1)}
*{box-sizing:border-box}html{scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.55;overflow-x:hidden}button,a{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}::selection{background:var(--accent);color:white}.container{width:min(100% - 48px,1320px);margin-inline:auto}.skip-link{position:absolute;left:12px;top:-60px;z-index:100;padding:8px 14px;background:var(--text);color:var(--bg)}.skip-link:focus{top:12px}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.announcement{background:var(--accent);color:#fff;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.announcement-inner{min-height:34px;display:flex;align-items:center;gap:11px}.announcement-dot{width:7px;height:7px;border-radius:50%;background:#fff}.announcement a{margin-left:auto;text-transform:none;letter-spacing:.02em;border-bottom:1px solid #fff8}.announcement a:hover{border-color:#fff}
.site-header{position:sticky;top:0;z-index:50;background:var(--bg);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}.header-inner{min-height:82px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:10px;flex:none}.brand-mark{width:52px;height:52px;display:grid;place-items:center}.brand-mark img{width:52px;height:52px;object-fit:contain}.brand-name{display:block;font-size:1.09rem;font-weight:800;letter-spacing:-.035em;line-height:1}.brand-name strong{font-weight:900}.brand-name small{display:block;margin-top:5px;font-size:.57rem;letter-spacing:.21em;font-weight:700;color:var(--muted)}.main-nav{display:flex;align-items:center;gap:clamp(15px,2vw,30px);margin-left:auto}.main-nav a{font-size:.83rem;font-weight:800;text-transform:uppercase;letter-spacing:.045em;white-space:nowrap;transition:color .2s}.main-nav a:hover{color:var(--accent)}.header-actions{display:flex;gap:8px;align-items:center}.control{height:38px;min-width:40px;border:1px solid var(--line);background:transparent;color:var(--text);display:grid;place-items:center;font-weight:800}.control:hover{border-color:var(--accent);color:var(--accent)}.language-toggle{font-size:.76rem}.theme-toggle svg{width:19px;height:19px}.theme-toggle .sun-icon{display:none}:root[data-theme="dark"] .theme-toggle .sun-icon{display:block}:root[data-theme="dark"] .theme-toggle .moon-icon{display:none}.menu-toggle{display:none;position:relative}.menu-toggle span{width:18px;height:2px;background:currentColor;position:absolute}.menu-toggle span:first-child{transform:translateY(-4px)}.menu-toggle span:last-child{transform:translateY(4px)}
.hero{min-height:660px;display:flex;align-items:stretch}.hero-grid{display:grid;grid-template-columns:1fr .95fr;min-height:660px}.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:84px 60px 75px 0}.eyebrow{font-size:.77rem;font-weight:900;letter-spacing:.19em;text-transform:uppercase;color:var(--accent);line-height:1.4;margin-bottom:24px}.red-line{display:inline-block;width:26px;height:3px;background:var(--accent);vertical-align:middle;margin-right:12px}.hero h1{font-size:clamp(3.8rem,7.1vw,7.7rem);font-weight:900;letter-spacing:-.085em;line-height:.94;margin-bottom:32px}.hero h1 em,.schedule-heading h2 em,.club-copy h2 em,.contact-grid h2 em{font-style:normal;color:var(--accent)}.hero-lede{font-size:clamp(1.05rem,1.55vw,1.26rem);line-height:1.5;max-width:550px;color:var(--muted);margin-bottom:32px}.hero-buttons{display:flex;flex-wrap:wrap;gap:12px}.button{min-height:48px;padding:12px 20px;display:inline-flex;align-items:center;justify-content:center;text-align:center;font-size:.81rem;letter-spacing:.045em;text-transform:uppercase;font-weight:900;transition:background .2s,border-color .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--accent);color:#fff;border:1px solid var(--accent)}.button-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.button-outline{border:1px solid var(--text);color:var(--text)}.button-outline:hover{background:var(--text);color:var(--bg)}.hero-foot{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.71rem;font-weight:800;letter-spacing:.16em;margin-top:auto;padding-top:38px}.foot-rule{height:1px;width:33px;background:var(--accent)}
.hero-visual{position:relative;isolation:isolate;background:var(--hero-panel);min-height:550px;display:grid;place-items:center;overflow:hidden;border-inline:1px solid var(--line)}.hero-logo{width:min(78%,500px);max-height:530px;object-fit:contain;filter:drop-shadow(0 18px 22px #0001);transition:transform .6s}.hero-visual:hover .hero-logo{transform:scale(1.025)}:root[data-theme="dark"] .brand-mark img,:root[data-theme="dark"] .hero-logo{filter:invert(1)}
.marquee{background:var(--inverse);color:var(--inverse-text);overflow:hidden;white-space:nowrap;padding:clamp(12px,.8vw,20px) 0;font-weight:900;letter-spacing:.17em;font-size:clamp(.86rem,1.1vw,1.5rem)}.marquee-track{width:max-content;animation:marquee 32s linear infinite}.marquee b{color:var(--accent);padding:0 clamp(22px,1.4vw,36px);font-size:1.35em}@keyframes marquee{to{transform:translateX(-50%)}}@media(prefers-reduced-motion:reduce){.marquee-track{animation:none}html{scroll-behavior:auto}}
.section{padding:104px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:38px}.section-head .eyebrow{margin-bottom:11px}.section h2,.club-copy h2,.contact-grid h2{font-size:clamp(2.7rem,4.8vw,5rem);font-weight:900;letter-spacing:-.07em;line-height:1.02;margin-bottom:0}.section-intro{max-width:480px;color:var(--muted);font-size:1.05rem;line-height:1.6;margin:0}.discipline-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.discipline-card{background:var(--surface);border:1px solid var(--line);overflow:hidden}.discipline-image{height:260px;position:relative;overflow:hidden;background:#222}.discipline-image img{width:100%;height:100%;object-fit:cover;filter:var(--photo-filter);transition:transform .55s,filter .55s}.discipline-image--poster{background:#000}.discipline-image--poster img{object-fit:contain;filter:none}.discipline-card:hover .discipline-image img{transform:scale(1.05);filter:none}.discipline-card:hover .discipline-image--poster img{transform:none}.card-count{position:absolute;top:18px;left:18px;background:var(--accent);color:#fff;padding:5px 10px;font-size:.75rem;font-weight:900}.discipline-copy{padding:27px 29px 29px}.discipline-copy h3{font-size:1.65rem;line-height:1.1;letter-spacing:-.045em;margin-bottom:12px}.discipline-copy p{min-height:78px;color:var(--muted);font-size:.95rem;line-height:1.55;margin-bottom:20px}.discipline-copy a,.text-link{display:inline-block;font-size:.8rem;font-weight:900;text-transform:uppercase;letter-spacing:.065em;border-bottom:2px solid var(--accent);padding-bottom:5px}.discipline-copy a:hover,.text-link:hover{color:var(--accent)}
.schedule-section{background:var(--surface-2)}.schedule-layout{display:grid;grid-template-columns:minmax(250px,.74fr) minmax(0,1.26fr);gap:clamp(40px,7vw,110px);align-items:start}.schedule-heading{position:sticky;top:125px}.schedule-heading .eyebrow{margin-bottom:14px}.schedule-heading h2{margin-bottom:26px}.schedule-heading p:not(.eyebrow){color:var(--muted);font-size:1.05rem;max-width:360px;margin-bottom:28px}.schedule-card{background:var(--surface);border:1px solid var(--line);box-shadow:0 22px 54px #0000000d}.day-picker{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-bottom:1px solid var(--line)}.day-picker button{border:0;border-right:1px solid var(--line);background:transparent;color:var(--muted);min-height:56px;font-size:.82rem;font-weight:900;text-transform:uppercase}.day-picker button:last-child{border-right:0}.day-picker button[aria-selected="true"]{background:var(--accent);color:#fff}.day-picker button:hover:not([aria-selected="true"]){background:var(--surface-2);color:var(--text)}.day-panel{min-height:265px;padding:31px 36px}.day-panel h3{font-size:1.8rem;letter-spacing:-.05em;line-height:1;margin-bottom:20px}.session{display:grid;grid-template-columns:142px 1fr;gap:20px;align-items:center;border-top:1px solid var(--line);padding:14px 0}.session-time{font-size:.91rem;font-weight:800;white-space:nowrap}.session-info strong{display:block;font-size:1rem}.session-info span{display:block;color:var(--muted);font-size:.88rem}.closed{padding:35px 0 12px;color:var(--muted);font-size:1.1rem}.fitness-note{border-top:1px solid var(--line);padding:20px 35px;display:flex;align-items:center;gap:20px;background:var(--inverse);color:var(--inverse-text)}.fitness-note-icon{font-size:1.9rem;font-weight:900;letter-spacing:-.085em;line-height:1}.fitness-note-icon span{font-size:.8rem;letter-spacing:0}.fitness-note strong,.fitness-note span{display:block}.fitness-note strong{font-size:.88rem}.fitness-note div:last-child span{font-size:.82rem;opacity:.7}.fitness-note-icon{color:var(--accent)}
.news-section{padding-bottom:110px}.news-section .section-head{margin-bottom:32px}.news-grid{display:grid;grid-template-columns:1fr;gap:16px}.news-item{display:grid;grid-template-columns:180px 1fr auto;gap:30px;align-items:center;padding:32px;border:1px solid var(--line);background:var(--surface)}.news-date{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);font-weight:900}.news-copy h3{font-size:1.7rem;letter-spacing:-.045em;line-height:1.2;margin:0 0 7px}.news-copy p{color:var(--muted);margin:0}.news-link{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--text);font-size:1.4rem;line-height:1}.news-link:hover{background:var(--accent);color:#fff;border-color:var(--accent)}
.club-section{display:grid;grid-template-columns:1fr 1fr;min-height:560px;background:var(--inverse);color:var(--inverse-text)}.club-photo{min-height:450px;overflow:hidden}.club-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(.4) contrast(1.12)}.club-copy{padding:clamp(55px,7vw,110px);align-self:center}.club-copy h2{margin-bottom:30px}.club-copy p:not(.eyebrow){max-width:490px;opacity:.74;font-size:1.07rem;margin-bottom:30px}.club-copy .button-outline{color:var(--inverse-text);border-color:var(--inverse-text)}.club-copy .button-outline:hover{background:var(--inverse-text);color:var(--inverse)}
.video-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(40px,7vw,100px);align-items:center}.video-grid h2{margin-bottom:20px}.video-grid .section-intro{margin-bottom:30px}.video-frame{position:relative;aspect-ratio:16/9;background:#111;overflow:hidden}.video-frame>img{width:100%;height:100%;object-fit:cover;filter:grayscale(.35) brightness(.55)}.video-frame iframe{border:0;width:100%;height:100%;display:block}.video-overlay{position:absolute;inset:0;display:grid;place-items:center;color:#fff}.video-badge{position:absolute;top:24px;left:26px;font-size:.75rem;font-weight:900;letter-spacing:.15em}.video-caption{position:absolute;bottom:22px;left:26px;font-size:.85rem;font-weight:800}.video-play{width:76px;height:76px;border-radius:50%;border:1px solid #fff9;background:#fff;color:#191b20;font-size:1.25rem;display:grid;place-items:center;transition:transform .2s,background .2s}.video-play[hidden]{display:none}.video-play:hover{transform:scale(1.09);background:var(--accent);color:#fff}.video-frame.is-playing .video-overlay,.video-frame.is-playing>img{display:none}
.video-player{min-width:0}.video-list{list-style:none;margin:0;padding:0;max-height:268px;overflow-y:auto;background:var(--surface);border:1px solid var(--line);border-top:0}.video-list[hidden]{display:none}.video-list li+li{border-top:1px solid var(--line)}.video-list button{width:100%;display:grid;grid-template-columns:38px 1fr;gap:14px;align-items:center;padding:14px 22px;border:0;background:transparent;color:var(--text);text-align:left;font-size:.92rem;font-weight:800;line-height:1.35;transition:background .2s}.video-list button:focus-visible{outline-offset:-3px}.video-list button:hover:not([aria-current="true"]){background:var(--surface-2)}.video-list button[aria-current="true"]{background:var(--accent);color:#fff}.video-list-num{font-size:.75rem;font-weight:900;letter-spacing:.12em;color:var(--accent)}.video-list button[aria-current="true"] .video-list-num{color:#fff}
.contact-section{padding:100px 0;background:var(--inverse);color:var(--inverse-text)}.contact-grid{display:grid;grid-template-columns:1fr .8fr;gap:100px}.contact-grid h2{margin-bottom:25px}.contact-grid p:not(.eyebrow){font-size:1.08rem;opacity:.72;max-width:500px}.contact-details{display:grid}.contact-link{border-bottom:1px solid currentColor;padding:14px 0 19px;display:block}.contact-link:first-child{border-top:1px solid currentColor}.contact-link small{display:block;font-size:.72rem;letter-spacing:.16em;font-weight:900;opacity:.58;margin-bottom:7px}.contact-link strong{font-size:1.22rem;font-weight:700;line-height:1.3}.contact-link:hover strong{color:var(--accent)}.site-footer{background:var(--bg);padding:42px 0 24px}.footer-top,.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px}.footer-top{padding-bottom:38px}.footer-brand{font-size:1.4rem;font-weight:900;letter-spacing:-.05em;line-height:1}.footer-brand span{display:block;font-size:.56rem;letter-spacing:.24em;color:var(--muted);margin-top:8px}.footer-top p{color:var(--muted);margin:0}.footer-bottom{border-top:1px solid var(--line);padding-top:20px;color:var(--muted);font-size:.79rem}.footer-bottom div{display:flex;gap:23px}.footer-bottom a:hover{color:var(--accent)}
@media(max-width:1100px){.discipline-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.main-nav{gap:13px}.main-nav a{font-size:.75rem}.header-inner{gap:16px}.hero h1{font-size:clamp(3.6rem,7vw,6rem)}.schedule-layout{gap:40px}.day-panel{padding:26px}.session{grid-template-columns:125px 1fr}}
@media(max-width:900px){.main-nav{position:absolute;top:100%;left:0;right:0;margin:0;padding:14px 24px 24px;background:var(--bg);border-bottom:1px solid var(--line);display:none;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 18px 28px #0002}.main-nav.is-open{display:flex}.main-nav a{font-size:1rem;padding:12px 0;border-bottom:1px solid var(--line)}.menu-toggle{display:grid}.header-inner{min-height:68px}.hero-grid{grid-template-columns:1fr .85fr;min-height:590px}.hero-copy{padding-right:25px}.hero h1{font-size:clamp(3.4rem,7vw,5.7rem)}.hero-visual{min-height:500px}.discipline-image{height:210px}.discipline-copy{padding:22px}.discipline-copy h3{font-size:1.35rem}.schedule-layout,.video-grid{grid-template-columns:1fr}.schedule-heading{position:static}.schedule-heading h2 br{display:none}.club-copy{padding:55px}}
@media(max-width:680px){.container{width:min(100% - 32px,1320px)}.announcement{font-size:.67rem}.announcement-inner{min-height:32px}.announcement a{white-space:nowrap}.brand-mark,.brand-mark img{width:42px;height:42px}.brand-name{font-size:.93rem}.brand-name small{font-size:.49rem}.header-inner{min-height:64px}.hero-grid{display:flex;flex-direction:column;min-height:auto}.hero-copy{padding:54px 0 36px}.hero h1{font-size:clamp(3.1rem,14vw,5.8rem);margin-bottom:22px}.hero-lede{font-size:1.05rem;margin-bottom:28px}.hero-visual{min-height:420px;margin:0 -16px;border-inline:0}.hero-logo{width:min(76%,335px)}.hero-foot{padding-top:32px}.section{padding:72px 0}.section-head{display:block;margin-bottom:27px}.section-head .section-intro{margin-top:22px}.section h2,.club-copy h2,.contact-grid h2{font-size:clamp(2.6rem,10vw,4.2rem)}.discipline-grid{grid-template-columns:1fr}.discipline-image{height:260px}.discipline-copy p{min-height:0}.schedule-layout{gap:32px}.schedule-heading h2 br{display:block}.day-picker{display:flex;overflow-x:auto;scrollbar-width:thin}.day-picker button{flex:0 0 60px;min-height:53px}.day-panel{min-height:255px;padding:26px 20px}.session{grid-template-columns:120px 1fr;gap:11px}.session-time{font-size:.83rem}.session-info strong{font-size:.94rem}.session-info span{font-size:.8rem}.fitness-note{padding:18px 20px}.news-section .section-head .text-link{margin-top:25px}.news-item{display:block;padding:23px}.news-date{display:block;margin-bottom:16px}.news-copy h3{font-size:1.4rem}.news-link{margin-top:22px}.club-section{display:flex;flex-direction:column}.club-photo{min-height:290px;height:290px}.club-copy{padding:63px 24px}.video-grid{gap:28px}.contact-section{padding:72px 0}.contact-grid{grid-template-columns:1fr;gap:28px}.footer-top,.footer-bottom{display:block}.footer-top p{margin-top:20px}.footer-bottom div{margin-top:16px;flex-wrap:wrap;gap:10px 20px}}
