:root{
  --bg:#FAF7F3;
  --bg-soft:#F0E9E1;
  --surface:#FFFFFF;
  --ink:#221B26;
  --ink-soft:#5C5263;
  --accent:#C2236B;
  --accent-deep:#8E1147;
  --accent-pale:#F8E4EE;
  --line:#E7DED3;
  --dark:#231A26;
  --dark-ink:#F3EDF0;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}

body{
  font-size:16px;
  font-family:"Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  line-height:1.75;
  background-color:#FAF7F3;
  color:#221B26;
}

.legal-page{
  background-color:#FAF7F3;
  color:#221B26;
}

a{color:inherit}

/* ---------- Header (div/header with solid background, h1 must contrast) ---------- */
.legal-header{
  background:#231A26;
  color:#F3EDF0;
  padding:72px 24px 60px;
  text-align:center;
}
.legal-header .header-inner{max-width:800px;margin:0 auto}
.legal-header .kicker{
  display:inline-block;font-size:0.78rem;font-weight:700;letter-spacing:0.14em;
  text-transform:uppercase;color:#C2236B;margin-bottom:16px;
}
.legal-header h1{
  font-size:clamp(2rem,5vw,3rem);
  font-weight:800;
  color:#FFFFFF;
  line-height:1.15;
  letter-spacing:-0.02em;
  margin-bottom:16px;
}
.legal-header .updated{font-size:0.9rem;color:#F3EDF0}
.legal-header a{color:#F3EDF0;font-weight:700}

/* ---------- Scope isolation: legal content never polluted ---------- */
.legal-page .legal-content section{background-color:transparent !important}

/* ---------- Content container (centered, padded) ---------- */
.legal-content .container{
  max-width:800px;
  margin:0 auto;
  padding:0 24px;
}

.legal-content{padding:56px 0 72px}

/* ---------- Table of contents ---------- */
.toc{
  background:#FFFFFF;
  border:1px solid #E7DED3;
  border-radius:16px;
  padding:28px 30px;
  margin-bottom:48px;
}
.toc h2{font-size:1.05rem;color:#8E1147;margin-bottom:16px;text-transform:uppercase;letter-spacing:0.06em}
.toc ol{list-style:none;columns:2;column-gap:32px}
.toc li{margin-bottom:10px;break-inside:avoid}
.toc a{color:#5C5263;text-decoration:none;font-size:0.95rem}
.toc a:hover{color:#C2236B}
.toc a::before{content:"# ";color:#C2236B;font-weight:700}

/* ---------- Sections ---------- */
.legal-content section{margin-bottom:52px;scroll-margin-top:24px}
.legal-content h2{
  font-size:1.55rem;
  font-weight:800;
  color:#8E1147;
  margin-bottom:16px;
  padding-bottom:12px;
  border-bottom:2px solid #E7DED3;
  letter-spacing:-0.01em;
}
.legal-content h3{
  font-size:1.15rem;
  font-weight:700;
  color:#221B26;
  margin:22px 0 10px;
}
.legal-content p{color:#5C5263;margin-bottom:16px}
.legal-content ul{color:#5C5263;margin:0 0 16px 24px}
.legal-content li{margin-bottom:8px}
.legal-content strong{color:#221B26}
.legal-content a{color:#8E1147;text-decoration:underline}

.back-home{
  display:inline-block;
  margin-top:24px;
  background:#221B26;
  color:#FFFFFF;
  padding:13px 26px;
  border-radius:999px;
  font-weight:700;
  text-decoration:none;
}
.back-home:hover{background:#C2236B}

/* ---------- Footer ---------- */
.legal-footer{
  background:#231A26;
  color:#F3EDF0;
  text-align:center;
  padding:44px 24px;
}
.legal-footer .footer-inner{max-width:800px;margin:0 auto}
.legal-footer .brand{font-size:1.2rem;font-weight:800;margin-bottom:10px;color:#FFFFFF}
.legal-footer .brand span{color:#C2236B}
.legal-footer p{font-size:0.92rem;color:#F3EDF0;margin-bottom:8px}
.legal-footer a{color:#C2236B;font-weight:700;text-decoration:none}
.legal-footer a:hover{color:#F3EDF0}
.legal-footer .footer-links{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;margin-top:12px}

@media (max-width:560px){
  .toc ol{columns:1}
}
