/* ------------------------------------------------------------------ *
   Recht Solidarisch — schlichtes Longform-Layout
   Ruhig, kontrastreich, auf lange Lesbarkeit ausgelegt.
 * ------------------------------------------------------------------ */


/* Items Text — serif editorial body copy */

@font-face {
  font-family: "Items Text";
  src: url("fonts/ItemsText-Regular.woff2") format("woff2"),
       url("fonts/ItemsText-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  
}

@font-face {
  font-family: "Items Text";
  src: url("fonts/ItemsText-RegularItalic.woff2") format("woff2"),
       url("fonts/ItemsText-RegularItalic.woff") format("woff");
  font-weight: 400;
  font-style: italic;
  
}


@font-face {
  font-family: 'Phonic';
  src: url('fonts/Phonic-Regular.woff') format('woff'),
       url('fonts/Phonic-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Phonic';
  src: url('fonts/Phonic-RegularItalic.woff') format('woff'),
       url('fonts/Phonic-RegularItalic.woff2') format('woff2');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Phonic';
  src: url('fonts/Phonic-Bold.woff') format('woff'),
       url('fonts/Phonic-Bold.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Phonic';
  src: url('fonts/Phonic-BoldItalic.woff') format('woff'),
       url('fonts/Phonic-BoldItalic.woff2') format('woff2');
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}

:root {
  --paper:       #fdfcfa;
  --paper-dark: #f9f7f4;
  --ink:         #1b1a18;
  --muted:       #6a6660;
  --accent:      #9a1f1f;   /* zurückhaltendes, tiefes Rot */
  --accent-soft: #f4e9e7;
  --rule:        #e6e2da;
  --success:     #7ebd80;

  --white:     #ffffff;           /* Text/Icons auf dunklem Grund */
  --wash:        rgba(0, 0, 0, 0.05);
  --surface:     #f1efe9;           /* Code, Menü-Hover */
  --surface-alt: #f6f4ee;           /* Tabellenkopf */
  --scrollbar:   #e9e2e2;
  --backdrop:    rgba(20, 18, 16, 0.4);

  --shadow-soft:   rgba(0, 0, 0, 0.07);
  --shadow:        rgba(0, 0, 0, 0.1);
  --shadow-strong: rgba(0, 0, 0, 0.15);
  --shadow-float:  rgba(0, 0, 0, 0.18);
  --shadow-heavy:  rgba(0, 0, 0, 0.22);

  --font: 'Phonic', system-ui, sans-serif;
  --serif: 'Items Text', serif;
  --sans:  var(--font);
  --body-size: 1.06rem;
  --body-leading: 1.34;
  --body-tracking: 0;

  --measure: 43rem;      /* Textbreite ~ 68 Zeichen */
  --sidebar: 18.5rem;
  --header-offset: 5.5rem;
  --h4-subnav-w: 8.5rem;
  --h4-subnav-gap: 1.25rem;
  --h4-subnav-glossar-w: 2.6rem;
  --h4-subnav-glossar-gap: 1.25rem;
  --nav-active: #5f5fff;
  --nav-muted: #9ea1a8;
  --nav-rail: #ced1d4;

  --landing-blue: #486ed8;
  --landing-beige: #faf0e5;
  --landing-row: clamp(3.75rem, 7.5vh, 5.75rem);
  --landing-tick: 0.9rem;
  --landing-gap: 0.55rem;
  --landing-radius: 1.15rem;
  --landing-radius: 1.15rem;
  --landing-shape-gold: #edcb6b;
  --landing-shape-red: #f24146;
  --landing-shape-green: #8eaf7e;
}

* { box-sizing: border-box; }

html {
  scroll-behavior: auto;
  max-width: 100%;
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--font);
  font-size: var(--body-size);
  line-height: var(--body-leading);
  letter-spacing: var(--body-tracking);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  max-width: 100%;
}
body.is-nav-open {
  overflow: hidden;
  touch-action: none;
}

.skip-link {
  position: absolute; left: -999px; top: 0;
  background: var(--ink); color: var(--white); padding: .6rem 1rem; z-index: 100;
  font-family: var(--sans); font-size: .95rem;
}
.skip-link:focus { left: 0; }

/* ---------- Kopfbereich ---------- */
.site-header {
  border-top: 3px solid var(--accent);
  border-bottom: 1px solid var(--rule);
  padding: 3.5rem 1.5rem 2.75rem;
}
.site-header__inner { 
  max-width: calc(var(--sidebar) + var(--measure) + 6rem); margin: 0 auto; 
margin-bottom: 12em;
margin-top: 4em;}
.site-eyebrow {
  font-family: var(--sans); text-transform: uppercase; letter-spacing: .18em;
  font-size: .72rem; color: var(--accent); margin: 0 0 1rem; font-weight: 600;
  opacity: 0; display: none;
}
.site-title {
  font-size: clamp(2.4rem, 9rem, 7rem);
  line-height: 0.95;
  margin: 0;
  font-weight: 600; letter-spacing: -0.01em;
}
.site-subtitle {
  font-size: 1.2rem; color: var(--muted); margin: .9rem 0 0; max-width: 36rem;
  font-style: italic;
}

/* ---------- Layout ---------- */
.layout {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  padding: 0 0rem;
  display: grid;
  --nav-col: var(--sidebar);
  grid-template-columns: var(--nav-col) minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
  /* Without this, long TOC titles / unbreakable content inflate min-width past the viewport */
  min-width: 0;
}
.layout.is-nav-collapsed {
  /* padding-left of .toc (1rem) + icon column (1.75rem) — same anchor as expanded */
  --nav-col: calc(1rem + 1.75rem);
  grid-template-columns: var(--nav-col) minmax(0, 1fr);
  gap: 1rem;
}

.visually-hidden {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0);
  white-space: nowrap; border: 0;
}

/* ---------- Inhaltsverzeichnis / Scrollspy ---------- */
.toc {
  position: sticky;
  top: 1.5rem;
  top: 0;
  display: flex;
  flex-direction: column;
  min-height: calc(100vh - 3rem);
  max-height: calc(100vh - 1.5rem);
  overflow: visible; /* tip may sit to the right of collapse control */
  padding: 0;
  font-family: var(--sans);
  font-size: .9rem;
  min-width: 0;

  min-height: 100vh;
  max-height: 100vh;
  padding: 1rem;
  padding-right: 0;
  background: #F9F7F4;
background: linear-gradient(10deg, rgba(249, 247, 244, 1) 9%, rgba(253, 252, 250, 1) 60%);
}
.toc-top {
  flex: 0 0 auto;
  
  align-items: center;
  column-gap: .4rem;
  row-gap: 0;
  margin: 0 0 .85rem;
  min-width: 0;
  padding-right: 0.3rem;
}
.toc-home {
  grid-column: 1;
  grid-row: 1 / span 2;
  min-width: 0;
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
  color: var(--landing-blue);
  text-decoration: none;
}
.toc-home:hover {
 
  opacity: .85;
}
.toc-home__line {
  display: block;
  margin: 0;
  padding: .32rem 0 .28rem;
  border-top: 0.5px solid var(--landing-blue);
  border-top: 0.5px solid var(--nav-rail);
  font-family: var(--sans);
  font-size: 1.32rem;
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: -0.03em;
  text-transform: uppercase;
  color: inherit;
  color: var(--landing-blue);
  position: relative;

}
.toc-home__line:before {
  content: ' ';
  width: 0.4rem;
  height: 1px;
  display: block;
  margin: -0.02em -0.75em;
  padding: 0;
  border: none;
  border-top: 0.5px solid var(--landing-blue);
  border-top: 0.5px solid var(--nav-rail);
  position: absolute;
}
.toc-collapse-wrap {
  grid-column: 2;
  grid-row: 2;
  position: relative;
  z-index: 60;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 1.5rem;
  height: 1.5rem;
  min-width: 1.5rem;
  align-self: center;
  margin-top: -2em;
  flex: 0 0 1.5rem;
  display: inline-block;
  float: right;
}

.layout.is-nav-collapsed .toc-collapse-wrap {
  margin-top: 0 !important;
}
.toc-collapse {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 1.5rem;
  height: 1.5rem;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 4px;
  background: transparent;
  color: var(--landing-blue);
  cursor: pointer;
  font: inherit;
  line-height: 1;
  transform: none;
}
.toc-collapse:hover,
.toc-collapse:focus-visible {
  color: var(--ink);
  background: var(--wash);
  
}
.toc-collapse__icon {
  display: block;
  width: 1.05rem;
  height: 1.05rem;
  flex: 0 0 auto;
  pointer-events: none;
}
.toc-collapse__tip {
  position: absolute;
  left: calc(100% + .35rem);
  top: 50%;
  transform: translateY(-50%);
  z-index: 70;
  padding: .2rem .4rem;
  border-radius: 3px;
  
  font-family: var(--sans);
  font-size: .62rem;
  line-height: 1.2;
  letter-spacing: 0.01em;
  background: var(--landing-blue);
  color: var(--paper);
  white-space: nowrap;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity .12s ease, visibility .12s ease;
}
/* Nur Hover (Maus) bzw. Tastatur-Fokus — nicht :focus-within, sonst bleibt der Tip nach Klick sichtbar */
.toc-collapse-wrap:hover .toc-collapse__tip,
.toc-collapse:focus-visible ~ .toc-collapse__tip {
  opacity: 1;
  visibility: visible;
}
.toc-close {
  display: none;
}
.layout.is-nav-collapsed .toc-top {
  grid-template-columns: auto;
  grid-template-rows: auto;
}
.layout.is-nav-collapsed .toc {
  overflow: visible;
  /* keep left/top padding so collapse control + chapter icons stay put */
  padding: 1rem 0 1rem 1rem;
  z-index: 30;
}
.layout.is-nav-collapsed .toc-body {
  overflow: visible;
  padding-left: 0;
  scrollbar-gutter: auto;
  /* mask would clip hover labels that poke out of the narrow column */
  -webkit-mask-image: none;
  mask-image: none;
}
.layout.is-nav-collapsed .toc-home,
.layout.is-nav-collapsed .toc-heading,
.layout.is-nav-collapsed .toc-sublist,
.layout.is-nav-collapsed .toc-expand {
  display: none;
}
.layout.is-nav-collapsed .toc-collapse-wrap {
  grid-column: 1;
  grid-row: 1;
}
.layout.is-nav-collapsed .toc-chapter > .toc-row > a,
.layout.is-nav-collapsed .toc-chapter > a {
  position: relative;
  justify-content: flex-start;
  align-items: center;
  padding: .25rem 0;
  gap: .45rem;
}

.toc-list > .toc-chapter:first-child > ol.toc-sublist,
.toc-list > .toc-chapter:nth-child(6) > ol.toc-sublist {
 list-style: circle;
}

.layout.is-nav-collapsed .toc-num {
  width: auto;
  min-width: 0;
  height: auto;
  text-align: center;
  font-size: inherit;
}
.layout.is-nav-collapsed .toc-num__svg {
  width: 1.15rem;
  height: 1.15rem;
}
.layout.is-nav-collapsed .toc-chapter .toc-label {
  display: none;
  position: absolute;
  left: calc(100% + .45rem);
  top: 50%;
  transform: translateY(-50%);
  z-index: 60;
  margin: 0;
  padding: .4rem .15rem;
  white-space: nowrap;
  background: var(--paper, #fdfcfa);
  border: 1px solid var(--rule, #e6e2da);
  border-radius: 6px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, .1);
  color: var(--ink);
  font-weight: 400;
  font-size: .88rem;
  line-height: 1.3;
  pointer-events: none;
  background: transparent;
  border: none;
  box-shadow: none;
  
}
.layout.is-nav-collapsed .toc-chapter .toc-label:before {
  background: #dcb284;
  width: 1em;
  height: 1em;
  content: ' ';
  display: inline-block;
  margin-right: 0.7em;
  border-radius: 1em;
  transform: translate(-.15em, 0.2em);
  transition: all 0.15s ease-in-out;
  opacity: 0;
  display: inline-block;
}
.layout.is-nav-collapsed .toc-chapter .toc-label:before {
  
}

.layout.is-nav-collapsed .toc-chapter .toc-label {display: block; opacity: 0; width: 0;}
.layout.is-nav-collapsed .toc-chapter > .toc-row > a:hover .toc-label {opacity: 1; width: auto; color: var(--nav-active);

  max-width: 470px;
  display: inline-block;
  text-wrap: auto;
  min-width: 300px;
  overflow: hidden;
  text-overflow: ellipsis;
  
}

.layout.is-nav-collapsed .toc-chapter > .toc-row > a:hover .toc-label:before {
opacity: 1; transform: translate(0em, 0.2em);
transition: all 0.15s ease-in-out;

}

.layout.is-nav-collapsed .toc-chapter > .toc-row > a:hover .toc-label,
.layout.is-nav-collapsed .toc-chapter > .toc-row > a:focus-visible .toc-label,
.layout.is-nav-collapsed .toc-chapter > a:hover .toc-label,
.layout.is-nav-collapsed .toc-chapter > a:focus-visible .toc-label {
  display: block;
}
.toc-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  padding: .15rem 0 2rem;
  scrollbar-gutter: stable;
  scrollbar-width: thin;
  scrollbar-color: transparent transparent;
  /* Fade am sichtbaren Scroll-Rand; rechte Spur bleibt voll deckend = Scrollbar unmaskiert */
  --toc-fade-top: 1.25rem;
  --toc-fade-bottom: 1.5rem;
  --toc-scroll-slot: 14px;
  -webkit-mask-image:
    linear-gradient(
      to bottom,
      transparent 0,
      #000 var(--toc-fade-top),
      #000 calc(100% - var(--toc-fade-bottom)),
      transparent 100%
    ),
    linear-gradient(#000, #000);
  -webkit-mask-size: calc(100% - var(--toc-scroll-slot)) 100%, var(--toc-scroll-slot) 100%;
  -webkit-mask-position: 0 0, 100% 0;
  -webkit-mask-repeat: no-repeat, no-repeat;
  -webkit-mask-composite: source-over;
  mask-image:
    linear-gradient(
      to bottom,
      transparent 0,
      #000 var(--toc-fade-top),
      #000 calc(100% - var(--toc-fade-bottom)),
      transparent 100%
    ),
    linear-gradient(#000, #000);
  mask-size: calc(100% - var(--toc-scroll-slot)) 100%, var(--toc-scroll-slot) 100%;
  mask-position: 0 0, 100% 0;
  mask-repeat: no-repeat, no-repeat;
  mask-composite: add;
  transition: scrollbar-color 0.1s ease-in-out 0.001s, background 0.1s ease-in-out 0.001s, border-right 0.1s ease-in-out 0.001s;
  border-right: 1px solid transparent;
}
.toc:hover {
  
}
.toc:hover .toc-body {
  scrollbar-color: var(--scrollbar) transparent;
}

.toc-heading {
  text-transform: uppercase; letter-spacing: .14em; font-size: .68rem;
  color: var(--muted); margin: 0 0 1.25rem; font-weight: 600;
  opacity: 0;
}
.toc-list, .toc-sublist, .toc-leaflist, .toc-itemlist { list-style: none; margin: 0; padding: 0; }
.toc-list > li { margin: 0; border-bottom: 0.5px solid var(--nav-rail);}

.toc a {
  display: block;
  text-decoration: none;
  color: var(--ink);
  padding: .42rem 0;
  line-height: 1.35;
  min-width: 0;
  font-weight: 400;
  transition: color .12s;
  padding: 0.24rem 0.5rem;
  border-radius: 0.6rem;
}

.toc-label { min-width: 0; overflow-wrap: break-word; }
.toc-label__num { font-variant-numeric: tabular-nums; }

.toc-row {
  display: flex;
  align-items: center;
  gap: .1rem;
  min-width: 0;
  position: relative;
}
.toc-row > a {
  flex: 1;
  min-width: 0;
}
.toc-menu-btn {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
}
.toc-menu-btn__icon {
  display: block;
  width: 1rem;
  height: 1rem;
  background-color: currentColor;
  -webkit-mask: url('icons/toc-menu.svg') center / contain no-repeat;
  mask: url('icons/toc-menu.svg') center / contain no-repeat;
}
.toc-row:hover .toc-menu-btn,
.toc-row:focus-within .toc-menu-btn,
.toc-menu-btn[aria-expanded="true"] {
  opacity: 1;
  pointer-events: auto;
}
.toc-menu-btn:hover,
.toc-menu-btn:focus-visible {
  color: var(--ink);
  background: var(--wash);
  outline: none;
}
.toc-menu {
  position: absolute;
  right: 0;
  top: calc(100% - .1rem);
  z-index: 60;
  min-width: 11rem;
  margin: 0;
  padding: .3rem;
  list-style: none;
  background: var(--white);
  border: 0.5px solid var(--rule);
  border-radius: 6px;
  box-shadow: 0 2.5px 9px var(--shadow-soft);
}
.toc-menu[hidden] { display: none; }
.toc-menu__item {
  display: flex;
  align-items: center;
  gap: .5rem;
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: .45rem .65rem;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: var(--ink);
  font: inherit;
  font-size: .84rem;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}
.toc-menu__bubble {
  position: fixed;
  z-index: 80;
  max-width: 12rem;
  padding: .28rem .45rem;
  border-radius: 4px;
  background: var(--success);
  color: var(--paper);
  font-size: .62rem;
  font-weight: 400;
  line-height: 1.25;
  white-space: nowrap;
  pointer-events: none;
  box-shadow: 0 2px 8px var(--shadow-strong);
}
.toc-menu__icon {
  flex: 0 0 auto;
  display: block;
  width: 1rem;
  height: 1rem;
  background-color: currentColor;
  -webkit-mask: center / contain no-repeat;
  mask: center / contain no-repeat;
}
.toc-menu__item[data-toc-action="pdf"] .toc-menu__icon,
.heading-actions__item[data-toc-action="pdf"] .toc-menu__icon {
  -webkit-mask-image: url('icons/toc-pdf.svg');
  mask-image: url('icons/toc-pdf.svg');
}
.toc-menu__item[data-toc-action="pdf-save"] .toc-menu__icon,
.heading-actions__item[data-toc-action="pdf-save"] .toc-menu__icon {
  -webkit-mask-image: url('icons/toc-pdf-save.svg');
  mask-image: url('icons/toc-pdf-save.svg');
}
.toc-menu__item[data-toc-action="goto"] .toc-menu__icon {
  -webkit-mask-image: url('icons/toc-goto.svg');
  mask-image: url('icons/toc-goto.svg');
}
.toc-menu__item[data-toc-action="share"] .toc-menu__icon,
.heading-actions__item[data-toc-action="share"] .toc-menu__icon {
  -webkit-mask-image: url('icons/toc-share.svg');
  mask-image: url('icons/toc-share.svg');
}
.toc-menu__item.is-done .toc-menu__icon,
.heading-actions__item.is-done .toc-menu__icon {
  -webkit-mask-image: url('icons/toc-check.svg');
  mask-image: url('icons/toc-check.svg');
  color: var(--success);
}
.toc-menu__item:hover,
.toc-menu__item:focus-visible {
  background: var(--surface);
  outline: none;
}
.toc-menu__item.is-disabled {
  color: var(--muted);
  cursor: default;
  opacity: .55;
}
.toc-menu__item.is-disabled:hover {
  background: transparent;
}
.layout.is-nav-collapsed .toc-menu-btn {
  display: none;
}
.layout.is-nav-collapsed .toc-menu {
  display: none;
}

/* Ebene 1 — Kapitel (A / B / C) */
.toc-chapter > .toc-row > a,
.toc-chapter > a {
  display: flex;
  gap: .45rem;
  align-items: center;
  color: var(--ink);
  padding: .25rem 0;
}
.toc-num {
  flex: 0 0 auto;
  color: inherit;
  font-variant-numeric: tabular-nums;
  min-width: 1rem;
  font-weight: 400;
}
.toc-num--icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.65rem;
  min-width: 1.65rem;
  height: 1.65rem;
  color: initial;
  colors: var(--nav-muted);
  padding: 0.25em;
  border-radius: 1em;
}
.is-active .toc-num--icon,
.is-current .toc-num--icon {
  /*background: var(--scrollbar);*/
  
}
.toc-num__svg {
  display: block;
  width: 1.15rem;
  height: 1.15rem;
  color: inherit;
}
.layout.is-nav-collapsed .toc-num--icon {
  width: 1.65rem;
  min-width: 1.65rem;
  height: 1.65rem;
}


/* Ebene 2 — Abschnitte */
.toc-sublist {
  margin: .1rem 0 .55rem;
  padding-left: 3.15rem;
  list-style-type: auto;
  color: var(--nav-muted);
}
.toc-sub > .toc-row > a,
.toc-sub > a {
  color: var(--ink);
  font-size: 1em;
  padding: .2rem 0;
}

.toc-chapter > .toc-row > a.is-current,
.toc-chapter > .toc-row > a.is-active,
.toc-chapter > a.is-current,
.toc-chapter > a.is-active,
.toc-sub > .toc-row > a.is-current,
.toc-sub > .toc-row > a.is-active,
.toc-sub > a.is-current,
.toc-sub > a.is-active {
  color: var(--nav-active);/*
  font-weight: 600;*/
}

/* Ebene 3 — Unterpunkte mit Schiene */
.toc-leaflist {
  margin: .2rem 0 .55rem;
  border-left: 1px solid var(--nav-rail);
}
.toc-itemlist {
  list-style: none;
  margin: .1rem 0 .4rem;
  padding-left: .75rem;
}
.toc-item > .toc-row > a,
.toc-item > a {
  color: var(--nav-muted);
  font-size: .88em;
  padding: .12rem 0 .12rem .35rem;
  text-decoration: none;
  display: block;
  line-height: 1.25;
}
.toc-item > .toc-row > a.is-active,
.toc-item > a.is-active {
  color: var(--nav-active);
}
.toc-leaf > .toc-row > a,
.toc-leaf > a {
  position: relative;
  color: var(--nav-muted);
  font-size: .9em;
  padding: 0.25rem 0.05rem 0.25rem 0.45rem;
  margin-bottom: 0.5rem;
  margin-left: 0.35rem;
line-height: 1.2em;
  
}
.toc-leaf > .toc-row > a:hover,
.toc-leaf > a:hover { color: var(--nav-active); }
.toc-leaf > .toc-row > a.is-active,
.toc-leaf > a.is-active {
  color: var(--nav-active);
}
.toc-leaf > .toc-row > a.is-active::before,
.toc-leaf > a.is-active::before {
  content: '';
  position: absolute;
  left: -0.4rem;
  top: .0rem;
  bottom: .0rem;
  width: 4px;
  background: var(--nav-active);
  border-radius: 0px .1px .1px 0px;
}
.toc-leaf > .toc-row {
  margin-bottom: 0.0rem;
}
.toc-leaf > .toc-row > a {
  margin-bottom: 0;
}


.toc a:hover { 
  color: var(--nav-active); 
  /*background: var(--accent-soft);*/
}


/* Akkordeon: Desktop via Scrollspy (is-open), Mobile via Caret (is-expanded) */
@media (min-width: 960px) {
  .toc-chapter:not(.is-open) > .toc-sublist { display: none; }
  .toc-sub:not(.is-open) > .toc-leaflist { display: none; }
}
.toc-expand {
  display: none;
}

/* ---------- Fließtext ---------- */
.content {
  max-width: var(--measure);
  padding: 2.25rem 0.5rem 4rem 0;
  margin: 0 auto;
  min-width: 0;
  overflow: visible;
  overflow-wrap: break-word;
  margin-left: max(
    0rem,
    calc(
      (100vw - var(--measure)) / 1.75
      - var(--nav-col, var(--sidebar))
      - 4rem   /* .layout horizontal padding */
      - 0.5rem /* half of grid gap */
    )
  );
  margin: auto;
  width: 100%;
}
.content--search {
  max-width: 51rem;
}
.content .chapter { scroll-margin-top: var(--header-offset); }
.content .chapter + .chapter { 
  margin-top: 2.25rem; 
  padding-top: 2.25rem; 
  /*border-top: 1px dashed var(--rule); */}

.content .chapter-subs {
  margin-top: 0rem;
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}
.content .chapter-subs--cards {
  scroll-margin-top: var(--header-offset);
}
.content .chapter--sub {
  margin: 0;
  padding: 0;
  border: 0;
  scroll-margin-top: var(--header-offset);
}

.content .heading-num {
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  
}

.content .chapter-subs.chapter-subs--cards:before {
  content: 'Gutachten und Exkurse \00a0 \25BE';
  content: 'Gutachten und Exkurse';
  
    display: block;
    margin-top: 0em;
    font-weight: 600;
    
    display: block;
    /* width: 100%; */
    margin-top: 1em;
    font-weight: 600;
    font-family: var(--serif);
    font-weight: 400;
    font-size: 1.1em;
    text-align: left;
    border-radius: var(--landing-radius);
    
    margin-bottom: -1.2em;
    

    background: var(--landing-blue);
    color: var(--paper);
    padding: 0.3rem 0.9rem 0.5rem 0.9rem;
    width: fit-content;
}
.is-text-page .content .heading-num {
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  display: block;
  font-size: 1rem;
  text-decoration: none;
  border: none;
  letter-spacing: 0;
  margin-bottom: 0.6em;
  
  padding-bottom: 0.5em;
  opacity: 0.36;
  display: none;
}

.content h1 {
  font-size: 3.664rem; line-height: 0.95; font-weight: 400; letter-spacing: -0.05em;
  margin: 0 0 1.25rem; scroll-margin-top: var(--header-offset);
}
.content h2 {
  font-size: 3.15rem; line-height: 1.05;
  font-weight: 400; letter-spacing: -0.035em;
}
.content h2 strong {font-weight: 400;}
.content h3,
.content h4.cms-glossary-group {
  font-size: 2.4rem;
  line-height: 1.15;
  font-weight: 400;
  margin: 2.5rem 0 .85rem;
  scroll-margin-top: var(--header-offset);
  letter-spacing: -0.01em;
  font-family: var(--serif);
  line-height: 1.15em;
}

.content h1 b {font-weight: 400; }   
.content h2 b {font-weight: 400; }   
.content h3 b {font-weight: 400; }   
.content h4 b {font-weight: 600; }   
.content h5 b {font-weight: 600; }   
.content h6 b {font-weight: 600; }   

.content h2:has(+ .heading-actions) { margin-bottom: .2rem; }
.content h3:has(+ .heading-actions) { margin-bottom: .2rem; }
.heading-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .4rem .5rem;
  margin: 0 0 1.15rem;
  padding: .85rem 0 .45rem;
  opacity: 0.66;
  font-family: var(--sans);
  font-size: .78rem;
  line-height: 1.2;
  font-weight: 400;
}
.content h3 + .heading-actions { margin-bottom: .85rem; 
  
}
.content h3:has(+ .heading-actions) { margin-bottom: 0.85rem;}
.heading-actions__item {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--muted);
  font: inherit;
  text-decoration: none;
  cursor: pointer;
}
.content .heading-actions__item,
.content .heading-actions__item[data-toc-action="pdf"],
.content .heading-actions__item[data-toc-action="pdf-save"],
.content .heading-actions__item[data-toc-action="share"] {
  background: transparent;
  color: var(--muted);
  text-decoration: none;
  text-underline-offset: unset;
  text-decoration-thickness: unset;
}
.content .heading-actions__item:hover,
.content .heading-actions__item:focus-visible {
  color: var(--ink);
  filter: none;
  text-decoration: none;
  outline: none;
}
.heading-actions__item .toc-menu__icon {
  width: .95rem;
  height: .95rem;
}
.heading-actions__item.is-done .toc-menu__icon {
  color: inherit;
}
@media print {
  .heading-actions { display: none; }
}
.content h4 {
  font-size: 1.5rem; font-weight: 600; margin: 2rem 0 .6rem;
  scroll-margin-top: var(--header-offset);
}
.content h5 {
  font-size: 1em; font-weight: 600; margin: 1.5rem 0 .45rem;
  scroll-margin-top: var(--header-offset);
}
.content h6 {
  font-size: 1em; font-weight: 600; margin: 1.5rem 0 .45rem;
  scroll-margin-top: var(--header-offset);
}
.content h6.h7 {
  font-size: .95rem; font-weight: 600; margin: 1.25rem 0 .4rem;
  scroll-margin-top: var(--header-offset);
}
.content h6.h8 {
  font-size: .9rem; font-weight: 600; margin: 1.1rem 0 .35rem;
  scroll-margin-top: var(--header-offset);
}
.content p { 
    margin: 0 0 1.15rem; 
    /*hyphens: auto;*/
  }
