:root{--ink:#171717;--forest:#191919;--paper:#faf9f6;--white:#fcfbf8;--muted:#64635e;--line:#deddd6;--display:"Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:1rem}body{background:var(--paper);color:var(--ink);font:16px/1.6 var(--display);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,select,summary{cursor:pointer}button{color:inherit}:focus-visible{outline-offset:4px;outline:3px solid #779a80}p,h1,h2,h3,dl,dd{margin:0}p+p{margin-top:1rem}svg{flex:none;width:18px;height:18px}.shell{width:min(1300px,89%);margin-inline:auto}.skip{z-index:5;color:#000;background:#fff;padding:10px;position:absolute;top:-100px;left:16px}.skip:focus{top:12px}.masthead{color:var(--paper);z-index:2;background:0 0;position:absolute;inset:0 0 auto}footer{color:var(--paper);background:#161616}.navrow,.links,.header-actions,.logo,.button,.hero-actions,.hero-secondary,.strip-inner,.strip-inner a,.season-name,.status,.section-heading,.schedule-head,.card-link,.text-link,.footer-row{align-items:center;display:flex}.navrow{justify-content:space-between;gap:20px;min-height:112px}.logo{width:clamp(144px,15vw,200px);min-width:0;min-height:44px}.logo img{width:100%;height:auto;display:block}.links{gap:clamp(16px,2.4vw,36px)}.links a{color:#f3f1eb;padding-block:10px;font-size:14px}.links a:hover,.footer-row>a:last-child:hover{text-underline-offset:5px;text-decoration:underline}.header-actions{display:none}.button{border:1px solid #0000;border-radius:0;justify-content:center;gap:22px;width:fit-content;min-height:48px;padding:12px 19px;font-size:14px;font-weight:600;line-height:1.3;transition:background .18s,color .18s}.paper{background:var(--ink);color:#fff}.paper:hover{background:#393939}.dark{color:#fff;background:var(--forest)}.dark:hover{background:#30483c}.small{gap:15px;min-height:40px;padding:9px 15px}.menu-toggle{display:none}.kicker,.card-type{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:650;line-height:1.4}.light{color:#d0d8ca}h1,h2,h3,.lead,.schedule strong{text-wrap:balance}.hero-secondary,.card-link,.text-link{gap:9px;width:fit-content;font-size:14px;font-weight:600}.hero-secondary{min-height:44px}.hero-secondary:hover,.card-link:hover,.text-link:hover,.strip-inner a:hover{text-underline-offset:5px;text-decoration:underline}.hero-secondary svg,.card-link svg,.text-link svg{width:16px}.season-strip{background:#e7e9df;border-bottom:1px solid #d1d5c9}.strip-inner{gap:22px;min-height:64px;font-size:14px}.season-name{gap:11px}.season-name svg{color:#526052}.season-name b{font-weight:600}.strip-date{border-left:1px solid #b8c0b4;padding-left:22px}.status{color:#405a43;white-space:nowrap;gap:7px;font-size:12px}.status i{background:#627955;border-radius:50%;width:6px;height:6px}.strip-inner a{gap:11px;margin-left:auto;font-size:13px;font-weight:600}.section{padding-block:clamp(48px,4.9vw,76px)}h2{letter-spacing:-.056em;font-size:clamp(29px,3vw,43px);font-weight:500;line-height:1.08}.kicker+h2{margin:16px 0 24px}.section-heading{justify-content:space-between;align-items:end;gap:30px;margin-bottom:32px}.section-heading p{color:var(--muted);max-width:345px;font-size:15px}.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2vw,32px);display:grid}.card,.card-body{flex-direction:column;display:flex}.card-picture{aspect-ratio:1.48;background:#c4c8ba;overflow:hidden}.card-picture img{object-fit:cover;object-position:50% 51%;width:100%;height:100%;display:block}.card-picture.individual img{object-position:50% 60%}.card-picture.online img{object-position:50% 55%}.card-body{flex:1;padding-top:0}h3,.schedule strong{letter-spacing:-.045em;font-size:clamp(22px,2vw,30px);font-weight:550;line-height:1.17}.card-type{margin-bottom:9px}.card p{color:var(--muted);margin:12px 0 21px;font-size:15px}.card-link{text-underline-offset:5px;width:fit-content;margin-top:0;padding-block:8px;text-decoration:underline}.card-link svg,.text-link svg{display:none}.two-col{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:clamp(40px,9vw,145px);display:grid}.two-col p{color:var(--muted)}.two-col .lead{color:var(--ink);letter-spacing:-.025em;font-size:clamp(20px,1.7vw,28px);line-height:1.4}.winter{background:var(--paper);border-top:1px solid var(--line)}.winter .button,.text-link{margin-top:24px}.schedule{padding:0}.schedule-head{justify-content:space-between;gap:10px}dl{margin:23px 0 15px}dl>div{border-top:1px solid var(--line);justify-content:space-between;gap:15px;padding:13px 0;font-size:14px;display:flex}dt{color:var(--muted)}dd{text-align:right;font-weight:600}.schedule p{font-size:13px}.credentials{flex-wrap:wrap;gap:10px 16px;display:flex}.credentials span{border-top:1px solid var(--line);padding-top:7px;font-size:13px}.coach-description{padding-top:8px}.coach{align-items:center}.coach-portrait img{aspect-ratio:1;object-fit:cover;width:100%;height:auto;display:block}.coach-description .credentials{margin-bottom:26px}.faq{border-top:1px solid var(--line);background:var(--paper)}details{border-bottom:1px solid var(--line)}details:first-child{border-top:1px solid var(--line)}summary{justify-content:space-between;align-items:center;gap:15px;padding:19px 0;font-weight:550;line-height:1.45;list-style:none;display:flex}summary::-webkit-details-marker{display:none}.faq summary>span:before,.online-offer summary>span:before{content:"+";font-size:22px;font-weight:400}.faq details[open]>summary>span:before,.online-offer details[open]>summary>span:before{content:"−"}details p{padding:0 25px 19px 0;font-size:15px}.contact{color:var(--ink);background:var(--paper);border-top:1px solid var(--line)}.contact p{color:var(--muted);margin-top:20px}.contact fieldset{border:0;min-width:0;margin:0;padding:0}.contact label{margin-bottom:16px;font-size:14px;font-weight:500;display:block}.field-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;display:grid}.contact :is(input:not([type=checkbox]),select,textarea){color:#141a15;background:#fff;border:1px solid #cfcec7;border-radius:3px;width:100%;margin-top:6px;padding:10px 12px;font-size:16px;display:block}.contact textarea{resize:vertical}.contact .check{color:var(--muted);align-items:flex-start;gap:9px;font-size:13px;font-weight:400;line-height:1.5;display:flex}.check input{accent-color:#c9d3be;flex:none;width:18px;height:18px;margin:2px 0}.contact .trap{display:none}.success{border-left:2px solid #bfceb8;padding-left:20px}.success p{margin:12px 0 18px}.footer-row{gap:25px;min-height:115px}.footer-row .logo{width:min(260px,57vw)}.footer-row span,.footer-row>a:last-child{color:#c8cdc4;font-size:13px}.footer-row>a:last-child{margin-left:auto}@media (max-width:900px){.shell{width:91%}.links{gap:16px}.links a{font-size:13px}.hero-actions,.strip-inner{gap:14px}.two-col{gap:38px}}@media (max-width:760px){.shell{width:calc(100% - 40px)}.navrow{gap:8px;min-height:84px}.header-actions{display:flex}.navrow .logo{width:clamp(115px,36vw,165px)}.small{gap:8px;padding:8px 12px;font-size:13px}.menu-toggle{width:38px;height:44px;color:var(--paper);background:0 0;border:0;place-items:center;display:grid}.links{display:none}.links.open{background:#171a17;flex-direction:column;align-items:stretch;gap:0;padding:0 20px 14px;display:flex;position:absolute;inset:100% 0 auto}.links a{border-top:1px solid #454a44;padding:12px 0;font-size:16px}.strip-inner{grid-template-columns:1fr auto;gap:4px 8px;padding-block:14px;display:grid}.season-name{gap:7px}.season-name svg{width:16px}.strip-date{border:0;grid-area:2/1;padding:0 0 0 23px;font-size:12px}.strip-inner .status{justify-self:end;font-size:11px}.strip-inner a{grid-area:2/2;gap:5px;font-size:12px}.section{padding-block:50px}.section-heading{margin-bottom:23px;display:block}.section-heading p{margin-top:10px}.grid,.two-col{grid-template-columns:1fr;gap:29px}.card-picture{aspect-ratio:1.85}.card-body{padding-top:16px}.card h3{font-size:27px}.card p{margin:9px 0 12px}.coach-description{padding:0}.faq .two-col{gap:4px}.field-pair{grid-template-columns:1fr;gap:0}.footer-row{gap:8px;min-height:95px}.footer-row span{display:none}}@media (max-width:380px){.shell{width:calc(100% - 32px)}.header-actions{gap:2px}.schedule{padding:18px}dl>div{display:block}dd{text-align:left}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important}}.online-offer{border:0;margin:0 0 8px}.online-offer details,.online-offer details:first-child,.online-offer:first-child{border:0}.online-offer summary{color:var(--muted);padding:10px 0;font-size:13px}.online-offer strong{font-size:15px;font-weight:600}.online-offer ul{color:var(--muted);margin:10px 0;padding-left:18px;font-size:14px}.online-offer li+li{margin-top:6px}.online-offer p{margin-bottom:0;font-size:13px}.programs{padding-top:85px}.coach h2{margin-bottom:22px}.contact h2{margin-bottom:18px}.hero{isolation:isolate;color:#f3f1eb;background:#1a241d;align-items:center;height:100svh;min-height:720px;max-height:1200px;display:flex;position:relative}.hero-visual{z-index:-2;position:absolute;inset:0;overflow:hidden}.hero-photo{object-fit:cover;object-position:center 26%;width:100%;height:100%;display:block}.hero:after{content:"";z-index:-1;background:linear-gradient(90deg,#111a13a6 0%,#111a1355 38%,#111a1310 75%),linear-gradient(#0d150e66,#0000 35%,#0d150e33);position:absolute;inset:0}.hero-inner{width:min(1300px,89%);padding-block:150px 80px}.hero-copy{max-width:730px}h1{letter-spacing:-.065em;margin:0;font-size:clamp(76px,8.2vw,140px);font-weight:550;line-height:.99}.hero-copy>p{color:#f3f1eb;margin-top:28px;font-size:18px}.hero-actions{margin-top:34px;display:flex}.hero-button{color:#171717;background:#f3f1eb;min-height:56px;padding:17px 28px}.hero-button:hover{background:#fff}.grid{align-items:start}.schedule{background:0 0;border:0}@media (max-width:760px){.hero{align-items:flex-end;height:100svh;min-height:650px;max-height:1000px}.hero-photo{object-position:71% center}.hero:after{background:linear-gradient(#10181115 22%,#10181177 52%,#101811e6),linear-gradient(#10181177,#0000 25%)}.hero-inner{width:calc(100% - 40px);padding:130px 0 65px}.hero-copy{max-width:540px}h1{font-size:clamp(65px,12.5vw,94px)}.hero-copy>p{max-width:270px;margin-top:22px;font-size:16px}.hero-actions{margin-top:26px}.programs{padding-top:50px}.card-body{padding-top:0}}.player-questions{margin:28px 0 22px}.player-questions h3{margin:24px 0 18px}.field-help{color:var(--muted);margin-top:5px;font-size:12px;font-weight:400;line-height:1.5;display:block}.card .program-price{color:var(--ink);font-size:15px;font-weight:600}.field-prices{margin-bottom:18px}.field-prices p{margin:0 0 12px}.field-prices .text-link{margin-top:0;font-size:13px}.portal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;min-height:100px;display:flex}.portal-header img{width:180px;height:auto;display:block}.portal-header nav{gap:24px;font-size:14px;display:flex}.portal-main{padding-block:55px 90px}.portal h1{margin:0 0 18px;font-size:clamp(36px,5vw,64px);line-height:1.1}.portal h2{margin-bottom:20px;font-size:clamp(26px,3vw,36px)}.portal h3{margin-bottom:12px;font-size:23px}.portal p{color:var(--muted)}.portal label{margin-bottom:17px;font-size:14px;font-weight:500;display:block}.portal :is(input:not([type=checkbox]),select,textarea){border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:0;margin-top:6px;padding:10px 12px;font-size:16px;display:block}.portal input[type=file]{background:0 0;border:0;padding:12px 0}.portal textarea{resize:vertical}.portal fieldset{border:0;margin:0;padding:0}.portal .check{align-items:flex-start;gap:10px;font-size:13px;display:flex}.portal .check input{flex:none;width:18px;height:18px;margin-top:3px}.auth-form{max-width:460px;margin:15px auto}.auth-form>p{margin-bottom:25px}.auth-options{flex-wrap:wrap;gap:20px;margin-top:25px;display:flex}.auth-options button,.plain-button{color:var(--ink);cursor:pointer;background:0 0;border:0;border-bottom:1px solid;border-radius:0;padding:7px 0;font-size:14px}.portal button:disabled{opacity:.6;cursor:wait}.portal-error{padding-block:16px;color:#a32720!important}.portal-notice{border-block:1px solid var(--line);margin:20px 0;padding:20px 0}.portal-title{justify-content:space-between;align-items:start;gap:20px;display:flex}.portal-eyebrow{margin-bottom:12px;font-size:13px}.portal-status{margin-bottom:12px;font-weight:600}.portal-section{border-top:1px solid var(--line);margin-top:38px;padding-top:35px}.portal-tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:25px;margin:20px 0 30px;display:flex}.portal-tabs button{color:var(--muted);background:0 0;border:0;padding:12px 0;font-size:15px}.portal-tabs button[aria-current]{color:var(--ink);border-bottom:2px solid}.portal-filters{grid-template-columns:2fr 1fr;gap:20px;margin-bottom:22px;display:grid}.row-subtitle{color:var(--muted);margin-top:4px;font-size:13px;font-weight:400;display:block}.application-body{padding:10px 0 30px}.application-body>p{margin-bottom:15px}.application-body form{margin-top:22px}.application-details dd{text-align:left;white-space:pre-wrap;overflow-wrap:anywhere;max-width:65%;font-weight:400}.application-details dt{flex:1}.application-details dd{flex:2}.preserve-lines{white-space:pre-wrap}.portal video{background:#111;width:100%;max-width:100%;max-height:580px;margin:14px 0;display:block}.video-library{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px;display:grid}.portal-intro{max-width:720px;margin-bottom:25px}.upload-form,.password-form{max-width:600px;padding-block:15px 28px}.recovery-row{border-top:1px solid var(--line);padding:20px 0}.recovery-row button{margin-right:20px}.profile-row form{max-width:600px;padding-block:15px 25px}.portal .compact-label{min-width:180px;margin-bottom:0}@media (max-width:760px){.portal-header{flex-wrap:wrap;gap:14px;min-height:80px;padding-block:18px}.portal-header img{width:140px}.portal-header nav{gap:14px;font-size:13px}.portal-main{padding-block:35px 65px}.portal-filters,.video-library{grid-template-columns:1fr;gap:18px}.portal-tabs{gap:15px}.portal-tabs button{font-size:14px}.application-details>div{display:block}.application-details dd{max-width:100%;margin-top:5px}.portal summary{font-size:14px}}.portal summary:after{content:"+";margin-left:10px;font-size:22px;font-weight:400}.portal details[open]>summary:after{content:"−"}.portal summary>span:empty{display:none}.portal-title>.plain-button{white-space:nowrap;flex:none}
