:root{--blue:#0757ff;--blue2:#003bd1;--black:#02050a;--panel:#050b14;--text:#f7f9ff;--muted:#aeb8ca;--line:#173052}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--text);font-family:Inter,Arial,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.site-header{height:92px;position:absolute;z-index:20;top:0;left:0;right:0;display:grid;grid-template-columns:180px 1fr auto;align-items:center;padding:0 3.5vw;gap:28px}.brand{width:max-content;display:flex;flex-direction:column}.brand-mark{font:800 58px/43px 'Barlow Condensed',sans-serif;letter-spacing:-5px}.brand-name{font:700 16px/1 'Barlow Condensed';letter-spacing:8px;color:var(--blue);padding-left:2px}.main-nav{display:flex;justify-content:center;gap:42px}.main-nav a{font:700 17px 'Barlow Condensed';text-transform:uppercase;letter-spacing:.5px;padding:30px 0 10px;border-bottom:2px solid transparent}.main-nav a:hover,.main-nav a.active{color:var(--blue);border-color:var(--blue)}.menu-button{display:none}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:52px;padding:0 28px;border:1px solid var(--blue);background:linear-gradient(135deg,var(--blue),var(--blue2));color:white;text-transform:uppercase;font:700 18px 'Barlow Condensed';letter-spacing:.5px;cursor:pointer;transition:.2s}.button:hover{transform:translateY(-2px);filter:brightness(1.13)}.button-outline{background:rgba(3,9,17,.55);border-color:#8390a7}.header-cta{min-height:46px;padding:0 22px}.hero{position:relative;min-height:780px;display:flex;align-items:center;overflow:hidden}.hero-photo{position:absolute;inset:0;background-image:url('assets/coach-rink.jpeg');background-size:cover;background-position:center 36%}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(95deg,rgba(0,0,0,.99) 0%,rgba(0,0,0,.9) 28%,rgba(0,12,40,.12) 61%,rgba(0,18,80,.22) 100%);mix-blend-mode:multiply}.hero-shade{position:absolute;inset:0;background:radial-gradient(circle at 76% 34%,rgba(0,90,255,.25),transparent 30%),linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.25))}.hero-content{position:relative;z-index:2;width:55%;padding:130px 3.7vw 75px}.eyebrow{margin:0 0 14px;color:var(--blue);font:700 18px 'Barlow Condensed';letter-spacing:7px}.hero h1{margin:0;font:italic 800 clamp(63px,7.1vw,112px)/.9 'Barlow Condensed';letter-spacing:-2px}.hero h1 em{font-style:italic;color:var(--blue)}.rule{width:58px;height:3px;background:var(--blue);margin:24px 0}.hero-copy{text-transform:uppercase;font-size:19px;line-height:1.55;letter-spacing:.5px}.hero-actions{display:flex;gap:16px;margin-top:30px}.play{font-size:14px}.pillars{position:relative;z-index:4;margin:-28px 3.2vw 0;display:grid;grid-template-columns:repeat(4,1fr);background:rgba(2,7,14,.96);border:1px solid var(--line)}.pillars article{text-align:center;padding:30px 18px;position:relative}.pillars article:not(:last-child):after{content:"";position:absolute;right:0;top:24%;bottom:24%;width:1px;background:#26384f}.icon{color:var(--blue);font-size:42px;line-height:1}.pillars h2,.details h2,.camp-copy h2,.registration h2{font:700 34px 'Barlow Condensed';margin:10px 0 8px;text-transform:uppercase}.pillars h2{font-size:23px}.pillars p,.camp-copy p,.detail-card p,.registration p{color:#d0d6e0;line-height:1.65}.camp-section{display:grid;grid-template-columns:30% 70%;gap:34px;padding:44px 3.7vw 28px;align-items:center}.camp-copy .button{margin-top:18px}.camp-banner{height:300px;border:1px solid var(--blue);position:relative;overflow:hidden;background:radial-gradient(ellipse at center,rgba(18,80,170,.22),transparent 50%),linear-gradient(#06101e,#01040a)}.rink-lines{position:absolute;inset:0;background:linear-gradient(110deg,transparent 49.7%,rgba(7,87,255,.18) 50%,transparent 50.3%),repeating-linear-gradient(90deg,transparent 0 10%,rgba(255,255,255,.035) 10.2% 10.4%);transform:perspective(450px) rotateX(63deg) scale(1.7);transform-origin:bottom}.camp-logo{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.camp-logo img{width:250px;filter:invert(1)}.camp-logo span{color:var(--blue);letter-spacing:12px;font-weight:700;margin-top:-6px}.camp-logo strong{font:italic 800 47px 'Barlow Condensed';margin-top:15px;border-bottom:6px solid var(--blue)}.details{border-top:1px solid #0e2036;background:#04101d;display:grid;grid-template-columns:repeat(3,1fr);padding:44px 3.7vw;gap:50px}.detail-card blockquote{margin:15px 0 0;color:#dbe4f3;line-height:1.6;font-style:italic}.socials{display:flex;gap:14px;margin-top:18px}.socials a{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--blue);color:var(--blue);font:700 16px 'Barlow Condensed'}.registration{padding:76px 3.7vw;display:grid;grid-template-columns:1fr 1.3fr;gap:70px;background:linear-gradient(120deg,#02050a,#061328)}.registration form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.registration label{font:600 14px Inter;display:block}.registration input,.registration select,.registration textarea{display:block;width:100%;margin-top:8px;border:1px solid #294466;background:#050c16;color:#fff;padding:14px;border-radius:0;outline:none}.registration input:focus,.registration select:focus,.registration textarea:focus{border-color:var(--blue)}.wide{grid-column:1/-1}.form-status{margin:0;color:#7eafff}footer{display:flex;justify-content:space-between;padding:24px 3.7vw;border-top:1px solid #14243a;color:#7f8da3;font-size:13px}.video-modal{position:fixed;z-index:100;inset:0;background:rgba(0,0,0,.85);display:grid;place-items:center;padding:20px}.video-modal[hidden]{display:none}.video-dialog{position:relative;width:min(700px,100%);background:#050b14;border:1px solid var(--blue);padding:35px}.close-modal{position:absolute;right:15px;top:8px;color:#fff;background:none;border:0;font-size:36px;cursor:pointer}.video-placeholder{min-height:310px;margin-top:20px;display:grid;place-items:center;text-align:center;background:linear-gradient(135deg,#07162c,#010207);border:1px solid #172e4e;color:#a9b9d3}.video-placeholder span{font-size:60px;color:var(--blue);margin-bottom:-90px}.reveal{opacity:0;transform:translateY(20px);transition:.7s}.reveal.visible{opacity:1;transform:none}
@media(max-width:1000px){.site-header{grid-template-columns:140px 1fr auto}.main-nav{gap:18px}.main-nav a{font-size:15px}.hero-content{width:62%}.details{gap:25px}.camp-logo img{width:210px}}
@media(max-width:760px){.site-header{position:absolute;height:78px;grid-template-columns:1fr auto;padding:0 20px}.brand-mark{font-size:48px}.brand-name{font-size:12px;letter-spacing:6px}.menu-button{display:block;border:1px solid #466081;background:#06101d;color:#fff;padding:10px 15px;font:700 16px 'Barlow Condensed'}.header-cta{display:none}.main-nav{display:none;position:absolute;top:70px;left:20px;right:20px;background:#040a13;border:1px solid #18324f;padding:14px;flex-direction:column;gap:0}.main-nav.open{display:flex}.main-nav a{padding:12px}.hero{min-height:720px;align-items:flex-end}.hero-photo{background-position:63% center}.hero-photo:after{background:linear-gradient(90deg,rgba(0,0,0,.98),rgba(0,0,0,.75) 58%,rgba(0,0,0,.2))}.hero-content{width:100%;padding:135px 20px 55px}.hero h1{font-size:64px}.hero-copy{font-size:15px}.hero-actions{flex-wrap:wrap}.pillars{grid-template-columns:1fr 1fr;margin:0}.pillars article:nth-child(2):after{display:none}.pillars article:nth-child(-n+2){border-bottom:1px solid #26384f}.camp-section{grid-template-columns:1fr;padding:55px 20px}.camp-banner{height:245px}.camp-logo img{width:180px}.camp-logo strong{font-size:38px}.details{grid-template-columns:1fr;padding:50px 20px}.registration{grid-template-columns:1fr;padding:60px 20px;gap:30px}.registration form{grid-template-columns:1fr}.registration form>*{grid-column:1}footer{gap:10px;flex-direction:column;padding:22px 20px}}
@media(max-width:420px){.hero h1{font-size:55px}.hero-actions .button{width:100%}.pillars{grid-template-columns:1fr}.pillars article{border-bottom:1px solid #26384f}.pillars article:after{display:none}.camp-logo strong{font-size:31px}.camp-logo span{letter-spacing:8px}}

.camp-about h3{font:italic 800 27px 'Barlow Condensed';color:#fff;margin:0 0 16px;text-transform:uppercase}
.camp-about p{margin:0 0 13px}.camp-about strong{color:#fff}
.coaches{padding:72px 3.7vw;background:#02050a;border-top:1px solid #0e2036}
.coaches-heading{max-width:760px;margin-bottom:34px}
.coaches-heading h2,.coach-card h2{font:700 38px 'Barlow Condensed';margin:8px 0 14px;text-transform:uppercase}
.coach-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.coach-card{border:1px solid #173052;background:linear-gradient(145deg,#06101d,#02050a);padding:34px}
.coach-card p{color:#d0d6e0;line-height:1.7}
@media(max-width:760px){.coaches{padding:55px 20px}.coach-grid{grid-template-columns:1fr}.coach-card{padding:26px}.coaches-heading h2,.coach-card h2{font-size:32px}}

.camp-program{padding:76px 3.7vw;background:linear-gradient(180deg,#02050a,#06101d);border-top:1px solid #0e2036}
.camp-program-heading{max-width:900px;margin:0 auto 42px;text-align:left}
.camp-program-heading h2{font:italic 800 clamp(42px,5vw,72px)/.95 'Barlow Condensed';margin:0;text-transform:uppercase}
.camp-program-heading p{color:#d0d6e0;line-height:1.7}
.age-group-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:34px 0 54px}
.age-group-card{border:1px solid #173052;background:linear-gradient(145deg,#06101d,#02050a);padding:34px}
.age-group-card h3{font:800 34px 'Barlow Condensed';margin:6px 0 14px;text-transform:uppercase}
.age-group-card p{color:#d0d6e0;line-height:1.7}
.roster-cap{margin-top:20px;font:700 20px 'Barlow Condensed';text-transform:uppercase}
.limited{display:inline-block;margin-top:10px;padding:8px 12px;border:1px solid var(--blue);color:#fff;font:700 16px 'Barlow Condensed';text-transform:uppercase}
.schedule-wrap{margin-top:20px}
.schedule-table-wrap{overflow-x:auto;border:1px solid #173052}
.schedule-table{width:100%;border-collapse:collapse;min-width:900px;background:#030812}
.schedule-table th,.schedule-table td{padding:20px;border:1px solid #173052;text-align:left;vertical-align:top;line-height:1.65}
.schedule-table th{background:#07162c;color:#fff;font:700 20px 'Barlow Condensed';text-transform:uppercase}
.schedule-table td:first-child{width:110px;color:#fff;font-family:'Barlow Condensed';font-size:20px;text-transform:uppercase}
.player-receives{margin-top:48px;border-top:1px solid #173052;padding-top:38px}
.feature-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin:22px 0 28px}
.feature-grid div{border:1px solid #173052;background:#050b14;padding:18px;min-height:92px;display:flex;align-items:center}
.player-receives p{color:#d0d6e0;line-height:1.7;max-width:950px}
@media(max-width:1000px){.feature-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){
  .camp-program{padding:58px 20px}
  .age-group-grid{grid-template-columns:1fr}
  .feature-grid{grid-template-columns:1fr}
  .age-group-card{padding:26px}
}

.camp-event-details{margin:34px 0 10px}
.event-detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.event-detail-grid>div{border:1px solid #173052;background:#050b14;padding:20px}
.event-detail-grid span{display:block;color:var(--blue);font:700 15px 'Barlow Condensed';letter-spacing:2px;margin-bottom:8px}
.event-detail-grid strong{font:700 21px/1.35 'Barlow Condensed'}
.camp-price{margin-top:10px;color:#fff;font:700 19px 'Barlow Condensed';text-transform:uppercase}
@media(max-width:900px){.event-detail-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.event-detail-grid{grid-template-columns:1fr}}

.registration-final{padding:70px 3.7vw;background:#02050a;border-top:1px solid #173052}
.registration-final h2,.payment-box h3,.policy-box h3{font:700 34px 'Barlow Condensed';text-transform:uppercase}
.registration-final p{color:#d0d6e0;line-height:1.7}
.payment-box,.policy-box{margin-top:25px;padding:28px;border:1px solid #173052;background:#050b14}
.payment-box strong{font:700 32px 'Barlow Condensed';color:#fff}

.payment-note{margin:14px 0 20px;max-width:650px}
.venmo-button{margin-top:4px}
@media(max-width:520px){.venmo-button{width:100%}}
