/* IG-SAFE: Farbwerte, Typografie und Browser-Grundlagen */
:root {
  color-scheme: light;
  --ink: #302b29;
  --muted: #625b57;
  --cream: #f7f2df;
  --paper: #fffdf6;
  --red: #b51f2c;
  --red-dark: #8f1822;
  --pink: #f5e7e5;
  --line: #dfd5c5;
  --shadow: 0 0.5rem 1.5rem rgb(54 37 31 / 11%);
  --content-width: 58rem;
  --wide-width: 78rem;
  --site-width: 1180px;
  --site-gutter: clamp(1rem, 4vw, 2.5rem);
  --site-radius: 1rem;
  --site-shadow: 0 12px 32px rgb(45 34 30 / 9%);
  --font-body: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-mark: Georgia, "Times New Roman", serif;
}

html[data-theme="dark"] {
  color-scheme: dark;
  --ink: #f4eee2;
  --muted: #c7bfb4;
  --cream: #211f1d;
  --paper: #2c2926;
  --red: #ef7e85;
  --red-dark: #ffadb2;
  --pink: #382b2c;
  --line: #524944;
  --shadow: 0 0.5rem 1.5rem rgb(0 0 0 / 28%);
  --site-shadow: 0 12px 32px rgb(0 0 0 / 24%);
}

*,
*::before,
*::after { box-sizing: border-box; }

html { scroll-behavior: smooth; scroll-padding-top: 8rem; }
body {
  margin: 0;
  background: var(--cream);
  color: var(--ink);
  font-family: var(--font-body);
  font-size: 1rem;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
}
img,
svg { display: block; max-width: 100%; }
button,
input,
select,
textarea { font: inherit; }
a { color: var(--red-dark); text-underline-offset: 0.18em; }
a:hover { color: var(--red); }
:focus-visible { outline: 3px solid #2365a8; outline-offset: 3px; }
::selection { background: #f2c5c5; color: #241d1b; }

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto;
    animation-duration: 0.01ms;
    animation-iteration-count: 1;
    transition-duration: 0.01ms;
  }
}
