:root {
  --navy: #071a4b;
  --blue: #087ff5;
  --cyan: #00bff9;
  --yellow: #ffd20a;
  --orange: #ff7a00;
  --red: #ff3b1d;
  --ink: #10182d;
  --muted: #66718a;
  --cream: #f8fbff;
  --white: #fff;
  --line: #dfe7f2;
  --shadow: 0 24px 60px rgba(7, 26, 75, .14);
  --display: "Baloo 2", Arial, sans-serif;
  --body: "Nunito Sans", Arial, sans-serif;
  --max: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--body);
  color: var(--ink);
  background: var(--cream);
  line-height: 1.65;
}
a { color: inherit; text-decoration: none; }
.container { width: min(calc(100% - 44px), var(--max)); margin-inline: auto; }

.topbar {
  background: var(--navy);
  color: rgba(255,255,255,.8);
  font-size: 10px;
  letter-spacing: .08em;
}
.topbar-inner { min-height: 34px; display:flex; align-items:center; justify-content:space-between; }
.topbar-right { color: var(--yellow); font-weight: 800; }

.header {
  position: sticky; top: 0; z-index: 50;
  background: rgba(255,255,255,.94);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(7,26,75,.08);
}
.nav-wrap { min-height: 86px; display:flex; align-items:center; gap:30px; }
.logo-link { width: 190px; display:block; flex:0 0 auto; }
.logo-link img { width:100%; height:auto; display:block; }
.nav { display:flex; align-items:center; justify-content:center; gap:27px; flex:1; font-size:12px; font-weight:800; color:#45516b; }
.nav a:hover { color:var(--blue); }
.nav-button, .button {
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  border-radius:999px; font-weight:900; font-size:12px; transition:.2s ease;
}
.nav-button {
  background:linear-gradient(135deg,var(--blue),var(--cyan));
  color:white; padding:13px 18px; box-shadow:0 10px 24px rgba(8,127,245,.22);
  white-space:nowrap;
}
.nav-button:hover, .button:hover { transform:translateY(-2px); }

.hero {
  position:relative; overflow:hidden;
  background:linear-gradient(120deg,#f8fbff 0%,#eef7ff 55%,#e7f7ff 100%);
  padding:78px 0 72px;
}
.hero:after {
  content:""; position:absolute; left:-8%; bottom:-180px; width:700px; height:360px;
  background:radial-gradient(ellipse,rgba(255,210,10,.24),transparent 70%);
  pointer-events:none;
}
.hero-grid { position:relative; z-index:2; display:grid; grid-template-columns:1.05fr .95fr; gap:65px; align-items:center; }
.badge {
  display:inline-flex; align-items:center; gap:8px; padding:8px 12px; border-radius:999px;
  background:white; color:var(--blue); box-shadow:0 8px 25px rgba(7,26,75,.07);
  font-size:9px; font-weight:900; letter-spacing:.13em;
}
.dot { width:7px; height:7px; border-radius:50%; background:var(--yellow); box-shadow:0 0 0 5px rgba(255,210,10,.18); }
.hero h1 {
  font-family:var(--display); font-size:clamp(52px,6vw,78px); line-height:.98;
  letter-spacing:-.045em; margin:22px 0 18px; font-weight:800;
}
.hero h1 span { color:var(--blue); text-shadow:2px 2px 0 rgba(0,191,249,.1); }
.hero-copy > p { max-width:650px; font-size:16px; color:var(--muted); line-height:1.8; }
.hero-actions { display:flex; gap:13px; align-items:center; margin-top:28px; }
.button { padding:15px 22px; }
.button-primary { color:white; background:linear-gradient(135deg,var(--blue),#0061df); box-shadow:0 13px 30px rgba(8,127,245,.22); }
.button-ghost { border:1px solid #cbd8e8; background:white; color:var(--navy); }
.button-white { background:white; color:var(--navy); box-shadow:0 12px 25px rgba(0,0,0,.14); }
.button-yellow { background:var(--yellow); color:var(--navy); box-shadow:0 14px 30px rgba(255,210,10,.22); padding:16px 25px; }

.hero-points { display:flex; align-items:center; gap:20px; margin-top:48px; }
.hero-points div { display:flex; align-items:center; gap:8px; }
.hero-points b { font-family:var(--display); font-size:25px; color:var(--navy); }
.hero-points span { font-size:9px; color:var(--muted); line-height:1.3; font-weight:800; }
.hero-points i { width:1px; height:31px; background:#d5dfeb; }

.hero-visual { min-height:500px; position:relative; display:flex; align-items:center; justify-content:center; }
.glow-card {
  width:min(100%,490px); min-height:490px; position:relative; overflow:hidden;
  border-radius:35px; padding:31px; color:white;
  background:
    radial-gradient(circle at 82% 12%,rgba(0,191,249,.7),transparent 26%),
    radial-gradient(circle at 18% 84%,rgba(255,122,0,.62),transparent 31%),
    linear-gradient(145deg,#0b2e80,#06306d 55%,#061944);
  box-shadow:var(--shadow);
  border:1px solid rgba(255,255,255,.25);
}
.glow-card:before {
  content:""; position:absolute; inset:9px; border-radius:28px; border:1px solid rgba(255,255,255,.14); pointer-events:none;
}
.card-top { display:flex; justify-content:space-between; align-items:center; position:relative; z-index:2; }
.card-top span:first-child { font-size:9px; letter-spacing:.18em; font-weight:900; opacity:.7; }
.star { color:var(--yellow); font-size:22px; text-shadow:0 0 20px rgba(255,210,10,.65); }
.rocket { position:relative; height:190px; display:grid; place-items:center; margin:12px 0 -4px; }
.rocket-ring {
  width:165px; height:165px; border:1px solid rgba(255,255,255,.14); border-radius:50%;
  box-shadow:0 0 0 26px rgba(0,191,249,.05),0 0 0 52px rgba(255,210,10,.035);
}
.rocket-body {
  position:absolute; width:82px; height:82px; border-radius:28px 50% 28px 50%;
  transform:rotate(-45deg);
  background:linear-gradient(145deg,#fff 0%,#dcecff 35%,#4ccfff 36%,#087ff5 70%,#ff7a00 71%,#ff3b1d 100%);
  display:grid; place-items:center; color:white; font-size:30px; font-weight:900;
  box-shadow:0 15px 35px rgba(0,0,0,.25);
}
.glow-card h2 { font-family:var(--display); font-size:33px; line-height:1.05; margin:10px 0; letter-spacing:-.025em; position:relative; }
.glow-card h2 strong { color:var(--yellow); }
.glow-card p { color:rgba(255,255,255,.68); font-size:12px; max-width:330px; position:relative; }
.mini-subjects { display:flex; flex-wrap:wrap; gap:7px; margin-top:22px; position:relative; }
.mini-subjects span { padding:7px 11px; border-radius:999px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.18); font-size:9px; font-weight:800; }

.floating-note {
  position:absolute; display:flex; align-items:center; gap:10px; padding:12px 15px; border-radius:15px;
  background:white; box-shadow:0 16px 35px rgba(7,26,75,.16); z-index:5;
}
.floating-note > span { width:32px; height:32px; border-radius:10px; display:grid; place-items:center; background:#fff4bf; }
.floating-note b { display:block; font-size:10px; color:var(--navy); }
.floating-note small { display:block; font-size:8px; color:var(--muted); }
.note-top { top:53px; left:-26px; }
.note-bottom { bottom:45px; right:-25px; }
.note-bottom > span { background:#dff6ff; }

.hero-orb { position:absolute; border-radius:50%; filter:blur(1px); }
.orb-one { width:100px; height:100px; right:8%; top:60px; background:rgba(255,210,10,.2); }
.orb-two { width:50px; height:50px; left:7%; top:48%; background:rgba(0,191,249,.18); }
.hero-spark { position:absolute; color:var(--yellow); font-size:25px; z-index:1; }
.spark-one { left:48%; top:90px; }
.spark-two { right:45%; bottom:45px; color:var(--blue); }

.trust-band { background:var(--navy); color:white; padding:21px 0; }
.trust-band p { margin:0 0 12px; color:rgba(255,255,255,.45); font-size:8px; letter-spacing:.2em; font-weight:900; }
.curriculum-row { display:flex; align-items:center; justify-content:space-between; gap:20px; color:rgba(255,255,255,.72); font-size:9px; font-weight:900; letter-spacing:.12em; }
.curriculum-row span:nth-child(2), .curriculum-row span:nth-child(3) { color:var(--yellow); }

.section { padding:105px 0; }
.split { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start; }
.section-kicker { color:var(--blue); font-size:9px; letter-spacing:.18em; font-weight:900; }
h2 { font-family:var(--display); font-size:clamp(40px,4.5vw,59px); line-height:1.03; letter-spacing:-.04em; margin:12px 0 0; font-weight:800; }
h2 span { color:var(--blue); }
.about-copy { padding-top:17px; max-width:550px; color:var(--muted); }
.about-copy .lead { color:var(--ink); font-size:21px; line-height:1.55; font-weight:700; }
.about-copy p { font-size:13px; }
.under-link { display:inline-block; color:var(--blue); font-weight:900; font-size:11px; margin-top:12px; border-bottom:2px solid rgba(8,127,245,.2); padding-bottom:4px; }

.why { background:#f0f7ff; }
.heading-row { display:flex; justify-content:space-between; align-items:end; gap:50px; margin-bottom:48px; }
.heading-row > p { max-width:330px; margin:0; color:var(--muted); font-size:13px; }
.cards-four { display:grid; grid-template-columns:repeat(4,1fr); gap:15px; }
.info-card { border-radius:22px; min-height:300px; padding:25px; position:relative; overflow:hidden; box-shadow:0 12px 35px rgba(7,26,75,.08); }
.info-card:after { content:""; position:absolute; width:130px; height:130px; border-radius:50%; right:-55px; bottom:-55px; background:rgba(255,255,255,.14); }
.info-card .number { position:absolute; right:22px; top:21px; font-size:9px; font-weight:900; opacity:.5; }
.card-icon { font-family:var(--display); font-size:35px; margin-top:43px; }
.info-card h3 { font-family:var(--display); font-size:25px; line-height:1; margin:32px 0 12px; }
.info-card p { font-size:11px; line-height:1.7; margin:0; max-width:210px; }
.info-card.blue { color:white; background:linear-gradient(145deg,#087ff5,#0752ca); }
.info-card.yellow { background:var(--yellow); color:var(--navy); }
.info-card.orange { color:white; background:linear-gradient(145deg,#ff9c00,#ff4a18); }
.info-card.navy { color:white; background:linear-gradient(145deg,#092d78,#06173e); }

.programs { background:white; }
.programs-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:17px; }
.program { min-height:425px; border:1px solid var(--line); border-radius:24px; padding:29px; display:flex; flex-direction:column; background:white; }
.program.featured { border:0; background:linear-gradient(150deg,#087ff5,#0754cf); color:white; box-shadow:var(--shadow); transform:translateY(-10px); }
.program-label { font-size:8px; letter-spacing:.17em; font-weight:900; }
.blue-text { color:var(--blue); }
.yellow-text { color:var(--yellow); }
.orange-text { color:var(--orange); }
.program h3 { font-family:var(--display); font-size:30px; line-height:1; margin:50px 0 14px; }
.program p { color:var(--muted); font-size:12px; }
.program.featured p { color:rgba(255,255,255,.72); }
.program ul { list-style:none; padding:0; margin:22px 0; border-top:1px solid rgba(7,26,75,.1); }
.program.featured ul { border-color:rgba(255,255,255,.18); }
.program li { padding:9px 0; border-bottom:1px solid rgba(7,26,75,.1); font-size:10px; font-weight:700; }
.program.featured li { border-color:rgba(255,255,255,.18); }
.program li:before { content:"✓"; color:var(--blue); margin-right:9px; font-weight:900; }
.program.featured li:before { color:var(--yellow); }
.program a { margin-top:auto; font-size:10px; font-weight:900; }
.subjects { background:#fff; padding-top:0; }
.subjects-box {
  position:relative; overflow:hidden; border-radius:30px; padding:62px;
  display:grid; grid-template-columns:1fr 1fr; gap:70px; color:white;
  background:
    radial-gradient(circle at 80% 20%,rgba(0,191,249,.5),transparent 30%),
    radial-gradient(circle at 20% 100%,rgba(255,122,0,.5),transparent 30%),
    var(--navy);
  box-shadow:var(--shadow);
}
.subjects-box:before { content:""; position:absolute; width:260px; height:260px; border:1px solid rgba(255,255,255,.1); border-radius:50%; right:-80px; bottom:-90px; }
.subjects-copy { position:relative; z-index:2; }
.subjects-copy .section-kicker { color:var(--yellow); }
.subjects-copy h2 { color:white; }
.subjects-copy h2 span { color:var(--yellow); }
.subjects-copy p { max-width:370px; color:rgba(255,255,255,.65); font-size:13px; margin:20px 0 25px; }
.subject-list { position:relative; z-index:2; }
.subject-list div { display:grid; grid-template-columns:45px 1fr 30px; align-items:center; padding:22px 0; border-bottom:1px solid rgba(255,255,255,.15); }
.subject-list .subject-no { font-size:9px; color:rgba(255,255,255,.4); }
.subject-list strong { font-family:var(--display); font-size:24px; }
.subject-list em { color:var(--yellow); font-style:normal; font-size:20px; }

.testimonials { background:#f0f7ff; }
.testimonials > .container > h2 { margin-bottom:45px; }
.testimonial-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.testimonial { background:white; border:1px solid var(--line); border-radius:22px; padding:30px; min-height:300px; display:flex; flex-direction:column; }
.testimonial.highlight { background:var(--yellow); border-color:var(--yellow); }
.quote { font-family:Georgia,serif; font-size:55px; line-height:.7; color:var(--blue); }
.testimonial p { font-family:var(--display); font-size:18px; line-height:1.35; margin:22px 0; }
.testimonial strong { margin-top:auto; font-size:10px; }
.testimonial small { color:var(--muted); font-size:9px; margin-top:4px; }

.cta { position:relative; overflow:hidden; background:linear-gradient(135deg,#087ff5,#063aa6); color:white; padding:105px 0; }
.cta-inner { position:relative; z-index:2; text-align:center; max-width:780px; }
.cta .section-kicker { color:var(--yellow); }
.cta h2 { font-size:clamp(45px,5vw,68px); }
.cta h2 span { color:var(--yellow); }
.cta p { max-width:580px; margin:20px auto 28px; color:rgba(255,255,255,.72); font-size:13px; }
.contact-line { display:flex; justify-content:center; gap:30px; margin-top:27px; color:rgba(255,255,255,.55); font-size:9px; font-weight:700; }
.cta-shape { position:absolute; border-radius:50%; border:1px solid rgba(255,255,255,.12); }
.shape-a { width:500px; height:500px; left:-240px; bottom:-290px; box-shadow:0 0 0 45px rgba(255,255,255,.03),0 0 0 90px rgba(255,255,255,.025); }
.shape-b { width:260px; height:260px; right:-110px; top:-100px; box-shadow:0 0 0 40px rgba(255,210,10,.07); }

.footer { background:#041333; color:white; padding:50px 0 20px; }
.footer-top { display:flex; justify-content:space-between; gap:40px; align-items:center; }
.footer-logo { width:230px; max-width:100%; }
.footer p { color:rgba(255,255,255,.45); font-size:10px; margin-top:12px; }
.footer-links { display:flex; flex-wrap:wrap; gap:22px; color:rgba(255,255,255,.62); font-size:10px; font-weight:800; }
.footer-links a:hover { color:var(--yellow); }
.footer-bottom { margin-top:40px; padding-top:18px; border-top:1px solid rgba(255,255,255,.1); display:flex; justify-content:space-between; gap:20px; color:rgba(255,255,255,.3); font-size:8px; }

@media (max-width: 950px) {
  .nav { display:none; }
  .nav-wrap { justify-content:space-between; }
  .hero-grid, .split, .subjects-box { grid-template-columns:1fr; }
  .hero-copy { max-width:750px; }
  .hero-visual { min-height:520px; }
  .cards-four { grid-template-columns:1fr 1fr; }
  .programs-grid, .testimonial-grid { grid-template-columns:1fr; }
  .program.featured { transform:none; }
  .program { min-height:360px; }
}
@media (max-width: 620px) {
  .container { width:min(calc(100% - 30px),var(--max)); }
  .topbar-right { display:none; }
  .topbar-inner { justify-content:center; }
  .logo-link { width:155px; }
  .nav-button { padding:11px 13px; font-size:10px; }
  .hero { padding:52px 0 58px; }
  .hero h1 { font-size:48px; }
  .hero-copy > p { font-size:14px; }
  .hero-actions { flex-wrap:wrap; }
  .hero-points { gap:11px; }
  .hero-points b { font-size:20px; }
  .hero-points span { font-size:8px; }
  .hero-visual { min-height:460px; margin-top:10px; }
  .glow-card { min-height:440px; padding:25px; }
  .note-top { left:-4px; top:23px; }
  .note-bottom { right:-4px; bottom:15px; }
  .floating-note { padding:9px 11px; }
  .floating-note small { display:none; }
  .section { padding:75px 0; }
  .heading-row { display:block; margin-bottom:35px; }
  .heading-row > p { margin-top:17px; }
  .cards-four { grid-template-columns:1fr; }
  .info-card { min-height:250px; }
  .subjects-box { padding:38px 25px; gap:35px; }
  .testimonial-grid { grid-template-columns:1fr; }
  .contact-line { flex-direction:column; gap:6px; }
  .footer-top { display:block; }
  .footer-links { margin-top:25px; gap:14px 20px; }
  .footer-bottom { display:block; line-height:2; }
}
