/* Legal pages: the homepage tokens, reading layout. */
:root {
  --bg: #1c1b19; --deep: #0c0b09; --text: #f3ede0; --soft: #b8b0a0; --muted: #8f887a;
  --gold: #e6c77a; --gold-hi: #f8e0a4; --gold-mid: #c9a96a;
  --line: rgba(248,224,164,.12); --line-2: rgba(248,224,164,.22);
  --metal-text: linear-gradient(90deg,#8e5b22,#f8e0a4 30%,#c18a42 52%,#fff0bd 76%,#9b6329);
  --display: "Cinzel", Georgia, serif; --body: "Montserrat", Helvetica, Arial, sans-serif;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--text); font: 300 16px/1.75 var(--body); -webkit-font-smoothing: antialiased; }
::selection { background: rgba(230,199,122,.32); }
a { color: var(--gold-hi); text-underline-offset: 3px; }
.top { position: sticky; top: 0; z-index: 10; background: rgba(28,27,25,.92); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-bottom: 1px solid var(--line); }
.top div { max-width: 1100px; margin: 0 auto; padding: 14px 20px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.top img { height: 34px; width: auto; display: block; }
.top nav { display: flex; gap: 20px; font: 600 12px var(--body); letter-spacing: .12em; }
.top nav a { color: var(--soft); text-decoration: none; }
.top nav a:hover, .top nav a[aria-current] { color: var(--gold-hi); }
main { max-width: 760px; margin: 0 auto; padding: 64px 20px 80px; }
h1 { font: 400 clamp(32px, 5vw, 48px)/1.15 var(--display); text-transform: uppercase; margin: 0; }
h1 span { background: var(--metal-text); -webkit-background-clip: text; background-clip: text; color: transparent; font-weight: 600; }
.updated { color: var(--muted); font-size: 13px; margin: 12px 0 40px; }
h2 { font: 600 14px var(--body); letter-spacing: .2em; text-transform: uppercase; color: var(--gold-hi); margin: 44px 0 12px; }
p, li { color: var(--soft); }
strong { color: var(--text); font-weight: 600; }
ul { padding-left: 20px; }
li { margin: 6px 0; }
.box { border: 1px solid var(--line-2); border-radius: 16px; padding: 20px 24px; margin: 24px 0; background: rgba(248,224,164,.03); }
footer { border-top: 1px solid var(--line); }
footer div { max-width: 1100px; margin: 0 auto; padding: 24px 20px 34px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 24px; font: 400 12px/1.7 var(--body); color: var(--muted); }
footer nav { display: flex; flex-wrap: wrap; gap: 8px 20px; }
footer a { color: var(--gold); text-decoration: none; }
@media (max-width: 560px) { .top nav a.hide-sm { display: none; } main { padding-top: 44px; } }
