:root{
  --ink:#0A0A0A;
  --paper:#FAFAF7;
  --brand-pink:#FFB9CD;
  --brand-plum:#47143D;
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

html{scroll-behavior:smooth}

body{
  font-family:'Geist',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  background:var(--ink);
  color:var(--paper);
  -webkit-font-smoothing:antialiased;
  min-height:100vh;
  min-height:100dvh;
  line-height:1.6;
}

.bg{
  position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;
  background:var(--ink);
}
.bg::before,
.bg::after{
  content:'';
  position:absolute;border-radius:50%;
  filter:blur(40px);
}
.bg::before{
  width:min(60vw,360px);height:min(60vw,360px);
  top:18%;left:50%;transform:translateX(-50%);
  background:radial-gradient(circle, rgba(255,185,205,0.22) 0%, rgba(255,185,205,0.08) 40%, transparent 70%);
}
.bg::after{
  width:min(55vw,320px);height:min(55vw,320px);
  bottom:8%;left:50%;transform:translateX(-50%);
  background:radial-gradient(circle, rgba(71,20,61,0.45) 0%, rgba(71,20,61,0.15) 45%, transparent 70%);
}

.legal-wrap{
  position:relative;z-index:1;
  max-width:820px;
  margin:0 auto;
  padding:clamp(32px,6vw,56px) clamp(20px,5vw,32px) 140px;
}

.legal-back{
  display:inline-block;
  font-family:'IBM Plex Mono',ui-monospace,monospace;
  font-size:10px;font-weight:600;
  letter-spacing:0.16em;text-transform:uppercase;
  color:var(--brand-pink);
  text-decoration:none;
  margin-bottom:clamp(28px,5vw,40px);
}
.legal-back:hover{text-decoration:underline}

.legal-page h1{
  font-family:'Fraunces',Georgia,'Times New Roman',serif;
  font-size:clamp(32px,6vw,44px);
  font-weight:400;
  letter-spacing:-0.03em;
  color:var(--paper);
  margin-bottom:8px;
}

.legal-meta{
  font-size:14px;
  color:rgba(250,250,247,0.55);
  margin-bottom:28px;
}

.legal-page h2{
  font-family:'Geist',-apple-system,sans-serif;
  font-size:clamp(18px,3vw,22px);
  font-weight:600;
  color:var(--brand-pink);
  margin:28px 0 12px;
}

.legal-page h3{
  font-size:16px;
  font-weight:600;
  color:rgba(250,250,247,0.9);
  margin:16px 0 8px;
}

.legal-page p,
.legal-page li{
  font-size:15px;
  line-height:1.65;
  color:rgba(250,250,247,0.78);
}

.legal-page p{margin-bottom:16px}

.legal-page ul{
  margin:0 0 16px;
  padding-left:1.25rem;
}
.legal-page ul li{margin-bottom:8px}

.legal-page a{
  color:var(--brand-pink);
  text-decoration:none;
}
.legal-page a:hover{text-decoration:underline}

.legal-footer-note{
  margin-top:32px;
  padding-top:20px;
  border-top:1px solid rgba(255,185,205,0.2);
  font-size:14px;
  color:rgba(250,250,247,0.55);
}

.contact-card{
  padding:24px;
  border:1px solid rgba(255,185,205,0.25);
  border-radius:12px;
  background:rgba(255,185,205,0.04);
  margin-top:16px;
}
.contact-card p{
  margin-bottom:0;
  color:rgba(250,250,247,0.82);
}
.contact-card a{
  color:var(--brand-pink);
  font-weight:500;
  text-decoration:none;
}
.contact-card a:hover{text-decoration:underline}

.footer-links{
  list-style:none;
  margin:12px 0 0;
  padding:0;
}
.footer-links li{margin-bottom:8px}
.footer-links a{
  color:rgba(250,250,247,0.55);
  text-decoration:none;
  font-size:14px;
}
.footer-links a:hover{color:var(--brand-pink)}

.site-footer{
  position:fixed;bottom:0;left:0;right:0;z-index:1;
  padding:20px 24px 24px;
  text-align:center;
  font-family:'IBM Plex Mono',ui-monospace,monospace;
}
.footer-legal{
  display:flex;flex-wrap:wrap;
  align-items:center;justify-content:center;
  gap:10px 14px;
  margin-bottom:10px;
}
.footer-legal a{
  font-size:10px;font-weight:500;
  letter-spacing:0.12em;text-transform:uppercase;
  color:rgba(250,250,247,0.45);
  text-decoration:none;
}
.footer-legal a:hover{color:var(--brand-pink)}
.footer-legal-sep{
  color:rgba(250,250,247,0.22);
  font-size:10px;user-select:none;
}
.footer-copy{
  margin:0;
  font-size:9px;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:rgba(250,250,247,0.28);
}
.footer-company{
  margin:6px 0 0;
  font-size:9px;
  letter-spacing:0.06em;
  color:rgba(250,250,247,0.22);
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
}
