:root{color-scheme:dark;--bg:#10110f;--panel:#1b1c18;--ink:#f4f2e8;--muted:#bdbdb0;--line:#383a30;--accent:#e2fb48;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--ink)}
*{box-sizing:border-box}body{margin:0}html{scroll-behavior:smooth;scroll-padding-top:85px}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;width:100%;object-fit:cover}p{line-height:1.6;color:var(--muted);margin:0 0 1.25rem}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.wrap{width:min(100% - 96px,1260px);margin-inline:auto}.section{padding-block:88px}header{position:sticky;top:0;z-index:3;background:#10110ff5;border-bottom:1px solid var(--line)}.nav,.footer{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:74px}.brand{display:inline-flex;align-items:center;gap:11px;line-height:1.22;font-size:10px;font-weight:700;letter-spacing:.13em;flex-shrink:0}.brand strong{font-size:13px}.mark{background:var(--accent);color:#151611;padding:8px 7px;font:bold 19px/1 Arial;letter-spacing:-.1em;transform:skew(-8deg)}nav{display:flex;gap:25px;font-size:14px;color:var(--muted)}nav a:hover,.top:hover{color:var(--accent)}#menu{display:none}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:0 19px;background:var(--accent);color:#11130a;font-size:14px;font-weight:800;border:1px solid var(--accent);text-align:center}.button:hover{background:#f0ff96}.button.small{min-height:39px}.ghost{background:#10110f50;color:var(--ink);border-color:#9d9d8e}.ghost:hover{background:#292b22}.hero{background:linear-gradient(90deg,#10110f 3%,#10110ff5 25%,#10110f46 65%,#10110f0d 100%),url(media/799918837.jpg) right 38% / auto 135% no-repeat}.hero-inner{min-height:610px;display:flex;flex-direction:column;justify-content:center;position:relative;padding-block:75px 106px}.hero-copy{max-width:770px}.eyebrow{color:var(--accent);font:700 11px/1.5 Arial;letter-spacing:.19em;text-transform:uppercase;margin-bottom:16px}.eyebrow span{display:inline-block;width:13px;height:1px;background:currentColor;vertical-align:middle;margin:0 5px}h1,h2,h3{margin:0;font-weight:900}h1,h2{font-family:Impact,'Arial Black',Arial,sans-serif;letter-spacing:-.045em;line-height:.94}h1{font-size:clamp(72px,10vw,147px)}h1 em{font-style:normal;color:var(--accent)}h2{font-size:clamp(39px,5.5vw,76px)}h3{font-size:25px;line-height:1.1;letter-spacing:-.04em}.intro{font-size:19px;max-width:440px;margin-top:24px;color:var(--ink)}.actions{display:flex;flex-wrap:wrap;gap:10px}.hero-note{position:absolute;bottom:20px;right:0;font-size:10px;letter-spacing:.13em;color:var(--ink);background:#10110fc9;padding:8px 10px}.hero-note b{color:var(--accent);margin-left:12px}.strip{background:var(--accent);color:#151611}.strip .wrap{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:50px;font-size:clamp(9px,1.2vw,14px);font-weight:900;letter-spacing:.09em}.strip i{width:5px;height:5px;background:currentColor;transform:rotate(45deg);flex-shrink:0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:30px}.section-head p{max-width:350px;margin:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.cards article{background:var(--panel);border:1px solid var(--line);display:flex;flex-direction:column}.cards img{height:200px;filter:brightness(.82)}.card-copy{padding:24px;display:flex;flex:1;flex-direction:column;align-items:start}.card-copy p:not(.eyebrow){margin:12px 0 22px}.text-link{display:inline-block;background:none;border:0;padding:0 0 4px;color:var(--accent);border-bottom:1px solid currentColor;font-size:14px;font-weight:700;text-align:left}.text-link:hover{color:var(--ink)}.card-copy .text-link{margin-top:auto}.schedule{background:var(--panel);border-block:1px solid var(--line)}.schedule-grid,.visit{display:grid;grid-template-columns:1fr 1.2fr;gap:60px;align-items:start}.schedule h2+p,.membership h2+p,.visit h2+p,.community h2+p{margin-top:20px;max-width:430px}.filters{display:flex;gap:7px;flex-wrap:wrap}.filters button{background:transparent;color:var(--ink);padding:8px 10px;border:1px solid #66695b;font-size:13px}.filters button[aria-pressed=true]{background:var(--accent);color:#151611;border-color:var(--accent)}.class-list{padding:0;margin:0 0 20px;list-style:none;border-top:1px solid var(--line)}.class-list li{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line)}.class-list li[hidden]{display:none}.class-list span{display:block;margin-top:5px;color:var(--muted);font-size:14px}.class-list a{color:var(--accent);padding:8px 10px;border:1px solid var(--line)}.class-list a:hover{border-color:var(--accent)}.membership{display:flex;justify-content:space-between;gap:35px;align-items:center}.membership p:last-child{margin-bottom:0}.price{border-left:1px solid var(--line);padding-left:30px;white-space:nowrap}.price strong{color:var(--accent);font-size:48px;letter-spacing:-.06em}.price .button{display:flex;margin-top:12px}.community{background:linear-gradient(90deg,#10110ff5,#10110f50),url(media/1322711482.jpg) right 35% / cover no-repeat;border-block:1px solid var(--line)}.community-inner{padding-block:95px}.community p:not(.eyebrow){color:var(--ink)}.faq{border-top:1px solid var(--line);padding-top:19px}.faq h3{margin-bottom:12px}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;padding:16px 0;font-weight:700}details p{padding-right:16px}footer{border-top:1px solid var(--line)}.footer{padding-block:22px}.top{font-size:13px;white-space:nowrap}dialog{width:min(92%,590px);max-height:90vh;background:var(--panel);color:var(--ink);border:1px solid #777b55;padding:34px}dialog::backdrop{background:#000b}dialog h2{font-size:clamp(34px,6vw,55px);margin-bottom:20px}dialog ul{padding-left:20px;line-height:1.6;margin-bottom:24px}dialog form{float:right}dialog form button{background:transparent;color:var(--ink);border:1px solid var(--line);font-size:22px;min-width:38px;min-height:38px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:850px){.wrap{width:calc(100% - 48px)}.nav nav{gap:14px}.hero{background-size:auto,auto 110%}.hero-inner{min-height:530px}.cards img{height:145px}.card-copy{padding:16px}.section{padding-block:60px}.visit,.schedule-grid{gap:32px}.footer{flex-wrap:wrap}}
@media(max-width:650px){.wrap{width:calc(100% - 36px)}.nav{min-height:62px;gap:10px}.nav .book{display:none}#menu{display:block;color:var(--ink);background:transparent;border:1px solid var(--line);padding:9px 12px}.nav nav{display:none;position:absolute;top:100%;inset-inline:0;background:var(--bg);padding:12px 18px 18px;border-bottom:1px solid var(--line)}.nav nav.open{display:grid}.nav nav a{padding:7px}.hero{background:linear-gradient(90deg,#10110fee,#10110f48),url(media/799918837.jpg) 62% center / cover no-repeat}.hero-inner{min-height:510px;padding-block:56px 80px}h1{font-size:clamp(56px,13.5vw,84px)}.intro{font-size:17px}.strip .wrap{display:grid;grid-template-columns:auto auto;justify-content:space-between;padding-block:10px}.strip i{display:none}.section-head,.membership{display:block}.section-head p{margin-top:12px}.cards,.schedule-grid,.visit{grid-template-columns:1fr}.cards img{height:200px}.card-copy{padding:20px}.price{margin-top:20px;padding-left:16px;width:max-content;max-width:100%}.community-inner{padding-block:65px}.footer nav{flex-wrap:wrap;gap:12px 18px}.footer{align-items:start}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.club-logo{width:78px;height:58px;object-fit:contain;flex-shrink:0}@media(max-width:650px){.club-logo{width:64px;height:48px}}

.card-copy .training-pricing{margin:0 0 22px;color:var(--ink)}

.competition-section{background:var(--panel);border-block:1px solid var(--line)}.meet-coaching-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}.meet-coaching-grid h3{margin-bottom:18px}.meet-rates{border-collapse:collapse;width:100%;text-align:left;margin-bottom:22px;font-size:14px}.meet-rates th,.meet-rates td{padding:15px 10px;border-bottom:1px solid var(--line);line-height:1.5}.meet-rates thead{color:var(--accent)}.booking-note{margin-top:16px;font-size:13px}.rates-scroll{overflow-x:auto}@media(max-width:1000px){.nav nav{gap:14px;font-size:12px}}@media(max-width:750px){.meet-coaching-grid{grid-template-columns:1fr;gap:30px}}

.club-visit-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:start}.club-visit .club-intro{margin-top:24px;max-width:480px}.club-visit address{font-style:normal;line-height:1.7;margin:24px 0;color:var(--ink)}.club-resources{display:flex;flex-wrap:wrap;gap:20px;margin-top:24px}.club-visit .faq{background:#10110fe8;padding:24px;border:1px solid var(--line)}#visit{scroll-margin-top:85px}@media(max-width:750px){.club-visit-grid{grid-template-columns:1fr;gap:32px}}

.gameday-content{max-width:1000px}.gameday-content>h2{font-size:clamp(42px,7vw,88px);overflow-wrap:anywhere}.gameday-intro{margin-top:34px;max-width:800px}.gameday-content h3{font-size:clamp(22px,3vw,32px);line-height:1.15;margin-bottom:24px}.gameday-content h4{font-size:19px;margin:24px 0 12px}.gameday-content p strong{color:var(--ink)}.gameday-block{border-top:1px solid var(--line);margin-top:44px;padding-top:38px}.gameday-inclusions{padding-left:22px;color:var(--muted);line-height:1.7}.gameday-inclusions li{padding:8px 0}.gameday-inclusions strong{color:var(--ink)}.gameday-steps{padding-left:24px}.gameday-steps li{padding-left:10px}.gameday-faq summary{line-height:1.5}.gameday-content .meet-rates{min-width:460px}

.gameday-preview{max-width:700px;margin-top:24px}.gameday-disclosure{border:0}.gameday-disclosure>summary{color:var(--accent);border-block:1px solid var(--line);font-size:18px;padding:20px 0;margin-top:28px}.gameday-disclosure[open]>summary{margin-bottom:28px}

:root{--bg:#101114;--panel:#17191d;--ink:#f3f3f1;--muted:#b3b4b8;--line:#32343a;--accent:#e63940}.wrap{width:min(100% - 96px,1160px)}header{background:#101114f5}.nav{min-height:88px}.brand{letter-spacing:.08em}.brand strong{font-size:12px}nav{font-weight:700}h1,h2,h3{font-family:Arial,Helvetica,sans-serif;font-weight:900;letter-spacing:-.055em}h1{font-size:clamp(60px,8.5vw,118px);line-height:.96}h1 em{color:var(--ink)}h2{font-size:clamp(38px,5.2vw,67px);line-height:1.02}h3{font-size:31px;line-height:1.08}.hero{background:#101114}.hero-inner{min-height:720px;padding-block:105px 100px}.hero-copy{max-width:1050px}.hero .intro{max-width:660px;font-size:18px;color:var(--muted);margin-block:30px}.hero-note{left:0;right:auto;background:none;padding:0;color:var(--muted)}.eyebrow{color:var(--muted);letter-spacing:.13em}.eyebrow:before{content:'';display:inline-block;background:var(--accent);width:24px;height:3px;vertical-align:middle;margin-right:10px}.button{background:var(--accent);border-color:var(--accent);color:white;border-radius:4px;min-height:49px;padding-inline:24px;text-transform:uppercase;font-size:12px;letter-spacing:.035em}.button:hover{background:#c92831}.ghost{background:transparent;border-color:#686a70;color:var(--ink)}.ghost:hover{background:#24262c}.section{padding-block:100px}.section-head{margin-bottom:44px}.strip{background:var(--bg);border-block:1px solid var(--line);color:var(--muted)}.strip .wrap{min-height:64px}.strip i{color:var(--accent)}.cards{display:block}.cards article{display:grid;grid-template-columns:1fr 1.05fr;border:0;border-top:1px solid var(--line);padding-block:52px;gap:56px;background:none}.cards article:nth-child(even) img{order:2}.cards article:nth-child(even) .card-copy{order:1}.cards img{height:100%;min-height:350px;max-height:530px;filter:grayscale(.7) brightness(.8)}.card-copy{padding:0;justify-content:center}.card-copy h3{font-size:clamp(28px,3.3vw,42px)}.card-copy p:not(.eyebrow){margin:18px 0}.card-copy .who-for{font-size:14px;border-left:2px solid var(--accent);padding-left:16px}.who-for strong{display:block;color:var(--ink);margin-bottom:5px}.card-copy .text-link{margin-top:14px}.text-link{color:var(--ink);font-size:13px;text-transform:uppercase;letter-spacing:.035em}.text-link:hover{color:var(--accent)}.training-pricing{line-height:1.65;color:var(--ink)}.training-pricing strong{color:var(--ink)}.training-pricing .text-link{margin:0 0 12px}.start-section{border-block:1px solid var(--line);background:var(--panel)}.start-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-bottom:35px}.start-grid span{font-size:13px;color:var(--accent);font-weight:700}.start-grid h3{font-size:25px;margin:20px 0 15px}.schedule{background:var(--bg)}.schedule-grid{grid-template-columns:.95fr 1.1fr}.schedule h2{font-size:clamp(34px,4vw,52px)}.filters button[aria-pressed=true]{background:var(--accent);color:white}.class-list a{color:var(--ink)}.competition-section{background:var(--panel)}.gameday-disclosure>summary{color:var(--ink)}.gameday-content>h2{font-size:clamp(40px,6vw,78px)}.community{background:#101114;border-top:1px solid var(--line)}.club-visit .faq{background:var(--panel)}.club-resources{gap:18px}.footer{padding-block:40px;gap:30px}.footer nav{font-size:12px}dialog{background:var(--panel);border-color:var(--line)}
@media(max-width:1000px){.nav nav{gap:16px;font-size:11px}.brand>span{display:none}.cards article{gap:32px}.hero-inner{min-height:640px}.wrap{width:calc(100% - 64px)}}
@media(max-width:750px){.wrap{width:calc(100% - 40px)}.hero-inner{min-height:620px;padding-block:90px}.section{padding-block:64px}.cards article{grid-template-columns:1fr;gap:28px;padding-block:34px}.cards article:nth-child(even) img{order:0}.cards article:nth-child(even) .card-copy{order:0}.cards img{height:270px;min-height:0}.start-grid{grid-template-columns:1fr;gap:15px}.start-grid article{border-bottom:1px solid var(--line);padding-bottom:12px}.start-grid h3{margin-top:12px}.section-head{display:block}.section-head p{margin-top:20px}.schedule-grid{grid-template-columns:1fr}.club-visit-grid{grid-template-columns:1fr}.hero-note{font-size:9px}.nav{min-height:74px}.footer{align-items:start}.strip .wrap{font-size:10px}.gameday-content>h2{font-size:40px}}
@media(max-width:650px){.hero{background:#101114}.hero h1{font-size:clamp(50px,12vw,78px)}.hero-inner{min-height:570px}.hero .intro{font-size:16px}.brand>span{display:inline}.nav nav{background:var(--bg)}.club-logo{width:68px;height:50px}.footer .brand>span{display:inline}}

.age-programs{background:var(--panel);border-top:1px solid var(--line)}.age-program-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px}.age-program-grid article{border-top:2px solid var(--accent);padding-top:24px}.age-program-grid h3{font-size:clamp(27px,3vw,38px);margin-bottom:24px}.national-results{margin-top:56px;padding:32px;background:var(--bg);border:1px solid var(--line)}.national-results>div{display:grid;grid-template-columns:1fr 1fr;gap:40px}.national-results span{font-size:12px;color:var(--accent);font-weight:700;letter-spacing:.1em}.national-results h3{font-size:26px;margin:14px 0}.national-results .results-note{margin:16px 0 0;border-top:1px solid var(--line);padding-top:20px;font-size:14px}.nav nav{gap:16px;font-size:12px}@media(max-width:1100px){.nav .brand>span{display:none}.nav nav{gap:12px;font-size:11px}.nav{gap:16px}}@media(max-width:750px){.age-program-grid,.national-results>div{grid-template-columns:1fr;gap:30px}.national-results{padding:24px}.nav .brand>span{display:inline}}

.coach-section{border-top:1px solid var(--line)}.coach-bios{display:grid;grid-template-columns:1fr 1fr;gap:36px}.coach-bios article{min-width:0;background:var(--panel);border:1px solid var(--line)}.coach-photo{width:100%;height:470px;object-fit:contain;background:#16171a}.will-photo{filter:none}.jacob-photo{filter:none}.coach-bio{padding:30px}.coach-bio h3{font-size:32px;margin-bottom:24px}.nav nav{font-size:11px;gap:12px}.nav .brand>span{display:none}.nav{gap:18px}@media(max-width:1000px){.nav .book{display:none}.nav nav{gap:14px}}@media(max-width:750px){.coach-bios{grid-template-columns:1fr}.coach-photo{height:auto;max-height:580px}.coach-bio{padding:24px}}@media(max-width:650px){.nav .brand>span{display:inline}}

.community-team-photo{width:100%;max-width:520px;height:auto;object-fit:contain;margin:24px 0}

.inquiry-dialog{width:min(94%,640px);padding:32px;overscroll-behavior:contain}.inquiry-dialog h2{font-size:clamp(30px,5vw,44px);line-height:1.08;letter-spacing:-.04em;clear:none}.inquiry-dialog .dialog-close{float:right;margin:0 0 12px 16px}.contact-inquiry{clear:both;display:grid;gap:18px}.contact-inquiry label{display:grid;gap:8px;font-size:14px;font-weight:700}.contact-inquiry input,.contact-inquiry select,.contact-inquiry textarea{width:100%;min-height:46px;padding:11px;background:var(--bg);color:var(--ink);border:1px solid #62646b;border-radius:3px;font:inherit}.contact-inquiry textarea{resize:vertical}.contact-inquiry :is(input,select,textarea):focus-visible{outline:2px solid var(--accent);outline-offset:2px}.contact-inquiry .form-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-note{font-size:12px;line-height:1.6;margin:0}.contact-inquiry .button{width:100%}@media(max-width:650px){.inquiry-dialog{padding:24px}}

/* Keep the athlete and coach visible when this photo is cropped. */
.cards img[src="media/personal-coaching.jpg"]{object-position:right top}

/* Shared monochrome treatment for the three training options. */
.cards article > img{filter:grayscale(1) contrast(1.05) brightness(.88)}

.class-list .class-description{font-size:14px;line-height:1.55;margin:9px 0 0;max-width:48ch;color:var(--muted)}.class-list li>div{min-width:0}.class-list li>a{flex-shrink:0}

.gameday-gallery{margin-top:40px;min-width:0}.gallery-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.gallery-heading h3{font-size:clamp(20px,3vw,30px)}.gallery-controls{display:flex;gap:8px;flex-shrink:0}.gallery-controls button{width:46px;height:46px;background:transparent;color:var(--ink);border:1px solid var(--line);font-size:22px}.gallery-controls button:hover{border-color:var(--accent);color:var(--accent)}.gameday-gallery-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--accent) var(--panel)}.gameday-slide{margin:0;flex:0 0 calc((100% - 32px)/3);scroll-snap-align:start;background:#08090b}.gameday-slide img{width:100%;height:420px;object-fit:contain}.gallery-hint{font-size:12px;margin:12px 0 0}@media(max-width:800px){.gameday-slide{flex-basis:calc((100% - 16px)/2)}.gameday-slide img{height:380px}}@media(max-width:540px){.gameday-slide{flex-basis:100%}.gameday-slide img{height:420px;height:min(115vw,520px)}.gallery-heading{align-items:flex-start}.gallery-heading h3{max-width:220px}}
