:root{
  --black:#1e1e1e;
  --ink:#16181d;
  --bg:#f3f2f0;
  --white:#ffffff;
  --mid:#8a8a8a;
  --line:rgba(0,0,0,.10);
  --red:#e0453b;
  --red-dark:#c2362d;
  --max:1160px;
  --nav-h:64px;
  --radius:14px;

  --serif: "Libre Caslon Display", "Libre Caslon Text", "Big Caslon", Georgia, "Times New Roman", serif;
  --sans: "Jost", "Futura", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

*{ box-sizing:border-box; }

html{ scroll-behavior:smooth; overflow-x:clip; }   /* kein horizontaler Überlauf; „clip" bricht (anders als hidden) kein position:fixed */
html, body{ scroll-padding-top: calc(var(--nav-h) + 12px); max-width:100%; }

/* Bild-/SVG-Sicherheitsnetz: nie breiter als der Container */
img, svg{ max-width:100%; }

body{
  margin:0;
  font-family: var(--sans);
  background:var(--bg);
  color:#15171c;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

h1,h2,h3{
  font-family: var(--serif);
  font-weight:700;
  line-height:1.08;
  letter-spacing:-0.01em;
  margin:0 0 14px 0;
}

h2{ font-size: clamp(28px, 3.4vw, 44px); }
h3{ font-size: clamp(19px, 1.7vw, 23px); letter-spacing:0; line-height:1.25; }

p{ margin:0 0 14px 0; }

a{ color:inherit; }

.eyebrow{
  font-family: var(--sans);
  font-size:12px;
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--red);
  margin-bottom:14px;
}

.dark .eyebrow{ color:#ff7a70; }

.lead-muted{
  font-size: clamp(16px, 1.4vw, 19px);
  color:#43464d;
  max-width:760px;
}

.dark .lead-muted{ color:rgba(255,255,255,.82); }
