:root{
  --ink:#2a1720; --ink-2:#52606c; --muted:#6f6168;
  --green:#1f8a5b; --orange:#c25a37;
  --bg:#faf6f1; --card:#fff; --line:rgba(42,23,32,.12); --soft:#f2ece3;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:'Hanken Grotesk',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  line-height:1.7; -webkit-font-smoothing:antialiased;
}
a{color:var(--green)}
.legal-nav{
  position:sticky; top:0; z-index:10; background:rgba(250,246,241,.9);
  backdrop-filter:blur(8px); border-bottom:1px solid var(--line);
}
.legal-nav .inner{
  max-width:860px; margin:0 auto; padding:14px clamp(18px,5vw,28px);
  display:flex; align-items:center; justify-content:space-between; gap:16px;
}
.brand{display:flex; align-items:center; gap:10px; font-weight:800; font-size:18px; letter-spacing:-.02em; color:var(--ink); text-decoration:none}
.back{font-size:14px; font-weight:600; color:var(--orange); text-decoration:none; white-space:nowrap}
.back:hover{text-decoration:underline}
main{max-width:860px; margin:0 auto; padding:clamp(28px,5vw,56px) clamp(18px,5vw,28px) 80px}
.eyebrow{font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--green); margin:0 0 10px}
h1{font-size:clamp(28px,4.5vw,40px); line-height:1.15; letter-spacing:-.02em; margin:0 0 8px}
.updated{color:var(--muted); font-size:14px; margin:0 0 28px}
.notice{
  background:#fff7ef; border:1px solid #f0d9c4; border-radius:12px;
  padding:14px 16px; font-size:14px; color:#7a4a2e; margin:0 0 32px;
}
.toc{
  background:var(--card); border:1px solid var(--line); border-radius:14px;
  padding:18px 20px; margin:0 0 36px;
}
.toc h2{font-size:13px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); margin:0 0 12px}
.toc ol{margin:0; padding-left:20px; columns:2; column-gap:28px; font-size:14.5px}
.toc a{text-decoration:none}
.toc a:hover{text-decoration:underline}
h2.sec{font-size:clamp(19px,2.6vw,23px); letter-spacing:-.01em; margin:40px 0 12px; scroll-margin-top:72px}
h3{font-size:16px; margin:22px 0 8px}
p,li{color:var(--ink-2); font-size:15.5px}
ul,ol.list{padding-left:22px}
li{margin:6px 0}
.placeholder{background:#fdecc8; color:#7a5b12; padding:1px 6px; border-radius:5px; font-weight:600; font-size:.92em}
table{width:100%; border-collapse:collapse; margin:14px 0; font-size:14.5px}
th,td{text-align:left; padding:10px 12px; border:1px solid var(--line); vertical-align:top}
th{background:var(--soft); color:var(--ink); font-weight:700}
.contact-card{background:var(--card); border:1px solid var(--line); border-radius:14px; padding:20px 22px; margin-top:32px}
.legal-foot{border-top:1px solid var(--line); margin-top:48px; padding-top:24px; font-size:13.5px; color:var(--muted)}
.legal-foot a{color:var(--muted)}
hr{border:0; border-top:1px solid var(--line); margin:34px 0}