.content .cms-glossary-block {
  display: none;
}

.cms-glossary-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin: 0 0 1.75rem;
  width: 100%;
}

.cms-glossary-group {
  scroll-margin-top: 5.5rem;
  margin: 1.5rem 0 .75rem;
}
.cms-glossary-alpha .h4-block__body > .cms-glossary-group:first-child {
  margin-top: 0;
}

.content h4.cms-glossary-group {
  margin: 2.5em 0 1em 0;
}


/* Glossar A–Z: schmale Subnav (3.5rem) wie h4-subnav */
.content .h4-block.cms-glossary-alpha {
  --glossary-alpha-nav-w: 3.5rem;
  display: grid;
  grid-template-columns: var(--glossary-alpha-nav-w) minmax(0, 1fr);
  column-gap: var(--h4-subnav-gap);
  width: 100%;
  margin: 1.75rem 0;
  align-items: start;
}
.content .h4-block.cms-glossary-alpha .h4-subnav {
  display: block;
  overflow: visible;
  position: sticky;
  top: 1.5rem;
  align-self: start;
  max-height: calc(100vh - 3rem);
}
.content .h4-block.cms-glossary-alpha .h4-block__body {
  min-width: 0;
}
.content .glossary-alpha-nav .h4-subnav__list {
  list-style: none;
  margin: 0;
  padding: 0 0 0 .7rem;
}
.content .glossary-alpha-nav .h4-subnav__list a {
  font-size: .72rem;
  letter-spacing: .02em;
  white-space: nowrap;
}

