:root{
  --bg:#f3faf7;
  --bg-raised:#e6f3ee;
  --panel:#ffffff;
  --ink:#0c221c;
  --line: rgba(12,40,32,0.12);
  --line-strong: rgba(12,40,32,0.22);
  --text:#0c221c;
  --text-dim:#4f6b62;
  --text-on-dark:#c5d9d1;
  --accent:#ff3d71;
  --accent-hover:#ff6b94;
  --ok:#0d9f6e;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg);
  color:var(--text);
  font-family:'Space Grotesk', sans-serif;
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  min-height:100vh;
  display:flex;
  flex-direction:column;
}
.display{ font-family:'Big Shoulders Display', sans-serif; font-weight:800; text-transform:uppercase; letter-spacing:0.01em; line-height:0.92; }
.wrap{ max-width:1120px; margin:0 auto; padding:0 32px; width:100%; }
.wrap.narrow{ max-width:720px; }
a{ color:var(--accent); }
a:hover{ color:var(--accent-hover); }

nav{
  position:sticky; top:0; z-index:50;
  background:var(--ink);
  border-bottom:1px solid rgba(255,255,255,0.08);
}
nav .wrap{ display:flex; align-items:center; justify-content:space-between; height:76px; }
nav a{ color:inherit; text-decoration:none; }
.nav-cta{ display:flex; align-items:center; gap:10px; }
.logo{ font-family:'Big Shoulders Display', sans-serif; font-weight:800; font-size:26px; letter-spacing:0.02em; text-transform:uppercase; color:#fff; }
.btn{
  display:inline-flex; align-items:center;
  padding:13px 24px;
  border-radius:5px;
  font-family:'Space Grotesk', sans-serif;
  font-weight:600; font-size:14px;
  text-decoration:none;
  cursor:pointer; border:none;
  transition: transform .15s ease, background .15s ease, border-color .15s;
}
.btn-primary{ background:var(--accent); color:#fff; }
.btn-primary:hover{ transform:translateY(-1px); background:var(--accent-hover); color:#fff; }
.btn-ghost{
  background:transparent;
  border:1px solid rgba(255,255,255,0.28);
  color:#fff;
}
.btn-ghost:hover{
  border-color:#fff;
  color:#fff;
  background:rgba(255,255,255,0.08);
}

.legal{ flex:1; padding:72px 0 96px; }
.legal .tag{
  font-family:'IBM Plex Mono', monospace;
  font-size:12.5px;
  color:var(--accent);
  text-transform:uppercase;
  letter-spacing:0.12em;
  margin-bottom:14px;
}
.legal h1{ font-size:clamp(36px,5vw,56px); margin-bottom:12px; color:var(--ink); }
.legal .updated{
  font-family:'IBM Plex Mono', monospace;
  font-size:12.5px;
  color:var(--text-dim);
  letter-spacing:0.04em;
  margin-bottom:36px;
}
.legal h2{
  font-size:20px;
  font-weight:600;
  margin:36px 0 12px;
}
.legal p{ color:var(--text); margin-bottom:14px; }
.legal ul{ margin:0 0 14px 1.25em; color:var(--text-dim); }
.legal li{ margin-bottom:8px; }
.legal li strong{ color:var(--text); font-weight:600; }

footer{
  padding:48px 0 40px;
  background:var(--ink);
  border-top:1px solid rgba(255,255,255,0.08);
  margin-top:auto;
}
footer .wrap{ display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
footer .footer-right{ display:flex; align-items:center; gap:24px; flex-wrap:wrap; }
footer .fl{ font-size:13px; color:var(--text-on-dark); }
footer .footer-social{ display:flex; align-items:center; gap:10px; }
footer .social-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  border-radius:8px;
  color:var(--text-on-dark);
  text-decoration:none;
  transition: color .15s ease, background .15s ease;
}
footer .social-icon svg{ width:18px; height:18px; fill:currentColor; }
footer .social-icon:hover{ color:#fff; background:rgba(255,255,255,0.08); }
footer .footer-links{ display:flex; gap:28px; flex-wrap:wrap; }
footer .footer-links a{
  text-decoration:none;
  font-size:13px;
  color:var(--text-on-dark);
}
footer .footer-links a:hover{ color:#fff; }

@media (max-width: 860px){
  footer .wrap{ flex-direction:column; align-items:flex-start; gap:20px; }
  footer .footer-right{ flex-direction:column; align-items:flex-start; gap:16px; }
}
