@font-face{font-family:P1P;src:url('/assets/p1p-sans.woff') format('woff');font-weight:400;font-display:swap}@font-face{font-family:P1P;src:url('/assets/p1p-sans-bold.woff') format('woff');font-weight:700;font-display:swap}
:root{--black:#070809;--white:#fff;--blue:#0866ff;--grey:#f0f1f3;--line:#d9dbdf;--muted:#555b63;--dark-muted:#b5bac3;--wrap:1280px;color-scheme:light;scroll-behavior:smooth;font-family:P1P,Arial,Helvetica,sans-serif;color:var(--black);background:var(--black)}*{box-sizing:border-box}body{margin:0;font-size:1rem;line-height:1.6}a{color:inherit}img{max-width:100%;display:block}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-weight:700;line-height:1.04;letter-spacing:-.04em}a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:6px}.wrap{width:min(var(--wrap),calc(100% - 112px));margin-inline:auto}.skip-link{position:fixed;top:-100px;left:20px;z-index:50;background:white;padding:12px 20px;color:black}.skip-link:focus{top:12px}.site-header{display:flex;align-items:center;gap:32px;min-height:98px;padding:20px 56px;color:white;background:var(--black)}.brand{width:122px;flex-shrink:0}.brand img{height:auto;width:100%}.site-header nav{display:flex;align-items:center;gap:32px;margin-left:auto;font-size:.9375rem}.site-header nav a{text-decoration:none;color:#d3d5d9}.site-header nav a:hover{color:white}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:56px;padding:14px 24px;font-size:1rem;line-height:1.4;font-weight:700;text-decoration:none;border:1px solid transparent;transition:background .18s,transform .18s;max-width:100%;text-align:left}.button span{font-size:1.5rem;font-weight:400;line-height:1;flex-shrink:0}.button-blue{background:var(--blue);color:#fff}.button-blue:hover{background:#0058df;transform:translateY(-2px)}.button-white{color:black;background:white}.button-white:hover{background:#dfe7f6}.button-black{color:white;background:var(--black)}.button-black:hover{background:#26303e}.button-small{font-size:.875rem;min-height:44px;padding:10px 16px}.eyebrow{font-size:.875rem;font-weight:700;line-height:1.5;letter-spacing:.1em;text-transform:uppercase}.hero{position:relative;isolation:isolate;color:#fff;overflow:hidden;min-height:790px;display:flex;flex-direction:column;justify-content:space-between}.hero-image{position:absolute;inset:0 0 0 38%;z-index:-2}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:50% 29%}.hero:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#070809 5%,rgba(7,8,9,.96) 34%,rgba(7,8,9,.65) 53%,rgba(7,8,9,.08) 85%),linear-gradient(0deg,#070809 1%,rgba(7,8,9,.58) 16%,transparent 48%)}.hero-content{padding-top:65px;padding-bottom:60px}.hero-content .eyebrow{color:#c4c8ce;margin-bottom:32px}.hero h1{font-size:clamp(4.5rem,7.1vw,7.15rem);text-transform:uppercase;letter-spacing:-.045em;line-height:.96;max-width:790px}.hero h1 span{color:#237bff}.hero-intro{margin-top:30px;max-width:430px;color:#d1d4da;font-size:1.1875rem;line-height:1.5}.hero .button{margin-top:30px;min-width:225px}.hero-location{margin-top:14px;font-size:.875rem;color:#b5bac3}.hero-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;border-top:1px solid #45484e;padding-block:28px 34px}.hero-facts div{display:flex;flex-direction:column;gap:5px}.hero-facts strong{font-size:1.1875rem;letter-spacing:-.01em}.hero-facts span{color:#acb1ba;font-size:.875rem}.section{padding-block:100px}.programs{background:var(--grey)}.section-heading{display:flex;justify-content:space-between;gap:70px;align-items:flex-end;margin-bottom:48px}.section-heading .eyebrow{color:var(--muted);margin-bottom:22px}.section-heading h2{font-size:clamp(2.8rem,4.4vw,4.6rem)}.section-heading>p{max-width:390px;color:var(--muted);line-height:1.65}.program-tabs{display:flex;gap:8px;border-bottom:1px solid #b6bbc3;margin-bottom:38px}.program-tabs a{display:flex;gap:20px;align-items:center;padding:18px 22px;text-decoration:none;border-bottom:3px solid transparent;font-size:1.0625rem;font-weight:700}.program-tabs a span{font-size:.75rem;font-weight:400;color:var(--muted);white-space:nowrap}.program-tabs a[aria-selected=true]{border-color:var(--blue);background:#fff}.program-tabs a:hover{background:#e4e7ec}.program-panel{scroll-margin-top:30px}.program-panel+.program-panel{margin-top:50px}.enhanced .program-panel{margin-top:0}.panel-intro{display:flex;gap:50px;justify-content:space-between;margin-bottom:32px}.panel-intro h3{font-size:2rem;max-width:450px}.panel-intro p{max-width:590px;color:var(--muted)}.camp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.camp-card{padding:30px;background:white;border-top:4px solid var(--blue);display:flex;flex-direction:column}.card-top{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:28px}.card-top .eyebrow{font-size:.75rem;letter-spacing:.07em;color:var(--muted)}.season{font-size:.75rem;border:1px solid var(--line);padding:4px 9px;white-space:nowrap}.camp-card h4{font-size:2.4rem}.camp-dates{margin-top:16px;margin-bottom:22px;font-size:1.125rem;font-weight:700}.camp-facts{margin:0 0 18px}.camp-facts div{display:grid;grid-template-columns:75px minmax(0,1fr);gap:20px;padding:12px 0;border-top:1px solid #e8e9ec}.camp-facts dt{color:var(--muted);font-size:.875rem}.camp-facts dd{margin:0;font-size:1rem;line-height:1.5}small{display:block;color:var(--muted);font-size:.875rem;line-height:1.5;margin-top:3px}.camp-card details{border-top:1px solid var(--line);margin-bottom:22px}details summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:16px;padding:16px 0;font-size:1rem;font-weight:700;line-height:1.45}details summary::-webkit-details-marker{display:none}details summary span{font-size:1.25rem;line-height:1;flex-shrink:0;margin-top:2px;transition:transform .15s}details[open] summary span{transform:rotate(45deg)}details>p{padding-bottom:20px;color:var(--muted)}.card-booking{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-top:auto}.card-booking p{display:flex;flex-direction:column;line-height:1.35}.card-booking strong{font-size:2.5rem;letter-spacing:-.04em}.card-booking p span{font-size:.8125rem;color:var(--muted);margin-top:6px}.card-booking .button{font-size:.875rem;padding:14px 18px;gap:20px;min-height:52px}.upcoming{margin-top:24px;padding:26px 30px;border:1px solid #c7cbd2;display:grid;grid-template-columns:160px 1fr auto;gap:25px;align-items:center}.upcoming .eyebrow{color:var(--muted)}.upcoming h4{font-size:1.6rem;margin-bottom:8px}.upcoming p:not(.eyebrow){color:var(--muted);max-width:540px;font-size:.9375rem}.outline-label{display:inline-block;font-size:.8125rem;border:1px solid #adb2bc;padding:6px 12px;line-height:1.5;width:max-content;max-width:100%}.private-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;margin-bottom:40px}.private-intro .eyebrow{color:var(--muted);margin-bottom:15px}.private-intro h3{font-size:2.6rem;margin-bottom:20px}.private-intro p:not(.eyebrow){max-width:575px;color:var(--muted)}.private-intro dl{margin:0}.private-intro dl>div{padding:16px 0;border-bottom:1px solid #ccd0d6}.private-intro dt{font-size:.875rem;color:var(--muted);margin-bottom:5px}.private-intro dd{margin:0}.training-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.training-card{padding:26px 22px;background:white;display:flex;flex-direction:column;border-top:3px solid var(--black)}.training-card .eyebrow{font-size:.75rem;letter-spacing:.04em;color:var(--muted);margin-bottom:22px}.training-card h4{font-size:1.75rem}.training-price{font-size:2.7rem;font-weight:700;letter-spacing:-.06em;line-height:1.2;margin:22px 0 3px}.rate{font-size:.875rem;color:var(--muted);margin-bottom:24px}.training-card>p:last-of-type{color:var(--muted);font-size:.9375rem;margin-bottom:28px}.training-card .button{font-size:.875rem;gap:12px;padding:12px 14px;margin-top:auto}.club-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.club-grid article{background:#fff;padding:35px}.club-grid .eyebrow{color:var(--muted);margin-bottom:20px}.club-grid h4{font-size:2.7rem;margin-bottom:20px}.club-grid article>p:not(.eyebrow){color:var(--muted);margin-bottom:24px}.text-link{font-weight:700;text-decoration:none;display:inline-flex;align-items:center;gap:20px;padding:12px 0;border-bottom:1px solid currentColor;font-size:.9375rem}.text-link span{font-size:1.25rem}.program-panel>.text-link{margin-top:24px}.booking-notes{display:grid;grid-template-columns:210px 1fr;column-gap:50px;margin-top:55px;padding-top:35px;border-top:1px solid #b9bec6}.booking-notes>.eyebrow{grid-row:span 3;color:var(--muted);padding-top:16px}.booking-notes details{border-bottom:1px solid #cbd0d6}.booking-notes details>p{max-width:850px}.about{background:var(--black);color:white}.about .section-heading .eyebrow,.about .section-heading>p{color:var(--dark-muted)}.story{display:grid;grid-template-columns:1fr 1.65fr;gap:80px;border-top:1px solid #44474c;padding:45px 0 65px}.story .eyebrow{color:#aeb4be;margin-bottom:20px}.story h3{font-size:3rem}.story>div:last-child{color:#bcc1c9}.story>div:last-child p+p{margin-top:20px}.team-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding-top:25px;border-top:1px solid #44474c;margin-bottom:30px}.team-heading h3{font-size:2.2rem}.team-heading p{font-size:.9375rem;color:var(--dark-muted)}.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.coach-photo{aspect-ratio:4/4.3;background:#171a20;overflow:hidden;margin-bottom:24px}.coach-photo img{width:100%;height:100%;object-fit:cover;object-position:center 25%;filter:grayscale(1);transition:filter .4s,transform .5s}.coach-card:hover img{filter:grayscale(.1);transform:scale(1.02)}.coach-card .eyebrow{font-size:.75rem;letter-spacing:.07em;color:#999fa9;margin-bottom:8px}.coach-card h4{font-size:2rem;margin-bottom:16px}.coach-card>p:not(.eyebrow){color:#b5bac3;line-height:1.6;font-size:.9375rem}.coach-card details{border-top:1px solid #44474c;margin-top:22px}.coach-card details summary{font-size:.9375rem}.coach-card details>p{color:#b5bac3;font-size:.9375rem}.testimonial{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;border-block:1px solid #44474c;padding:40px 0;margin-top:65px}.testimonial .eyebrow{color:#aeb4be;margin-bottom:20px}.testimonial blockquote{font-size:clamp(1.5rem,2.3vw,2rem);line-height:1.4;letter-spacing:-.025em;margin:0;max-width:830px;font-weight:700}.quote-credit{color:#aeb4be;font-size:.875rem;margin-top:18px}.testimonial>.text-link{flex-shrink:0;white-space:nowrap}.final-cta{margin-top:65px;display:grid;grid-template-columns:1fr auto;gap:22px;align-items:center}.final-cta .eyebrow{grid-column:1/-1;color:#b5bac3}.final-cta h3{font-size:clamp(2.7rem,4.5vw,4.6rem)}.final-cta .button{min-width:280px}.site-footer{color:#9298a3;display:flex;align-items:center;gap:40px;border-top:1px solid #44474c;padding-block:35px;font-size:.8125rem}.site-footer>a{width:85px;flex-shrink:0}.site-footer img{width:85px;height:auto}.site-footer p:last-child{margin-left:auto}.site-footer p span{color:#7f8793}section{scroll-margin-top:20px}[hidden]{display:none!important}
@media(min-width:1550px){.hero-content{padding-top:85px}.hero{min-height:860px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.site-header{padding-inline:32px;gap:24px}.section{padding-block:75px}.section-heading{gap:40px}.section-heading>p{max-width:325px}.hero h1{font-size:6rem}.hero{min-height:780px}.card-booking{flex-wrap:wrap}.card-booking .button{width:100%}.training-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.training-card{padding:28px}.upcoming{grid-template-columns:135px 1fr}.upcoming>.outline-label{grid-column:2}.story{gap:45px}.team-grid{gap:22px}.testimonial{gap:30px;flex-direction:column;align-items:flex-start}.program-tabs a{gap:12px;padding-inline:18px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.site-header{min-height:82px;padding:18px 20px;gap:18px;flex-wrap:wrap}.brand{width:94px}.site-header nav{order:3;width:100%;gap:24px;justify-content:flex-start;margin:3px 0 0;font-size:.875rem}.site-header>.button{margin-left:auto;font-size:.8125rem;padding:9px 12px;min-height:44px;gap:20px}.hero{min-height:775px}.hero-image{inset:0}.hero-image img{object-position:67% 15%;opacity:.9}.hero:before{background:linear-gradient(90deg,rgba(7,8,9,.87),rgba(7,8,9,.45) 60%,rgba(7,8,9,.2)),linear-gradient(0deg,#070809 0%,rgba(7,8,9,.94) 20%,rgba(7,8,9,.3) 75%,rgba(7,8,9,.5) 100%)}.hero-content{padding-top:46px;padding-bottom:45px}.hero-content .eyebrow{font-size:.75rem;letter-spacing:.055em;max-width:270px;margin-bottom:35px}.hero h1{font-size:clamp(3.55rem,12.2vw,6rem);letter-spacing:-.045em}.hero-intro{font-size:1.0625rem;max-width:365px;margin-top:24px;color:#e2e4e8}.hero .button{margin-top:25px}.hero-location{font-size:.8125rem}.hero-facts{gap:18px;padding-block:22px 28px;grid-template-columns:1fr}.hero-facts div{flex-direction:row;align-items:baseline;gap:14px}.hero-facts strong{font-size:1rem;min-width:104px}.hero-facts span{font-size:.8125rem;line-height:1.5}.section{padding-block:58px}.section-heading{display:block;margin-bottom:30px}.section-heading .eyebrow{font-size:.75rem;letter-spacing:.07em;margin-bottom:18px}.section-heading h2{font-size:clamp(2.4rem,8vw,3.5rem)}.section-heading>p{margin-top:24px;max-width:100%}.program-tabs{gap:0;margin-bottom:30px;align-items:stretch}.program-tabs a{padding:15px 10px;gap:7px;flex:1;flex-direction:column;align-items:flex-start;justify-content:space-between;font-size:.875rem;line-height:1.35}.program-tabs a span{font-size:.75rem;white-space:normal}.panel-intro{display:block}.panel-intro h3{font-size:1.85rem;margin-bottom:16px}.camp-grid,.club-grid{grid-template-columns:1fr;gap:20px}.camp-card{padding:24px 22px}.card-top{margin-bottom:22px}.card-top .eyebrow{font-size:.75rem}.season{padding:4px 7px;font-size:.75rem}.camp-card h4{font-size:2.15rem}.camp-dates{font-size:1.0625rem}.camp-facts div{grid-template-columns:58px minmax(0,1fr);gap:14px}.camp-facts dd{font-size:.9375rem}.camp-facts small{font-size:.875rem}.card-booking{align-items:center;flex-wrap:nowrap;gap:18px}.card-booking strong{font-size:2.2rem}.card-booking p span{font-size:.75rem}.card-booking .button{width:auto;padding-inline:12px;font-size:.8125rem;gap:14px}.upcoming{padding:22px;display:block}.upcoming h4{margin-top:14px}.upcoming .outline-label{margin-top:16px}.private-intro{grid-template-columns:1fr;gap:24px;margin-bottom:30px}.private-intro h3{font-size:2.3rem}.training-grid{grid-template-columns:1fr;gap:18px}.training-card{padding:25px}.training-card .eyebrow{margin-bottom:16px}.training-price{margin-top:16px}.training-card .button{min-height:50px}.club-grid article{padding:27px}.club-grid h4{font-size:2.3rem}.booking-notes{display:block;margin-top:40px;padding-top:24px}.booking-notes>.eyebrow{margin-bottom:12px;padding-top:0;font-size:.75rem}.story{display:block;padding:32px 0 42px}.story h3{font-size:2.5rem;margin-bottom:26px}.story .eyebrow{font-size:.75rem}.team-heading{display:block;padding-top:27px}.team-heading h3{font-size:2rem}.team-heading p{margin-top:12px}.team-grid{grid-template-columns:1fr;gap:35px}.coach-photo{aspect-ratio:4/3.7;max-height:460px}.coach-photo img{object-position:center 22%}.coach-card h4{font-size:2rem}.coach-card>p:not(.eyebrow){font-size:1rem}.testimonial{padding-block:30px;margin-top:40px;gap:22px}.testimonial blockquote{font-size:1.6rem}.final-cta{display:block;margin-top:45px}.final-cta .eyebrow{font-size:.75rem;margin-bottom:22px}.final-cta h3{font-size:2.9rem;margin-bottom:26px}.final-cta .button{min-width:0;width:100%}.site-footer{gap:20px;flex-wrap:wrap;padding-block:28px;font-size:.75rem}.site-footer>a{width:75px}.site-footer img{width:75px}.site-footer p:last-child{width:100%;margin:0}details summary{min-height:52px}}
@media(max-width:380px){.wrap{width:calc(100% - 32px)}.site-header{padding-inline:16px}.hero-facts div{gap:8px}.hero-facts strong{min-width:96px}.card-booking{flex-wrap:wrap}.card-booking .button{width:100%}.card-top{flex-wrap:wrap;gap:8px}.program-tabs a{padding-inline:8px}.hero h1{font-size:3.45rem}.camp-card{padding:22px 18px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
