/* Metatron legal surfaces — Impressum & Datenschutz.
   Same doctrine as the homepage: two colours + off-white, Fraunces/Hanken,
   hairline gold, spatial silence, dark default. Self-hosted fonts. */

@font-face { font-family:"Fraunces"; font-style:normal; font-weight:300 400; font-display:swap;
  src:url("fonts/fraunces-latin.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:"Fraunces"; font-style:normal; font-weight:300 400; font-display:swap;
  src:url("fonts/fraunces-latinext.woff2") format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:"Hanken Grotesk"; font-style:normal; font-weight:300 400; font-display:swap;
  src:url("fonts/hanken-latin.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:"Hanken Grotesk"; font-style:normal; font-weight:300 400; font-display:swap;
  src:url("fonts/hanken-latinext.woff2") format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }

:root {
  --ground:#0E3B2E; --paper:#F4EFE6; --gold:#C9A24B;
  --ink:var(--paper); --bg:var(--ground); --muted:#A9BEB2;
  --rule:rgba(201,162,75,0.30); --rule-faint:rgba(201,162,75,0.14);
  --serif:"Fraunces","Iowan Old Style","Palatino Linotype",Georgia,serif;
  --sans:"Hanken Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;
  --read:44rem; --gutter:clamp(22px,6vw,96px);
}
:root[data-theme="light"]{ --ink:#0E3B2E; --bg:#F4EFE6; --muted:#5C6E63; --rule:rgba(148,116,40,0.34); --rule-faint:rgba(148,116,40,0.16); --gold:#96772C; }

*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{ margin:0; background:var(--bg); color:var(--ink); font-family:var(--sans); font-weight:300;
  font-size:clamp(16px,1vw+13px,18px); line-height:1.64; -webkit-font-smoothing:antialiased; }
::selection{ background:var(--gold); color:var(--bg); }
a{ color:inherit; }
a.inline{ color:var(--gold); text-decoration:none; border-bottom:1px solid var(--rule); }
a.inline:hover{ border-bottom-color:var(--gold); }
:focus-visible{ outline:1.5px solid var(--gold); outline-offset:3px; }

.wrap{ width:100%; max-width:var(--read); margin-inline:auto; padding-inline:var(--gutter); }

header.legal{ border-bottom:1px solid var(--rule-faint); }
header.legal .row{ max-width:var(--read); margin-inline:auto; padding:22px var(--gutter); display:flex; align-items:center; gap:.7rem; }
header.legal .glyph{ width:26px; height:26px; }
header.legal .glyph line, header.legal .glyph circle{ stroke:var(--gold); }
header.legal b{ font-family:var(--sans); font-weight:400; letter-spacing:.32em; font-size:.9rem; }
header.legal .lang{ margin-left:auto; font-size:.72rem; letter-spacing:.12em; color:var(--muted); background:none; border:1px solid var(--rule); border-radius:100px; padding:5px 12px; cursor:pointer; transition:border-color .3s,color .3s; }
header.legal .lang:hover{ border-color:var(--gold); color:var(--gold); }
header.legal .back{ margin-left:16px; font-size:.78rem; letter-spacing:.06em; color:var(--muted); text-decoration:none; }
header.legal .back:hover{ color:var(--gold); }

main{ padding-block:clamp(55px,10vw,120px) clamp(55px,9vw,110px); }
.kicker{ font-family:var(--sans); font-weight:400; font-size:.72rem; letter-spacing:.30em; text-transform:uppercase; color:var(--gold); display:inline-flex; align-items:center; gap:.9em; margin-bottom:34px; }
.kicker::before{ content:""; width:34px; height:1px; background:var(--gold); opacity:.8; }
h1{ font-family:var(--serif); font-weight:400; font-size:clamp(2.2rem,6vw,3.6rem); line-height:1.04; letter-spacing:-0.014em; margin:0 0 55px; text-wrap:balance; }
h2{ font-family:var(--serif); font-weight:400; font-size:clamp(1.3rem,3vw,1.7rem); letter-spacing:-0.01em; margin:55px 0 13px; }
h2:first-of-type{ margin-top:0; }
p{ margin:0 0 16px; color:var(--muted); }
p strong{ color:var(--ink); font-weight:400; }
.lead{ color:var(--ink); font-family:var(--serif); font-weight:300; font-size:clamp(1.15rem,2.4vw,1.5rem); line-height:1.32; margin-bottom:55px; }
.block{ padding-block:21px; border-top:1px solid var(--rule-faint); }
.todo{ color:var(--gold); font-style:italic; }
dl.meta{ margin:0; }
dl.meta div{ display:grid; grid-template-columns:12rem 1fr; gap:8px 34px; padding:12px 0; border-top:1px solid var(--rule-faint); }
dl.meta dt{ font-size:.7rem; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); padding-top:3px; }
dl.meta dd{ margin:0; color:var(--ink); }
@media (max-width:620px){ dl.meta div{ grid-template-columns:1fr; gap:4px; } }

footer.legal{ border-top:1px solid var(--rule); }
footer.legal .row{ max-width:var(--read); margin-inline:auto; padding:34px var(--gutter); display:flex; flex-wrap:wrap; gap:13px 34px; justify-content:space-between; font-size:.74rem; letter-spacing:.05em; color:var(--muted); }
footer.legal a{ text-decoration:none; }
footer.legal a:hover{ color:var(--gold); }
footer.legal .creed{ font-family:var(--serif); font-style:italic; color:var(--gold); }
