@font-face {
  font-family: "Atkinson Hyperlegible Next";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/AtkinsonHyperlegibleNext/AtkinsonHyperlegibleNextVF-Variable.woff2") format("woff2");
}
@font-face {
  font-family: "Atkinson Hyperlegible Next";
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/AtkinsonHyperlegibleNext/AtkinsonHyperlegibleNextVF-Variable.woff2") format("woff2");
}
/* @font-face {
  font-family: "Bricolage Grotesque";
  font-style: normal;
  font-weight: 200 800;
  font-stretch: 75% 100%;
  font-display: swap;
  src: url("../fonts/Bricolage/BricolageGrotesque[opsz,wdth,wght].woff2") format("woff2");
} */
@font-face {
  font-family: "Playfair";
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
  src: url("../fonts/Playfair/PlayfairRomanVF.woff2") format("woff2");
}
@font-face {
  font-family: "Playfair";
  font-style: italic;
  font-weight: 300 900;
  font-display: swap;
  src: url("../fonts/Playfair/PlayfairItalicVF.woff2") format("woff2");
}
@font-face {
  font-family: "Libre Baskerville";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("../fonts/LibreBaskerville/LibreBaskerville[wght].woff2") format("woff2");
}
@font-face {
  font-family: "Libre Baskerville";
  font-style: italic;
  font-weight: 400 700;
  font-display: swap;
  src: url("../fonts/LibreBaskerville/LibreBaskerville-Italic[wght].woff2") format("woff2");
}
@font-face {
  font-family: "Libertinus Serif";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/LibertinusSerif/LibertinusSerif-Regular.woff2") format("woff2");
}
@font-face {
  font-family: "Libertinus Serif";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/LibertinusSerif/LibertinusSerif-Italic.woff2") format("woff2");
}
@font-face {
  font-family: "Libertinus Serif";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/LibertinusSerif/LibertinusSerif-Bold.woff2") format("woff2");
}
@font-face {
  font-family: "Libertinus Serif";
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/LibertinusSerif/LibertinusSerif-BoldItalic.woff2") format("woff2");
}
@font-face {
  font-family: "Libertinus Serif Display";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/LibertinusSerif/LibertinusSerifDisplay-Regular.woff2") format("woff2");
}


:root {
  --font-family-sans: "Atkinson Hyperlegible Next", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  --font-family-sans-display: "Atkinson Hyperlegible Next", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  --font-family-sans-subhead:  "Atkinson Hyperlegible Next", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  --font-family-serif: 'Playfair', 'Libertinus Serif', serif;
  --font-family-serif-display: 'Playfair', 'Libertinus Serif Display', serif;
  --font-family-serif-subhead: 'Playfair', 'Libertinus Serif', serif;
  --hdr-gradient: linear-gradient(
    60deg in hsl,
    oklch(32% 0.13 29)             0%,
    oklch(0.4248 0.1743 29.23)     50%,
    oklch(0.5201 0.172174 37.4911) 100%
  );
  --sdr-gradient: linear-gradient(60deg, #650101 0%, #970000 50%, #b63600 100%);

  --color-bg: #fff;
  --color-text: #212529;
  --color-text-muted: #6c757d;
  --color-border: #dee2e6;
  --color-link: #007bff;
  --color-link-hover: #0056b3;

  --header-overlay: transparent;
  --navbar-color: rgba(0, 0, 0, .9);
  --navbar-color-hover: rgba(0, 0, 0, .7);
  --navbar-color-muted: rgba(0, 0, 0, .5);
  --navbar-color-disabled: rgba(0, 0, 0, .3);

  color-scheme: light dark;
}

@media (prefers-color-scheme: dark) {
  :root {
    --color-bg: #121212;
    --color-text: #e6e6e6;
    --color-text-muted: #a8a8a8;
    --color-border: #3a3a3a;
    --color-link: #6ea8fe;
    --color-link-hover: #9ec5fe;

    --header-overlay: rgba(0, 0, 0, .55);
    --navbar-color: rgba(255, 255, 255, .9);
    --navbar-color-hover: rgba(255, 255, 255, .7);
    --navbar-color-muted: rgba(255, 255, 255, .5);
    --navbar-color-disabled: rgba(255, 255, 255, .3);
  }
}
/* Explizite Wahl per Umschalter — muss die Media Query oben überstimmen,
   darum die doppelte Spezifität (:root[data-theme=…]). */
:root[data-theme="dark"] {
  --color-bg: #121212;
  --color-text: #e6e6e6;
  --color-text-muted: #a8a8a8;
  --color-border: #3a3a3a;
  --color-link: #6ea8fe;
  --color-link-hover: #9ec5fe;

  --header-overlay: rgba(0, 0, 0, .55);
  --navbar-color: rgba(255, 255, 255, .9);
  --navbar-color-hover: rgba(255, 255, 255, .7);
  --navbar-color-muted: rgba(255, 255, 255, .5);
  --navbar-color-disabled: rgba(255, 255, 255, .3);

  color-scheme: dark;
}
:root[data-theme="light"] {
  --color-bg: #fff;
  --color-text: #212529;
  --color-text-muted: #6c757d;
  --color-border: #dee2e6;
  --color-link: #007bff;
  --color-link-hover: #0056b3;

  --header-overlay: transparent;
  --navbar-color: rgba(0, 0, 0, .9);
  --navbar-color-hover: rgba(0, 0, 0, .7);
  --navbar-color-muted: rgba(0, 0, 0, .5);
  --navbar-color-disabled: rgba(0, 0, 0, .3);

  color-scheme: light;
}

#themeToggle {
  margin-left: auto;
  color: var(--navbar-color-muted);
  text-decoration: none;
  line-height: 1;
}
#themeToggle:hover,
#themeToggle:focus {
  color: var(--navbar-color-hover);
}

