:root {
  --bg: #07111f;
  --panel: #0f172a;
  --panel-2: #111827;
  --text: #eff6ff;
  --muted: #c7d2fe;
  --accent: #38bdf8;
  --accent-2: #22c55e;
  --border: rgba(148, 163, 184, 0.18);
}
* { box-sizing: border-box; }
body { margin:0; font-family: 'Inter', sans-serif; color: var(--text); background: linear-gradient(180deg, #07111f 0%, #0b1220 45%, #111827 100%); min-width:320px; }
img { width:100%; display:block; height:auto; }
a { color: inherit; text-decoration:none; }
.container { width:min(1200px, calc(100% - 1.25rem)); margin:0 auto; }
.site-header { position: sticky; top:0; z-index:10; background: rgba(7,17,31,0.92); border-bottom:1px solid var(--border); backdrop-filter: blur(10px); }
.nav { display:flex; justify-content:space-between; align-items:center; min-height:72px; gap:1rem; position:relative; }
.brand { font-weight:800; font-size:1.05rem; letter-spacing:0.08em; text-transform:uppercase; }
.nav-links { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:0.75rem 1rem; }
.menu-toggle { display:none; background:transparent; border:0; padding:0.35rem; cursor:pointer; }
.menu-toggle span { display:block; width:24px; height:2px; background:#fff; border-radius:999px; margin:5px 0; transition:transform 0.2s ease, opacity 0.2s ease; }
.nav-links a { color: var(--muted); font-weight:600; }
.nav-links a.active, .nav-links a:hover { color: #fff; }
.card-grid, .feature-grid, .course-grid, .gallery-grid, .contact-grid { display:grid; gap:1.25rem; }
.card-grid { grid-template-columns:1.1fr 0.9fr; align-items:center; }
.feature-grid.three-up { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.course-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.contact-grid { grid-template-columns: 1.05fr 0.95fr; }
.card, .feature-card, .course-card, .highlight-box { min-width:0; }
.card, .feature-card, .course-card, .highlight-box { background: rgba(15,23,42,0.92); border:1px solid var(--border); border-radius:24px; padding:1.2rem; box-shadow: 0 18px 35px rgba(8,15,25,0.35); }
.hero { padding:3rem 0 1.5rem; }
.section { padding:1rem 0 3rem; }
.eyebrow { text-transform:uppercase; letter-spacing:0.18em; font-size:0.82rem; color:#7dd3fc; }
h1, h2, h3 { line-height:1.1; margin-top:0; }
h1 { font-size: clamp(2.2rem, 8vw, 4rem); }
h2 { font-size: clamp(1.5rem, 4vw, 2rem); }
.lead { color: var(--muted); font-size:1.05rem; max-width: 60ch; }
.benefits-list { padding-left:1rem; color: var(--muted); line-height:1.6; }
.button { display:inline-block; padding:0.85rem 1rem; border-radius:999px; background: linear-gradient(135deg, var(--accent), #6366f1); color:white; font-weight:700; border:none; cursor:pointer; }
.button.secondary { background: linear-gradient(135deg, #22c55e, #10b981); }
.button.small { padding:0.6rem 0.8rem; font-size:0.95rem; }
.course-strip { display:flex; flex-wrap:wrap; gap:0.75rem; }
.chip { border:1px solid var(--border); border-radius:999px; padding:0.6rem 0.8rem; background: rgba(148,163,184,0.06); color: #eff6ff; }
.icon-box { width:56px; height:56px; border-radius:16px; overflow:hidden; margin-bottom:0.75rem; }
.image-card img, .certificate-card img { border-radius:18px; }
.map-wrap { border-radius:18px; overflow:hidden; border:1px solid var(--border); margin-top:1rem; }
.map-wrap iframe { width:100%; min-height:260px; border:0; }
.query-form { display:grid; gap:0.85rem; }
.query-form label { display:grid; gap:0.35rem; color: var(--muted); font-weight:600; }
.query-form input, .query-form select, .query-form textarea { border:1px solid var(--border); border-radius:14px; padding:0.8rem; background:#0b1220; color:#fff; font:inherit; }
.form-message { min-height:1.1rem; font-weight:700; }
.form-message.success { color:#86efac; }
.form-message.error { color:#fca5a5; }
.site-footer { border-top:1px solid var(--border); background: rgba(7,17,31,0.96); padding:1.5rem 0 1rem; margin-top:2rem; }
.footer-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.footer-grid h3 { margin-bottom:0.35rem; }
.footer-grid a { display:block; color: var(--muted); margin-bottom:0.35rem; }
.footer-bottom { padding-top:1rem; color: var(--muted); font-size:0.95rem; }
@media (max-width: 1100px) {
  .course-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 980px) {
  .card-grid, .contact-grid, .feature-grid.three-up, .gallery-grid { grid-template-columns: 1fr; }
  .course-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 768px) {
  .nav { align-items:center; flex-wrap:wrap; padding:0.85rem 0; }
  .menu-toggle { display:block; margin-left:auto; }
  .nav-links { display:none; width:100%; flex-direction:column; align-items:flex-start; background:rgba(7,17,31,0.98); border:1px solid var(--border); border-radius:18px; padding:0.75rem; box-shadow:0 18px 35px rgba(2,6,23,0.45); }
  .nav-links.open { display:flex; }
  .nav-links a { width:100%; padding:0.35rem 0; }
  .hero { padding-top:1.25rem; }
  .section { padding-bottom:2rem; }
  .course-grid, .gallery-grid, .footer-grid { grid-template-columns: 1fr; }
  .course-card .button { width:100%; text-align:center; }
}
@media (max-width: 640px) {
  .container { width:min(1200px, calc(100% - 1rem)); }
  .nav-links a { font-size:0.95rem; }
  .chip { width:100%; text-align:center; }
  .course-strip { display:grid; grid-template-columns:1fr; }
  .button { width:100%; text-align:center; }
  .map-wrap iframe { min-height:220px; }
}
