/* Baby Reveal — legal pages stylesheet */
:root{
  --color-ink:#03060b;
  --color-paper:#ffffff;
  --color-paper-soft:#f4f4f5;
  --color-text:#1a1f2b;
  --color-text-soft:#4a5160;
  --color-text-mute:#6b7280;
  --color-rose:#f59fe6;
  --color-accent:#4c6de7;
  --color-line:rgba(3,6,11,.08);
  --font-ui:'Manrope', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --maxw:760px;
  --r-sm:10px; --r-md:14px; --r-pill:999px;
  --ease-out:cubic-bezier(.16,.84,.36,1);
}
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--font-ui);
  font-size:16px;
  line-height:1.65;
  color:var(--color-text);
  background:var(--color-paper-soft);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
a{color:var(--color-accent);text-decoration:underline;text-decoration-color:rgba(76,109,231,.35);text-underline-offset:2px;transition:color .15s var(--ease-out)}
a:hover{color:var(--color-ink);text-decoration-color:currentColor}
:focus{outline:none}
:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px;border-radius:var(--r-sm)}
img{max-width:100%;height:auto;display:block}

/* Header */
.legal-header{
  background:var(--color-ink);
  padding:32px 24px;
}
.legal-header-inner{
  max-width:var(--maxw);
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.legal-header img{
  height:auto;
  width:clamp(160px,22vw,220px);
}
.legal-back{
  font-size:13.5px;
  font-weight:500;
  color:rgba(255,255,255,.78);
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:44px;
  padding:10px 14px;
  border-radius:var(--r-pill);
  border:1px solid rgba(255,255,255,.18);
  transition:background .18s var(--ease-out), color .18s var(--ease-out), border-color .18s var(--ease-out);
}
.legal-back:hover{
  color:#fff;
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.32);
  text-decoration:none;
}
.legal-back svg{width:14px;height:14px}

/* Body */
main.legal{
  max-width:var(--maxw);
  margin:0 auto;
  padding:64px 24px 96px;
}
.legal h1{
  font-size:clamp(2rem,4.4vw,2.6rem);
  font-weight:700;
  letter-spacing:-.025em;
  line-height:1.1;
  margin:0 0 8px;
  color:var(--color-ink);
}
.legal .last-updated{
  font-size:13.5px;
  font-weight:500;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--color-text-mute);
  margin:0 0 40px;
}
.legal h2{
  font-size:20px;
  font-weight:700;
  letter-spacing:-.015em;
  line-height:1.3;
  margin:48px 0 12px;
  color:var(--color-ink);
}
.legal h3{
  font-size:16px;
  font-weight:700;
  letter-spacing:-.005em;
  margin:32px 0 8px;
  color:var(--color-ink);
}
.legal p{
  margin:0 0 16px;
  color:var(--color-text-soft);
}
.legal ul,.legal ol{
  margin:0 0 16px;
  padding-left:24px;
  color:var(--color-text-soft);
}
.legal li{margin:6px 0}
.legal strong{color:var(--color-text);font-weight:600}
.legal hr{
  border:0;
  border-top:1px solid var(--color-line);
  margin:48px 0;
}

/* Footer */
.legal-footer{
  border-top:1px solid var(--color-line);
  padding:32px 24px;
  background:var(--color-paper);
}
.legal-footer-inner{
  max-width:var(--maxw);
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  font-size:12.5px;
  color:var(--color-text-mute);
}
.legal-footer ul{
  list-style:none;
  display:flex;
  gap:20px;
  margin:0;
  padding:0;
}
.legal-footer a{
  color:var(--color-text-mute);
  text-decoration:none;
  min-height:44px;
  display:inline-flex;
  align-items:center;
}
.legal-footer a:hover{color:var(--color-ink)}
@media (max-width:560px){
  .legal-header-inner{flex-direction:column;align-items:flex-start;gap:16px}
  .legal-footer-inner{flex-direction:column;align-items:flex-start;gap:8px}
  main.legal{padding:48px 20px 64px}
  .legal h2{margin-top:36px}
}
