/* legal.css — Impressum / Datenschutz, set in the Field Journal (Night
   Edition) design. Self-contained: these pages no longer load styles.css. */
:root{
  --paper:#211a12;
  --paper-2:#2a221a;
  --ink:#e9ddc3;
  --ink-soft:#bfb094;
  --ink-faint:#8d7f61;
  --rule:#453a28;
  --red:#e2593d;
  --moss:#a3b56f;
  --brass:#d9a441;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  --type:"Courier New",Courier,monospace;
}
*{ box-sizing:border-box; }
html,body{ background:var(--paper); }
body{
  margin:0; color:var(--ink); font-family:var(--serif); font-size:19px; line-height:1.6;
  background-image:
    radial-gradient(rgba(255,236,190,.035) 1px, transparent 1.4px),
    radial-gradient(90% 40% at 50% 0%, rgba(217,164,65,.07), transparent 70%);
  background-size:5px 5px, 100% 100%;
  background-repeat:repeat, no-repeat;
}
::selection{ background:rgba(217,164,65,.35); }
img{ display:block; max-width:100%; }

.legal-page{ max-width:920px; margin:0 auto; padding:0 24px; }

/* masthead, matching the homepage */
.legal-nav{ border-bottom:2px solid var(--ink); }
.legal-nav .nav-inner{
  display:flex; align-items:center; justify-content:space-between; gap:18px;
  padding:24px 0 14px;
}
.brand{
  display:flex; align-items:center; gap:12px; text-decoration:none;
  font-family:var(--type); font-size:13px; letter-spacing:.18em; text-transform:uppercase;
  color:var(--ink);
}
.brand-mark{
  width:32px;
  -webkit-mask-image:radial-gradient(circle at 50% 48%,#000 50%,transparent 72%);
  mask-image:radial-gradient(circle at 50% 48%,#000 50%,transparent 72%);
  filter:drop-shadow(0 0 12px rgba(217,164,65,.55));
}
.brand-name b{ border-bottom:2px solid var(--red); }

.legal-main{ padding:56px 0 80px; }
.eyebrow{
  font-family:var(--type); font-size:12px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--red); margin-bottom:14px;
}
.legal-title{ font-weight:500; font-size:clamp(38px,6vw,64px); line-height:1.04; margin:0 0 14px; }
.legal-updated{
  font-family:var(--type); font-size:11.5px; letter-spacing:.12em; text-transform:uppercase;
  color:var(--ink-faint); margin:0 0 48px;
}
.legal-main h2{ font-weight:500; font-size:27px; margin:48px 0 14px; }
.legal-main h3{
  font-family:var(--type); font-size:12px; letter-spacing:.18em; text-transform:uppercase;
  color:var(--moss); margin:34px 0 10px;
}
.legal-main p{ font-size:17.5px; line-height:1.62; color:var(--ink-soft); margin:0 0 1em; }
.legal-main ul{ font-size:17.5px; line-height:1.62; color:var(--ink-soft); margin:0 0 1em; padding-left:1.2em; }
.legal-main li{ margin-bottom:.35em; }
.legal-main a{ color:var(--brass); text-decoration:none; border-bottom:1px solid rgba(217,164,65,.4); padding-bottom:1px; }
.legal-main a:hover{ color:var(--ink); border-bottom-color:var(--red); }
.legal-main strong{ color:var(--ink); }

.legal-card{
  border:1px solid var(--rule); background:var(--paper-2); padding:24px 26px; margin:0 0 8px;
}
.legal-card p{ margin:0 0 .5em; }
.legal-card p:last-child{ margin:0; }
.legal-card .mono{ font-family:var(--type); font-size:14px; letter-spacing:.02em; }
.legal-note{ font-size:15px; color:var(--ink-faint); font-style:italic; }

.legal-foot{
  border-top:1px solid var(--rule); margin-top:64px; padding-top:24px;
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px;
  font-family:var(--type); font-size:12px; letter-spacing:.08em; color:var(--ink-faint);
}
.legal-foot a{ color:var(--ink-soft); text-decoration:none; border-bottom:1px dotted var(--ink-faint); padding-bottom:1px; }
.legal-foot a:hover{ color:var(--red); border-bottom-color:var(--red); }
.legal-foot-links{ display:flex; gap:22px; }

/* language switch */
.lang-switch{ display:flex; gap:2px; border:1px solid var(--rule); overflow:hidden; }
.lang-btn{
  font-family:var(--type); font-size:12px; font-weight:700; letter-spacing:.12em;
  background:transparent; border:0; color:var(--ink-faint); padding:9px 16px; cursor:pointer;
  transition:color .25s, background .25s;
}
.lang-btn:hover{ color:var(--ink); }
body[data-lang="de"] .lang-btn[data-set-lang="de"],
body[data-lang="en"] .lang-btn[data-set-lang="en"]{
  background:rgba(217,164,65,.16); color:var(--brass);
}

/* language visibility */
body[data-lang="de"] .lang-en{ display:none; }
body[data-lang="en"] .lang-de{ display:none; }
span.lang{ display:inline; }
