:root{
  --paper: #ece7dd;
  --paper-strong: #e1dbcf;
  --ink: #17130f;
  --ink-soft: #5d5a54;
  --accent: #304328;
  --accent-soft: #dbe3d3;
  --rule: #17130f1a;
  --warn-bg: #f3e4cc;
  --warn-ink: #6e4d20;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  min-height:100vh;
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color:var(--ink);
  background:
    radial-gradient(circle at top left, #f7f2e8 0, var(--paper) 42%, #d7d1c7 100%);
  line-height:1.6;
}

a{
  color:var(--accent);
  text-underline-offset:3px;
}

.legal-shell{
  width:min(100%, 860px);
  margin:0 auto;
  padding:32px 20px 80px;
}

.legal-topbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  margin-bottom:40px;
  padding-bottom:18px;
  border-bottom:1px solid var(--rule);
}

.legal-brand{
  font-size:1.1rem;
  font-weight:700;
  letter-spacing:.02em;
  color:var(--ink);
  text-decoration:none;
}

.legal-back{
  font-size:.95rem;
  font-weight:500;
}

.legal-card{
  background:color-mix(in srgb, white 42%, transparent);
  border:1px solid #ffffff55;
  border-radius:28px;
  box-shadow:0 24px 60px -36px #00000045;
  padding:clamp(24px, 4vw, 44px);
  backdrop-filter:blur(12px);
}

.legal-kicker{
  margin:0 0 12px;
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--accent);
}

h1{
  margin:0 0 14px;
  font-size:clamp(2.1rem, 5vw, 3.5rem);
  line-height:1;
  letter-spacing:-.03em;
}

.legal-intro{
  margin:0 0 28px;
  max-width:62ch;
  color:var(--ink-soft);
}

section + section{
  margin-top:32px;
  padding-top:28px;
  border-top:1px solid var(--rule);
}

h2{
  margin:0 0 12px;
  font-size:1.15rem;
  line-height:1.2;
}

p{
  margin:0 0 12px;
}

ul{
  margin:0 0 12px;
  padding-left:20px;
}

li + li{
  margin-top:8px;
}

dl{
  margin:0;
}

dt{
  font-weight:700;
  margin-top:14px;
}

dd{
  margin:6px 0 0;
  color:var(--ink-soft);
}

.legal-note{
  margin:20px 0 0;
  padding:14px 16px;
  border-radius:16px;
  background:var(--accent-soft);
  color:#24301f;
}

.legal-placeholder{
  margin:18px 0 0;
  padding:16px 18px;
  border-radius:18px;
  background:var(--warn-bg);
  color:var(--warn-ink);
}

.legal-placeholder strong{
  color:#52360f;
}

.legal-footer{
  margin-top:24px;
  font-size:.92rem;
  color:var(--ink-soft);
}

@media (max-width: 640px){
  .legal-topbar{
    flex-direction:column;
    align-items:flex-start;
    margin-bottom:28px;
  }

  .legal-shell{
    padding:20px 14px 56px;
  }

  .legal-card{
    border-radius:22px;
    padding:22px 18px;
  }
}