@media (min-width: 641px) and (max-width: 959px) {
  .content .h4-block.cms-glossary-alpha,
  .chapter--has-subs .h4-block.cms-glossary-alpha {
    display: grid;
    grid-template-columns: var(--glossary-alpha-nav-w, 3.5rem) minmax(0, 1fr);
    column-gap: var(--h4-subnav-gap);
  }
  .content .h4-block.cms-glossary-alpha .glossary-alpha-nav,
  .chapter--has-subs .h4-block.cms-glossary-alpha .glossary-alpha-nav {
    display: block;
    grid-column: 1;
    grid-row: 1;
  }
  .content .h4-block.cms-glossary-alpha .h4-block__body,
  .chapter--has-subs .h4-block.cms-glossary-alpha .h4-block__body {
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
  }
}

@media (max-width: 640px) {
  .content .h4-block.cms-glossary-alpha {
    display: block;
  }
}

.cms-glossary-item {
  flex: 0 0 calc(33.333% - .67rem);
  box-sizing: border-box;
  border-bottom: 1px solid #e6e6e6;
  padding-bottom: 1em;
  scroll-margin-top: 5.5rem;
  max-width: calc(33.333% - .67rem);
  hyphens: auto;
  position: relative;
  z-index: 1;
}

/* Verweis aus Text → Glossar: Zielartikel kurz markieren */
.cms-glossary-item.glossary-item-redirect-highlight:before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  position:absolute;
  z-index: -1;
  background-color: #f1f9ad;
  background-color: #edcb6b;

  margin: -0.5rem;
  border-radius: 0.2rem;
  width: calc(100% + 1rem);
  
  transition: background-color 1s ease;
}
.cms-glossary-item.glossary-item-redirect-highlight--fade {
  background-color: transparent;
}

.cms-glossary-item__term {
  font-family: var(--sans);
  font-size: 1em;
  font-weight: 600;
  line-height: 1.15;
  margin-bottom: .3rem;
  
}

.cms-glossary-item__desc {
  font-size: .76rem;
  line-height: 1.3;
  color: var(--ink);
}
.cms-glossary-item__desc strong { font-weight: 600; }
.cms-glossary-item__desc em { font-style: italic; }
.cms-glossary-item__desc a {
  color: var(--accent);
  text-decoration: underline;
  text-underline-offset: 2px;
}

@media (max-width: 48rem) {
  .cms-glossary-item {
    flex: 0 0 calc(50% - .5rem);
    max-width: calc(50% - .5rem);
  }
}






.content a { 
    color: initial; 
    color: var(--nav-active);
    text-decoration: underline; 
    text-decoration: none; 
    text-underline-offset: 2px; 
    text-decoration-thickness: 0px; }
.content a:hover { opacity: 0.6; }

.content a.admin-glossary-link,
.content a.cms-glossary-link {
  text-decoration: none;
  background: #f1f9ad6e;
  color: initial;


  background: none;
  opacity: 0.6;
  border-bottom: 0.5px solid #e9ecd2;
  opacity: 1;
  color: inherit;
  border-bottom: 1px dashed #c0c3c8;
  border-bottom: 1px dashed #c4c6cc;
}

.content a.admin-glossary-link:hover,
.content a.cms-glossary-link:hover {
  background: #edca6ba5;
  opacity: 1;
}

.content a.admin-internal-link,
.content a.cms-internal-link {
  text-decoration: none;
  background: #d6ebf8;
  color: initial;
}

