/* Shared styling for the legal pages (privacy.html, terms.html).
   Tokens mirror index.html so the pages read as part of the same site. */

:root{
  --bg:#0a0a0a;
  --surface:#111110;
  --border:#2a2820;
  --border-soft:#211f18;
  --ink:#f5f4ee;
  --muted:#a6a297;
  --muted-2:#726d5f;
  --gold:#a47b2c;
  --gold-soft:#c79a4a;
  --font-display:'Hanken Grotesk', ui-sans-serif, system-ui, sans-serif;
  --container:820px;
  --pad:clamp(20px, 4vw, 56px);
  color-scheme: dark;
}

*,*::before,*::after{ box-sizing:border-box; }
h1,h2,h3,p,ul,ol,dl,dd,figure{ margin:0; }
ul,ol{ padding-left:1.15em; }
a{ color:var(--gold-soft); }
a:hover{ color:var(--gold); }
img{ display:block; max-width:100%; }

body{
  background:var(--bg);
  color:var(--ink);
  font-family:var(--font-display);
  font-size:1.02rem;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  margin:0;
}

:focus-visible{ outline:2px solid var(--gold-soft); outline-offset:3px; border-radius:4px; }

.wrap{ max-width:var(--container); margin-inline:auto; padding-inline:var(--pad); }

.legal-header{
  border-bottom:1px solid var(--border-soft);
  background:rgba(10,10,10,0.9);
  position:sticky; top:0; z-index:10;
  backdrop-filter:blur(10px);
}
.legal-header .wrap{
  max-width:1180px;
  display:flex; align-items:center; justify-content:space-between;
  gap:20px; padding-block:16px;
}
.legal-header img{ height:26px; width:auto; }
.legal-header a.back{
  font-size:0.86rem; font-weight:600; letter-spacing:0.02em;
  color:var(--muted); text-decoration:none; white-space:nowrap;
}
.legal-header a.back:hover{ color:var(--gold-soft); }

main{ padding-block:clamp(48px, 7vw, 88px) clamp(56px, 8vw, 104px); }

.eyebrow{
  font-size:0.78rem; font-weight:700; letter-spacing:0.16em;
  text-transform:uppercase; color:var(--gold-soft);
}
h1{
  font-size:clamp(2rem, 5vw, 2.9rem);
  font-weight:900; text-transform:uppercase; letter-spacing:-0.01em;
  line-height:1.06; margin-top:12px;
}
.updated{
  margin-top:16px; font-size:0.86rem; color:var(--muted-2);
  padding-bottom:26px; border-bottom:1px solid var(--border);
}

h2{
  font-size:1.12rem; font-weight:800; letter-spacing:0.01em;
  margin-top:40px; color:var(--ink);
}
h3{ font-size:0.98rem; font-weight:700; margin-top:24px; color:var(--ink); }
p, ul, ol{ margin-top:14px; color:var(--muted); }
li{ margin-top:7px; }
li::marker{ color:var(--gold-deep, #7c5c20); }
strong{ color:var(--ink); font-weight:700; }

.callout{
  margin-top:20px;
  border:1px solid var(--border);
  border-left:2px solid var(--gold);
  border-radius:12px;
  padding:18px 20px;
  background:var(--surface);
  font-size:0.96rem;
}
.callout p:first-child{ margin-top:0; }

address.contact{
  margin-top:16px; font-style:normal; color:var(--muted); line-height:1.7;
}

.legal-footer{
  border-top:1px solid var(--border-soft);
  padding-block:30px 40px;
  font-size:0.8rem; color:var(--muted-2);
}
.legal-footer .wrap{ max-width:1180px; display:flex; flex-wrap:wrap; gap:10px 22px; justify-content:space-between; }
.legal-footer a{ color:var(--muted-2); text-decoration:none; }
.legal-footer a:hover{ color:var(--gold-soft); }
.legal-footer nav{ display:flex; gap:18px; flex-wrap:wrap; }
