/* Legal pages — shared network style */
:root{
  --legal-bg:#f6f1e8;
  --legal-paper:#fffdf9;
  --legal-ink:#221f19;
  --legal-muted:#6a5a48;
  --legal-line:rgba(34,31,25,.1);
  --legal-accent:var(--brand, #c9a66b);
  --legal-display:"Fraunces", Georgia, serif;
  --legal-body:"Inter", system-ui, sans-serif;
}
*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family:var(--legal-body);
  color:var(--legal-ink);
  background:
    radial-gradient(80% 50% at 10% -10%, color-mix(in srgb, var(--legal-accent) 22%, transparent), transparent 60%),
    radial-gradient(70% 40% at 100% 0%, rgba(34,31,25,.05), transparent 55%),
    var(--legal-bg);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
a{ color:var(--legal-accent); font-weight:600; text-underline-offset:2px; }
a:hover{ color:var(--legal-ink); }
.legal-top{
  position:sticky; top:0; z-index:20;
  backdrop-filter:blur(14px) saturate(1.2);
  -webkit-backdrop-filter:blur(14px) saturate(1.2);
  background:rgba(246,241,232,.82);
  border-bottom:1px solid var(--legal-line);
}
.legal-top__inner{
  max-width:820px; margin:0 auto;
  padding:.85rem 1.25rem;
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
}
.legal-brand{
  display:inline-flex; align-items:center; gap:.75rem;
  color:inherit; text-decoration:none; font-weight:600;
}
.legal-brand img{ height:40px; width:auto; display:block; }
.legal-nav{ display:flex; flex-wrap:wrap; gap:.4rem .9rem; font-size:.88rem; }
.legal-nav a{ color:var(--legal-muted); text-decoration:none; font-weight:600; }
.legal-nav a:hover, .legal-nav a.is-active{ color:var(--legal-ink); }
.legal-wrap{
  max-width:820px; margin:0 auto;
  padding:clamp(2rem,5vw,3.5rem) 1.25rem 4rem;
}
.legal-hero{
  margin-bottom:2.2rem;
  padding-bottom:1.6rem;
  border-bottom:1px solid var(--legal-line);
}
.legal-hero .eyebrow{
  font-size:.72rem; font-weight:700; letter-spacing:.14em;
  text-transform:uppercase; color:var(--legal-accent); margin:0 0 .6rem;
}
.legal-hero h1{
  font-family:var(--legal-display);
  font-size:clamp(1.9rem, 4vw, 2.6rem);
  font-weight:500; letter-spacing:-.02em;
  line-height:1.15; margin:0 0 .7rem;
}
.legal-hero p{ margin:0; color:var(--legal-muted); max-width:52ch; }
.legal-meta{
  display:flex; flex-wrap:wrap; gap:.5rem .9rem;
  margin-top:1rem; font-size:.8rem; color:var(--legal-muted);
}
.legal-meta span{
  padding:.28rem .65rem; border-radius:999px;
  background:rgba(255,255,255,.65); border:1px solid var(--legal-line);
}
.legal-card{
  background:var(--legal-paper);
  border:1px solid var(--legal-line);
  border-radius:18px;
  padding:clamp(1.25rem,3vw,1.8rem);
  box-shadow:0 18px 40px rgba(34,31,25,.05);
  margin-bottom:1.1rem;
}
.legal-card h2{
  font-family:var(--legal-display);
  font-size:1.35rem; font-weight:500;
  margin:0 0 .85rem; letter-spacing:-.01em;
}
.legal-card h3{
  font-size:1.02rem; margin:1.35rem 0 .5rem; font-weight:700;
}
.legal-card p, .legal-card li{ color:var(--legal-muted); }
.legal-card p{ margin:0 0 .85rem; }
.legal-card ul, .legal-card ol{ margin:.2rem 0 1rem; padding-left:1.2rem; }
.legal-card li{ margin:.3rem 0; }
.legal-card strong{ color:var(--legal-ink); font-weight:700; }
.legal-table-wrap{ overflow-x:auto; margin:1rem 0; }
table.legal-table{
  width:100%; border-collapse:collapse; font-size:.86rem;
  min-width:560px;
}
.legal-table th, .legal-table td{
  border:1px solid var(--legal-line);
  padding:.7rem .75rem; text-align:left; vertical-align:top;
}
.legal-table th{
  background:rgba(34,31,25,.04);
  color:var(--legal-ink); font-weight:700;
}
.legal-toc{
  display:flex; flex-wrap:wrap; gap:.45rem;
  margin:0 0 1.6rem;
}
.legal-toc a{
  font-size:.78rem; font-weight:700;
  text-decoration:none; color:var(--legal-muted);
  padding:.4rem .7rem; border-radius:999px;
  border:1px solid var(--legal-line); background:rgba(255,255,255,.55);
}
.legal-toc a:hover{ color:var(--legal-ink); border-color:var(--legal-accent); }
.legal-foot{
  margin-top:2.5rem; padding-top:1.2rem;
  border-top:1px solid var(--legal-line);
  font-size:.82rem; color:var(--legal-muted);
  display:flex; flex-wrap:wrap; justify-content:space-between; gap:.8rem;
}
.legal-foot a{ color:inherit; }
@media (max-width:560px){
  .legal-brand span{ display:none; }
  .legal-top__inner{ padding:.75rem 1rem; }
}