.content a.admin-internal-link:hover,
.content a.cms-internal-link:hover {
  background: #a8cfe8;
}
.glossary-tooltip {
  --glossary-arrow-x: 50%;
  position: fixed;
  z-index: 80;
  box-sizing: border-box;
  width: max-content;
  max-width: 200px;
  padding: .55rem .65rem .5rem;
  background: #edcb6b;
  border-radius: 3px;
  pointer-events: auto;
}
.glossary-tooltip[hidden] { display: none !important; }
.glossary-tooltip::after {
  content: '';
  position: absolute;
  left: var(--glossary-arrow-x);
  bottom: -5px;
  width: 12px;
  height: 12px;
  margin-left: -6px;
  background: #edcb6b;
  transform: rotate(45deg);
  
}
.glossary-tooltip.is-below::after {
  bottom: auto;
  top: -7px;
  border-right: 0;
  border-bottom: 0;
  border-left: 1px solid #d8d2c8;
  border-top: 1px solid #d8d2c8;
  box-shadow: -1px -1px 3px rgba(0, 0, 0, .04);
}
.glossary-tooltip__text {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  line-clamp: 4;
  overflow: hidden;
  font-family: var(--sans);
  font-size: .78rem;
  line-height: 1.35;
  color: var(--ink);
  margin: 0 0 .4rem;
  word-break: break-word;
}
.glossary-tooltip__text strong {
  font-weight: 600;
}
.glossary-tooltip__more {
  display: inline-flex;
  align-items: center;
  gap: .15rem;
  margin-top: .15rem;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  font-family: var(--sans);
  font-size: .78rem;
  line-height: 1.35;
  font-weight: 400;
  color: var(--ink);
  text-decoration: none;
  opacity: 0.5;
  transition: opacity .15s ease;
}
.glossary-tooltip__more:hover {
  opacity: 1;
  text-decoration: none;
  filter: none;
}
.glossary-tooltip__caret {
  display: block;
  width: .75rem;
  height: .75rem;
  flex-shrink: 0;
  color: currentColor;
}

.internal-tooltip {
  --internal-arrow-x: 50%;
  position: fixed;
  z-index: 80;
  box-sizing: border-box;
  width: max-content;
  max-width: 200px;
  padding: .55rem .65rem .5rem;
  background: #a8cfe8;
  border-radius: 3px;
  pointer-events: auto;
}
.internal-tooltip[hidden] { display: none !important; }
.internal-tooltip::after {
  content: '';
  position: absolute;
  left: var(--internal-arrow-x);
  bottom: -5px;
  width: 12px;
  height: 12px;
  margin-left: -6px;
  background: #a8cfe8;
  transform: rotate(45deg);
}
.internal-tooltip.is-below::after {
  bottom: auto;
  top: -7px;
  border-right: 0;
  border-bottom: 0;
  border-left: 1px solid #d8d2c8;
  border-top: 1px solid #d8d2c8;
  box-shadow: -1px -1px 3px rgba(0, 0, 0, .04);
}
.internal-tooltip__text {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  overflow: hidden;
  font-family: var(--sans);
  font-size: .78rem;
  line-height: 1.35;
  color: var(--ink);
  margin: 0 0 .4rem;
  word-break: break-word;
}
.internal-tooltip__text strong {
  font-weight: 600;
}
.internal-tooltip__more {
  display: inline-flex;
  align-items: center;
  gap: .15rem;
  margin-top: .15rem;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  font-family: var(--sans);
  font-size: .78rem;
  line-height: 1.35;
  font-weight: 400;
  color: var(--ink);
  text-decoration: none;
  opacity: 0.5;
  transition: opacity .15s ease;
}
.internal-tooltip__more:hover {
  opacity: 1;
  text-decoration: none;
  filter: none;
}
.internal-tooltip__caret {
  display: block;
  width: .75rem;
  height: .75rem;
  flex-shrink: 0;
  color: currentColor;
}
.content ul, .content ol { margin: 0 0 1.2rem; padding-left: 1.4rem; }
.content li { margin: .35rem 0; }
.content li::marker { color: var(--accent); }
.content strong { font-weight: 600; }
.content blockquote {
  margin: 1.5rem 0; padding: .2rem 0 .2rem 1.4rem; border-left: 3px solid var(--accent);
  font-style: italic;
}
.content hr { border: 0; border-top: 1px solid var(--rule); margin: 2.5rem 0; }
.content code {
  font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  font-size: .9em; background: var(--surface); padding: .1em .35em; border-radius: 3px;
}
.content pre { background: var(--surface); padding: 1rem 1.2rem; overflow-x: auto; border-radius: 4px; }
.content pre code { background: none; padding: 0; }
.content table { border-collapse: collapse; width: 100%; margin: 1.5rem 0; font-size: .95rem; }
.content th, .content td { border: 1px solid var(--rule); padding: .55rem .75rem; text-align: left; vertical-align: top; }
.content th { background: var(--surface-alt); font-family: var(--sans); font-weight: 600; }
.content img { max-width: 100%; height: auto; }

/* H4-Subnavigation: h4 darüber, darunter Subnav links + Body rechts */
.h4-subnav { display: none; }
.h4-block { width: 100%; }
.content h4 + .h4-block { margin-top: .35rem; }
.content .h4-block__body > :first-child { margin-top: 0; }
.content .h4-subnav {
  position: sticky;
  top: 1.5rem;
  align-self: start;
  font-family: var(--sans);
  font-size: .68rem;
  line-height: 1.35;
  color: var(--muted);
  padding: 0;
  max-height: calc(100vh - 3rem);
  overflow-y: auto;
  hyphens: auto;
}
.content .h4-subnav a,
.content .h4-subnav .h4-subnav__h4 {
  color: var(--muted);
  text-decoration: none;
  text-underline-offset: unset;
  text-decoration-thickness: unset;
}
.content .h4-subnav a:hover {
  text-decoration: none;
  text-decoration-thickness: unset;
  color: var(--nav-active);
}
.content .h4-subnav .h4-subnav__h4 {
  display: -webkit-box;
  font-weight: 400;
  color: var(--nav-muted);
  margin: 0 0 .45rem;
  overflow: hidden;
  -webkit-box-orient: vertical;
  opacity: 0.44;
  pointer-events: none;
  transition: all 0.15s ease;
  border-bottom: 0.5px solid;
  padding-bottom: 0.25rem;
}
.content .h4-subnav.is-stuck .h4-subnav__h4 {
  opacity: 1;
  pointer-events: auto;
  
}
.content .h4-subnav .h4-subnav__h4:hover { color: var(--nav-active); }
.content .h4-subnav__list {
  list-style: none;
  margin: 0;
  padding: 0 0 0 .0rem;
}
.content .h4-subnav__list li { margin: .28rem 0; }
.content .h4-subnav__list .h4-subnav__item--h5 { padding-left: .55rem; }
.content .h4-subnav__list .h4-subnav__item--h6 { padding-left: 1.1rem; }
.content .h4-subnav__list .h4-subnav__item--h5,
.content .h4-subnav__list .h4-subnav__item--h6 { padding-left: 0; }

.content .h4-subnav__list a {
  display: block;
  color: var(--nav-muted);
  hyphens: auto;
  overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
/*opacity: 0.6;*/
}
.content .h4-subnav__list a.is-active {
  color: var(--nav-active);
  position: relative;
  overflow: visible;
}

.content .h4-subnav .h4-subnav__h4.is-active {
  
  position: relative;
  
}



.content .h4-subnav__list a.is-active:before {
  content: '';
  display: block;
  width: 0.43rem;
  height: 0.43rem;
  border-radius: 50%;
  background: #dcb284;
  background: #bcbcfc;
  
  position: absolute;
  left: -0.7rem;
  top: 0.25rem;
}

@media (min-width: 960px) {
  .chapter--has-subs .h4-block:has(.h4-subnav__list):not(.h4-block--solo) {
    width: 100%;
    display: grid;
    grid-template-columns: var(--h4-subnav-w) minmax(0, 1fr);
    column-gap: var(--h4-subnav-gap);
    align-items: start;
  }

  .chapter--has-subs .h4-block.cms-glossary-alpha:has(.h4-subnav__list):not(.h4-block--solo) {
    grid-template-columns: var(--h4-subnav-glossar-w) minmax(0, 1fr);
    column-gap: var(--h4-subnav-glossar-gap);
  }

  
  .chapter--has-subs .h4-block:has(.h4-subnav__list):not(.h4-block--solo) .h4-block__body { min-width: 0; }
  .chapter--has-subs .h4-block:has(.h4-subnav__list):not(.h4-block--solo) .h4-subnav { display: block; overflow: visible;}
  .chapter--has-subs .h4-block--solo,
  .chapter--has-subs .h4-block:not(:has(.h4-subnav__list)) {
    display: block;
    width: 100%;
  }
}
@media (min-width: 960px) {
  .layout.is-nav-collapsed .chapter--has-subs .h4-block:has(.h4-subnav__list):not(.h4-block--solo) {
    width: 100%;
    display: grid;
    grid-template-columns: var(--h4-subnav-w) minmax(0, 1fr);
    column-gap: var(--h4-subnav-gap);
    align-items: start;
  }
  .layout.is-nav-collapsed .chapter--has-subs .h4-block:has(.h4-subnav__list):not(.h4-block--solo) .h4-block__body { min-width: 0; }
  .layout.is-nav-collapsed .chapter--has-subs .h4-block:has(.h4-subnav__list):not(.h4-block--solo) .h4-subnav { display: block; }
}

.empty { color: var(--muted); font-style: italic; }
.content-footer {
  margin-top: 4rem; padding-top: 1.5rem; border-top: 1px solid var(--rule);
  font-family: var(--sans); font-size: .85rem; color: var(--muted);
}

/* ---------- Mobiles Menü + Responsive ---------- */
.nav-toggle {
  display: none;
  position: fixed;
  right: max(1rem, env(safe-area-inset-right));
  bottom: max(1rem, env(safe-area-inset-bottom));
  z-index: 40;
  font-family: var(--sans);
  font-size: .95rem;
  font-weight: 600;
  background: var(--ink);
  color: var(--white);
  border: 0;
  border-radius: 999px;
  padding: .7rem 1.35rem;
  box-shadow: 0 4px 16px var(--shadow-heavy);
  cursor: pointer;
}
.toc-backdrop {
  position: fixed;
  inset: 0;
  background: var(--backdrop);
  z-index: 30;
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .2s ease, visibility .2s ease;
}
.toc-backdrop.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
@media (prefers-reduced-motion: reduce) {
  .toc-backdrop { transition: none; }
}


