/* ====== Root / Reset ====== */
  :root{
    --bg:#ffffff; --card:#ffffff; --muted:#6b7280; --text:#0f172a;
    --blue-600:#0078ff; --blue-500:#1f7efb; --glass: rgba(15,23,42,0.04);
    --maxw:1200px;
    --radius:12px;
  }
  :root[data-theme="dark"]{
    --bg:#071023; --card:#08122a; --muted:#9aa6bd; --text:#e6eef8;
    --blue-600:#4aa8ff; --blue-500:#66b8ff; --glass: rgba(255,255,255,0.03);
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html,body{height:100%;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial;line-height:1.5}
  a{color:inherit;text-decoration:none}
  .container{max-width:var(--maxw);margin:0 auto;padding:0 20px}

/* ====== Header ====== */
  header{position:fixed;left:0;right:0;top:0;background:linear-gradient(180deg,rgba(255,255,255,0.6),rgba(255,255,255,0.4));backdrop-filter:blur(6px);box-shadow:0 6px 20px rgba(2,6,23,0.06);z-index:60}
  :root[data-theme="dark"] header{background:linear-gradient(180deg,rgba(8,18,42,0.55),rgba(8,18,42,0.35))}
  .header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:var(--maxw);margin:0 auto;padding:14px 22px}
  .brand{display:flex;gap:14px;align-items:center}
  .logo{width:56px;height:56px;border-radius:10px;display:grid;place-items:center;color:#fff;font-weight:800;font-size:18px;box-shadow:0 8px 30px rgba(16,24,40,0.12)}
  .brand h1{font-size:18px;margin:0}
  nav.desktop{display:flex;gap:18px;align-items:center}
  nav.desktop a{padding:8px 12px;border-radius:8px;font-weight:600;color:var(--text)}
  nav.desktop a:hover{background:var(--glass)}
  .cta{background:linear-gradient(90deg,var(--blue-600),var(--blue-500));color:#fff;padding:8px 14px;border-radius:10px;font-weight:700;box-shadow:0 6px 18px rgba(31,126,251,0.12)}
  .controls{display:flex;gap:12px;align-items:center}

/* ====== Mobile menu (side) ====== */
  .hamb{display:none;cursor:pointer;font-size:22px;padding:8px;border-radius:8px;background:transparent}
  .sidemenu{position:fixed;right:-100%;top:0;height:100%;width:320px;max-width:85vw;background:var(--card);box-shadow:-18px 0 40px rgba(2,6,23,0.18);transition:right .35s ease;padding:30px;z-index:80}
  .sidemenu.open{right:0}
  .sidemenu .closebtn{font-size:26px;cursor:pointer;display:block;text-align:right;margin-bottom:6px}
  .sidemenu nav{display:flex;flex-direction:column;gap:12px}
  .sidemenu a{padding:12px;border-radius:8px;font-weight:600;color:var(--text)}
  .sidemenu a:hover{background:var(--glass)}

/* ====== Hero ====== */
  .hero{padding:120px 0 60px}
  .hero-grid{display:grid;grid-template-columns:1fr 520px;gap:40px;align-items:center;max-width:var(--maxw);margin:0 auto;padding:0 20px}
  .hero h2{font-size:40px;line-height:1.06;margin-bottom:14px}
  .lead{color:var(--muted);font-size:16px;margin-bottom:20px}
  .hero-ctas{display:flex;gap:12px;flex-wrap:wrap}
  .card-hero{background:var(--card);padding:22px;border-radius:14px;box-shadow:0 12px 40px rgba(2,6,23,0.06)}
  .hero-visual{border-radius:14px;overflow:hidden;box-shadow:0 18px 50px rgba(11,46,99,0.06)}
  .hero-visual img{display:block;width:100%;height:100%;object-fit:cover}

/* ====== Sections ====== */
  section{padding:70px 0}
  .section-title{font-size:30px;margin-bottom:18px;text-align:center}
  .muted{color:var(--muted)}

/* Courses grid */
  .courses-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:var(--maxw);margin:0 auto;padding:0 20px}
  .course{background:linear-gradient(180deg,var(--card),transparent);padding:24px;border-radius:12px;border:1px solid rgba(0,0,0,0.04);box-shadow:0 6px 18px rgba(2,6,23,0.04)}
  .course h3{color:var(--blue-600);margin-bottom:8px}
  .pill{display:inline-block;padding:6px 10px;border-radius:999px;background:var(--glass);font-weight:700;font-size:13px}

/* Why choose */
  .why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:var(--maxw);margin:0 auto;padding:0 20px}
  .why-item{background:var(--card);padding:20px;border-radius:12px;box-shadow:0 8px 24px rgba(2,6,23,0.04)}
  .why-item h4{color:var(--blue-600);margin-bottom:8px}

/* Testimonials */
  .testi-wrap{max-width:900px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:14px;padding:0 20px}
  .testi{background:linear-gradient(180deg,var(--card),transparent);padding:20px;border-radius:12px;box-shadow:0 8px 30px rgba(2,6,23,0.05);font-style:italic;color:var(--muted)}

/* Contact */
  .contact-grid{display:grid;grid-template-columns:1fr 440px;gap:28px;max-width:var(--maxw);margin:0 auto;padding:0 20px}
  form.contact{background:var(--card);padding:22px;border-radius:12px;border:1px solid rgba(0,0,0,0.04)}
  input,select,textarea{width:100%;padding:10px;border-radius:8px;border:1px solid rgba(0,0,0,0.06);margin-bottom:10px;background:transparent;color:var(--text)}
  button.btn-primary{background:linear-gradient(90deg,var(--blue-600),var(--blue-500));color:white;padding:10px 14px;border-radius:10px;border:0;font-weight:700;cursor:pointer}
  .mapbox{border-radius:10px;overflow:hidden;border:1px solid rgba(0,0,0,0.04)}

/* Footer */
  footer{padding:36px 20px;background:linear-gradient(180deg,var(--card),transparent);margin-top:30px;border-top:1px solid rgba(0,0,0,0.04)}
  .footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;max-width:var(--maxw);margin:0 auto;padding:0 20px}
  .footer-grid h4{color:var(--blue-600);margin-bottom:8px}
  .legal{max-width:var(--maxw);margin:20px auto 0;padding:0 20px;text-align:center;color:var(--muted);font-size:14px}

/* ====== Animations & Reveal ====== */
  .reveal{opacity:0;transform:translateY(18px);transition:all .7s cubic-bezier(.2,.9,.2,1)}
  .reveal.show{opacity:1;transform:none}

/* ====== Responsive ====== */
  @media (max-width:1100px){ .hero-grid{grid-template-columns:1fr 420px} .courses-grid{grid-template-columns:repeat(2,1fr)} .why-grid{grid-template-columns:repeat(2,1fr)} }
  @media (max-width:780px){
    .header-inner{padding:12px}
    nav.desktop{display:none}
    .hamb{display:inline-flex}
    .hero-grid{grid-template-columns:1fr;gap:18px;padding:20px}
    section{padding:50px 0}
    .courses-grid{grid-template-columns:1fr}
    .why-grid{grid-template-columns:1fr}
    .contact-grid{grid-template-columns:1fr}
    .footer-grid{grid-template-columns:1fr}
    .logo{width:48px;height:48px;font-size:16px}
  }