:root{--primary:#DB2777;--accent:#0EA5E9;--bg:#FFFFFF;--text:#0F172A;--muted:#475569;--shadow:0 10px 25px rgba(15,23,42,.08);}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:#fff;color:var(--text);font-size:18px;line-height:1.6}img{max-width:100%;height:auto;display:block}a{text-decoration:none}a:focus{outline:3px solid var(--accent);outline-offset:2px}.skip-link{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden}.skip-link:focus{position:fixed;left:1rem;top:1rem;width:auto;height:auto;padding:.5rem .75rem;background:#fff;border:2px solid var(--accent);z-index:10000}.container{max-width:1160px;margin:0 auto;padding:0 20px}.site-header{position:sticky;top:0;z-index:1000;background:#fff;border-bottom:1px solid rgba(15,23,42,.08)}.header-wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0}.logo-link{font-family:'Playfair Display',Georgia,serif;font-weight:700;font-size:24px;color:var(--text)}.site-nav ul{list-style:none;display:flex;gap:20px;margin:0;padding:0}.site-nav a{color:var(--text);font-weight:600}.site-nav .cta.small{padding:.5rem .8rem;border-radius:999px;background:var(--primary);color:#fff}.hero{position:relative;overflow:hidden}.hero .bg-pattern{position:absolute;inset:0;opacity:.08}.hero .bg-pattern img{width:100%;height:100%;object-fit:cover}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:32px;align-items:center;padding:56px 0 24px}.hero h1{font-family:'Playfair Display',Georgia,serif;font-size:44px;line-height:1.2;margin:.2em 0 .4em}.lead{color:var(--text);font-size:20px}.hero-ctas{display:flex;gap:12px;margin:18px 0 10px}.cta{display:inline-block;background:var(--primary);color:#fff;padding:.9rem 1.2rem;border-radius:14px;font-weight:700;box-shadow:var(--shadow);transform:translateZ(0);transition:transform .2s ease,opacity .2s ease,box-shadow .2s ease}.cta.small{padding:.55rem .9rem}.cta.wide{width:100%;max-width:320px;text-align:center}.cta:hover,.cta:focus{transform:translateY(-2px);box-shadow:0 14px 30px rgba(219,39,119,.25)}.ghost-cta{display:inline-block;border:2px solid var(--primary);color:var(--primary);padding:.85rem 1.1rem;border-radius:14px;font-weight:700}.ghost-cta:hover,.ghost-cta:focus{background:rgba(219,39,119,.08)}.mini-icons{display:flex;gap:16px;align-items:center;margin:18px 0 0;padding:0;list-style:none}.mini-icons li{display:flex;gap:8px;align-items:center;color:var(--muted)}.section{padding:72px 0}.section h2{font-family:'Playfair Display',Georgia,serif;font-size:32px;margin:0 0 12px}.muted{color:var(--muted)}.features-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:24px}.feature{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:14px;padding:18px}.packages .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:20px}.card{background:#fff;border:1px solid rgba(15,23,42,.1);border-radius:16px;padding:20px;box-shadow:0 6px 18px rgba(15,23,42,.06);display:flex;flex-direction:column;gap:10px}.card header h3{font-size:24px;margin:0}.card .duration{color:var(--muted);margin:0}.card .price{font-size:28px;font-weight:800;margin:6px 0;color:var(--text)}.card-list{margin:0 0 8px;padding-left:18px}.card .cta{align-self:flex-start}.about-grid{display:grid;grid-template-columns:420px 1fr;gap:32px;align-items:center}.checklist{list-style:disc;padding-left:18px}.testimonials .quotes{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:12px}.quotes figure{margin:0;background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:14px;padding:18px}.quotes blockquote{margin:0 0 8px;font-style:italic}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:8px}details{border:1px solid rgba(15,23,42,.1);border-radius:12px;padding:12px 16px;background:#fff}details[open]{box-shadow:0 6px 18px rgba(15,23,42,.05)}summary{cursor:pointer;font-weight:700;color:var(--text)}.form-wrap{margin-top:16px}.booking-form .grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:6px}.field-full{grid-column:1/-1}.field input,.field select,.field textarea{padding:.85rem 1rem;border-radius:12px;border:1px solid rgba(15,23,42,.15);font:inherit;background:#fff;color:var(--text)}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid rgba(14,165,233,.35);border-color:var(--accent)}.consent{grid-column:1/-1}.form-status{min-height:1.5em;margin-bottom:8px;color:var(--text)}.site-footer{border-top:1px solid rgba(15,23,42,.08);padding:28px 0 36px;background:#fff}.footer-grid{display:grid;grid-template-columns:1fr auto auto;gap:24px;align-items:start}.foot-links{display:flex;flex-direction:column;gap:8px}.social{display:flex;gap:12px}.social-link{color:var(--text)}.copyright{margin-top:10px}.visually-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}.reveal,.observe{opacity:1;transform:none}.observe.in-view{opacity:1;transform:none}.hero-media img{border-radius:16px;box-shadow:0 10px 30px rgba(15,23,42,.12)}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media (max-width:1024px){.hero-grid{grid-template-columns:1fr;gap:20px}.about-grid{grid-template-columns:1fr}.features-grid{grid-template-columns:repeat(2,1fr)}.packages .cards{grid-template-columns:1fr 1fr}.testimonials .quotes,.faq-grid{grid-template-columns:1fr}}@media (max-width:640px){.site-nav ul{gap:12px}.hero-ctas{flex-direction:column;align-items:flex-start}.features-grid,.packages .cards{grid-template-columns:1fr}.booking-form .grid{grid-template-columns:1fr}.cta.wide{max-width:none}}/* SAFETY */ 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; }