@media (max-width: 959px) {
  .layout,
  .layout.is-nav-collapsed {
    --nav-col: 0px;
    grid-template-columns: 1fr;
    gap: 0;
    padding-left: max(1.15rem, env(safe-area-inset-left));
    padding-right: max(1.15rem, env(safe-area-inset-right));
  }
  .toc-collapse { display: none; }
  .toc-collapse-wrap { display: none; }
  .layout.is-nav-collapsed .toc-home,
  .layout.is-nav-collapsed .toc-heading,
  .layout.is-nav-collapsed .toc-sublist,
  .layout.is-nav-collapsed .toc-expand,
  .layout.is-nav-collapsed .toc-chapter .toc-label {
    display: revert;
  }
  .layout.is-nav-collapsed .toc {
    z-index: auto;
  }
  .layout.is-nav-collapsed .toc-body {
    -webkit-mask-image: initial;
    mask-image: initial;
  }
  .layout.is-nav-collapsed .toc-chapter > .toc-row > a,
  .layout.is-nav-collapsed .toc-chapter > a {
    justify-content: flex-start;
    gap: .45rem;
  }
  .layout.is-nav-collapsed .toc-chapter .toc-label {
    position: static;
    transform: none;
    box-shadow: none;
    border: 0;
    background: transparent;
    padding: 0;
    white-space: normal;
    pointer-events: auto;
  }

  .nav-toggle { display: block; }
  body.is-nav-open .nav-toggle { display: none; }

  .toc {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    top: auto;
    width: 100%;
    max-width: none;
    height: min(92dvh, 100%);
    max-height: min(92dvh, 100%);
    min-height: 0;
    z-index: 35;
    display: flex;
    flex-direction: column;
    padding: .55rem 0 calc(1.15rem + env(safe-area-inset-bottom)) max(1.15rem, env(safe-area-inset-left));
    background: var(--paper);
    
    box-shadow: 0 -10px 36px var(--shadow-float);
    transform: translateY(110%);
    transition: transform .28s cubic-bezier(.22, 1, .36, 1);
    overflow: hidden;
  }
  .toc::before {
    content: "";
    display: block;
    width: 1.95rem;
    height: .28rem;
    margin: .15rem auto .85rem;
    border-radius: 999px;
    background: var(--nav-rail);
    flex: 0 0 auto;
    transform: translateX(-0.55rem);
  }
  .toc-top {
    grid-template-columns: minmax(0, 1fr) 2.25rem;
    grid-template-rows: auto;
    margin-bottom: .65rem;
    padding-right: max(1.15rem, env(safe-area-inset-right));
  }
  .toc-home {
    grid-column: 1;
    grid-row: 1;
    width: 100%;
  }
  .toc-close {
    display: inline-flex;
    grid-column: 2;
    grid-row: 1;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: var(--wash);
    color: var(--ink);
    font-size: 1.5rem;
    line-height: 1;
    cursor: pointer;
  }
  .toc-close:hover,
  .toc-close:focus-visible {
    background: var(--surface);
    outline: none;
  }
  .toc-body {
    padding-bottom: 1.5rem;
    -webkit-overflow-scrolling: touch;
    /* Scrollbar am rechten Screen-Rand; Masken-Spur rechts */
    -webkit-mask-position: 0 0, 100% 0;
    mask-position: 0 0, 100% 0;
  }
  .toc-body__fade {
    padding-right: max(1.15rem, env(safe-area-inset-right));
  }
  .toc.is-open { transform: translateY(0); }

  .content {
    width: 100%;
    max-width: 710px;
    min-width: 0;
    margin: 0;
    padding: 1.25rem 0 5.5rem;
    overflow-wrap: anywhere;
    word-break: break-word;
    margin: 0 auto;
  }
  .site-header__inner {
    margin-top: 1.5rem;
    margin-bottom: 3.5rem;
  }
  .site-title {
    font-size: clamp(2.15rem, 11vw, 3.4rem);
    letter-spacing: -0.02em;
  }
  .site-subtitle {
    font-size: 1.05rem;
  }
  .content h1 {
    font-size: clamp(2.15rem, 10vw, 3.25rem);
    letter-spacing: -0.035em;
  }
  .content h2 {
    font-size: clamp(1.8rem, 7.4vw, 2.8rem);
    letter-spacing: -0.03em;
  }
  .content h3 {
    font-size: clamp(1.45rem, 5.5vw, 2rem);
    margin-top: 2rem;
  }
  .content h4 {
    font-size: 1.25rem;
  }
  .content .chapter + .chapter {
    margin-top: 4rem;
    padding-top: 3rem;
  }
  .content .chapter-subs {
    gap: 2rem;
  }
  .content table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .heading-actions {
    gap: .45rem .85rem;
  }
  .chapter--has-subs .h4-block {
    display: block;
    width: 100%;
    margin-left: 0;
  }

  /* Mobile: Unterpunkte per Caret aufklappen */
  .toc-chapter:not(.is-expanded) > .toc-sublist,
  .toc-sub:not(.is-expanded) > .toc-leaflist {
    display: none;
  }
  .toc-chapter:has(> .toc-sublist) > .toc-row > .toc-expand,
  .toc-sub:has(> .toc-leaflist) > .toc-row > .toc-expand {
    display: inline-flex;
  }
  .toc-expand {
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    margin: 0 0 0 .15rem;
    padding: 0;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: var(--muted);
    cursor: pointer;
  }
  .toc-expand:hover,
  .toc-expand:focus-visible {
    color: var(--ink);
    background: var(--wash);
    outline: none;
  }
  .toc-expand__icon {
    display: block;
    width: 1rem;
    height: 1rem;
    transition: transform .18s ease;
  }
  .toc-chapter.is-expanded > .toc-row > .toc-expand,
  .toc-sub.is-expanded > .toc-row > .toc-expand {
    color: var(--ink);
  }
  .toc-expand[aria-expanded="true"] .toc-expand__icon {
    transform: rotate(180deg);
  }
  .toc-menu-btn {
    display: none;
  }

  @media (prefers-reduced-motion: reduce) {
    .toc { transition: none; }
    .toc-expand__icon { transition: none; }
  }
}

/* Tablet: H4-Subnav sticky rechts im freien Raum */
@media (min-width: 641px) and (max-width: 959px) {
  .chapter--has-subs .h4-block:has(.h4-subnav__list):not(.h4-block--solo) {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(6.5rem, 8.5rem);
    column-gap: 1.5rem;
    align-items: start;
    width: 100%;
    margin-left: 0;
  }

  .chapter--has-subs .h4-block.cms-glossary-alpha:has(.h4-subnav__list):not(.h4-block--solo) {
    grid-template-columns: minmax(0, 1fr) minmax(3.5rem, 3.5rem);
    column-gap: 1.5rem;
  }

  .chapter--has-subs .h4-block:has(.h4-subnav__list):not(.h4-block--solo) .h4-block__body {
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
  }
  .chapter--has-subs .h4-block:has(.h4-subnav__list):not(.h4-block--solo) .h4-subnav {
    display: block;
    grid-column: 2;
    grid-row: 1;
    position: sticky;
    top: 1.5rem;
    align-self: start;
    max-height: calc(100vh - 3rem);
    overflow-y: auto;
  }
  .chapter--has-subs .h4-block--solo,
  .chapter--has-subs .h4-block:not(:has(.h4-subnav__list)) {
    display: block;
    width: 100%;
    margin-left: 0;
  }
  .toc {
    max-width: 410px;
    margin-left: auto;
    max-height: 100vh;
    height: 100vh;
    border-radius: 0;
    transform: translate(120%, 0px)
  }
}

@media (max-width: 640px) {
  .h4-subnav { display: none !important; }
  .chapter--has-subs .h4-block {
    display: block;
    width: 100%;
    margin-left: 0;
  }
}

@media (max-width: 40rem) {
  .layout,
  .layout.is-nav-collapsed {
    padding-left: max(.9rem, env(safe-area-inset-left));
    padding-right: max(.9rem, env(safe-area-inset-right));
  }
  .toc-menu {
    min-width: min(11rem, calc(100vw - 2rem));
  }
}

@media (min-width: 960px) and (max-width: 77.99rem) {
 /* .layout {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
  .content h2 {
    font-size: clamp(2.75rem, 5vw, 4rem);
  }
  .content h3 {
    font-size: clamp(1.75rem, 3vw, 2.4rem);
  }*/
}

/* ---- Container: Text-Karten + Text-Unterseite ---- */
ul.text-card-list {
  list-style: none;
  margin: 1.5rem 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 0.85rem;
  margin-top: 0;
}
li.text-card {
  margin: 0;
  padding: 0;
  border-bottom: 1px solid var(--rule, #ddd6ce);
  border-bottom: none;
  border-radius: var(--landing-radius);
  background: var(--landing-beige);
  
}
.text-card:last-child {
  /*border-bottom: 0;*/
  /*padding-bottom: 0;*/
}
a.text-card__link {
  display: block;
  padding: 0 0 1.25rem;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
  border-radius: var(--landing-radius);
  padding: clamp(1.15rem, 2.4vw, 1.55rem) clamp(1.15rem, 2.4vw, 1.65rem);
  height: stretch;
  height: -webkit-fill-available;
  height: 100%;
}
  

a.text-card__link:hover {
text-decoration: none;
color: var(--muted);
background: #f1f1f1;
opacity: 1;
}
.text-card:last-child > .text-card__link {
  /*padding-bottom: 0;*/
}
a.text-card__link:hover .text-card__title,
a.text-card__link:focus-visible .text-card__title {
  color: var(--nav-active, var(--accent));
  color: var(--muted);
}
a.text-card__link:hover .text-card__more-label,
a.text-card__link:focus-visible .text-card__more-label {
  
}
a.text-card__link:focus-visible {
  outline: 2px solid var(--nav-active, var(--accent));
  outline-offset: 2px;
}

li.text-card .heading-num {
  display: none;
}
p.text-card__title {
  margin: 0 0 .45rem;
  font-family: var(--serif);
  font-size: 1.1em;
  line-height: 1.2em;
}

p.text-card__title:before {
  content: '';
  width: 0.6em;
  height: 0.6em;
  display: inline-block;
  background: var(--landing-blue);
  border-radius: 50%;
  margin-right: 0.1em;
}



.text-card__prefix {
  opacity: 0.66;
}
.text-card__summary {
  margin: 0 0 .65rem;
  /*color: var(--muted, #6a6660);
  font-size: .95rem;
  line-height: 1.5;*/
}
.text-card__summary p {
  margin: 0;
}
.text-card__more {
  margin: 0;
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  font-size: .72rem;
  color: var(--muted);
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--nav-active, var(--accent));
  margin-bottom: 0;
}
.content p.text-card__more {
  margin-bottom: 0;
}
.text-card__more .toc-num--icon {
  display: inline-flex;
  flex: 0 0 auto;
  width: 1rem;
  min-width: 1rem;
  height: 1rem;
  padding: 0;
  border-radius: 0;
  color: inherit;
}
.text-card__more .toc-num__svg {
  width: 1rem;
  height: 1rem;
}

