:root {
  --color-primary: #03888f;
  --color-primary-dark: #02676c;
  --color-primary-deep: #014f53;
  --color-primary-soft: #e8f3f2;
  --color-text: #545454;
  --color-ink: #263536;
  --color-sand: #f4efe8;
  --color-cream: #fbf9f5;
  --color-white: #fff;
  --color-border: rgba(38, 53, 54, 0.18);
  --color-focus: #b94b00;
  --font-serif: Baskerville, "Baskerville Old Face", "Times New Roman", serif;
  --font-sans: "Gill Sans MT", "Gill Sans", Arial, Helvetica, sans-serif;
  --font-saying: "Gill Sans MT", "Gill Sans", Arial, Helvetica, sans-serif;
  --copy-gap: 1.25rem;
}

@media (max-width: 760px) {
  :root {
    --copy-gap: 1rem;
  }
}

body {
  color: var(--color-text);
  font: 1.1875rem/1.45 var(--font-sans);
}
a {
  color: var(--color-primary-dark);
}
a:hover {
  color: var(--color-primary);
}
button,
input,
select,
textarea {
  font: inherit;
}

h1,
h2,
h3 {
  color: var(--color-primary);
  font-family: var(--font-serif);
  font-weight: 400;
  line-height: 1.08;
}
h1 {
  font-size: clamp(2.5rem, 4.45vw, 4rem);
  letter-spacing: -0.035em;
}
h2 {
  font-size: clamp(2rem, 3.34vw, 3rem);
  line-height: 1.12;
  letter-spacing: -0.025em;
}
h3 {
  font-family: var(--font-sans);
  font-size: 1.5rem;
  line-height: 1.25;
}
ul {
  padding-left: 1.2rem;
  margin-top:5px;
}
/* Ein wirklich leerer Editor-Absatz behält eine Textzeile, ohne feste Höhe. */
p:empty::before {
  content: "\00a0";
}
/* Gleiche Inhaltsregeln im main der Website und im Editor ohne main.
   :where hält die Spezifität der Editor-Ergänzung bewusst niedrig. */
main :is(h1, h2, h3, p),
:where(.cke_editable, body:not(:has(main))) :is(h1, h2, h3, p) {
  margin-block: 0;
}
main :is(h1, h2, h3, p, li),
:where(.cke_editable, body:not(:has(main))) :is(h1, h2, h3, p, li) {
  overflow-wrap: break-word;
  hyphens: manual;
}
main :is(h1, h2, h3, .hero-lead, .large-copy, .sager),
:where(.cke_editable, body:not(:has(main))) :is(h1, h2, h3, .hero-lead, .large-copy, .sager) {
  hyphens: manual;
}
main :is(h1, h2),
:where(.cke_editable, body:not(:has(main))) :is(h1, h2) {
  text-wrap: balance;
}
main :is(h1, h2) + p,
:where(.cke_editable, body:not(:has(main))) :is(h1, h2) + p {
  margin-top: var(--copy-gap);
}
main h3 + p,
:where(.cke_editable, body:not(:has(main))) h3 + p {
  margin-top: 0.75rem;
}


/* Gill Sans Bold ist sehr breit: Fettungen im Halbfett-Schnitt */
b,
strong,
dt,
th {
  font-weight: 600;
}


/* Vollständiger Sager-Stil für Editor und Website. */
.sager {
  padding-left: 1.1rem;
  border-left: 3px solid var(--color-primary);
  color: var(--color-text);
  font: italic clamp(1.5rem, 2vw, 1.75rem)/1.35 var(--font-saying);
  letter-spacing: 0.01em;
}
main :is(h1, h2) + .sager,
:where(.cke_editable, body:not(:has(main))) :is(h1, h2) + .sager {
  margin-top: 0.75rem;
}
.sager + :is(h1, h2) {
  margin-top: 0.5rem;
}

