:root{
  --bg:#fff9f5;
  --surface:#ffffff;
  --ink:#1f1820;
  --muted:#665b67;
  --line:#eadce8;
  --brand:#9f3bd5;
  --brand-dark:#7f2fa8;
  --brand-soft:#f7e8ff;
  --focus:#0f766e;
  --max:1120px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Arial,"Segoe UI",sans-serif;
  color:var(--ink);
  line-height:1.6;
  background:
    radial-gradient(900px 520px at 90% -10%,#ffe2f1 0%,rgba(255,226,241,0) 60%),
    radial-gradient(720px 420px at -10% 0%,#f4e4ff 0%,rgba(244,228,255,0) 60%),
    var(--bg);
}
a{color:#5e2d8d}
a:hover{color:#3f1b66}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{
  outline:3px solid var(--focus);
  outline-offset:2px;
}
.skip{position:absolute;left:-9999px;top:0}
.skip:focus{left:12px;top:12px;background:#fff;border:2px solid var(--ink);padding:.55rem .8rem;z-index:100}
.wrap{max-width:var(--max);margin:0 auto;padding:0 1rem}
.site-header{
  position:sticky;top:0;z-index:60;
  background:rgba(255,249,245,.94);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.header-row{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.brand{text-decoration:none;font-weight:800;font-size:1.2rem;color:var(--ink)}
.brand span{color:var(--brand)}
.nav{display:flex;gap:.65rem;flex-wrap:wrap}
.nav a{text-decoration:none;color:var(--muted);padding:.36rem .62rem;border-radius:999px}
.nav a:hover,.nav a.active{background:var(--brand-soft);color:#35114f}
.nav-toggle{display:none;background:#fff;border:1px solid var(--line);border-radius:10px;padding:.45rem .72rem}

.hero{padding:4.2rem 0 2.5rem}
.kicker{color:var(--brand);text-transform:uppercase;letter-spacing:.11em;font-size:.78rem;font-weight:700;margin:0}
h1{font-size:clamp(2rem,4vw,3.1rem);line-height:1.14;margin:.5rem 0 1rem}
.lead{max-width:70ch;color:#524853}

.hero-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:1rem;align-items:start}
.hero-panel{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:1rem 1.1rem}
.hero-panel h2{margin:.1rem 0 .7rem}

.cta{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.3rem}
.btn{display:inline-block;border-radius:12px;padding:.7rem 1rem;text-decoration:none;font-weight:700;border:1px solid transparent;cursor:pointer}
.btn.primary{background:var(--brand);color:#fff}
.btn.primary:hover{background:var(--brand-dark)}
.btn.alt{background:#fff;color:#3d2852;border-color:#d8bfd8}
.btn-lg{font-size:1.08rem;padding:1rem 1.4rem;min-width:220px;text-align:center}

.section{padding:2.2rem 0}
.section h2{margin-top:0}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}
.card{background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:1rem}
.card p{color:#5f5360}

.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.photo{width:100%;height:300px;object-fit:cover;border-radius:14px;border:1px solid var(--line)}

.table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.table th,.table td{padding:.72rem;border-bottom:1px solid var(--line);text-align:left}
.table th{background:#fdf2ff}

.list-clean{margin:0;padding-left:1.1rem}
.legal-prose h2{margin-top:1.5rem;font-size:1.1rem}
.legal-prose p,.legal-prose li{color:#574e58}

.site-footer{margin-top:2rem;border-top:1px solid var(--line);background:#fff;padding:1.2rem 0}
.site-footer p{margin:.3rem 0}
.footer-legal{display:flex;flex-wrap:wrap;gap:.7rem 1.1rem;margin:.65rem 0}

.cookie-banner{
  position:fixed;left:0;right:0;bottom:0;z-index:100;
  background:#fff;border-top:1px solid var(--line);box-shadow:0 -8px 22px rgba(34,20,40,.14);padding:1rem 0;
}
.cookie-banner[hidden],.cookie-modal[hidden]{display:none!important}
.cookie-banner__inner{display:grid;gap:.7rem}
.cookie-banner__title{margin:0}
.cookie-banner__actions{display:flex;gap:.55rem;flex-wrap:wrap}
.cookie-modal{position:fixed;inset:0;z-index:110;background:rgba(30,16,34,.52);display:flex;align-items:center;justify-content:center;padding:1rem}
.cookie-modal__box{background:#fff;border:1px solid var(--line);border-radius:14px;max-width:500px;width:100%;padding:1.2rem}
.cookie-modal__box label{display:flex;gap:.6rem;margin:.65rem 0;color:#4a3f4b}

@media (max-width:900px){
  .hero-layout,.grid-2{grid-template-columns:1fr}
  .photo{height:240px}
}
@media (max-width:820px){
  .nav-toggle{display:block}
  .nav{display:none}
  .nav.open{display:flex;flex-direction:column;align-items:flex-start;background:#fff;border:1px solid var(--line);padding:.65rem;border-radius:12px;position:absolute;right:1rem;top:66px}
}