li.toc-chapter--back {
  border-bottom: 0.5px solid var(--nav-rail, #d4cfc8);
  margin-bottom: .35rem;
  padding-bottom: 0.85rem;
  margin-bottom: 0.85rem;
}
.toc-chapter--back > .toc-row > a,
.toc-chapter--back .toc-back {
  display: flex;
  align-items: flex-start;
  gap: .35rem;
  color: var(--muted, #8a8680);
  font-weight: 400;
  opacity: 0.66;
}
.toc-chapter--back .toc-back .toc-num--icon {
  flex: 0 0 auto;
  margin-top: .1rem;
}
.toc-chapter--back .toc-back:hover {
  opacity: 1;
}

.toc-chapter--back .toc-back .toc-num.toc-num--icon {
  transition: transform .18s ease;
}
.toc-chapter--back .toc-back:hover .toc-num.toc-num--icon {
  transform: translateX(-0.15rem);
}

body.is-text-page .site-header__inner {
  display: none;
}
body.is-text-page .chapter--text-page {
  margin-top: 0;
}

.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .35rem .2rem;
  margin: 0 0 1.25rem;
  padding: 0;
  font-family: var(--sans);
  font-size: .88rem;
  line-height: 1.35;
  color: var(--muted);
  margin-bottom: 3em;
}
a.breadcrumb__item {
  color: inherit;
  text-decoration: none;
  text-decoration: none;
  background: #6d85f5;
  border-radius: 1em;
  padding: 0.1em 0.6em;
  font-size: 0.83em;
  color: white;
  max-width: 140px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
a.breadcrumb__item:nth-child(3) {
  background: #dcb284;
}
a.breadcrumb__item:nth-child(5) {
  background: #5ebc83;
}
a.breadcrumb__item:hover,
a.breadcrumb__item:focus-visible {
  color: antiquewhite;
  opacity: 0.86;
}
.breadcrumb__item--current {
  color: var(--ink);
}
.breadcrumb__sep {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  margin: 0 .15rem;
  color: var(--nav-muted, var(--muted));
}
.breadcrumb__sep-svg {
  display: block;
  width: .85rem;
  height: .85rem;
}

/* ---------- Startseite (Landing, Entwurf) ---------- */
body.is-landing {
  background: #faf0e5;
  background: var(--paper); 
  

}

body.is-landing .nav-toggle,
body.is-landing .toc,
body.is-landing .toc-backdrop {
  display: none !important;
}

/* ---------- Landing (preview redesign) ---------- */
.landing-page {
  position: relative;
  margin: 0;
  padding: 0;
  min-height: 100vh;
  min-height: 100dvh;
  color: var(--ink);
  
}

.landing-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 606px;
  gap: 0;
  min-height: 100vh;
  min-height: 100dvh;
  align-items: stretch;
}

/* ---- Left: ruled brand panel (links.pdf) ---- */
.landing-main {
  --landing-edge: clamp(1rem, 2.8vw, 2rem);
  --landing-tick-shift: 10px;
  position: sticky;
  top: 0;
  align-self: start;
  height: 100vh;
  height: 100dvh;
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  background: var(--paper);
  padding: 0;
  padding-top: 2em;
  background: var(--paper-dark);
  }

.landing-row {
  position: relative;
  flex: 0 0 auto;
  min-height: var(--landing-row);
  display: flex;
  align-items: center;
  margin-left: calc(var(--landing-edge) + var(--landing-tick) + var(--landing-gap));
  margin-right: var(--landing-edge);
  border-top: 1px solid var(--landing-blue);
  box-sizing: border-box;
}

.landing-row:nth-child(3) {
  border-bottom: 1px solid var(--landing-blue);
}

.landing-row:nth-child(3)::before {
  border-bottom: 1px solid var(--landing-blue);
  height: stretch;
  height: -webkit-fill-available;
}
/* Short tick = same border line, shifted down */
.landing-row::before {
  content: "";
  position: absolute;
  left: calc(-1 * (var(--landing-tick) + var(--landing-gap)));
  top: -1px;
  width: var(--landing-tick);
  border-top: 1px solid var(--landing-blue);
  transform: translateY(var(--landing-tick-shift));
  pointer-events: none;
}

.landing-row--brand .landing-brand__line {
  margin: 0.2em 0px;
  font-family: var(--sans);
  font-size: clamp(2.6rem, 6.2vw, 3.6rem);
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.03em;
  text-transform: uppercase;
  color: var(--landing-blue);
}

.landing-main__bottom {
  margin-top: auto;
  margin-left: calc(var(--landing-edge) + var(--landing-tick) + var(--landing-gap));
  margin-right: var(--landing-edge);
}

.landing-menu {
  padding: 0.35rem 0 0rem;
}

.landing-menu__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0rem 0rem;
}

.landing-menu__item {
  margin: 0;
  min-width: 0;
  border-top: 1px solid var(--landing-blue);
}

.landing-menu__link {
  position: relative;
  z-index: 0;
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  font-family: var(--sans);
  font-size: clamp(1.15rem, 1.85vw, 1.25rem);
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: -0.01em;
  color: var(--landing-blue);
  text-decoration: none;
  padding: 0.7rem 0.5rem 0.7rem 0;
  isolation: isolate;
  transition: all 0.1s ease;
}
.landing-menu__link::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: color-mix(in srgb, var(--landing-blue) 12%, #fff);
  transform: scaleY(0);
  transform-origin: bottom;
  transition: transform 0.1s ease;
  pointer-events: none;
  display: none;
}
.landing-menu__link:hover::before,
.landing-menu__link:focus-visible::before {
  transform: scaleY(1);
}
.landing-menu__link:hover,
.landing-menu__link:focus-visible {
  text-decoration: none;
  opacity: 0.6;
  transform: translateX(1px);
}
.landing-menu__icon {
  flex: 0 0 auto;
  display: block;
  line-height: 0;
  color: inherit;
  margin-top: 0.05em;
}
.landing-menu__icon .toc-num--icon {
  display: inline-flex;
  width: 1.25rem;
  min-width: 1.25rem;
  height: 1.25rem;
  padding: 0;
  border-radius: 0;
  color: inherit;
}
.landing-menu__icon .toc-num__svg {
  width: 1.15rem;
  height: 1.15rem;
}
.landing-menu__label {
  min-width: 0;
}

.landing-row--foot {
  margin-top: 0;
  margin-left: 0;
  margin-right: 0;
  justify-content: flex-end;
  margin-bottom: -2px;
}

/* Tick for the bottom border — same line, shifted down */
.landing-row--foot::after {
  content: "";
  position: absolute;
  left: calc(-1 * (var(--landing-tick) + var(--landing-gap)));
  bottom: -1px;
  width: var(--landing-tick);
  border-top: 1px solid var(--landing-blue);
  transform: translateY(var(--landing-tick-shift));
  pointer-events: none;
}

.landing-shapes {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  flex-shrink: 0;
}

.landing-shape {
  display: block;
  flex-shrink: 0;
}
.landing-shape--tri {
  width: 0;
  height: 0;
  border-left: 0.52rem solid transparent;
  border-right: 0.52rem solid transparent;
  border-bottom: 0.9rem solid var(--landing-blue);
}
.landing-shape--hex {
  width: 0.95rem;
  height: 1.1rem;
  background: var(--landing-shape-gold);
  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
}
.landing-shape--circle {
  width: 0.95rem;
  height: 0.95rem;
  border-radius: 50%;
  background: var(--landing-shape-green);
}
.landing-shape--circle-red {
  background: var(--landing-shape-red);
}

/* ---- Right: content panel (rechts.pdf) ---- */
.landing-side {
  min-width: 0;
  padding: clamp(1.75rem, 4vw, 3rem) clamp(1.35rem, 3.5vw, 2.75rem) clamp(2.5rem, 5vw, 3.5rem);
  background: var(--paper);
}

.landing-side__head {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: 1rem 1.5rem;
  align-items: start;
  margin-bottom: clamp(1.75rem, 4vw, 2.75rem);
  margin-top: 4rem;
}

.landing-side__title {
  margin: 0;
  max-width: 11em;
  font-family: var(--serif);
  font-size: clamp(1.65rem, 2.6vw, 2.15rem);
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: var(--ink);
}

.landing-side__right {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.85rem;
  padding-top: 0.35rem;
  margin-top: 6em;
}

.landing-side__for {
  margin: 0;
  max-width: 9.5em;
  font-family: var(--sans);
  font-size: clamp(1.35rem, 2.2vw, 1.85rem);
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.015em;
  color: var(--ink);
}

.landing-side__region {
  margin: 1.75rem 0 0;
  grid-column: 1;
  font-family: var(--sans);
  font-size: 0.95rem;
  line-height: 1.35;
  color: var(--ink);
}

.landing-card {
  background: var(--landing-beige);
  border-radius: var(--landing-radius);
  overflow: hidden;
  display: flex;
  gap: 0;
  align-items: stretch;
  justify-content: space-between;
}

.landing-card figure {
  flex: 0 0 40%;
  width: 40%;
  max-width: 40%;
  margin: 0;
  align-self: stretch;
  position: relative;
  overflow: hidden;
}

.landing-card figure img {
  position: absolute;
  inset: 0;
  display: block;
  width: 150%;
  height: auto;
  min-height: 100%;
  object-fit: cover;
  object-position: center;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);

}

.landing-card > div {
  flex: 1 1 auto;
  min-width: 0;
  padding: clamp(1.15rem, 2.4vw, 1.55rem) clamp(1.15rem, 2.4vw, 1.65rem);
}

.landing-card:not(:has(> figure)) {
  
}

.landing-card--lead {
  margin-bottom: 0.85rem;
}

.landing-card--lead p {
  margin: 0;
  font-family: var(--sans);
  font-size: clamp(1.15rem, 1.85vw, 1.25rem);
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: -0.01em;
  hyphens: auto;
  color: var(--ink);
}

.landing-card__kick {
  font-family: var(--serif);
  font-weight: 400;
  font-size: 110%;
}

.landing-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem;
  margin-bottom: 0.85rem;
}

.landing-card__title {
  margin: 0 0 0.7rem;
  font-family: var(--serif);
  font-size: 1.05rem;
  font-weight: 400;
  line-height: 1.25;
  color: var(--ink);
}

.landing-card__body {
  margin: 0;
  font-family: var(--sans);
  font-size: 0.92rem;
  line-height: 1.45;
  color: var(--ink);
  hyphens: auto;
}

.landing-card__list {
  margin: 0;
  padding: 0 0 0 1.1rem;
  font-family: var(--sans);
  font-size: 0.92rem;
  line-height: 1.45;
  color: var(--ink);
  hyphens: auto;
}
.landing-card__list li {
  margin: 0 0 0.55rem;
  
}
.landing-card__list li:last-child {
  margin-bottom: 0;
}

.landing-card--cta {
  background: var(--landing-blue);
  color: #fff;
  margin-bottom: clamp(1.5rem, 3.5vw, 2.25rem);
}
.landing-card--cta p {
  margin: 0;
  font-family: var(--sans);
  font-size: clamp(1.15rem, 1.85vw, 1.45rem);
  
  line-height: 1.35;
  letter-spacing: -0.01em;
}

.landing-illustration {
  margin: 0 auto clamp(2rem, 4vw, 2.75rem);
  max-width: 16.5rem;
  width: 72%;
  
}
.landing-illustration img {
  display: block;
  width: 100%;
  height: auto;
}

