:root{--bg:#F8FAFC;--surface:#FFFFFF;--text:#0F172A;--head:#0F172A;--link:#1D4ED8;--primary:#1E3A8A;--secondary:#10B981;--accent:#F59E0B;--success:#16A34A;--warning:#B45309;--error:#DC2626;--button-bg:#1E3A8A;--button-text:#FFFFFF;--radius:12px;--shadow:0 8px 24px rgba(2,6,23,.08)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;background:#fff;color:var(--text);line-height:1.6;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--link);text-decoration:none}
a:hover,a:focus{text-decoration:underline}
h1,h2,h3{color:var(--head);line-height:1.25;margin:0 0 .5rem}
p{margin:.5rem 0 1rem}
.container{max-width:1120px;margin-inline:auto;padding:0 1rem}

/* Header / Nav */
.site-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid #e5e7eb}
.nav-wrap{display:flex;align-items:center;gap:1rem;min-height:64px}
.site-nav ul{display:flex;gap:1rem;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.site-nav a{padding:.5rem .5rem;border-radius:8px}
.site-nav a:focus{outline:2px solid var(--accent);outline-offset:2px}
.header-cta .btn{white-space:nowrap}

/* Progress bar */
.progress{position:fixed;top:0;left:0;width:100%;height:3px;background:transparent;z-index:60}
.progress .bar{display:block;height:3px;width:0;background:linear-gradient(90deg,var(--primary),var(--secondary))}

/* Skip link */
.skip-to{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-to:focus{position:fixed;left:1rem;top:1rem;width:auto;height:auto;background:#fff;color:var(--text);padding:.5rem 1rem;border:2px solid var(--primary);border-radius:8px;z-index:100}

/* Hero */
.hero{background:var(--bg)}
.hero-grid{display:grid;grid-template-columns:1fr;gap:2rem;align-items:center;padding:3rem 0}
.hero .subhead{font-size:1.125rem;color:#334155}
.cta-group{display:flex;gap:1rem;flex-wrap:wrap;margin:1rem 0}
.btn{display:inline-flex;align-items:center;justify-content:center;height:auto;min-height:44px;padding:.75rem 1rem;border-radius:10px;background:var(--button-bg);color:var(--button-text);font-weight:600;box-shadow:0 4px 12px rgba(30,58,138,.2);transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.btn:hover,.btn:focus{transform:translateY(-2px);box-shadow:0 8px 20px rgba(30,58,138,.25)}
.btn.ghost{background:transparent;border:1.5px solid var(--link);color:var(--link)}
.trust-badges{display:flex;gap:1rem;list-style:none;margin:1rem 0 0;padding:0;align-items:center}
.hero-visual{position:relative}
.bg-pattern{position:absolute;inset:auto 0 0 0;opacity:.25}

/* Sections */
.section{padding:3rem 0;background:#fff}
.section:nth-of-type(even){background:var(--bg)}
.section-head{text-align:left;margin-bottom:1.5rem}

/* Offer / Pricing */
.offer-grid{display:grid;grid-template-columns:1fr;gap:2rem}
.benefits{list-style:disc;padding-left:1.25rem}
.price-card{background:#fff;border:1px solid #e5e7eb;border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow)}
.price-card .price{font-size:1.75rem;margin:.25rem 0 1rem}
.inclusions{list-style:disc;padding-left:1.25rem;margin:0 0 1rem}
.microcopy{font-size:.9rem;color:#334155}
.lead-magnet{margin-top:1rem;padding:1rem;border-radius:10px;background:#F1F5F9;border:1px solid #e5e7eb}

/* Testimonials */
.testimonials{display:grid;grid-template-columns:1fr;gap:1rem;margin:0;padding:0;list-style:none}
.t{background:#fff;border:1px solid #e5e7eb;border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow)}
.t blockquote{margin:0 0 .5rem}
.rating{color:#F59E0B}

/* Packages */
.card-grid{display:grid;grid-template-columns:1fr;gap:1rem}
.card{background:#fff;border:1px solid #e5e7eb;border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow);display:flex;flex-direction:column}
.card .price{margin-top:auto;font-size:1.25rem}
.card.featured{border-color:var(--primary);box-shadow:0 10px 28px rgba(30,58,138,.18)}

/* Process steps */
.steps{display:grid;grid-template-columns:1fr;gap:1rem;margin:0;padding:0;list-style:none}
.steps li{display:flex;gap:1rem;align-items:flex-start;background:#fff;border:1px solid #e5e7eb;border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow)}

/* FAQ */
.faqs details{border:1px solid #e5e7eb;border-radius:10px;background:#fff;padding:.5rem 1rem;margin:.5rem 0}
.faqs summary{cursor:pointer;font-weight:600;outline:none}
.faqs summary:focus{outline:2px solid var(--accent);outline-offset:2px}

/* Form */
.field{margin-bottom:1rem}
.field label{display:block;font-weight:600;margin-bottom:.375rem}
.field input,.field textarea{width:100%;padding:.75rem;border:1px solid #cbd5e1;border-radius:10px;font:inherit}
.field input:focus,.field textarea:focus{outline:2px solid var(--primary);border-color:var(--primary)}
.field.check{display:flex;align-items:center;gap:.5rem}
.actions{display:flex;gap:1rem;flex-wrap:wrap}
.form-status{min-height:1.5rem}
.booking{margin-top:1rem;padding:.75rem;border-left:4px solid var(--secondary);background:#ECFDF5}

/* Footer */
.site-footer{border-top:1px solid #e5e7eb;background:#fff}
.footer-grid{display:grid;grid-template-columns:1fr;gap:1rem;padding:2rem 0}
.site-footer nav ul{list-style:none;display:grid;gap:.5rem;margin:0;padding:0}
.back-to-top{position:fixed;right:1rem;bottom:1rem;background:var(--primary);color:#fff;border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;text-decoration:none;box-shadow:0 8px 24px rgba(2,6,23,.2)}

/* Cookie banner */
.cookie{position:fixed;left:1rem;right:1rem;bottom:1rem;display:flex;gap:1rem;align-items:center;justify-content:space-between;background:#fff;border:1px solid #e5e7eb;box-shadow:var(--shadow);border-radius:12px;padding:.75rem 1rem;z-index:70}

/* Responsive */
@media(min-width:720px){
  .hero-grid{grid-template-columns:1.15fr .85fr}
  .offer-grid{grid-template-columns:1fr .9fr}
  .testimonials{grid-template-columns:repeat(3,1fr)}
  .card-grid{grid-template-columns:repeat(3,1fr)}
  .steps{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1.2fr .8fr .8fr}
}

/* Motion safety */
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto}
}

/* ===== safety / theme overrides from your base ===== */
html,body{background:#fff;color:#111!important;}
h1,h2,h3,h4,h5,h6{color:#0f172a!important;}
p,li,blockquote,small,.text,.copy{color:#111827!important;}
a{color:#0d6efd!important;} a:hover,a:focus{color:#0a58ca!important;}
.reveal{opacity:1!important;transform:none!important;}
[hidden],.is-hidden{display:block!important;}
.hero .bg-pattern,.page-overlay,.modal-backdrop{pointer-events:none!important;}
.btn,.button{color:#fff!important;background-color:#0d6efd!important;border:none!important;}
.btn.ghost,.button.ghost{color:#0d6efd!important;background:transparent!important;border:1px solid #0d6efd!important;}

/* === injected: safe theme tokens === */
:root {
  --bg:#ffffff; --surface:#f6f7f9; --surface-2:#eef1f6;
  --text:#0b0b0f; --muted:#374151; --primary:#0ea5e9;
  --accent:#14b8a6; --ring:#38bdf8; --success:#16a34a; --border:#e5e7eb;
}
[data-theme="dark"] {
  --bg:#0b1221; --surface:#0f172a; --surface-2:#111827;
  --text:#e5e7eb; --muted:#94a3b8; --primary:#3b82f6;
  --accent:#06b6d4; --ring:#7dd3fc; --success:#22c55e; --border:rgba(148,163,184,.22);
}
html,body{background:var(--bg);color:var(--text);}
a{color:var(--primary)} a:hover{color:var(--accent)}
.reveal{opacity:1;transform:none}
.reveal.use-reveal{opacity:0;transform:translateY(12px)}
.reveal.use-reveal.in-view{opacity:1;transform:none;transition:opacity .5s,transform .5s}

/* ===== SAFETY OVERRIDES (visible content, light theme) ===== */
html, body { background: #ffffff !important; color: #111111 !important; }
h1, h2, h3, h4, h5, h6 { color: #0f172a !important; }
p, li, blockquote, small, .text, .copy { color: #111827 !important; }
a { color: #0d6efd !important; } a:hover, a:focus { color: #0a58ca !important; }
.section, .hero, .about, .levels, .method, .testimonials, .faq, .contact { background: transparent !important; }
.card, .panel, .tile { background: #ffffff !important; color: #111827 !important; border-color: rgba(15, 23, 42, 0.12) !important; }
.reveal { opacity: 1 !important; transform: none !important; }
[hidden], .is-hidden { display: block !important; }
.hero .bg-pattern, .page-overlay, .modal-backdrop { pointer-events: none !important; }
.hero .container, .section .container { position: relative; z-index: 1; }
.btn, .button { color: #ffffff !important; background-color: #0d6efd !important; border: none !important; }
.btn.ghost, .button.ghost { color: #0d6efd !important; background: transparent !important; border: 1px solid #0d6efd !important; }
[data-theme="dark"] body { background: #0b0b0f !important; color: #f5f5f5 !important; }

/* ============================= */
/* Mobile Burger Menu – Additive */
/* ============================= */

/* Toggle button */
.nav-toggle{
  display:none; position:relative; width:44px; height:44px; border:0; background:transparent;
  cursor:pointer; border-radius:10px; outline-offset:3px; z-index:100; color:var(--text, #0F172A);
}
.nav-toggle:focus-visible{ outline:2px solid var(--accent, #F59E0B); }
.nav-toggle .bar{
  position:absolute; left:10px; right:10px; height:2px; background:currentColor; border-radius:2px;
  transition:transform .2s ease, opacity .2s ease;
}
.nav-toggle .bar:nth-child(1){ top:14px; }
.nav-toggle .bar:nth-child(2){ top:21px; }
.nav-toggle .bar:nth-child(3){ top:28px; }
body.nav-open .nav-toggle .bar:nth-child(1){ transform:translateY(7px) rotate(45deg); }
body.nav-open .nav-toggle .bar:nth-child(2){ opacity:0; }
body.nav-open .nav-toggle .bar:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* Prevent desktop nav leaking on small screens */
@media (max-width:768px){
  /* keep header above sliders/overlays */
  .site-header{ z-index:90; }
  /* hide primary menu by default */
  #primary-menu{ display:none !important; }
  /* show only when body has nav-open */
  body.nav-open #primary-menu{ display:block !important; }
  /* reveal the toggle */
  .nav-toggle{ display:inline-flex; align-items:center; justify-content:center; }

  /* optional: simple mobile menu panel look */
  #primary-menu ul{
    display:grid; gap:.5rem; margin:.5rem 0 0; padding:.75rem;
    background:var(--surface, #FFFFFF); border:1px solid var(--border, #e5e7eb); border-radius:12px;
  }
  #primary-menu a{ padding:.625rem .75rem; border-radius:8px; }
}

/* Desktop keeps original behavior */
@media (min-width:769px){
  .nav-toggle{ display:none; }
  #primary-menu{ display:block !important; }
}
