*{ box-sizing:border-box; margin:0; padding:0; }
:root{
  --ink:#2c2536; --muted:#6f6779; --soft:#9a92a4;
  --pink:#d56c99; --pink2:#e48fb2; --mag:#c4458a;
  --cream:#fbf6ec; --paper:#fef9f2; --line:rgba(90,55,40,.10);
  --peach1:#f7e3d6; --peach2:#f3d3e0;
}
:root[data-theme="dark"]{
  --ink:#f4f5f7; --muted:#b7bdc8; --soft:#8f98a8;
  --pink:#dc78aa; --pink2:#ed98bd; --mag:#e182b1;
  --cream:#171c24; --paper:#101416; --line:rgba(255,255,255,.12);
  --peach1:#2b2122; --peach2:#2b1d26;
}
html{ scroll-behavior:smooth; }
body{ font-family:'Quicksand',Arial,sans-serif; color:var(--ink); background:var(--paper); -webkit-font-smoothing:antialiased; }
a{ color:inherit; text-decoration:none; }
.wrap{ max-width:1200px; margin:0 auto; padding:0 32px; }
nav{ position:sticky; top:0; z-index:40; background:rgba(254,249,242,.86); backdrop-filter:blur(14px); }
:root[data-theme="dark"] nav{ background:rgba(16,20,22,.84); }
.nav-in{ max-width:1200px; margin:0 auto; padding:20px 32px; display:flex; align-items:center; justify-content:space-between; }
.logo{ display:flex; align-items:center; gap:11px; font-weight:700; font-size:23px; color:var(--ink); }
.logo .mark{ width:38px; height:38px; border-radius:50%; background:#fff; display:flex; align-items:center; justify-content:center; overflow:hidden; flex:0 0 38px; box-shadow:0 4px 12px rgba(196,69,138,.18); }
.logo .mark img{ width:100%; height:100%; object-fit:cover; display:block; }
.nav-links{ display:flex; align-items:center; gap:34px; }
.nav-links a{ color:var(--muted); font-weight:600; font-size:16px; }
.nav-links a:hover{ color:var(--ink); }
.nav-cta{ background:linear-gradient(180deg,var(--pink2),var(--pink)); color:#fff !important; padding:11px 24px; border-radius:999px; font-weight:700; font-size:15px; box-shadow:0 10px 24px rgba(213,108,153,.35); }
.theme-toggle{ border:1px solid var(--line); background:rgba(255,255,255,.74); color:var(--ink); border-radius:999px; padding:10px 15px; font:inherit; font-weight:700; cursor:pointer; }
:root[data-theme="dark"] .theme-toggle{ background:#171c24; color:var(--pink2); border-color:rgba(220,120,170,.5); }
.mobile-menu-toggle{ display:none; width:44px; height:44px; border:0; border-radius:14px; background:#fff; color:var(--ink); box-shadow:0 8px 24px rgba(90,55,40,.12); cursor:pointer; align-items:center; justify-content:center; }
:root[data-theme="dark"] .mobile-menu-toggle{ background:#171c24; box-shadow:0 8px 20px rgba(0,0,0,.22); }
.mobile-menu-toggle span,.mobile-menu-toggle span::before,.mobile-menu-toggle span::after{ display:block; width:20px; height:2px; border-radius:2px; background:currentColor; transition:transform .25s ease,opacity .25s ease; }
.mobile-menu-toggle span{ position:relative; }
.mobile-menu-toggle span::before,.mobile-menu-toggle span::after{ content:""; position:absolute; left:0; }
.mobile-menu-toggle span::before{ top:-6px; }
.mobile-menu-toggle span::after{ top:6px; }
.mobile-menu-toggle[aria-expanded="true"] span{ background:transparent; }
.mobile-menu-toggle[aria-expanded="true"] span::before{ transform:translateY(6px) rotate(45deg); }
.mobile-menu-toggle[aria-expanded="true"] span::after{ transform:translateY(-6px) rotate(-45deg); }
.mobile-menu{ position:absolute; display:grid; grid-template-rows:0fr; top:100%; left:16px; right:16px; background:rgba(254,249,242,.98); border:1px solid var(--line); border-radius:0 0 22px 22px; box-shadow:0 18px 40px rgba(90,55,40,.14); overflow:hidden; opacity:0; transform:translateY(-8px); pointer-events:none; transition:grid-template-rows .28s ease,opacity .2s ease,transform .28s ease; }
:root[data-theme="dark"] .mobile-menu{ background:rgba(23,28,36,.98); box-shadow:0 18px 42px rgba(0,0,0,.32); }
.mobile-menu.open{ grid-template-rows:1fr; opacity:1; transform:translateY(0); pointer-events:auto; }
.mobile-menu-inner{ min-height:0; display:flex; flex-direction:column; padding:8px 18px 20px; }
.mobile-menu a{ color:var(--ink); font-weight:700; font-size:17px; padding:14px 8px; border-bottom:1px solid var(--line); }
.mobile-menu .nav-cta{ margin-top:10px; padding:14px; text-align:center; border:0; border-radius:999px; color:#fff !important; background:linear-gradient(180deg,var(--pink2),var(--pink)); }
.legal-hero{ padding-top:84px; padding-bottom:42px; }
.hero-card{ border-radius:40px; padding:72px 58px; background-color:#d76ba0; background-image:radial-gradient(120% 80% at 16% 6%, #f3b0cd 0%, rgba(243,176,205,0) 52%), radial-gradient(110% 80% at 94% 20%, #e487b3 0%, rgba(228,135,179,0) 54%), linear-gradient(160deg,#ee9fc2 0%, #d76ba0 55%, #c45991 100%); color:#fff; }
.kicker{ color:#fff9f6; font-weight:700; font-size:14px; letter-spacing:1.5px; text-transform:uppercase; }
.hero-card h1{ margin-top:14px; font-size:58px; line-height:1; letter-spacing:-1px; }
.hero-card p{ margin-top:18px; max-width:650px; color:rgba(255,255,255,.9); font-size:20px; line-height:1.55; font-weight:500; }
.legal-layout{ display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:34px; padding:28px 32px 96px; }
.legal-card,.side-card,.contact-card{ background:#fff; border:1px solid var(--line); border-radius:28px; box-shadow:0 18px 50px rgba(80,45,30,.06); }
:root[data-theme="dark"] .legal-card,:root[data-theme="dark"] .side-card,:root[data-theme="dark"] .contact-card{ background:#171c24; box-shadow:0 18px 50px rgba(0,0,0,.22); }
.legal-card{ padding:46px; }
.legal-card p{ color:var(--muted); font-size:17px; line-height:1.75; font-weight:500; }
.legal-card p+p{ margin-top:14px; }
.legal-card h2{ margin:34px 0 10px; font-size:26px; letter-spacing:-.2px; }
.legal-card a,.contact-card a{ color:var(--mag); font-weight:700; }
.side-card{ padding:28px; position:sticky; top:100px; }
.side-card h2{ font-size:22px; margin-bottom:14px; }
.side-card p{ color:var(--muted); line-height:1.55; font-weight:500; }
.side-links{ display:grid; gap:10px; margin-top:22px; }
.side-links a{ display:block; border:1px solid var(--line); border-radius:16px; padding:13px 15px; color:var(--muted); font-weight:700; background:var(--paper); }
.contact-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; padding:28px 32px 96px; }
.contact-card{ padding:38px; min-height:260px; }
.contact-card h2{ font-size:30px; margin-bottom:18px; }
.contact-card p{ color:var(--muted); font-size:18px; line-height:1.65; font-weight:500; margin-top:12px; }
.contact-card strong{ color:var(--ink); }
.contact-email{ display:inline-block; font-size:25px; margin:8px 0; }
footer{ background:var(--cream); padding:48px 0 36px; margin-top:20px; }
.foot-in{ display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:20px; }
.foot-links{ display:flex; flex-wrap:wrap; gap:28px; }
.foot-links a{ color:var(--muted); font-weight:600; font-size:15px; }
.copyright{ text-align:center; margin-top:26px; font-weight:500; font-size:14px; color:var(--soft); }
@media (max-width:980px){
  .nav-in{ position:relative; padding:14px 22px; }
  .nav-links{ display:none; }
  .mobile-menu-toggle{ display:flex; }
  .legal-hero{ padding-top:56px; }
  .hero-card{ padding:56px 34px; border-radius:32px; }
  .hero-card h1{ font-size:42px; }
  .legal-layout,.contact-grid{ grid-template-columns:1fr; padding-bottom:72px; }
  .side-card{ position:static; }
}
@media (max-width:560px){
  .wrap,.legal-layout,.contact-grid{ padding-left:24px; padding-right:24px; }
  .hero-card{ padding:44px 28px; }
  .hero-card h1{ font-size:38px; }
  .legal-card,.contact-card{ padding:30px; }
  .legal-card p,.contact-card p{ font-size:16px; }
  footer{ padding:42px 0 34px; overflow:hidden; }
  .foot-in{ align-items:flex-start; gap:24px; }
  .foot-links{ width:100%; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 18px; }
  .foot-links a{ font-size:15px; line-height:1.25; white-space:normal; }
  .copyright{ text-align:left; line-height:1.55; margin-top:24px; }
}
