:root{--navy:#07162f;--blue:#1768ff;--purple:#7447e9;--yellow:#ffd43b;--coral:#ff5f57;--teal:#00a99d;--white:#fff;--ink:#0c1730;--muted:#617087;--line:#dbe2eb}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:16px}a{color:inherit;text-decoration:none}.topbar{height:82px;padding:0 clamp(20px,5vw,80px);display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:20;width:100%;color:#fff;border-bottom:1px solid #ffffff24}.brand{display:flex;align-items:center;gap:13px;font-family:Oswald,sans-serif;font-size:18px;font-weight:700;letter-spacing:.03em}.brand em{font-style:normal;color:var(--yellow)}.brand-mark{display:flex;align-items:center;gap:3px}.brand-mark i{display:block;width:5px;height:22px;border-radius:2px;background:var(--yellow)}.brand-mark b{display:block;width:28px;height:8px;background:#fff;box-shadow:0 -6px 0 -2px #fff,0 6px 0 -2px #fff}.topbar nav{display:flex;align-items:center;gap:34px;font-weight:700;font-size:14px}.topbar nav a:not(.nav-cta){position:relative}.topbar nav a:not(.nav-cta):after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:2px;background:var(--yellow);transition:.25s}.topbar nav a:hover:after{width:100%}.nav-cta{background:var(--yellow);color:var(--navy);padding:12px 18px}.menu-toggle{display:none;background:none;border:0}.hero{min-height:760px;height:100vh;position:relative;color:#fff;overflow:hidden;background:var(--navy)}.hero>img{position:absolute;width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,12,27,.97) 0%,rgba(3,12,27,.73) 38%,rgba(3,12,27,.08) 76%),linear-gradient(0deg,rgba(3,12,27,.72),transparent 38%)}.hero-copy{position:relative;z-index:2;padding:clamp(160px,21vh,230px) clamp(20px,7vw,120px) 120px;max-width:820px}.eyebrow,.section-kicker{font-size:12px;font-weight:800;letter-spacing:.19em}.eyebrow{display:flex;align-items:center;gap:12px}.eyebrow span{width:38px;height:3px;background:var(--yellow)}h1,h2,h3{font-family:Oswald,sans-serif;margin:0;line-height:.95}h1{font-size:clamp(64px,9vw,132px);letter-spacing:-.035em;font-weight:500}h1 strong{font-weight:700;color:var(--yellow)}.hero-copy>p:not(.eyebrow){font-size:clamp(17px,1.5vw,21px);line-height:1.65;color:#d8e1f0;max-width:600px;margin:26px 0 34px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:16px 22px;font-size:14px;font-weight:800;transition:.2s}.button:hover{transform:translateY(-2px)}.button.primary{background:var(--yellow);color:var(--navy)}.button.ghost{border:1px solid #ffffff75;color:#fff}.hero-strip{position:absolute;z-index:3;bottom:0;width:100%;display:flex;justify-content:space-around;align-items:center;gap:20px;padding:17px 5vw;background:var(--blue);font-family:Oswald,sans-serif;font-size:15px;letter-spacing:.12em}.hero-strip b{color:var(--yellow);font-size:24px}.section-pad{padding:clamp(75px,9vw,130px) clamp(20px,7vw,120px)}.intro{display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;align-items:end}.section-kicker{color:var(--blue);margin:0 0 25px}.intro h2,.schedule h2,.team h2,.visit h2{font-size:clamp(48px,6vw,88px);letter-spacing:-.025em}.intro h2 em,.team h2 em{font-style:normal;color:var(--purple)}.intro-copy{font-size:18px;line-height:1.8;color:var(--muted);max-width:600px;margin:0}.program-grid{padding-top:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0}.program-card{min-height:450px;padding:30px;position:relative;display:flex;flex-direction:column;color:#fff;overflow:hidden}.program-card:after{content:"";position:absolute;width:220px;height:220px;border:1px solid #ffffff3b;border-radius:50%;right:-90px;top:-80px}.program-card.blue{background:var(--blue)}.program-card.purple{background:var(--purple)}.program-card.yellow{background:var(--yellow);color:var(--navy)}.program-card.coral{background:var(--coral)}.card-num{font-size:13px;font-weight:800;opacity:.8}.line-icon{font-size:55px;font-weight:200;margin:24px 0 auto}.program-card h3{font-size:36px;letter-spacing:.01em}.program-card p{line-height:1.65;font-size:14px;min-height:72px}.tag{font-size:11px;letter-spacing:.15em;font-weight:800;margin-top:20px}.schedule{background:var(--navy);color:#fff}.schedule-head{display:grid;grid-template-columns:1fr .65fr;gap:8vw;align-items:end}.schedule-head h2 em,.visit h2 em{font-style:normal;color:var(--yellow)}.section-kicker.light{color:#7fa9ff}.schedule-head>p{color:#aebbd0;line-height:1.75;margin:0}.day-tabs{display:flex;margin:55px 0 8px;border-bottom:1px solid #32415c}.day-tabs button{flex:1;color:#91a0b8;background:none;border:0;padding:18px 10px;font-family:Manrope,sans-serif;font-weight:800;cursor:pointer;border-bottom:3px solid transparent;font-size:14px}.day-tabs button.active{color:var(--yellow);border-color:var(--yellow)}.class-list{display:grid}.class-item{display:grid;grid-template-columns:110px 1fr 170px 48px;align-items:center;gap:20px;padding:22px 12px;border-bottom:1px solid #24334e}.class-time{font-family:Oswald,sans-serif;font-size:25px;color:var(--yellow)}.class-title{font-family:Oswald,sans-serif;font-size:24px;letter-spacing:.03em}.class-meta{font-size:13px;color:#92a2bb}.class-room{font-size:12px;border:1px solid #40506b;padding:8px 10px;text-align:center}.class-arrow{font-size:21px;text-align:right}.team{display:grid;grid-template-columns:1.4fr .6fr;gap:6vw;align-items:stretch}.team-panel>p:not(.section-kicker){color:var(--muted);line-height:1.8;max-width:680px;font-size:17px}.coach-row{margin-top:44px;display:flex;flex-wrap:wrap;gap:9px}.coach-row span{padding:10px 13px;background:#edf2f8;font-size:12px;font-weight:800}.quote-card{background:var(--purple);color:#fff;padding:42px;display:flex;flex-direction:column;justify-content:center;min-height:390px}.quote-card>span{font-family:serif;font-size:100px;line-height:.5;color:var(--yellow)}blockquote{font-family:Oswald,sans-serif;font-size:30px;line-height:1.25;margin:30px 0}.quote-card p{font-size:11px;font-weight:800;letter-spacing:.15em}.visit{padding:clamp(70px,9vw,120px) clamp(20px,7vw,120px);background:var(--blue);color:#fff;display:grid;grid-template-columns:1fr 1fr;align-items:center;overflow:hidden}.visit-copy>p:not(.section-kicker){font-size:18px;color:#d9e4ff;line-height:1.7;margin:25px 0 35px}.rings{position:relative;height:430px;display:grid;place-items:center}.rings i{position:absolute;border:2px solid #ffffff45;border-radius:50%;width:180px;height:180px}.rings i:nth-child(2){width:290px;height:290px;border-color:#ffffff2d}.rings i:nth-child(3){width:410px;height:410px;border-color:#ffffff1c}.rings strong{font-family:Oswald,sans-serif;font-size:100px;color:var(--yellow)}footer{background:#030b19;color:#fff;padding:35px clamp(20px,7vw,120px);display:flex;align-items:center;justify-content:space-between;gap:25px}footer p{font-size:11px;letter-spacing:.13em;color:#8e9bb0}.reveal{opacity:0;transform:translateY(24px);transition:.7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:950px){.topbar nav{display:none;position:absolute;top:82px;left:0;right:0;padding:28px;background:var(--navy);flex-direction:column;align-items:flex-start}.topbar nav.open{display:flex}.menu-toggle{display:grid;gap:7px;padding:10px}.menu-toggle span{width:28px;height:2px;background:#fff}.program-grid{grid-template-columns:repeat(2,1fr)}.intro,.schedule-head,.team,.visit{grid-template-columns:1fr}.intro,.schedule-head{gap:35px}.quote-card{min-height:300px}.rings{height:330px}.rings i:nth-child(3){width:320px;height:320px}}
@media(max-width:600px){.hero{min-height:720px}.hero>img{object-position:58% center}.hero-overlay{background:linear-gradient(90deg,rgba(3,12,27,.97),rgba(3,12,27,.58)),linear-gradient(0deg,rgba(3,12,27,.85),transparent)}.hero-strip span:nth-of-type(3),.hero-strip span:nth-of-type(4),.hero-strip b:nth-of-type(3){display:none}.program-grid{grid-template-columns:1fr}.program-card{min-height:380px}.class-item{grid-template-columns:76px 1fr 35px;gap:12px}.class-meta{grid-column:2}.class-room{display:none}.day-tabs button{font-size:12px}.team{padding-left:20px;padding-right:20px}.visit{padding-bottom:35px}.rings{height:280px}.rings i:nth-child(3){width:270px;height:270px}.rings i:nth-child(2){width:210px;height:210px}footer{flex-direction:column;text-align:center}.intro h2,.schedule h2,.team h2,.visit h2{font-size:47px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.button{transition:none}}
.schedule-source{display:inline-block;margin-top:12px;color:var(--yellow);font-weight:800;text-decoration:underline;text-underline-offset:4px}
.schedule-source:hover{color:#fff}
.class-item{grid-template-columns:165px minmax(0,1fr) 130px;gap:18px;padding:15px 12px}
.class-time{font-size:21px;white-space:nowrap}
.class-title{font-size:22px;line-height:1.15}
.class-meta{font-size:14px;margin-top:4px}
.class-room{font-size:12px;font-weight:800;white-space:nowrap}
.class-room.room-1{border-color:#a96cff;color:#d3adff}
.class-room.room-2{border-color:var(--yellow);color:var(--yellow)}
@media(max-width:600px){
  .class-item{grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;padding:16px 0}
  .class-time{grid-column:1 / -1;font-size:18px}
  .class-title{font-size:21px}
  .class-meta{grid-column:auto}
  .class-room{display:inline-block;align-self:center;font-size:11px;padding:7px}
}
