:root { color-scheme: light; --text: #000; --grund: #fff; --leise: #555; --linie: #000; }
* { box-sizing: border-box; }
html { font-size: 100%; }
body {
  margin: 0; background: var(--grund); color: var(--text);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  line-height: 1.6; font-variant-numeric: tabular-nums;
}
.seite { max-width: 40rem; margin: 0 auto; padding: 3rem 1rem 2rem; }
header { border-bottom: 2px solid var(--linie); padding-bottom: 1rem; margin-bottom: 2rem; }
.marke { font-size: 1.1rem; font-weight: 700; letter-spacing: 0.02em; text-decoration: none; color: var(--text); }
h1 { font-size: 2.25rem; line-height: 1.15; margin: 0 0 1rem; }
h2 { font-size: 1.15rem; margin: 2rem 0 0.5rem; }
p, ul { margin: 0 0 1rem; }
ul { padding-left: 1.25rem; }
a { color: var(--text); text-underline-offset: 0.18em; }
a:focus-visible { outline: 3px solid var(--text); outline-offset: 2px; }
.vorspann { font-size: 1.2rem; }
.hinweis { border: 2px solid var(--linie); padding: 0.75rem 1rem; }
footer { border-top: 1px solid var(--linie); margin-top: 3rem; padding-top: 1rem; color: var(--leise); font-size: 0.9rem; }
footer a { color: var(--leise); margin-right: 1rem; }
@media (max-width: 30rem) { h1 { font-size: 1.8rem; } .seite { padding-top: 1.5rem; } }
header { display: flex; flex-wrap: wrap; gap: 0.75rem 1.5rem; align-items: baseline; justify-content: space-between; }
nav { display: flex; flex-wrap: wrap; gap: 0.25rem 1.25rem; }
nav a { text-decoration: none; padding: 0.25rem 0; border-bottom: 2px solid transparent; }
nav a:hover, nav a[aria-current="page"] { border-bottom-color: var(--text); }
.krume { margin: 0 0 0.5rem; font-size: 0.9rem; }
.karten { list-style: none; padding: 0; display: grid; gap: 1rem; }
.karte { border: 2px solid var(--linie); padding: 1rem 1.25rem; }
.karte h2 { margin: 0 0 0.25rem; font-size: 1.2rem; }
.karte p { margin: 0; }
.links a { display: inline-block; margin: 0 1rem 0.5rem 0; font-weight: 600; }
