/* Shared style for the text pages (Impressum, Datenschutz, 404). Same palette and type as the landing page. */
@font-face { font-family: "Gloock"; font-style: normal; font-weight: 400; font-display: swap; src: url("/fonts/gloock-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Inter Tight"; font-style: normal; font-weight: 400; font-display: swap; src: url("/fonts/inter-tight-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Inter Tight"; font-style: normal; font-weight: 500; font-display: swap; src: url("/fonts/inter-tight-latin-500-normal.woff2") format("woff2"); }

:root {
  /* dark only, like the landing page */
  --paper: #15151B;
  --ink: #F0EEE9;              /* Pantone 11-4201 Cloud Dancer */
  --muted: rgba(240, 238, 233, .6);
  --rule: rgba(240, 238, 233, .16);
  --feel: #7B8CFF;
  color-scheme: dark;
}

html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font: 400 16px/1.6 "Inter Tight", "Helvetica Neue", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}

.top {
  display: flex; justify-content: space-between; align-items: baseline;
  padding: calc(env(safe-area-inset-top, 0px) + 26px) calc(env(safe-area-inset-right, 0px) + 30px) 0 calc(env(safe-area-inset-left, 0px) + 30px);
}
.top a { color: var(--ink); text-decoration: none; }
.top .mark { font-weight: 500; font-size: 15px; letter-spacing: .01em; }
.top .back { font-size: 13px; color: var(--muted); }
.top .back:hover { color: var(--ink); }

main {
  max-width: 680px;
  margin: 0 auto;
  padding: 72px 30px 56px;
}
h1 {
  font: 400 clamp(44px, 9vw, 76px)/1.02 Gloock, Georgia, "Times New Roman", serif;
  letter-spacing: -.01em;
  margin: 0 0 48px;
}
h2 {
  font-size: 17px; font-weight: 500;
  margin: 44px 0 10px;
  padding-top: 20px;
  border-top: 1px solid var(--rule);
}
h3 { font-size: 15px; font-weight: 500; margin: 26px 0 6px; }
p, ul, address { margin: 0 0 14px; }
address { font-style: normal; }
ul { padding-left: 1.2em; }
li { margin-bottom: 4px; }
small, .note { color: var(--muted); font-size: 14px; }

a { color: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; text-decoration-color: var(--muted); }
a:hover { text-decoration-color: var(--feel); }
a:focus-visible { outline: 1.5px solid var(--feel); outline-offset: 3px; text-decoration: none; }

/* Platzhalter, die David noch füllen muss – springen absichtlich ins Auge */
.todo {
  background: #FF2D87; color: #fff;
  padding: 0 .3em; border-radius: 3px;
  font-weight: 500;
}

footer {
  max-width: 680px; margin: 0 auto;
  padding: 0 30px calc(env(safe-area-inset-bottom, 0px) + 40px);
  font-size: 13px; color: var(--muted);
  display: flex; gap: 18px; flex-wrap: wrap;
}
footer a { color: var(--muted); text-decoration: none; }
footer a:hover, footer a[aria-current="page"] { color: var(--ink); }

@media (max-width: 640px) {
  .top { padding: calc(env(safe-area-inset-top, 0px) + 20px) calc(env(safe-area-inset-right, 0px) + 20px) 0 calc(env(safe-area-inset-left, 0px) + 20px); }
  main { padding: 52px 20px 44px; }
  footer { padding-left: 20px; padding-right: 20px; }
  h1 { margin-bottom: 36px; }
}
