*{box-sizing:border-box}html{scroll-behavior:smooth}
:root{
  --bg:#ffffff;
  --text:#1b1f24;
  --muted:#5c6672;
  --accent:#0ea5e9;
  --accent-2:#10b981;
  --surface:#f4f7fb;
  --border:#e6ebf2;
}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.5}
a{color:var(--accent);text-decoration:none}
.container{width:min(1100px,92%);margin-inline:auto}
.site-header{background:linear-gradient(180deg,#f9fbff,rgba(249,251,255,0));padding:16px 0 24px}
.header-grid{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center}
.logo{font-weight:800;font-size:22px;letter-spacing:0.2px}
.logo span{color:var(--accent)}
.tag{font-size:12px;color:var(--muted)}
.nav a{margin:0 10px}
.btn{display:inline-block;border-radius:12px;padding:10px 16px;border:1px solid var(--border);background:#fff;font-weight:600;transition:.2s transform,.2s box-shadow}
.btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(15,23,42,.08)}
.btn.primary{background:var(--accent);color:#fff;border-color:transparent}
.btn.cta{background:linear-gradient(90deg,var(--accent),var(--accent-2));color:#fff;border:none}
.btn.full{width:100%}
.btn.ghost{background:#fff}
.hero{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:center;padding:24px 0}
.hero-text h1{font-size:clamp(28px,3.2vw,42px);line-height:1.1;margin:0 0 12px}
.hero-text p{color:var(--muted);margin:0 0 10px}
.bullets{padding-left:18px;margin:10px 0 18px}
.bullets li{margin:6px 0}
.trust{display:flex;gap:10px;flex-wrap:wrap;color:#0f172a}
.trust .shield{font-size:12px;border:1px solid var(--border);border-radius:999px;padding:6px 10px;background:var(--surface)}
.hero-media img{width:100%;height:auto;border-radius:16px;border:1px solid var(--border);background:#fff}
.features{display:grid;grid-template-columns:1fr;gap:20px;padding:32px 0}
.card{background:var(--surface);border:1px solid var(--border);padding:20px;border-radius:16px}
.ticks{padding-left:18px}
.grid-2{display:grid;grid-template-columns:1.2fr 0.8fr;gap:16px;align-items:center}
.course-img{max-width:760px;width:100%;height:auto;border-radius:14px;border:1px solid var(--border);background:#fff;margin-bottom:14px}
.programme{padding:32px 0}
.programme h2,.testimonials h2,.order h2{margin:0 0 12px;font-size:clamp(22px,3vw,30px)}
.timeline{display:grid;gap:10px}
.step{background:#fff;border:1px dashed var(--border);padding:12px 14px;border-radius:12px}
.step span{display:inline-block;min-width:34px;height:34px;border-radius:50%;border:1px solid var(--border);text-align:center;line-height:32px;margin-right:8px;background:var(--surface);font-weight:700}
.testimonials{padding:20px 0 6px}
.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.tcard{background:linear-gradient(180deg,#fff,var(--surface));border:1px solid var(--border);padding:16px;border-radius:14px}
.tcard .name{color:var(--muted);margin-top:8px}
.order{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:start;padding:24px 0 42px}
.form-field{margin-bottom:12px}
label{display:block;margin-bottom:6px;font-weight:600}
input[type="text"],input[type="email"],input[type="tel"]{width:100%;padding:12px 12px;border:1px solid var(--border);border-radius:12px;background:#fff}
input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px rgba(14,165,233,.15)}
.agree{font-size:13px;color:var(--muted);margin:8px 0 12px}
.secure{font-size:12px;color:var(--muted);margin-top:10px}
.order-right img{width:100%;height:auto;border-radius:14px;border:1px solid var(--border);background:#fff}
.guarantee{margin-top:10px;background:#fff;border:1px solid var(--border);padding:10px 12px;border-radius:12px;font-weight:600}
.mini{font-size:14px;color:var(--muted);padding-left:18px}
.site-footer{background:#0f172a;color:#cbd5e1;padding:28px 0;margin-top:10px}
.site-footer a{color:#e2e8f0}
.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;align-items:start}
.footer-grid .logo{color:#fff}
.footer-grid .logo span{color:#67e8f9}
.cookie-banner{position:fixed;inset:auto 16px 16px 16px;background:#0b1220;color:#e2e8f0;border:1px solid #1e293b;border-radius:14px;padding:14px;z-index:9999;box-shadow:0 18px 48px rgba(2,6,23,.48)}
.cookie-inner{display:flex;gap:12px;align-items:center;justify-content:space-between}
.cookie-actions .btn{margin-left:8px}
.btn.accept{background:var(--accent-2);color:#fff;border:none}
.hidden{display:none}
.modal{position:fixed;inset:0;display:none;z-index:10000}
.modal[aria-hidden="false"]{display:block}
.modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.55);backdrop-filter:saturate(140%) blur(4px)}
.modal-card{position:relative;z-index:1;max-width:min(680px,92%);margin:8vh auto;background:#fff;border-radius:16px;border:1px solid var(--border);padding:18px 18px 22px}
.modal-close{position:absolute;top:8px;right:10px;border:none;background:#fff;border:1px solid var(--border);border-radius:10px;width:32px;height:32px;cursor:pointer}
@media (max-width: 980px){
  .hero{grid-template-columns:1fr;gap:16px;padding:12px 0}
  .header-grid{grid-template-columns:1fr}
  .nav{display:flex;flex-wrap:wrap;gap:6px}
  .grid-2,.order{grid-template-columns:1fr}
  .cards-3{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .course-img{max-width:100%}
  input[type="text"],input[type="email"],input[type="tel"]{padding:14px 12px}
  .btn{padding:12px 16px}
  .cookie-banner{inset:auto 10px 10px 10px}
}


/* === Responsive media system (fixes image overflows) === */
.media { display:block; width:100%; border-radius:14px; overflow:hidden; border:1px solid var(--border); background:#fff; }
.media img { width:100%; height:100%; display:block; object-fit:cover; }
.media-12x5 { aspect-ratio: 12/5; max-width: 520px; justify-self:end; }
.media-4x3 { aspect-ratio: 4/3; max-width: 560px; justify-self:end; }
.media-1x1 { aspect-ratio: 1/1; max-width: 420px; justify-self:end; }
.media-col { display:grid; justify-items:end; gap:12px; }
.feature-grid { display:grid; grid-template-columns: 1.1fr 0.9fr; gap:24px; align-items:center; }
.prose { max-width: 68ch; }
.hero-media.media { margin-left:auto; }
.order .media-1x1 { margin-top:0; }
@media (min-width: 1280px){ .container { width:min(1100px,92%); } }
@media (max-width: 980px){
  .feature-grid { grid-template-columns: 1fr; }
  .media-12x5, .media-4x3, .media-1x1 { max-width: 100%; justify-self: stretch; }
  .hero-media.media { margin: 0; }
}


/* === Mobile polish v2 === */
@media (max-width: 980px){
  .container{ width: 92%; margin-inline:auto; }
  .card{ padding:16px; }
  .hero{ gap:12px; padding:12px 0; }
  .feature-grid{ gap:12px; }
  .cards-3{ gap:12px; }
  .timeline{ gap:8px; }
  .order{ gap:16px; padding:16px 0 28px; }
  .media{ margin:0; }
  .media img{ display:block; }
  .hero-media.media,
  .feature-media.media,
  .order .media-1x1{ max-width:100%; justify-self:stretch; }
  .site-footer{ padding:22px 0; }
  .cookie-banner{ inset:auto 10px 10px 10px; }
}
/* Reduce oversized inner margins on very small screens */
@media (max-width: 420px){
  .btn{ padding:10px 14px; }
  input[type="text"], input[type="email"], input[type="tel"]{ padding:12px 10px; }
  .bullets{ margin:8px 0 14px; }
}