html {
	scroll-behavior: smooth;
}

@media screen and (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
}
body {
  font-family: var(--font-family-sans);
  font-size: 14pt;
  background-color: var(--color-bg);
  color: var(--color-text);
}
a {
  color: var(--color-link);
}
a:hover,
a:focus {
  color: var(--color-link-hover);
}
.text-secondary {
  color: var(--color-text-muted) !important;
}
.border-top,
.border-left {
  border-color: var(--color-border) !important;
}
#top {
  background-color: var(--header-overlay);
  background-blend-mode: multiply;
}
.navbar-light .navbar-brand,
.navbar-light .navbar-brand:hover,
.navbar-light .navbar-brand:focus {
  color: var(--navbar-color);
}
.navbar-light .navbar-nav .nav-link {
  color: var(--navbar-color-muted);
}
.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link:focus {
  color: var(--navbar-color-hover);
}
.navbar-light .navbar-nav .nav-link.disabled {
  color: var(--navbar-color-disabled);
}
.navbar-light .navbar-nav .active > .nav-link,
.navbar-light .navbar-nav .nav-link.active,
.navbar-light .navbar-nav .nav-link.show,
.navbar-light .navbar-nav .show > .nav-link {
  color: var(--navbar-color);
}
.text-gradient{
  background: var(--hdr-gradient);
  color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
}
h1,h2 {
  font-family: var(--font-family-sans-display);
}
p {
  font-variant-numeric: oldstyle-nums;
}
.body-text p:not(:first-of-type) {
  text-indent: 2em;
}
.text-red {
  color: var(--red);
}
@media (min-width: 768px) {
  .body-text p {
    text-align: justify;
  }
  header section {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
  }
  header section h1 {
    margin-bottom: 2rem;
  }
  header section > h1,
  header section > a {
    flex-basis: 100%;
  }
  header section article {
    flex: 1;
  }
}
/* .btn,
.megamenu.show,
.nav-link.collapsed,
.navbar,
.navbar-collapse.collapse.show,
.navbar-collapse.collapsing,
.preloader,
.scrolled,
.shadow,
.shadow-light,
a,
a.hover-content,
a.hover-hide,
a.hover-hide .hover-content,
a.hover-hide::before,
a.link-line,
a.link-line:before,
img {
  transition:.5s ease-in-out
} */


