:root{
  --black:#02070b;
  --navy:#061421;
  --navy2:#0a1d2d;
  --blue:#069df5;
  --blue2:#42c7ff;
  --gold:#d7ad55;
  --white:#f5f8fb;
  --muted:#aab9c6;
  --line:rgba(91,188,255,.20);
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--black);color:var(--white);font-family:Inter,Arial,sans-serif}
button,a,input,select,textarea{font:inherit}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
.site-header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:10px 5vw;background:rgba(2,7,11,.92);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;backdrop-filter:blur(14px)}
.brand{display:flex;align-items:center;gap:13px;min-width:250px}
.brand img{width:58px;height:58px;object-fit:contain;mix-blend-mode:screen;border-radius:8px}
.brand-name{font-family:"Barlow Condensed",sans-serif;font-size:24px;letter-spacing:.16em;font-weight:700}
.brand-name b{color:var(--blue2);font-weight:600}
.nav{display:flex;align-items:center;gap:34px;text-transform:uppercase;font-size:12px;letter-spacing:.16em;font-weight:600}
.nav a{color:#c7d4de}
.nav a:hover{color:var(--blue2)}
.nav-cta,.primary-btn{border:1px solid var(--blue2);background:linear-gradient(135deg,#0c91df,#09b4ff);color:#fff;padding:14px 24px;border-radius:999px;font-weight:700;letter-spacing:.08em;box-shadow:0 0 24px rgba(0,166,255,.18)}
.nav-cta{background:transparent;padding:11px 20px}
.nav-cta:hover,.primary-btn:hover{transform:translateY(-1px);box-shadow:0 0 30px rgba(0,166,255,.35)}
.menu-toggle{display:none;background:none;border:0;color:white;font-size:26px}
.hero{min-height:650px;position:relative;display:flex;align-items:center;overflow:hidden;border-bottom:1px solid var(--line)}
.hero-image{position:absolute;inset:0;background:
linear-gradient(90deg,rgba(1,6,10,.98) 0%,rgba(1,10,18,.88) 36%,rgba(0,13,25,.25) 67%,rgba(0,5,10,.4) 100%),
radial-gradient(circle at 78% 46%,rgba(0,158,255,.25),transparent 32%),
url("https://images.unsplash.com/photo-1530549387789-4c1017266635?auto=format&fit=crop&w=2200&q=85") center/cover;
filter:saturate(1.15)}
.hero-content{position:relative;z-index:1;width:min(1180px,90%);margin:auto;padding:70px 0}
.eyebrow{color:var(--blue2);font-size:11px;font-weight:700;letter-spacing:.27em;margin:0 0 18px}
h1,h2,h3{font-family:"Barlow Condensed",sans-serif;margin:0;text-transform:uppercase;line-height:.9}
h1{font-size:clamp(58px,8vw,104px);max-width:640px;letter-spacing:.01em}
h1 em,h2 em{font-style:normal;color:var(--blue)}
.hero-copy{max-width:450px;font-size:17px;line-height:1.7;color:#d4e0e8;margin:25px 0 30px}
.primary-btn{display:inline-flex;align-items:center;gap:18px;border:0}
.primary-btn span,.text-btn span,.nav-cta span{font-size:18px}
.section{width:min(var(--max),90%);margin:auto}
.programs{padding:95px 0}
.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:35px}
.section-head h2{font-size:clamp(42px,6vw,68px)}
.program-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.program-card{background:linear-gradient(180deg,#0b1c2b,#040b11);border:1px solid var(--line);border-radius:4px;overflow:hidden}
.program-photo{height:260px;background-position:center;background-size:cover}
.kids .program-photo{background-image:linear-gradient(0deg,rgba(2,9,15,.15),rgba(2,9,15,.05)),url("https://images.unsplash.com/photo-1600965962361-9035dbfd1c50?auto=format&fit=crop&w=1300&q=85")}
.performance .program-photo{background-image:linear-gradient(0deg,rgba(2,9,15,.15),rgba(2,9,15,.05)),url("https://images.unsplash.com/photo-1576610616656-d3aa5d1f4534?auto=format&fit=crop&w=1300&q=85")}
.program-body{padding:32px}
.card-kicker{color:var(--blue2);font-size:11px;letter-spacing:.22em;font-weight:700}
.program-body h3{font-size:42px;margin:13px 0 16px}
.program-body p{color:var(--muted);line-height:1.65;max-width:480px}
.text-btn{margin-top:18px;background:none;border:0;border-bottom:1px solid var(--blue2);padding:0 0 10px;color:white;letter-spacing:.17em;font-size:12px;font-weight:700}
.text-btn:hover{color:var(--blue2)}
.why{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:55px 0;margin-bottom:100px}
.feature{padding:0 28px;text-align:center;border-right:1px solid var(--line)}
.feature:last-child{border:0}
.feature-icon{display:block;color:var(--blue2);font-size:30px;margin-bottom:16px}
.feature h3{font-size:21px;letter-spacing:.08em}
.feature p{color:var(--muted);font-size:13px;line-height:1.6}
.results{min-height:430px;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;padding-bottom:100px}
.results h2{font-size:clamp(58px,7vw,88px)}
.results-copy{color:var(--muted);line-height:1.8;font-size:16px;max-width:520px}
.booking-banner{padding:75px max(5vw,calc((100vw - var(--max))/2));min-height:300px;display:flex;align-items:center;justify-content:space-between;gap:30px;background:
linear-gradient(90deg,rgba(2,7,11,.98),rgba(3,19,31,.72)),
url("https://images.unsplash.com/photo-1600965962361-9035dbfd1c50?auto=format&fit=crop&w=2200&q=80") center/cover;
border-top:1px solid var(--line)}
.booking-banner h2{font-size:clamp(48px,6vw,72px)}
.booking-banner p:not(.eyebrow){color:#b9cbd7}
.footer{display:flex;justify-content:space-between;align-items:center;padding:25px 5vw;background:#010407;color:#71818d;font-size:12px}
.footer-brand{display:flex;align-items:center;gap:12px}
.footer-brand img{width:45px;height:45px;object-fit:contain;mix-blend-mode:screen}
.footer-brand strong{display:block;color:white;letter-spacing:.13em}
.footer-brand small{letter-spacing:.14em;color:var(--blue2)}
.modal{display:none;position:fixed;inset:0;z-index:100}
.modal.open{display:block}
.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.78);backdrop-filter:blur(8px)}
.modal-panel{position:relative;width:min(560px,92%);max-height:92vh;overflow:auto;margin:4vh auto;background:linear-gradient(160deg,#0b1b29,#03090e);border:1px solid var(--line);padding:36px;border-radius:8px;box-shadow:0 30px 100px rgba(0,0,0,.7)}
.modal-close{position:absolute;right:17px;top:10px;border:0;background:none;color:#b7c7d2;font-size:32px}
.modal-panel h2{font-size:52px}
.modal-intro{color:var(--muted);line-height:1.6}
.booking-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:25px 0}
.tab{padding:12px;border:1px solid var(--line);background:#06111a;color:#aebfca;border-radius:4px}
.tab.active{border-color:var(--blue);color:white;background:#06233a}
form{display:grid;gap:14px}
label{font-size:12px;letter-spacing:.05em;color:#c4d1d9;display:grid;gap:7px}
input,select,textarea{width:100%;background:#02080d;color:white;border:1px solid #1d3c50;border-radius:4px;padding:13px;outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--blue)}
textarea{resize:vertical}
.full{width:100%;justify-content:center;margin-top:8px}
.success{text-align:center;padding:30px 5px}
.success-mark{font-size:50px;color:var(--blue2)}
.success h3{font-size:38px}
.success p{color:var(--muted);line-height:1.7}
@media(max-width:800px){
  .site-header{height:72px}.brand-name{font-size:18px}.brand img{width:48px;height:48px}
  .menu-toggle{display:block}.nav{display:none;position:absolute;top:72px;left:0;right:0;background:#02080d;padding:20px;flex-direction:column;align-items:stretch;gap:18px;border-bottom:1px solid var(--line)}
  .nav.open{display:flex}.nav a,.nav-cta{text-align:center;padding:12px}
  .hero{min-height:620px}.hero-content{padding-top:110px;align-self:flex-start}.hero-image{background-position:66% center}
  .program-grid,.results{grid-template-columns:1fr}.results{gap:35px}.why{grid-template-columns:1fr 1fr;gap:0;margin-bottom:70px}.feature{padding:25px 15px}.feature:nth-child(2){border-right:0}.feature:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .section-head{display:block}.section-head h2{margin-top:10px}.booking-banner{display:block;padding-top:60px;padding-bottom:60px}.booking-banner .primary-btn{margin-top:20px}
  .footer{display:block}.footer>p{margin-top:18px}
}
@media(max-width:480px){
  .brand-name{display:none}.hero h1{font-size:54px}.program-body h3{font-size:35px}.program-photo{height:210px}.why{grid-template-columns:1fr}.feature{border-right:0!important;border-bottom:1px solid var(--line)!important}.feature:last-child{border-bottom:0!important}.modal-panel{padding:27px 20px}
}
