/* Shared by every page under /imprint/. Light and plain on purpose: white page, light dark-gray
   text, and structure from contrast between styles (weight, size, case, gray level) rather than
   colour. System fonts only, so no visitor IP goes to a font provider. */
:root {
  --page: #ffffff; --ink: #1f2124; --text: #45484d; --muted: #8b8f95;
  --rule: #e7e8ea; --soft: #f6f7f8;
}
* { box-sizing: border-box; }
html { background: var(--page); }
body {
  margin: 0; background: var(--page); color: var(--text);
  font: 300 15.5px/1.72 -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Roboto, Arial, sans-serif;
  -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
}
main { max-width: 740px; margin: 0 auto; padding: 44px 24px 88px; }

/* Top navigation: brand dark and firm, links quiet. */
nav.top { display: flex; flex-wrap: wrap; gap: 4px 22px; align-items: baseline;
  padding-bottom: 18px; margin-bottom: 44px; border-bottom: 1px solid var(--rule); font-size: 13.5px; }
nav.top a { color: var(--muted); font-weight: 400; text-decoration: none; }
nav.top a.home { color: var(--ink); font-weight: 600; letter-spacing: .02em; margin-right: auto; }
nav.top a:hover, nav.top a[aria-current="page"] { color: var(--ink); }

/* Headings: the title large and light; sections as small dark capitals; sub-sections medium weight. */
h1 { font-size: 34px; line-height: 1.2; font-weight: 300; color: var(--ink); margin: 0 0 10px; letter-spacing: -.015em; }
.meta { color: var(--muted); font-size: 13.5px; line-height: 1.6; margin: 0 0 40px; }
h2 { font-size: 12.5px; font-weight: 600; color: var(--ink); text-transform: uppercase; letter-spacing: .09em;
  margin: 48px 0 14px; padding-top: 22px; border-top: 1px solid var(--rule); }
h3 { font-size: 15.5px; font-weight: 500; color: var(--ink); margin: 28px 0 6px; }

p { margin: 0 0 14px; }
ul, ol { padding-left: 20px; margin: 0 0 14px; }
li { margin: 5px 0; }
li::marker { color: var(--muted); }
strong { font-weight: 500; color: var(--ink); }
em { color: var(--ink); }
a { color: var(--ink); text-decoration: underline; text-decoration-color: #c4c7cb; text-underline-offset: 3px; }
a:hover { text-decoration-color: var(--ink); }
.muted { color: var(--muted); }

/* Key facts: small gray labels against darker values. */
dl.facts { display: grid; grid-template-columns: 200px 1fr; gap: 10px 20px; margin: 0; }
dl.facts dt { color: var(--muted); font-size: 13.5px; padding-top: 1px; }
dl.facts dd { margin: 0; color: var(--ink); font-weight: 400; overflow-wrap: anywhere; }
dl.facts dd .muted { font-weight: 300; }

table { width: 100%; border-collapse: collapse; margin: 14px 0 20px; font-size: 14px; }
th, td { text-align: left; vertical-align: top; padding: 10px 12px 10px 0; border-bottom: 1px solid var(--rule); }
th { color: var(--muted); font-weight: 500; font-size: 11.5px; text-transform: uppercase; letter-spacing: .07em; }
td:first-child { color: var(--ink); font-weight: 400; }

/* Callout: a quiet gray field with a dark edge. */
.box { background: var(--soft); border-left: 2px solid var(--ink); padding: 16px 20px; margin: 20px 0; }
.box p:last-child, .box ol:last-child { margin-bottom: 0; }

/* Document list on the imprint: plain rows, title dark, description gray. */
.docs { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--rule); }
.docs li { margin: 0; border-bottom: 1px solid var(--rule); }
.docs a { display: block; padding: 14px 0; text-decoration: none; }
.docs b { display: block; color: var(--ink); font-weight: 500; }
.docs span { color: var(--muted); font-size: 13.5px; }
.docs a:hover b { text-decoration: underline; text-underline-offset: 3px; }

footer { color: var(--muted); font-size: 12.5px; margin-top: 64px; padding-top: 18px; border-top: 1px solid var(--rule); }
footer a { color: var(--muted); }

@media (max-width: 640px) {
  main { padding: 28px 16px 64px; }
  nav.top { margin-bottom: 32px; }
  h1 { font-size: 27px; }
  dl.facts { grid-template-columns: 1fr; gap: 0; }
  dl.facts dd { margin-bottom: 12px; }
  table, thead, tbody, tr, th, td { display: block; }
  thead { display: none; }
  td { border: 0; padding: 2px 0; }
  tr { border-bottom: 1px solid var(--rule); padding: 10px 0; }
}
@media print {
  nav.top, footer { display: none; }
  body { color: #000; }
  a { text-decoration: none; }
}