.landing-sections {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.landing-section {
  padding: 1.15rem 0 1.25rem;
  border-top: 1px solid var(--landing-blue);
}
.landing-section:last-child {
  border-bottom: 1px solid var(--landing-blue);
  padding-bottom: 1.5rem;
}

.landing-section__label {
  margin: 0;
  font-family: var(--serif);
  font-size: 1.15rem;
  font-weight: 400;
  line-height: 1.2;
  color: var(--ink);
}

.landing-section--kontakt {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.75rem 1.5rem;
}

.landing-section__mail {
  font-family: var(--sans);
  font-size: 0.98rem;
  color: var(--ink);
  text-decoration: none;
}
.landing-section__mail:hover {
  color: var(--landing-blue);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.landing-section__text {
  margin: 0.75rem 0 0;
  max-width: 40rem;
  font-family: var(--sans);
  font-size: 0.92rem;
  line-height: 1.5;
  color: var(--ink);
}

.landing-section__chapters {
  margin-top: 1.85rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem 1.25rem;
}

.landing-section__links-description {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.35rem;
  min-width: 0;
  padding: 0;
}

.landing-section__chapter-link {
  flex: 0 0 auto;
  width: 100%;
  min-width: 0;
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  font-family: var(--sans);
  font-size: 0.95rem;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: -0.01em;
  color: var(--landing-blue);
  text-decoration: none;
}
.landing-section__chapter-link:hover,
.landing-section__chapter-link:focus-visible {
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}

.landing-section__chapter-icon {
  flex: 0 0 auto;
  display: block;
  line-height: 0;
  margin-top: 0.05em;
  color: inherit;
}
.landing-section__chapter-icon .toc-num--icon {
  display: inline-flex;
  width: 1.2rem;
  min-width: 1.2rem;
  height: 1.2rem;
  padding: 0;
  border-radius: 0;
  color: inherit;
}
.landing-section__chapter-icon .toc-num__svg {
  width: 1.1rem;
  height: 1.1rem;
}

.landing-section__chapter-label {
  min-width: 0;
}
.landing-section__chapter-num {
  font-variant-numeric: tabular-nums;
}

.landing-section__chapter-desc {
  margin: 0;
  min-width: 0;
  width: 100%;
  font-family: var(--sans);
  font-size: 0.88rem;
  line-height: 1.45;
  color: var(--muted, #5c564c);
}

.landing-supporters {
  list-style: none;
  margin: 1rem 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.25rem 1.75rem;
}
.landing-supporters li {
  margin: 0;
}
.landing-supporters a {
  display: block;
  line-height: 0;
  text-decoration: none;
  opacity: 1;
  transition: opacity 0.15s ease;
}
.landing-supporters a:hover {
  opacity: 0.75;
}
.landing-supporters img {
  display: block;
  height: 2.65rem;
  width: auto;
  max-width: 7.5rem;
  object-fit: contain;
}

/* ---- Tablet ---- */
@media (max-width: 64rem) {
  .landing-row--brand .landing-brand__line {
    font-size: clamp(2.1rem, 5vw, 3.4rem);
  }
  .landing-grid {
    grid-template-columns: minmax(0, 1fr) 490px;
  }
  .landing-side__head {
    grid-template-columns: 1fr 1fr;
  }

  .landing-supporters img {
    height: 2.35rem;
  }
}

/* ---- Compact tablet / large phone: stack ---- */
@media (max-width: 52rem) {
  .landing-grid {
    grid-template-columns: minmax(0, 1fr);
    min-height: auto;
  }

  .landing-row:nth-child(3) {
    border-bottom: 0px solid var(--landing-blue);
  }
  
  .landing-row:nth-child(3)::before {
    border-bottom: 0px solid var(--landing-blue);
    height: stretch;
    height: -webkit-fill-available;
  }
  .landing-main {
    position: relative;
    height: auto;
    min-height: calc(var(--landing-row) * 3.25);
  }

  .landing-row--brand .landing-brand__line {
    font-size: clamp(2.35rem, 12vw, 3.6rem);
  }

  .landing-side {
    padding-top: 1.5rem;
  }

  .landing-side__head {
    grid-template-columns: 1fr;
    gap: 1rem;
    margin-bottom: 1.5rem;
  }

  .landing-side__right {
    padding-top: 0;
    margin-top: 0;
  }

  .landing-side__region {
    margin-top: 0.25rem;
  }

  .landing-cards {
    grid-template-columns: 1fr;
  }

  .landing-illustration {
    max-width: 14rem;
  }
}

/* ---- Mobile ---- */
@media (max-width: 36rem) {
  .landing-main {
    --landing-edge: 2.0rem;
    --landing-row: 3.35rem;
    min-height: calc(var(--landing-row) * 3.25);
  }
  .landing-row::before {
left: -2.5rem;

  }
  .landing-side__head {
    margin-top: 0;
  }
  .landing-menu__list {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .landing-row--brand .landing-brand__line {
    font-size: clamp(2rem, 11.5vw, 2.75rem);
  }

  .landing-side {
    padding: 1.25rem 1rem 2rem;
  }

  .landing-card {
    border-radius: 0.95rem;
    
  }

  .landing-card--lead p,
  .landing-card--cta p {
    font-size: 1.05rem;
  }

  .landing-section--kontakt {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.35rem;
  }

  .landing-section__chapters {
    grid-template-columns: minmax(0, 1fr);
  }

  .landing-section__links-description {
    gap: 0.3rem;
  }

  .landing-supporters {
    gap: 1rem 1.25rem;
  }
  .landing-supporters img {
    height: 2.1rem;
    max-width: 6.25rem;
  }

  .landing-shape--tri {
    border-left-width: 0.42rem;
    border-right-width: 0.42rem;
    border-bottom-width: 0.72rem;
  }
  .landing-shape--hex {
    width: 0.78rem;
    height: 0.9rem;
  }
  .landing-shape--circle {
    width: 0.78rem;
    height: 0.78rem;
  }
}

body.is-chapter-page .site-header__inner {
  display: none;
}

/* ---------- Site-Footer ---------- */
.site-footer {
  --site-footer-blue: #486ed8;
  margin-top: 0rem;
  font-family: var(--sans);
  max-width: 100%;
  overflow-x: clip;
}

.site-footer__overview {
  background: #f3efe8;
  
  padding: 2.25rem clamp(1.25rem, 4vw, 3rem) 2.5rem;
}

.site-footer__overview-inner {
  max-width: 72rem;
  margin: 0 auto;
}

.site-footer__overview-heading {
  margin: 0 0 1.25rem;
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--muted, #7a7368);
}

.site-footer__grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.5rem 0.85rem;
}

.site-footer__chapter {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.4rem;
  margin: 0 0 .55rem;
  font-size: .78rem;
  font-weight: 400;
  line-height: 1.35;
  color: var(--ink, #1c1916);
  text-decoration: none;
}
.site-footer__chapter:hover {
  color: var(--site-footer-blue);
}
.site-footer__chapter-icon {
  display: block;
  line-height: 0;
  color: var(--site-footer-blue);
}
.site-footer__chapter-icon .toc-num--icon {
  display: inline-flex;
  width: 1.75rem;
  min-width: 1.75rem;
  height: 1.75rem;
  padding: 0;
  border-radius: 0;
  color: inherit;
}
.site-footer__chapter-icon .toc-num__svg {
  width: 1.35rem;
  height: 1.35rem;
}
.site-footer__chapter-text {
  display: block;
}

.site-footer__subs {
  list-style: none;
  margin: 0;
  padding: 0;
}
.site-footer__subs li {
  margin: 0 0 0.2rem;
}
.site-footer__subs a {
  font-size: 0.69rem;
    line-height: 1.3em !important;
    color: var(--muted, #5c564c);
    text-decoration: none;
    /* display: inline-block; */
    display: block;
}
.site-footer__subs a:hover {
  color: var(--site-footer-blue);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.site-footer__chapter-num,
.site-footer__sub-num {
  font-variant-numeric: tabular-nums;
  opacity: .75;
}

.site-footer__bar {
  background: var(--site-footer-blue);
  color: #fff;
  padding: 1.6rem clamp(1.25rem, 4vw, 3rem);
}

.site-footer__bar-inner {
  max-width: 72rem;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1.5rem 2.5rem;
}

.site-footer__col:last-child {
  display: none;
}

.site-footer__brand {
  flex: 1 1 12rem;
  min-width: 10rem;
}
.site-footer__title {
  margin: 0;
  font-size: clamp(1.05rem, 2vw, 1.35rem);
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.15;
  text-transform: uppercase;
}
.site-footer__subtitle {
  margin: .35rem 0 0;
  max-width: 18rem;
  font-size: .78rem;
  line-height: 1.4;
  opacity: .88;
}

.site-footer__supporters {
  flex: 2 1 18rem;
  min-width: 14rem;
}
.site-footer__supporters-label {
  margin: 0 0 .65rem;
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  opacity: .85;
}
.site-footer__logos {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .85rem 1.25rem;
}
.site-footer__logos a {
  display: block;
  line-height: 0;
  text-decoration: none;
  opacity: 1;
  transition: opacity 0.15s ease;
}
.site-footer__logos a:hover {
  opacity: 0.75;
}
.site-footer__logo {
  display: block;
  height: 2.1rem;
  width: auto;
  max-width: 7.5rem;
  object-fit: contain;
}

.site-footer__legal {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: .35rem;
}
.site-footer__legal a {
  color: #fff;
  font-size: .85rem;
  text-decoration: none;
  opacity: .9;
}
.site-footer__legal a:hover {
  opacity: 1;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Static pages (Kontakt / Impressum) */
.static-top {
  padding: 1rem clamp(1.25rem, 4vw, 3rem);
  border-bottom: 1px solid var(--rule, #ddd5c8);
  background: #fff;
}
.static-top__home {
  font-family: var(--sans);
  font-weight: 600;
  color: #486ed8;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: -0.01em;
}
.static-top__home:hover {
  text-decoration: underline;
}
.content--static {
  max-width: 42rem;
  margin: 0 auto;
  padding: 2rem clamp(1.25rem, 4vw, 3rem) 3rem;
}
.content--static h1 {
  margin-top: 0;
}
body.is-static-page .site-footer {
  margin-top: 0;
}
body.is-landing .site-footer {
  margin-top: 0;
}

@media (max-width: 60rem) {
  .site-footer__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .site-footer__legal {
    align-items: flex-start;
  }
  .site-footer__bar-inner {
    align-items: flex-start;
  }
}

@media (max-width: 36rem) {
  .site-footer__grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .site-footer__logo {
    height: 1.85rem;
  }
}




/* NUMMERIERUNG BEI 1. und 2. Ebene */

#das-team-section h3 .heading-num,
#einleitung-und-kontext-section h3 .heading-num {display: none;}

/* KEINE PDF-EXPORT FÜR DIESE SEITEN */ 

#das-team-section .heading-actions {display: none;}

/* ---------- Suche ---------- */
.search-launch {
  position: fixed;
  top: max(0.85rem, env(safe-area-inset-top));
  right: max(0.85rem, env(safe-area-inset-right));
  z-index: 90;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin: 0;
  padding: 0.45rem 0.85rem 0.45rem 0.65rem;
  border: 0;
  border-radius: 1.25rem;
  background: var(--landing-blue);
  color: var(--white);
  font-family: var(--sans);
  font-size: 0.72rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 2px 10px var(--shadow);
}
.search-launch:hover { opacity: 0.92; }
.search-launch:focus-visible {
  outline: 2px solid var(--paper);
  outline-offset: 2px;
}
.search-launch .search-icon-svg,
.search-launch__icon {
  width: 1.05rem;
  height: 1.05rem;
  display: block;
  color: var(--white);
}
.search-launch .search-icon-svg .st1,
.search-launch .st1 {
  stroke: currentColor;
}
.search-launch__label {
  color: var(--white);
  
}

.search-overlay {
  position: fixed;
  inset: 0;
  z-index: 100;
  background: var(--landing-blue);
  color: var(--paper);
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
.search-overlay[hidden] { display: none !important; }
.search-overlay__close {
  position: absolute;
  top: max(0.75rem, env(safe-area-inset-top));
  right: max(0.75rem, env(safe-area-inset-right));
  z-index: 2;
  width: 2.5rem;
  height: 2.5rem;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--paper);
  font-size: 1.75rem;
  line-height: 1;
  cursor: pointer;
}
.search-overlay__close:hover { opacity: 0.75; }
.search-overlay__inner {
  box-sizing: border-box;
  width: min(40rem, calc(100% - 2rem));
  margin: 0 auto;
  padding: clamp(3.5rem, 8vh, 5.5rem) 0 3rem;
  text-align: center;
}
.search-overlay__brand {
  margin: 0 auto 2.75rem;
  max-width: 18rem;
}
.search-overlay__brand-line {
  margin: 0;
  padding-top: 0.35rem;
  border-top: 1px solid color-mix(in srgb, var(--paper) 55%, transparent);
  font-family: var(--sans);
  font-size: clamp(1.85rem, 5vw, 2.6rem);
  font-weight: 600;
  line-height: 1.05;
  letter-spacing: -0.03em;
  text-transform: uppercase;
  color: var(--paper);
  text-align: left;
}
.search-overlay__brand-line + .search-overlay__brand-line {
  margin-top: 0.15rem;
}
.search-overlay__field-wrap {
  margin: 0 0 1.5rem;
}
.search-overlay__field {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.55rem 0.85rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--white) 50%, transparent);
  text-align: left;
}
.search-overlay__field-icon,
.search-overlay__field .search-icon-svg {
  width: 1.2rem;
  height: 1.2rem;
  flex-shrink: 0;
  color: #111;
}
.search-overlay__field .st1 { stroke: currentColor; }
.search-overlay__input {
  flex: 1;
  min-width: 0;
  border: 0;
  background: transparent;
  color: var(--ink);
  font-family: var(--sans);
  font-size: 1rem;
  line-height: 1.3;
  outline: none;
  /* Native Browser-„×“ ausblenden — nur .search-overlay__clear nutzen */
  -webkit-appearance: none;
  appearance: none;
}
.search-overlay__input::-webkit-search-decoration,
.search-overlay__input::-webkit-search-cancel-button,
.search-overlay__input::-webkit-search-results-button,
.search-overlay__input::-webkit-search-results-decoration {
  -webkit-appearance: none;
  appearance: none;
  display: none;
}
.search-overlay__input::placeholder {
  color: color-mix(in srgb, var(--ink) 45%, transparent);
}
.search-overlay__clear {
  flex-shrink: 0;
  width: 1.6rem;
  height: 1.6rem;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--ink);
  font-size: 1.25rem;
  line-height: 1;
  cursor: pointer;
  opacity: 0.55;
}
.search-overlay__clear:hover { opacity: 1; }
.search-overlay__clear[hidden] { display: none !important; }

.search-overlay__hint {
  margin: 0 0 0.85rem;
  font-family: var(--sans);
  font-size: 0.82rem;
  color: color-mix(in srgb, var(--paper) 82%, transparent);
}
.search-overlay__chips {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.45rem;
}
.search-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin: 0;
  padding: 0.35rem 0.65rem;
  border: 1px solid color-mix(in srgb, var(--paper) 40%, transparent);
  border-radius: 2px;
  border-radius: 1.25rem;
  background: transparent;
  color: var(--paper);
  font-family: var(--sans);
  font-size: 0.78rem;
  line-height: 1.2;
  cursor: pointer;
}
.search-chip__plus {
  opacity: 0.33;
  font-weight: 600;
  transition: opacity 0.15s ease;
}
.search-chip:hover .search-chip__plus,
.search-chip:focus-visible .search-chip__plus {
  opacity: 1;
}

.search-overlay__idle[hidden],
.search-overlay__results[hidden] {
  display: none !important;
}

.search-results__heading {
  margin: 1.25rem 0 0.65rem;
  font-family: var(--sans);
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-align: left;
}
.search-results__count {
  margin: 0 0 0.35rem;
  font-family: var(--sans);
  font-size: 1rem;
  line-height: 1.4;
  color: var(--ink);
  text-align: left;
}
.search-results--overlay .search-results__heading {
  color: var(--paper);
}
.search-results__chapter-list {
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: left;
}
ul.search-results__chapter-list,
ul.search-results__tiles {
  padding-left: 0;
  margin-bottom: 0.25rem
}
ul.search-results__chapter-list li {
    margin: .05rem 0;

}
.content a.search-results__chapter-link,
.search-results__chapter-link {
  display: block;
  padding: 0.35rem 0;
  color: inherit;
  text-decoration: none;
  border-bottom: 0.5px solid var(--nav-rail);
  font-family: var(--sans);
  font-size: 0.95rem;
}
.search-results__chapter-link:hover { opacity: 0.75; }
.search-results--overlay .search-results__chapter-link {
  color: var(--paper);
}
.search-results__chapter-in {
  opacity: 0.95;
  font-size: 0.73em;
  letter-spacing: 0.007em;
  color: #92847f;
  color: #c1bfbd;
  color: #aeaeb0;
}
.search-results__chapter-more {
  margin: 0.65rem 0 0;
  text-align: left;
  font-family: var(--sans);
  font-size: 0.85rem;
}
.search-results__chapter-more a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
  opacity: 0.85;
}
.search-results__chapter-more a:hover { opacity: 1; }
.search-results--overlay .search-results__chapter-more a {
  color: var(--paper);
}
.search-results__section.is-search-collapsed .search-results__extra {
  display: none;
}
.search-results__expand-wrap {
  margin: 0.75rem 0 0;
  text-align: left;
}
.search-results__expand {
  display: inline;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  font-family: var(--sans);
  font-size: 0.95rem;
  text-underline-offset: 2px;
  cursor: pointer;
  opacity: 0.45;
}
.search-results__expand:hover { opacity: 1; }

.search-results__tiles {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
  text-align: left;
}
@media (max-width: 60rem) {
  .search-results__tiles {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 36rem) {
  .search-results__tiles {
    grid-template-columns: minmax(0, 1fr);
  }
}

.search-results__tile {
  background: var(--landing-beige);
  border-radius: var(--landing-radius);
  overflow: hidden;
  display: flex;
  gap: 0;
  align-items: stretch;
  justify-content: space-between;
}

.search-results--overlay .search-results__tile {
  background: color-mix(in srgb, var(--paper) 8%, transparent);
}

.content li.search-results__tile {
margin: 0;

}

.search-results__tile-link {
  display: block;
  height: 100%;
  box-sizing: border-box;
  padding: 0.85rem 0.9rem;
  border-radius: 0.35rem;
  text-decoration: none;
  color: inherit;
  transition: background 0.12s ease;
}
.search-results--overlay .search-results__tile-link {
  color: var(--paper);
  border-color: color-mix(in srgb, var(--paper) 35%, transparent);
  background: color-mix(in srgb, var(--paper) 8%, transparent);
}
.search-results--overlay .search-results__tile-link:hover {
  background: color-mix(in srgb, var(--paper) 16%, transparent);
}
.search-results--page .search-results__tile-link {
  color: var(--ink);
  
  border-color: var(--rule);
}
.search-results--page .search-results__tile-link:hover {
  background: var(--surface);
  opacity: 1;
}
.search-results--overlay .search-results__tile.search-results__tile--more {
  min-height: 100%;
  background: none;
  border: 1px dashed rgba(255,255,255,0.2)
}
.search-results--overlay .search-results__tile.search-results__tile--more:hover {
  
}
.search-results__tile-link--more {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-height: 5.5rem;
  background: none;  
}
.search-results--overlay .search-results__tile-link--more {
  background: none;
}
.search-results--overlay .search-results__tile-link--more:hover {
  background: none;
  opacity: 0.6;
}
.search-results--page .search-results__tile-link--more {
  background: color-mix(in srgb, var(--landing-blue) 12%, var(--paper));
  border-color: var(--landing-blue);
  border-style: dashed;
  color: var(--landing-blue);
}
.search-results--page .search-results__tile-link--more:hover {
  background: color-mix(in srgb, var(--landing-blue) 18%, var(--paper));
}

.search-results--page > p, 
.search-results--page section > h2 {
  font-family: var(--serif);
    font-size: 1.4rem;
    line-height: 1.4;
    color: var(--ink);
    text-align: center;
    letter-spacing: 0.005em;
}

.search-results--page section > h2 {
  padding-top: 0.5rem;
}
.search-results__tile-more-label {
  margin: 0;
  font-family: var(--sans);
  font-size: 0.92rem;
  font-weight: 600;
  line-height: 1.3;
}
p.search-results__tile-title-container {
  margin: 0 0 0.4rem;
  font-family: var(--serif);
  font-size: 0.9rem;
  font-weight: 400;
  line-height: 1.25;
  margin-bottom: 0.25rem;
  opacity: 1;
}
p.search-results__tile-title-container > span {
  font-family: var(--sans);
  font-size: 0.60rem;
  opacity: 0.35;
  display: block;
  float: left;
  margin-right: 0.5rem;
  /* height: 2.1em; */
  line-height: 2em;
}
p.search-results__tile-title {  
  margin: 0 0 0.75rem;
    font-family: var(--sans);
    font-size: 0.71rem;
    /* font-weight: 600; */
    letter-spacing: 0.01em;
    line-height: 1.3;
    /* text-transform: uppercase; */
    opacity: 0.35;
    margin-left: 
}
p.search-results__tile-title:before {
  content: '';
  display: block;
  float: left;
  width: 0.2rem;
  height: 0.2rem;
  background: var(--ink);
  /* border-radius: 50%; */
  margin-right: 0.25rem;
  transform: translateY(0.34rem) rotate(45deg);
  border: 1px solid;
  background: transparent;
  border-width: 0.9px 0.9px 0px 0;
}
.search-results__tile-snippet {
  margin: 0;
  font-family: var(--sans);
  font-size: 0.82rem;
  line-height: 1.35;
  opacity: 0.92;
}

p.search-results__tile-title,
.search-results__tile-snippet {
    padding-left: 1.75rem;
}

.search-results.search-results--overlay p.search-results__tile-title,
.search-results.search-results--overlay .search-results__tile-snippet {
    padding-left: 0;
}


.search-hit {
  background: #f1f9ad;
  background: #f1f9ad9f;
  color: var(--ink);
  border-radius: 1px;
  padding: 0 0.1em;
}

.search-results.search-results--overlay .search-hit {
  background: #cccefd1a;
  color: var(--paper);
}

.search-results__empty {
  margin: 1.5rem 0;
  font-family: var(--sans);
  font-size: 0.95rem;
}
.search-results--overlay .search-results__empty { color: var(--paper); }
.search-results__more-wrap {
  margin: 1.75rem 0 0;
  text-align: center;
}
.search-results__more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.65rem 1.25rem;
  border-radius: 999px;
  
  color: var(--paper);
  text-decoration: none;
  font-family: var(--sans);
  font-size: 0.9rem;
  font-weight: 400;
  background: color-mix(in srgb, var(--paper) 8%, transparent);
}
.search-results__more:hover { background: color-mix(in srgb, var(--paper) 12%, transparent); }

body.is-search-open {
  overflow: hidden;
}

.search-page__header {
  margin: 0 0 2rem;
}
.search-page__brand {
  display: block;
  margin: 5vh auto 1.25rem;
  max-width: 18rem;
  text-decoration: none;
  color: inherit;
}
.content a.search-page__brand:hover {
  opacity: 1;
}
.search-page__brand .search-overlay__brand-line {
  display: block;
  color: var(--landing-blue);
  border-top-color: color-mix(in srgb, var(--landing-blue) 55%, transparent);
  margin-bottom: 0.15em;
}
.search-page__sticky-sentinel {
  height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  overflow: hidden;
  pointer-events: none;
}
.search-page__field-wrap {
  position: sticky;
  top: 1em;
  z-index: 4;
  margin: 0.5rem 0 2.25rem 0;
  padding: 0.35rem 0;
  /* Leere Fläche neben dem geschrumpften Feld durchklickbar */
  pointer-events: none;
}
.search-page__field.search-overlay__field {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  background: var(--white);
  background: rgb(235 235 235 / 82%);
  backdrop-filter: blur(6px) saturate(0);
  transition: width 0.22s ease, min-width 0.22s ease;
  margin: auto;
  pointer-events: auto;
}
.search-page__field.is-search-stuck:not(.is-search-active) {
  width: 30%;
  min-width: 14rem;
}
.search-page .search-results {
  margin-top: 0.5rem;
}

