:root{--red:#c9232b;--yellow:#f6c417;--ink:#191919;--paper:#f5f5f3;--line:#d9d9d5;--muted:#5f605c;--display:'Barlow Condensed','Arial Narrow',Impact,sans-serif;--body:'Barlow',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.65 var(--body)}a{color:inherit;text-decoration:none}a:hover{color:var(--red)}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #a22127;outline-offset:5px}button{font:inherit;cursor:pointer}img{display:block;max-width:100%;height:auto}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-family:var(--display);line-height:.98;font-weight:800}h1{font-size:clamp(76px,7.5vw,112px);letter-spacing:-.025em}h2{font-size:clamp(48px,5vw,72px);letter-spacing:-.01em}h3{font-size:34px}em{color:var(--red);font-style:normal}.wrap{width:min(1260px,88%);margin-inline:auto}.section{padding-block:105px}.eyebrow{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:700;letter-spacing:.14em;margin-bottom:25px}.red-line{width:28px;height:3px;background:var(--red)}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:25px;margin-top:32px}.button{display:inline-flex;gap:24px;align-items:center;justify-content:center;min-height:57px;padding:16px 24px;font-weight:600;font-size:16px;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.primary{background:var(--red);color:#fff}.primary:hover{background:#a21b22;color:#fff}.text-link{font-size:16px;font-weight:600;padding-bottom:4px;border-bottom:1px solid currentColor}.micro{font-size:14px;margin-top:18px;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}.skip{position:fixed;z-index:10;top:-90px;left:10px;background:white;color:#111;padding:15px}.skip:focus{top:10px}.topline{background:var(--ink);color:white;font-size:12px;font-weight:600;letter-spacing:.06em}.topline .wrap{display:flex;justify-content:space-between;gap:20px;padding-block:9px}.topline a:hover{color:var(--yellow)}.site-header{position:sticky;top:0;z-index:5;background:#f5f5f3f5;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.header{height:98px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;gap:12px;align-items:center;font:700 26px/1.1 var(--display);letter-spacing:.02em;flex-shrink:0}.brand img{width:66px;height:66px}.brand small{display:block;font:600 10px var(--body);letter-spacing:.2em;margin-top:7px}.header nav{display:flex;gap:27px;font-size:15px;font-weight:600}.header nav a{padding-block:12px}.header-call{font-weight:700;font-size:19px;line-height:1.4;border-left:1px solid var(--line);padding-left:25px;white-space:nowrap}.header-call span{display:block;font-size:10px;letter-spacing:.1em;font-weight:500}.menu-toggle,.mobile-contact{display:none}.club-hero{display:grid;grid-template-columns:1.08fr 1fr;gap:4%;padding-block:62px 90px;align-items:center}.hero-description{font-size:19px;color:var(--muted);line-height:1.6;margin-top:28px;max-width:470px}.hero-proof{display:flex;gap:13px;align-items:center;margin-top:38px;padding-top:24px;border-top:1px solid var(--line);max-width:420px}.hero-proof img{width:38px;flex-shrink:0}.hero-proof p{font-size:13px;line-height:1.6;color:var(--muted)}.hero-proof strong{font-weight:600;color:var(--ink)}.club-collage{position:relative;margin:0 18px 20px 25px;padding-bottom:42px}.photo-index{font-size:11px;font-weight:600;letter-spacing:.15em;margin-bottom:13px}.club-main{width:100%;height:555px;object-fit:cover;object-position:54% center;border-radius:2px}.club-small{position:absolute;bottom:0;left:-35px;width:49%;aspect-ratio:1.25;object-fit:cover;border:7px solid var(--paper);box-shadow:0 10px 30px #0001;transform:rotate(-5deg)}.vertical-label{position:absolute;right:-30px;top:28px;writing-mode:vertical-rl;font-size:10px;letter-spacing:.2em;font-weight:600}.free-note{position:absolute;bottom:0;right:-13px;padding:24px;background:var(--yellow);transform:rotate(5deg);box-shadow:0 7px 18px #0001;min-width:195px}.free-note>span{display:block;font-size:10px;font-weight:700;letter-spacing:.12em;margin-bottom:12px}.free-note strong{display:block;font:800 38px/.96 var(--display)}.free-note a{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:600;margin-top:18px;border-top:1px solid #0004;padding-top:10px}.club-facts{border-block:1px solid var(--line);background:#ebebe7}.club-facts>.wrap{display:grid;grid-template-columns:repeat(4,1fr);padding-block:28px}.club-facts p{padding-left:27px;border-left:1px solid #c5c5c0}.club-facts p:first-child{padding:0;border:0}.club-facts b{display:block;font:700 25px var(--display);margin-bottom:3px}.club-facts span{font-size:14px;color:var(--muted)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:45px}.section-heading>p{font-size:17px;max-width:360px;color:var(--muted)}.group-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.group-card{background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s}.group-card:hover{transform:translateY(-4px);box-shadow:0 14px 36px #0000000a}.group-visual{position:relative;height:230px;overflow:hidden}.group-visual img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.group-card:hover .group-visual img{transform:scale(1.035)}.card-tag{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.1em;padding:7px 11px;background:#fff;color:#111}.group-visual .card-tag{position:absolute;bottom:15px;left:18px}.group-copy{padding:27px;flex:1;display:flex;flex-direction:column}.group-number{font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--red);margin-bottom:18px}.group-copy h3{font-size:36px;margin-bottom:20px}.group-copy p{font-size:16px;color:var(--muted);margin-bottom:24px;flex:1}.group-time{font-size:13px;font-weight:600;margin-bottom:15px}.group-link{display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:600;font-size:14px;border-top:1px solid var(--line);padding-top:17px}.group-link span{font-size:22px}.kids-heading{height:230px;padding:20px 25px;background:var(--yellow);position:relative}.kids-heading .card-tag{background:transparent;padding:0}.kids-ages{display:block;font:800 66px/.97 var(--display);margin-top:15px;letter-spacing:-.025em}.kids-ages small{font:700 13px var(--body);letter-spacing:.03em}.kids-caption{position:absolute;right:20px;top:55px;writing-mode:vertical-rl;font-size:10px;letter-spacing:.14em}.trainer-section{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:9%;border-top:1px solid var(--line);padding-top:85px}.trainer-photo{position:relative;padding-right:28px;padding-bottom:25px}.trainer-photo img{width:100%;aspect-ratio:1;object-fit:cover;object-position:center;border-radius:2px}.trainer-caption{position:absolute;bottom:0;right:0;left:40px;padding:18px 25px;background:var(--ink);color:white;border-left:5px solid var(--red)}.trainer-caption strong{display:block;font:700 26px var(--display)}.trainer-caption span{font-size:13px;color:#ccc}.trainer-section h2+p{margin-top:26px;color:var(--muted);font-size:17px}.achievements{display:grid;grid-template-columns:1fr 1fr;gap:25px;padding-block:23px;margin-block:28px;border-block:1px solid var(--line)}.achievements strong{font:700 38px var(--display);color:var(--red)}.achievements span{display:block;font-size:13px;line-height:1.6;margin-top:7px}.affiliation{display:flex;align-items:center;gap:12px;font-size:13px;line-height:1.5;margin-bottom:26px}.affiliation img{width:50px}.personal-section{background:#20211f;color:#fff;padding-block:90px}.personal-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.personal-copy .eyebrow{color:#c5c5bf}.personal-copy h2{font-size:clamp(47px,4.7vw,67px)}.personal-copy h2 em{color:var(--yellow)}.personal-copy>p:not(.eyebrow):not(.micro){color:#c5c5bf;font-size:17px;margin-top:27px}.personal-copy .micro{color:#c5c5bf}.personal-poster{position:relative;aspect-ratio:4/5;background:#090909;overflow:hidden;isolation:isolate;max-width:560px}.poster-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% center}.poster-overlay{position:absolute;inset:0;background:linear-gradient(0deg,#0b0b0b 2%,#0b0b0b88 46%,transparent 85%),linear-gradient(90deg,#000a,transparent)}.poster-logo{position:absolute;top:24px;left:28px;width:65px}.poster-copy{position:absolute;bottom:30px;left:30px;right:30px}.poster-copy>span{display:block;font-size:12px;font-weight:700;letter-spacing:.13em;margin-bottom:16px}.poster-copy>strong{display:block;font:800 clamp(38px,4.4vw,64px)/.93 var(--display)}.poster-copy em{color:var(--yellow)}.poster-copy>p{font-size:13px;letter-spacing:.08em;margin:20px 0}.poster-bottom{border-top:3px solid var(--red);padding-top:14px}.poster-bottom b{font-size:12px;display:block;letter-spacing:.12em}.poster-bottom>span{font:700 36px var(--display)}.benefits{list-style:none;margin:28px 0;padding:0}.benefits li{display:flex;gap:20px;border-top:1px solid #494a46;padding:15px 0;font-size:16px}.benefits span{color:var(--yellow);font-weight:600}.personal-message{display:block;font-size:14px;margin-top:18px;color:#ddd}.personal-message:hover{color:var(--yellow)}.schedule-section{padding-block:95px;background:#eaeae6}.schedule-filters{display:none;gap:8px;flex-wrap:wrap;margin-bottom:24px}.js .schedule-filters{display:flex}.schedule-filters button{border:1px solid #bdbdb7;background:transparent;padding:10px 19px;font-size:14px;font-weight:600;border-radius:2px;min-height:45px}.schedule-filters button:hover{border-color:var(--ink)}.schedule-filters button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:white}.schedule-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.day{padding:23px 19px;background:var(--paper);border-top:3px solid var(--ink);min-height:410px}.day>h3{font:500 13px var(--body);padding-bottom:18px;border-bottom:1px solid var(--line)}.day>h3>span{display:block;font:800 38px var(--display)}.class-item{margin-top:25px;padding-left:12px;border-left:2px solid #bcbcb6}.class-item.beginner{border-color:var(--red)}.class-item time{font-size:14px;font-weight:600;white-space:nowrap}.class-item h4{font-size:28px;margin:7px 0}.class-item p{font-size:13px;color:var(--muted)}.day-empty{font-size:14px;color:var(--muted);padding-top:25px}.schedule-note{display:flex;justify-content:space-between;gap:25px;font-size:14px;margin-top:24px}.schedule-note a{font-weight:600;border-bottom:1px solid currentColor}.first-section{display:grid;grid-template-columns:1fr 1fr;gap:9%}.steps article{display:flex;gap:23px;padding-block:25px;border-top:1px solid var(--line)}.steps article:first-child{padding-top:0;border:0}.steps article>span{color:var(--red);font:600 29px var(--display)}.steps h3{font-size:28px;margin-bottom:12px}.steps p{font-size:16px;color:var(--muted)}.faq-section{display:grid;grid-template-columns:1fr 1fr;gap:9%;border-top:1px solid var(--line);padding-top:70px}.faq-intro{max-width:370px;font-size:17px;color:var(--muted);margin-block:26px}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;font-weight:600;font-size:17px;list-style:none;padding-block:21px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:25px;color:var(--red);font-weight:400}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{color:var(--muted);font-size:16px;padding:0 30px 23px 0}.contact-section{background:#85171f;color:white;padding-block:75px}.contact-section em{color:var(--yellow)}.contact-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:45px}.contact-heading :is(h1,h2){font-size:clamp(72px,8vw,108px)}.contact-heading img{width:155px;height:155px}.contact-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:35px;border-top:1px solid #ffffff60;padding-top:35px}.contact-grid p{font-size:14px;margin-bottom:16px}.big-phone{font:700 clamp(34px,3.4vw,48px) var(--display);white-space:nowrap}.contact-name{display:block;font-size:14px}.mail{display:block;font-size:17px;margin-top:18px}.contact-grid h3{font-size:23px;margin-bottom:20px}.socials a{display:block;font-size:14px;margin-bottom:14px}.contact-section a:hover{color:var(--yellow)}.contact-section a:focus-visible,.personal-section a:focus-visible{outline-color:var(--yellow)}.footer{padding-block:28px;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted)}
@media(min-width:1550px){.club-hero{padding-block:78px 105px}.club-main{height:600px}}
@media(max-width:1150px){.wrap{width:90%}.header nav{gap:19px}.header-call{display:none}.club-hero{gap:1%}.club-main{height:540px}.club-collage{margin-left:15px}.club-small{left:-20px}.free-note{padding:19px;min-width:175px}.free-note strong{font-size:34px}.group-copy{padding:22px}.group-time{min-height:42px}.group-visual,.kids-heading{height:210px}.day{padding:20px 12px}.class-item{padding-left:9px}.contact-grid{gap:23px}.socials a{font-size:13px}.poster-copy{left:24px;right:24px}.trainer-section,.personal-grid,.first-section,.faq-section{gap:6%}.hero-proof{margin-top:28px}}
@media(max-width:850px){h1{font-size:74px}.club-main{height:510px}.free-note{right:-15px;padding:15px;min-width:156px}.free-note strong{font-size:30px}.club-small{width:48%;bottom:15px}.hero-description{font-size:17px}.actions{gap:18px}.actions .button{padding-inline:17px;font-size:14px}.actions .text-link{font-size:14px}.group-copy{padding:20px}.group-copy h3{font-size:31px}.group-copy p{font-size:15px}.group-link{font-size:13px}.group-visual,.kids-heading{height:180px}.kids-ages{font-size:50px}.kids-caption{display:none}.schedule-grid{grid-template-columns:repeat(3,1fr)}.day{min-height:350px;padding:20px}.contact-grid{grid-template-columns:1fr 1fr}.socials{grid-column:1/-1}.socials a{display:inline-block;margin-right:22px}.club-facts b{font-size:22px}.club-facts span{font-size:13px}.club-facts p{padding-left:20px}.header nav{gap:20px}}
@media(max-width:780px){html{scroll-padding-top:90px}body{font-size:17px;padding-bottom:65px}.topline .wrap{justify-content:center;font-size:11px;letter-spacing:0;padding-block:7px}.topline .wrap>span{display:none}.header{height:78px;position:relative;flex-wrap:wrap;gap:0}.brand{font-size:24px}.brand img{width:53px;height:53px}.brand small{font-size:9px}.menu-toggle{display:none;border:1px solid #c8c8c1;background:transparent;border-radius:2px;align-items:center;gap:15px;padding:9px 13px;font-size:14px;min-height:44px}.js .menu-toggle{display:flex}.header nav{display:flex;width:100%;gap:18px;padding:12px 0;font-size:14px;justify-content:space-between}.header:has(nav){height:auto;min-height:78px;padding-block:10px}.js .header{height:78px;padding-block:0}.js .header nav{display:none;position:absolute;left:-5.55%;width:111.1%;top:78px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 12px 18px #0001;padding:12px 5%;flex-direction:column;gap:0}.js .header nav.is-open{display:flex}.header nav a{padding:12px 5px}.club-hero{grid-template-columns:1fr;padding-block:40px 48px;gap:32px}.club-hero .eyebrow{font-size:11px;letter-spacing:.11em;margin-bottom:22px}.red-line{width:22px}h1{font-size:clamp(66px,13vw,90px)}.hero-description{max-width:440px;font-size:17px;margin-top:24px}.actions{gap:24px;margin-top:26px}.actions .button{font-size:15px;min-height:54px;padding-inline:20px}.hero-proof{margin-top:26px;padding-top:18px;max-width:none}.hero-proof p{font-size:12px}.hero-proof img{width:34px}.club-collage{margin:0 14px 12px 14px;padding-bottom:32px}.club-main{height:440px;object-position:center 40%}.photo-index{font-size:10px}.club-small{width:43%;bottom:0;left:-15px}.free-note{right:-12px;min-width:164px;padding:18px;bottom:-5px}.free-note strong{font-size:32px}.free-note>span{font-size:9px}.vertical-label{right:-23px;font-size:9px}.club-facts>.wrap{grid-template-columns:1fr 1fr;gap:22px 15px;padding-block:25px}.club-facts p{padding-left:15px}.club-facts p:nth-child(3){border:0;padding-left:0}.club-facts b{font-size:24px}.club-facts span{font-size:13px}.section{padding-block:65px}.eyebrow{font-size:11px;margin-bottom:20px}h2{font-size:53px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:23px;max-width:none;font-size:16px}.group-grid{grid-template-columns:1fr;gap:23px}.group-card{max-width:480px;width:100%;margin:auto}.group-visual{height:240px}.kids-heading{height:220px;padding:23px 27px}.kids-ages{font-size:62px}.kids-caption{display:block}.group-copy{padding:27px}.group-copy h3{font-size:38px}.group-copy p{font-size:16px}.group-time{min-height:0;font-size:14px}.group-link{font-size:14px}.group-number{font-size:12px}.trainer-section,.personal-grid,.first-section,.faq-section{grid-template-columns:1fr;gap:36px}.trainer-section{padding-top:55px}.trainer-photo{padding-right:20px;max-width:480px;margin:auto;width:100%}.trainer-photo img{aspect-ratio:1.05;object-position:center 35%}.trainer-caption{left:30px;padding:15px 20px}.trainer-caption strong{font-size:26px}.trainer-section h2+p{font-size:16px}.achievements{margin-block:25px;gap:16px}.achievements strong{font-size:37px}.affiliation{margin-bottom:22px}.personal-section{padding-block:60px}.personal-copy{grid-row:1}.personal-copy h2{font-size:52px}.personal-copy>p:not(.eyebrow):not(.micro){font-size:16px}.benefits li{font-size:15px}.personal-poster{width:100%;max-width:440px;margin:auto}.poster-copy>strong{font-size:58px}.poster-copy{left:27px;right:27px;bottom:25px}.poster-logo{width:58px}.schedule-section{padding-block:60px}.schedule-filters{gap:7px;margin-bottom:22px}.schedule-filters button{font-size:13px;padding:9px 12px}.schedule-grid{grid-template-columns:1fr;gap:12px}.day{display:grid;grid-template-columns:95px 1fr;gap:0 15px;min-height:0;padding:22px}.day>h3{grid-row:1/6;border:0;padding-bottom:0;font-size:12px}.day>h3>span{font-size:35px}.class-item{margin:0 0 22px;padding-left:15px}.class-item:last-of-type{margin-bottom:0}.class-item time{font-size:14px}.class-item p{font-size:14px}.day-empty{padding:0;font-size:14px}.schedule-note{display:block;font-size:14px}.schedule-note a{display:inline-block;margin-top:15px}.steps article{padding-block:24px}.faq-section{padding-top:55px}.faq-intro{max-width:none;font-size:16px}.faq-list summary{font-size:16px;padding-block:20px}.contact-section{padding-block:55px}.contact-heading{align-items:end;margin-bottom:35px}.contact-heading :is(h1,h2){font-size:73px}.contact-heading img{width:80px;height:80px;margin-bottom:6px}.contact-grid{grid-template-columns:1fr;gap:35px;padding-top:28px}.big-phone{font-size:47px}.contact-grid h3{font-size:25px;margin-bottom:17px}.socials{grid-column:auto}.socials a{display:block;font-size:15px;margin:0 0 15px}.contact-grid p{font-size:15px}.mail{font-size:17px}.footer{flex-direction:column;gap:9px;padding-block:25px;font-size:12px}.mobile-contact{display:grid;grid-template-columns:1fr 1.4fr;position:fixed;bottom:0;left:0;right:0;z-index:6;padding:10px 5% calc(10px + env(safe-area-inset-bottom));gap:10px;background:#f5f5f3f5;border-top:1px solid #d5d5d0;backdrop-filter:blur(12px)}.mobile-contact a{display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;min-height:44px;border:1px solid var(--line)}.mobile-contact a:last-child{background:var(--red);color:white;border-color:var(--red)}}
@media(max-width:360px){h1{font-size:62px}.actions{gap:18px}.actions .button{padding-inline:15px;font-size:14px}.actions .text-link{font-size:13px}.club-main{height:380px}.free-note{min-width:145px;padding:15px}.free-note strong{font-size:29px}.club-small{width:45%}.poster-copy>strong{font-size:49px}.poster-copy{left:20px;right:20px}.contact-heading :is(h1,h2){font-size:64px}.contact-heading img{width:70px;height:70px}.day{padding:20px 15px;grid-template-columns:85px 1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}

/* Photo framing and timetable refinements */
.no-gi-photo img{object-position:center 43%}
.group-card:nth-child(2) .group-visual img{transform:scale(1.32);object-position:65% 65%}
.group-card:nth-child(2):hover .group-visual img{transform:scale(1.36)}
.filter-status{font-size:14px;color:var(--muted);margin:-6px 0 22px}
.day-heading-row{display:flex;align-items:center;justify-content:space-between;gap:8px}
.today-label{font:600 10px var(--body);letter-spacing:.06em;padding:3px 6px;background:var(--yellow);color:var(--ink)}
.day.is-today{border-top-color:var(--red)}
#main-nav a[aria-current="location"],#main-nav a[aria-current="page"]{color:var(--red);text-decoration:underline;text-underline-offset:7px}
@media(max-width:780px){.day.filtered-empty{display:none}.filter-status{font-size:13px}.day-heading-row{display:block}.today-label{display:inline-block;margin-block:3px 5px}.group-card:nth-child(2) .group-visual img{object-position:70% 68%}}
@media print{.topline,.site-header,.mobile-contact,.schedule-filters,.button{display:none!important}body{padding:0;background:white;color:black}.wrap{width:100%}section{break-inside:avoid}.schedule-grid{display:grid;grid-template-columns:repeat(5,1fr)}.day{display:block;min-height:0;padding:12px}.day h3{border:0}.class-item{margin-top:15px}.section,.schedule-section,.personal-section,.contact-section{padding-block:30px}.group-grid{grid-template-columns:repeat(3,1fr)}}
.day>h3>.day-heading-row{display:flex;font:inherit}
.day-heading-row>span:first-child{font:800 38px var(--display)}
@media(max-width:780px){.day>h3>.day-heading-row{display:block}.day-heading-row>span:first-child{display:block;font-size:35px}}
.contact-form{margin-top:45px;border-top:1px solid #ffffff60;padding-top:35px;max-width:860px}
.contact-form h3{font-size:23px;margin-bottom:8px}
.contact-form .form-lead{font-size:14px;margin-bottom:24px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.form-field{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}
.form-field label{font-size:14px;font-weight:600}
.form-field input,.form-field select,.form-field textarea{font:inherit;font-size:16px;color:var(--ink);background:white;border:1px solid transparent;border-radius:2px;padding:13px 14px;min-height:50px;width:100%}
.form-field input,.form-field select{height:50px}
.form-field textarea{resize:vertical;min-height:130px}
.form-field input:focus-visible,.form-field select:focus-visible,.form-field textarea:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}
.form-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.form-submit{background:var(--yellow);color:var(--ink);border:0}
.form-submit:hover{background:white}
.form-submit:disabled{opacity:.6;cursor:wait;transform:none}
.form-submit:focus-visible{outline-color:white}
.form-status{font-size:15px;margin:0}
.form-status[data-state=success]{color:var(--yellow);font-weight:600}
.form-status[data-state=error]{color:#ffd9d9;font-weight:600}
@media(max-width:780px){.contact-form{margin-top:35px;padding-top:28px}.contact-form h3{font-size:25px}.form-row{grid-template-columns:1fr;gap:0}.form-submit{width:100%}}
.button.yellow{background:var(--yellow);color:var(--ink)}
.button.yellow:hover{background:white;color:var(--ink)}
.contact-section .button.yellow:focus-visible{outline-color:white}
.contact-cta{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:40px;border-top:1px solid #ffffff60;padding-top:35px}
.contact-cta p{font-size:15px}
.contact-page{min-height:calc(100vh - 120px)}
.contact-page-lead{font-size:17px;max-width:620px;margin-bottom:35px}
.contact-page-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:50px;border-top:1px solid #ffffff60;padding-top:35px;align-items:start}
.contact-page .contact-form{margin-top:0;border-top:0;padding-top:0;max-width:none}
.contact-aside p{font-size:14px;margin-bottom:16px}
.contact-aside h3{font-size:23px;margin:35px 0 16px}
@media(max-width:850px){.contact-page-grid{grid-template-columns:1fr;gap:40px}}
@media(max-width:780px){.contact-cta .button{width:100%}.contact-page-lead{font-size:15px}}
.header-back{font-size:15px;font-weight:600;padding:12px 0}
.header-back:hover{color:var(--red)}
.form-page .contact-page{min-height:calc(100vh - 180px)}
.form-page .contact-heading h1{font-size:clamp(52px,7vw,100px)}
@media(max-width:780px){.form-page .contact-heading h1{font-size:clamp(38px,11.5vw,64px)}.form-page .header{height:78px}}
.header nav a{white-space:nowrap}
@media(min-width:781px) and (max-width:880px){.nav-long{display:none}}
.video-section{display:grid;grid-template-columns:1fr minmax(0,380px);align-items:center;gap:9%;border-top:1px solid var(--line);padding-top:85px}.video-section h2+p{margin-top:26px;max-width:470px;color:var(--muted);font-size:17px}.video-section .text-link{display:inline-block;margin-top:30px}.video-facade,.video-frame{position:relative;display:block;width:100%;aspect-ratio:9/16;overflow:hidden;background:#111;border-radius:2px}.video-facade img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.video-facade:hover img{transform:scale(1.03)}.video-tag{position:absolute;top:15px;left:15px}.video-play{position:absolute;left:50%;top:72%;width:84px;height:84px;margin:-42px 0 0 -42px;border-radius:50%;background:var(--red);box-shadow:0 10px 30px rgba(0,0,0,.35);transition:transform .2s}.video-play::after{content:"";position:absolute;left:33px;top:27px;border-left:24px solid #fff;border-block:15px solid transparent}.video-facade:hover .video-play{transform:scale(1.08)}.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media(max-width:780px){.video-section{grid-template-columns:1fr;gap:36px;padding-top:55px}.video-section h2+p{font-size:16px}.video-player{max-width:360px}}
@media(prefers-reduced-motion:reduce){.video-facade img,.video-play{transition:none}}
.footer{flex-wrap:wrap}.footer-credit{flex-basis:100%;padding-top:14px;border-top:1px solid var(--line);font-size:11px;letter-spacing:.06em}.footer-credit a{color:var(--ink);font-weight:700;border-bottom:1px solid var(--red)}.footer-credit a:hover{color:var(--red)}
h1 .eyebrow{font-family:var(--body);line-height:1.65}.group-grid.kids-groups{grid-template-columns:repeat(2,1fr)}:is(.kids-page,.adults-page) .club-hero .trainer-photo img{aspect-ratio:.9}.kids-heading.is-dark{background:var(--ink);color:#fff}.kids-heading.is-red{background:var(--red);color:#fff}:is(.is-dark,.is-red) .card-tag{color:inherit}.travel-note{margin-top:22px;font-size:15px;line-height:1.6}.first-section .travel-note{color:var(--muted);max-width:420px}.kids-benefits{border-top:1px solid var(--line)}
@media(max-width:780px){.group-grid.kids-groups{grid-template-columns:1fr}:is(.kids-page,.adults-page) .club-hero .trainer-photo img{aspect-ratio:1.05}}
.results-hero{padding-bottom:60px}.results-hero .hero-description{max-width:640px}.results-year{display:grid;grid-template-columns:220px 1fr;gap:40px;padding-block:55px;border-top:1px solid var(--line)}.results-year:first-of-type{border-top:0}.results-year h2{color:var(--red)}.result{padding-block:28px;border-top:1px solid var(--line)}.result:first-child{padding-top:6px;border-top:0}.result time{display:block;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}.result h3{font-size:32px}.result .place{margin-top:6px;color:var(--muted);font-size:15px}.medals{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:9px}.medals li{display:flex;gap:14px;align-items:baseline;font-size:16px;line-height:1.45}.medal{flex:none;min-width:82px;padding:4px 8px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;text-align:center;border-radius:2px;background:var(--line)}.medal.m1{background:var(--yellow)}.medal.m2{background:#dcdcd8}.medal.m3{background:#e6bb93}.medal.m-team{background:var(--ink);color:#fff}.result .source{margin-top:14px;font-size:13px;color:var(--muted)}.result .source a{border-bottom:1px solid currentColor}.result .source a:hover{color:var(--red)}.results-cta{border-top:1px solid var(--line)}.results-cta .actions{margin-top:28px}
@media(max-width:780px){.results-year{grid-template-columns:1fr;gap:10px;padding-block:40px}.result h3{font-size:27px}.medals li{font-size:15px;gap:10px}.medal{min-width:72px}}
.trainer-section .text-link+.text-link{margin-left:26px}
.nowrap{white-space:nowrap}.club-facts+.results-year{border-top:0}
