/* fonts/fonts.css */
/* Self-hosted brand fonts — DSGVO: no Google Fonts, no external requests.
   Families: Manrope, Cormorant Garamond, JetBrains Mono (variable woff2, subsets latin + latin-ext).
   Licensed under the SIL Open Font License 1.1 — see /fonts/OFL.txt. font-display: swap. */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 300 800;
  font-display: swap;
  src: url('/fonts/manrope-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 300 800;
  font-display: swap;
  src: url('/fonts/manrope-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400 500;
  font-display: swap;
  src: url('/fonts/cormorant-garamond-italic-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400 500;
  font-display: swap;
  src: url('/fonts/cormorant-garamond-italic-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url('/fonts/cormorant-garamond-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url('/fonts/cormorant-garamond-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url('/fonts/jetbrains-mono-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url('/fonts/jetbrains-mono-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* styles.css */
/* =================================================================
   WILLIPEDIA 2.0 — Wissens-Dach der PlattesGroup
   Brand-Tokens 1:1 vom Cyberschutzengel (Plattes-Standard)
   ================================================================= */

/* >>> cms-elements:theme-tokens (generiert aus packages/cms-elements/src/theme/tokens.css — NICHT hier editieren) >>> */
:root {
  --navy-deep:    #0A1E3F;
  --navy:         #102A55;
  --navy-mid:     #1B3A6B;
  --navy-light:   #2A4A7A;
  /* Text on light surfaces and filled controls use the accessible dark brass.
     Lighter brass remains available through --gold-soft on dark surfaces. */
  --gold:         #7A6230;
  --gold-light:   #E8D6A6;
  --gold-deep:    #7A6230;
  --gold-soft:    #D6B97A;
  --action-bg:    #7A6230;
  --action-bg-hover: #684F21;
  --action-fg:    #FFFEFB;
  --disabled-bg:  #E9E5DC;
  --disabled-fg:  #454A62;
  --cream:        #F7F2E7;
  --ivory:        #FBF8F0;
  --paper:        #FFFEFB;
  --ink:          #14182A;
  --ink-soft:     #3A405A;
  --muted:        #5B6079;
  --rule:         rgba(154, 119, 52,0.35);
  --rule-strong:  rgba(154, 119, 52,0.65);
  --shadow-card:  0 10px 32px rgba(10,30,63,0.08), 0 2px 6px rgba(10,30,63,0.04);
  --shadow-hover: 0 18px 48px rgba(10,30,63,0.12), 0 4px 10px rgba(10,30,63,0.06);

  --f-serif: 'Cormorant Garamond', 'Georgia', serif;
  --f-sans:  'Manrope', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --f-mono:  'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
}
/* <<< cms-elements:theme-tokens <<< */

/* Keep WilliPedia's editor entries clear of the consultation trigger on the right.
   !important overrides the shared renderers' inline position without moving other sites. */
[data-willi-inline-entry],
[data-willi-edit-leiste] {
  left: 18px;
  right: auto !important;
  max-width: calc(100vw - 112px);
}
[data-willi-edit-leiste] {
  justify-content: flex-start !important;
}

:root {
  --page-max-width: 1240px;
  --page-gutter: 32px;
  /* ui-erlaubt: the approved editorial-link interaction uses true black. */
  --editorial-text-link-active: #000000;
}

@media (max-width: 600px) {
  :root { --page-gutter: 20px; }
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; overflow-x: clip; max-width: 100vw; }
body {
  font-family: var(--f-sans);
  font-weight: 400;
  font-size: 16px;
  line-height: 1.65;
  color: var(--ink);
  background: var(--ivory);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img, svg { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }

/* Public editorial links override nested rich-text colors, including bold
   and visited links, while retaining the source's font size and weight. */
a.editorial-text-link,
a.editorial-text-link:visited,
a.editorial-text-link * {
  color: var(--gold-deep) !important;
  -webkit-text-fill-color: currentColor !important;
}
a.editorial-text-link {
  border-bottom: 0 !important;
  text-decoration-line: underline !important;
  text-decoration-color: currentColor;
  text-decoration-thickness: .055em;
  text-underline-offset: .2em;
}
a.editorial-text-link:hover,
a.editorial-text-link:hover *,
a.editorial-text-link:focus-visible,
a.editorial-text-link:focus-visible * {
  color: var(--editorial-text-link-active) !important;
}
a.editorial-text-link:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 4px;
}
a.editorial-text-link [data-willipedia-wordmark="true"] { --willipedia-book-gold: currentColor; }
a.editorial-text-link .editorial-text-link__end { white-space: nowrap; }
a.editorial-text-link .editorial-text-link__icon {
  display: inline-block;
  width: .76em;
  height: .76em;
  max-width: none;
  margin-inline-start: .23em;
  vertical-align: -.04em;
  overflow: visible;
}

.container { width: 100%; max-width: var(--page-max-width); margin: 0 auto; padding: 0 var(--page-gutter); }
.container-narrow { max-width: 880px; }

/* Backgrounds span the viewport; only their inner content is constrained. */
.nav,
.event-network-footer,
.footer {
  width: 100%;
  max-width: none;
}

/* ============== NAV ============== */
.nav {
  position: sticky; top: 0; z-index: 100;
  background: rgba(10,30,63,0.94);
  backdrop-filter: saturate(180%) blur(14px);
  -webkit-backdrop-filter: saturate(180%) blur(14px);
  border-bottom: 1px solid rgba(154, 119, 52,0.18);
  color: var(--cream);
  /* iOS PWA: safe-area-top damit Status-Bar nicht überlagert */
  padding-top: env(safe-area-inset-top, 0);
}
.nav__inner {
  display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 24px; padding: 12px var(--page-gutter);
  max-width: var(--page-max-width);
  margin: 0 auto;
  padding-left: max(var(--page-gutter), env(safe-area-inset-left));
  padding-right: max(var(--page-gutter), env(safe-area-inset-right));
}
.nav__logo {
  display: flex; align-items: center; justify-self: start;
  transition: opacity .2s;
}
.nav__logo:hover { opacity: 0.85; }
/* Original PNGs stay byte-identical. Show their shared artwork bounds (with
   2px safety padding), excluding only the surrounding transparent canvas. */
.brand-logo {
  position: relative;
  display: block;
  width: var(--brand-logo-width, 104.61px);
  max-width: 100%;
  aspect-ratio: 1027 / 432;
  overflow: hidden;
  flex: none;
}
.brand-logo > img,
.event-network-footer__logo .brand-logo > img {
  position: absolute;
  display: block;
  width: 207.692308%;
  height: auto;
  max-width: none;
  max-height: none;
  left: -51.801363%;
  top: -128.472222%;
}
/* The cropped artwork fills its box, while the partner assets retain internal
   whitespace. A 44px artwork height keeps their visible marks balanced. */
.event-network-footer__logo .brand-logo { --brand-logo-width: 104.61px; }
@media (max-width: 600px) {
  .nav__logo .brand-logo { --brand-logo-width: 85.58px; }
}
.nav__links { display: flex; justify-self: center; gap: clamp(14px, 1.55vw, 24px); align-items: center; font-size: 14px; font-weight: 500; letter-spacing: 0.015em; }
.nav__links a { color: var(--cream); opacity: 0.85; transition: opacity .2s; }
.nav__links a:hover { opacity: 1; color: var(--gold-light); }
.nav__item { position: relative; display: flex; align-items: center; }
.nav__parent { display: inline-flex; align-items: center; gap: 8px; }
.nav__chevron {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
  transition: transform .18s ease;
}
.nav__dropdown {
  position: absolute;
  top: calc(100% + 18px);
  left: 50%;
  z-index: 5;
  display: grid;
  width: max-content;
  min-width: 220px;
  padding: 10px;
  visibility: hidden;
  border: 1px solid rgba(154,119,52,.34);
  border-top: 3px solid var(--gold);
  border-radius: 0 0 8px 8px;
  background: var(--navy-deep);
  box-shadow: 0 20px 50px rgba(4,13,29,.3);
  opacity: 0;
  transform: translate(-50%, 8px);
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}
.nav__dropdown::before { position: absolute; right: 0; bottom: 100%; left: 0; height: 20px; content: ''; }
.nav__dropdown a { min-height: 42px; padding: 11px 13px; border-radius: 4px; white-space: nowrap; }
.nav__dropdown a:hover,
.nav__dropdown a:focus-visible { background: rgba(247,242,231,.08); outline: none; }
.nav__dropdown a.is-active { background: rgba(154,119,52,.18); color: var(--gold-light); opacity: 1; }
.nav__item--dropdown:hover .nav__dropdown,
.nav__item--dropdown:focus-within .nav__dropdown { visibility: visible; opacity: 1; transform: translate(-50%, 0); }
.nav__item--dropdown:hover .nav__chevron,
.nav__item--dropdown:focus-within .nav__chevron { transform: translateY(2px) rotate(225deg); }
.nav__mobile { display: none; }
.nav__mobile-toggle {
  display: inline-flex;
  min-width: 44px;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(154, 119, 52,0.35);
  border-radius: 999px;
  color: var(--cream);
  cursor: pointer;
  list-style: none;
}
.nav__mobile-toggle::-webkit-details-marker { display: none; }
.nav__mobile-toggle::marker { content: ''; }
.nav__mobile-toggle:hover,
.nav__mobile-toggle:focus-visible {
  border-color: var(--gold-light);
  background: rgba(154, 119, 52,0.08);
  color: var(--gold-light);
  outline: none;
}
.nav__mobile-toggle:focus-visible { box-shadow: 0 0 0 2px var(--navy-deep), 0 0 0 4px var(--gold-light); }
.nav__mobile-label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.nav__mobile-icon {
  position: relative;
  display: block;
  width: 20px;
  height: 14px;
}
.nav__mobile-icon::before,
.nav__mobile-icon::after,
.nav__mobile-icon span {
  position: absolute;
  left: 0;
  width: 20px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  content: '';
  transition: transform .18s cubic-bezier(.23,1,.32,1), opacity .18s cubic-bezier(.23,1,.32,1);
}
.nav__mobile-icon::before { top: 0; }
.nav__mobile-icon span { top: 6px; }
.nav__mobile-icon::after { top: 12px; }
.nav__mobile[open] .nav__mobile-icon::before { transform: translateY(6px) rotate(45deg); }
.nav__mobile[open] .nav__mobile-icon span { opacity: 0; }
.nav__mobile[open] .nav__mobile-icon::after { transform: translateY(-6px) rotate(-45deg); }
.nav__mobile-panel {
  position: absolute;
  top: 100%;
  right: max(32px, env(safe-area-inset-right));
  z-index: 2;
  width: min(360px, calc(100vw - 64px));
  max-height: calc(100vh - 88px);
  padding: 12px;
  overflow-y: auto;
  border: 1px solid rgba(154, 119, 52,0.35);
  border-radius: 0 0 6px 6px;
  background: rgba(10,30,63,0.99);
  box-shadow: 0 18px 40px rgba(4,13,29,0.32);
}
.nav__mobile-links { display: grid; }
.nav__mobile-links a,
.nav__mobile-cta,
.nav__mobile-group > summary {
  display: flex;
  min-height: 44px;
  align-items: center;
  padding: 9px 12px;
  border-radius: 4px;
  color: var(--cream);
  font-size: 14px;
  font-weight: 550;
  letter-spacing: .02em;
}
.nav__mobile-group > summary { display: flex; justify-content: space-between; cursor: pointer; list-style: none; }
.nav__mobile-group > summary::-webkit-details-marker { display: none; }
.nav__mobile-group > summary::marker { content: ''; }
.nav__mobile-group[open] > summary .nav__chevron { transform: translateY(2px) rotate(225deg); }
.nav__mobile-children { display: grid; margin: 0 0 6px 16px; padding-left: 10px; border-left: 1px solid rgba(154,119,52,.32); }
.nav__mobile-children a { min-height: 40px; padding: 8px 12px; font-size: 13px; }
.nav__mobile-links a:hover,
.nav__mobile-links a:focus-visible {
  background: rgba(247,242,231,.08);
  color: var(--gold-light);
  outline: none;
}
.nav__mobile-links a:focus-visible { box-shadow: inset 0 0 0 2px var(--gold-light); outline: none; }
.nav__mobile-cta:focus-visible {
  box-shadow: inset 0 0 0 2px var(--navy-deep), 0 0 0 2px var(--gold-light);
  outline: none;
}
.nav__mobile-links a.is-active {
  background: rgba(154, 119, 52,.16);
  color: var(--gold-light);
}
.nav__mobile-cta {
  justify-content: center;
  margin-top: 8px;
  background: var(--gold-light);
  color: var(--navy-deep);
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.nav__mobile-cta:hover { background: var(--cream); }
.nav__actions {
  display: flex;
  align-items: center;
  justify-self: end;
  gap: 10px;
}
.nav__cta {
  display: inline-block; padding: 9px 18px;
  background: var(--action-bg); color: var(--action-fg);
  border-radius: 4px; font-weight: 600; font-size: 13.5px;
  letter-spacing: 0.04em; text-transform: uppercase;
  transition: background .2s, transform .2s;
}
.nav__cta:hover { background: var(--action-bg-hover); color: var(--action-fg); transform: translateY(-1px); }
.nav__plattes { font-size: 11px; letter-spacing: 0.18em; color: var(--gold-soft); text-transform: uppercase; opacity: 0.7; }
.nav__links a.is-active,
.nav__item.is-active > .nav__parent { opacity: 1; color: var(--gold-light); border-bottom: 2px solid var(--gold); padding-bottom: 2px; }
.nav__search {
  background: transparent; border: 1px solid rgba(154, 119, 52,0.35);
  border-radius: 999px; width: 38px; height: 38px;
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--cream); cursor: pointer; opacity: 0.85; transition: all .2s;
  padding: 0;
}
.nav__search:hover { opacity: 1; border-color: var(--gold-light); color: var(--gold-light); background: rgba(154, 119, 52,0.08); }
/* ============== SEARCH MODAL (Spotlight-Style) ============== */
.wp-search { position: fixed; inset: 0; z-index: 9999; display: none; }
.wp-search.is-open { display: block; }
.wp-search__backdrop {
  position: absolute; inset: 0; background: rgba(10,30,63,0.74);
  backdrop-filter: blur(6px); animation: wpFadeIn .14s ease-out;
}
@keyframes wpFadeIn { from { opacity: 0; } to { opacity: 1; } }
.wp-search__modal {
  position: relative; max-width: 720px; margin: 96px auto 0;
  background: var(--paper); border: 1px solid var(--rule); border-radius: 12px;
  box-shadow: 0 24px 64px rgba(10,30,63,0.42);
  overflow: hidden; animation: wpSlideIn .22s cubic-bezier(.16,1,.3,1);
  max-height: 70vh; display: flex; flex-direction: column;
}
@keyframes wpSlideIn { from { transform: translateY(-12px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
.wp-search__inputwrap {
  display: flex; align-items: center; gap: 14px;
  padding: 18px 22px; border-bottom: 1px solid var(--rule);
  color: var(--gold-deep);
}
.wp-search__input {
  flex: 1; border: 0; outline: 0; background: transparent;
  font-family: var(--f-sans); font-size: 18px; color: var(--ink);
  padding: 4px 0;
}
.wp-search__input::placeholder { color: var(--muted); font-weight: 400; }
.wp-search__close {
  flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center;
  width: 34px; height: 34px; border-radius: 8px; cursor: pointer;
  background: var(--cream); border: 1px solid var(--rule); color: var(--ink-soft);
  transition: background .15s, color .15s, border-color .15s;
}
.wp-search__close:hover { background: var(--action-bg); color: var(--action-fg); border-color: var(--action-bg); }
.wp-search__close:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.wp-search__hint, .wp-search__footer kbd {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 10.5px; padding: 3px 8px; border-radius: 4px;
  background: var(--cream); color: var(--ink-soft);
  border: 1px solid var(--rule); letter-spacing: 0.04em;
}
.wp-search__results { flex: 1; overflow-y: auto; padding: 6px; }
.wp-search__loading {
  min-height: 154px; display: grid; place-content: center; justify-items: center;
  gap: 13px; color: var(--ink-soft); font-family: var(--f-serif); font-size: 17px;
  font-style: italic; text-align: center;
}
.wp-search__loading p { margin: 0; }
.wp-search__loading-track {
  display: block; width: 156px; height: 2px; overflow: hidden;
  background: var(--cream); border-radius: 999px;
}
.wp-search__loading-track::before {
  content: ''; display: block; width: 42%; height: 100%; background: var(--gold);
  transform: translateX(-140%); animation: wpSearchSweep .78s cubic-bezier(.16,1,.3,1) infinite;
}
@keyframes wpSearchSweep {
  0% { transform: translateX(-140%); }
  56%, 100% { transform: translateX(340%); }
}
.wp-search__result {
  display: block; padding: 14px 18px; border-radius: 6px;
  color: var(--ink); text-decoration: none; transition: background .12s;
  animation: wpSearchResultIn .24s cubic-bezier(.16,1,.3,1) both;
}
.wp-search__result--intro-1 { animation-delay: .035s; }
.wp-search__result--intro-2 { animation-delay: .07s; }
.wp-search__result--intro-3 { animation-delay: .105s; }
.wp-search__result--intro-4 { animation-delay: .14s; }
.wp-search__result--intro-5 { animation-delay: .175s; }
@keyframes wpSearchResultIn {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}
.wp-search__result:hover, .wp-search__result.is-active {
  background: var(--cream);
}
.wp-search__eyebrow {
  font-size: 10.5px; letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--gold-deep); font-weight: 600; margin-bottom: 4px;
}
.wp-search__title {
  font-family: var(--f-serif); font-size: 18px; font-weight: 500;
  color: var(--navy-deep); margin-bottom: 4px; line-height: 1.25;
}
.wp-search__title mark, .wp-search__excerpt mark {
  background: rgba(154, 119, 52,0.32); color: inherit; padding: 0 2px;
  border-radius: 2px;
}
.wp-search__excerpt { font-size: 13px; color: var(--ink-soft); line-height: 1.5; }
.wp-search__empty {
  padding: 48px 32px; text-align: center; color: var(--muted);
  font-family: var(--f-serif); font-style: italic; font-size: 17px;
}
.wp-search__hint-text { margin-top: 12px; font-size: 14px; opacity: 0.7; }
.wp-search__hint-text em { font-style: normal; padding: 2px 8px; background: var(--cream); border-radius: 4px; margin: 0 2px; }
.wp-search__footer {
  display: flex; gap: 18px; justify-content: center; align-items: center;
  padding: 12px 22px; border-top: 1px solid var(--rule); background: var(--ivory);
  font-size: 11.5px; color: var(--muted);
}
.wp-search__footer span { display: flex; gap: 4px; align-items: center; }
@media (prefers-reduced-motion: reduce) {
  .wp-search__backdrop,
  .wp-search__modal,
  .wp-search__loading-track::before,
  .wp-search__result { animation: none; }
}
@media (max-width: 600px) {
  .wp-search__modal { margin: 12px; max-height: calc(100vh - 24px); }
  .wp-search__footer { flex-wrap: wrap; gap: 10px; font-size: 10.5px; }
}
@media (max-width: 720px) {
  .nav__links { gap: 14px; font-size: 13.5px; flex-wrap: wrap; }
  .nav__links a { white-space: nowrap; }
  .nav__cta { display: none; }
}

/* ============== HERO ============== */
.hero {
  position: relative;
  background: var(--navy-deep);
  color: var(--cream);
  overflow: hidden;
  min-height: 0;
}
.hero__bg {
  position: absolute; inset: 0;
  background: var(--navy-deep);
}
.hero__bg-image {
  width: 100%; height: 100%;
  object-fit: cover; object-position: center right;
  opacity: 0.92;
}
.hero__bg::after {
  content: ''; position: absolute; inset: 0;
  background:
    linear-gradient(180deg, rgba(10,30,63,0.35) 0%, rgba(10,30,63,0) 30%, rgba(10,30,63,0.55) 100%),
    linear-gradient(90deg, var(--navy-deep) 0%, rgba(10,30,63,0.92) 34%, rgba(10,30,63,0.55) 58%, rgba(10,30,63,0.12) 100%);
}
.hero--visual { display: flex; align-items: center; min-height: clamp(520px, 64vh, 720px); }
.hero__inner {
  position: relative; z-index: 1;
  width: 100%; max-width: 1240px; margin: 0 auto;
  padding: clamp(56px, 8vw, 96px) 32px;
}
.hero__copy { max-width: 600px; }
.hero__kicker {
  font-size: 12.5px; letter-spacing: 0.32em; text-transform: uppercase;
  color: var(--gold-soft); font-weight: 600;
  margin-bottom: 18px;
  display: flex; align-items: center; gap: 14px;
}
.hero__kicker::after { content: ''; height: 1px; flex: 1; background: var(--rule-strong); max-width: 80px; }
.hero__headline {
  font-family: var(--f-serif); font-weight: 400;
  font-size: clamp(38px, 5vw, 64px); line-height: 1.04;
  letter-spacing: -0.01em; margin-bottom: 20px;
  text-wrap: balance;
}
.hero__headline em { font-style: italic; color: var(--gold-soft); }
.hero__lead {
  font-size: 17.5px; line-height: 1.6; max-width: 520px;
  color: rgba(247,242,231,0.92);
  margin-bottom: 30px;
}
.hero__ctas { display: flex; gap: 16px; flex-wrap: wrap; }
.btn { display: inline-block; padding: 14px 28px; border-radius: 4px; font-weight: 600; font-size: 14px; letter-spacing: 0.04em; text-transform: uppercase; transition: transform .2s, background .2s, border-color .2s; }
.btn--primary { background: var(--action-bg); color: var(--action-fg); }
.btn--primary:hover { background: var(--action-bg-hover); color: var(--action-fg); transform: translateY(-1px); }
.btn--ghost { background: transparent; color: var(--cream); border: 1px solid rgba(247,242,231,0.4); }
.btn--ghost:hover { border-color: var(--gold); color: var(--gold-light); }
.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;
}
/* Surface-owned tokens also support light cards inside dark sections.
   Explicit data-brand-surface is the extension point for new CMS surfaces. */
:is(.nav, .nav__dropdown, .hero, .article-hero, .wp-autoren-hero, .haltung, .cta-band, .footer,
    .pedia-v6__hero, .kontakt-hero, .block-hub-hero--visual, .block-hub-hero--pedia,
    .block-hub-hero__extlink, .block-atmosphere, .block-anmeldung,
    .block-timeline__featured, .block-news__lead-caption, .block-news-cover,
    .block-pod__now, .block-tools__card-formula, .article-sidebar__cta,
    .event-detail-hero, .dep-hero, .cta--outline:hover) {
  --willipedia-wordmark-color: #fff;
  --gold: var(--gold-soft);
  --action-bg: var(--gold-soft);
  --action-bg-hover: var(--gold-light);
  --action-fg: var(--navy-deep);
}
:is(.bruecke, .stimme, .pedia-v6, .block-hub-featured__card,
    .block-tools__card, .block-tools__card-inputs, .btn--primary, .nav__cta,
    .block-hub-hero__extlink:hover) {
  --willipedia-wordmark-color: var(--navy-deep);
}
[data-brand-surface="dark"] { --willipedia-wordmark-color: #fff; }
[data-brand-surface="light"] { --willipedia-wordmark-color: var(--navy-deep); }
.willipedia-wordmark {
  --willipedia-book-gold: #b89e6c;
  display: inline-block;
  max-width: 100%;
  color: var(--willipedia-wordmark-color, var(--navy-deep));
  font: inherit;
  /* Die Marke übernimmt Schriftfamilie und Stärke des umgebenden Texts und
     fügt sich so in Überschrift, Fließtext und Label gleichermaßen ein. */
  font-family: inherit;
  font-weight: inherit;
  font-style: normal;
  text-transform: uppercase;
  line-height: inherit;
  white-space: nowrap;
  vertical-align: baseline;
}
.willipedia-wordmark > .willipedia-wordmark__visual,
.willipedia-wordmark__visual > .willipedia-wordmark__text {
  display: inline;
  color: inherit;
  font: inherit;
  font-style: normal;
  letter-spacing: inherit;
  line-height: inherit;
  text-transform: inherit;
}
.willipedia-wordmark__visual > .willipedia-wordmark__mark {
  color: inherit;
  display: inline-block;
  width: 1em;
  height: 1.197em;
  margin: -0.4em 0.2em 0;
  vertical-align: middle;
}

/* CyberSchutzEngel folgt seitenweit derselben Gold-Kursiv-Markenlogik. */
.cyberschutzengel-wordmark > .cyberschutzengel-wordmark__schutz {
  position: relative;
  inset-inline-start: -1px;
  color: var(--gold-soft, #D6B97A);
  font-style: italic;
}

/* ============== SECTION GENERIC ============== */
section { padding: 96px 0; }
.section-kicker {
  text-align: center;
  font-size: 12px; letter-spacing: 0.32em; text-transform: uppercase;
  color: var(--gold-deep); font-weight: 600;
  margin-bottom: 18px;
}

/* ============== HOME MAGAZINE ==============
   Aufmacher, Schiene und Feature-Karten der Startseite.

   Die Bildfamilie ist durchgehend quadratisch: Die Hub-Originale liegen als
   550×550 vor, die Ersatzmotive als 1200×1200. Jedes Fenster steht deshalb auf
   `aspect-ratio: 1 / 1` — und keines wird über 550 CSS-Pixel gedehnt. Ein auf
   680 px gezogenes 550er-Bild ist auf einem Retina-Gerät sichtbar weich; das
   ist der Grund für jede `max-width` in diesem Block.
   ========================================================================= */
/* Heller Einstieg direkt unter der Navigation (Steffen, 29.09.2026: Variante A, kompakt).
   Eyebrow, Titel, Lead und Themenzeile sind per ?edit=1 pflegbar (home.intro.*).
   Die eigene Klasse schlägt die globale `section`-Polsterung. */
.home-intro {
  padding: 40px 0 34px;
  background: linear-gradient(180deg, var(--paper) 0%, #F7F1E4 100%);
  border-bottom: 1px solid rgba(122, 98, 48, 0.22);
  color: var(--ink);
  text-align: center;
}
.home-intro__eyebrow {
  display: inline-flex; align-items: center; gap: 14px;
  margin: 0 0 10px;
  font: 600 12px/1.2 var(--f-sans); letter-spacing: 0.3em; text-transform: uppercase;
  color: var(--gold);
}
.home-intro__eyebrow::before,
.home-intro__eyebrow::after { content: ''; width: 36px; height: 1px; background: currentColor; opacity: 0.55; }
.home-intro__title {
  margin: 0 0 14px;
  font-family: var(--f-serif); font-weight: 400;
  font-size: clamp(34px, 3.9vw, 56px); line-height: 1.04; letter-spacing: -0.01em;
  color: var(--navy);
  text-wrap: balance;
}
.home-intro__title em { font-style: italic; color: var(--gold); }
.home-intro__lead {
  max-width: 1060px; margin: 0 auto;
  font-size: 16.5px; line-height: 1.66; color: #2B3044;
  text-wrap: pretty;
}
.home-intro__more {
  margin-top: 8px; padding: 4px 0;
  font: 600 12px/1 var(--f-sans); letter-spacing: 0.13em; text-transform: uppercase;
  color: var(--gold); background: none; border: 0; border-bottom: 1px solid currentColor;
  cursor: pointer;
}
.home-intro__more[hidden] { display: none; }
.home-intro__more:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.home-intro__meta {
  margin: 14px 0 0;
  font: 600 11.5px/1.4 var(--f-sans); letter-spacing: 0.26em; text-transform: uppercase;
  color: var(--navy);
}
/* Das Magazin rückt näher an den Einstieg, sonst wirkt der Hero trotz halber Höhe hoch. */
.home-intro + .home-magazine { padding-top: 44px; }
@media (max-width: 600px) {
  .home-intro { padding: 28px 0 26px; }
  .home-intro__eyebrow { font-size: 10.5px; letter-spacing: 0.25em; }
  .home-intro__eyebrow::before,
  .home-intro__eyebrow::after { width: 18px; }
  .home-intro__title { font-size: 34px; margin-bottom: 12px; }
  .home-intro__lead { font-size: 15.5px; line-height: 1.6; }
  /* Nur mit JavaScript kürzen: home.js setzt data-intro-ready und blendet „Weiterlesen“ ein.
     Im Bearbeitungsmodus bleibt der Lead immer vollständig. */
  body:not(.cms-edit-mode-active) .home-intro[data-intro-ready]:not(.home-intro--expanded) .home-intro__lead {
    display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; line-clamp: 4; overflow: hidden;
  }
  .home-intro__meta { font-size: 10px; letter-spacing: 0.18em; }
  .home-intro + .home-magazine { padding-top: 32px; }
}
body.cms-edit-mode-active .home-intro__more { display: none; }

.home-magazine {
  padding: 84px 0 104px;
  overflow: hidden;
  background: var(--ivory);
  border-bottom: 1px solid var(--rule);
}
.home-magazine:empty { display: none; }

/* Dasselbe Magazin auf einer Pedia-Startseite.
   Nur der Rahmen unterscheidet sich: Dort steht es zwischen der Suche und den
   Themenfeldern und nicht als Auftakt der Seite — die Startseitenpolster von
   84/104 px rissen an dieser Stelle eine Lücke, die wie ein fehlender Block
   aussah. Alles Innere (Raster, Karten, Bildfenster) bleibt unverändert. */
.pedia-magazine { padding: 52px 0 60px; }
@media (max-width: 720px) {
  .pedia-magazine { padding: 36px 0 40px; }
}
.home-magazine__container { position: relative; }
.home-magazine__news-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.78fr) minmax(296px, .92fr);
  gap: 26px;
  align-items: start;
}
.home-magazine__news-rail { display: grid; gap: 22px; align-content: start; }
.home-magazine__news-grid--full-width { grid-template-columns: minmax(0, 1fr); }

/* --- Aufmacher: alle Kandidaten übereinander, genau einer sichtbar --- */
.home-magazine__lead { min-width: 0; container-type: inline-size; container-name: aufmacher; }
.home-magazine__lead-stage { display: grid; }
.home-magazine__lead-stage > .home-magazine__card--lead {
  grid-area: 1 / 1;
  opacity: 0;
  visibility: hidden;
  transition: opacity .7s cubic-bezier(.4,0,.2,1), visibility 0s linear .7s;
}
.home-magazine__lead-stage > .home-magazine__card--lead.is-active {
  opacity: 1;
  visibility: visible;
  transition: opacity .7s cubic-bezier(.4,0,.2,1), visibility 0s;
}
/* Ohne JavaScript bliebe die Leiste eine Reihe wirkungsloser Knöpfe. Sie
   erscheint erst, wenn `home.js` den Aufmacher übernommen hat. */
.home-magazine__rotation { display: none; }
.home-magazine__lead--live .home-magazine__rotation {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-top: 18px;
}

/* Mit zwei Schienenkarten teilen Bühne und Schiene dieselbe erste Rasterzeile.
   `contain: size` nimmt den rotierenden, maximal 550 px breiten Bildkandidaten
   aus der intrinsischen Zeilenberechnung; dadurch gibt die echte Schiene die
   Höhe vor. Die Rotationsbedienung bleibt eine eigene Zeile darunter. */
.home-magazine__news-grid--balanced {
  grid-template-areas:
    "lead-stage news-rail"
    "lead-rotation .";
  grid-template-rows: auto auto;
  column-gap: 26px;
  row-gap: 18px;
  align-items: stretch;
}
.home-magazine__news-grid--balanced > .home-magazine__lead { display: contents; }
.home-magazine__news-grid--balanced .home-magazine__lead-stage {
  grid-area: lead-stage;
  min-width: 0;
  min-height: 0;
  contain: size;
  container-type: inline-size;
  container-name: aufmacher;
}
.home-magazine__news-grid--balanced .home-magazine__news-rail { grid-area: news-rail; }
.home-magazine__news-grid--balanced .home-magazine__rotation { grid-area: lead-rotation; }
.home-magazine__news-grid--balanced .home-magazine__lead--live .home-magazine__rotation { margin-top: 0; }
.home-magazine__news-grid--balanced .home-magazine__lead-stage > .home-magazine__card--lead {
  min-height: 0;
  height: 100%;
}
.home-magazine__progress {
  position: relative;
  flex: 1;
  height: 2px;
  overflow: hidden;
  background: rgba(10,30,63,.10);
}
.home-magazine__progress-fill {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, var(--gold), var(--gold-soft));
  transform: scaleX(0);
  transform-origin: left center;
}
/* Die 7s sind der Takt aus homepage-editorial.js (LEAD_ROTATION_INTERVAL). */
.home-magazine__progress.is-running .home-magazine__progress-fill {
  animation: home-lead-progress 7s linear forwards;
}
.home-magazine__progress.is-paused .home-magazine__progress-fill { animation-play-state: paused; }
@keyframes home-lead-progress { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.home-magazine__dots { display: flex; align-items: center; gap: 4px; }
.home-magazine__dot {
  display: grid;
  min-width: 32px;
  height: 40px;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
  place-items: center;
}
.home-magazine__dot-mark {
  display: block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(10,30,63,.22);
  transition: background-color .3s ease, transform .3s ease;
}
.home-magazine__dot:hover .home-magazine__dot-mark { background: var(--gold-deep); }
.home-magazine__dot.is-active .home-magazine__dot-mark { background: var(--gold); transform: scale(1.4); }
.home-magazine__dot:focus-visible { outline: 3px solid var(--gold); outline-offset: -6px; }

/* --- Karten --- */
.home-magazine__card,
.home-magazine__feature {
  min-width: 0;
  overflow: hidden;
  background: var(--paper);
  border: 1px solid rgba(10,30,63,.10);
  box-shadow: 0 16px 46px rgba(10,30,63,.07);
}
.home-magazine__card--lead { box-shadow: 0 26px 68px rgba(10,30,63,.10); }
.home-magazine__card-link,
.home-magazine__feature > a {
  display: flex;
  height: 100%;
  color: inherit;
  text-decoration: none;
}
.home-magazine__card--lead .home-magazine__card-link {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  align-items: stretch;
  aspect-ratio: 21 / 10;
}
.home-magazine__news-grid--balanced .home-magazine__card--lead .home-magazine__card-link {
  grid-template-columns: auto minmax(0, 1fr);
  min-height: 0;
  height: 100%;
  aspect-ratio: auto;
}
.home-magazine__card--news .home-magazine__card-link {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  align-items: stretch;
}
.home-magazine__image,
.home-magazine__feature-image {
  position: relative;
  overflow: hidden;
  background: var(--navy-deep);
}
.home-magazine__card--lead .home-magazine__image { width: 100%; max-width: 550px; aspect-ratio: 1 / 1; }
.home-magazine__news-grid--balanced .home-magazine__card--lead .home-magazine__image { width: auto; height: 100%; }
/* `align-self: center` ist hier kein Schmuck: Ohne die Angabe zieht das
   Raster das Vorschaubild auf die Kartenhöhe und das Quadrat wird zum
   Hochformat, sobald der Titel zwei Zeilen braucht. */
.home-magazine__card--news .home-magazine__image { width: 150px; align-self: center; aspect-ratio: 1 / 1; }
.home-magazine__feature-image { width: 100%; max-width: 550px; aspect-ratio: 1 / 1; }
.home-magazine__image img,
.home-magazine__feature-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .55s cubic-bezier(.16,1,.3,1);
}
.wp-responsive-picture {
  display: block;
  width: 100%;
  height: 100%;
}
/* Ersatzmotive tragen keine Nachricht — sie treten einen Schritt zurück,
   damit ein echtes Pressebild daneben die Aufmerksamkeit behält. */
.home-magazine__image--fallback img,
.home-magazine__feature-image--fallback img { filter: saturate(.84) contrast(.97); }

/* --- Text --- */
.home-magazine__copy { padding: 26px 28px 28px; }
.home-magazine__card--lead .home-magazine__copy {
  display: flex;
  min-height: 0;
  flex-direction: column;
  padding: 32px 36px 30px 32px;
}
.home-magazine__card--news .home-magazine__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  padding: 14px 18px;
}
.home-magazine__meta-row {
  display: flex;
  min-width: 0;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
}
.home-magazine__type {
  margin: 0 0 12px;
  color: var(--gold);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .19em;
  text-transform: uppercase;
}
.home-magazine__meta-row .home-magazine__type,
.home-magazine__meta-row .home-magazine__date {
  margin: 0;
  white-space: nowrap;
}
.home-magazine__rail-meta .home-magazine__date {
  font-size: 10px;
  letter-spacing: .08em;
  text-align: right;
}
.home-magazine__date {
  display: block;
  color: var(--muted);
  font-family: var(--f-mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.home-magazine h3 {
  margin: 0;
  color: var(--navy-deep);
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(20px, 1.7vw, 24px);
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: -.025em;
}
/* Die dünne Goldlinie. Sie hängt am Titel und nicht am Datum: Eine Meldung
   ohne `published_at` verlöre sonst das einzige Zierelement des Aufmachers. */
.home-magazine__card--lead h3 {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--rule-strong);
}
.home-magazine__card--news h3 {
  font-size: 22px;
  line-height: 1.04;
}
.home-magazine__summary {
  max-width: 44ch;
  margin: 18px 0 0;
  color: var(--ink-soft);
  font-size: 15px;
  line-height: 1.65;
}
/* Die Zeilenkürzungen halten den Text in der Höhe, die das quadratische
   Bildfenster vorgibt. Ohne sie liefe eine lange Überschrift unten aus der
   Karte heraus. */
.home-magazine__card--lead h3,
.home-magazine__card--lead .home-magazine__summary,
.home-magazine__card--news h3 {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
}
.home-magazine__card--lead h3 { -webkit-line-clamp: 3; }
.home-magazine__card--lead .home-magazine__summary { -webkit-line-clamp: 2; }
.home-magazine__card--news h3 { -webkit-line-clamp: 4; }
/* Wird die Aufmacherspalte schmal, ist für den Anriss kein Platz mehr. Die
   Container-Abfrage misst die Karte selbst — unabhängig davon, wie breit das
   Fenster gerade ist. */
@container aufmacher (max-width: 640px) {
  .home-magazine__card--lead .home-magazine__summary { display: none; }
}
@container aufmacher (max-width: 520px) {
  .home-magazine__card--lead h3 { -webkit-line-clamp: 2; }
}
.home-magazine__action {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 22px;
  color: var(--navy-deep);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.home-magazine__card--lead .home-magazine__action { margin-top: auto; padding-top: 26px; }

/* Der vollbreite Startseiten-Aufmacher richtet sich am tatsächlich gelieferten
   375-px-Bild und damit an der Breite der Feature-Karten darunter aus. Die
   bisherige 45-Prozent-Spalte zog dieselbe Datei auf mehr
   als 500 CSS-Pixel und machte aus `margin-top: auto` einen leeren Schacht.
   Längere redaktionelle Teaser dürfen stattdessen bis zu vier Zeilen nutzen;
   unter 601 px greift unverändert das gestapelte Mobilraster weiter unten. */
@media (min-width: 601px) {
  .home-magazine__news-grid--full-width .home-magazine__card-link {
    grid-template-columns: clamp(260px, 30vw, 375px) minmax(0, 1fr);
    aspect-ratio: auto;
  }
  .home-magazine__news-grid--full-width .home-magazine__image { align-self: center; }
  .home-magazine__news-grid--full-width .home-magazine__copy {
    justify-content: center;
    padding: 28px clamp(32px, 4vw, 54px);
  }
  .home-magazine__news-grid--full-width .home-magazine__summary {
    max-width: 68ch;
    -webkit-line-clamp: 4;
  }
  .home-magazine__news-grid--full-width .home-magazine__action {
    margin-top: 24px;
    padding-top: 0;
  }
}
.home-magazine__card-link:hover img,
.home-magazine__feature > a:hover img { transform: scale(1.035); }
.home-magazine__card-link:hover .home-magazine__action,
.home-magazine__feature > a:hover .home-magazine__action { color: var(--gold); }
.home-magazine__card-link:focus-visible,
.home-magazine__feature > a:focus-visible { outline: 3px solid var(--gold); outline-offset: -3px; }

/* --- Feature-Karten --- */
.home-magazine__feature-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  margin-top: 26px;
  padding-top: 26px;
  border-top: 1px solid var(--rule);
}
.home-magazine__feature > a { flex-direction: column; }
.home-magazine__feature-copy { display: flex; flex: 1; flex-direction: column; padding: 26px 28px 30px; }
.home-magazine__feature .home-magazine__action { margin-top: auto; padding-top: 22px; }
.home-magazine__feature--podcast { border-top: 4px solid #a8522b; }
.home-magazine__feature--event { border-top: 4px solid var(--gold); }
.home-magazine__feature--knowledge { border-top: 4px solid var(--navy); }
.home-magazine__feature--podcast .home-magazine__type { color: #984620; }
.home-magazine__meta {
  margin: 14px 0 0;
  color: var(--ink-soft);
  font-family: var(--f-mono);
  font-size: 12px;
  letter-spacing: .04em;
  line-height: 1.55;
}
.section-title {
  text-align: center;
  font-family: var(--f-serif); font-weight: 400;
  font-size: clamp(36px, 4.5vw, 56px); line-height: 1.1;
  color: var(--navy-deep); margin-bottom: 18px;
}
.section-title em { font-style: italic; color: var(--gold-deep); }
.section-lead {
  text-align: center;
  font-size: 18px; line-height: 1.6; color: var(--ink-soft);
  max-width: 720px; margin: 0 auto 64px;
}

/* ============== BRÜCKE (Mallorca ↔ DACH ↔ Welt, Cream) ============== */
.bruecke { position: relative; overflow: hidden; padding: clamp(48px, 5vw, 80px) 0; background: #fbf8f0; }
.bruecke::before { position: absolute; inset: 0; background: radial-gradient(58% 68% at 78% 56%, rgba(154,119,52,.12), transparent 72%); content: ""; pointer-events: none; }
.bruecke__inner { position: relative; width: calc(100% - 64px); max-width: 1600px; display: grid; grid-template-columns: minmax(300px, .64fr) minmax(0, 1.36fr); align-items: center; gap: clamp(24px, 3vw, 48px); }
.bruecke__copy { position: relative; z-index: 1; }
.bruecke__kicker { margin: 0 0 18px; color: #9f8045; font-size: 11px; font-weight: 600; letter-spacing: .32em; text-transform: uppercase; }
.bruecke__title { margin: 0 0 24px; color: #0a1e3f; font-family: 'Cormorant Garamond', serif; font-size: clamp(42px, 4.25vw, 60px); font-weight: 400; letter-spacing: -.02em; line-height: .98; text-wrap: balance; }
.bruecke__title em { display: block; color: #9a7734; font-style: italic; }
.bruecke__lead { max-width: 48ch; margin: 0 0 30px; color: #3a3a3a; font-family: 'Cormorant Garamond', serif; font-size: clamp(19px, 1.55vw, 23px); font-style: italic; line-height: 1.58; }
.bruecke__topics { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 26px; padding: 0; list-style: none; }
.bruecke__topic { display: inline-flex; align-items: center; gap: 10px; padding: 10px 16px; border: 1px solid rgba(10,30,63,.16); border-radius: 999px; background: #fff; color: #0a1e3f; font-size: 12px; font-weight: 600; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.bruecke__topic::before { width: 8px; height: 8px; border-radius: 50%; background: #9a7734; box-shadow: 0 0 0 4px rgba(154,119,52,.16); content: ""; }
.bruecke__topic:hover { border-color: #9a7734; box-shadow: 0 8px 20px rgba(10,30,63,.08); transform: translateY(-1px); }
.bruecke__meta { max-width: 62ch; margin: 0; color: #6a5226; font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: .11em; line-height: 1.7; text-transform: uppercase; }
.bruecke__visual { position: relative; min-width: 0; }
/* /home.js setzt die SVG nach (docs/NETWORK-ATLAS.md): das viewBox-Verhältnis hält den Platz frei, kein Layout-Sprung. */
.bruecke__figure { --atlas-ink: #294b60; --atlas-petrol: #587c80; --atlas-sage: #9baba0; --atlas-sand: #d5c9af; --atlas-gold: #b99046; --atlas-paper: #fbf8f0; position: relative; width: 100%; margin: 0; aspect-ratio: 1200 / 950; }
.bruecke__map { display: block; width: 100%; height: auto; margin: 0 auto; overflow: hidden; }
.bruecke__graticule { fill: none; stroke: var(--atlas-petrol); stroke-width: .5; opacity: .13; vector-effect: non-scaling-stroke; }
.bruecke__land { fill: var(--atlas-ink); }
.bruecke__country--petrol { fill: var(--atlas-petrol); }
.bruecke__country--sage { fill: var(--atlas-sage); }
.bruecke__country--sand { fill: var(--atlas-sand); }
.bruecke__country--gold { fill: var(--atlas-gold); }
.bruecke__borders { fill: none; stroke: var(--atlas-paper); stroke-width: .65; opacity: .55; vector-effect: non-scaling-stroke; }
.bruecke__route { fill: none; stroke: var(--atlas-gold); stroke-width: 1; stroke-linecap: round; opacity: .7; vector-effect: non-scaling-stroke; }
.bruecke__route--global { stroke-width: 1.35; opacity: .85; }
.bruecke__route-pulse { fill: none; stroke: #f0cf80; stroke-width: 2.7; stroke-linecap: round; stroke-dasharray: .045 .955; stroke-dashoffset: 1; opacity: 0; vector-effect: non-scaling-stroke; animation: bruecke-route-pulse 14s linear infinite; animation-delay: calc(var(--i, 0) * -2.1s); animation-play-state: paused; }
.bruecke__europe .bruecke__route-pulse { stroke-width: 2; }
.bruecke__node { fill: var(--atlas-ink); stroke: var(--atlas-paper); stroke-width: 1.15; vector-effect: non-scaling-stroke; }
.bruecke__node--hub { fill: var(--atlas-gold); stroke: var(--atlas-paper); stroke-width: 2; }
.bruecke__locator { fill: none; stroke: #977437; stroke-width: 1.8; vector-effect: non-scaling-stroke; }
.bruecke__scale-link { fill: none; stroke: #977437; stroke-width: 1; stroke-dasharray: 4 5; opacity: .72; vector-effect: non-scaling-stroke; }
.bruecke__hub-callout { fill: none; stroke: var(--atlas-gold); stroke-width: 1.25; vector-effect: non-scaling-stroke; }
.bruecke__hub-ring { fill: none; stroke: #b89553; stroke-width: 1.25; opacity: .72; vector-effect: non-scaling-stroke; transform-box: fill-box; transform-origin: center; animation: bruecke-hub-ring 4.8s ease-out infinite; animation-play-state: paused; }
.bruecke__map-label { fill: #0a1e3f; font-family: 'Manrope', sans-serif; font-size: 22px; font-weight: 600; letter-spacing: .015em; paint-order: stroke; stroke: var(--atlas-paper); stroke-width: 4px; stroke-linejoin: round; }
.bruecke__map-label--world { font-size: 20px; font-weight: 500; }
.bruecke__map-label--hub { font-size: 32px; font-weight: 700; }

/* Scharf geschaltet (JS): ruhiger, einmaliger Auftritt beim Einscrollen. */
.bruecke--armed .bruecke__copy > * { opacity: 0; transform: translateY(14px); }
.bruecke--armed .bruecke__visual { opacity: 0; transform: translateY(18px) scale(.985); }
.bruecke__copy > :nth-child(1) { --i: 0; }
.bruecke__copy > :nth-child(2) { --i: 1; }
.bruecke__copy > :nth-child(3) { --i: 2; }
.bruecke__copy > :nth-child(4) { --i: 3; }
.bruecke__copy > :nth-child(5) { --i: 4; }
.bruecke--live .bruecke__copy > * { animation: bruecke-rise .7s cubic-bezier(.2,.7,.2,1) forwards; animation-delay: calc(var(--i, 0) * .11s); }
.bruecke--live .bruecke__visual { animation: bruecke-map-rise .95s cubic-bezier(.2,.7,.2,1) .28s forwards; }
.bruecke--live .bruecke__route-pulse,
.bruecke--live .bruecke__hub-ring { animation-play-state: running; }
.bruecke--suspended .bruecke__route-pulse,
.bruecke--suspended .bruecke__hub-ring { animation-play-state: paused; }
@keyframes bruecke-rise { to { opacity: 1; transform: none; } }
@keyframes bruecke-map-rise { to { opacity: 1; transform: none; } }
@keyframes bruecke-route-pulse { 0%, 5% { opacity: 0; stroke-dashoffset: 1; } 12% { opacity: 1; } 62% { opacity: 1; stroke-dashoffset: 0; } 70%, 100% { opacity: 0; stroke-dashoffset: -.08; } }
@keyframes bruecke-hub-ring { 0% { opacity: .7; transform: scale(.8); } 72% { opacity: 0; transform: scale(2.4); } 100% { opacity: 0; transform: scale(2.4); } }

@media (max-width: 1000px) {
  .bruecke__inner { grid-template-columns: 1fr; gap: 32px; }
  .bruecke__lead { max-width: 58ch; }
  .bruecke__visual { width: 100%; margin: 0 auto; }
}
@media (max-width: 600px) {
  .bruecke .bruecke__inner { width: 100%; padding: 0; }
  .bruecke__copy { padding: 0 20px; }
  .bruecke__title { font-size: clamp(39px, 12vw, 52px); }
  .bruecke__meta { font-size: 9px; }
  .bruecke__map-label--hub { font-size: 42px; stroke-width: 7px; }
  .bruecke__map-label--country { font-size: 34px; stroke-width: 6px; }
  .bruecke__map-label--world { font-size: 32px; stroke-width: 6px; }
}




/* One camera: Spain + DACH → world → home. The static default is the whole world. */
.bruecke__camera { transform-origin: 0 0; }
.bruecke__near { opacity: 0; }
.bruecke__near .bruecke__map-label--country { font-size: 2.8px; stroke-width: .55px; }
.bruecke__near .bruecke__map-label--hub { font-size: 3.8px; stroke-width: .75px; }
.bruecke__near .bruecke__route { stroke-width: 1.2; }
.bruecke__near .bruecke__hub-callout { stroke-width: 1; }
.bruecke--motion .bruecke__camera { animation: bruecke-camera 22s cubic-bezier(.45,0,.22,1) infinite; }
.bruecke--motion .bruecke__near { animation: bruecke-near 22s linear infinite; }
.bruecke--motion .bruecke__far { animation: bruecke-far 22s linear infinite; }
.bruecke--motion .bruecke__camera,
.bruecke--motion .bruecke__near,
.bruecke--motion .bruecke__far { animation-play-state: paused; }
.bruecke--motion.bruecke--live:not(.bruecke--suspended) .bruecke__camera,
.bruecke--motion.bruecke--live:not(.bruecke--suspended) .bruecke__near,
.bruecke--motion.bruecke--live:not(.bruecke--suspended) .bruecke__far { animation-play-state: running; }
@keyframes bruecke-camera {
  0%, 14%, 100% { transform: translate(-3930.43px, -2495.36px) scale(7.4); }
  47%, 69% { transform: translate(0, 0) scale(1); }
}
@keyframes bruecke-near { 0%, 14%, 97%, 100% { opacity: 1; } 29%, 84% { opacity: 0; } }
@keyframes bruecke-far { 0%, 21%, 88%, 100% { opacity: 0; } 41%, 73% { opacity: 1; } }
@media (max-width: 600px) {
  .bruecke__near .bruecke__map-label--country { font-size: 4.5px; stroke-width: .75px; }
  .bruecke__near .bruecke__map-label--hub { font-size: 5.5px; stroke-width: .95px; }
}
@media (prefers-reduced-motion: reduce) {
  .bruecke--motion .bruecke__camera { animation: none; transform: none; }
  .bruecke--motion .bruecke__near { animation: none; opacity: 0; }
  .bruecke--motion .bruecke__far { animation: none; opacity: 1; }
}

/* ============== HALTUNG (Bild + Statement, Navy) ============== */
.haltung {
  position: relative;
  padding: clamp(72px, 9vw, 120px) 0;
  background:
    radial-gradient(ellipse at 85% 10%, rgba(154,119,52,0.14) 0%, transparent 55%),
    linear-gradient(180deg, var(--navy-deep) 0%, var(--navy) 70%, var(--navy-mid) 100%);
  color: var(--cream);
  overflow: hidden;
}
.haltung::before {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background-image:
    radial-gradient(circle at 14% 30%, rgba(154,119,52,0.08) 1px, transparent 1.6px),
    radial-gradient(circle at 82% 68%, rgba(154,119,52,0.06) 1px, transparent 1.6px);
  background-size: 220px 220px, 260px 260px;
}
.haltung__inner {
  position: relative; z-index: 1;
  display: grid; grid-template-columns: minmax(280px, 5fr) minmax(0, 7fr);
  gap: clamp(36px, 6vw, 96px); align-items: center;
}
.haltung__figure {
  position: relative; margin: 0;
  aspect-ratio: 4 / 5; overflow: hidden;
  border-radius: 6px;
  border: 1px solid rgba(232,214,166,0.28);
  box-shadow: 0 30px 70px rgba(0,0,0,0.42);
}
.haltung__figure::after {
  content: ''; position: absolute; inset: 14px;
  border: 1px solid rgba(232,214,166,0.35); border-radius: 3px; pointer-events: none;
}
.haltung__figure img { width: 100%; height: 100%; object-fit: cover; }
.haltung__kicker {
  font-size: 12px; letter-spacing: 0.32em; text-transform: uppercase;
  color: var(--gold-soft); font-weight: 600; margin-bottom: 18px;
}
.haltung__title {
  font-family: var(--f-serif); font-weight: 400;
  font-size: clamp(34px, 4.4vw, 56px); line-height: 1.06;
  color: var(--cream); margin-bottom: 22px; text-wrap: balance;
}
.haltung__title em { font-style: italic; color: var(--gold-soft); }
.haltung__lead {
  font-family: var(--f-serif); font-style: italic;
  font-size: clamp(18px, 1.8vw, 22px); line-height: 1.55;
  color: rgba(247,242,231,0.9); max-width: 620px; margin-bottom: 34px;
}
.haltung__facts {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px;
  padding: 26px 0; margin-bottom: 34px;
  border-top: 1px solid rgba(232,214,166,0.22);
  border-bottom: 1px solid rgba(232,214,166,0.22);
}
.haltung__fact { display: flex; flex-direction: column; gap: 6px; }
.haltung__fact-value {
  font-family: var(--f-serif); font-style: italic;
  font-size: clamp(24px, 2.4vw, 36px); line-height: 1; color: var(--gold-soft);
  white-space: nowrap; letter-spacing: 0.01em;
}
.haltung__fact-label {
  font-size: 11px; letter-spacing: 0.24em; text-transform: uppercase;
  color: rgba(247,242,231,0.72); font-weight: 600;
}
@media (max-width: 900px) {
  .haltung__inner { grid-template-columns: 1fr; }
  .haltung__figure { max-width: 420px; aspect-ratio: 5 / 4; }
}
@media (max-width: 560px) {
  .haltung__facts { grid-template-columns: 1fr; gap: 16px; }
}

/* ============== FORMATE (Bildkacheln) ============== */
.formate { background: var(--cream); padding: clamp(72px, 9vw, 112px) 0; }
.formate .section-lead { margin-bottom: 52px; }
.formate__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; }
.format-tile {
  display: flex; min-width: 0; overflow: hidden;
  background: var(--paper);
  border: 1px solid rgba(166,134,74,0.35);
  border-radius: 6px;
  box-shadow: 0 2px 0 rgba(166,134,74,0.16), 0 10px 28px rgba(10,30,63,0.06);
  transition: transform .25s ease, box-shadow .25s ease, border-color .2s ease;
}
.format-tile:hover, .format-tile:focus-within {
  transform: translateY(-4px);
  border-color: rgba(154,119,52,0.75);
  box-shadow: 0 4px 0 rgba(166,134,74,0.2), 0 18px 40px rgba(10,30,63,0.12);
}
.format-tile__link { display: flex; width: 100%; flex-direction: column; color: inherit; }
.format-tile__link:focus-visible { outline: 3px solid var(--gold); outline-offset: -3px; }
.format-tile__media {
  position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden;
  background: var(--navy-deep);
}
.format-tile__media img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform .5s ease;
}
.format-tile:hover .format-tile__media img { transform: scale(1.035); }
.format-tile__media::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(10,30,63,0) 55%, rgba(10,30,63,0.35) 100%);
  pointer-events: none;
}
.format-tile__body { display: flex; flex: 1; flex-direction: column; padding: 22px 24px 22px; }
.format-tile__num {
  font-family: var(--f-serif); font-style: italic; font-size: 15px;
  letter-spacing: 0.08em; color: var(--gold-deep); margin-bottom: 8px;
}
.format-tile__title {
  font-family: var(--f-serif); font-size: 26px; font-weight: 500;
  color: var(--navy-deep); line-height: 1.15; margin-bottom: 10px;
}
.format-tile__desc { font-size: 14.5px; color: var(--ink-soft); line-height: 1.58; margin-bottom: 18px; }
.format-tile__cta {
  margin-top: auto; padding-top: 14px;
  border-top: 1px dashed var(--rule);
  color: var(--gold-deep); font-size: 11.5px; font-weight: 700;
  letter-spacing: 0.12em; text-transform: uppercase;
}
.format-tile:hover .format-tile__cta > span:last-child { display: inline-block; transform: translateX(3px); }
@media (max-width: 1000px) { .formate__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .formate__grid { grid-template-columns: 1fr; } }

/* ============== STIMME (Zitat + Bild) ============== */
.stimme { background: var(--ivory); padding: clamp(72px, 9vw, 112px) 0; border-top: 1px solid var(--rule); }
.stimme__inner {
  display: grid; grid-template-columns: minmax(0, 7fr) minmax(280px, 5fr);
  gap: clamp(36px, 6vw, 88px); align-items: center;
}
.stimme__kicker {
  font-size: 12px; letter-spacing: 0.3em; text-transform: uppercase;
  color: var(--gold-deep); font-weight: 600; margin-bottom: 22px;
}
.stimme__quote {
  position: relative; margin: 0 0 26px; padding-left: 28px;
  border-left: 3px solid var(--gold);
  font-family: var(--f-serif); font-weight: 400;
  font-size: clamp(24px, 2.7vw, 36px); line-height: 1.32;
  color: var(--navy-deep); text-wrap: balance;
}
.stimme__quote em { font-style: italic; color: var(--gold-deep); }
.stimme__cite { display: flex; flex-direction: column; gap: 4px; padding-left: 31px; font-size: 14px; color: var(--ink-soft); }
.stimme__cite strong { color: var(--navy-deep); font-size: 15px; }
.stimme__figure {
  margin: 0; aspect-ratio: 3 / 2; overflow: hidden; border-radius: 6px;
  border: 1px solid var(--rule); box-shadow: var(--shadow-card);
}
.stimme__figure img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 900px) {
  .stimme__inner { grid-template-columns: 1fr; }
  .stimme__figure { order: -1; max-width: 560px; }
}

/* ============== CTA BAND ============== */
.cta-band {
  background: linear-gradient(135deg, var(--navy-deep) 0%, var(--navy-mid) 100%);
  color: var(--cream);
  padding: 80px 0;
  text-align: center;
}
.cta-band h2 { font-family: var(--f-serif); font-size: clamp(32px, 4vw, 48px); margin-bottom: 18px; font-weight: 400; }
.cta-band p { font-size: 17px; opacity: 0.85; max-width: 600px; margin: 0 auto 32px; }

/* ============== FOOTER ============== */
.footer {
  background: var(--navy-deep);
  color: rgba(247,242,231,0.7);
  padding: 64px 0 32px;
  font-size: 14px;
}
.footer__grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 48px; margin-bottom: 48px; }
.footer__brand { font-family: var(--f-serif); font-size: 22px; color: var(--cream); margin-bottom: 12px; }
.footer__brand em { color: var(--gold); font-style: italic; }
.footer__about { line-height: 1.6; opacity: 0.8; }
.footer__col h4 { font-size: 12px; letter-spacing: 0.24em; text-transform: uppercase; color: var(--gold-soft); margin-bottom: 18px; font-weight: 600; }
.footer__col ul { list-style: none; }
.footer__col li { margin-bottom: 10px; }
.footer__col a:hover { color: var(--gold-light); }
.footer__bottom {
  border-top: 1px solid rgba(154, 119, 52,0.18);
  padding-top: 24px;
  display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px;
  font-size: 12.5px; opacity: 0.7;
}

/* ============== WILLIPEDIA V6 · STEUER/RECHT ============== */
.pedia-v6 { background: var(--ivory); color: var(--navy-deep); }
.pedia-v6__hero {
  padding: 58px 0 62px;
  background: var(--navy-deep);
  color: var(--cream);
  text-align: center;
  border-bottom: 1px solid rgba(154,119,52,.42);
}
.pedia-v6__hero .container { max-width: 980px; }
.pedia-v6__eyebrow {
  margin: 0 0 13px;
  color: var(--gold-soft);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .26em;
  line-height: 1.4;
  text-transform: uppercase;
}
.pedia-v6__hero h1 {
  margin: 0;
  color: var(--cream);
  font-family: var(--f-serif);
  font-size: clamp(42px, 6vw, 68px);
  font-weight: 500;
  line-height: 1.02;
  overflow-wrap: anywhere;
}
.pedia-v6__hero h1 em { color: var(--gold); font-style: italic; font-weight: 500; }
.pedia-v6__lead {
  max-width: 790px;
  margin: 20px auto 0;
  color: rgba(247,242,231,.86);
  font-family: var(--f-serif);
  font-size: clamp(18px, 2.1vw, 23px);
  font-style: italic;
  line-height: 1.5;
}
.pedia-v6__breadcrumb-band {
  background: var(--paper);
  border-bottom: 1px solid var(--rule);
}
.pedia-v6__breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 0 8px;
  margin: 0;
  padding: 8px 0;
  color: var(--ink-soft);
  font-size: 13px;
  line-height: 1.45;
}
.pedia-v6__breadcrumbs a,
.pedia-v6__breadcrumbs span[aria-current="page"] {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
}
.pedia-v6__breadcrumbs a {
  color: var(--navy-deep);
  text-decoration-color: transparent;
  text-underline-offset: 4px;
}
.pedia-v6__breadcrumbs a:hover,
.pedia-v6__breadcrumbs a:focus-visible {
  color: var(--gold-deep);
  text-decoration-color: currentColor;
}
.pedia-v6__breadcrumbs a:focus-visible {
  border-radius: 2px;
  outline: 2px solid var(--gold);
  outline-offset: 2px;
}
.pedia-v6__breadcrumbs > span:not([aria-current]) { color: var(--gold-deep); }
.pedia-v6__breadcrumbs span[aria-current="page"] {
  color: var(--gold-deep);
  font-weight: 700;
}

.pedia-v6__search {
  padding: 37px 0 39px;
  background: var(--cream);
  border-bottom: 1px solid var(--rule);
  text-align: center;
}
.pedia-v6__search h2 {
  margin: 0 0 22px;
  color: var(--gold-deep);
  font-family: var(--f-serif);
  font-size: clamp(28px, 3.5vw, 40px);
  font-style: italic;
  font-weight: 500;
  line-height: 1.15;
}
.pedia-v6__search-button {
  display: flex;
  width: min(720px, 100%);
  min-height: 60px;
  align-items: center;
  gap: 15px;
  margin: 0 auto;
  padding: 14px 24px;
  border: 1px solid var(--rule-strong);
  border-radius: 999px;
  background: var(--paper);
  color: var(--muted);
  cursor: pointer;
  font: italic 17px/1.35 var(--f-serif);
  text-align: left;
  transition: border-color .2s, box-shadow .2s, transform .2s;
}
.pedia-v6__search-button svg { width: 21px; flex: 0 0 21px; color: var(--gold-deep); }
.pedia-v6__search-button:hover,
.pedia-v6__search-button:focus-visible {
  border-color: var(--gold);
  box-shadow: 0 8px 24px rgba(10,30,63,.09);
  outline: none;
  transform: translateY(-1px);
}
.pedia-v6__search-hint { margin: 13px 0 0; color: var(--ink-soft); font-size: 12px; }

.pedia-v6__content { padding-top: 64px; padding-bottom: 72px; }
.pedia-v6__content + .pedia-v6__content { border-top: 1px solid rgba(154,119,52,.2); }
.pedia-v6__content--top { padding-top: 56px; }
.pedia-v6__section-heading { max-width: 800px; margin: 0 auto 32px; text-align: center; }
.pedia-v6__section-heading h2 {
  margin: 0;
  color: var(--navy-deep);
  font-family: var(--f-serif);
  font-size: clamp(37px, 5vw, 56px);
  font-weight: 500;
  line-height: 1.08;
}
.pedia-v6__section-heading p {
  margin: 12px auto 0;
  color: var(--ink-soft);
  font-family: var(--f-serif);
  font-size: 18px;
  font-style: italic;
}
.pedia-v6__section-grid,
.pedia-v6__article-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}
.pedia-v6__section-grid--two {
  max-width: 960px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-right: auto;
  margin-left: auto;
}
.pedia-v6__card {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 318px;
  flex-direction: column;
  overflow: hidden;
  padding: 31px 30px 27px 34px;
  border: 1px solid rgba(10,30,63,.17);
  border-radius: 5px;
  background: var(--paper);
  box-shadow: 0 3px 14px rgba(10,30,63,.035);
  color: var(--navy-deep);
  transition: border-color .2s, box-shadow .2s, transform .2s;
}
.pedia-v6__card:hover,
.pedia-v6__card:focus-visible {
  border-color: rgba(154,119,52,.72);
  box-shadow: var(--shadow-card);
  outline: none;
  transform: translateY(-3px);
}
.pedia-v6__goldbar {
  position: absolute;
  top: -1px;
  bottom: -1px;
  left: -1px;
  width: 5px;
  background: var(--gold);
}
.pedia-v6__kicker {
  padding-right: 48px;
  color: var(--gold-deep);
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .24em;
  line-height: 1.5;
  text-transform: uppercase;
}
.pedia-v6__number {
  position: absolute;
  top: 26px;
  right: 25px;
  color: var(--gold);
  font-family: var(--f-serif);
  font-size: 20px;
  font-style: italic;
}
.pedia-v6__card h3 {
  position: relative;
  z-index: 1;
  margin: 15px 0 12px;
  overflow-wrap: anywhere;
  color: var(--navy-deep);
  font-family: var(--f-serif);
  font-size: clamp(25px, 2.25vw, 32px);
  font-weight: 500;
  line-height: 1.08;
}
.pedia-v6__card p {
  position: relative;
  z-index: 1;
  margin: 0 0 24px;
  color: var(--ink-soft);
  font-size: 14px;
  line-height: 1.55;
}
.pedia-v6__metrics {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
  margin-top: auto;
  color: var(--ink-soft);
  font-size: 11px;
}
.pedia-v6__metrics strong { color: var(--gold-deep); font-weight: 750; }
.pedia-v6__cta {
  position: relative;
  z-index: 1;
  margin-top: 18px;
  color: var(--gold-deep);
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.pedia-v6__card:hover .pedia-v6__cta span { display: inline-block; transform: translateX(3px); }
.pedia-v6__arc {
  position: absolute;
  right: -27px;
  bottom: -58px;
  width: 124px;
  height: 124px;
  border: 1px solid rgba(154,119,52,.26);
  border-radius: 50%;
}
.pedia-v6__card--article { min-height: 286px; }
.pedia-v6__card--article h3 { font-size: clamp(23px, 2vw, 29px); }
.pedia-v6__card--article .pedia-v6__cta { margin-top: auto; }
.pedia-v6__empty { padding: 34px; border: 1px solid var(--rule); text-align: center; }

.pedia-v6__alphabet {
  display: grid;
  grid-template-columns: repeat(27, minmax(26px, 1fr));
  gap: 4px;
  padding: 20px 0;
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
  overflow-x: auto;
}
.pedia-v6__alphabet a,
.pedia-v6__alphabet span {
  display: grid;
  min-width: 30px;
  place-items: center;
  padding: 5px 2px 7px;
  border-radius: 3px;
  text-align: center;
}
.pedia-v6__alphabet small { color: var(--gold-deep); font-size: 8px; font-weight: 650; }
.pedia-v6__alphabet strong { color: var(--navy-deep); font-size: 13px; }
.pedia-v6__alphabet a:hover,
.pedia-v6__alphabet a:focus-visible,
.pedia-v6__alphabet a[aria-current="page"] { background: var(--navy-deep); outline: none; }
.pedia-v6__alphabet a:hover small,
.pedia-v6__alphabet a:focus-visible small,
.pedia-v6__alphabet a[aria-current="page"] small { color: var(--gold-light); }
.pedia-v6__alphabet a:hover strong,
.pedia-v6__alphabet a:focus-visible strong,
.pedia-v6__alphabet a[aria-current="page"] strong { color: var(--cream); }
.pedia-v6__alphabet span { opacity: .3; }

/* ============== WILLIPEDIA-ABSCHLUSS · VARIANTE F ============== */
.event-network-footer {
  box-sizing: border-box;
  width: 100%;
  overflow: hidden;
  padding: 0;
  border-top: 1px solid var(--rule);
  background: var(--paper);
  color: var(--ink-soft);
}
.event-network-footer__opening {
  width: min(calc(100% - 48px), 1080px);
  margin-inline: auto;
  padding: 68px 0 48px;
  text-align: center;
}
.event-network-footer__quote {
  margin: 0;
  color: var(--gold-deep);
  font-family: var(--f-serif);
  font-size: clamp(43px, 4.1vw, 62px);
  font-weight: 500;
  letter-spacing: -.025em;
  line-height: .98;
  text-wrap: balance;
}
.event-network-footer__roof {
  display: block;
  width: calc(100% - 2 * var(--page-gutter));
  max-width: calc(var(--page-max-width) - 2 * var(--page-gutter));
  margin-inline: auto;
}
.event-network-footer__roof img {
  display: block;
  width: 100%;
  height: auto;
}
.event-network-footer__network-light {
  padding: 18px 0 68px;
  background: var(--paper);
}
.event-network-footer__inner {
  width: calc(100% - 2 * var(--page-gutter));
  max-width: calc(var(--page-max-width) - 2 * var(--page-gutter));
  margin-inline: auto;
}
.event-network-footer__groups {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 16px;
}
.event-network-footer__group {
  display: grid;
  min-width: 0;
  grid-template-rows: auto 1fr;
  gap: 15px;
}
.event-network-footer__group-heading {
  display: flex;
  align-items: end;
  justify-content: center;
  text-align: center;
  gap: 20px;
  padding-bottom: 12px;
  /* ui-erlaubt: approved 3px separator; preserve the existing footer color. */
  border-bottom: 3px solid rgba(10,30,63,.14);
}
.event-network-footer__group-title {
  margin: 0;
  color: var(--navy-deep);
  font-family: var(--f-serif);
  font-size: 23px;
  font-weight: 600;
  line-height: 1.15;
}
.event-network-footer__logos {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.event-network-footer__group--competence .event-network-footer__logos {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.event-network-footer__logo {
  display: grid;
  min-width: 0;
  min-height: 112px;
  place-items: center;
  padding: 15px;
  border: 1px solid rgba(10,30,63,.14);
  background: var(--paper);
}
.event-network-footer__logo img {
  width: 100%;
  max-height: 72px;
  object-fit: contain;
}
.event-network-footer__logo > img,
.event-network-footer__logo .brand-logo img {
  transform-origin: center;
}
.event-network-footer__logo--private-clients > img { transform: scale(1.26); }
.event-network-footer__logo--real-estate > img { transform: scale(1.2); }
.event-network-footer__logo--accounting > img { transform: scale(1.25); }
.event-network-footer__logo--inheritance > img { transform: scale(1.23); }
.event-network-footer__logo--willipedia .brand-logo img { transform: scale(.9); }
.event-network-footer__logo--neu-denken > img { transform: scale(1.2); }
.event-network-footer a:focus-visible,
.footer--f a:focus-visible {
  outline: 3px solid var(--gold);
  outline-offset: 3px;
}

.footer--f {
  padding: 0 0 32px;
  background: var(--navy-deep);
  color: var(--cream);
}
.footer--f .footer__inner {
  width: calc(100% - 2 * var(--page-gutter));
  max-width: calc(var(--page-max-width) - 2 * var(--page-gutter));
  margin-inline: auto;
}
.footer--f .footer__contact-head {
  display: grid;
  grid-template-columns: 1.15fr 1.55fr 1fr;
  padding: 55px 0 43px;
  border-bottom: 1px solid rgba(247,242,231,.18);
}
.footer--f .footer__contact-head > * {
  min-width: 0;
  padding: 0 30px;
}
.footer--f .footer__contact-head > :first-child { padding-left: 0; }
.footer--f .footer__contact-head > :last-child { padding-right: 0; }
.footer--f .footer__contact-head > * + * { border-left: 1px solid rgba(247,242,231,.18); }
.footer--f .footer__brand {
  margin-bottom: 12px;
  color: var(--cream);
  font-family: var(--f-serif);
  font-size: 28px;
  font-weight: 500;
  line-height: 1.1;
}
.footer--f .footer__tagline {
  max-width: 270px;
  color: rgba(247,242,231,.62);
  font-size: 12px;
  line-height: 1.7;
}
.footer--f .footer__heading {
  margin-bottom: 14px;
  color: var(--gold-soft);
  font-family: var(--f-sans);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .18em;
  line-height: 1.3;
  text-transform: uppercase;
}
.footer--f .footer__contact-location .footer__location {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  column-gap: 24px;
}
.footer--f .event-network-footer__location {
  margin: 0;
  color: rgba(247,242,231,.66);
  font-size: 10px;
  font-style: normal;
  line-height: 1.65;
}
.footer--f .event-network-footer__location span { display: block; }
.footer--f .footer__contact-location .footer__location > span { grid-column: 1; }
.footer--f .footer__contact-location .footer__location > a {
  grid-column: 2;
  grid-row: 1;
  align-self: end;
  color: rgba(247,242,231,.88);
  font-size: 10px;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: rgba(214,185,122,.65);
  text-underline-offset: 4px;
}
.footer--f .footer__rating {
  display: grid;
  width: fit-content;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  gap: 11px;
  color: var(--cream);
}
.footer--f .footer__rating-icon,
.footer--f .event-network-footer__icon-link {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid rgba(247,242,231,.18);
  border-radius: 50%;
  background: rgba(255,255,255,.96);
}
.footer--f .footer__rating-icon img,
.footer--f .event-network-footer__icon-link img {
  width: 21px;
  height: 21px;
  object-fit: contain;
}
.footer--f .footer__rating-copy,
.footer--f .footer__rating-copy strong,
.footer--f .footer__rating-copy span,
.footer--f .footer__rating-copy small { display: block; }
.footer--f .footer__rating-copy strong {
  font-size: 11px;
  font-weight: 700;
  line-height: 1.3;
}
.footer--f .footer__rating-stars {
  margin: 1px 0;
  color: #e8c46b;
  font-size: 10px;
  letter-spacing: .08em;
  line-height: 1;
}
.footer--f .footer__rating-copy small {
  color: #D6B97A;
  font-size: 9px;
  font-weight: 600;
  line-height: 1.35;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.footer--f .footer__directory {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 42px;
  padding: 42px 0 39px;
}
.footer--f ul { margin: 0; padding: 0; list-style: none; }
.footer--f li + li { margin-top: 9px; }
.footer--f a {
  color: rgba(247,242,231,.72);
  font-size: 12px;
  text-decoration: none;
}
.footer--f .footer__connected { display: block; min-width: 0; }
.footer--f .event-network-footer__channels { margin: 0; padding: 0; border: 0; }
.footer--f .footer__connected .event-network-footer__channel { min-width: 0; padding: 0; }
.footer--f .footer__connected .event-network-footer__channel + .event-network-footer__channel { border: 0; }
.footer--f .footer__heading--podcasts { margin-top: 25px; }
.footer--f .footer__icon-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.footer--f .footer__icon-links--small .event-network-footer__icon-link {
  width: 30px;
  height: 30px;
}
.footer--f .footer__icon-links--small .event-network-footer__icon-link img {
  width: 19px;
  height: 19px;
}
.footer--f .footer__bottom {
  min-height: 74px;
  border-top-color: rgba(247,242,231,.14);
  color: rgba(247,242,231,.46);
  font-size: 10px;
  opacity: 1;
}
@media (hover: hover) {
  .event-network-footer__logo:hover { border-color: rgba(154,119,52,.7); }
  .footer--f a:hover { color: var(--cream); }
  .footer--f .event-network-footer__icon-link:hover,
  .footer--f .footer__rating:hover .footer__rating-icon { border-color: rgba(214,185,122,.72); }
}

/* ============== RESPONSIVE ============== */
@media (max-width: 980px) {
  .nav__inner { display: flex; justify-content: flex-start; gap: 10px; }
  .nav__actions { margin-left: auto; gap: 10px; }
  .nav__mobile { display: block; margin-left: 0; }
  .nav__search { width: 44px; height: 44px; }
  .nav__cta { display: none; }
  .hero__inner { padding: 72px 32px 64px; }
  .hero--visual { min-height: clamp(460px, 60vh, 640px); }
  .hero__bg-image { object-position: 62% center; }
  .footer__grid { grid-template-columns: 1fr 1fr; }
  .nav__links { display: none; }
  .pedia-v6__section-grid,
  .pedia-v6__article-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-magazine { padding: 68px 0 84px; }
  .home-magazine__news-grid { grid-template-columns: 1fr; }
  .home-magazine__news-grid--balanced { grid-template-areas: none; grid-template-rows: auto; gap: 26px; }
  .home-magazine__news-grid--balanced > .home-magazine__lead { display: block; }
  .home-magazine__news-grid--balanced .home-magazine__lead-stage,
  .home-magazine__news-grid--balanced .home-magazine__news-rail,
  .home-magazine__news-grid--balanced .home-magazine__rotation { grid-area: auto; }
  .home-magazine__news-grid--balanced .home-magazine__lead-stage { contain: none; }
  .home-magazine__news-grid--balanced .home-magazine__lead-stage > .home-magazine__card--lead { height: auto; }
  .home-magazine__news-grid--balanced .home-magazine__lead--live .home-magazine__rotation { margin-top: 18px; }
  .home-magazine__news-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-magazine__feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-magazine__news-grid--balanced .home-magazine__card--lead .home-magazine__card-link {
    height: auto;
    aspect-ratio: 21 / 10;
  }
  .home-magazine__news-grid--balanced .home-magazine__card--lead .home-magazine__image { width: 100%; height: auto; }
  .home-magazine__card--lead .home-magazine__copy { padding: 30px 30px 28px 28px; }
}
@media (max-width: 720px) {
  .event-network-footer { padding: 0; }
  .event-network-footer__opening {
    width: calc(100% - 36px);
    padding: 58px 0 36px;
  }
  .event-network-footer__quote {
    font-size: clamp(36px, 10.8vw, 46px);
    line-height: 1;
  }
  .event-network-footer__network-light { padding: 12px 0 48px; }
  .event-network-footer__groups { grid-template-columns: 1fr; gap: 36px; }
  .event-network-footer__group-heading { display: block; }
  .event-network-footer__logos,
  .event-network-footer__group--competence .event-network-footer__logos {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .event-network-footer__logo { min-height: 96px; padding: 11px; }
  .event-network-footer__group-title { font-size: 21px; }
  .footer--f .footer__contact-head {
    grid-template-columns: 1fr;
    padding: 38px 0 34px;
  }
  .footer--f .footer__contact-head > *,
  .footer--f .footer__contact-head > :first-child,
  .footer--f .footer__contact-head > :last-child {
    padding: 0;
    border-left: 0;
  }
  .footer--f .footer__contact-head > * + * {
    margin-top: 27px;
    padding-top: 25px;
    border-top: 1px solid rgba(247,242,231,.18);
  }
  .footer--f .footer__contact-location .footer__location { display: block; }
  .footer--f .footer__contact-location .footer__location > a {
    display: inline-block;
    margin-top: 7px;
  }
  .footer--f .footer__directory {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 34px 20px;
    padding: 35px 0;
  }
  .footer--f .footer__connected {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
    padding-top: 28px;
    border-top: 1px solid rgba(247,242,231,.18);
  }
  .footer--f .footer__heading--podcasts { margin-top: 0; }
  .footer--f .footer__brand { font-size: 26px; }
  .footer--f .footer__bottom {
    min-height: 92px;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
  }
  /* Ab hier steht alles gestapelt: Die Feature-Karten legen sich auf die Seite
     und tragen — wie die Schiene — ein kleines quadratisches Vorschaubild
     links. Ein vollbreites Quadrat wäre auf einem Telefon ein halber
     Bildschirm Bild und würde das 550er-Original hochskalieren. */
  .home-magazine__feature-grid { grid-template-columns: 1fr; gap: 16px; }
  .home-magazine__feature > a { flex-direction: row; align-items: stretch; }
  .home-magazine__feature-image { width: 150px; flex: none; align-self: center; }
  .home-magazine__feature-copy { padding: 18px 20px; }
  .home-magazine__feature h3 { line-height: 1.18; }
  .home-magazine__feature .home-magazine__action { padding-top: 14px; }
  .home-magazine__meta { margin-top: 8px; }
  .home-magazine__dot { min-width: 44px; height: 44px; }
  .home-magazine__news-rail { grid-template-columns: 1fr; }
  .home-magazine__card--news h3 { -webkit-line-clamp: 3; }
}
@media (max-width: 600px) {
  section { padding: 64px 0; }
  .hero__inner { padding: 56px 20px 48px; }
  .hero__bg::after {
    background:
      linear-gradient(180deg, rgba(10,30,63,0.55) 0%, rgba(10,30,63,0.72) 55%, rgba(10,30,63,0.92) 100%);
  }
  .hero__lead { font-size: 16px; }
  .btn { padding: 13px 22px; font-size: 13px; }
  .pedia-v6__hero { padding: 45px 0 48px; }
  .pedia-v6__hero h1 { font-size: clamp(34px, 10.8vw, 42px); }
  .pedia-v6__breadcrumbs { gap: 0 6px; font-size: 12.5px; }
  .pedia-v6__search { padding: 32px 0 34px; }
  .pedia-v6__content { padding-top: 48px; padding-bottom: 52px; }
  .pedia-v6__section-grid,
  .pedia-v6__section-grid--two,
  .pedia-v6__article-grid { grid-template-columns: 1fr; }
  .pedia-v6__card { min-height: 286px; padding: 28px 24px 24px 29px; }
  .pedia-v6__search-button { border-radius: 12px; font-size: 16px; }
  .home-magazine { padding: 52px 0 68px; }
  .home-magazine__news-rail,
  .home-magazine__feature-grid { grid-template-columns: 1fr; }
  /* Der Aufmacher stapelt erst hier. Das Bild bleibt quadratisch und wird auf
     die Kantenlänge des Originals begrenzt statt gedehnt. */
  /* `auto 1fr`: Die Rotationsbühne ist so hoch wie ihr längster Kandidat.
     Ohne feste Bildzeile bekämen die kürzeren Karten die Resthöhe ins Bild —
     und ihr Quadrat würde zum Hochformat. */
  .home-magazine__card--lead .home-magazine__card-link,
  .home-magazine__news-grid--balanced .home-magazine__card--lead .home-magazine__card-link {
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
    aspect-ratio: auto;
  }
  .home-magazine__card--lead .home-magazine__image { margin: 0 auto; }
  .home-magazine__card--lead .home-magazine__copy { padding: 26px 24px 24px; }
  .home-magazine__card--lead h3 { margin-top: 16px; padding-top: 14px; -webkit-line-clamp: 4; }
  .home-magazine__card--lead .home-magazine__summary { display: -webkit-box; -webkit-line-clamp: 3; }
  .home-magazine__card--lead .home-magazine__action { padding-top: 20px; }
  .home-magazine__card--news .home-magazine__card-link { grid-template-columns: 108px minmax(0, 1fr); }
  .home-magazine__card--news .home-magazine__image,
  .home-magazine__feature-image { width: 108px; }
  .home-magazine__card--news .home-magazine__copy,
  .home-magazine__feature-copy { padding: 14px 16px; }
  .home-magazine__feature-copy { justify-content: center; }
}

@media (max-width: 600px), (pointer: coarse) {
  .pedia-v6__alphabet {
    grid-template-columns: repeat(27, 44px);
  }

  .pedia-v6__alphabet a,
  .pedia-v6__alphabet span {
    min-width: 44px;
    min-height: 44px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bruecke--armed .bruecke__copy > *,
  .bruecke--armed .bruecke__visual,
  .bruecke--live .bruecke__copy > *,
  .bruecke--live .bruecke__visual { opacity: 1; transform: none; animation: none; }
  .bruecke__route-pulse { opacity: 0; animation: none; }
  .bruecke__hub-ring { animation: none; opacity: .72; }
  .nav__mobile-icon::before,
  .nav__mobile-icon::after,
  .nav__mobile-icon span,
  .pedia-v6__card,
  .pedia-v6__search-button,
  .event-network-footer a { transition: none; }
  .home-magazine__image img,
  .home-magazine__feature-image img { transition: none; }
  /* Der Aufmacher läuft hier NICHT von allein (home.js startet keine Uhr).
     Ein Fortschrittsbalken ohne Fortschritt wäre eine falsche Auskunft — die
     Punkte bleiben, der Balken geht. */
  .home-magazine__progress { display: none; }
  .home-magazine__lead-stage > .home-magazine__card--lead,
  .home-magazine__dot-mark { transition: none; }
}

/* cms-elements/term-card.css */
/* Geteilte Term-/Glossar-Karte (ADR-0039 P2) — KARTEN-INHALT + Typografie.
   EINE Quelle (packages/cms-elements). Nutzt die Theme-Tokens (P1).
   Bewusst OHNE Rahmen/Radius/Hover/Grid: die Container-Deko (cyberschutzengel
   = einzelne gerahmte Karten, willipedia = Hairline-Kacheln) bleibt host-lokal
   und wird im jeweiligen Grid ergänzt. */
.wce-card {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 16px 18px;
  height: 100%;
  box-sizing: border-box;
  text-decoration: none;
  background: var(--paper, #fff);
}
.wce-card__title {
  font-family: var(--f-serif, 'Cormorant Garamond', Georgia, serif);
  font-weight: 600;
  font-size: 17px;
  line-height: 1.25;
  color: var(--navy-deep, #0A1E3F);
  margin: 0;
}
.wce-card__lead {
  font-family: var(--f-sans, system-ui, sans-serif);
  font-size: 13px;
  line-height: 1.5;
  color: var(--ink-soft, #3A405A);
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.wce-card__kicker {
  font-family: var(--f-sans, system-ui, sans-serif);
  font-size: 9.5px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--gold-deep, #7A6230);
  margin-top: auto;
  padding-top: 6px;
}

/* cms-elements/consent-manager.css */
.willis-consent[hidden],
.willis-consent [hidden],
.willis-consent-embed[hidden],
.willis-consent-embed__frame[hidden] {
  display: none !important;
}

.willis-consent {
  position: fixed;
  inset: auto 0 0;
  z-index: 2147483000;
  padding: 16px;
  pointer-events: none;
  color: #0a1e3f;
  font: 500 15px/1.5 Manrope, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.willis-consent__panel {
  width: min(920px, 100%);
  max-height: min(78vh, 760px);
  margin: 0 auto;
  padding: clamp(20px, 3vw, 32px);
  overflow: auto;
  overscroll-behavior: contain;
  pointer-events: auto;
  background: #fbf8f1;
  border: 1px solid rgba(154, 119, 52, 0.6);
  border-radius: 18px;
  box-shadow: 0 24px 70px rgba(10, 30, 63, 0.28);
}

.willis-consent h2,
.willis-consent h4,
.willis-consent p {
  margin-top: 0;
}

.willis-consent h2 {
  margin-bottom: 10px;
  color: #0a1e3f;
  font-family: Cormorant, Georgia, serif;
  font-size: clamp(28px, 4vw, 40px);
  font-weight: 600;
  line-height: 1.1;
}

.willis-consent__primary-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 22px;
}

.willis-consent button {
  min-height: 48px;
  padding: 11px 18px;
  border: 1px solid #0a1e3f;
  border-radius: 9px;
  background: transparent;
  color: #0a1e3f;
  font: inherit;
  font-weight: 750;
  cursor: pointer;
}

.willis-consent button:hover {
  background: rgba(10, 30, 63, 0.07);
}

.willis-consent button:focus-visible,
.willis-consent a:focus-visible,
.willis-consent-footer-link:focus-visible,
.willis-consent-embed button:focus-visible {
  outline: 3px solid #c9a961;
  outline-offset: 3px;
}

.willis-consent__decision {
  width: 100%;
  border-color: #0a1e3f !important;
  background: #0a1e3f !important;
  color: #fff !important;
  box-shadow: 0 8px 18px rgba(10, 30, 63, 0.18);
}

.willis-consent__decision:hover {
  background: #15345f !important;
}

.willis-consent__settings-button {
  display: block;
  margin: 12px auto 0;
  border: 0 !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.willis-consent__legal {
  display: flex;
  justify-content: center;
  gap: 18px;
  margin-top: 10px;
}

.willis-consent__legal a,
.willis-consent__service a {
  color: #72571f;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.willis-consent__category {
  margin-top: 14px;
  padding: 16px;
  border: 1px solid rgba(10, 30, 63, 0.16);
  border-radius: 12px;
  background: #fff;
}

.willis-consent__category > label {
  display: flex;
  gap: 10px;
  align-items: center;
  font-weight: 800;
}

.willis-consent__category input {
  width: 21px;
  height: 21px;
  margin: 0;
  accent-color: #0a1e3f;
}

.willis-consent__category > p {
  margin: 8px 0 0 31px;
}

.willis-consent__category details {
  margin: 12px 0 0 31px;
}

.willis-consent__category summary {
  cursor: pointer;
  font-weight: 750;
}

.willis-consent__inactive {
  color: #536174;
  font-style: italic;
}

.willis-consent__service {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(10, 30, 63, 0.12);
}

.willis-consent__service h4 {
  margin-bottom: 8px;
  font: 800 15px/1.35 Manrope, system-ui, sans-serif;
}

.willis-consent__service dl {
  display: grid;
  gap: 7px;
  margin: 0 0 8px;
}

.willis-consent__service dl div {
  display: grid;
  grid-template-columns: minmax(110px, 0.25fr) 1fr;
  gap: 10px;
}

.willis-consent__service dt {
  font-weight: 800;
}

.willis-consent__service dd {
  margin: 0;
}

.willis-consent__settings-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 18px;
}

.willis-consent__settings-actions button:last-child {
  background: #0a1e3f;
  color: #fff;
}

.willis-consent-footer-link {
  display: inline;
  margin: 0 0 0 12px;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}

.willis-consent-embed {
  display: grid;
  min-height: 180px;
  place-content: center;
  gap: 12px;
  padding: 24px;
  text-align: center;
  border: 1px solid rgba(154, 119, 52, 0.55);
  border-radius: 12px;
  background: #f6f0e4;
  color: #0a1e3f;
  font: 500 15px/1.5 Manrope, system-ui, sans-serif;
}

.willis-consent-embed p {
  margin: 0;
}

.willis-consent-embed button {
  min-height: 46px;
  padding: 10px 16px;
  border: 1px solid #0a1e3f;
  border-radius: 8px;
  background: #0a1e3f;
  color: #fff;
  font: inherit;
  font-weight: 750;
  cursor: pointer;
}

@media (max-width: 640px) {
  .willis-consent {
    padding: 8px;
    font-size: 14px;
    line-height: 1.45;
  }

  .willis-consent__panel {
    max-height: 82vh;
    padding: 16px;
    border-radius: 14px;
  }

  .willis-consent h2 {
    margin-bottom: 8px;
    font-size: clamp(26px, 7.5vw, 32px);
    line-height: 1.05;
  }

  .willis-consent [data-consent-view="summary"] > p {
    margin-bottom: 0;
  }

  .willis-consent__primary-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 16px;
  }

  .willis-consent button {
    min-height: 44px;
    padding: 9px 10px;
  }

  .willis-consent__settings-button {
    margin-top: 4px;
  }

  .willis-consent__legal {
    gap: 14px;
    margin-top: 4px;
  }

  .willis-consent__service dl div {
    grid-template-columns: 1fr;
    gap: 2px;
  }

  .willis-consent__settings-actions {
    flex-direction: column-reverse;
  }

  .willis-consent__settings-actions button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .willis-consent *,
  .willis-consent-embed * {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}

/* cms-elements/event-timeline.css */
/* Shared event timeline for all Willis sites (ADR-0039). */
.block-timeline { background: var(--ivory); }
.block-timeline__featured {
  background: var(--navy-deep); color: var(--cream);
  padding: 64px 0 72px;
  border-bottom: 4px solid var(--gold);
  position: relative; overflow: hidden;
}
.block-timeline__featured::before {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(ellipse at 70% 30%, rgba(154, 119, 52, 0.18), transparent 60%);
  pointer-events: none;
}
.block-timeline__featured-inner {
  position: relative; z-index: 1;
  max-width: 1200px; margin: 0 auto; padding: 0 24px;
  display: grid; grid-template-columns: 1.2fr 1fr; gap: 56px;
  align-items: center;
}
.block-timeline__featured-kicker {
  font-family: var(--f-sans); font-size: 11px; font-weight: 600;
  letter-spacing: 0.3em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 18px;
}
.block-timeline__featured-title {
  font-family: var(--f-serif); font-weight: 400;
  font-size: clamp(36px, 4.8vw, 64px); line-height: 1.05;
  margin: 0 0 20px; color: var(--cream);
}
.block-timeline__featured-lead {
  font-family: var(--f-serif); font-style: italic;
  font-size: clamp(16px, 1.7vw, 19px); line-height: 1.55;
  color: rgba(247, 242, 231, 0.85); margin: 0 0 28px;
  max-width: 580px;
}
.block-timeline__featured-meta {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 24px; margin: 0 0 30px; padding-top: 24px;
  border-top: 1px solid rgba(154, 119, 52, 0.35);
}
.block-timeline__featured-meta dt {
  font-family: var(--f-sans); font-size: 10px; font-weight: 600;
  letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 4px;
}
.block-timeline__featured-meta dd {
  font-family: var(--f-serif); font-size: 17px;
  color: var(--cream); margin: 0; line-height: 1.3;
}
.block-timeline__featured-cta {
  display: inline-block; padding: 14px 28px;
  background: var(--gold); color: var(--navy-deep);
  font-family: var(--f-sans); font-weight: 600; font-size: 14px;
  letter-spacing: 0.05em; text-decoration: none;
  border-radius: 6px; transition: background 0.15s;
}
.block-timeline__featured-cta:hover { background: var(--gold-light); }
.block-timeline__featured-cta:focus-visible,
.block-timeline__card:focus-visible {
  outline: 3px solid var(--gold);
  outline-offset: 4px;
}
.block-timeline__featured-image {
  aspect-ratio: 4 / 3; overflow: hidden; border-radius: 4px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}
.block-timeline__featured-image img {
  width: 100%; height: 100%; object-fit: cover;
}
.block-timeline__featured-placeholder {
  width: 100%; height: 100%;
  background: linear-gradient(135deg, var(--navy) 0%, var(--navy-mid) 100%);
}
/* Large alternating rows are an explicit WilliPedia overview opt-in.
   Paired classes keep these surfaces above the later legacy BLOCK_CSS rules.
   ui-erlaubt: dimensions match the approved layout and existing spacing scale. */
.block-timeline__featured.block-timeline__featured--overview {
  background: var(--navy-deep); color: var(--cream);
  padding: 40px 0 44px;
  border-bottom: 1px solid var(--rule);
}
.block-timeline__featured.block-timeline__featured--overview .block-timeline__featured-inner {
  box-sizing: border-box; max-width: 1200px;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 56px;
}
.block-timeline__featured.block-timeline__featured--overview .block-timeline__featured-body { min-width: 0; }
.block-timeline__featured.block-timeline__featured--overview .block-timeline__featured-title {
  font-size: clamp(36px, 4.8vw, 50px);
}
.block-timeline__featured.block-timeline__featured--overview .block-timeline__featured-meta dt { color: var(--gold-soft); }
.block-timeline__featured.block-timeline__featured--overview .block-timeline__featured-cta {
  background: var(--gold-soft); color: var(--navy-deep);
}
.block-timeline__featured.block-timeline__featured--overview .block-timeline__featured-cta:hover { background: var(--gold-light); }
.block-timeline__featured.block-timeline__featured--overview .block-timeline__featured-cta:focus-visible {
  outline-color: var(--gold-light);
}
.block-timeline__featured.block-timeline__featured--light {
  --action-bg: var(--navy-deep);
  --action-bg-hover: var(--navy);
  --action-fg: var(--cream);
  --willipedia-wordmark-color: var(--navy-deep);
  background: var(--ivory); color: var(--navy-deep);
}
.block-timeline__featured.block-timeline__featured--light::before { background: none; }
.block-timeline__featured.block-timeline__featured--light .block-timeline__featured-inner {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
}
.block-timeline__featured.block-timeline__featured--light .block-timeline__featured-body { grid-column: 2; grid-row: 1; }
.block-timeline__featured.block-timeline__featured--light .block-timeline__featured-image {
  grid-column: 1; grid-row: 1; box-shadow: var(--shadow-card);
}
.block-timeline__featured.block-timeline__featured--light .block-timeline__featured-title,
.block-timeline__featured.block-timeline__featured--light .block-timeline__featured-meta dd { color: var(--navy-deep); }
.block-timeline__featured.block-timeline__featured--light .block-timeline__featured-lead { color: var(--ink-soft); }
.block-timeline__featured.block-timeline__featured--light .block-timeline__featured-meta { border-color: var(--rule); }
.block-timeline__featured.block-timeline__featured--light .block-timeline__featured-meta dt { color: var(--gold-deep); }
.block-timeline__featured.block-timeline__featured--light .block-timeline__featured-cta {
  background: var(--action-bg); color: var(--action-fg);
}
.block-timeline__featured.block-timeline__featured--light .block-timeline__featured-cta:hover { background: var(--action-bg-hover); }
.block-timeline__featured.block-timeline__featured--light .block-timeline__featured-cta:focus-visible { outline-color: var(--gold-deep); }
.block-timeline__container { padding: 56px 0 96px; }
.block-timeline__intro {
  text-align: center; margin: 0 auto 48px; max-width: 800px;
}
.block-timeline__intro-kicker {
  font-family: var(--f-sans); font-size: 11px; font-weight: 600;
  letter-spacing: 0.28em; text-transform: uppercase; color: var(--gold-deep);
  margin-bottom: 12px;
}
.block-timeline__intro-title {
  font-family: var(--f-serif); font-weight: 400;
  font-size: clamp(28px, 3.4vw, 40px); color: var(--navy-deep);
  margin: 0; line-height: 1.1;
}
.block-timeline__rail {
  position: relative; max-width: 980px; margin: 0 auto;
}
.block-timeline__rail::before {
  content: ''; position: absolute;
  left: 24px; top: 0; bottom: 0;
  width: 2px; background: linear-gradient(180deg, var(--gold) 0%, var(--gold-deep) 50%, transparent 100%);
}
.block-timeline__year { position: relative; margin-bottom: 60px; }
.block-timeline__year-anchor {
  position: relative; padding-left: 80px; margin-bottom: 28px;
  z-index: 2;
}
.block-timeline__year-anchor::before {
  content: ''; position: absolute;
  left: 18px; top: 50%; transform: translateY(-50%);
  width: 14px; height: 14px; border-radius: 50%;
  background: var(--gold); border: 3px solid var(--ivory);
  box-shadow: 0 0 0 2px var(--gold);
}
.block-timeline__year-anchor span {
  font-family: var(--f-serif); font-style: italic; font-weight: 400;
  font-size: clamp(40px, 5vw, 60px); color: var(--navy-deep);
  letter-spacing: -0.01em;
  display: inline-block;
  background: var(--ivory); padding-right: 16px;
}
.block-timeline__events { list-style: none; padding: 0; margin: 0; }
.block-timeline__pinned {
  margin-bottom: 52px; padding-bottom: 28px;
  border-bottom: 1px solid var(--rule);
}
.block-timeline__event {
  position: relative; padding-left: 80px;
  margin-bottom: 24px; min-height: 60px;
}
.block-timeline__dot {
  position: absolute; left: 18px; top: 28px;
  width: 12px; height: 12px; border-radius: 50%;
  background: #fff; border: 2px solid var(--gold-deep);
  z-index: 2;
}
.block-timeline__event.is-upcoming .block-timeline__dot {
  background: var(--gold); border-color: var(--gold-deep);
  box-shadow: 0 0 0 6px rgba(154, 119, 52, 0.18);
}
.block-timeline__date-capsule {
  position: absolute; left: -20px; top: 24px;
  width: 56px; text-align: center;
  font-family: var(--f-sans); font-size: 10px; font-weight: 600;
  letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--gold-deep); padding: 4px 0;
  background: var(--ivory); display: none;
}
.block-timeline__card {
  display: grid; grid-template-columns: 140px 1fr; gap: 20px;
  text-decoration: none; padding: 14px;
  background: #fff; border-radius: 6px;
  border: 1px solid var(--rule);
  transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
}
.block-timeline__card:hover {
  transform: translateX(4px);
  box-shadow: 0 8px 24px rgba(10, 30, 63, 0.08);
  border-color: var(--gold);
}
.block-timeline__card-image {
  aspect-ratio: 4 / 3; overflow: hidden; border-radius: 3px;
  background: var(--cream);
}
.block-timeline__card-image img { width: 100%; height: 100%; object-fit: cover; }
.block-timeline__card-placeholder {
  width: 100%; height: 100%; display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, var(--cream), var(--ivory));
  color: var(--gold-deep); font-family: var(--f-serif); font-style: italic; font-size: 44px;
  border: 1px dashed var(--rule);
}
.block-timeline__card-body { display: flex; flex-direction: column; gap: 6px; }
.block-timeline__card-status {
  display: inline-block; align-self: flex-start;
  font-family: var(--f-sans); font-size: 9.5px; font-weight: 700;
  letter-spacing: 0.18em; text-transform: uppercase;
  padding: 3px 9px; border-radius: 3px;
  background: rgba(154, 119, 52, 0.18); color: var(--gold-deep);
}
.block-timeline__card-status--upcoming { background: var(--gold); color: var(--navy-deep); }
.block-timeline__card-status--past { background: rgba(20, 24, 42, 0.08); color: var(--ink-soft); }
.block-timeline__card-title {
  font-family: var(--f-serif); font-weight: 500; font-size: 19px;
  color: var(--navy-deep); margin: 0; line-height: 1.25;
}
.block-timeline__card-lead {
  font-family: var(--f-sans); font-size: 13px; line-height: 1.5;
  color: var(--ink-soft); margin: 0;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.block-timeline__card-meta {
  display: flex; flex-wrap: wrap; gap: 12px; margin-top: 4px;
  font-family: var(--f-sans); font-size: 11.5px; color: var(--muted);
}
.block-timeline__card-meta span { position: relative; }
.block-timeline__card-meta span + span::before {
  content: '·'; position: absolute; left: -8px; color: var(--gold-deep);
}
@media (max-width: 720px) {
  .block-timeline__featured { padding: 48px 0 56px; }
  .block-timeline__featured-inner { grid-template-columns: 1fr; gap: 32px; }
  .block-timeline__featured.block-timeline__featured--overview .block-timeline__featured-inner {
    grid-template-columns: minmax(0, 1fr); gap: 32px;
  }
  .block-timeline__featured.block-timeline__featured--overview .block-timeline__featured-image { order: -1; grid-column: auto; grid-row: auto; }
  .block-timeline__featured.block-timeline__featured--overview .block-timeline__featured-body { grid-column: auto; grid-row: auto; }
  .block-timeline__featured.block-timeline__featured--overview .block-timeline__featured-cta {
    display: flex; justify-content: center; align-items: center; gap: 12px;
    box-sizing: border-box; width: 100%;
  }
  .block-timeline__rail::before { left: 12px; }
  .block-timeline__year-anchor,
  .block-timeline__event { padding-left: 50px; }
  .block-timeline__year-anchor::before,
  .block-timeline__dot { left: 6px; }
  .block-timeline__card { grid-template-columns: 90px 1fr; gap: 12px; padding: 10px; }
}
@media (max-width: 480px) {
  .block-timeline__featured-inner { padding-inline: 18px; }
  .block-timeline__container { padding: 44px 18px 72px; }
  .block-timeline__card { grid-template-columns: 1fr; }
  .block-timeline__card-image { aspect-ratio: 16 / 9; }
}
@media (prefers-reduced-motion: reduce) {
  .block-timeline__featured-cta,
  .block-timeline__card { transition: none; }
  .block-timeline__card:hover { transform: none; }
}

/* cms-elements/pedia-table.css */
.pedia-table-scroll {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  margin: 24px 0;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
  background: #fff;
  border: 1px solid var(--rule, #ded2b4);
  border-radius: 10px;
  box-shadow: 0 10px 28px rgba(10, 30, 63, 0.08);
  scrollbar-color: var(--gold-deep, #9a7734) var(--cream, #f7f2e7);
}

.pedia-table-scroll:focus-visible {
  outline: 3px solid var(--gold-deep, #9a7734);
  outline-offset: 3px;
}

.pedia-table-scroll[data-overflow="true"][data-scroll-end="false"]::after {
  position: sticky;
  right: 0;
  display: block;
  float: right;
  width: 28px;
  height: 0;
  content: "";
  pointer-events: none;
  box-shadow: 12px 0 26px 18px rgba(10, 30, 63, 0.18);
}

.pedia-table-scroll .pedia-table {
  display: table;
  width: 100%;
  min-width: 100%;
  max-width: none;
  margin: 0;
  overflow: visible;
  border: 0;
  border-collapse: collapse;
  border-radius: 0;
  table-layout: auto;
  font-family: var(--f-sans, Arial, sans-serif);
  font-size: 14px;
  line-height: 1.5;
  word-break: normal;
  overflow-wrap: normal;
}

.pedia-table-scroll[data-pedia-table-mode="scroll"] .pedia-table,
.pedia-table-scroll[data-pedia-table-mode="matrix"] .pedia-table {
  width: var(--pedia-table-min-width);
  min-width: var(--pedia-table-min-width);
  table-layout: fixed;
}

.pedia-table-scroll[data-pedia-table-mode="fit"] .pedia-table {
  width: 100%;
  min-width: 100%;
  table-layout: fixed;
}

.pedia-table-scroll[data-pedia-table-mode="fit"] .pedia-table col {
  width: var(--pedia-column-share);
}

.pedia-table-scroll[data-pedia-table-mode="fit"] .pedia-table th,
.pedia-table-scroll[data-pedia-table-mode="fit"] .pedia-table td {
  overflow-wrap: break-word;
}

.pedia-table-scroll .pedia-table col {
  width: var(--pedia-column-width);
}

.pedia-table-scroll .pedia-table thead {
  color: var(--cream, #f7f2e7);
  background: var(--navy-deep, #0a1e3f);
}

.pedia-table-scroll .pedia-table th,
.pedia-table-scroll .pedia-table td {
  min-width: 0;
  padding: 12px 14px;
  text-align: left;
  vertical-align: top;
  border-top: 1px solid var(--rule, #ded2b4);
  border-right: 1px solid var(--rule, #ded2b4);
  color: var(--ink-soft, #45506a);
  background-clip: padding-box;
  -webkit-hyphens: manual;
  hyphens: manual;
  word-break: normal;
  overflow-wrap: normal;
}

.pedia-table-scroll .pedia-table th {
  padding: 12px 14px;
  border-top: 0;
  border-right-color: rgba(154, 119, 52, 0.38);
  color: var(--cream, #f7f2e7);
  background: var(--navy-deep, #0a1e3f);
  font-size: 12px;
  font-weight: 650;
  line-height: 1.35;
  letter-spacing: 0.045em;
  white-space: normal;
}

.pedia-table-scroll .pedia-table :is(th, td):last-child {
  border-right: 0;
}

.pedia-table-scroll .pedia-table tbody tr:nth-child(even) td {
  background-color: color-mix(in srgb, var(--cream, #f7f2e7) 55%, white);
}

.pedia-table-scroll .pedia-table tbody tr:hover td {
  background-color: color-mix(in srgb, var(--cream, #f7f2e7) 82%, white);
}

.pedia-table-scroll .pedia-table :is(a, code) {
  word-break: break-word;
  overflow-wrap: anywhere;
}

.pedia-table-scroll[data-pedia-table-key-first="true"] .pedia-table :is(th, td):first-child {
  min-width: 0;
  text-align: center;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.pedia-table-scroll[data-pedia-table-mode="matrix"][data-pedia-table-key-first="true"] .pedia-table :is(th, td):first-child {
  position: sticky;
  left: 0;
  z-index: 1;
  box-shadow: 1px 0 0 var(--rule, #ded2b4);
}

.pedia-table-scroll[data-pedia-table-mode="matrix"][data-pedia-table-key-first="true"] .pedia-table td:first-child {
  background: #fff;
}

.pedia-table-scroll[data-pedia-table-mode="matrix"][data-pedia-table-key-first="true"] .pedia-table tbody tr:nth-child(even) td:first-child {
  background: color-mix(in srgb, var(--cream, #f7f2e7) 55%, white);
}

.pedia-table-scroll[data-pedia-table-mode="matrix"][data-pedia-table-key-first="true"] .pedia-table tbody tr:hover td:first-child {
  background: color-mix(in srgb, var(--cream, #f7f2e7) 82%, white);
}

.pedia-table-scroll[data-pedia-table-mode="matrix"][data-pedia-table-key-first="true"] .pedia-table th:first-child {
  z-index: 2;
  background: var(--navy-deep, #0a1e3f);
}

@media (max-width: 720px) {
  .pedia-table-scroll {
    margin: 20px 0;
    border-radius: 8px;
  }

  .pedia-table-scroll .pedia-table {
    font-size: 13px;
  }

  .pedia-table-scroll .pedia-table th,
  .pedia-table-scroll .pedia-table td {
    padding: 10px 11px;
  }

  .pedia-table-scroll .pedia-table th {
    font-size: 11.5px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pedia-table-scroll {
    scroll-behavior: auto;
  }
}

/* news-audio-player.css */
.news-audio {
  --news-audio-progress: 0%;
  position: relative;
  margin: 0 0 clamp(32px, 5vw, 54px);
  padding: clamp(18px, 2.4vw, 22px);
  border: 1px solid color-mix(in srgb, var(--navy-deep) 16%, transparent);
  /* Approved WilliPedia editorial motif: the gold edge identifies the audio
     medium without adding a second card color or decorative illustration. */
  border-left: 4px solid var(--gold-deep);
  border-radius: 16px;
  background: #fffdf8;
  box-shadow: 0 18px 44px rgba(10, 30, 63, 0.09);
}

.news-audio__heading {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin: 0 0 8px 78px;
}

.news-audio__heading h2 {
  margin: 0;
  color: var(--navy-deep);
  font-family: var(--f-serif);
  font-size: clamp(24px, 3vw, 30px);
  font-weight: 500;
  line-height: 1.1;
}

.news-audio__heading > span,
.news-audio__active-label,
.news-audio__track-menu-label {
  color: var(--gold-deep);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.news-audio__player {
  display: none;
  grid-template-columns: 60px minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
}

.news-audio.is-enhanced .news-audio__player {
  display: grid;
}

.news-audio__play {
  display: grid;
  width: 60px;
  height: 60px;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--navy-deep);
  color: #fff;
  cursor: pointer;
  box-shadow: 0 8px 20px rgba(10, 30, 63, 0.2);
  transition: box-shadow 160ms ease, transform 160ms ease;
}

.news-audio__play:hover {
  box-shadow: 0 10px 24px rgba(10, 30, 63, 0.28);
  transform: translateY(-1px);
}

.news-audio__play svg {
  width: 24px;
  height: 24px;
  fill: currentColor;
}

.news-audio__pause-icon,
.news-audio.is-playing .news-audio__play-icon {
  display: none;
}

.news-audio.is-playing .news-audio__pause-icon {
  display: block;
}

.news-audio__controls {
  display: none;
  grid-template-columns: auto minmax(120px, 1fr) auto auto;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.news-audio.is-enhanced .news-audio__controls {
  display: grid;
}

.news-audio__skip,
.news-audio__rate,
.news-audio__tracks-toggle {
  min-width: 42px;
  min-height: 42px;
  padding: 0 11px;
  border: 1px solid color-mix(in srgb, var(--navy-deep) 18%, transparent);
  border-radius: 999px;
  background: #fff;
  color: var(--navy-deep);
  font: 700 12px/1 var(--f-sans);
  cursor: pointer;
  transition: border-color 160ms ease, background 160ms ease;
}

.news-audio__skip:hover,
.news-audio__rate:hover,
.news-audio__tracks-toggle:hover {
  border-color: var(--gold-deep);
  background: var(--cream);
}

.news-audio__timeline {
  position: relative;
  min-width: 0;
}

.news-audio__timeline::before {
  position: absolute;
  z-index: 1;
  top: 8px;
  left: 0;
  width: var(--news-audio-progress);
  height: 4px;
  border-radius: 999px;
  background: var(--gold-deep);
  content: '';
  pointer-events: none;
}

.news-audio__timeline input {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 20px;
  margin: 0;
  appearance: none;
  background: transparent;
  cursor: pointer;
}

.news-audio__timeline input::-webkit-slider-runnable-track {
  height: 4px;
  border-radius: 999px;
  background: rgba(10, 30, 63, 0.14);
}

.news-audio__timeline input::-moz-range-track {
  height: 4px;
  border: 0;
  border-radius: 999px;
  background: rgba(10, 30, 63, 0.14);
}

.news-audio__timeline input::-moz-range-progress {
  height: 4px;
  border-radius: 999px;
  background: var(--gold-deep);
}

.news-audio__timeline input::-webkit-slider-thumb {
  width: 14px;
  height: 14px;
  margin-top: -5px;
  appearance: none;
  border: 3px solid #fff;
  border-radius: 50%;
  background: var(--gold-deep);
  box-shadow: 0 0 0 1px rgba(10, 30, 63, 0.16);
}

.news-audio__timeline input::-moz-range-thumb {
  width: 10px;
  height: 10px;
  border: 3px solid #fff;
  border-radius: 50%;
  background: var(--gold-deep);
  box-shadow: 0 0 0 1px rgba(10, 30, 63, 0.16);
}

.news-audio__times {
  display: flex;
  justify-content: space-between;
  margin-top: 1px;
  color: var(--ink-soft);
  font: 500 10px/1 var(--f-sans);
  font-variant-numeric: tabular-nums;
}

.news-audio__tracks {
  position: relative;
}

.news-audio__tracks-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 46px;
  padding-inline: 17px;
  white-space: nowrap;
}

.news-audio__tracks-toggle svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-width: 1.8;
}

.news-audio__track-menu {
  position: absolute;
  z-index: 5;
  top: calc(100% + 10px);
  right: 0;
  width: min(340px, calc(100vw - 48px));
  padding: 14px;
  border: 1px solid color-mix(in srgb, var(--navy-deep) 16%, transparent);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 18px 40px rgba(10, 30, 63, 0.16);
}

.news-audio__track-menu-label {
  margin: 2px 4px 10px;
}

.news-audio__track-list {
  display: grid;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.news-audio__track {
  display: grid;
  width: 100%;
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--navy-deep);
  font: 600 13px/1.35 var(--f-sans);
  text-align: left;
  cursor: pointer;
}

.news-audio__track:hover,
.news-audio__track.is-active {
  background: var(--cream);
}

.news-audio__track-number {
  display: grid;
  width: 26px;
  height: 26px;
  place-items: center;
  border-radius: 50%;
  background: rgba(10, 30, 63, 0.08);
  font-size: 11px;
}

.news-audio__track.is-active .news-audio__track-number {
  background: var(--navy-deep);
  color: #fff;
}

.news-audio__active-label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.news-audio__native {
  width: 100%;
  margin-top: 16px;
}

.news-audio.is-enhanced .news-audio__native {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.news-audio button:focus-visible,
.news-audio input:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--gold) 76%, white);
  outline-offset: 3px;
}

@media (max-width: 720px) {
  .news-audio {
    padding: 18px;
    border-radius: 12px;
  }

  .news-audio__heading {
    margin-left: 0;
    flex-wrap: wrap;
    gap: 7px 10px;
  }

  .news-audio__player {
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 14px;
  }

  .news-audio__play {
    width: 54px;
    height: 54px;
  }

  .news-audio__controls {
    grid-template-columns: auto minmax(90px, 1fr) auto;
    gap: 8px;
  }

  .news-audio__rate {
    grid-column: 2;
    justify-self: end;
    min-height: 34px;
  }

  .news-audio__tracks {
    grid-column: 1 / -1;
  }

  .news-audio__tracks-toggle {
    width: 100%;
    justify-content: center;
  }

  .news-audio__track-menu {
    right: auto;
    left: 0;
    width: 100%;
  }

}

@media (prefers-reduced-motion: reduce) {
  .news-audio__play,
  .news-audio__skip,
  .news-audio__rate,
  .news-audio__tracks-toggle {
    transition: none;
  }
}

/* publications.css */
/* Publications: CMS-supplied books and landscapes form the visual world. */

.publications-page {
  --publication-navy: var(--navy-deep, #0A1E3F);
  --publication-gold: var(--gold, #9a7734);
  overflow: clip;
  isolation: isolate;
  background: var(--ivory, #FBF8F0);
  color: var(--ink, #14182A);
}

.publications-page ::selection { background: var(--publication-gold); color: var(--publication-navy); }
.publications-page :focus-visible { outline: 3px solid var(--gold-light, #E8D6A6); outline-offset: 4px; }

.publication-carousel__heading {
  margin: 0 0 .55rem;
  color: var(--gold-deep, #7A6230);
  font-size: .69rem;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.publication-detail__copy h1,
.publication-feature__copy h3,
.publication-card h3,
.publication-detail__section h2,
.publication-detail__rail h2 {
  font-family: var(--f-serif, 'Cormorant Garamond', Georgia, serif);
  font-weight: 500;
  text-wrap: balance;
}

.publications-featured { padding: 0; }
.publication-carousel { position: relative; background: var(--publication-navy); }
.publication-carousel__header {
  position: absolute;
  z-index: 3;
  inset: 1.25rem 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-width: 0;
  pointer-events: none;
}

.publication-carousel__heading { margin: 0; color: var(--gold-light, #E8D6A6); pointer-events: auto; }
.publication-carousel__controls { display: none; min-width: 0; max-width: 100%; align-items: center; justify-content: flex-end; gap: .2rem; pointer-events: auto; }
.publication-carousel[data-publication-carousel-ready="true"] .publication-carousel__controls { display: flex; }
.publication-carousel__indexes { display: flex; min-width: 0; max-width: min(40vw, 18rem); overflow-x: auto; overscroll-behavior-x: contain; flex-wrap: nowrap; gap: .05rem; scrollbar-width: none; }
.publication-carousel__indexes::-webkit-scrollbar { display: none; }
.publication-carousel__button,
.publication-carousel__index {
  position: relative;
  display: inline-grid;
  flex: 0 0 2.75rem;
  width: 2.75rem;
  height: 2.75rem;
  place-items: center;
  isolation: isolate;
  border: 0;
  background: transparent;
  color: var(--cream, #F7F2E7);
  font-family: var(--f-sans, Manrope, sans-serif);
  font-size: .65rem;
  font-weight: 800;
  transition: color .2s ease, transform .2s ease;
}

.publication-carousel__button::before,
.publication-carousel__index::before { position: absolute; z-index: 0; inset: .36rem; content: ''; border: 1px solid rgba(232, 214, 166, .58); background: rgba(10, 30, 63, .38); transition: border-color .2s ease, background-color .2s ease; }
.publication-carousel__button svg,
.publication-carousel__index > span { position: relative; z-index: 1; }
.publication-carousel__button svg { width: 1rem; height: 1rem; fill: none; stroke: currentcolor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.publication-carousel__button:hover:not(:disabled), .publication-carousel__index:hover { transform: translateY(-1px); }
.publication-carousel__button:hover:not(:disabled)::before, .publication-carousel__index:hover::before { border-color: var(--gold-light, #E8D6A6); background: rgba(247, 242, 231, .14); }
.publication-carousel__button:disabled { cursor: not-allowed; opacity: .42; }
.publication-carousel__index[aria-current="true"] { color: var(--publication-navy); }
.publication-carousel__index[aria-current="true"]::before { border-color: var(--publication-gold); background: var(--publication-gold); }
.publication-carousel__toggle [data-publication-carousel-icon="play"] { display: none; }
.publication-carousel__toggle[data-publication-carousel-state="paused"] [data-publication-carousel-icon="play"] { display: block; }
.publication-carousel__toggle[data-publication-carousel-state="paused"] [data-publication-carousel-icon="pause"] { display: none; }
.publication-carousel__toggle[hidden] { display: none; }

.publication-carousel__track {
  display: flex;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-color: rgba(232, 214, 166, .55) rgba(10, 30, 63, .6);
  scrollbar-width: thin;
}

.publication-carousel__track::-webkit-scrollbar { height: .5rem; }
.publication-carousel__track::-webkit-scrollbar-track { background: rgba(10, 30, 63, .6); }
.publication-carousel__track::-webkit-scrollbar-thumb { border: 1px solid var(--publication-navy); background: rgba(232, 214, 166, .58); }
.publication-feature { flex: 0 0 100%; min-width: 0; scroll-snap-align: start; scroll-snap-stop: always; }

.publication-feature__scene,
.publication-detail__hero { position: relative; min-height: clamp(32rem, 48vw, 43rem); overflow: hidden; isolation: isolate; background: var(--publication-navy); color: var(--cream, #F7F2E7); }
.publication-detail__hero { min-height: clamp(34rem, 54vw, 46rem); }
.publication-feature__media,
.publication-detail__media { position: absolute; z-index: -2; inset: 0; }
.publication-feature__background,
.publication-detail__background { display: block; width: 100%; height: 100%; object-fit: cover; }

/* The supplied backgrounds already carry darkness on the text side; this retains their light. */
.publication-feature__scene::after,
.publication-detail__hero::after {
  position: absolute;
  z-index: -1;
  inset: 0;
  content: '';
  background: linear-gradient(90deg, rgba(3, 13, 29, .76) 0%, rgba(3, 13, 29, .51) 42%, rgba(3, 13, 29, .15) 100%), linear-gradient(180deg, rgba(3, 13, 29, .06), rgba(3, 13, 29, .28));
}

.publication-feature__inner,
.publication-detail__hero-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(12rem, .8fr);
  align-items: center;
  gap: clamp(2rem, 7vw, 8rem);
  min-height: inherit;
  padding-top: clamp(5.15rem, 7vw, 6.4rem);
  padding-bottom: clamp(2.5rem, 5vw, 5rem);
}

.publication-detail__hero-inner { max-width: 1180px; padding-top: clamp(2.5rem, 5vw, 5rem); }
.publication-feature__copy,
.publication-detail__copy { min-width: 0; max-width: 43rem; }
.publication-feature__object,
.publication-detail__object { display: grid; min-width: 0; place-items: center; }

.publication-book {
  position: relative;
  display: block;
  width: clamp(11.5rem, 22vw, 18.5rem);
  max-width: 100%;
  margin-left: .62rem;
  transform: perspective(1400px) rotateY(-13deg) rotateX(2deg) rotateZ(-1.25deg);
  transform-origin: 52% 55%;
  filter: drop-shadow(1.25rem 1.5rem 1.7rem rgba(0, 0, 0, .42));
  transition: transform .46s cubic-bezier(.16, 1, .3, 1), filter .46s cubic-bezier(.16, 1, .3, 1);
}

.publication-book::before { position: absolute; z-index: -1; top: 1.1%; bottom: 1.1%; left: -.62rem; width: .72rem; content: ''; transform: skewY(-2deg); border-radius: 2px 0 0 2px; background: linear-gradient(90deg, rgba(5, 14, 29, .9), rgba(154, 119, 52, .72)); box-shadow: inset -.12rem 0 rgba(255, 255, 255, .18); }
.publication-book::after { position: absolute; z-index: 1; inset: 0; pointer-events: none; content: ''; border: 1px solid rgba(232, 214, 166, .4); border-radius: 2px 5px 5px 2px; box-shadow: inset .75rem 0 1rem rgba(7, 16, 34, .14), inset 0 0 0 1px rgba(7, 16, 34, .24); }
.publication-book:hover { transform: perspective(1400px) rotateY(-8deg) rotateX(1deg) translateY(-.5rem); filter: drop-shadow(1.45rem 1.9rem 2rem rgba(0, 0, 0, .48)); }
.publication-book--static:hover { transform: perspective(1400px) rotateY(-13deg) rotateX(2deg) rotateZ(-1.25deg); filter: drop-shadow(1.25rem 1.5rem 1.7rem rgba(0, 0, 0, .42)); }
.publication-book__cover,
.publication-card__cover-image { display: block; width: 100%; height: auto; border: 0; }

.publication-feature__copy h3,
.publication-detail__copy h1 { margin: 0; color: var(--cream, #F7F2E7); font-size: clamp(2.6rem, 5vw, 5.25rem); line-height: .94; letter-spacing: -.035em; }
.publication-feature__subtitle,
.publication-detail__subtitle { margin-top: 1.05rem; color: var(--gold-light, #E8D6A6); font-family: var(--f-serif, 'Cormorant Garamond', Georgia, serif); font-size: clamp(1.45rem, 2.3vw, 2.18rem); font-weight: 500; line-height: 1.12; }
.publication-feature__byline,
.publication-detail__byline,
.publication-card__byline { margin-top: .95rem; color: var(--cream, #F7F2E7); font-size: .76rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.publication-feature__summary,
.publication-detail__summary { max-width: 58ch; margin-top: 1.2rem; color: rgba(247, 242, 231, .92); font-size: clamp(.98rem, 1.3vw, 1.1rem); line-height: 1.68; }

.publication-demo { display: inline-flex; align-items: center; min-height: 1.85rem; margin-bottom: 1.1rem; padding: .22rem .62rem; border: 1px solid rgba(232, 214, 166, .72); color: var(--gold-light, #E8D6A6); font-size: .69rem; font-weight: 800; letter-spacing: .14em; line-height: 1; text-transform: uppercase; }
.publication-actions { display: flex; flex-wrap: wrap; gap: .72rem; margin-top: clamp(1.5rem, 3vw, 2.35rem); }
.publication-action { display: inline-flex; align-items: center; justify-content: center; gap: .72rem; min-height: 3.1rem; padding: .72rem 1.05rem; border: 1px solid rgba(232, 214, 166, .54); color: var(--cream, #F7F2E7); font-size: .74rem; font-weight: 800; letter-spacing: .075em; line-height: 1.15; overflow-wrap: anywhere; text-align: center; text-transform: uppercase; transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease; }
.publication-action--purchase { border-color: var(--publication-gold); background: var(--publication-gold); color: var(--publication-navy); }
.publication-action:hover { transform: translateY(-2px); border-color: var(--gold-light, #E8D6A6); background: rgba(247, 242, 231, .12); color: var(--cream, #F7F2E7); }
.publication-action--purchase:hover { background: var(--gold-light, #E8D6A6); color: var(--publication-navy); }

.publications-collection { padding: 0 0 clamp(2.5rem, 5vw, 4rem); }
.publications-collection::before { display: none; }
.publications-collection__heading { padding-top: clamp(1.75rem, 3.5vw, 2.75rem); }
.publications-collection__heading h2 { margin: 0; color: var(--publication-navy); font-family: var(--f-serif, 'Cormorant Garamond', Georgia, serif); font-size: clamp(2.25rem, 4vw, 3.65rem); font-weight: 500; line-height: .95; letter-spacing: -.03em; }
.publications-collection__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 clamp(2rem, 6vw, 6.5rem); padding-top: clamp(2rem, 4vw, 3.25rem); }
.publication-card { display: grid; grid-template-columns: minmax(7.25rem, 8.8rem) minmax(0, 1fr); gap: clamp(1.1rem, 2vw, 1.8rem); min-width: 0; padding: clamp(1.75rem, 3vw, 2.6rem) 0; border-top: 1px solid rgba(154, 119, 52, .45); }
.publication-card__cover { display: block; align-self: start; box-shadow: .65rem .8rem 1.25rem rgba(10, 30, 63, .17); transition: transform .28s cubic-bezier(.16, 1, .3, 1), box-shadow .28s cubic-bezier(.16, 1, .3, 1); }
.publication-card__cover:hover { transform: translateY(-.3rem) rotate(-1deg); box-shadow: .85rem 1.15rem 1.65rem rgba(10, 30, 63, .24); }
.publication-card__body { min-width: 0; }
.publication-card .publication-demo { margin-bottom: .85rem; border-color: rgba(154, 119, 52, .68); color: var(--gold-deep, #7A6230); }
.publication-card h3 { color: var(--publication-navy); font-size: clamp(1.75rem, 2.5vw, 2.5rem); line-height: .98; letter-spacing: -.02em; }
.publication-card h3 a { text-decoration-line: underline; text-decoration-color: transparent; text-decoration-thickness: 1px; text-underline-offset: .17em; transition: color .2s ease, text-decoration-color .2s ease; }
.publication-card h3 a:hover { color: var(--gold-deep, #7A6230); text-decoration-color: currentcolor; }
.publication-card__subtitle { margin-top: .75rem; color: var(--gold-deep, #7A6230); font-family: var(--f-serif, 'Cormorant Garamond', Georgia, serif); font-size: 1.28rem; font-weight: 600; line-height: 1.15; }
.publication-card__byline { color: var(--ink-soft, #3A405A); font-size: .67rem; }
.publication-card__summary { margin-top: .9rem; color: var(--ink-soft, #3A405A); font-size: .94rem; line-height: 1.66; }
.publication-card__price { display: flex; align-items: baseline; flex-wrap: wrap; gap: .45rem; margin: 1.35rem 0 0; color: var(--publication-navy); }
.publication-card__price span { font-size: .66rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.publication-card__price strong { font-family: var(--f-serif, 'Cormorant Garamond', Georgia, serif); font-size: 1.35rem; font-weight: 600; }
.publication-card__price + .publication-actions { margin-top: .8rem; }
.publication-card .publication-actions { margin-top: 1.2rem; }
.publication-card .publication-action { min-height: 2.75rem; border-color: rgba(154, 119, 52, .72); color: var(--publication-navy); font-size: .66rem; }
.publication-card .publication-action--detail:hover { background: var(--publication-navy); color: var(--cream, #F7F2E7); }
.publication-card--without-cover { grid-template-columns: minmax(0, 1fr); }
.publications-empty { padding-top: 4rem; padding-bottom: 7rem; color: var(--ink-soft, #3A405A); }

.publication-detail__back-wrap { padding-top: 1.3rem; padding-bottom: 1.3rem; }
.publication-detail__back { display: inline-flex; align-items: center; gap: .65rem; color: var(--publication-navy); font-size: .77rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; text-decoration: underline 1px rgba(154, 119, 52, .58); text-underline-offset: .36em; }
.publication-detail__back:hover { color: var(--gold-deep, #7A6230); }
.publication-detail__layout { display: grid; grid-template-columns: minmax(0, 48rem) minmax(15rem, 20rem); align-items: start; justify-content: space-between; gap: clamp(2.5rem, 6vw, 6.5rem); padding-top: clamp(2.25rem, 4vw, 2.75rem); padding-bottom: clamp(4.5rem, 8vw, 7rem); }
.publication-detail__layout--without-rail { grid-template-columns: minmax(0, 52rem); justify-content: start; }
.publication-detail__body { min-width: 0; }
.publication-detail__opening p,
.publication-detail__section p { max-width: 68ch; margin: 0; color: var(--ink-soft, #3A405A); font-size: clamp(1rem, 1.2vw, 1.125rem); line-height: 1.62; }
.publication-detail__opening p + p,
.publication-detail__section p + p { margin-top: .75rem; }
/* Global sections carry broad page padding; article slices set their own editorial rhythm. */
.publication-detail__section { margin-top: clamp(1.75rem, 3vw, 2rem); padding: 0; }
.publication-detail__body > .publication-detail__section:first-child { margin-top: 0; }
.publication-detail__section h2 { max-width: 22ch; margin: 0 0 .75rem; color: var(--publication-navy); font-size: clamp(1.8rem, 3vw, 2.65rem); line-height: 1; letter-spacing: -.025em; }
.publication-detail__content-media { margin: clamp(1.75rem, 3vw, 2rem) 0; }
.publication-detail__content-image { display: block; width: 100%; height: auto; border: 0; box-shadow: 1.1rem 1.45rem 2.3rem rgba(10, 30, 63, .16); }
.publication-detail__content-media figcaption { max-width: 64ch; margin-top: .9rem; color: var(--ink-soft, #3A405A); font-size: .78rem; line-height: 1.55; }
.publication-detail__rail { position: sticky; top: 1.5rem; min-width: 0; }
.publication-detail__rail-panel { padding: clamp(1.2rem, 2vw, 1.55rem); border: 1px solid rgba(154, 119, 52, .48); background: linear-gradient(145deg, rgba(232, 214, 166, .34), rgba(247, 242, 231, .6)); box-shadow: 0 .9rem 1.75rem rgba(10, 30, 63, .08); }
.publication-detail__rail h2 { margin: 0 0 .85rem; color: var(--publication-navy); font-size: 1.5rem; line-height: 1; letter-spacing: -.015em; }
.publication-detail__facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem 1.05rem; margin: 0; }
.publication-detail__facts div { min-width: 0; }
.publication-detail__facts dt { color: var(--gold-deep, #7A6230); font-size: .62rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.publication-detail__facts dd { margin: .22rem 0 0; color: var(--publication-navy); font-family: var(--f-serif, 'Cormorant Garamond', Georgia, serif); font-size: 1.22rem; font-weight: 600; line-height: 1.16; overflow-wrap: anywhere; }
.publication-detail__facts-section + .publication-detail__purchases { margin-top: 1.1rem; padding-top: 1rem; border-top: 1px solid rgba(154, 119, 52, .38); }
.publication-detail__purchases h2 { margin-bottom: .35rem; font-size: 1.05rem; }
.publication-detail__purchases .publication-actions { display: grid; gap: 0; margin-top: 0; }
.publication-detail__rail .publication-action { width: 100%; min-height: 2.75rem; justify-content: space-between; padding: .45rem 0; border: 0; border-bottom: 1px solid rgba(154, 119, 52, .3); background: transparent; color: var(--publication-navy); font-size: .66rem; text-align: left; }
.publication-detail__rail .publication-action--purchase { background: transparent; color: var(--publication-navy); }
.publication-detail__rail .publication-action:hover, .publication-detail__rail .publication-action--purchase:hover { transform: none; border-color: rgba(154, 119, 52, .78); background: rgba(232, 214, 166, .25); color: var(--publication-navy); }

@media (max-width: 820px) {
  .publication-feature__scene, .publication-detail__hero { min-height: 0; }
  .publication-feature__inner, .publication-detail__hero-inner { grid-template-columns: minmax(0, 1fr); gap: 2.25rem; }
  .publication-feature__scene::after, .publication-detail__hero::after { background: linear-gradient(180deg, rgba(3, 13, 29, .22), rgba(3, 13, 29, .56) 48%, rgba(3, 13, 29, .9)), linear-gradient(90deg, rgba(3, 13, 29, .14), rgba(3, 13, 29, .14)); }
  .publication-feature__object, .publication-detail__object { place-items: center; }
  .publication-book { width: min(58vw, 17rem); }
  .publications-collection__grid { grid-template-columns: minmax(0, 1fr); }
  .publication-detail__layout { grid-template-columns: minmax(0, 1fr); gap: 3rem; }
  .publication-detail__rail { position: static; max-width: 32rem; }
}

@media (max-width: 620px) {
  .publication-detail__back-wrap, .publication-detail__layout, .publication-feature__inner, .publication-detail__hero-inner, .publication-carousel__header { padding-right: 1.25rem; padding-left: 1.25rem; }
  .publication-carousel__header { inset: .85rem 0 auto; }
  .publication-carousel__heading { max-width: 11rem; font-size: .61rem; }
  .publication-carousel__controls { gap: .25rem; }
  .publication-carousel__button, .publication-carousel__index { width: 2.75rem; height: 2.75rem; }
  .publication-carousel__indexes { gap: .18rem; }
  .publication-feature__copy h3, .publication-detail__copy h1 { font-size: clamp(2.55rem, 12vw, 3.9rem); }
  .publication-feature__inner { padding-top: 4.6rem; }
  .publication-book { width: min(62vw, 15.5rem); }
  .publication-actions { display: grid; grid-template-columns: minmax(0, 1fr); width: 100%; }
  .publication-action { width: 100%; }
  .publication-card { grid-template-columns: minmax(5.9rem, 7.5rem) minmax(0, 1fr); gap: 1.1rem; }
  .publication-card h3 { font-size: clamp(1.65rem, 8vw, 2.1rem); }
  .publications-collection::before { width: calc(100% - 2.5rem); }
  .publication-detail__layout { padding-top: 2.8rem; }
}

@media (max-width: 520px) {
  .publication-carousel__header { align-items: flex-start; flex-wrap: wrap; gap: .45rem; }
  .publication-carousel__heading { flex-basis: 100%; max-width: none; }
  .publication-carousel__controls { width: 100%; margin-left: 0; }
  .publication-carousel__indexes { flex: 1 1 0; max-width: none; }
  .publication-feature__inner { padding-top: 7.6rem; }
}

@media (prefers-reduced-motion: reduce) {
  .publications-page, .publications-page *, .publications-page *::before, .publications-page *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
  .publication-book, .publication-book:hover, .publication-book--static:hover, .publication-card__cover, .publication-card__cover:hover, .publication-action:hover, .publication-carousel__button:hover, .publication-carousel__index:hover { transform: none; }
}

/* news-detail.css */
    /* CSE-Aufsatz-Hero: Navy, Tag-Pills oben, riesiger Title, italic Subtitle, 3-Zeilen-Meta, powered-by */
    /* Header-Einheitshöhe (Sven 25.07.): alle Artikel-Header so hoch wie Hub/Podcasts (38/0/24). */
    .article-hero {
      padding: 38px 0 24px; background: var(--navy-deep); color: var(--cream);
      position: relative; overflow: hidden;
      background-image: linear-gradient(180deg, #0a1e3f 0%, #122951 100%);
    }
    .article-hero--clean { padding: 38px 0 24px; }
    /* Tag-Pills — CSE-Pattern: erste gold gefüllt (Cluster-ID), Rest transparent */
    .article-hero__tags { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
    .article-hero__tag {
      display: inline-block; padding: 5px 12px;
      font-family: var(--f-sans); font-size: 11px; font-weight: 600;
      letter-spacing: 0.18em; text-transform: uppercase;
      border: 1px solid rgba(232,214,166,0.3); border-radius: 4px;
      color: rgba(251,248,240,0.85);
      background: transparent;
    }
    .article-hero__tag--id {
      background: var(--action-bg); color: var(--action-fg);
      border-color: var(--action-bg);
    }
    /* Subtitle: italic Cormorant, leicht gold-hellig */
    .article-hero__subtitle {
      font-family: var(--f-serif); font-style: italic; font-weight: 400;
      font-size: clamp(17px, 1.7vw, 21px); line-height: 1.4;
      max-width: 820px; margin: 12px 0 0;
      color: rgba(232,214,166,0.88);
    }
    .article-hero__subtitle--news {
      font-family: var(--f-serif); font-size: 18px; font-style: italic; color: var(--cream);
    }
    /* Meta-Block: nur redaktionelle Fakten, die nicht schon in den Tags stehen. */
    .article-hero__metablock {
      margin-top: 20px; padding-top: 16px;
      border-top: 1px solid rgba(232,214,166,0.18);
    }
    .article-hero__metaleft { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
    .article-hero__metalines { font-size: 13px; line-height: 1.85; opacity: 0.92; }
    .article-hero__metalines > div { display: flex; flex-wrap: wrap; gap: 6px 14px; }
    .article-hero__metalines .ml-key {
      font-weight: 600; color: var(--gold); letter-spacing: 0.04em;
    }
    .article-hero__metalines > .article-hero__authors-line { align-items: flex-start; flex-wrap: nowrap; gap: 10px; }
    .article-hero__authors-label { display: inline-block; flex: 0 0 auto; line-height: 24px; }
    .article-hero__authors-label .ml-key { text-transform: none; }
    .article-hero__author-list { display: inline-flex; flex: 0 1 auto; min-width: 0; align-items: center; flex-wrap: wrap; gap: 8px 16px; }
    .article-hero__author-group { display: inline-flex; flex: 0 0 auto; max-width: 100%; min-width: 0; align-items: center; flex-wrap: nowrap; gap: 7px; }
    .article-hero__author-identity { min-width: 0; overflow-wrap: anywhere; }
    .article-hero__metalines .ml-author { color: var(--cream); font-weight: 600; }
    .article-hero__metalines .ml-sep { color: rgba(232,214,166,0.32); margin: 0 4px; }
    /* LinkedIn-Profil-Pill des Autors (wie CyberPedia): Gold-Rahmen, Hover füllt gold. */
    .article-hero__linkedin {
      display: inline-flex; align-items: center; gap: .5em;
      font-family: var(--f-sans); font-size: 12.5px; font-weight: 600; letter-spacing: .02em;
      color: var(--gold); background: rgba(232,214,166,0.10);
      border: 1px solid rgba(232,214,166,0.42); border-radius: 999px;
      padding: .45em .9em; text-decoration: none;
      transition: background .18s ease, color .18s ease, border-color .18s ease;
    }
    .article-hero__linkedin svg { flex: 0 0 12px; width: 12px; height: 12px; }
    .article-hero__linkedin:hover { background: var(--action-bg); border-color: var(--action-bg); color: var(--action-fg); }
    .article-hero__linkedin { gap: 4px; padding: 3px 7px; font-size: 0.72rem; line-height: 1.2; }
    /* "Auf einen Blick" — Q&A-Card (CSE-Pattern: cream bg + gold border-left) */
    .at-a-glance {
      max-width: 1240px; margin: 0 auto; padding: 0 32px;
      transform: translateY(-44px); position: relative; z-index: 2;
    }
    .at-a-glance__inner {
      background: var(--cream); border-left: 3px solid var(--gold);
      border-radius: 0 6px 6px 0;
      padding: 30px 40px 32px;
      box-shadow: 0 8px 30px rgba(10,30,63,0.10);
    }
    .at-a-glance__title {
      font-family: var(--f-serif); font-size: 24px; font-weight: 500;
      color: var(--navy-deep); margin-bottom: 18px;
    }
    .at-a-glance__qa { display: grid; gap: 14px; }
    .at-a-glance__q {
      font-family: var(--f-sans); font-size: 13.5px; font-weight: 600;
      color: var(--navy-deep); margin-bottom: 2px;
    }
    .at-a-glance__a {
      font-family: var(--f-serif); font-style: italic; font-size: 16px;
      line-height: 1.55; color: var(--ink); padding-left: 16px;
    }
    .at-a-glance__a strong { font-style: normal; color: var(--navy-deep); font-weight: 600; }
    @media (max-width: 720px) {
      .at-a-glance { padding: 0 16px; transform: translateY(-28px); }
      .at-a-glance__inner { padding: 22px 22px 24px; }
    }
    /* Dossier-/Rechner-Kopf: Aufmacherbild randlos hinter dem Titel, Navy-Verlauf davor */
    .article-hero--backdrop { padding: clamp(56px, 7vw, 96px) 0 clamp(36px, 4vw, 56px); min-height: clamp(360px, 40vw, 520px); display: flex; align-items: flex-end; }
    .article-hero__backdrop { position: absolute; inset: 0; z-index: 0; background: var(--navy-deep); }
    .article-hero__backdrop img { width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center; display: block; opacity: 0.58; }
    .article-hero__backdrop::after {
      content: ''; position: absolute; inset: 0;
      background:
        linear-gradient(180deg, rgba(10,30,63,0.55) 0%, rgba(10,30,63,0.2) 35%, rgba(10,30,63,0.9) 100%),
        linear-gradient(90deg, rgba(10,30,63,0.85) 0%, rgba(10,30,63,0.55) 50%, rgba(10,30,63,0.2) 100%);
    }
    .article-hero--backdrop .article-hero__inner { width: 100%; }
    /* Personen-/Article-Foto wird IM Artikel-Bereich gerahmt gezeigt */
    .article-portrait { background: var(--ivory); padding: 0; }
    .article-portrait__frame {
      max-width: 520px; margin: -32px auto 0; padding: 0;
      background: #fff; border: 1px solid var(--rule); border-radius: 4px;
      box-shadow: 0 12px 36px rgba(10,30,63,0.16);
      position: relative; z-index: 2;
      aspect-ratio: 1/1; overflow: hidden;
    }
    .article-portrait__frame img {
      width: 100%; height: 100%; object-fit: cover; display: block;
    }
    /* News-Aufmacher bilden links eine randlose 40/60-Bühne im Titelkopf.
       Die DOM-Reihenfolge bleibt Titel vor Bild; CSS ordnet die visuelle Bühne. */
    .article-hero__layout { min-width: 0; }
    .article-hero__copy { min-width: 0; }
    .article-hero.article-hero--with-portrait { padding: 0; }
    .article-hero--with-portrait .article-hero__inner { width: 100%; max-width: none; padding: 0; }
    .article-hero--with-portrait .article-hero__layout {
      display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
      min-height: clamp(440px, 34vw, 580px); gap: 0; align-items: stretch;
    }
    .article-hero--with-portrait .article-hero__copy {
      grid-column: 2; grid-row: 1; align-self: center;
      padding: clamp(44px, 5.5vw, 88px); text-align: left;
    }
    .article-hero__portrait {
      grid-column: 1; grid-row: 1; min-width: 0; min-height: 0; margin: 0;
      display: flex; align-items: stretch; justify-content: stretch;
    }
    .article-hero__portrait-frame {
      width: 100%; height: 100%; margin: 0; padding: 0;
      display: block;
      background: transparent;
      border: 0; border-radius: 0;
      box-shadow: none; overflow: hidden;
    }
    .article-hero__portrait-frame img {
      width: 100%; height: 100%; max-width: none; max-height: none;
      object-fit: cover; object-position: center; display: block;
    }
    @media (max-width: 820px) {
      .article-portrait__frame { max-width: 280px; margin-top: -24px; }
      .article-hero--with-portrait .article-hero__layout { grid-template-columns: minmax(0, 1fr); min-height: 0; }
      .article-hero--with-portrait .article-hero__copy { grid-column: 1; grid-row: 2; padding: 32px 20px 30px; }
      .article-hero__portrait { grid-column: 1; grid-row: 1; aspect-ratio: 16 / 10; }
    }
    /* Body-Padding-Anpassung wenn Portrait davor */
    .article-body--with-hero-image { padding-top: 40px; }
    .article-hero__inner { position: relative; z-index: 1; }
    .article-hero__kicker { font-size: 12px; letter-spacing: 0.32em; text-transform: uppercase; color: var(--gold); margin-bottom: 14px; }
    .article-hero__kicker a { color: var(--gold); }
    .article-hero__title { font-family: var(--f-serif); font-size: clamp(32px,4vw,50px); font-weight: 400; line-height: 1.08; max-width: 880px; }
    .article-hero__meta { display: flex; gap: 18px; flex-wrap: wrap; margin-top: 24px; font-size: 13px; opacity: 0.78; align-items: center; }
    .article-hero__meta time { font-variant: tabular-nums; }
    .article-hero__cats { display: flex; gap: 8px; margin-top: 18px; flex-wrap: wrap; }
    .article-hero__cat { display: inline-block; padding: 4px 12px; border: 1px solid rgba(232,214,166,0.4); border-radius: 999px; font-size: 11.5px; letter-spacing: 0.08em; color: rgba(251,248,240,0.9); }
    .article-hero__image {
      max-width: 720px; margin: 32px auto -64px; display: block;
      border-radius: 6px; box-shadow: 0 12px 40px rgba(0,0,0,0.35);
      aspect-ratio: 3/2; object-fit: cover;
    }
    /* Gemeinsame Textachse fuer alle Detail-Heroes ohne integriertes Portraet.
       Das :not() haelt die asymmetrische News-Buehne bewusst linksbuendig. */
    .article-hero--clean:not(.article-hero--with-portrait) .article-hero__inner { margin-inline: auto; text-align: center; }
    .article-hero--clean:not(.article-hero--with-portrait) .article-hero__tags,
    .article-hero--clean:not(.article-hero--with-portrait) .article-hero__metalines > div { justify-content: center; }
    .article-hero--clean:not(.article-hero--with-portrait) .article-hero__title,
    .article-hero--clean:not(.article-hero--with-portrait) .article-hero__subtitle { margin-inline: auto; }
    .article-hero--clean:not(.article-hero--with-portrait) .article-hero__metaleft { align-items: center; }
    .article-body { padding: 48px 0 96px; background: var(--ivory); }
    .article-body .container-narrow { max-width: 760px; }
    .article-body--with-hero-image { padding-top: 96px; }
    /* CyberPedia-spezifische Inhaltsachse: Der Fachtext bleibt fuer lange
       Lektuere linksbuendig, waehrend der Container mittig steht. */
    .pedia-cyber .article-main { width: 100%; max-width: 760px; margin-inline: auto; }
    @media (min-width: 1181px) {
      .pedia-cyber .article-layout {
        max-width: 1376px;
        grid-template-columns: minmax(0, 240px) minmax(0, 760px) minmax(0, 240px);
        grid-template-areas: ". main side";
        column-gap: 32px;
      }
    }
    .event-meta {
      display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
      gap: 0; margin: 0 0 36px; padding: 0; background: var(--paper);
      border: 1px solid var(--rule); border-radius: 6px; overflow: hidden;
    }
    .event-meta__cell {
      padding: 22px 24px; border-right: 1px solid var(--rule);
      display: flex; flex-direction: column; gap: 6px;
    }
    .event-meta__cell:last-child { border-right: none; }
    .event-meta__cell strong {
      font-size: 10.5px; letter-spacing: 0.22em; text-transform: uppercase;
      color: var(--gold-deep); font-weight: 600;
    }
    .event-meta__cell span {
      font-family: var(--f-serif); font-size: 17px; color: var(--navy-deep);
    }
    /* Author-Box am Body-Ende */
    .author-box {
      display: flex; align-items: center; gap: 20px;
      margin: 56px 0 0; padding: 20px 22px;
      background: var(--paper); border: 1px solid var(--rule); border-radius: 6px;
    }
    .author-box__logo {
      width: 64px; height: 64px; flex-shrink: 0;
      background: var(--navy-deep);
      display: flex; align-items: center; justify-content: center;
      border-radius: 4px;
    }
    .author-box__logo img { width: 48px; height: 48px; object-fit: contain; }
    .author-box__meta { font-size: 13.5px; color: var(--ink-soft); line-height: 1.5; }
    .author-box__name { font-family: var(--f-serif); font-size: 18px; color: var(--navy-deep); margin-bottom: 2px; }
    .author-box__role { font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--gold-deep); }
    /* Podcast-Cover und Player stehen wie News vollständig unterhalb des Titelkopfs. */
    .podcast-player {
      padding: clamp(24px, 3vw, 40px) 0 28px;
      background: var(--ivory); border-bottom: 1px solid var(--rule);
    }
    .podcast-player__inner { max-width: 1040px; margin: 0 auto; padding: 0 32px; }
    .podcast-player__card {
      display: grid; grid-template-columns: 184px 1fr; gap: 28px; align-items: center;
      background: var(--paper); border: 1px solid var(--rule);
      border-radius: 10px; padding: 28px 32px;
      box-shadow: 0 14px 38px rgba(10,30,63,0.10);
    }
    .podcast-player__cover {
      width: 184px; height: 184px; border-radius: 8px; overflow: hidden;
      box-shadow: 0 8px 24px rgba(10,30,63,0.14); background: var(--cream);
    }
    .podcast-player__cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
    .podcast-player__body { min-width: 0; }
    .podcast-player__eyebrow {
      display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: 0.14em;
      text-transform: uppercase; color: var(--gold-deep); margin-bottom: 8px;
    }
    /* Nativer Audio-Player — markenkonform getönt, volle Breite */
    .podcast-player__audio {
      width: 100%; height: 44px; display: block; border-radius: 999px;
      filter: saturate(0.9);
    }
    .podcast-player__audio::-webkit-media-controls-panel { background: #f4ede0; }
    .podcast-player__embed {
      width: 100%; height: 180px; border: 0; border-radius: 12px;
      display: block; background: #0a1e3f;
    }
    .podcast-video {
      position: relative; padding-top: 56.25%; width: 100%; margin: 0;
      background: #0a1e3f; border-radius: 12px; overflow: hidden;
    }
    .podcast-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
    .article-sidebar__block--podcast-video { margin-bottom: 24px; }
    .podcast-video--sidebar {
      border: 1px solid var(--rule); border-radius: 8px;
      box-shadow: 0 8px 24px rgba(10,30,63,0.14);
    }
    .prose #podcastfolgen-zum-thema,
    .prose #weiterfuehrende-informationen-zum-thema,
    .prose #news-podcastfolgen-zum-thema,
    .prose #news-weiterfuehrende-informationen,
    .prose #pedia-verwandte-begriffe,
    .prose #pedia-weiterfuehrende-informationen,
    .prose #verknuepfte-autoren,
    .prose .podcast-publication-date,
    .prose details { clear: both; }
    .prose details {
      margin: 32px 0; border: 1px solid var(--rule); border-radius: 8px;
      overflow: hidden; background: var(--paper);
    }
    .prose details > summary {
      display: flex; align-items: center; justify-content: space-between; gap: 18px;
      min-height: 58px; padding: 16px 20px; cursor: pointer; list-style: none;
      color: var(--navy-deep); font-family: var(--f-serif); font-size: 20px;
      font-weight: 600; line-height: 1.3;
    }
    .prose details > summary::-webkit-details-marker { display: none; }
    .prose details > summary::after {
      width: 10px; height: 10px; flex: 0 0 10px; content: "";
      border-right: 2px solid var(--gold-deep); border-bottom: 2px solid var(--gold-deep);
      transform: rotate(45deg); transition: transform 180ms cubic-bezier(0.23,1,0.32,1);
    }
    .prose details[open] > summary { border-bottom: 1px solid var(--rule); }
    .prose details[open] > summary::after { transform: rotate(225deg); }
    .prose details > summary:hover { background: var(--cream); }
    .prose details > summary:focus-visible { outline: 3px solid var(--gold); outline-offset: -3px; }
    .prose details > summary ~ * { margin-left: 20px; margin-right: 20px; }
    .prose details > :last-child { margin-bottom: 20px; }
    .prose :is(#podcastfolgen-zum-thema, #news-podcastfolgen-zum-thema, #weiterfuehrende-informationen-zum-thema, #news-weiterfuehrende-informationen, #pedia-verwandte-begriffe, #pedia-weiterfuehrende-informationen, #weitere-eintraege-in-pedia, #verknuepfte-autoren) + ul {
      display: block; margin: 0 0 34px; padding: 0;
      border-top: 1px solid var(--rule); list-style: none;
    }
    .prose :is(#podcastfolgen-zum-thema, #news-podcastfolgen-zum-thema, #weiterfuehrende-informationen-zum-thema, #news-weiterfuehrende-informationen, #pedia-verwandte-begriffe, #pedia-weiterfuehrende-informationen, #weitere-eintraege-in-pedia, #verknuepfte-autoren) + ul > li {
      display: block; margin: 0; border-bottom: 1px solid var(--rule);
    }
    .prose .podcast-related-card {
      display: flex; width: 100%; min-height: 132px; flex-direction: column; gap: 10px;
      padding: 20px; border: 1px solid var(--rule); border-radius: 8px;
      background: var(--paper); color: var(--navy-deep); text-decoration: none;
      box-shadow: 0 8px 24px rgba(10,30,63,0.07);
      transition: border-color 180ms cubic-bezier(0.23,1,0.32,1), box-shadow 180ms cubic-bezier(0.23,1,0.32,1), transform 180ms cubic-bezier(0.23,1,0.32,1);
    }
    .prose .podcast-related-card--with-image { min-height: 0; padding: 0; gap: 0; overflow: hidden; }
    .prose .podcast-related-card__media {
      display: block; width: 100%; overflow: hidden;
      background: var(--cream);
    }
    .prose .podcast-related-card__media img { display: block; width: auto; max-width: 100%; height: auto; margin: 0 auto; }
    .prose .podcast-related-card--with-image > strong { padding: 16px 18px 0; }
    .prose .podcast-related-card--with-image > span:not(.podcast-related-card__media) { padding: 10px 18px 18px; }
    .prose .podcast-related-card strong { font-family: var(--f-serif); font-size: 20px; line-height: 1.2; }
    .prose .podcast-related-card span { color: var(--ink-soft); font-size: 14px; line-height: 1.55; }
    .prose .podcast-related-card:hover { border-color: var(--gold); box-shadow: 0 12px 30px rgba(10,30,63,0.12); transform: translateY(-2px); }
    .prose .podcast-related-card:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }
    .prose :is(#podcastfolgen-zum-thema, #news-podcastfolgen-zum-thema, #weiterfuehrende-informationen-zum-thema, #news-weiterfuehrende-informationen, #pedia-verwandte-begriffe, #pedia-weiterfuehrende-informationen, #weitere-eintraege-in-pedia, #verknuepfte-autoren) + ul .podcast-related-card {
      display: grid; grid-template-columns: minmax(0, 1fr) 40px;
      grid-template-rows: auto auto; align-items: center;
      column-gap: 22px; row-gap: 6px; min-height: 108px;
      padding: 18px 4px; border: 0; border-radius: 0;
      background: transparent; box-shadow: none; overflow: visible;
      transition: background-color 180ms cubic-bezier(0.23,1,0.32,1);
    }
    .prose :is(#podcastfolgen-zum-thema, #news-podcastfolgen-zum-thema, #weiterfuehrende-informationen-zum-thema, #news-weiterfuehrende-informationen, #pedia-verwandte-begriffe, #pedia-weiterfuehrende-informationen, #weitere-eintraege-in-pedia, #verknuepfte-autoren) + ul .podcast-related-card--with-image {
      grid-template-columns: 108px minmax(0, 1fr) 40px;
      min-height: 146px; padding: 18px 4px;
    }
    .prose :is(#podcastfolgen-zum-thema, #news-podcastfolgen-zum-thema, #weiterfuehrende-informationen-zum-thema, #news-weiterfuehrende-informationen, #pedia-verwandte-begriffe, #pedia-weiterfuehrende-informationen, #weitere-eintraege-in-pedia, #verknuepfte-autoren) + ul .podcast-related-card__media {
      grid-column: 1; grid-row: 1 / span 2;
      width: 108px; height: 108px; overflow: hidden;
    }
    .prose :is(#podcastfolgen-zum-thema, #news-podcastfolgen-zum-thema, #weiterfuehrende-informationen-zum-thema, #news-weiterfuehrende-informationen, #pedia-verwandte-begriffe, #pedia-weiterfuehrende-informationen, #weitere-eintraege-in-pedia, #verknuepfte-autoren) + ul .podcast-related-card__media img {
      width: 100%; max-width: none; height: 100%; margin: 0;
      object-fit: cover;
    }
    .prose :is(#podcastfolgen-zum-thema, #news-podcastfolgen-zum-thema, #weiterfuehrende-informationen-zum-thema, #news-weiterfuehrende-informationen, #pedia-verwandte-begriffe, #pedia-weiterfuehrende-informationen, #weitere-eintraege-in-pedia, #verknuepfte-autoren) + ul .podcast-related-card > strong {
      grid-column: 1; grid-row: 1; align-self: end; padding: 0;
      font-size: 21px; hyphens: auto;
    }
    .prose :is(#podcastfolgen-zum-thema, #news-podcastfolgen-zum-thema, #weiterfuehrende-informationen-zum-thema, #news-weiterfuehrende-informationen, #pedia-verwandte-begriffe, #pedia-weiterfuehrende-informationen, #weitere-eintraege-in-pedia, #verknuepfte-autoren) + ul .podcast-related-card > span:not(.podcast-related-card__media) {
      display: -webkit-box; grid-column: 1; grid-row: 2; align-self: start;
      margin: 0; padding: 0; overflow: hidden;
      -webkit-box-orient: vertical; -webkit-line-clamp: 2;
    }
    .prose :is(#podcastfolgen-zum-thema, #news-podcastfolgen-zum-thema, #weiterfuehrende-informationen-zum-thema, #news-weiterfuehrende-informationen, #pedia-verwandte-begriffe, #pedia-weiterfuehrende-informationen, #weitere-eintraege-in-pedia, #verknuepfte-autoren) + ul .podcast-related-card--with-image > strong,
    .prose :is(#podcastfolgen-zum-thema, #news-podcastfolgen-zum-thema, #weiterfuehrende-informationen-zum-thema, #news-weiterfuehrende-informationen, #pedia-verwandte-begriffe, #pedia-weiterfuehrende-informationen, #weitere-eintraege-in-pedia, #verknuepfte-autoren) + ul .podcast-related-card--with-image > span:not(.podcast-related-card__media) {
      grid-column: 2;
    }
    .prose :is(#podcastfolgen-zum-thema, #news-podcastfolgen-zum-thema, #weiterfuehrende-informationen-zum-thema, #news-weiterfuehrende-informationen, #pedia-verwandte-begriffe, #pedia-weiterfuehrende-informationen, #weitere-eintraege-in-pedia, #verknuepfte-autoren) + ul .podcast-related-card::after {
      grid-column: -2; grid-row: 1 / span 2;
      width: 40px; height: 40px; content: "";
      border: 1px solid var(--rule-strong); border-radius: 50%;
      background-color: var(--paper);
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230a1e3f' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M14 7l5 5-5 5'/%3E%3C/svg%3E");
      background-position: center; background-repeat: no-repeat; background-size: 17px 17px;
    }
    .prose :is(#podcastfolgen-zum-thema, #news-podcastfolgen-zum-thema, #weiterfuehrende-informationen-zum-thema, #news-weiterfuehrende-informationen, #pedia-verwandte-begriffe, #pedia-weiterfuehrende-informationen, #weitere-eintraege-in-pedia, #verknuepfte-autoren) + ul .podcast-related-card:hover {
      border-color: transparent; background-color: rgba(232,214,166,0.14);
      box-shadow: none; transform: none;
    }
    .prose :is(#podcastfolgen-zum-thema, #news-podcastfolgen-zum-thema, #weiterfuehrende-informationen-zum-thema, #news-weiterfuehrende-informationen, #pedia-verwandte-begriffe, #pedia-weiterfuehrende-informationen, #weitere-eintraege-in-pedia, #verknuepfte-autoren) + ul .podcast-related-card:hover > strong {
      text-decoration: underline; text-decoration-color: var(--gold);
      text-decoration-thickness: 1px; text-underline-offset: 4px;
    }
    .prose .linked-author__initials {
      display: grid; width: 100%; height: 100%; place-items: center;
      color: var(--navy-deep); font-family: var(--f-serif); font-size: 32px;
    }
    .prose .linked-authors #verknuepfte-autoren + ul .podcast-related-card > span:not(.podcast-related-card__media) {
      display: block; overflow: visible; -webkit-line-clamp: unset;
    }
    .prose .linked-author__links {
      display: flex; flex-wrap: wrap; gap: 8px 18px;
      margin: 0 4px 18px; padding-left: 130px;
      font-size: 14px; line-height: 1.55;
    }
    .prose .linked-author__links a { color: var(--gold-deep); text-underline-offset: 3px; }
    .prose .linked-author__links a:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }
    .prose .linked-author__item--without-profile .podcast-related-card { cursor: default; }
    .prose .linked-author__item--without-profile .podcast-related-card::after { display: none; }
    .prose .linked-author__item--without-profile .podcast-related-card:hover { background: transparent; }
    .prose .linked-author__item--without-profile .podcast-related-card:hover > strong { text-decoration: none; }
    .prose .news-actions {
      display: flex; flex-wrap: wrap; gap: 12px; margin: 38px 0 10px;
      padding-top: 26px; border-top: 1px solid var(--rule);
    }
    .prose .news-actions a {
      display: inline-flex; min-height: 44px; align-items: center; justify-content: center;
      padding: 10px 18px; border: 1px solid var(--navy-deep); border-radius: 999px;
      color: var(--navy-deep); font-weight: 700; text-decoration: none;
    }
    .prose .news-actions a:last-child { background: var(--navy-deep); color: var(--cream); }
    .prose .news-actions a:hover { border-color: var(--gold-deep); color: var(--gold-deep); }
    .prose .news-actions a:last-child:hover { background: var(--gold-deep); color: var(--cream); }
    .prose .news-actions a:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }
    .podcast-player__links {
      margin: 16px 0 0; font-size: 13px; color: var(--ink-soft);
      letter-spacing: 0.02em;
    }
    .podcast-player__links span:first-child { font-weight: 600; color: var(--navy-deep); }
    .podcast-player__links .sep { margin: 0 6px; color: var(--rule-strong); }
    .podcast-player__links a {
      color: var(--gold-deep); font-weight: 600; border-bottom: 1px solid var(--rule-strong);
      padding-bottom: 1px;
    }
    .podcast-player__links a:hover { color: var(--navy-deep); border-color: var(--gold-deep); }
    .podcast-platform-list { display: flex; flex-wrap: wrap; gap: 6px 20px; margin-top: 6px; }
    .podcast-player__platforms a.podcast-platform {
      display: inline-flex; align-items: center; gap: 8px; min-height: 44px;
      border: 0; padding: 0; text-decoration: none; text-align: left;
    }
    .podcast-platform__icon {
      display: block; flex: 0 0 28px; width: 28px; height: 28px; object-fit: contain;
      filter: grayscale(1) contrast(8);
    }
    .podcast-player__platforms a.podcast-platform:hover { text-decoration: underline; text-underline-offset: 4px; }
    .podcast-player__platforms a.podcast-platform:focus-visible {
      outline: 2px solid var(--navy-deep); outline-offset: 4px;
    }
    @media (max-width: 720px) {
      .podcast-platform-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 12px; }
    }
    @media (max-width: 359px) {
      .podcast-platform-list { grid-template-columns: 1fr; }
    }
    @media (max-width: 720px) {
      .podcast-player__inner { padding: 0 18px; }
      .podcast-player__card { grid-template-columns: 1fr; gap: 18px; padding: 22px; text-align: center; }
      .podcast-player__cover { width: 156px; height: 156px; margin: 0 auto; }
      .podcast-player__links { text-align: center; }
      .prose :is(#podcastfolgen-zum-thema, #news-podcastfolgen-zum-thema, #weiterfuehrende-informationen-zum-thema, #news-weiterfuehrende-informationen, #pedia-verwandte-begriffe, #pedia-weiterfuehrende-informationen, #weitere-eintraege-in-pedia, #verknuepfte-autoren) + ul .podcast-related-card {
        grid-template-columns: minmax(0, 1fr); column-gap: 15px;
        min-height: 96px; padding: 16px 0;
      }
      .prose :is(#podcastfolgen-zum-thema, #news-podcastfolgen-zum-thema, #weiterfuehrende-informationen-zum-thema, #news-weiterfuehrende-informationen, #pedia-verwandte-begriffe, #pedia-weiterfuehrende-informationen, #weitere-eintraege-in-pedia, #verknuepfte-autoren) + ul .podcast-related-card--with-image {
        grid-template-columns: 72px minmax(0, 1fr); min-height: 106px;
        padding: 16px 0;
      }
      .prose :is(#podcastfolgen-zum-thema, #news-podcastfolgen-zum-thema, #weiterfuehrende-informationen-zum-thema, #news-weiterfuehrende-informationen, #pedia-verwandte-begriffe, #pedia-weiterfuehrende-informationen, #weitere-eintraege-in-pedia, #verknuepfte-autoren) + ul .podcast-related-card__media {
        width: 72px; height: 72px;
      }
      .prose :is(#podcastfolgen-zum-thema, #news-podcastfolgen-zum-thema, #weiterfuehrende-informationen-zum-thema, #news-weiterfuehrende-informationen, #pedia-verwandte-begriffe, #pedia-weiterfuehrende-informationen, #weitere-eintraege-in-pedia, #verknuepfte-autoren) + ul .podcast-related-card > strong {
        font-size: 18px; line-height: 1.22;
      }
      .prose :is(#podcastfolgen-zum-thema, #news-podcastfolgen-zum-thema, #weiterfuehrende-informationen-zum-thema, #news-weiterfuehrende-informationen, #pedia-verwandte-begriffe, #pedia-weiterfuehrende-informationen, #weitere-eintraege-in-pedia, #verknuepfte-autoren) + ul .podcast-related-card > span:not(.podcast-related-card__media) {
        -webkit-line-clamp: 1;
      }
      .prose :is(#podcastfolgen-zum-thema, #news-podcastfolgen-zum-thema, #weiterfuehrende-informationen-zum-thema, #news-weiterfuehrende-informationen, #pedia-verwandte-begriffe, #pedia-weiterfuehrende-informationen, #weitere-eintraege-in-pedia, #verknuepfte-autoren) + ul .podcast-related-card::after { display: none; }
      .prose .linked-author__links { margin: 0 0 16px; padding-left: 87px; }
    }
    @media (prefers-reduced-motion: reduce) {
      .prose .podcast-related-card { transition: none; }
      .prose .podcast-related-card:hover { transform: none; }
      .prose details > summary::after { transition: none; }
    }
    /* ARTICLE-CREDITS-Block (Autor · Datum · Lesezeit · Cluster) */
    .article-credits {
      max-width: 1240px; margin: 0 auto; padding: 22px 32px 0;
      border-bottom: 1px solid var(--rule);
    }
    .article-credits__line {
      display: flex; gap: 14px; flex-wrap: wrap; align-items: baseline;
      padding-bottom: 12px; font-size: 13.5px; color: var(--ink-soft);
    }
    .article-credits__line + .article-credits__line { padding-top: 12px; border-top: 1px solid rgba(154, 119, 52,0.15); }
    .article-credits__line strong { color: var(--navy-deep); font-weight: 600; }
    .article-credits__sep { color: var(--rule); }
    .article-credits__author { display: inline-flex; align-items: center; gap: 8px; color: var(--gold-deep); }
    /* SUMMARY-LEAD: KI-generierte Zusammenfassung (sonnet) — Lead-Paragraph oberhalb des Body */
    .article-summary {
      grid-area: main;
      font-family: var(--f-serif); font-size: 19px; line-height: 1.55;
      color: var(--navy-deep); font-style: italic; font-weight: 400;
      padding: 18px 0 22px; margin: 0 0 18px;
      border-left: 3px solid var(--gold); padding-left: 22px;
      background: linear-gradient(90deg, rgba(154, 119, 52,0.05), transparent 60%);
    }
    .article-summary__label {
      display: block; font-family: var(--f-sans); font-size: 11px;
      letter-spacing: 0.22em; text-transform: uppercase;
      color: var(--gold-deep); font-weight: 600; font-style: normal;
      margin-bottom: 8px;
    }
    /* ARTICLE-LAYOUT: 2-Spalten Main + Sidebar (CSE-Pattern).
       Sidebar steht im DOM VOR der Main-Article, damit malformed body_html
       (TYPO3-Legacy mit unbalanced divs) den Aside nicht aus dem Grid kickt.
       Visuell wird per grid-template-areas vertauscht. */
    .article-layout {
      max-width: 1240px; margin: 0 auto; padding: 48px 32px 96px;
      display: grid; grid-template-columns: 1fr 280px; gap: clamp(40px, 5vw, 64px);
      grid-template-areas: "main side";
      background: var(--ivory);
    }
    .article-main { min-width: 0; grid-area: main; }
    .article-sidebar { grid-area: side; }
    .article-sidebar__primary { min-width: 0; font-family: var(--f-sans); }
    .article-sidebar {
      font-family: var(--f-sans);
      position: sticky; top: 88px; align-self: start;
      max-height: calc(100vh - 110px); overflow-y: auto;
      scrollbar-width: thin; scrollbar-color: var(--rule-strong) transparent;
      padding-right: 4px;
    }
    .article-sidebar__block { margin-bottom: 32px; }
    .article-sidebar__block h3 {
      font-family: var(--f-serif); font-size: 13px;
      letter-spacing: 0.2em; text-transform: uppercase;
      color: var(--gold-deep); font-weight: 600;
      margin-bottom: 14px; padding-bottom: 8px;
      border-bottom: 1px solid var(--rule);
    }
    /* TOC mit Nummern-Präfix (CSE-Pattern: "1 — Titel...") */
    .article-toc { list-style: none; padding: 0; margin: 0; counter-reset: toc-num; }
    .article-toc li { margin-bottom: 4px; counter-increment: toc-num; }
    .article-toc a {
      display: grid; grid-template-columns: 22px 1fr; gap: 8px; align-items: baseline;
      padding: 7px 8px 7px 10px;
      font-size: 13.5px; color: var(--ink-soft);
      border-left: 2px solid transparent;
      transition: color .15s, border-color .15s, background .15s;
      line-height: 1.4;
    }
    .article-toc a::before {
      content: counter(toc-num);
      font-family: var(--f-serif); font-size: 13px;
      color: var(--gold-deep); font-weight: 500; text-align: right;
      opacity: 0.72;
    }
    .article-toc a:hover { color: var(--gold-deep); }
    .article-toc a:hover::before { opacity: 1; }
    .article-toc a.is-active {
      color: var(--navy-deep); border-color: var(--gold);
      background: rgba(154, 119, 52,0.06); font-weight: 500;
    }
    .article-toc a.is-active::before { color: var(--gold-deep); opacity: 1; font-weight: 600; }
    .article-toc li.is-h3 { counter-increment: none; }
    .article-toc li.is-h3 a { padding-left: 28px; font-size: 12.5px; opacity: 0.85; grid-template-columns: 14px 1fr; }
    .article-toc li.is-h3 a::before { content: '—'; font-size: 11px; color: var(--rule-strong); }
    /* Sidebar-Card "Begriff nachschlagen" — Glossar-Hinweis (CSE-Pattern) */
    .article-sidebar__lookup {
      padding: 18px 18px 20px; background: var(--cream); border: 1px solid var(--rule);
      border-radius: 6px;
    }
    .article-sidebar__lookup p {
      font-size: 13px; line-height: 1.6; color: var(--ink-soft); margin-bottom: 14px;
    }
    .article-sidebar__lookup a {
      display: inline-flex; align-items: center; gap: 6px;
      font-family: var(--f-sans); font-size: 11.5px; font-weight: 600;
      letter-spacing: 0.18em; text-transform: uppercase;
      color: var(--gold-deep); border-bottom: 1px solid var(--gold);
      padding-bottom: 2px;
    }
    .article-sidebar__lookup a:hover { color: var(--navy-deep); }
    /* Beratung-CTA: erweitert (CSE-Style — längerer Lead + Pill-Link) */
    .article-sidebar__cta {
      padding: 20px 20px 22px; background: var(--navy-deep); color: var(--cream); border-radius: 6px;
    }
    .article-sidebar__cta p { font-size: 13px; line-height: 1.6; margin-bottom: 14px; opacity: 0.92; }
    .article-sidebar__cta a {
      display: inline-flex; align-items: center; gap: 6px;
      font-family: var(--f-sans); font-size: 11.5px; font-weight: 600;
      letter-spacing: 0.18em; text-transform: uppercase;
      color: var(--gold); border-bottom: 1px solid var(--gold);
      padding-bottom: 2px; background: transparent;
    }
    .article-sidebar__cta a:hover { color: var(--cream); border-bottom-color: var(--cream); }
    .article-sidebar__cta a.btn {
      display: inline-block; padding: 8px 14px; border-radius: 4px;
      background: var(--action-bg); color: var(--action-fg);
      border-bottom: 0;
      border-radius: 4px; font-weight: 600; font-size: 12.5px;
      letter-spacing: 0.06em; text-transform: uppercase;
    }
    .article-sidebar__cta a:hover { background: var(--action-bg-hover); color: var(--action-fg); }
    /* Mobile: TOC vor den Artikel, ergänzende Sidebar-Blöcke danach.
       Das TOC-Script gleicht auch die DOM-Reihenfolge an, damit Tastatur- und
       Screenreader-Navigation derselben Reihenfolge wie das sichtbare Grid folgt. */
    @media (max-width: 980px) {
      .article-layout {
        grid-template-columns: 1fr !important;
        grid-template-areas: "main" "side" !important;
        padding: 40px 24px 80px;
        gap: 32px;
      }
      .article-layout.article-layout--mobile-toc {
        grid-template-areas: "toc" "main" "side" !important;
      }
      .article-main { grid-area: main; }
      .article-sidebar {
        grid-area: side; position: static; max-height: none; overflow: visible;
        padding-right: 0; top: auto; align-self: stretch;
        border-top: 1px solid var(--rule); padding-top: 28px;
      }
      .article-layout--mobile-toc > .article-sidebar__primary {
        grid-area: toc; min-width: 0;
      }
      .article-layout--mobile-toc > .article-sidebar__primary .article-sidebar__block--toc { margin-bottom: 0; }
      .article-sidebar__block { margin-bottom: 24px; }
    }
    @media (max-width: 560px) {
      .article-layout { padding: 28px 16px 64px; }
      .at-glance { padding: 18px; }
      .article-hero { padding: 32px 16px 28px; }
      .article-hero__title { font-size: clamp(28px, 7vw, 36px) !important; }
      .prose { font-size: 16px; }
    }
    /* Related-Grid: 3 Spalten auf Desktop, 2 ab 720px, 1 auf Mobile */
    .related-grid {
      display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px;
    }
    @media (max-width: 920px) { .related-grid { grid-template-columns: repeat(2, 1fr); } }
    @media (max-width: 560px) { .related-grid { grid-template-columns: 1fr; gap: 14px; } }
    /* H2-IDs für TOC: small anchor link wenn hovered */
    .prose h2[id], .prose h3[id] { scroll-margin-top: 100px; position: relative; }
    /* === Steuerrechner-Shell (neu, sauber): === */
    .prose .steuerrechner-shell { display: block; margin: 0 0 32px; }
    .prose .srechner-intro-title {
      font-family: var(--f-serif); color: var(--navy-deep);
      font-size: 28px; font-weight: 500; margin: 0 0 18px; line-height: 1.25;
    }
    .prose .steuerrechner-intro {
      background: linear-gradient(135deg, rgba(154, 119, 52,0.07) 0%, rgba(10,30,63,0.04) 100%);
      border-left: 3px solid var(--gold);
      padding: 20px 26px; margin: 0 0 32px; border-radius: 0 6px 6px 0;
    }
    .prose .steuerrechner-intro h3 {
      margin-top: 0; font-size: 19px; color: var(--navy-deep);
      font-family: var(--f-serif); font-weight: 600;
    }
    .prose .steuerrechner-intro p { font-size: 16px; line-height: 1.6; margin: 8px 0; }
    .prose .steuerrechner-intro p:last-child { margin-bottom: 0; }
    .prose .steuerrechner-calc {
      background: #fff; border: 1px solid var(--rule); border-radius: 8px;
      padding: 28px 28px 32px; margin: 0;
      box-shadow: 0 4px 16px rgba(10,30,63,0.06);
    }
    .prose .steuerrechner-calc table { width: 100%; border-collapse: separate; border-spacing: 0; margin: 0; }
    .prose .steuerrechner-calc table td {
      padding: 12px 8px; border-bottom: 1px solid rgba(10,30,63,0.06);
      font-family: var(--f-sans); font-size: 15px; vertical-align: middle;
    }
    .prose .steuerrechner-calc table td.right,
    .prose .steuerrechner-calc table td[class*="input-field"] { text-align: right; }
    .prose .steuerrechner-calc table tr:last-child td { border-bottom: 0; }
    .prose .steuerrechner-calc input[type="text"],
    .prose .steuerrechner-calc input[type="number"],
    .prose .steuerrechner-calc input:not([type]) {
      width: auto; min-width: 130px; max-width: 200px; padding: 8px 10px;
      font-size: 15px; text-align: right; font-family: var(--f-sans);
      border: 1px solid var(--rule); border-radius: 4px; background: #fff;
      color: var(--ink); margin: 0;
    }
    .prose .steuerrechner-calc input[disabled],
    .prose .steuerrechner-calc input[readonly] {
      background: var(--cream); color: var(--navy-deep); font-weight: 600;
      border-color: rgba(154, 119, 52,0.4);
    }
    .prose .steuerrechner-calc input[type="button"],
    .prose .steuerrechner-calc input[type="submit"],
    .prose .steuerrechner-calc button {
      padding: 12px 26px !important; background: var(--navy-deep) !important; color: var(--cream) !important;
      border: 0 !important; border-radius: 4px !important; cursor: pointer;
      font-family: var(--f-sans) !important; font-size: 14px !important; font-weight: 600 !important;
      letter-spacing: 0.06em !important; text-transform: uppercase !important;
      float: none !important; display: inline-block !important; margin: 18px 0 0 !important;
      box-shadow: none !important;
    }
    .prose .steuerrechner-calc input[type="button"]:hover,
    .prose .steuerrechner-calc button:hover { background: var(--gold-deep) !important; }
    .prose .steuerrechner-calc select {
      padding: 8px 10px; font-size: 15px; border: 1px solid var(--rule);
      border-radius: 4px; background: #fff; font-family: var(--f-sans);
    }
    .prose .steuerrechner-calc b, .prose .steuerrechner-calc strong { color: var(--navy-deep); }
    .prose .steuerrechner-calc h3, .prose .steuerrechner-calc h4 {
      margin: 20px 0 10px; color: var(--navy-deep); font-family: var(--f-serif);
    }
    .prose .srechner-mail-btn {
      display: inline-block; padding: 14px 32px; background: var(--navy-deep);
      color: var(--cream); border-radius: 4px; font-family: var(--f-sans);
      font-size: 14px; font-weight: 600; letter-spacing: 0.06em;
      text-transform: uppercase; text-decoration: none; border: 0;
    }
    .prose .srechner-mail-btn:hover { background: var(--gold-deep); color: var(--cream); }
    @media (max-width: 640px) {
      .prose .steuerrechner-calc { padding: 18px 14px; }
      .prose .steuerrechner-calc table td { display: block; width: 100%; padding: 6px 0; text-align: left !important; }
      .prose .steuerrechner-calc input[type="text"] { width: 100% !important; max-width: none !important; }
    }

    /* Legacy-fallback (alte body_html falls jemand revertet) */
    .prose .calculateerbschaft, .prose .calculategrunderwerb, .prose .calculategrunderwerbzwei,
    .prose .calculateLiquidation, .prose .calculatesnnr, .prose .calculatevga,
    .prose .calculatevermoegennr, .prose .calculatevermoegenr {
      display: block; padding: 24px; background: var(--paper); border: 1px solid var(--rule);
      border-radius: 6px; margin: 24px 0;
    }
    .prose input[type="text"], .prose input[type="number"], .prose input:not([type]),
    .prose select {
      width: 100%; max-width: 360px; padding: 10px 12px; font-size: 15px;
      border: 1px solid var(--rule); border-radius: 4px; background: #fff;
      font-family: var(--f-sans); color: var(--ink); margin: 6px 0 10px;
    }
    .prose input:focus, .prose select:focus { outline: none; border-color: var(--gold); box-shadow: 0 0 0 2px rgba(154, 119, 52,0.18); }
    .prose button, .prose input[type="button"], .prose input[type="submit"] {
      padding: 10px 22px; background: var(--navy-deep); color: var(--cream);
      border: 0; border-radius: 4px; cursor: pointer; font-family: var(--f-sans);
      font-size: 14px; font-weight: 600; letter-spacing: 0.04em;
    }
    .prose button:hover, .prose input[type="button"]:hover { background: var(--gold-deep); }
    /* Alt-Regel für frühere Inline-Rechner-Ergebnisboxen. Der NEUE Steuerrechner
       (.rechner__result, id="rechner-result") MUSS ausgenommen bleiben — sonst kapert
       diese Regel margin-top:20px (Versatz zur Formularkarte) + cream/gold-Optik. */
    .prose [id$="result"]:not(.rechner__result):not(.rechner__panel *), .prose [id*="ergebnis"]:not(.rechner__result):not(.rechner__panel *) { padding: 16px; background: var(--cream); border-left: 3px solid var(--gold); margin: 20px 0; }
    .prose {
      min-width: 0;
      font-size: 17px;
      line-height: 1.75;
      color: var(--ink);
      overflow-wrap: anywhere;
    }
    .prose h1, .prose h2, .prose h3 { font-family: var(--f-serif); color: var(--navy-deep); margin: 36px 0 14px; font-weight: 500; }
    .prose h1 { font-size: 30px; }
    .prose h2 { font-size: 26px; }
    .prose h3 { font-size: 22px; }
    .prose p { margin: 14px 0; }
    .prose a { color: var(--gold-deep); border-bottom: 1px solid var(--rule); }
    .prose a.managed-crosslink { font-weight: 600; border-bottom-color: var(--gold); }
    .prose a:hover { color: var(--navy-deep); }
    .prose ul, .prose ol { margin: 14px 0 14px 28px; }
    .prose li { margin: 6px 0; }
    /* Blockquote — Gesetzestext-Style (CSE-Pattern: cream bg + gold border-left, NICHT kursiv) */
    .prose blockquote {
      background: var(--cream); border-left: 3px solid var(--gold);
      padding: 20px 24px; margin: 28px 0; color: var(--ink);
      font-family: var(--f-serif); font-style: normal; font-size: 16px;
      line-height: 1.65; border-radius: 0 4px 4px 0;
    }
    .prose blockquote p { margin: 8px 0; }
    .prose blockquote strong, .prose blockquote b {
      color: var(--navy-deep); font-weight: 600; font-family: var(--f-serif);
    }
    .prose blockquote em, .prose blockquote .quelle {
      font-style: italic; color: var(--ink-soft); font-size: 14.5px;
    }
    .prose img { margin: 24px 0; border-radius: 4px; max-width: 100%; height: auto; }
    .prose figure[data-image-size] { margin-block: 30px; }
    .prose figure[data-image-size="small"] { width: 34%; }
    .prose figure[data-image-size="medium"] { width: 56%; }
    .prose figure[data-image-size="large"] { width: 78%; }
    .prose figure[data-image-size="full"] { width: 100%; }
    .prose figure[data-image-align="left"] { margin-inline: 0 auto; }
    .prose figure[data-image-align="center"] { margin-inline: auto; }
    .prose figure[data-image-align="right"] { margin-inline: auto 0; }
    .prose figure[data-image-size] img { display: block; width: 100%; margin: 0; }
    .prose figure[data-image-size] figcaption { margin-top: 9px; color: var(--ink-soft); font-family: var(--f-sans); font-size: 13px; line-height: 1.45; text-align: center; }
    @media (max-width: 680px) {
      .prose figure[data-image-size] { width: 100%; margin-inline: 0; }
    }
    .prose strong { color: var(--navy-deep); }
    .prose table { border-collapse: collapse; margin: 18px 0; width: 100%; }
    .prose th { background: var(--cream); font-family: var(--f-sans); font-weight: 600; }
    /* TYPO3-Layout-Wrapper komplett transparent — KEIN visueller Effekt */
    .prose .row,
    .prose .DetailsView,
    .prose .header,
    .prose .frame-group-container,
    .prose .frame-group-inner,
    .prose .frame-container,
    .prose .frame-inner,
    .prose .frame-default,
    .prose .frame-no-backgroundimage,
    .prose .frame-type-text,
    .prose .frame-type-textmedia,
    .prose .frame-type-textpic,
    .prose .frame-type-html,
    .prose .frame-type-image,
    .prose .frame-backgroundimage-container,
    .prose [class*="frame-backgroundimage-"],
    .prose .ce-textpic,
    .prose .ce-bodytext,
    .prose .ce-text,
    .prose .ce-inner,
    .prose .ce-gallery,
    .prose .ce-row,
    .prose .ce-column,
    .prose .ce-outer,
    .prose .ce-headline,
    .prose .news-text-wrap,
    .prose .news-img-wrap,
    .prose .col-md-12, .prose .col-md-6, .prose .col-md-8, .prose .col-md-4,
    .prose .container-fluid,
    .prose .grid,
    .prose .gridrow {
      display: block; padding: 0; margin: 0;
      background: none !important; border: none !important;
      box-shadow: none !important; min-height: 0 !important;
    }
    /* Layoutfreie article-/details-Wrappers nicht stilen */
    .prose .article { display: block; }
    /* Embedded Media (Vimeo, YouTube, Podigee) FULL-WIDTH 16:9 */
    .prose iframe {
      width: 100% !important; max-width: 760px !important;
      aspect-ratio: 16/9 !important; height: auto !important;
      border: 0; border-radius: 8px; margin: 28px auto !important;
      display: block !important; background: var(--navy-deep);
      box-shadow: 0 6px 20px rgba(10,30,63,0.18);
      float: none !important; position: static !important;
    }
    .prose audio {
      width: 100% !important; max-width: 760px !important;
      margin: 24px auto !important; display: block !important;
    }
    /* MD-Migration: prose-embed-Wrapper für 16:9 iframes */
    .prose .prose-embed {
      position: relative; padding-top: 56.25%;
      width: 100%; max-width: 760px;
      margin: 28px auto;
      background: var(--navy-deep); border-radius: 8px; overflow: hidden;
      box-shadow: 0 6px 20px rgba(10,30,63,0.18);
    }
    .prose .prose-embed iframe {
      position: absolute !important; inset: 0 !important;
      width: 100% !important; max-width: 100% !important;
      height: 100% !important; aspect-ratio: auto !important;
      margin: 0 !important; border-radius: 0 !important;
      box-shadow: none !important;
    }
    /* MD-Migration: md-Tabellen (saubere markdown-tables) */
    .prose .md-table {
      width: 100%; border-collapse: collapse; margin: 28px 0;
      font-size: 14.5px; background: var(--paper);
      border: 1px solid var(--rule); border-radius: 6px; overflow: hidden;
    }
    .prose .md-table th {
      background: var(--cream); color: var(--navy-deep); font-weight: 600;
      text-align: left; padding: 12px 14px;
      border-bottom: 2px solid var(--gold); font-size: 13px;
      letter-spacing: 0.04em;
    }
    .prose .md-table td {
      padding: 10px 14px; border-bottom: 1px solid var(--rule);
      vertical-align: top; line-height: 1.5;
    }
    .prose .md-table tr:last-child td { border-bottom: none; }
    .prose .md-table tr:nth-child(even) td { background: rgba(232,214,166,0.04); }
    .news-attachments { margin: 34px 0; padding: 24px 0; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
    .news-attachments h2 { margin-top: 0; }
    .news-attachments__list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
    .news-attachments__list a { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 12px 14px; border: 1px solid var(--rule); border-radius: 6px; text-decoration: none; }
    .news-attachments__list small { color: var(--gold-deep); font-weight: 700; letter-spacing: .12em; }
    .news-gallery { margin: 34px 0; }
    .news-gallery__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
    .news-gallery figure { min-width: 0; margin: 0; overflow: hidden; border-radius: 7px; background: var(--cream); }
    .news-gallery a { display: block; }
    .news-gallery img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: contain; }
    @media (max-width: 900px) { .news-gallery__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
    @media (max-width: 560px) { .news-gallery__grid { grid-template-columns: 1fr; } }
    /* Audio-source ohne <audio>-Wrapper? Falls Standalone-<source>-Tag im body,
       baut Browser keinen Player → CSS hilft nicht. JS-Workaround unten. */
    .legacy-note { margin-top: 48px; padding: 16px 20px; background: var(--cream); border-left: 3px solid var(--gold); font-size: 13.5px; color: var(--ink-soft); }
    .related { padding: 64px 0; border-top: 1px solid var(--rule); background: var(--paper); }
    .related h3 { font-family: var(--f-serif); font-size: 26px; margin-bottom: 24px; color: var(--navy-deep); font-weight: 500; }
    /* Verwandte Begriffe und echte Vertiefungen stehen im Lesefluss unmittelbar
       vor den Quellen. Nur der rechtliche Hinweis bleibt im Artikel-Footer. */
    .article-footer { margin-top: 44px; padding-top: 30px; border-top: 1px solid var(--rule); }
    .article-support-links { margin: 34px 0; }
    .article-support-links > aside { margin: 0; }
    .article-support-links > aside + aside { margin-top: 42px; }
    .wegweiser-contact {
      margin-top: 42px;
      padding: 30px clamp(22px, 4vw, 36px);
      border: 1px solid var(--rule);
      border-left: 4px solid var(--gold);
      border-radius: 8px;
      background: var(--cream);
    }
    .wegweiser-contact__title {
      margin: 0 0 12px;
      font-family: var(--f-serif);
      font-size: clamp(26px, 3vw, 34px);
      color: var(--navy-deep);
    }
    .wegweiser-contact p { margin: 0 0 18px; }
    .wegweiser-contact__cta { color: var(--gold-deep); font-weight: 700; }
    .wegweiser-contact blockquote {
      margin: 26px 0 0;
      padding: 18px 0 0;
      border-top: 1px solid var(--rule);
      color: var(--navy-deep);
      font-family: var(--f-serif);
      font-size: 20px;
      font-style: italic;
    }
    .wegweiser-contact blockquote p { margin: 0; }
    /* Hinweis: kleiner, ruhiger Satz nach den Quellen. */
    .legal-disclaimer {
      display: block; margin-top: 30px; padding-top: 22px;
      border-top: 1px solid var(--rule);
    }
    .legal-disclaimer__label {
      display: inline; font-family: var(--f-sans); font-size: 12.5px; font-weight: 600;
      font-style: italic; letter-spacing: 0; text-transform: none; color: var(--gold-deep);
    }
    .legal-disclaimer__text { font-size: 12.5px; line-height: 1.6; color: var(--ink-soft); }
    /* ====== Steuerrechner (interaktiv) ====== */
    .rechner { margin: 8px 0 8px; }
    .rechner__intro { font-family: var(--f-serif); font-size: 17px; line-height: 1.6; color: var(--ink); margin: 0 0 24px; }
    .rechner__panel { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; align-items: start; }
    .rechner__panel > * { align-self: start; margin-top: 0; }
    @media (max-width: 720px) { .rechner__panel { grid-template-columns: 1fr; } }
    .rechner__form {
      background: #fff; border: 1px solid rgba(166,134,74,0.32); border-radius: 10px;
      padding: 24px; display: grid; gap: 16px; align-self: start; margin: 0;
      box-shadow: 0 2px 0 rgba(166,134,74,0.14), 0 8px 24px rgba(10,30,63,0.05);
    }
    .rechner__row { display: grid; gap: 6px; }
    .rechner .rechner__field-help { margin: 0; font-size: 12px; line-height: 1.5; color: var(--ink-soft); }
    .rechner .rechner__scope { margin: 0 0 16px; color: var(--gold-deep); font-size: 12.5px; font-weight: 600; }
    .rechner[data-rechner="steuerrechner-selbstnutzungssteuer-nichtresidenten"] .rechner__line.is-hint { margin-top: 20px; padding: 14px; border: 0; border-radius: 5px; background: var(--ivory); opacity: 1; }
    .rechner[data-rechner="steuerrechner-selbstnutzungssteuer-nichtresidenten"] .rechner__line.is-hint .rechner__line-value { font-size: 13px; font-weight: 500; overflow-wrap: anywhere; }
    .rechner__label { font-family: var(--f-sans); font-size: 13px; font-weight: 600; color: var(--navy-deep); letter-spacing: 0.01em; }
    .rechner__inputwrap { position: relative; display: flex; align-items: center; }
    .rechner__input, .rechner__select {
      font-family: var(--f-sans); font-size: 15px; color: var(--ink); width: 100%; box-sizing: border-box;
      background: var(--ivory); border: 1px solid rgba(10,30,63,0.18); border-radius: 6px; padding: 11px 13px;
    }
    .rechner__input { padding-right: 42px; }
    .rechner__input:focus, .rechner__select:focus { outline: none; border-color: var(--gold); box-shadow: 0 0 0 3px rgba(232,214,166,0.35); background: #fff; }
    .rechner__unit { position: absolute; right: 13px; font-size: 13px; color: var(--muted); pointer-events: none; }
    .rechner__btn {
      margin-top: 4px; padding: 13px 24px; border: 0; border-radius: 6px; cursor: pointer;
      background: var(--navy-deep); color: var(--cream); font-family: var(--f-sans); font-size: 14px; font-weight: 700;
      letter-spacing: 0.05em; text-transform: uppercase; transition: background .18s;
    }
    .rechner__btn:hover { background: var(--gold-deep); }
    .rechner__result {
      background: #fff; border: 1px solid var(--rule);
      color: var(--navy-deep); border-radius: 10px; padding: 24px; align-self: start; margin: 0;
    }
    /* Label ÜBER Wert (gestapelt), oben ausgerichtet, blaue Schrift (Sven 25.07.) */
    .rechner__line { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; padding: 11px 0; border-bottom: 1px solid var(--rule); font-size: 14px; }
    .rechner__line:first-child { padding-top: 0; }
    .rechner__line:last-child { border-bottom: none; }
    .rechner__line-label { color: var(--ink-soft); font-size: 12.5px; letter-spacing: 0.01em; }
    .rechner__line-value { font-family: var(--f-sans); font-weight: 700; color: var(--navy-deep); font-variant-numeric: tabular-nums; font-size: 16px; }
    .rechner__line.is-primary { margin-top: 8px; padding-top: 16px; border-top: 2px solid var(--gold); border-bottom: none; }
    .rechner__line.is-primary .rechner__line-label { color: var(--gold-deep); font-weight: 700; font-size: 13px; text-transform: uppercase; letter-spacing: 0.08em; }
    .rechner__line.is-primary .rechner__line-value { color: var(--navy-deep); font-size: 26px; font-family: var(--f-serif); font-weight: 500; }
    .rechner__line.is-hint { font-size: 12.5px; opacity: 0.72; }
    .rechner__err { color: #b3261e; font-size: 13.5px; margin: 0; }
    .rechner__note { font-size: 12.5px; color: var(--muted); line-height: 1.55; margin: 18px 0 0; }
    /* Orientierungshinweis im Panel, direkt unter dem Ergebnis (steuerrechner.js: renderRechnerHinweis). */
    .rechner__hinweis { font-size: 12.5px; color: var(--muted); line-height: 1.55; margin: 16px 0 0; padding-top: 12px; border-top: 1px dashed var(--rule); }
    .rechner__hinweis-link { color: var(--gold-deep); border-bottom: 1px solid currentColor; white-space: nowrap; }
    .author-opinion { margin-top: 26px; padding: 12px 14px; border-left: 3px solid var(--gold); background: var(--cream); border-radius: 6px; font-size: 13px; line-height: 1.6; color: var(--ink-soft); }
    .author-opinion__label { color: var(--gold-deep); }
    .article-sources { margin-top: 28px; padding-top: 18px; border-top: 1px solid var(--rule); }
    .article-sources__label { font-family: var(--f-sans); font-size: 12px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--gold-deep); margin: 0 0 10px; }
    .article-sources__list { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 6px; font-size: 14px; color: var(--ink-soft); }
    .article-sources__list a { color: var(--gold-deep); text-decoration: none; border-bottom: 1px solid var(--rule); }
    .rechner__sources { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--rule); }
    .rechner__sources h3 { font-family: var(--f-sans); font-size: 12px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--gold-deep); margin: 0 0 10px; }
    .rechner__sources ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
    .rechner__sources a { font-size: 14px; color: var(--gold-deep); border-bottom: 1px solid var(--rule); text-decoration: none; }
    .block-dossier--rechner .rechner-tile__icon { display: inline-flex; }
    .block-dossier--rechner .rechner-tile__icon svg { width: 22px; height: 22px; color: var(--gold-deep); }

/* hub-searchbar.css */
    /* Nur die CyberPedia bekommt die gewünschte mittige Seitenachse. Lange
       Fließtexte bleiben linksbündig, damit ihre Lesbarkeit nicht leidet. */
    /* Hub-Kopf der CyberPedia linksbündig wie alle Wissen-Untermenüpunkte (einheitliche Bildköpfe). */
    /* Hub-Searchbar (zwischen Hero und Featured) */
    .hub-searchbar { padding: 26px 0 28px; background: var(--ivory); text-align: center; border-bottom: 1px solid var(--rule); }
    .hub-searchbar__label {
      font-size: 11px; letter-spacing: 0.24em; text-transform: uppercase;
      color: var(--gold-deep); font-weight: 600; margin-bottom: 6px;
    }
    .hub-searchbar__teaser {
      font-family: var(--f-serif); font-size: 20px; font-style: italic;
      color: var(--navy-deep); margin-bottom: 16px; font-weight: 400;
    }
    .hub-searchbar__inputwrap {
      display: block; width: 100%; max-width: 640px; margin: 0 auto; padding: 0; position: relative;
      background: #fff; border: 1px solid var(--rule); border-radius: 8px;
      color: var(--ink); text-align: left; appearance: none; cursor: pointer;
      transition: border-color .15s, box-shadow .15s;
    }
    .hub-searchbar__inputwrap:hover, .hub-searchbar__inputwrap:focus-visible {
      border-color: var(--gold); box-shadow: 0 2px 12px rgba(154, 119, 52,0.16);
    }
    .hub-searchbar__inputwrap:focus-visible { outline: 3px solid color-mix(in srgb, var(--gold) 78%, white); outline-offset: 3px; }
    .hub-searchbar__inputwrap svg {
      position: absolute; left: 16px; top: 50%; transform: translateY(-50%);
      color: var(--gold-deep); width: 20px; height: 20px; pointer-events: none;
    }
    .hub-searchbar__input {
      display: block; width: 100%; padding: 14px 18px 14px 48px;
      font-family: var(--f-sans); font-size: 15px;
      border: 0; border-radius: 8px; background: transparent; color: var(--ink);
      cursor: pointer;
    }
    .hub-searchbar__input { color: var(--muted); font-style: italic; }
    .hub-searchbar__hint {
      margin-top: 12px; font-size: 12.5px; color: var(--ink-soft);
    }
    .hub-searchbar__hint strong { color: var(--gold-deep); font-weight: 600; }
    .hub-empty { padding: 60px 0; text-align: center; color: var(--ink-soft); font-style: italic; font-family: var(--f-serif); font-size: 18px; }

    .event-detail-hero__media{position:absolute;inset:0;opacity:.22;}
    .event-detail-hero__media img{display:block;width:100%;height:100%;object-fit:cover;}
    .event-detail-hero dt{font-family:var(--f-sans);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:4px;}
    .event-detail-hero dd{font-family:var(--f-sans);font-size:15px;color:var(--cream);margin:0;}

/* not-found.css */
    body { margin:0; background:#FBF8F0; color:#0A1E3F; font-family: 'Manrope', sans-serif; min-height:100vh; }
    .nf { max-width:680px; margin:120px auto; padding:48px 32px; text-align:center; }
    .nf__kicker { color:#9F8045; font-size:11px; font-weight:600; letter-spacing:.32em; text-transform:uppercase; margin-bottom:24px; }
    .nf__num { font-family:'Cormorant Garamond', serif; font-style:italic; font-size:140px; line-height:1; color:#7a6230; margin:0 0 8px; }
    .nf__title { font-family:'Cormorant Garamond', serif; font-weight:400; font-size:42px; line-height:1.15; margin:0 0 16px; color:#0A1E3F; }
    .nf__lead { font-family:'Cormorant Garamond', serif; font-style:italic; font-size:19px; line-height:1.6; color:#3a3a3a; margin:0 0 32px; max-width:520px; margin-left:auto; margin-right:auto; }
    .nf__slug { display:inline-block; background:rgba(10,30,63,0.05); border:1px solid rgba(10,30,63,0.1); padding:6px 14px; border-radius:4px; font-family:'Manrope', monospace; font-size:13px; color:#6a5226; margin-bottom:24px; }
    .nf__actions { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-top:36px; }
    .nf__btn { display:inline-block; padding:14px 24px; border-radius:6px; font-size:14px; font-weight:600; letter-spacing:.04em; text-decoration:none; transition:all .15s; }
    .nf__btn--fill { background:#0A1E3F; color:#FBF8F0; }
    .nf__btn--fill:hover { background:#7a6230; color:#FFFEFB; }
    .nf__btn--ghost { background:transparent; color:#0A1E3F; border:1.5px solid #0A1E3F; }
    .nf__btn--ghost:hover { background:#0A1E3F; color:#FBF8F0; }

/* a11y-landmarks.css */
.skip-link{position:absolute;left:-9999px;top:0;z-index:100000;padding:10px 18px;background:#0A1E3F;color:#FBF8F0;font:600 14px/1.2 Manrope,system-ui,sans-serif;border-radius:0 0 6px 0;text-decoration:none}
.skip-link:focus{left:0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
main:focus{outline:none}

/* wissen-page.css */
.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;
}

.back-pill-wrap {
  padding: 14px 0;
  border-bottom: 1px solid var(--rule);
  background: var(--ivory);
}
.back-pill {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: 8px;
  padding: 10px 22px;
  border: 1px solid var(--rule);
  border-radius: 999px;
  background: var(--cream);
  color: var(--ink);
  font-family: var(--f-sans);
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: .18em;
  text-decoration: none;
  text-transform: uppercase;
  transition: background .18s cubic-bezier(.23,1,.32,1), border-color .18s cubic-bezier(.23,1,.32,1), color .18s cubic-bezier(.23,1,.32,1);
}
.back-pill:hover,
.back-pill:focus-visible {
  border-color: var(--gold);
  background: var(--paper);
  color: var(--gold-deep);
  outline: none;
}
.back-pill:focus-visible { box-shadow: 0 0 0 3px rgba(154,119,52,.25); }
.back-pill__arrow { color: var(--gold-deep); font-size: 13px; }

.listing-hero {
  position: relative;
  padding: 38px 0 24px;
  border-bottom: 1px solid var(--rule);
  background: linear-gradient(180deg, var(--navy-deep) 0%, var(--navy-mid) 100%);
  color: var(--cream);
  text-align: center;
  overflow: hidden;
}
.listing-hero--visual { padding: clamp(64px, 9vw, 112px) 0; }
.listing-hero__bg { position: absolute; inset: 0; background: var(--navy-deep); }
.listing-hero__bg img { width: 100%; height: 100%; object-fit: cover; object-position: center; opacity: .55; }
.listing-hero__bg::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(10,30,63,.55) 0%, rgba(10,30,63,.35) 45%, rgba(10,30,63,.85) 100%);
}
.listing-hero > .container { position: relative; z-index: 1; }
.listing-hero > .container { max-width: 880px; }
.listing-hero__kicker {
  margin: 0 0 14px;
  color: var(--gold-light);
  font-size: 11.5px;
  letter-spacing: .32em;
  text-transform: uppercase;
}
.listing-hero__title {
  margin: 0 0 12px;
  color: var(--cream);
  font-family: var(--f-serif);
  font-size: clamp(32px, 4vw, 50px);
  font-weight: 400;
  line-height: 1.04;
}
.listing-hero__title em { color: var(--gold); font-style: italic; font-weight: 400; }
.listing-hero__sub {
  max-width: 720px;
  margin: 0 auto;
  color: var(--cream);
  font-family: var(--f-serif);
  font-size: clamp(18px, 1.7vw, 22px);
  font-style: italic;
  font-weight: 400;
  line-height: 1.5;
  opacity: .94;
}

.hub-searchbar {
  padding: 72px 0 56px;
  border-bottom: 1px solid var(--rule);
  background: var(--ivory);
  text-align: center;
}
.hub-searchbar__label {
  margin: 0 0 18px;
  color: var(--gold-deep);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .32em;
  text-transform: uppercase;
}
.hub-searchbar__teaser {
  margin: 0 0 32px;
  color: var(--gold-deep);
  font-family: var(--f-serif);
  font-size: clamp(28px, 3.4vw, 38px);
  font-style: italic;
  font-weight: 400;
  line-height: 1.2;
}
.hub-searchbar__inputwrap {
  display: flex;
  width: min(760px, 100%);
  min-height: 66px;
  align-items: center;
  gap: 16px;
  margin: 0 auto;
  padding: 17px 26px;
  border: 2px solid var(--rule);
  border-radius: 999px;
  background: var(--paper);
  color: var(--muted);
  cursor: pointer;
  font: italic 18px/1.45 var(--f-serif);
  text-align: left;
  transition: border-color .18s cubic-bezier(.23,1,.32,1), box-shadow .18s cubic-bezier(.23,1,.32,1), transform .18s cubic-bezier(.23,1,.32,1);
}
.hub-searchbar__inputwrap svg {
  width: 22px;
  flex: 0 0 22px;
  color: var(--gold-deep);
}
.hub-searchbar__inputwrap:hover,
.hub-searchbar__inputwrap:focus-visible {
  border-color: var(--gold);
  box-shadow: 0 8px 26px rgba(10,30,63,.1);
  outline: none;
  transform: translateY(-1px);
}

.wissen-pedias {
  padding: 64px 0 80px;
  background: var(--ivory);
}
.wissen-pedias__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}
.wissen-pedia-card {
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(166,134,74,.35);
  border-radius: 6px;
  background: var(--paper);
  box-shadow: 0 2px 0 rgba(166,134,74,.16), 0 10px 28px rgba(10,30,63,.06);
  color: var(--navy-deep);
  text-decoration: none;
  transition: border-color .2s cubic-bezier(.23,1,.32,1), box-shadow .2s cubic-bezier(.23,1,.32,1), transform .2s cubic-bezier(.23,1,.32,1);
}
.wissen-pedia-card:hover,
.wissen-pedia-card:focus-visible {
  border-color: rgba(154,119,52,.75);
  box-shadow: 0 4px 0 rgba(166,134,74,.2), 0 18px 40px rgba(10,30,63,.12);
  outline: none;
  transform: translateY(-4px);
}
.wissen-pedia-card__media {
  position: relative;
  display: block;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  background: var(--navy-deep);
}
.wissen-pedia-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s ease; }
.wissen-pedia-card:hover .wissen-pedia-card__media img { transform: scale(1.035); }
.wissen-pedia-card__media::after {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(180deg, rgba(10,30,63,0) 55%, rgba(10,30,63,.38) 100%);
}
.wissen-pedia-card__body {
  position: relative;
  display: flex;
  min-height: 150px;
  flex-direction: column;
  justify-content: space-between;
  padding: 22px 24px 20px;
}
.wissen-pedia-card__number {
  position: absolute;
  top: 20px;
  right: 24px;
  color: var(--gold);
  font-family: var(--f-serif);
  font-size: 20px;
  font-style: italic;
}
.wissen-pedia-card h3 {
  max-width: calc(100% - 42px);
  margin: 0 0 18px;
  color: var(--navy-deep);
  font-family: var(--f-serif);
  font-size: clamp(27px, 2.5vw, 33px);
  font-weight: 500;
  line-height: 1.08;
  overflow-wrap: anywhere;
}
/* „Pedia“ steht in den Titeln immer kursiv; die Auszeichnung setzt der
   Renderer (data-willipedia-pedia-emphasis), das CMS-Feld bleibt Text. */
.wissen-pedia-card h3 em { color: inherit; font-style: italic; font-weight: inherit; }
.wissen-pedia-card__cta {
  padding-top: 14px;
  border-top: 1px dashed var(--rule);
  color: var(--gold-deep);
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.wissen-pedia-card:hover .wissen-pedia-card__cta > span:last-child,
.wissen-pedia-card:focus-visible .wissen-pedia-card__cta > span:last-child {
  display: inline-block;
  transform: translateX(3px);
}

.wissen-guides {
  padding: 72px 0 88px;
  border-top: 1px solid rgba(154,119,52,.22);
  background: var(--cream);
}
.wissen-guides__heading {
  margin: 0 0 36px;
  color: var(--navy-deep);
  font-family: var(--f-serif);
  font-size: clamp(36px, 4.5vw, 52px);
  font-weight: 500;
  line-height: 1.08;
  text-align: center;
}
.wissen-guides__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px;
}
.wissen-guide-card {
  display: flex;
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(166,134,74,.35);
  border-radius: 4px;
  background: var(--paper);
  box-shadow: 0 2px 0 rgba(166,134,74,.16), 0 10px 28px rgba(10,30,63,.06);
  transition: border-color .2s cubic-bezier(.23,1,.32,1), box-shadow .2s cubic-bezier(.23,1,.32,1), transform .2s cubic-bezier(.23,1,.32,1);
}
.wissen-guide-card:hover,
.wissen-guide-card:focus-within {
  border-color: rgba(154,119,52,.75);
  box-shadow: 0 4px 0 rgba(166,134,74,.2), 0 18px 40px rgba(10,30,63,.11);
  transform: translateY(-4px);
}
.wissen-guide-card__link {
  display: flex;
  width: 100%;
  flex-direction: column;
  color: inherit;
  text-decoration: none;
}
.wissen-guide-card__link:focus-visible { outline: 3px solid var(--gold); outline-offset: -3px; }
.wissen-guide-card__image {
  position: relative;
  display: block;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-bottom: 1px solid var(--rule);
  background: var(--navy-deep);
}
.wissen-guide-card__image img {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity .18s cubic-bezier(.23,1,.32,1), transform .35s cubic-bezier(.23,1,.32,1);
}
.wissen-guide-card__image img.is-loaded { opacity: 1; }
.wissen-guide-card:hover .wissen-guide-card__image img,
.wissen-guide-card:focus-within .wissen-guide-card__image img { transform: scale(1.025); }
.wissen-guide-card__image-fallback {
  display: grid;
  width: 100%;
  height: 100%;
  place-items: center;
  background: var(--navy-deep);
  color: var(--gold);
  font-family: var(--f-serif);
  font-size: 54px;
  font-style: italic;
}
.wissen-guide-card__body {
  display: flex;
  min-height: 190px;
  flex: 1;
  flex-direction: column;
  padding: 19px 22px 20px;
}
.wissen-guide-card__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--gold-deep);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.wissen-guide-card__number {
  font-family: var(--f-serif);
  font-size: 15px;
  font-style: italic;
  letter-spacing: .08em;
}
.wissen-guide-card__pedia { color: var(--navy-deep); opacity: .72; }
.wissen-guide-card__title {
  margin: 14px 0 20px;
  color: var(--navy-deep);
  font-family: var(--f-serif);
  font-size: clamp(21px, 2vw, 25px);
  font-weight: 500;
  line-height: 1.16;
  overflow-wrap: anywhere;
}
.wissen-guide-card__cta {
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px dashed var(--rule);
  color: var(--gold-deep);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

@media (max-width: 980px) {
  .wissen-pedias__grid,
  .wissen-guides__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wissen-pedia-card:last-child { grid-column: 1 / -1; }
}

@media (max-width: 640px) {
  .listing-hero { padding: 32px 0 24px; }
  .hub-searchbar { padding: 52px 0 44px; }
  .hub-searchbar__inputwrap { min-height: 58px; padding: 14px 19px; border-radius: 12px; font-size: 16px; }
  .wissen-pedias { padding: 40px 0 56px; }
  .wissen-pedias__grid,
  .wissen-guides__grid { grid-template-columns: 1fr; }
  .wissen-pedia-card:last-child { grid-column: auto; }
  .wissen-guides { padding: 56px 0 64px; }
  .wissen-guides__heading { margin-bottom: 28px; text-align: left; }
  .wissen-guide-card__body { min-height: 164px; }
}

@media (prefers-reduced-motion: reduce) {
  .back-pill,
  .hub-searchbar__inputwrap,
  .wissen-pedia-card,
  .wissen-guide-card,
  .wissen-guide-card__image img { transition: none; }
}

/* depesche.css */
.dep-hero{background:linear-gradient(135deg,#071934 0%,#102b55 68%,#173866 100%);color:var(--cream);padding:clamp(54px,8vw,96px) 0;position:relative;overflow:hidden}
.dep-hero:after{content:"";position:absolute;right:-9vw;top:-16vw;width:44vw;height:44vw;border:1px solid rgba(232,214,166,.28);border-radius:50%;box-shadow:0 0 0 7vw rgba(232,214,166,.035),0 0 0 14vw rgba(232,214,166,.025)}
.dep-hero__inner{position:relative;z-index:1;max-width:860px}
.dep-kicker{color:var(--gold);font:700 11px/1.2 var(--f-sans);letter-spacing:.31em;text-transform:uppercase;margin:0 0 18px}
.dep-title{font:400 clamp(42px,7vw,76px)/.96 var(--f-serif);letter-spacing:-.025em;margin:0 0 22px;max-width:760px}
.dep-title em{font-weight:400;color:var(--gold);font-style:italic}
.dep-lead{font:italic 400 clamp(19px,2.2vw,25px)/1.45 var(--f-serif);color:rgba(247,242,231,.9);max-width:720px;margin:0}
.dep-layout{display:grid;grid-template-columns:minmax(0,.82fr) minmax(360px,1fr);gap:clamp(42px,7vw,96px);max-width:1080px;margin:0 auto;padding:clamp(52px,7vw,88px) 24px 104px;align-items:start}
.dep-copy h2{font:500 clamp(28px,3vw,38px)/1.08 var(--f-serif);color:var(--navy-deep);margin:0 0 18px}
.dep-copy p{font-size:16px;line-height:1.75;color:var(--ink);margin:0 0 18px}
.dep-points{list-style:none;padding:0;margin:32px 0 0;display:grid;gap:16px}
.dep-points li{display:grid;grid-template-columns:28px 1fr;gap:12px;align-items:start;color:var(--ink);line-height:1.55}
.dep-points li:before{content:"";width:9px;height:9px;border:2px solid var(--gold-deep);transform:rotate(45deg);margin:7px 0 0 5px}
.dep-card{background:#fff;border:1px solid rgba(10,30,63,.12);box-shadow:0 24px 70px rgba(10,30,63,.1);padding:clamp(26px,4vw,42px);border-radius:3px}
.dep-card h2{font:500 30px/1.1 var(--f-serif);color:var(--navy-deep);margin:0 0 8px}
.dep-card__intro{font-size:14px;color:var(--ink-soft);line-height:1.55;margin:0 0 26px}
.dep-form{display:grid;gap:18px}.dep-row{display:grid;gap:7px}.dep-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.dep-label{font-size:13px;font-weight:700;color:var(--navy-deep);letter-spacing:.02em}.dep-req{color:var(--gold-deep)}
.dep-input,.dep-select{font:15px/1.3 var(--f-sans);color:var(--ink);background:#fff;border:1px solid rgba(10,30,63,.22);border-radius:3px;padding:13px 14px;width:100%;box-sizing:border-box}
.dep-input:focus,.dep-select:focus{outline:0;border-color:var(--gold-deep);box-shadow:0 0 0 3px rgba(184,142,56,.16)}
.dep-consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.55;color:var(--ink-soft)}.dep-consent input{margin-top:3px;width:17px;height:17px;flex:0 0 17px;accent-color:var(--gold-deep)}.dep-consent a{color:var(--gold-deep)}
.dep-button{justify-self:start;border:0;border-radius:3px;background:var(--action-bg);color:var(--action-fg);font:800 13px/1 var(--f-sans);letter-spacing:.08em;text-transform:uppercase;padding:16px 25px;cursor:pointer}.dep-button:hover{background:var(--action-bg-hover);color:var(--action-fg);transform:translateY(-1px)}.dep-button:disabled{background:var(--disabled-bg);color:var(--disabled-fg);opacity:1;cursor:wait;transform:none}
.dep-status{min-height:1.5em;margin:0;font-size:13px;line-height:1.5;color:var(--ink-soft)}.dep-status.is-error{color:#a52820}
.dep-note{font-size:12px;color:var(--muted);margin:0}.dep-hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.dep-action{max-width:720px;margin:0 auto;padding:72px 24px 112px}.dep-action .dep-card{padding:clamp(30px,5vw,54px)}.dep-action .dep-button{margin-top:16px}
@media(max-width:760px){.dep-layout{grid-template-columns:1fr;gap:36px;padding-top:44px}.dep-card{padding:26px 20px}.dep-grid{grid-template-columns:1fr}.dep-hero{padding:54px 0}.dep-hero:after{width:76vw;height:76vw;right:-32vw;top:-18vw}.dep-action{padding-top:42px}}

/* static-pages.css */
/* impressum.html */
.legal { padding: 96px 0 96px; background: var(--ivory); }
.legal h1 { font-family: var(--f-serif); font-size: clamp(36px,4vw,52px); font-weight: 400; color: var(--navy-deep); margin-bottom: 32px; }
.legal h2 { font-family: var(--f-serif); font-size: 24px; font-weight: 500; color: var(--navy-deep); margin: 32px 0 12px; }
.legal p, .legal address { line-height: 1.7; color: var(--ink); font-style: normal; margin-bottom: 12px; }
.legal a { color: var(--gold-deep); border-bottom: 1px solid var(--rule); }

/* datenschutz.html */
.legal { padding: 96px 0 96px; background: var(--ivory); }
.legal h1 { font-family: var(--f-serif); font-size: clamp(36px,4vw,52px); font-weight: 400; color: var(--navy-deep); margin-bottom: 32px; }
.legal h2 { font-family: var(--f-serif); font-size: 24px; font-weight: 500; color: var(--navy-deep); margin: 32px 0 12px; }
.legal p, .legal li { line-height: 1.7; color: var(--ink); margin-bottom: 12px; }
.legal ul { margin: 12px 0 24px 24px; }
.legal a { color: var(--gold-deep); border-bottom: 1px solid var(--rule); }

/* _page-content.html */
.page-hero{padding:88px 0 54px;background:linear-gradient(135deg,var(--navy-deep),var(--navy));color:var(--ivory)}
.page-hero__kicker{margin-bottom:12px;color:var(--gold);font:600 13px/1.4 var(--f-sans);letter-spacing:.12em;text-transform:uppercase}
.page-hero h1{max-width:920px;margin:0;font:400 clamp(42px,7vw,76px)/.98 var(--f-serif)}
.page-hero__lead{max-width:780px;margin:22px 0 0;color:rgba(255,255,255,.82);font:400 18px/1.7 var(--f-sans)}
.page-main{padding:72px 0 96px;background:var(--ivory)}
.page-copy{max-width:820px;color:var(--ink);font:400 17px/1.78 var(--f-sans)}
.page-copy h2,.page-copy h3{color:var(--navy-deep);font-family:var(--f-serif);font-weight:500;line-height:1.15}
.page-copy h2{margin:44px 0 16px;font-size:clamp(30px,4vw,42px)}
.page-copy h3{margin:32px 0 12px;font-size:26px}
.page-copy p,.page-copy ul,.page-copy ol{margin:0 0 20px}
.page-copy a{color:var(--gold-deep);text-decoration:underline;text-underline-offset:3px}
@media(max-width:720px){.page-hero{padding:58px 0 40px}.page-main{padding:46px 0 70px}.page-hero__lead{font-size:16px}}

.block-dossier--rechner .hub-empty { grid-column: 1 / -1; }
.block-dossier--rechner .rechner-tile__icon { display:inline-flex; }
.block-dossier--rechner .rechner-tile__icon svg { width:22px; height:22px; color: var(--gold-deep); }


/* ============ BLOCK-RENDERER STYLES (CSE-Pattern) ============ */

/* --- HERO-LANDING --- */
.block-hero-landing {
  position: relative; background: var(--cream);
  padding: 64px 0 80px; overflow: hidden; text-align: center;
}
.block-hero-landing.has-bg::before {
  content: ''; position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(180deg, rgba(251,248,240,0.55) 0%, rgba(251,248,240,0.40) 40%, rgba(251,248,240,0.78) 100%);
  pointer-events: none;
}
.block-hero-landing__bg {
  position: absolute; inset: 0; z-index: 0;
  background-size: cover; background-position: center;
}
.block-hero-landing__inner { position: relative; z-index: 2; max-width: 980px; }
.block-hero-landing__pill {
  display: inline-block; padding: 10px 22px; margin: 0 auto 28px;
  border: 1px solid rgba(10,30,63,0.18); border-radius: 999px;
  font-family: var(--f-sans); font-size: 11px; font-weight: 600;
  letter-spacing: 0.22em; text-transform: uppercase; color: var(--ink-soft);
  background: rgba(255,255,255,0.5);
}
.block-hero-landing__savedate {
  font-family: var(--f-sans); font-size: 11.5px; font-weight: 600;
  letter-spacing: 0.32em; text-transform: uppercase;
  color: var(--gold-deep); margin-bottom: 28px;
}
.block-hero-landing__title {
  font-family: var(--f-serif); font-weight: 400; line-height: 1.05;
  font-size: clamp(48px, 7vw, 96px); margin: 0 auto 24px;
  color: var(--navy-deep); max-width: 900px;
}
.dl-title { display: block; }
.dl-title__line { display: block; }
.dl-title__line + .dl-title__line { margin-top: 4px; }
.dl-title__hl { font-style: italic; color: var(--gold-deep); font-weight: 400; }
.block-hero-landing__quote {
  font-family: var(--f-serif); font-style: italic; font-size: clamp(18px, 1.8vw, 22px);
  color: var(--gold-deep); margin: 8px auto 24px; max-width: 720px;
}
.block-hero-landing__lead {
  font-family: var(--f-serif); font-style: italic; font-size: clamp(16px, 1.5vw, 19px);
  line-height: 1.55; color: var(--ink); max-width: 760px; margin: 0 auto 32px;
}
.block-hero-landing__ctas {
  display: flex; gap: 16px; justify-content: center; flex-wrap: wrap;
  margin-bottom: 56px;
}
.cta {
  display: inline-block; padding: 14px 28px; border-radius: 8px;
  font-family: var(--f-sans); font-size: 14px; font-weight: 600;
  letter-spacing: 0.04em; transition: all .15s;
}
.cta--fill {
  background: var(--action-bg); color: var(--action-fg); border: 2px solid var(--action-bg);
}
.cta--fill:hover { background: var(--action-bg-hover); color: var(--action-fg); }
.cta--outline {
  background: transparent; color: var(--navy-deep); border: 2px solid var(--navy-deep);
}
.cta--outline:hover { background: var(--navy-deep); color: var(--cream); }
.block-hero-landing__kpis {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 24px; max-width: 880px; margin: 56px auto 0;
  padding-top: 32px; border-top: 1px solid rgba(10,30,63,0.1);
}
.kpi { text-align: center; }
.kpi__value {
  font-family: var(--f-serif); font-style: italic;
  font-size: clamp(40px, 4.5vw, 64px); font-weight: 400;
  color: var(--gold-deep); line-height: 1; margin-bottom: 6px;
}
.kpi__label {
  font-family: var(--f-sans); font-size: 10.5px; font-weight: 600;
  letter-spacing: 0.22em; text-transform: uppercase; color: var(--ink-soft);
}

/* --- PERSON-CARD --- */
.block-person-card { padding: 80px 0; background: #fff; }
.block-person-card__inner {
  display: grid; grid-template-columns: 280px 1fr;
  gap: 56px; align-items: start; max-width: 1100px;
}
.block-person-card__portrait {
  width: 280px; aspect-ratio: 1/1; border-radius: 50%;
  overflow: hidden; border: 6px solid var(--gold);
  box-shadow: 0 8px 24px rgba(10,30,63,0.12);
}
.block-person-card__portrait img { width: 100%; height: 100%; object-fit: cover; display: block; }
.block-person-card__portrait--placeholder {
  background: linear-gradient(135deg, var(--navy-deep) 0%, #122951 100%);
  display: flex; align-items: center; justify-content: center;
}
.block-person-card__initials {
  font-family: var(--f-serif); font-style: italic; font-size: 96px;
  color: var(--gold); font-weight: 400; opacity: 0.92;
}
.block-person-card__kicker {
  font-family: var(--f-sans); font-size: 11px; font-weight: 600;
  letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold-deep);
  margin-bottom: 18px;
}
.block-person-card__title {
  font-family: var(--f-serif); font-weight: 400; font-size: clamp(32px, 3.5vw, 44px);
  line-height: 1.15; color: var(--navy-deep); margin-bottom: 22px;
}
.block-person-card__title em { font-style: italic; color: var(--gold-deep); font-weight: 400; }
.block-person-card__lead {
  font-family: var(--f-serif); font-style: italic; font-size: 17px;
  line-height: 1.55; color: var(--ink); margin-bottom: 22px; max-width: 640px;
}
.block-person-card__quote {
  font-family: var(--f-serif); font-style: italic; font-size: 16px;
  color: var(--gold-deep); padding: 8px 0 8px 18px; border-left: 3px solid var(--gold);
  margin: 24px 0; max-width: 640px;
}
.block-person-card__meta {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 28px; margin-top: 28px; padding-top: 24px;
  border-top: 1px solid rgba(10,30,63,0.1); max-width: 640px;
}
.meta-label {
  font-family: var(--f-sans); font-size: 10.5px; font-weight: 600;
  letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold-deep);
  margin-bottom: 6px;
}
.meta-value { font-size: 14px; color: var(--ink); line-height: 1.5; }
@media (max-width: 720px) {
  .block-person-card__inner { grid-template-columns: 1fr; text-align: center; }
  .block-person-card__portrait { margin: 0 auto; width: 180px; }
}

/* --- SECTION-HEADER --- */
.block-section-header { padding: 72px 0 32px; background: var(--ivory); text-align: center; }
.block-section-header__kicker {
  font-family: var(--f-sans); font-size: 11px; font-weight: 600;
  letter-spacing: 0.32em; text-transform: uppercase; color: var(--gold-deep);
  margin-bottom: 22px;
}
.block-section-header__title {
  font-family: var(--f-serif); font-weight: 400; font-size: clamp(36px, 5vw, 56px);
  line-height: 1.1; color: var(--navy-deep); margin: 0 auto 18px; max-width: 880px;
}
.block-section-header__title em { font-style: italic; color: var(--gold-deep); font-weight: 400; }
.block-section-header__lead {
  font-family: var(--f-serif); font-style: italic; font-size: 18px;
  line-height: 1.55; color: var(--ink-soft); max-width: 700px; margin: 0 auto;
}

/* --- COLUMNS-3 --- */
.block-columns-3 { padding: 32px 0 80px; background: var(--ivory); }
.block-columns-3__grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px; max-width: 1200px; margin: 0 auto;
}
.block-columns-3__card {
  background: #fff; padding: 36px 32px;
  border-radius: 8px; box-shadow: 0 4px 18px rgba(10,30,63,0.06);
  border-top: 4px solid var(--gold);
}
.block-columns-3__roman {
  font-family: var(--f-serif); font-style: italic; font-size: 38px;
  color: var(--gold); font-weight: 400; margin-bottom: 18px;
  line-height: 1;
}
.block-columns-3__title {
  font-family: var(--f-serif); font-size: 22px; font-weight: 500;
  color: var(--navy-deep); margin-bottom: 14px; line-height: 1.2;
}
.block-columns-3__body {
  font-family: var(--f-sans); font-size: 14px; line-height: 1.6; color: var(--ink);
}

/* --- QUOTE --- */
.block-quote { padding: 64px 0; background: #fff; }
.block-quote__inner {
  max-width: 760px; margin: 0 auto;
  padding: 24px 0 24px 28px; border-left: 4px solid var(--gold);
}
.block-quote__inner p {
  font-family: var(--f-serif); font-style: italic; font-size: clamp(20px, 2vw, 26px);
  line-height: 1.4; color: var(--navy-deep); margin: 0;
}
.block-quote__author {
  margin-top: 16px; font-family: var(--f-sans); font-size: 13px;
  letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-deep);
  font-weight: 600;
}

/* --- KPI-STRIP (als eigenständige Section) --- */
.block-kpi-strip { padding: 56px 0; background: var(--cream); }
.block-kpi-strip__grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 32px; max-width: 1000px; margin: 0 auto; text-align: center;
}
.block-kpi-strip__value {
  font-family: var(--f-serif); font-style: italic;
  font-size: clamp(48px, 5vw, 72px); color: var(--gold-deep);
  line-height: 1; margin-bottom: 8px; font-weight: 400;
}
.block-kpi-strip__label {
  font-family: var(--f-sans); font-size: 11px; font-weight: 600;
  letter-spacing: 0.22em; text-transform: uppercase; color: var(--ink-soft);
}

/* --- EVENT-META-GRID --- */
.block-event-meta { padding: 48px 0; background: var(--ivory); border-top: 1px solid rgba(10,30,63,0.08); border-bottom: 1px solid rgba(10,30,63,0.08); }
.block-event-meta__grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 32px; max-width: 1000px; margin: 0 auto;
}
.block-event-meta__item { text-align: left; }
.block-event-meta__label {
  font-family: var(--f-sans); font-size: 10.5px; font-weight: 600;
  letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold-deep);
  margin-bottom: 6px;
}
.block-event-meta__value {
  font-family: var(--f-serif); font-size: 18px; color: var(--navy-deep);
  line-height: 1.4;
}

/* --- BODY-PROSE --- */
.block-body-prose { padding: 56px 0; background: #fff; }
.block-body-prose .prose {
  max-width: 720px; margin: 0 auto;
  font-family: var(--f-serif); font-size: 18px; line-height: 1.7;
  color: var(--ink);
}
.block-body-prose .prose h1, .block-body-prose .prose h2, .block-body-prose .prose h3 {
  font-family: var(--f-serif); color: var(--navy-deep); margin: 36px 0 16px; font-weight: 500;
}
.block-body-prose .prose h1 { font-size: 32px; }
.block-body-prose .prose h2 { font-size: 26px; }
.block-body-prose .prose h3 { font-size: 21px; }
.block-body-prose .prose p { margin: 14px 0; }
.block-body-prose .prose strong { color: var(--navy-deep); font-weight: 600; }
.block-body-prose .prose a { color: var(--gold-deep); border-bottom: 1px solid rgba(154, 119, 52,0.4); }
.block-body-prose .prose ul, .block-body-prose .prose ol { margin: 14px 0 14px 28px; }
.block-body-prose .prose li { margin: 6px 0; }
.block-body-prose .prose img {
  max-width: 100%; height: auto; border-radius: 6px;
  margin: 28px auto; display: block;
}
.block-body-prose .prose table {
  width: 100%; max-width: 100%; table-layout: fixed; border-collapse: collapse;
}
.block-body-prose .prose th, .block-body-prose .prose td {
  overflow-wrap: anywhere; word-break: break-word;
}
.embed-youtube, .embed-vimeo {
  position: relative; padding-bottom: 56.25%; height: 0; margin: 28px 0;
  border-radius: 8px; overflow: hidden;
}
.embed-youtube iframe, .embed-vimeo iframe {
  position: absolute; inset: 0; width: 100%; height: 100%; border: 0;
}

/* ============ HUB-BLOCKS (CSE-Pattern für Listing-Hubs) ============ */

/* --- HUB-HERO --- linksbündig, Kicker + Mix-Title + dichter italic-Lead. */
.block-hub-hero {
  position: relative;
  display: flex;
  height: 352px;
  min-height: 352px;
  align-items: center;
  box-sizing: border-box;
  background: linear-gradient(180deg, #FBF8F0 0%, #F4EFE2 100%);
  padding: 38px 0 24px;
  overflow: hidden;
  border-bottom: 1px solid rgba(10,30,63,0.08);
}
.block-hub-hero__bg {
  position: absolute; inset: 0; z-index: 0;
  pointer-events: none; opacity: 1;
}
.block-hub-hero__bg svg { width: 100%; height: 100%; display: block; }
.block-hub-hero__inner { position: relative; z-index: 1; max-width: 920px; }
.block-hub-hero__kicker {
  font-family: var(--f-sans); font-size: 11.5px; font-weight: 600;
  letter-spacing: 0.32em; text-transform: uppercase; color: var(--gold-deep);
  margin-bottom: 14px;
}
.block-hub-hero__title {
  font-family: var(--f-serif); font-weight: 400;
  font-size: clamp(32px, 4vw, 50px); line-height: 1.04;
  color: var(--navy-deep); margin: 0 0 14px; letter-spacing: -0.01em;
}
.block-hub-hero__title em {
  font-style: italic; color: var(--gold-deep); font-weight: 400;
}
.block-hub-hero__lead {
  font-family: var(--f-serif); font-style: italic; font-weight: 400;
  font-size: clamp(17px, 1.6vw, 20px); line-height: 1.5;
  color: var(--ink); max-width: 760px; margin: 0;
}
.block-hub-hero__lead strong {
  font-style: normal; color: var(--navy-deep); font-weight: 600;
}
.block-hub-hero__meta {
  display: flex; gap: 32px; flex-wrap: wrap;
  margin-top: 12px; padding-top: 18px;
  border-top: 1px solid rgba(10,30,63,0.10); max-width: 720px;
}
.block-hub-hero__meta-item { display: flex; flex-direction: column; gap: 4px; }
.block-hub-hero__meta-label {
  font-family: var(--f-sans); font-size: 10.5px; font-weight: 600;
  letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold-deep);
}
.block-hub-hero__meta-value {
  font-family: var(--f-serif); font-size: 18px; color: var(--navy-deep);
  font-weight: 500;
}
.block-hub-hero__extlink {
  display: inline-flex; align-items: center; gap: 8px;
  margin-top: 8px; padding: 11px 22px;
  background: var(--navy-deep); color: var(--cream);
  border-radius: 999px; font-family: var(--f-sans);
  font-size: 12.5px; font-weight: 600; letter-spacing: 0.16em;
  text-transform: uppercase; transition: background .15s;
}
.block-hub-hero__extlink:hover { background: var(--gold-deep); color: var(--navy-deep); }
.block-hub-hero__note {
  margin-top: 24px; padding: 14px 20px;
  background: rgba(255,255,255,0.55); border-left: 3px solid var(--gold);
  font-family: var(--f-sans); font-size: 13.5px; color: var(--ink-soft);
  max-width: 720px; border-radius: 0 4px 4px 0;
}

/* --- HUB-HERO mit Bildkopf: Navy, Motiv randlos, Text davor. */
.block-hub-hero--visual {
  height: auto;
  min-height: clamp(420px, 46vw, 520px);
  padding: clamp(56px, 7vw, 88px) 0;
  background: var(--navy-deep);
  color: var(--cream);
  border-bottom: 1px solid rgba(154,119,52,0.42);
}
.block-hub-hero__visual { position: absolute; inset: 0; z-index: 0; background: var(--navy-deep); }
.block-hub-hero__visual img {
  width: 100%; height: 100%; display: block;
  object-fit: cover; object-position: center;
  opacity: 0.62;
}
.block-hub-hero__visual::after {
  content: ''; position: absolute; inset: 0;
  background:
    linear-gradient(180deg, rgba(10,30,63,0.35) 0%, rgba(10,30,63,0.15) 40%, rgba(10,30,63,0.8) 100%),
    linear-gradient(90deg, rgba(10,30,63,0.92) 0%, rgba(10,30,63,0.72) 45%, rgba(10,30,63,0.25) 100%);
}
.block-hub-hero--visual .block-hub-hero__kicker { color: var(--gold-soft); }
.block-hub-hero--visual .block-hub-hero__title { color: var(--cream); }
.block-hub-hero--visual .block-hub-hero__title em { color: var(--gold-soft); }
.block-hub-hero--visual .block-hub-hero__lead { color: rgba(247,242,231,0.9); }
.block-hub-hero--visual .block-hub-hero__lead strong { color: var(--cream); }
.block-hub-hero--visual .block-hub-hero__meta { border-top-color: rgba(232,214,166,0.22); }
.block-hub-hero--visual .block-hub-hero__meta-label { color: var(--gold-soft); }
.block-hub-hero--visual .block-hub-hero__meta-value { color: var(--cream); }
.block-hub-hero--visual .block-hub-hero__note { background: rgba(10,30,63,0.55); color: rgba(247,242,231,0.85); }

/* --- HUB-HERO als Pedia-Kopf (CyberPedia, Wegweiser): übernimmt Satz, Größen
   und Farben von .pedia-v6__hero (SteuerPedia/RechtsPedia). Das Motiv bleibt,
   wird aber gleichmäßig abgedunkelt, damit der zentrierte Text überall trägt.
   Doppelte Klasse, damit die mobile Hub-Regel (.block-hub-hero) nicht gewinnt. */
.block-hub-hero.block-hub-hero--pedia {
  min-height: 0;
  padding: 58px 0 62px;
  background: var(--navy-deep);
  color: var(--cream);
  text-align: center;
}
.block-hub-hero--pedia .block-hub-hero__inner { max-width: 980px; margin-inline: auto; }
.block-hub-hero--pedia .block-hub-hero__visual::after { background: rgba(10,30,63,0.78); }
.block-hub-hero--pedia .block-hub-hero__kicker {
  margin: 0 0 13px;
  color: var(--gold-soft);
  font-size: 11px; font-weight: 700;
  letter-spacing: .26em; line-height: 1.4;
}
.block-hub-hero--pedia .block-hub-hero__title {
  margin: 0;
  color: var(--cream);
  font-size: clamp(42px, 6vw, 68px); font-weight: 500;
  line-height: 1.02; letter-spacing: 0;
  overflow-wrap: anywhere;
}
.block-hub-hero--pedia .block-hub-hero__title em { color: var(--gold); font-weight: 500; }
.block-hub-hero--pedia .block-hub-hero__lead {
  max-width: 790px;
  margin: 20px auto 0;
  color: rgba(247,242,231,.86);
  font-size: clamp(18px, 2.1vw, 23px); line-height: 1.5;
}
.block-hub-hero--pedia .block-hub-hero__meta { display: none; }
@media (max-width: 600px) {
  .block-hub-hero.block-hub-hero--pedia { padding: 45px 0 48px; }
  .block-hub-hero--pedia .block-hub-hero__title { font-size: clamp(34px, 10.8vw, 42px); }
}

/* --- HUB-FEATURED-CARD --- große Schaufenster-Card. */
.block-hub-featured { padding: 56px 0 24px; background: var(--ivory); }
.block-hub-featured__inner { max-width: 1180px; }
.block-hub-featured__card {
  display: grid; grid-template-columns: minmax(0, 520px) minmax(0, 1fr);
  gap: 0; background: #fff;
  border: 1px solid rgba(10,30,63,0.10);
  border-radius: 6px; overflow: hidden;
  color: inherit; transition: transform .25s ease, box-shadow .25s ease, border-color .15s;
  box-shadow: 0 4px 24px rgba(10,30,63,0.06);
}
.block-hub-featured__card:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 38px rgba(10,30,63,0.12);
  border-color: var(--gold);
}
.block-hub-featured__image {
  position: relative; background: var(--cream);
  overflow: hidden;
}
/* Originalformat: der Bestand ist quadratisch, also ist die Karte es auch.
   align-self: start haelt das Quadrat auch dann, wenn der Textkoerper hoeher
   wird — sonst streckt das Grid die Bildspalte und aspect-ratio verfaellt.
   Events sind ausgenommen und behalten ihr breites Fenster. */
.block-hub-featured:not(.block-hub-featured--events) .block-hub-featured__image {
  aspect-ratio: 1/1; align-self: start;
}
.block-hub-featured__image img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform .6s ease;
}
.block-hub-featured__card:hover .block-hub-featured__image img { transform: scale(1.04); }
.block-hub-featured__placeholder {
  width: 100%; height: 100%;
  background: linear-gradient(135deg, var(--navy-deep) 0%, #122951 100%);
  display: flex; align-items: center; justify-content: center;
}
.block-hub-featured__placeholder span {
  font-family: var(--f-serif); font-style: italic; font-size: 140px;
  color: var(--gold); opacity: 0.7;
}
.block-hub-featured__caption {
  position: absolute; left: 0; bottom: 0; right: 0;
  padding: 12px 18px; background: linear-gradient(0deg, rgba(10,30,63,0.85), transparent);
  color: var(--cream); font-family: var(--f-sans); font-size: 11.5px;
  letter-spacing: 0.18em; text-transform: uppercase;
}
.block-hub-featured__body {
  padding: 48px 48px 44px;
  display: flex; flex-direction: column; justify-content: center;
  gap: 0;
}
.block-hub-featured__kicker {
  font-family: var(--f-sans); font-size: 11px; font-weight: 600;
  letter-spacing: 0.28em; text-transform: uppercase; color: var(--gold-deep);
  margin-bottom: 18px;
}
.block-hub-featured__title {
  font-family: var(--f-serif); font-weight: 400;
  font-size: clamp(28px, 2.6vw, 38px); line-height: 1.12;
  color: var(--navy-deep); margin: 0 0 20px;
}
.block-hub-featured__lead {
  font-family: var(--f-serif); font-style: italic; font-size: 17.5px;
  line-height: 1.55; color: var(--ink); margin: 0 0 28px;
}
.block-hub-featured__meta {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 18px 28px; padding: 22px 0; margin-bottom: 28px;
  border-top: 1px solid rgba(10,30,63,0.10);
  border-bottom: 1px solid rgba(10,30,63,0.10);
}
.block-hub-featured__meta-label {
  font-family: var(--f-sans); font-size: 10px; font-weight: 600;
  letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold-deep);
  margin-bottom: 4px;
}
.block-hub-featured__meta-value {
  font-family: var(--f-serif); font-size: 15.5px; color: var(--navy-deep);
  line-height: 1.35;
}
.block-hub-featured__cta {
  display: inline-flex; align-items: center; gap: 10px;
  align-self: flex-start;
  padding: 14px 26px; background: var(--gold-deep); color: var(--navy-deep);
  border-radius: 999px; font-family: var(--f-sans);
  font-size: 12.5px; font-weight: 700; letter-spacing: 0.14em;
  text-transform: uppercase; transition: all .15s;
}
.block-hub-featured__card:hover .block-hub-featured__cta {
  background: var(--navy-deep); color: var(--gold);
}
@media (max-width: 880px) {
  .block-hub-featured__card { grid-template-columns: 1fr; }
  /* Gestapelt bleibt das Quadrat quadratisch, aber gedeckelt: ein
     bildschirmbreites Quadrat schoebe den Text unter die Falz.
     Events regeln ihr eigenes gestapeltes Fenster weiter unten. */
  .block-hub-featured:not(.block-hub-featured--events) .block-hub-featured__image {
    aspect-ratio: 1/1; max-width: 420px; width: 100%; min-height: 0;
  }
  .block-hub-featured__body { padding: 32px 26px; }
}

/* --- HUB-MAGAZINE-LIST + ITEM --- */
.block-hub-maglist {
  padding: 32px 0 16px; background: var(--ivory);
}
.block-hub-maglist + .block-hub-maglist { padding-top: 16px; }
.block-hub-maglist:last-of-type { padding-bottom: 80px; }
.block-hub-maglist__header { margin-bottom: 14px; padding: 18px 0 14px; border-bottom: 1px solid var(--rule); }
.block-hub-maglist__kicker {
  font-family: var(--f-sans); font-size: 10.5px; font-weight: 600;
  letter-spacing: 0.26em; text-transform: uppercase; color: var(--gold-deep);
  margin-bottom: 10px;
}
.block-hub-maglist__title {
  font-family: var(--f-serif); font-weight: 500;
  font-size: clamp(24px, 2.2vw, 30px); color: var(--navy-deep);
  margin: 0; display: flex; align-items: baseline; gap: 14px; line-height: 1.1;
}
.block-hub-maglist__count {
  font-family: var(--f-sans); font-size: 12px; font-weight: 500;
  letter-spacing: 0.20em; text-transform: uppercase; color: var(--ink-soft);
}
.block-hub-maglist__sub {
  font-family: var(--f-serif); font-style: italic; font-size: 15px;
  color: var(--ink-soft); margin: 8px 0 0; max-width: 720px;
}
.block-hub-maglist__items { display: block; }

.block-hub-magitem {
  display: grid; grid-template-columns: 200px 1fr 36px;
  gap: 32px; padding: 28px 0;
  border-bottom: 1px solid var(--rule);
  align-items: start; color: inherit;
  transition: background .18s ease;
}
.block-hub-magitem:hover {
  background: linear-gradient(90deg, rgba(154, 119, 52,0.04) 0%, transparent 60%);
}
/* Quadratischer Thumb im Originalformat. Der events-Flavor ueberschreibt
   Breite und Verhaeltnis weiter unten und behaelt sein 4:3-Fenster. */
.block-hub-magitem__image {
  width: 200px; aspect-ratio: 1/1; border-radius: 4px;
  overflow: hidden; background: var(--cream); position: relative;
}
.block-hub-magitem__image img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform .45s ease;
}
.block-hub-magitem:hover .block-hub-magitem__image img { transform: scale(1.05); }
.block-hub-magitem__placeholder {
  width: 100%; height: 100%;
  background: linear-gradient(135deg, var(--navy-deep) 0%, #122951 100%);
  display: flex; align-items: center; justify-content: center;
}
.block-hub-magitem__placeholder span {
  font-family: var(--f-serif); font-style: italic; font-size: 64px;
  color: var(--gold); opacity: 0.78;
}
.block-hub-magitem__body { min-width: 0; padding-top: 4px; }
.block-hub-magitem__kicker {
  font-family: var(--f-sans); font-size: 10.5px; font-weight: 600;
  letter-spacing: 0.24em; text-transform: uppercase; color: var(--gold-deep);
  margin-bottom: 10px;
}
.block-hub-magitem__title {
  font-family: var(--f-serif); font-weight: 500;
  font-size: clamp(22px, 1.8vw, 26px); line-height: 1.2;
  color: var(--navy-deep); margin: 0 0 10px;
}
.block-hub-magitem:hover .block-hub-magitem__title { color: var(--gold-deep); }
.block-hub-magitem__lead {
  font-family: var(--f-serif); font-style: italic; font-size: 16px;
  line-height: 1.5; color: var(--ink-soft); margin: 0 0 12px; max-width: 720px;
}
.block-hub-magitem__meta {
  display: flex; flex-wrap: wrap; align-items: center; gap: 6px;
  font-family: var(--f-sans); font-size: 12px;
  color: var(--ink-soft); letter-spacing: 0.04em;
}
.block-hub-magitem__meta-label { color: var(--gold-deep); font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; font-size: 10.5px; margin-right: 4px; }
.block-hub-magitem__meta-sep { color: var(--rule); margin: 0 4px; }
.block-hub-magitem__arrow {
  font-family: var(--f-serif); font-size: 28px; color: var(--gold-deep);
  align-self: center; text-align: right;
  transition: transform .2s, color .2s;
}
.block-hub-magitem:hover .block-hub-magitem__arrow {
  transform: translateX(6px); color: var(--navy-deep);
}
.block-hub-magitem.is-noimage { grid-template-columns: 72px 1fr 36px; }
.block-hub-magitem.is-noimage .block-hub-magitem__image { width: 72px; aspect-ratio: 1/1; }
.block-hub-magitem.is-noimage .block-hub-magitem__placeholder span { font-size: 30px; }
/* --bare: kein echtes Bild ⇒ KEINE Platzhalter-Box, Bildspalte fällt weg (ADR-0039 P3).
   Doppelte Klasse, weil --bare immer zusammen mit .is-noimage steht: Mit nur
   einer Klasse gewann dort die 72-Pixel-Spalte und schob den Text hinein. */
.block-hub-magitem.block-hub-magitem--bare { grid-template-columns: 1fr 36px; }
@media (max-width: 720px) {
  /* Mobil bleibt der Thumb links stehen, nur kleiner — ein vollbreites Quadrat
     draengte den Titel jeder Zeile aus dem Blick. */
  .block-hub-magitem { grid-template-columns: 120px 1fr; gap: 16px; padding: 22px 0; }
  .block-hub-magitem__image { width: 120px; aspect-ratio: 1/1; }
  .block-hub-magitem.is-noimage { grid-template-columns: 72px 1fr; }
  .block-hub-magitem.is-noimage .block-hub-magitem__image { width: 72px; aspect-ratio: 1/1; }
  .block-hub-magitem.block-hub-magitem--bare { grid-template-columns: 1fr; }
  .block-hub-magitem__arrow { display: none; }
  .block-hub-featured__body { padding: 28px 22px; }
  .block-hub-hero { height: auto; min-height: 0; padding: 80px 0 40px; }
}

/* --- BACK-PILL (auf jeder Detail-Page oben) --- */
.detail-back-pill-wrap { background: #fff; padding: 14px 0; }
.detail-back-pill {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 10px 22px; background: var(--cream); border: 1px solid var(--rule);
  border-radius: 999px; color: var(--ink); text-decoration: none;
  font-family: var(--f-sans); font-size: 11.5px; font-weight: 600;
  letter-spacing: 0.18em; text-transform: uppercase;
  transition: all .15s;
}
.detail-back-pill:hover { border-color: var(--gold); color: var(--gold-deep); }

/* ============ FLAVOR: events (CSE-Niveau Editorial-Hub) ============ */

/* --- HUB-HERO: clean variant (kein SVG-Pattern, dezente Gold-Linie oben) --- */
.block-hub-hero--clean {
  background: linear-gradient(180deg, #FBF8F0 0%, #F7F1DE 100%);
  /* Sven 25.07.: gleiche Header-Höhe wie alle anderen Hub-Seiten (kein Sonder-Riesenhero). */
  padding: 38px 0 24px;
}
.block-hub-hero--clean .block-hub-hero__inner { max-width: 980px; }
.block-hub-hero--clean .block-hub-hero__kicker {
  font-family: var(--f-mono, 'JetBrains Mono', monospace);
  letter-spacing: 0.22em; font-size: 11.5px;
  color: var(--gold-deep); margin-bottom: 14px;
}
.block-hub-hero--clean .block-hub-hero__title {
  font-size: clamp(32px, 4vw, 50px); line-height: 1.04;
  font-weight: 500; letter-spacing: -0.012em;
  margin: 0 0 14px;
}
.block-hub-hero--clean .block-hub-hero__title em {
  font-style: italic; color: var(--gold-deep); font-weight: 500;
}
.block-hub-hero--clean .block-hub-hero__lead {
  font-family: var(--f-serif); font-style: italic; font-weight: 400;
  font-size: clamp(17px, 1.6vw, 20px); line-height: 1.5;
  color: var(--ink); max-width: 820px; margin: 0;
}
.block-hub-hero--clean .block-hub-hero__lead strong {
  font-style: normal; color: var(--navy-deep); font-weight: 600;
}
.block-hub-hero--clean .block-hub-hero__meta {
  gap: 42px;
}
.block-hub-hero--clean .block-hub-hero__meta-label {
  font-family: var(--f-mono, 'JetBrains Mono', monospace);
  letter-spacing: 0.18em; font-size: 10.5px;
}

/* --- HUB-FEATURED-CARD: events flavor (CSE events-card 1:1) --- */
.block-hub-featured--events { padding: clamp(48px, 7vw, 88px) 0 clamp(40px, 5vw, 64px); background: linear-gradient(180deg, var(--cream, #FBF8F0) 0%, #F4EFE2 100%); }
.block-hub-featured--events .block-hub-featured__inner { max-width: 1240px; }
.block-hub-featured--events .block-hub-featured__card {
  grid-template-columns: 1.05fr 1fr;
  border: 1px solid rgba(10,30,63,0.10);
  border-radius: 8px;
  box-shadow: 0 1px 0 rgba(10,30,63,0.03), 0 18px 48px -28px rgba(10,30,63,0.20);
}
.block-hub-featured--events .block-hub-featured__image {
  aspect-ratio: auto;
  min-height: clamp(360px, 48vw, 560px);
  background: var(--navy-deep);
}
.block-hub-featured--events .block-hub-featured__body {
  padding: clamp(36px, 4.5vw, 64px);
  gap: 0;
}
.block-hub-featured--events .block-hub-featured__kicker {
  font-family: var(--f-mono, 'JetBrains Mono', monospace);
  font-size: 11px; letter-spacing: 0.18em;
  color: var(--gold-deep); font-weight: 500;
  margin-bottom: 16px;
}
.block-hub-featured--events .block-hub-featured__title {
  font-family: var(--f-serif); font-weight: 500;
  font-size: clamp(36px, 4.6vw, 56px);
  line-height: 1.05; letter-spacing: -0.012em;
  color: var(--navy-deep); margin: 0 0 18px;
}
.block-hub-featured--events .block-hub-featured__title em {
  font-style: italic; color: var(--gold-deep); font-weight: 500;
}
.block-hub-featured--events .block-hub-featured__lead {
  font-family: var(--f-sans); font-style: normal; font-weight: 400;
  font-size: clamp(15.5px, 1.55vw, 18.5px); line-height: 1.62;
  color: var(--ink); margin: 0 0 28px;
}
.block-hub-featured--events .block-hub-featured__meta {
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 20px 32px;
  padding: 22px 0; margin: 0 0 30px;
  border-top: 1px solid rgba(10,30,63,0.12);
  border-bottom: 1px solid rgba(10,30,63,0.12);
}
.block-hub-featured--events .block-hub-featured__meta-label {
  font-family: var(--f-mono, 'JetBrains Mono', monospace);
  font-size: 10.5px; letter-spacing: 0.14em;
  color: var(--ink-soft); font-weight: 500;
  margin-bottom: 5px;
}
.block-hub-featured--events .block-hub-featured__meta-value {
  font-family: var(--f-serif); font-weight: 500;
  font-size: 19px; color: var(--navy-deep); line-height: 1.3;
}
.block-hub-featured--events .block-hub-featured__cta {
  padding: 15px 30px;
  background: var(--gold-deep); color: var(--navy-deep);
  border-radius: 999px;
  font-family: var(--f-sans); font-size: 13px; font-weight: 700;
  letter-spacing: 0.12em; text-transform: uppercase;
  box-shadow: 0 4px 14px -4px rgba(166,134,74,0.5);
}
.block-hub-featured--events .block-hub-featured__card:hover .block-hub-featured__cta {
  background: var(--navy-deep); color: var(--gold);
}
@media (max-width: 820px) {
  .block-hub-featured--events .block-hub-featured__card { grid-template-columns: 1fr; }
  .block-hub-featured--events .block-hub-featured__image { aspect-ratio: 16/10; min-height: 240px; }
  .block-hub-featured--events .block-hub-featured__title { font-size: clamp(30px, 7vw, 40px); }
}

/* --- HUB-MAGAZINE-LIST: events flavor (größere Bilder, Navy-Texture-Placeholder) --- */
.block-hub-maglist--events { padding: clamp(40px, 5vw, 72px) 0; background: var(--ivory); }
.block-hub-maglist--events .block-hub-maglist__header {
  padding: 0 0 20px; margin-bottom: 6px;
  border-bottom: 1px solid var(--rule);
}
.block-hub-maglist--events .block-hub-maglist__kicker {
  font-family: var(--f-mono, 'JetBrains Mono', monospace);
  font-size: 11px; letter-spacing: 0.20em;
  color: var(--gold-deep);
}
.block-hub-maglist--events .block-hub-maglist__title {
  font-size: clamp(28px, 2.6vw, 36px); font-weight: 500;
  letter-spacing: -0.005em;
}
.block-hub-magitem--events {
  grid-template-columns: 320px 1fr 40px;
  gap: 40px; padding: 36px 0;
}
.block-hub-magitem--events .block-hub-magitem__image {
  width: 320px; aspect-ratio: 4/3;
  border-radius: 6px; background: var(--navy-deep);
}
.block-hub-magitem--events .block-hub-magitem__title {
  font-size: clamp(24px, 2vw, 30px); font-weight: 500;
  letter-spacing: -0.005em; line-height: 1.18;
  margin: 0 0 12px;
}
.block-hub-magitem--events .block-hub-magitem__kicker {
  font-family: var(--f-mono, 'JetBrains Mono', monospace);
  letter-spacing: 0.18em; font-size: 10.5px;
}
.block-hub-magitem--events .block-hub-magitem__lead {
  font-family: var(--f-sans); font-style: normal;
  font-size: 15.5px; line-height: 1.6;
  color: var(--ink); margin-bottom: 14px;
}
.block-hub-magitem--events.is-noimage {
  /* In events-flavor wird auch ohne Bild ein Texture-Placeholder gerendert →
     same grid as with image. */
  grid-template-columns: 320px 1fr 40px;
}
.block-hub-magitem--events.is-noimage .block-hub-magitem__image {
  width: 320px; aspect-ratio: 4/3;
}
.block-hub-magitem__placeholder--texture {
  width: 100%; height: 100%; background: var(--navy-deep);
  display: block; overflow: hidden; position: relative;
}
.block-hub-magitem__placeholder--texture svg {
  width: 100%; height: 100%; display: block;
}
@media (max-width: 820px) {
  .block-hub-magitem--events,
  .block-hub-magitem--events.is-noimage {
    grid-template-columns: 1fr; gap: 16px; padding: 26px 0;
  }
  .block-hub-magitem--events .block-hub-magitem__image,
  .block-hub-magitem--events.is-noimage .block-hub-magitem__image {
    width: 100%; aspect-ratio: 16/9;
  }
}

/* ============ SPEAKERS-GRID (CSE Mandelblüte Pattern 1:1) ============ */
.block-speakers {
  padding: clamp(70px, 9vw, 120px) 0;
  background: linear-gradient(180deg, #F5EFE3 0%, #FAF8F2 100%);
}
.block-speakers__head {
  text-align: center;
  max-width: 880px;
  margin: 0 auto clamp(40px, 5vw, 64px);
}
.block-speakers__kicker {
  font-family: var(--f-mono, 'JetBrains Mono', monospace);
  font-size: 11px; font-weight: 600;
  letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--gold-deep); margin-bottom: 22px;
}
.block-speakers__title {
  font-family: var(--f-serif); font-weight: 400;
  font-size: clamp(36px, 5vw, 56px); line-height: 1.08;
  color: var(--navy-deep); margin: 0 auto 18px; max-width: 820px;
}
.block-speakers__title em {
  font-style: italic; color: var(--gold-deep); font-weight: 400;
}
.block-speakers__lead {
  font-family: var(--f-serif); font-style: italic;
  font-size: clamp(17px, 1.6vw, 19px); line-height: 1.55;
  color: var(--ink-soft); max-width: 720px; margin: 0 auto;
}
.block-speakers__lead em {
  color: var(--gold-deep); font-style: italic;
}

.block-speakers__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 260px));
  justify-content: center;
  gap: clamp(18px, 2.5vw, 28px);
  max-width: 1180px;
  margin: 0 auto;
}

/* When a card is open, span all columns + go full width */
.speaker-card.is-open {
  grid-column: 1 / -1;
}

.speaker-card {
  position: relative;
  background: #FFFFFF;
  border: 1px solid rgba(10, 30, 63, 0.10);
  border-radius: 8px;
  box-shadow: 0 6px 22px rgba(10, 30, 63, 0.05);
  text-align: center;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
  overflow: hidden;
}
.speaker-card:hover { transform: translateY(-4px); border-color: var(--gold); box-shadow: 0 16px 40px rgba(10, 30, 63, 0.14); }
.speaker-card.is-open {
  border-color: var(--gold);
  border-width: 2px;
  box-shadow: 0 18px 48px rgba(10, 30, 63, 0.16);
  transform: none;
  text-align: left;
}
.speaker-card--requested { opacity: 0.94; }
.speaker-card--static:hover {
  transform: none;
  border-color: rgba(10, 30, 63, 0.10);
  box-shadow: 0 6px 22px rgba(10, 30, 63, 0.05);
}

.speaker-card__toggle {
  appearance: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: clamp(28px, 3vw, 36px) 20px clamp(46px, 4vw, 54px);
  background: transparent;
  border: 0;
  cursor: pointer;
  width: 100%;
  text-align: inherit;
  font: inherit;
  color: inherit;
  position: relative;
}
.speaker-card.is-open .speaker-card__toggle {
  flex-direction: row;
  align-items: center;
  gap: 28px;
  text-align: left;
  padding: 28px 32px;
}
.speaker-card--static .speaker-card__toggle {
  padding-bottom: clamp(28px, 3vw, 36px);
  cursor: default;
}

.speaker-card__plus {
  position: absolute;
  top: 14px; right: 16px;
  width: 26px; height: 26px;
  border-radius: 50%;
  background: rgba(154, 119, 52, 0.16);
  color: var(--gold-deep);
  font-family: var(--f-sans);
  font-weight: 400; font-size: 20px;
  line-height: 24px;
  text-align: center;
  transition: background 0.25s, color 0.25s, transform 0.3s ease;
  z-index: 3;
}
.speaker-card:hover .speaker-card__plus { background: var(--action-bg); color: var(--action-fg); }
.speaker-card.is-open .speaker-card__plus {
  background: var(--action-bg);
  color: var(--action-fg);
  transform: rotate(45deg);
}

.speaker-card__portrait {
  position: relative;
  width: 124px; height: 124px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--navy-deep) 0%, var(--navy-mid) 100%);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 18px;
  box-shadow: 0 6px 20px rgba(10, 30, 63, 0.18);
  border: 4px solid var(--gold);
  flex-shrink: 0;
}
.speaker-card__portrait-inner {
  position: absolute; inset: 0;
  border-radius: 50%;
  overflow: hidden;
}
.speaker-card.is-open .speaker-card__portrait {
  width: 140px; height: 140px;
  margin-bottom: 0;
}
.speaker-card__portrait img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  z-index: 2;
  filter: saturate(0.94);
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}
.speaker-card__portrait-inner img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
}
.speaker-card:hover .speaker-card__portrait img,
.speaker-card:hover .speaker-card__portrait-inner img {
  transform: scale(1.06);
}
.speaker-card__initials {
  font-family: var(--f-serif);
  font-style: italic; font-weight: 500;
  font-size: 44px;
  color: var(--gold-light);
  letter-spacing: -0.02em;
  position: relative; z-index: 1;
}
.speaker-card__badge {
  position: absolute;
  bottom: -12px; left: 50%;
  transform: translateX(-50%);
  padding: 5px 12px;
  background: var(--gold);
  color: var(--navy-deep);
  font-family: var(--f-mono, 'JetBrains Mono', monospace);
  font-size: 9.5px; font-weight: 700;
  letter-spacing: 0.14em; text-transform: uppercase;
  border-radius: 999px;
  white-space: nowrap;
  z-index: 5;
  box-shadow: 0 2px 8px rgba(10, 30, 63, 0.18);
}
.speaker-card__badge--ask {
  background: #FFFFFF;
  color: var(--ink-soft);
  border: 1px solid rgba(10, 30, 63, 0.15);
}
.speaker-card__name {
  font-family: var(--f-serif); font-weight: 500;
  font-size: clamp(17px, 1.9vw, 20px);
  color: var(--navy-deep);
  line-height: 1.2;
  margin: 6px 0 6px;
  display: block;
}
.speaker-card.is-open .speaker-card__name {
  font-size: clamp(22px, 2.4vw, 28px);
  margin: 0 0 4px;
}
.speaker-card__role {
  font-family: var(--f-serif); font-style: italic;
  font-size: 13.5px;
  color: var(--ink-soft);
  line-height: 1.4;
  display: block;
}
.speaker-card.is-open .speaker-card__role {
  font-size: 16px;
}
.speaker-card__cta {
  position: absolute;
  bottom: 16px; left: 50%;
  transform: translateX(-50%);
  font-family: var(--f-mono, 'JetBrains Mono', monospace);
  font-size: 10px;
  letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--gold-deep);
  white-space: nowrap;
  opacity: 0.62;
  transition: opacity 0.25s ease, transform 0.25s ease;
}
.speaker-card:hover .speaker-card__cta { opacity: 1; transform: translateX(-50%) translateY(-2px); }
.speaker-card.is-open .speaker-card__cta { display: none; }
@media (hover: none) {
  .speaker-card__cta { opacity: 0.95; }
}

/* === Bio expand === */
.speaker-card__bio {
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.45s cubic-bezier(0.4, 0, 0.2, 1);
  background: linear-gradient(180deg, #FFFFFF 0%, #FBF8F0 100%);
  border-top: 1px solid rgba(154, 119, 52, 0.35);
  padding: 0 clamp(28px, 4vw, 56px);
}
.speaker-card.is-open .speaker-card__bio {
  padding: clamp(28px, 4vw, 40px) clamp(28px, 4vw, 56px) clamp(32px, 4vw, 48px);
}
.speaker-card__bio-text {
  font-family: var(--f-serif);
  font-size: clamp(15.5px, 1.4vw, 17.5px);
  line-height: 1.62;
  color: var(--ink);
  margin: 0 0 22px;
  max-width: 760px;
}
.speaker-card__bio-text em { color: var(--gold-deep); }
.speaker-card__bio-text strong { color: var(--navy-deep); font-weight: 600; }

.speaker-card__topics {
  margin: 18px 0 0;
  padding-top: 18px;
  border-top: 1px solid rgba(10, 30, 63, 0.10);
}
.speaker-card__topics-label {
  font-family: var(--f-mono, 'JetBrains Mono', monospace);
  font-size: 10.5px; font-weight: 600;
  letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--gold-deep);
  margin-bottom: 12px;
}
.speaker-card__topics-list {
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-wrap: wrap; gap: 8px 10px;
}
.speaker-card__topic {
  display: inline-flex; align-items: center;
  padding: 7px 14px;
  background: rgba(154, 119, 52, 0.12);
  border: 1px solid rgba(154, 119, 52, 0.30);
  border-radius: 999px;
  font-family: var(--f-sans);
  font-size: 12.5px; font-weight: 500;
  color: var(--navy-deep);
  line-height: 1.25;
}
.speaker-card__quote {
  font-family: var(--f-serif); font-style: italic;
  font-size: clamp(16px, 1.5vw, 18.5px);
  line-height: 1.5;
  color: var(--gold-deep);
  margin: 22px 0 0;
  padding: 8px 0 8px 18px;
  border-left: 3px solid var(--gold);
  max-width: 720px;
}

.block-speakers__hint {
  text-align: center;
  font-family: var(--f-mono, 'JetBrains Mono', monospace);
  font-size: 10.5px;
  letter-spacing: 0.18em;
  color: var(--ink-soft);
  text-transform: uppercase;
  margin: clamp(36px, 4vw, 50px) 0 0;
  opacity: 0.85;
}

@media (max-width: 640px) {
  .block-speakers__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
  }
  .speaker-card__toggle {
    padding: 24px 12px 42px;
  }
  .speaker-card__portrait {
    width: 100px; height: 100px;
    border-width: 3px;
  }
  .speaker-card__initials { font-size: 36px; }
  .speaker-card.is-open .speaker-card__toggle {
    flex-direction: column;
    align-items: center;
    gap: 14px;
    text-align: center;
    padding: 24px 18px;
  }
  .speaker-card.is-open .speaker-card__portrait {
    width: 120px; height: 120px;
  }
}
@media (max-width: 380px) {
  .block-speakers__grid { grid-template-columns: 1fr; }
}

/* ============ HERO-LANDING READABILITY FIX ============
   Auf hellem BG (Mandelblüten-Foto) ist gold-italic schlecht lesbar.
   Stärkerer Shadow + dunkleres Gradient für Mittelpartie. */
.block-hero-landing.has-bg::before {
  background: linear-gradient(180deg,
    rgba(10,30,63,0.20) 0%,
    rgba(10,30,63,0.42) 35%,
    rgba(10,30,63,0.62) 65%,
    rgba(10,30,63,0.55) 100%);
}
.block-hero-landing.has-bg .dl-title__hl {
  color: #e8c878;
  text-shadow:
    0 2px 14px rgba(10,30,63,0.85),
    0 0 22px rgba(10,30,63,0.6),
    0 1px 3px rgba(0,0,0,0.5);
}
.block-hero-landing.has-bg .block-hero-landing__title {
  color: #ffffff;
  text-shadow:
    0 2px 14px rgba(10,30,63,0.85),
    0 0 22px rgba(10,30,63,0.6),
    0 1px 3px rgba(0,0,0,0.5);
}
.block-hero-landing.has-bg .block-hero-landing__quote {
  color: #f0d68a;
  text-shadow:
    0 1px 8px rgba(10,30,63,0.85),
    0 0 16px rgba(10,30,63,0.6);
  font-weight: 400;
}
.block-hero-landing.has-bg .block-hero-landing__lead {
  color: #f8f2e0;
  text-shadow:
    0 1px 6px rgba(10,30,63,0.85),
    0 0 14px rgba(10,30,63,0.5);
}
.block-hero-landing.has-bg .block-hero-landing__lead strong {
  color: #ffffff;
}
.block-hero-landing.has-bg .block-hero-landing__savedate,
.block-hero-landing.has-bg .block-hero-landing__pill {
  color: #f8f2e0;
  text-shadow: 0 1px 4px rgba(10,30,63,0.8);
}
.block-hero-landing.has-bg .kpi__value {
  color: #e8c878;
  text-shadow: 0 1px 8px rgba(10,30,63,0.85);
}
.block-hero-landing.has-bg .kpi__label {
  color: #f0e8c8;
  text-shadow: 0 1px 4px rgba(10,30,63,0.8);
}
/* (Konfliktierende Light-BG-Overrides entfernt — Hero ist auf BG immer dunkel-getönt,
    daher passen die Cream/Gold-Werte aus den earlier-Regeln (Zeile 2210-2230). */
.block-hero-landing.has-bg .block-hero-landing__pill {
  background: rgba(255,255,255,0.18);
  border: 1px solid rgba(255,255,255,0.3);
  color: #ffffff;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
/* Stärkerer Darken-Gradient für Lead-Lesbarkeit auf JEDEM Foto */
.block-hero-landing.has-bg::before {
  background: linear-gradient(180deg,
    rgba(10,30,63,0.45) 0%,
    rgba(10,30,63,0.62) 30%,
    rgba(10,30,63,0.75) 60%,
    rgba(10,30,63,0.70) 100%) !important;
}
.block-hero-landing.has-bg .block-hero-landing__kpis {
  border-top-color: rgba(255,255,255,0.18);
}

/* ============ HOST-PORTRAIT (Veranstalter Willi Plattes) ============ */
.block-host {
  padding: clamp(60px, 8vw, 100px) 0;
  background: #FFFFFF;
  border-top: 1px solid rgba(10, 30, 63, 0.05);
}
.block-host__inner {
  display: grid;
  grid-template-columns: minmax(220px, 280px) 1fr;
  gap: clamp(32px, 5vw, 64px);
  align-items: center;
  max-width: 1080px;
  margin: 0 auto;
}
.block-host__portrait {
  position: relative;
  width: 240px; height: 240px;
  margin: 0 auto;
  border-radius: 50%;
  overflow: hidden;
  border: 3px solid var(--gold);
  box-shadow: 0 18px 50px rgba(10, 30, 63, 0.18);
  background: linear-gradient(135deg, var(--navy-deep) 0%, #1B3A6B 100%);
}
.block-host__portrait img {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
  filter: saturate(0.92);
}
.block-host__initials {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--f-serif); font-style: italic;
  font-weight: 500; font-size: 90px;
  color: var(--gold-light, #E8D6A6);
}
.block-host__portrait-ring {
  position: absolute; inset: -10px;
  border: 1px dashed rgba(154, 119, 52, 0.35);
  border-radius: 50%; pointer-events: none;
}
.block-host__kicker {
  font-family: var(--f-mono, 'JetBrains Mono', monospace);
  font-size: 11px; letter-spacing: 0.2em;
  color: var(--gold-deep); text-transform: uppercase;
  margin-bottom: 14px;
}
.block-host__title {
  font-family: var(--f-serif); font-weight: 500;
  font-size: clamp(26px, 3.6vw, 40px);
  color: var(--navy-deep); line-height: 1.12;
  margin: 0 0 18px; letter-spacing: -0.005em;
}
.block-host__title em { font-style: italic; color: var(--gold-deep); }
.block-host__lead {
  font-family: var(--f-serif); font-style: italic;
  font-size: clamp(17px, 1.9vw, 20px);
  color: var(--ink); line-height: 1.55;
  margin: 0 0 22px; max-width: 580px;
}
.block-host__lead strong {
  font-style: normal; font-weight: 600; color: var(--navy-deep);
}
.block-host__quote {
  font-family: var(--f-serif); font-style: italic;
  font-size: clamp(18px, 2.2vw, 22px);
  color: var(--gold-deep); line-height: 1.4;
  padding: 14px 0 14px 18px;
  border-left: 3px solid var(--gold);
  margin: 0 0 22px; max-width: 580px;
}
.block-host__meta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  max-width: 580px;
  padding-top: 18px;
  border-top: 1px solid rgba(10, 30, 63, 0.08);
}
.block-host__meta-label {
  font-family: var(--f-mono, 'JetBrains Mono', monospace);
  font-size: 10px; letter-spacing: 0.18em;
  color: var(--gold-deep); text-transform: uppercase;
  margin-bottom: 6px;
}
.block-host__meta-value {
  font-family: var(--f-serif); font-style: italic;
  font-size: 15.5px; color: var(--ink); line-height: 1.4;
}
@media (max-width: 760px) {
  .block-host__inner { grid-template-columns: 1fr; text-align: center; }
  .block-host__lead, .block-host__quote, .block-host__meta { margin-left: auto; margin-right: auto; }
  .block-host__quote {
    border-left: none;
    border-top: 1px dashed rgba(154, 119, 52, 0.5);
    border-bottom: 1px dashed rgba(154, 119, 52, 0.5);
    padding: 14px 0;
  }
}
@media (max-width: 540px) {
  .block-host__meta { grid-template-columns: 1fr; }
}

/* ============ THEMES-GRID (7 Säulen) ============ */
.block-themes {
  padding: clamp(70px, 9vw, 120px) 0;
  background: #FAF8F2;
}
.block-themes__head {
  max-width: 760px; margin: 0 auto clamp(40px, 5vw, 60px);
  text-align: center;
}
.block-themes__kicker {
  font-family: var(--f-mono, 'JetBrains Mono', monospace);
  font-size: 11px; letter-spacing: 0.2em;
  color: var(--gold-deep); text-transform: uppercase;
  margin-bottom: 18px;
}
.block-themes__title {
  font-family: var(--f-serif); font-weight: 500;
  font-size: clamp(30px, 4.5vw, 48px);
  color: var(--navy-deep); line-height: 1.12;
  margin: 0 0 18px; letter-spacing: -0.005em;
}
.block-themes__title em { font-style: italic; color: var(--gold-deep); }
.block-themes__lead {
  font-family: var(--f-serif); font-style: italic;
  font-size: clamp(17px, 1.9vw, 20px);
  color: var(--ink); line-height: 1.55;
  margin: 0 auto; max-width: 640px;
}
.block-themes__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: clamp(18px, 2.5vw, 28px);
  max-width: 1180px;
  margin: 0 auto;
}
.block-themes__card {
  padding: clamp(26px, 3vw, 36px);
  background: #FFFFFF;
  border: 1px solid rgba(10, 30, 63, 0.08);
  border-radius: 6px;
  box-shadow: 0 6px 22px rgba(10, 30, 63, 0.04);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.block-themes__card:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 36px rgba(10, 30, 63, 0.10);
}
.block-themes__num {
  font-family: var(--f-serif); font-style: italic;
  font-weight: 500; font-size: 32px;
  color: var(--gold);
  margin-bottom: 14px; line-height: 1;
}
.block-themes__card-title {
  font-family: var(--f-serif); font-weight: 500;
  font-size: clamp(20px, 2.2vw, 24px);
  color: var(--navy-deep); line-height: 1.2;
  margin: 0 0 12px;
}
.block-themes__card-body {
  font-family: var(--f-sans);
  font-size: 14.5px; line-height: 1.6;
  color: var(--ink); margin: 0;
}

/* ============ AGENDA-DAYS (3-Tage-Timeline) ============ */
.block-agenda {
  padding: clamp(70px, 9vw, 120px) 0;
  background: linear-gradient(180deg, #FAF8F2 0%, #F5EFE3 100%);
}
.block-agenda__head {
  max-width: 760px; margin: 0 auto clamp(40px, 5vw, 60px);
  text-align: center;
}
.block-agenda__kicker {
  font-family: var(--f-mono, 'JetBrains Mono', monospace);
  font-size: 11px; letter-spacing: 0.2em;
  color: var(--gold-deep); text-transform: uppercase;
  margin-bottom: 18px;
}
.block-agenda__title {
  font-family: var(--f-serif); font-weight: 500;
  font-size: clamp(30px, 4.5vw, 48px);
  color: var(--navy-deep); line-height: 1.12;
  margin: 0 0 18px; letter-spacing: -0.005em;
}
.block-agenda__title em { font-style: italic; color: var(--gold-deep); }
.block-agenda__lead {
  font-family: var(--f-serif); font-style: italic;
  font-size: clamp(17px, 1.9vw, 20px);
  color: var(--ink); line-height: 1.55;
  margin: 0 auto; max-width: 640px;
}
.block-agenda__days {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(18px, 2.4vw, 28px);
  max-width: 1180px;
  margin: 0 auto;
  align-items: stretch;
}
@media (max-width: 980px) {
  .block-agenda__days { grid-template-columns: 1fr; max-width: 640px; align-items: start; }
}
.block-agenda__day {
  background: #FFFFFF;
  border: 1px solid rgba(10, 30, 63, 0.08);
  border-radius: 8px;
  box-shadow: 0 6px 22px rgba(10, 30, 63, 0.04);
  overflow: hidden;
  transition: box-shadow 0.3s ease, transform 0.3s ease;
  display: flex; flex-direction: column;
}
.block-agenda__day:hover {
  box-shadow: 0 16px 40px rgba(10, 30, 63, 0.10);
  transform: translateY(-3px);
}
.block-agenda__day--accent {
  border-color: rgba(154, 119, 52, 0.45);
  background: linear-gradient(180deg, #FFFDF6 0%, #FFFFFF 18%);
}
.block-agenda__day-head {
  padding: clamp(22px, 2.8vw, 30px);
  border-bottom: 1px dashed rgba(10, 30, 63, 0.12);
  background: linear-gradient(180deg, #FBF7EC 0%, transparent 100%);
}
.block-agenda__day--accent .block-agenda__day-head {
  background: linear-gradient(180deg, #F5EBD0 0%, transparent 100%);
}
.block-agenda__day-label {
  font-family: var(--f-mono, 'JetBrains Mono', monospace);
  font-size: 10.5px; letter-spacing: 0.18em;
  color: var(--gold-deep); text-transform: uppercase;
  margin-bottom: 8px;
}
.block-agenda__day-date {
  font-family: var(--f-serif); font-weight: 500;
  font-size: clamp(20px, 2.4vw, 26px);
  color: var(--navy-deep); line-height: 1.1;
  margin-bottom: 6px;
}
.block-agenda__day-theme {
  font-family: var(--f-serif); font-style: italic;
  font-size: 15px; color: var(--gold-deep); line-height: 1.3;
}
.block-agenda__timeline {
  list-style: none;
  padding: clamp(18px, 2.4vw, 24px);
  margin: 0;
  display: flex; flex-direction: column;
  gap: 16px; flex: 1;
}
.block-agenda__timeline li {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 14px;
  align-items: start;
  padding-bottom: 14px;
  border-bottom: 1px dotted rgba(10, 30, 63, 0.08);
}
.block-agenda__timeline li:last-child { border-bottom: none; padding-bottom: 0; }
.block-agenda__timeline li.block-agenda__notice {
  display: grid;
  padding: 12px 14px;
  border: 1px solid color-mix(in srgb, var(--gold-deep) 28%, transparent);
  border-radius: 10px;
  background: color-mix(in srgb, var(--gold-deep) 7%, white);
}
.block-agenda__timeline li.block-agenda__notice:not(.has-time-label) .block-agenda__notice-content {
  grid-column: 1 / -1;
}
.block-agenda__timeline p.block-agenda__notice-title {
  color: var(--navy-deep);
  font-weight: 650;
}
.block-agenda__time {
  font-family: var(--f-mono, 'JetBrains Mono', monospace);
  font-size: 12px; font-weight: 600;
  letter-spacing: 0.05em;
  color: var(--gold-deep);
  padding-top: 2px; text-align: right;
}
.block-agenda__timeline h4 {
  font-family: var(--f-serif); font-weight: 500;
  font-size: 17px;
  color: var(--navy-deep); line-height: 1.2;
  margin: 0 0 4px;
}
.block-agenda__timeline p {
  font-family: var(--f-sans);
  font-size: 13.5px; line-height: 1.5;
  color: var(--ink); margin: 0;
}
.block-agenda__day-foot {
  padding: 14px clamp(18px, 2.4vw, 24px);
  border-top: 1px dashed rgba(10, 30, 63, 0.12);
  background: linear-gradient(180deg, transparent 0%, rgba(154, 119, 52, 0.06) 100%);
  font-family: var(--f-mono, 'JetBrains Mono', monospace);
  font-size: 10px; letter-spacing: 0.16em;
  color: var(--gold-deep); text-transform: uppercase;
  text-align: center;
  margin-top: auto;
}
.block-agenda__day-foot em {
  font-family: var(--f-serif); font-style: italic;
  font-size: 13px; letter-spacing: 0.02em;
  text-transform: none; color: #6B5530;
  display: block; margin-top: 4px;
}
.block-agenda__note {
  text-align: center;
  font-family: var(--f-mono, 'JetBrains Mono', monospace);
  font-size: 10.5px; letter-spacing: 0.18em;
  color: var(--ink-soft); text-transform: uppercase;
  margin: clamp(36px, 4vw, 50px) auto 0;
  max-width: 760px;
}
.block-agenda__note em {
  font-family: var(--f-serif); font-style: italic;
  font-size: 13px; letter-spacing: 0;
  color: var(--gold-deep); text-transform: none;
}

/* ============ ATMOSPHERE (Bild-Schnitt + Overlay-Card) ============ */
.block-atmosphere {
  position: relative;
  padding: clamp(80px, 11vw, 160px) 0;
  overflow: hidden;
  background: var(--navy-deep);
}
.block-atmosphere__image {
  position: absolute; inset: 0; z-index: 0;
}
.block-atmosphere__image img {
  width: 100%; height: 100%;
  object-fit: cover;
  opacity: 0.55;
  filter: saturate(0.85) brightness(0.85);
}
.block-atmosphere > .container {
  position: relative; z-index: 2;
}
.block-atmosphere::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(10, 30, 63, 0.55) 0%, rgba(10, 30, 63, 0.85) 80%);
  z-index: 1;
}
.block-atmosphere__overlay {
  max-width: 680px;
  margin: 0 auto;
  padding: clamp(28px, 4vw, 44px);
  background: rgba(250, 248, 242, 0.04);
  border: 1px solid rgba(154, 119, 52, 0.35);
  border-radius: 8px;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  text-align: center;
}
.block-atmosphere__kicker {
  font-family: var(--f-mono, 'JetBrains Mono', monospace);
  font-size: 11px; letter-spacing: 0.2em;
  color: var(--gold-light, #E8D6A6); text-transform: uppercase;
  margin-bottom: 18px;
}
.block-atmosphere__title {
  font-family: var(--f-serif); font-weight: 500;
  font-size: clamp(28px, 4vw, 44px);
  color: var(--cream); line-height: 1.12;
  margin: 0 0 22px; letter-spacing: -0.005em;
}
.block-atmosphere__title em { font-style: italic; color: var(--gold-light, #E8D6A6); }
.block-atmosphere__body {
  font-family: var(--f-serif); font-style: italic;
  font-size: clamp(17px, 1.9vw, 20px);
  color: rgba(250, 248, 242, 0.92);
  line-height: 1.6; margin: 0 0 32px;
}
.block-atmosphere__details {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  padding-top: 22px;
  border-top: 1px solid rgba(154, 119, 52, 0.3);
}
@media (max-width: 640px) {
  .block-atmosphere__details { grid-template-columns: 1fr; gap: 18px; }
}
.block-atmosphere__detail-label {
  font-family: var(--f-mono, 'JetBrains Mono', monospace);
  font-size: 9.5px; letter-spacing: 0.18em;
  color: rgba(232, 214, 166, 0.85); text-transform: uppercase;
  margin-bottom: 6px;
}
.block-atmosphere__detail-value {
  font-family: var(--f-serif); font-style: italic;
  font-weight: 500; font-size: 19px;
  color: var(--cream); line-height: 1.2;
  margin-bottom: 4px;
}
.block-atmosphere__detail-sub {
  font-family: var(--f-serif); font-style: italic;
  font-size: 13px;
  color: rgba(250, 248, 242, 0.7);
  line-height: 1.4;
}

/* ============ ANMELDUNG (dark CTA-Block) ============ */
.block-anmeldung {
  padding: clamp(70px, 9vw, 120px) 0;
  background: linear-gradient(135deg, var(--navy-deep) 0%, #1B3A6B 100%);
  position: relative; overflow: hidden;
}
.block-anmeldung::before {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 100%, rgba(232, 214, 166, 0.08), transparent 70%);
  pointer-events: none;
}
.block-anmeldung__inner { position: relative; z-index: 1; }
.block-anmeldung__head {
  max-width: 760px; margin: 0 auto clamp(40px, 5vw, 60px);
  text-align: center;
}
.block-anmeldung__kicker {
  font-family: var(--f-mono, 'JetBrains Mono', monospace);
  font-size: 11px; letter-spacing: 0.2em;
  color: var(--gold-light, #E8D6A6); text-transform: uppercase;
  margin-bottom: 18px;
}
.block-anmeldung__title {
  font-family: var(--f-serif); font-weight: 500;
  font-size: clamp(30px, 4.5vw, 48px);
  color: var(--cream); line-height: 1.12;
  margin: 0; letter-spacing: -0.005em;
}
.block-anmeldung__title em { font-style: italic; color: var(--gold-light, #E8D6A6); }
.block-anmeldung__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(20px, 3vw, 40px);
  max-width: 880px;
  margin: 0 auto clamp(40px, 5vw, 60px);
  padding: clamp(28px, 3.5vw, 40px) 0;
  border-top: 1px solid rgba(154, 119, 52, 0.25);
  border-bottom: 1px solid rgba(154, 119, 52, 0.25);
}
@media (max-width: 720px) {
  .block-anmeldung__grid { grid-template-columns: 1fr; gap: 32px; }
}
.block-anmeldung__col { text-align: center; }
.block-anmeldung__label {
  font-family: var(--f-mono, 'JetBrains Mono', monospace);
  font-size: 10.5px; letter-spacing: 0.18em;
  color: rgba(232, 214, 166, 0.8); text-transform: uppercase;
  margin-bottom: 10px;
}
.block-anmeldung__value {
  font-family: var(--f-serif); font-style: italic;
  font-weight: 500; font-size: clamp(24px, 3vw, 32px);
  color: #FFFFFF; line-height: 1.15;
  margin-bottom: 4px;
}
.block-anmeldung__sub {
  font-family: var(--f-serif); font-style: italic;
  font-size: 14px;
  color: rgba(250, 248, 242, 0.7);
}
.block-anmeldung__cta { text-align: center; }
.block-anmeldung__contact {
  font-family: var(--f-serif); font-style: italic;
  font-size: clamp(17px, 1.9vw, 20px);
  color: rgba(250, 248, 242, 0.92);
  line-height: 1.55;
  margin: 0 auto 26px;
  max-width: 600px;
}
.block-anmeldung__contact strong {
  font-style: normal; font-weight: 600;
  color: var(--gold-light, #E8D6A6);
}
.block-anmeldung__btn {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 16px 32px;
  background: var(--gold-light, #E8D6A6);
  color: var(--navy-deep);
  border-radius: 999px;
  font-family: var(--f-sans);
  font-size: 13.5px; font-weight: 700;
  letter-spacing: 0.06em;
  transition: all 0.2s;
  box-shadow: 0 6px 20px -6px rgba(232, 214, 166, 0.5);
}
.block-anmeldung__btn:hover {
  background: #FFFFFF; color: var(--navy-deep);
  transform: translateY(-2px);
  box-shadow: 0 10px 28px -8px rgba(232, 214, 166, 0.7);
}

/* ============ PARTNERS-TIER (Platin + Kooperation) ============ */
.block-partners {
  padding: clamp(70px, 9vw, 110px) 0;
  background: #FAF8F2;
}
.block-partners__head {
  max-width: 760px; margin: 0 auto clamp(40px, 5vw, 60px);
  text-align: center;
}
.block-partners__kicker {
  font-family: var(--f-mono, 'JetBrains Mono', monospace);
  font-size: 11px; letter-spacing: 0.2em;
  color: var(--gold-deep); text-transform: uppercase;
  margin-bottom: 18px;
}
.block-partners__title {
  font-family: var(--f-serif); font-weight: 500;
  font-size: clamp(30px, 4.5vw, 48px);
  color: var(--navy-deep); line-height: 1.12;
  margin: 0 0 18px; letter-spacing: -0.005em;
}
.block-partners__title em { font-style: italic; color: var(--gold-deep); }
.block-partners__lead {
  font-family: var(--f-serif); font-style: italic;
  font-size: clamp(17px, 1.9vw, 20px);
  color: var(--ink); line-height: 1.55;
  margin: 0 auto; max-width: 640px;
}
.block-partners__tier {
  max-width: 1180px;
  margin: clamp(28px, 3.5vw, 44px) auto 0;
}
.block-partners__tier-label {
  display: flex; align-items: center; gap: 10px;
  font-family: var(--f-mono, 'JetBrains Mono', monospace);
  font-size: 10.5px; letter-spacing: 0.18em;
  color: var(--gold-deep); text-transform: uppercase;
  font-weight: 600;
  margin: 0 0 22px;
}
.block-partners__tier-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--gold-deep);
  box-shadow: 0 0 0 4px rgba(154, 119, 52, 0.18);
}
.block-partners__tier-dot--coop {
  background: transparent;
  border: 1.5px solid var(--gold-deep);
  box-shadow: none;
}
.block-partners__grid {
  display: grid;
  gap: clamp(16px, 2vw, 22px);
}
.block-partners__grid--platin { grid-template-columns: repeat(3, 1fr); }
.block-partners__grid--coop { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 880px) {
  .block-partners__grid--platin { grid-template-columns: 1fr; }
  .block-partners__grid--coop { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .block-partners__grid--coop { grid-template-columns: 1fr; }
}
.block-partner {
  background: #FFFFFF;
  border: 1px solid rgba(10, 30, 63, 0.08);
  border-radius: 8px;
  padding: clamp(22px, 2.8vw, 30px);
  box-shadow: 0 4px 16px rgba(10, 30, 63, 0.04);
  display: flex; flex-direction: column;
  gap: 14px;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
.block-partner:hover {
  transform: translateY(-3px);
  border-color: rgba(154, 119, 52, 0.5);
  box-shadow: 0 14px 36px rgba(10, 30, 63, 0.10);
}
.block-partner__logo {
  height: 56px;
  display: flex; align-items: center; justify-content: flex-start;
}
.block-partner__logo img {
  max-height: 100%; max-width: 180px;
  width: auto; object-fit: contain;
  filter: saturate(0.9);
}
.block-partner__role {
  font-family: var(--f-mono, 'JetBrains Mono', monospace);
  font-size: 10px; letter-spacing: 0.18em;
  color: var(--gold-deep); text-transform: uppercase;
}
.block-partner__name {
  font-family: var(--f-serif); font-weight: 500;
  font-size: 17px; color: var(--navy-deep); line-height: 1.2;
}
.block-partner__note {
  font-family: var(--f-sans);
  font-size: 13.5px; line-height: 1.55;
  color: var(--ink); margin: 0;
}
.block-partner--compact {
  gap: 10px;
  padding: clamp(18px, 2.2vw, 22px);
}
.block-partner--compact .block-partner__logo { height: 40px; }
.block-partners__footnote {
  text-align: center;
  font-family: var(--f-serif); font-style: italic;
  font-size: clamp(15px, 1.7vw, 17px);
  color: var(--ink-soft); line-height: 1.55;
  max-width: 720px;
  margin: clamp(36px, 4vw, 50px) auto 0;
}

/* ============================================================
 * HUB-LAYOUTS v2  (2026 editorial — eines pro Hub-Typ)
 * ============================================================ */

/* ============ GLOSSARY-ALPHABET (Encyclopedia / Pedias) ============ */
.block-glossary { padding: 56px 0 96px; background: var(--ivory); }
.block-glossary__intro { max-width: 980px; margin: 0 auto 36px; text-align: center; }
.block-glossary__intro-kicker {
  font-family: var(--f-sans); font-size: 11px; font-weight: 600;
  letter-spacing: 0.28em; text-transform: uppercase; color: var(--gold-deep);
  margin-bottom: 14px;
}
.block-glossary__intro-title {
  font-family: var(--f-serif); font-weight: 400;
  font-size: clamp(28px, 3.4vw, 42px); color: var(--navy-deep);
  margin: 0 0 12px; line-height: 1.1;
}
.block-glossary__intro-count {
  font-style: italic; color: var(--gold-deep); font-size: 0.7em;
  letter-spacing: 0.02em; margin-left: 6px;
}
.block-glossary__intro-sub {
  font-family: var(--f-serif); font-style: italic;
  font-size: clamp(15px, 1.6vw, 17px); color: var(--ink-soft);
  line-height: 1.6; max-width: 720px; margin: 0 auto;
}
.block-glossary__rail {
  position: sticky; top: 0; z-index: 10;
  display: flex; flex-wrap: wrap; justify-content: center;
  gap: 2px; padding: 14px 12px;
  background: rgba(251, 248, 240, 0.96);
  backdrop-filter: blur(8px);
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
  margin: 32px -16px 0;
  border-radius: 0;
}
.block-glossary__rail-letter {
  position: relative;
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 34px; height: 34px;
  font-family: var(--f-sans); font-weight: 700; font-size: 13px;
  color: var(--navy-deep); text-decoration: none;
  border-radius: 4px;
  transition: background .15s, color .15s;
}
.block-glossary__rail-letter:hover {
  background: var(--action-bg); color: var(--action-fg);
}
.block-glossary__rail-letter.is-active {
  background: var(--navy-deep); color: var(--cream);
}
.block-glossary__rail-letter.is-empty {
  color: rgba(20, 24, 42, 0.18); cursor: default; pointer-events: none;
}
.block-glossary__rail-letter.is-vacant { color: rgba(20, 24, 42, 0.34); }
.block-glossary__rail-count {
  position: absolute; top: -2px; right: -2px;
  font-size: 8px; font-weight: 600; color: var(--gold-deep);
  letter-spacing: 0;
}
.block-glossary__rail-letter.is-empty .block-glossary__rail-count { display: none; }
.block-glossary__letters { margin-top: 48px; }
.block-glossary__letter {
  display: grid; grid-template-columns: 200px 1fr;
  gap: 40px; padding: 36px 0;
  border-top: 1px solid var(--rule);
  scroll-margin-top: 80px;
}
.block-glossary__letter:first-child { border-top: none; }
.block-glossary__letter-head { position: sticky; top: 80px; align-self: start; }
.block-glossary__letter-big {
  font-family: var(--f-serif); font-style: italic; font-weight: 400;
  font-size: clamp(96px, 12vw, 168px); line-height: 0.85;
  color: var(--gold-deep); margin: 0;
  background: linear-gradient(180deg, var(--gold-deep) 0%, rgba(166,134,74,0.45) 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
}
.block-glossary__letter-label {
  font-family: var(--f-sans); font-size: 10.5px; font-weight: 600;
  letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--ink-soft); margin-top: 6px;
}
.block-glossary__letter-count {
  font-family: var(--f-serif); font-style: italic; font-size: 18px;
  color: var(--gold-deep); margin-top: 2px;
}
.block-glossary__grid {
  list-style: none; padding: 0; margin: 0;
  display: grid; gap: 1px; background: var(--rule);
  border: 1px solid var(--rule); border-radius: 4px;
  overflow: hidden;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
}
.block-glossary__term { background: #fff; }
/* Karten-Inhalt = geteiltes Element .wce-card (cms-elements/term-card.css).
   Hier nur die willipedia-spezifische Container-Deko: Hairline-Kachel + Hover. */
.block-glossary__grid .wce-card { transition: background .15s; }
.block-glossary__grid .wce-card:hover { background: var(--cream); }
.block-glossary__empty { color: var(--muted); font-style: italic; }
@media (max-width: 820px) {
  .block-glossary__letter { grid-template-columns: 1fr; gap: 16px; }
  .block-glossary__letter-head { position: static; }
  .block-glossary__letter-big { font-size: 88px; }
}

/* ============ PEDIA TOP 20 / 21-CARD GRID ============ */
.block-pedia-top { padding: 56px 0 96px; background: var(--ivory); }
.block-pedia-top__intro {
  max-width: 760px; margin: 0 auto 34px; text-align: center;
}
.block-pedia-top__kicker {
  font-family: var(--f-sans); font-size: 11px; font-weight: 650;
  letter-spacing: .28em; text-transform: uppercase; color: var(--gold-deep);
  margin-bottom: 12px;
}
.block-pedia-top__title {
  margin: 0 0 12px; font-family: var(--f-serif); font-weight: 400;
  font-size: clamp(38px, 5vw, 58px); line-height: 1.02; color: var(--navy-deep);
}
.block-pedia-top__sub {
  margin: 0 auto; max-width: 680px; font-family: var(--f-serif);
  font-size: clamp(16px, 1.7vw, 19px); line-height: 1.55; color: var(--ink-soft);
}
.block-pedia-top__rail { margin-bottom: 42px; }
.block-pedia-top__intro--selection { margin-top: 46px; }
.block-pedia-top__grid {
  list-style: none; padding: 0; margin: 0;
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.block-pedia-top__item { min-width: 0; }
.block-pedia-top__card {
  position: relative; display: flex; flex-direction: column; height: 100%;
  min-height: 260px; padding: 26px 26px 24px; overflow: hidden;
  border: 1px solid rgba(10,30,63,.11); border-radius: 7px;
  background: #fff; color: inherit; text-decoration: none;
  box-shadow: 0 6px 22px rgba(10,30,63,.045);
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.block-pedia-top__card::after {
  content: ''; position: absolute; right: -34px; bottom: -48px;
  width: 126px; height: 126px; border: 1px solid rgba(154,119,52,.16);
  border-radius: 50%; pointer-events: none;
}
.block-pedia-top__card:hover {
  transform: translateY(-3px); border-color: var(--gold);
  box-shadow: 0 15px 34px rgba(10,30,63,.11);
}
.block-pedia-top__number {
  position: absolute; top: 22px; right: 22px;
  font-family: var(--f-serif); font-style: italic; font-size: 24px;
  color: rgba(154,119,52,.55);
}
.block-pedia-top__card-kicker {
  margin: 0 48px 13px 0; font-family: var(--f-sans); font-weight: 650;
  font-size: 10px; line-height: 1.3; letter-spacing: .18em;
  text-transform: uppercase; color: var(--gold-deep);
}
.block-pedia-top__card-title {
  margin: 0 0 12px; font-family: var(--f-serif); font-weight: 500;
  font-size: clamp(22px, 2vw, 28px); line-height: 1.12; color: var(--navy-deep);
}
.block-pedia-top__card-lead {
  margin: 0 0 22px; font-size: 13.5px; line-height: 1.62; color: var(--ink-soft);
  display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden;
}
.block-pedia-top__card-cta {
  margin-top: auto; font-size: 12px; font-weight: 700; letter-spacing: .08em;
  text-transform: uppercase; color: var(--gold-deep);
}
@media (max-width: 900px) {
  .block-pedia-top__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 580px) {
  .block-pedia-top { padding-top: 42px; }
  .block-pedia-top__grid { grid-template-columns: 1fr; }
  .block-pedia-top__card { min-height: 220px; }
}

/* ============ EVENTS-TIMELINE (Events) ============ */
.block-timeline { background: var(--ivory); }
.block-timeline__featured {
  background: var(--navy-deep); color: var(--cream);
  padding: 64px 0 72px;
  border-bottom: 4px solid var(--gold);
  position: relative; overflow: hidden;
}
.block-timeline__featured::before {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(ellipse at 70% 30%, rgba(154, 119, 52,0.18), transparent 60%);
  pointer-events: none;
}
.block-timeline__featured-inner {
  position: relative; z-index: 1;
  max-width: 1200px; margin: 0 auto; padding: 0 24px;
  display: grid; grid-template-columns: 1.2fr 1fr; gap: 56px;
  align-items: center;
}
.block-timeline__featured-kicker {
  font-family: var(--f-sans); font-size: 11px; font-weight: 600;
  letter-spacing: 0.3em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 18px;
}
.block-timeline__featured-title {
  font-family: var(--f-serif); font-weight: 400;
  font-size: clamp(36px, 4.8vw, 64px); line-height: 1.05;
  margin: 0 0 20px; color: var(--cream);
}
.block-timeline__featured-lead {
  font-family: var(--f-serif); font-style: italic;
  font-size: clamp(16px, 1.7vw, 19px); line-height: 1.55;
  color: rgba(247,242,231,0.85); margin: 0 0 28px;
  max-width: 580px;
}
.block-timeline__featured-meta {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 24px; margin: 0 0 30px; padding-top: 24px;
  border-top: 1px solid rgba(154, 119, 52,0.35);
}
.block-timeline__featured-meta dt {
  font-family: var(--f-sans); font-size: 10px; font-weight: 600;
  letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 4px;
}
.block-timeline__featured-meta dd {
  font-family: var(--f-serif); font-size: 17px;
  color: var(--cream); margin: 0; line-height: 1.3;
}
.block-timeline__featured-cta {
  display: inline-block; padding: 14px 28px;
  background: var(--action-bg); color: var(--action-fg);
  font-family: var(--f-sans); font-weight: 600; font-size: 14px;
  letter-spacing: 0.05em; text-decoration: none;
  border-radius: 6px; transition: background .15s;
}
.block-timeline__featured-cta:hover { background: var(--action-bg-hover); color: var(--action-fg); }
.block-timeline__featured-image {
  aspect-ratio: 4/3; overflow: hidden; border-radius: 4px;
  box-shadow: 0 20px 60px rgba(0,0,0,0.3);
}
.block-timeline__featured-image img {
  width: 100%; height: 100%; object-fit: cover;
}
.block-timeline__featured-placeholder {
  width: 100%; height: 100%;
  background: linear-gradient(135deg, var(--navy) 0%, var(--navy-mid) 100%);
}
.block-timeline__container { padding: 56px 0 96px; }
.block-timeline__intro { text-align: center; margin-bottom: 48px; max-width: 800px; margin-left: auto; margin-right: auto; }
.block-timeline__intro-kicker {
  font-family: var(--f-sans); font-size: 11px; font-weight: 600;
  letter-spacing: 0.28em; text-transform: uppercase; color: var(--gold-deep);
  margin-bottom: 12px;
}
.block-timeline__intro-title {
  font-family: var(--f-serif); font-weight: 400;
  font-size: clamp(28px, 3.4vw, 40px); color: var(--navy-deep);
  margin: 0; line-height: 1.1;
}
.block-timeline__rail {
  position: relative; max-width: 980px; margin: 0 auto;
  padding-left: 0;
}
.block-timeline__rail::before {
  content: ''; position: absolute;
  left: 24px; top: 0; bottom: 0;
  width: 2px; background: linear-gradient(180deg, var(--gold) 0%, var(--gold-deep) 50%, transparent 100%);
}
.block-timeline__year {
  position: relative; margin-bottom: 60px;
}
.block-timeline__year-anchor {
  position: relative; padding-left: 80px; margin-bottom: 28px;
  z-index: 2;
}
.block-timeline__year-anchor::before {
  content: ''; position: absolute;
  left: 18px; top: 50%; transform: translateY(-50%);
  width: 14px; height: 14px; border-radius: 50%;
  background: var(--gold); border: 3px solid var(--ivory);
  box-shadow: 0 0 0 2px var(--gold);
}
.block-timeline__year-anchor span {
  font-family: var(--f-serif); font-style: italic; font-weight: 400;
  font-size: clamp(40px, 5vw, 60px); color: var(--navy-deep);
  letter-spacing: -0.01em;
  display: inline-block;
  background: var(--ivory); padding-right: 16px;
}
.block-timeline__events { list-style: none; padding: 0; margin: 0; }
.block-timeline__pinned {
  margin-bottom: 52px; padding-bottom: 28px;
  border-bottom: 1px solid var(--rule);
}
.block-timeline__event {
  position: relative; padding-left: 80px;
  margin-bottom: 24px;
  min-height: 60px;
}
.block-timeline__dot {
  position: absolute; left: 18px; top: 28px;
  width: 12px; height: 12px; border-radius: 50%;
  background: #fff; border: 2px solid var(--gold-deep);
  z-index: 2;
}
.block-timeline__event.is-upcoming .block-timeline__dot {
  background: var(--gold); border-color: var(--gold-deep);
  box-shadow: 0 0 0 6px rgba(154, 119, 52,0.18);
}
.block-timeline__date-capsule {
  position: absolute; left: -20px; top: 24px;
  width: 56px; text-align: center;
  font-family: var(--f-sans); font-size: 10px; font-weight: 600;
  letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--gold-deep); padding: 4px 0;
  background: var(--ivory);
  display: none; /* nur Hover-Tooltip — Datum steht in card-meta */
}
.block-timeline__card {
  display: grid; grid-template-columns: 140px 1fr; gap: 20px;
  text-decoration: none; padding: 14px;
  background: #fff; border-radius: 6px;
  border: 1px solid var(--rule);
  transition: transform .2s, box-shadow .2s, border-color .2s;
}
.block-timeline__card:hover {
  transform: translateX(4px);
  box-shadow: 0 8px 24px rgba(10,30,63,0.08);
  border-color: var(--gold);
}
.block-timeline__card-image {
  aspect-ratio: 4/3; overflow: hidden; border-radius: 3px;
  background: var(--cream);
}
.block-timeline__card-image img { width: 100%; height: 100%; object-fit: cover; }
.block-timeline__card-placeholder {
  width: 100%; height: 100%; display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, var(--cream), var(--ivory));
  color: var(--gold-deep); font-family: var(--f-serif); font-style: italic; font-size: 44px;
  border: 1px dashed var(--rule);
}
.block-timeline__card-body { display: flex; flex-direction: column; gap: 6px; }
.block-timeline__card-status {
  display: inline-block; align-self: flex-start;
  font-family: var(--f-sans); font-size: 9.5px; font-weight: 700;
  letter-spacing: 0.18em; text-transform: uppercase;
  padding: 3px 9px; border-radius: 3px;
  background: rgba(154, 119, 52,0.18); color: var(--gold-deep);
}
.block-timeline__card-status--upcoming { background: var(--action-bg); color: var(--action-fg); }
.block-timeline__card-status--past { background: rgba(20,24,42,0.08); color: var(--ink-soft); }
.block-timeline__card-title {
  font-family: var(--f-serif); font-weight: 500; font-size: 19px;
  color: var(--navy-deep); margin: 0; line-height: 1.25;
}
.block-timeline__card-lead {
  font-family: var(--f-sans); font-size: 13px; line-height: 1.5;
  color: var(--ink-soft); margin: 0;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.block-timeline__card-meta {
  display: flex; flex-wrap: wrap; gap: 12px; margin-top: 4px;
  font-family: var(--f-sans); font-size: 11.5px; color: var(--muted);
}
.block-timeline__card-meta span { position: relative; }
.block-timeline__card-meta span + span::before {
  content: '·'; position: absolute; left: -8px; color: var(--gold-deep);
}
@media (max-width: 720px) {
  .block-timeline__featured-inner { grid-template-columns: 1fr; gap: 32px; }
  .block-timeline__rail::before { left: 12px; }
  .block-timeline__year-anchor, .block-timeline__event { padding-left: 50px; }
  .block-timeline__year-anchor::before, .block-timeline__dot { left: 6px; }
  .block-timeline__card { grid-template-columns: 90px 1fr; gap: 12px; padding: 10px; }
}

/* ============ NEWS-MAGAZINE-STACK (News) ============ */
.block-news { padding: 48px 0 96px; background: var(--ivory); }
.block-news__topgrid {
  display: grid; grid-template-columns: 1.4fr 1fr;
  gap: 40px; margin-bottom: 24px;
}
.block-news__lead {
  overflow: hidden;
  border: 1px solid var(--rule);
  background: #fff;
}
.block-news__lead-link {
  display: block; text-decoration: none; height: 100%;
}
.block-news__lead-image {
  position: relative; aspect-ratio: 1/1;
  overflow: hidden; margin-bottom: 0;
  background: var(--cream);
}
.block-news__lead-image > img {
  display: block; width: 100%; height: 100%;
  object-fit: cover; object-position: center;
  transition: transform .4s ease;
}
.block-news__lead-link:hover .block-news__lead-image > img { transform: scale(1.02); }
.block-news__lead-placeholder {
  width: 100%; height: 100%;
  background: linear-gradient(135deg, var(--navy-deep), var(--navy-mid));
}
.block-news__lead-caption {
  position: absolute; bottom: 0; left: 0; right: 0;
  padding: 10px 14px; background: rgba(10,30,63,0.78);
  color: var(--cream); font-family: var(--f-sans); font-size: 11px;
  letter-spacing: 0.05em;
}
.block-news__lead-kicker {
  font-family: var(--f-sans); font-size: 11px; font-weight: 700;
  letter-spacing: 0.28em; text-transform: uppercase; color: var(--gold-deep);
  margin-bottom: 14px;
}
.block-news__lead-title {
  font-family: var(--f-serif); font-weight: 500;
  font-size: clamp(20px, 1.7vw, 24px); line-height: 1.18;
  color: var(--navy-deep); margin: 0 0 16px;
}
.block-news__lead-link:hover .block-news__lead-title { color: var(--navy); }
.block-news__lead-dek {
  font-family: var(--f-serif); font-style: italic; font-size: clamp(15px, 1.7vw, 19px);
  line-height: 1.55; color: var(--ink); margin: 0 0 18px;
}
.block-news__lead-meta {
  display: flex; flex-wrap: wrap; gap: 16px; align-items: center;
  font-family: var(--f-sans); font-size: 12px;
  color: var(--muted); padding-top: 14px; border-top: 1px solid var(--rule);
}
.block-news__lead-read { color: var(--gold-deep); font-weight: 600; margin-left: auto; }

.block-news__subs {
  display: grid; grid-template-rows: 1fr 1fr; gap: 20px;
  border-left: 1px solid var(--rule); padding-left: 40px;
}
.block-news__sub {
  display: grid; grid-template-columns: 1fr 130px;
  gap: 18px; text-decoration: none;
  padding-bottom: 20px;
}
.block-news__sub + .block-news__sub {
  border-top: 1px solid var(--rule); padding-top: 20px;
}
.block-news__sub-body { display: flex; flex-direction: column; gap: 6px; }
.block-news__sub-image {
  aspect-ratio: 1/1; overflow: hidden; background: var(--cream);
  border-radius: 2px;
}
.block-news__sub-image img { width: 100%; height: 100%; object-fit: cover; }
.block-news__sub-placeholder {
  width: 100%; height: 100%; display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, var(--navy-deep), var(--navy-mid));
  color: var(--gold); font-family: var(--f-serif); font-style: italic; font-size: 38px;
}
.block-news__sub-kicker {
  font-family: var(--f-sans); font-size: 10px; font-weight: 700;
  letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold-deep);
}
.block-news__sub-title {
  font-family: var(--f-serif); font-weight: 500; font-size: 19px;
  color: var(--navy-deep); margin: 0; line-height: 1.2;
}
.block-news__sub:hover .block-news__sub-title { color: var(--gold-deep); }
.block-news__sub-dek {
  font-family: var(--f-sans); font-size: 13px; line-height: 1.5;
  color: var(--ink-soft); margin: 0;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.block-news__sub-meta {
  font-family: var(--f-sans); font-size: 11px; color: var(--muted);
  margin-top: auto;
}

/* News Cover-Hero (Aufmacher auf Bild) */
.block-news-cover { position: relative; background: var(--navy-deep); }
.block-news-cover__link {
  display: block; position: relative; text-decoration: none;
  min-height: clamp(440px, 62vh, 660px); overflow: hidden;
}
.block-news-cover__img { position: absolute; inset: 0; }
.block-news-cover__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.block-news-cover__img--ph { background: linear-gradient(135deg, var(--navy-deep), var(--navy-mid)); }
.block-news-cover__link:hover .block-news-cover__img img { transform: scale(1.04); }
.block-news-cover__scrim {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(8,23,48,.94) 4%, rgba(8,23,48,.62) 42%, rgba(8,23,48,.12) 100%);
}
.block-news-cover__inner { position: absolute; left: 0; right: 0; bottom: 0; padding: 0 0 56px; }
.block-news-cover__kicker {
  font-family: var(--f-sans); font-size: 12px; font-weight: 700;
  letter-spacing: .26em; text-transform: uppercase; color: var(--gold); margin-bottom: 18px;
}
.block-news-cover__title {
  font-family: var(--f-serif); font-weight: 500;
  font-size: clamp(30px, 4.8vw, 60px); line-height: 1.04; color: #fff; margin: 0; max-width: 20ch;
}
.block-news-cover__dek {
  font-family: var(--f-serif); font-style: italic; font-size: clamp(16px, 1.8vw, 21px);
  line-height: 1.5; color: rgba(255,255,255,.86); margin: 18px 0 0; max-width: 60ch;
}
.block-news-cover__foot {
  display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin-top: 26px;
  font-family: var(--f-sans); font-size: 13px; color: rgba(255,255,255,.74);
}
.block-news-cover__dot { margin: 0 4px; opacity: .5; }
.block-news-cover__cta {
  margin-left: auto; display: inline-flex; align-items: center; gap: 8px;
  background: var(--action-bg); color: var(--action-fg); font-weight: 700; letter-spacing: .03em;
  padding: 12px 22px; border-radius: 2px; transition: background .2s ease;
}
.block-news-cover__link:hover .block-news-cover__cta { background: var(--action-bg-hover); color: var(--action-fg); }
@media (max-width: 720px) {
  .block-news-cover__foot { gap: 12px; }
  .block-news-cover__cta { margin-left: 0; }
}

/* Variante B: eine ruhige Kartenfamilie mit identischem 1:1-Bildfenster —
   dem Originalformat des Bestands, ohne CDN-Zuschnitt am Motiv. */
.block-news__cards {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px; margin-bottom: 0;
}
.block-news__card {
  display: flex; min-width: 0; flex-direction: column; overflow: hidden;
  border: 1px solid var(--rule); background: #fff; color: inherit;
  text-decoration: none;
  transition: border-color .18s ease, transform .18s ease;
}
.block-news__card:hover,
.block-news__card:focus-visible {
  border-color: var(--gold);
  transform: translateY(-2px);
}
.block-news__card:focus-visible { outline: 3px solid rgba(154,119,52,.22); outline-offset: 3px; }
.block-news__card-image { aspect-ratio: 1/1; overflow: hidden; background: var(--cream); }
.block-news__card-image img {
  display: block; width: 100%; height: 100%;
  object-fit: cover; object-position: center;
  transition: transform .26s ease;
}
.block-news__card:hover .block-news__card-image img,
.block-news__card:focus-visible .block-news__card-image img { transform: scale(1.018); }
.block-news__card-placeholder {
  width: 100%; height: 100%; display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, var(--navy-deep), var(--navy-mid));
  color: var(--gold); font-family: var(--f-serif); font-style: italic; font-size: 42px;
}
.block-news__card-body { display: flex; min-height: 188px; flex: 1; flex-direction: column; padding: 22px; }
.block-news__card-kicker {
  font-family: var(--f-sans); font-size: 11px; font-weight: 700;
  letter-spacing: .22em; text-transform: uppercase; color: var(--gold-deep); margin-bottom: 10px;
}
.block-news__card-title {
  font-family: var(--f-serif); font-weight: 500; font-size: clamp(20px, 1.7vw, 24px);
  line-height: 1.18; color: var(--navy-deep); margin: 0 0 10px;
}
.block-news__card:hover .block-news__card-title { color: var(--gold-deep); }
.block-news__card-dek {
  font-family: var(--f-sans); font-size: 14px; line-height: 1.55; color: var(--ink-soft); margin: 0 0 14px;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.block-news__card-meta {
  display: flex; align-items: center; gap: 12px; margin-top: auto; padding-top: 12px;
  border-top: 1px solid var(--rule); font-family: var(--f-sans); font-size: 12px; color: var(--muted);
}
.block-news__card-read { margin-left: auto; color: var(--gold-deep); font-weight: 600; }
.block-news__pagination,
.block-pod__pagination {
  display: grid;
  grid-template-columns: minmax(90px, 1fr) auto minmax(90px, 1fr);
  align-items: center;
  gap: 20px;
  margin: 42px 0 10px;
  padding-top: 26px;
  border-top: 1px solid var(--rule);
}
.block-news__pagination-direction,
.block-pod__pagination-direction {
  color: var(--gold-deep);
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}
.block-news__pagination-direction:last-child,
.block-pod__pagination-direction:last-child { text-align: right; }
.block-news__pagination-direction.is-disabled,
.block-pod__pagination-direction.is-disabled { color: var(--muted); opacity: .45; }
.block-news__pagination-pages,
.block-pod__pagination-pages {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.block-news__pagination-pages a,
.block-pod__pagination-pages a {
  display: grid;
  place-items: center;
  min-width: 34px;
  min-height: 34px;
  border: 1px solid var(--rule);
  border-radius: 999px;
  color: var(--navy-deep);
  font-size: 12px;
  text-decoration: none;
}
.block-news__pagination-pages a:hover,
.block-news__pagination-pages a.is-current,
.block-pod__pagination-pages a:hover,
.block-pod__pagination-pages a.is-current {
  border-color: var(--gold);
  background: var(--navy-deep);
  color: var(--cream);
}
@media (max-width: 680px) {
  .block-news__pagination,
  .block-pod__pagination { grid-template-columns: 1fr 1fr; }
  .block-news__pagination-pages,
  .block-pod__pagination-pages { grid-column: 1 / -1; grid-row: 1; }
}
.block-news__topgrid--solo { grid-template-columns: 1fr; margin-bottom: 24px; }
/* Aufmacher niedriger (Sven 25.07.): horizontaler Lead — Bild links, Text rechts.
   So ist die Höhe ~halbiert statt eines full-bleed-Hochkant-Bildes. */
.block-news__topgrid--solo .block-news__lead-link {
  display: grid;
  grid-template-columns: minmax(0, 540px) minmax(0, 1fr);
  gap: 0;
  align-items: stretch;
}
.block-news__topgrid--solo .block-news__lead-image {
  width: 100%;
  min-width: 0;
  height: auto;
  margin-bottom: 0;
  align-self: start;
}
.block-news__topgrid--solo .block-news__lead-body {
  display: flex; min-width: 0; flex-direction: column; justify-content: center;
  padding: clamp(30px, 4vw, 48px);
}
@media (max-width: 820px) {
  .block-news__topgrid--solo .block-news__lead-link {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }
  /* Gestapelt bleibt der Aufmacher quadratisch, aber gedeckelt: ein
     bildschirmbreites Quadrat schoebe Titel und Anriss unter die Falz. */
  .block-news__topgrid--solo .block-news__lead-image {
    width: 100%;
    max-width: 420px;
    height: auto;
    margin-bottom: 0;
  }
}
@media (max-width: 680px) {
  .block-news__cards { grid-template-columns: 1fr; gap: 18px; }
  .block-news__card-body { min-height: 0; }
  .block-news__topgrid--solo .block-news__lead-body { padding: 24px 22px; }
}
@media (min-width: 681px) and (max-width: 1100px) { .block-news__cards { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 820px) {
  .block-news__topgrid { grid-template-columns: 1fr; gap: 36px; }
  .block-news__subs { border-left: none; padding-left: 0; border-top: 1px solid var(--rule); padding-top: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .block-news__card,
  .block-news__card-image img { transition: none; }
  .block-news__card:hover,
  .block-news__card:focus-visible { transform: none; }
  .block-news__card:hover .block-news__card-image img,
  .block-news__card:focus-visible .block-news__card-image img { transform: none; }
}

/* ============ PODCAST-AUDIO-CARDS (Podcast) ============ */
.block-pod { padding: 56px 0 96px; background: var(--ivory); }
.block-pod__intro { max-width: 800px; margin: 0 auto 36px; text-align: center; }
.block-pod__intro-kicker {
  font-family: var(--f-sans); font-size: 11px; font-weight: 600;
  letter-spacing: 0.28em; text-transform: uppercase; color: var(--gold-deep);
  margin-bottom: 12px;
}
.block-pod__intro-title {
  font-family: var(--f-serif); font-weight: 400;
  font-size: clamp(28px, 3.4vw, 40px); color: var(--navy-deep);
  margin: 0 0 12px; line-height: 1.1;
}
.block-pod__intro-sub {
  font-family: var(--f-serif); font-style: italic;
  font-size: clamp(15px, 1.6vw, 17px); color: var(--ink-soft);
  line-height: 1.6;
}

/* Now-playing-card (Featured) */
.block-pod__now {
  background: linear-gradient(135deg, var(--navy-deep) 0%, var(--navy) 60%, var(--navy-mid) 100%);
  border-radius: 0; padding: 0;
  margin-bottom: 56px;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(10,30,63,0.25);
  position: relative;
  color: var(--cream);
}
.block-pod__now::before {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(circle at 80% 20%, rgba(154, 119, 52,0.22), transparent 50%);
  pointer-events: none;
}
.block-pod__now-inner {
  position: relative; z-index: 1;
  display: grid; grid-template-columns: 320px 1fr;
  gap: 40px; padding: 36px;
  align-items: center;
}
.block-pod__now-cover {
  position: relative; aspect-ratio: 1/1;
  border-radius: 0; overflow: hidden;
  box-shadow: 0 12px 36px rgba(0,0,0,0.4);
}
.block-pod__now-cover img { width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
.block-pod__now-placeholder {
  width: 100%; height: 100%;
  background: linear-gradient(135deg, var(--gold-deep), var(--gold));
}
.block-pod__now-body { min-width: 0; }
.block-pod__now-ep {
  font-family: var(--f-sans); font-size: 11px; font-weight: 700;
  letter-spacing: 0.24em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 4px;
}
.block-pod__now-kicker {
  font-family: var(--f-sans); font-size: 11px; font-weight: 600;
  letter-spacing: 0.22em; text-transform: uppercase;
  color: rgba(232,214,166,0.7); margin-bottom: 12px;
}
.block-pod__now-title {
  font-family: var(--f-serif); font-weight: 400;
  font-size: clamp(26px, 3vw, 38px); line-height: 1.1;
  margin: 0 0 16px; color: var(--cream);
}
.block-pod__now-lead {
  font-family: var(--f-serif); font-style: italic; font-size: 16px;
  line-height: 1.55; color: rgba(247,242,231,0.78); margin: 0 0 16px;
  max-width: 560px;
}
.block-pod__now-guest {
  font-family: var(--f-sans); font-size: 13px; color: var(--cream);
  margin-bottom: 18px;
}
.block-pod__now-guest-label {
  text-transform: uppercase; letter-spacing: 0.2em;
  font-size: 10px; font-weight: 600; color: var(--gold); margin-right: 6px;
}
.block-pod__now-guest em { color: rgba(232,214,166,0.7); font-style: normal; }
.block-pod__now-meta {
  display: flex; flex-wrap: wrap; gap: 18px; align-items: center;
  font-family: var(--f-sans); font-size: 12px; color: rgba(232,214,166,0.78);
}
.block-pod__now-duration { display: inline-flex; gap: 6px; align-items: center; }
.block-pod__now-duration svg {
  width: 14px; height: 14px; flex: 0 0 auto;
  stroke: currentColor; stroke-width: 2; fill: none;
}
.block-pod__now-cta {
  margin-left: auto;
  background: var(--action-bg); color: var(--action-fg);
  padding: 10px 22px; border-radius: 6px;
  font-weight: 600; font-size: 13px;
  text-decoration: none; letter-spacing: 0.04em;
  transition: background .15s;
}
.block-pod__now-cta:hover { background: var(--action-bg-hover); color: var(--action-fg); }

/* Episode-Grid */
.block-pod__grid {
  display: grid; gap: 24px;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr));
}
.block-pod__card {
  background: #fff; border-radius: 0;
  overflow: hidden; text-decoration: none;
  border: 1px solid var(--rule);
  display: flex; flex-direction: column;
  transition: transform .2s, box-shadow .2s, border-color .2s;
}
.block-pod__card:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 36px rgba(10,30,63,0.12);
  border-color: var(--gold);
}
.block-pod__card--express { border-bottom: 3px solid var(--gold); }
.block-pod__card-cover-link { display: block; color: inherit; text-decoration: none; }
/* Cover wie Album-Art: quadratisch, weil die Originale quadratisch sind.
   Das frühere 16:9-Fenster nahm ihnen 44 % der Höhe — meist den Kopf. */
.block-pod__card-cover {
  position: relative; aspect-ratio: 1/1; overflow: hidden;
  background: var(--cream);
}
.block-pod__card-cover img { width: 100%; height: 100%; object-fit: cover; }
.block-pod__card-placeholder {
  width: 100%; height: 100%; display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, var(--gold-deep), var(--gold));
  color: var(--cream); font-family: var(--f-serif); font-style: italic; font-size: 64px;
}
.block-pod__card-body { padding: 22px 22px 20px; flex: 1; display: flex; flex-direction: column; gap: 0; }
.block-pod__card-kicker {
  font-family: var(--f-sans); font-size: 11px; font-weight: 700;
  letter-spacing: .22em; text-transform: uppercase; color: var(--gold-deep); margin-bottom: 10px;
}
.block-pod__card-title {
  font-family: var(--f-serif); font-weight: 500; font-size: clamp(20px, 1.7vw, 24px);
  color: var(--navy-deep); margin: 0 0 10px; line-height: 1.18;
}
.block-pod__card-title a { color: inherit; text-decoration: none; }
.block-pod__card-title a:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }
.block-pod__card:hover .block-pod__card-title { color: var(--gold-deep); }
.block-pod__card-lead {
  font-family: var(--f-sans); font-size: 14px; line-height: 1.55;
  color: var(--ink-soft); margin: 0 0 14px;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.block-pod__card-meta {
  display: flex; flex-wrap: wrap; gap: 12px; margin-top: auto;
  font-family: var(--f-sans); font-size: 11.5px; color: var(--muted);
  padding-top: 8px; border-top: 1px solid var(--rule);
}
.block-pod__card-guest { color: var(--ink-soft); font-weight: 600; }
.block-pod__card-duration {
  display: inline-flex; align-items: center; gap: 4px;
  color: var(--gold-deep); font-weight: 600;
}
.block-pod__card-duration svg { width: 13px; height: 13px; flex: 0 0 auto; stroke: currentColor; stroke-width: 2; fill: none; }

/* Express-Folge · Variante B: Editorial Dock */
.podcast-express {
  --podcast-express-progress: 0%;
  width: 100%; min-width: 0; color: var(--navy-deep);
  background: #f7f2e7; border-left: 4px solid var(--gold);
  padding: 14px 14px 14px 16px; font-family: var(--f-sans);
}
.podcast-express--hero { max-width: 590px; margin-top: 4px; }
.podcast-express--card { --gold: var(--gold-soft); margin-top: 16px; }
.podcast-express__controls { display: none; align-items: center; gap: 13px; min-width: 0; }
.podcast-express.is-enhanced .podcast-express__controls { display: flex; }
.podcast-express__play {
  display: grid; flex: 0 0 auto; width: 46px; height: 46px; place-items: center;
  padding: 0; border: 0; border-radius: 6px; background: var(--gold);
  color: var(--navy-deep); cursor: pointer;
}
.podcast-express__play svg { width: 23px; height: 23px; fill: currentColor; }
.podcast-express__play-icon { transform: translateX(1px); }
.podcast-express__pause-icon,
.podcast-express.is-playing .podcast-express__play-icon { display: none; }
.podcast-express.is-playing .podcast-express__pause-icon { display: block; }
.podcast-express__content { flex: 1; min-width: 0; }
.podcast-express__title-row {
  display: flex; align-items: baseline; justify-content: space-between; gap: 12px;
  margin-bottom: 9px; font-size: 12px; line-height: 1.2;
}
.podcast-express__title-row strong { font-weight: 700; letter-spacing: .01em; }
.podcast-express__timeline {
  display: grid; grid-template-columns: auto minmax(56px, 1fr) auto;
  align-items: center; gap: 8px; font-size: 9px; font-variant-numeric: tabular-nums;
}
.podcast-express__timeline input {
  width: 100%; height: 18px; margin: 0; appearance: none; cursor: pointer;
  background: transparent;
}
.podcast-express__timeline input::-webkit-slider-runnable-track {
  height: 4px; border-radius: 99px;
  background: linear-gradient(90deg, var(--navy-deep) var(--podcast-express-progress), rgba(10,30,63,.13) var(--podcast-express-progress));
}
.podcast-express__timeline input::-moz-range-track { height: 4px; border: 0; border-radius: 99px; background: rgba(10,30,63,.13); }
.podcast-express__timeline input::-moz-range-progress { height: 4px; border-radius: 99px; background: var(--navy-deep); }
.podcast-express__timeline input::-webkit-slider-thumb {
  width: 12px; height: 12px; margin-top: -4px; appearance: none;
  border: 2px solid #fff; border-radius: 50%; background: var(--navy-deep);
}
.podcast-express__timeline input::-moz-range-thumb {
  width: 9px; height: 9px; border: 2px solid #fff; border-radius: 50%; background: var(--navy-deep);
}
.podcast-express__speed {
  flex: 0 0 auto; min-width: 34px; height: 30px; padding: 0 8px;
  border: 1px solid rgba(154,119,52,.3); border-radius: 999px;
  background: #fff; color: var(--gold-deep); font: 700 10px/1 var(--f-sans); cursor: pointer;
}
.podcast-express__native { width: 100%; min-height: 46px; }
.podcast-express.is-enhanced .podcast-express__native { display: none; }
.podcast-express button:focus-visible,
.podcast-express input:focus-visible { outline: 3px solid var(--gold-deep); outline-offset: 3px; }
@media (max-width: 720px) {
  .block-pod__now-inner { grid-template-columns: 1fr; gap: 24px; padding: 24px; }
  .podcast-express--hero + .block-pod__now-meta { margin-top: 18px; }
  .block-pod__now-cta { margin-left: 0; }
  .podcast-express__controls { gap: 10px; }
  .podcast-express__play { width: 42px; height: 42px; }
  .podcast-express__speed { display: none; }
  .podcast-express__title-row { font-size: 11px; }
}

/* ============ WEGWEISER-DOSSIER (Wegweiser) ============ */
.block-dossier { padding: 56px 0 96px; background: var(--ivory); }
.block-dossier__intro { max-width: 800px; margin: 0 auto 40px; text-align: center; }
.block-dossier__intro-kicker {
  font-family: var(--f-sans); font-size: 11px; font-weight: 600;
  letter-spacing: 0.28em; text-transform: uppercase; color: var(--gold-deep);
  margin-bottom: 12px;
}
.block-dossier__intro-title {
  font-family: var(--f-serif); font-weight: 400;
  font-size: clamp(28px, 3.4vw, 40px); color: var(--navy-deep);
  margin: 0 0 12px; line-height: 1.1;
}
.block-dossier__intro-count {
  font-style: italic; color: var(--gold-deep); font-size: 0.7em; margin-left: 6px;
}
.block-dossier__intro-sub {
  font-family: var(--f-serif); font-style: italic;
  font-size: clamp(15px, 1.6vw, 17px); color: var(--ink-soft); line-height: 1.6;
}
.block-dossier__grid {
  display: grid; gap: 28px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 1000px) { .block-dossier__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px)  { .block-dossier__grid { grid-template-columns: 1fr; } }
.block-dossier__card {
  position: relative;
  background: #fff;
  border: 1px solid rgba(166,134,74,0.35);
  border-radius: 0 12px 4px 4px;
  display: flex;
  box-shadow: 0 2px 0 rgba(166,134,74,0.18), 0 8px 24px rgba(10,30,63,0.06);
  transition: transform .2s, box-shadow .2s;
  overflow: hidden;
}
.block-dossier__card:hover {
  transform: translateY(-4px);
  box-shadow: 0 4px 0 rgba(166,134,74,0.25), 0 18px 40px rgba(10,30,63,0.12);
}
.block-dossier__card--feat {
  grid-column: span 2;
}
.block-dossier__card--feat .block-dossier__card-link {
  display: grid; grid-template-columns: 1.1fr 1fr;
}
.block-dossier__card--feat .block-dossier__card-image {
  aspect-ratio: auto; height: 100%; min-height: 320px;
  order: 2;
}
.block-dossier__card-link {
  display: flex; flex-direction: column;
  text-decoration: none; width: 100%;
}
.block-dossier__card-tab {
  position: relative;
  display: flex; justify-content: space-between; align-items: center;
  padding: 12px 20px;
  background: var(--cream);
  border-bottom: 1px solid var(--rule);
}
.block-dossier__card-tab::before {
  content: ''; position: absolute;
  left: 0; top: -10px; height: 14px; width: 80px;
  background: var(--gold-deep);
  clip-path: polygon(0 0, 100% 0, calc(100% - 14px) 100%, 0 100%);
}
.block-dossier__card-num {
  font-family: var(--f-sans); font-size: 11px; font-weight: 700;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--gold-deep);
}
.block-dossier__card-pedia {
  font-family: var(--f-sans); font-size: 10px; font-weight: 600;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--navy-deep); opacity: 0.7;
}
.block-dossier__card-image {
  aspect-ratio: 16/9; overflow: hidden; background: var(--cream);
}
.block-dossier__card-image img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform .4s ease;
}
.block-dossier__card:hover .block-dossier__card-image img { transform: scale(1.04); }
.block-dossier__card-placeholder {
  width: 100%; height: 100%; display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, var(--navy-deep), var(--navy-mid));
  color: var(--gold); font-family: var(--f-serif); font-style: italic; font-size: 56px;
}
.block-dossier__card-body {
  padding: 22px 24px 18px; display: flex; flex-direction: column; gap: 10px;
  flex: 1;
}
.block-dossier__card--feat .block-dossier__card-body { padding: 28px 32px 22px; gap: 14px; }
.block-dossier__card-title {
  font-family: var(--f-serif); font-weight: 500; font-size: 21px;
  color: var(--navy-deep); margin: 0; line-height: 1.22;
}
.block-dossier__card--feat .block-dossier__card-title { font-size: clamp(24px, 2.4vw, 30px); }
.block-dossier__card:hover .block-dossier__card-title { color: var(--gold-deep); }
.block-dossier__card-lead {
  font-family: var(--f-sans); font-size: 13.5px; line-height: 1.55;
  color: var(--ink-soft); margin: 0;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.block-dossier__card--feat .block-dossier__card-lead {
  font-family: var(--f-serif); font-style: italic; font-size: 16px;
  -webkit-line-clamp: 4;
}
.block-dossier__card-tags {
  display: flex; flex-wrap: wrap; gap: 6px; margin-top: 4px;
}
.block-dossier__card-tags > span {
  font-family: var(--f-sans); font-size: 10px; font-weight: 600;
  letter-spacing: 0.08em; text-transform: uppercase;
  padding: 3px 8px; border: 1px solid var(--rule); border-radius: 3px;
  color: var(--ink-soft); background: var(--ivory);
}
.block-dossier__card-foot {
  display: flex; flex-wrap: wrap; gap: 16px; align-items: center;
  margin-top: auto; padding-top: 14px;
  border-top: 1px dashed var(--rule);
  font-family: var(--f-sans); font-size: 11.5px;
  color: var(--muted);
}
.block-dossier__card-time, .block-dossier__card-pages {
  display: inline-flex; gap: 4px; align-items: center; color: var(--ink-soft);
}
.block-dossier__card-open {
  margin-left: auto; color: var(--gold-deep); font-weight: 600;
  font-size: 12px;
}
@media (max-width: 720px) {
  .block-dossier__card--feat { grid-column: span 1; }
  .block-dossier__card--feat .block-dossier__card-link { grid-template-columns: 1fr; }
  .block-dossier__card--feat .block-dossier__card-image { order: 0; aspect-ratio: 16/9; min-height: 0; }
}

/* ============ STEUERRECHNER-TOOLS-BENTO ============ */
.block-tools { padding: 56px 0 96px; background: var(--ivory); }
.block-tools__intro { max-width: 800px; margin: 0 auto 40px; text-align: center; }
.block-tools__intro-kicker {
  font-family: var(--f-sans); font-size: 11px; font-weight: 600;
  letter-spacing: 0.28em; text-transform: uppercase; color: var(--gold-deep);
  margin-bottom: 12px;
}
.block-tools__intro-title {
  font-family: var(--f-serif); font-weight: 400;
  font-size: clamp(28px, 3.4vw, 40px); color: var(--navy-deep);
  margin: 0 0 12px; line-height: 1.1;
}
.block-tools__intro-count {
  font-style: italic; color: var(--gold-deep); font-size: 0.7em; margin-left: 6px;
}
.block-tools__intro-sub {
  font-family: var(--f-serif); font-style: italic;
  font-size: clamp(15px, 1.6vw, 17px); color: var(--ink-soft); line-height: 1.6;
}
.block-tools__grid {
  display: grid; gap: 24px;
  grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
}
.block-tools__card {
  background: #fff;
  border-radius: 14px;
  padding: 28px 28px 24px;
  border: 1px solid var(--rule);
  display: flex; flex-direction: column; gap: 14px;
  position: relative; overflow: hidden;
  transition: transform .2s, box-shadow .2s, border-color .2s;
}
.block-tools__card:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 36px rgba(10,30,63,0.10);
  border-color: var(--gold);
}
.block-tools__card::after {
  content: ''; position: absolute;
  right: -40px; top: -40px;
  width: 200px; height: 200px;
  background: radial-gradient(circle, rgba(154, 119, 52,0.10), transparent 70%);
  pointer-events: none;
}
.block-tools__card--wide { grid-column: span 2; }
.block-tools__card-head {
  display: flex; justify-content: space-between; align-items: center;
  margin-bottom: 4px;
}
.block-tools__card-icon {
  width: 56px; height: 56px;
  display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, var(--navy-deep) 0%, var(--navy) 100%);
  color: var(--gold);
  border-radius: 12px;
  box-shadow: 0 6px 18px rgba(10,30,63,0.18);
}
.block-tools__card-icon svg { width: 36px; height: 36px; }
.block-tools__card-num {
  font-family: var(--f-sans); font-size: 10px; font-weight: 700;
  letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--gold-deep);
}
.block-tools__card-title {
  font-family: var(--f-serif); font-weight: 500; font-size: 21px;
  color: var(--navy-deep); margin: 0; line-height: 1.22;
}
.block-tools__card-lead {
  font-family: var(--f-sans); font-size: 13.5px; line-height: 1.55;
  color: var(--ink-soft); margin: 0;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.block-tools__card-inputs {
  display: grid; gap: 6px;
  margin: 4px 0;
  padding: 12px 14px;
  background: var(--cream);
  border-radius: 8px;
  border: 1px solid var(--rule);
}
.block-tools__card-input {
  display: flex; justify-content: space-between; align-items: center;
  font-family: var(--f-sans); font-size: 11.5px;
  padding-bottom: 6px;
  border-bottom: 1px dashed rgba(154, 119, 52,0.4);
}
.block-tools__card-input:last-child { border-bottom: none; padding-bottom: 0; }
.block-tools__card-input-label {
  color: var(--ink-soft); letter-spacing: 0.03em;
}
.block-tools__card-input-sample {
  font-family: var(--f-serif); font-style: italic;
  color: var(--gold-deep); font-size: 13px;
  font-weight: 500;
}
.block-tools__card-formula {
  font-family: 'JetBrains Mono', 'Consolas', monospace;
  font-size: 11px; padding: 8px 12px;
  background: var(--navy-deep); color: var(--gold-light);
  border-radius: 4px; letter-spacing: 0.02em;
}
.block-tools__card-foot {
  display: flex; flex-wrap: wrap; gap: 10px; align-items: center;
  margin-top: auto; padding-top: 12px;
  border-top: 1px solid var(--rule);
}
.block-tools__card-status {
  font-family: var(--f-sans); font-size: 10px; font-weight: 700;
  letter-spacing: 0.18em; text-transform: uppercase;
  padding: 3px 9px; border-radius: 3px;
  background: rgba(154, 119, 52,0.18); color: var(--gold-deep);
}
.block-tools__card-cta {
  margin-left: auto;
  display: inline-flex; gap: 6px; align-items: center;
  padding: 10px 18px;
  background: var(--action-bg); color: var(--action-fg);
  font-family: var(--f-sans); font-weight: 600; font-size: 13px;
  letter-spacing: 0.04em; text-decoration: none;
  border-radius: 6px;
  transition: background .15s, transform .15s;
}
.block-tools__card-cta:hover { background: var(--action-bg-hover); color: var(--action-fg); transform: translateX(3px); }
@media (max-width: 720px) {
  .block-tools__card--wide { grid-column: span 1; }
}


.detail-share {
  margin-top: clamp(34px, 5vw, 58px);
  padding-top: 22px;
  border-top: 1px solid var(--rule);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}
.detail-share__title {
  margin: 0;
  font-family: var(--f-sans);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--gold-deep);
}
.detail-share__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.detail-share__actions li { margin: 0; padding: 0; }
.detail-share__action {
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid var(--rule);
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  color: var(--navy-deep);
  font: inherit;
  cursor: pointer;
  text-decoration: none;
  transition: color .18s ease, background-color .18s ease, border-color .18s ease, transform .18s ease;
}
.detail-share__action:hover {
  color: #fff;
  background: var(--navy-deep);
  border-color: var(--navy-deep);
  transform: translateY(-1px);
}
.detail-share__action:focus-visible {
  outline: 3px solid var(--gold);
  outline-offset: 3px;
}
.detail-share__action--whatsapp { color: #128c4a; }
.detail-share__action--x { color: #111; }
.detail-share__action--linkedin { color: #0a66c2; }
.detail-share__action--facebook { color: #1877f2; }
.detail-share__action--whatsapp:hover { background: #128c4a; border-color: #128c4a; }
.detail-share__action--x:hover { background: #111; border-color: #111; }
.detail-share__action--linkedin:hover { background: #0a66c2; border-color: #0a66c2; }
.detail-share__action--facebook:hover { background: #1877f2; border-color: #1877f2; }
.detail-share__icon { width: 21px; height: 21px; }
.detail-share__action--facebook .detail-share__icon { fill: currentColor; stroke: none; }
.detail-share-block { padding-top: clamp(12px, 2vw, 28px); padding-bottom: clamp(34px, 5vw, 58px); }
@media (max-width: 600px) {
  .detail-share { align-items: flex-start; flex-direction: column; }
}
@media print {
  .detail-share { display: none; }
}


  .cj-wrap { padding: 56px 0 64px; background: var(--ivory, #FBF8F0); }
  .cj-intro { max-width: 760px; margin: 0 auto 44px; text-align: center; }
  .cj-intro__kicker { font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold-deep, #A8842F); font-weight: 600; margin-bottom: 12px; }
  .cj-intro__title { font-family: var(--f-serif, 'Cormorant Garamond', serif); font-size: clamp(30px, 5vw, 44px); color: var(--navy-deep, #0A1E3F); margin: 0 0 14px; font-weight: 500; }
  .cj-intro__lead { font-size: 16px; line-height: 1.7; color: var(--ink-soft, #4a5568); margin: 0; }
  .cj-stations { display: flex; flex-direction: column; gap: 22px; max-width: 940px; margin: 0 auto; position: relative; }
  .cj-station { background: #fff; border: 1px solid var(--rule, #e6e0d4); border-radius: 10px; overflow: hidden; border-left: 4px solid var(--gold, #9a7734); }
  .cj-station--akut { border-left-color: #C0392B; }
  .cj-station--juristisch { border-left-color: #2C5282; }
  .cj-station__head { display: flex; align-items: center; gap: 18px; padding: 20px 24px; border-bottom: 1px solid var(--rule, #e6e0d4); background: linear-gradient(0deg, rgba(10,30,63,0.02), transparent); }
  .cj-station__num { flex: 0 0 auto; width: 48px; height: 48px; border-radius: 50%; background: var(--navy-deep, #0A1E3F); color: var(--gold-light, #E8D6A6); font-family: var(--f-serif, serif); font-size: 20px; font-weight: 600; display: flex; align-items: center; justify-content: center; }
  .cj-station--acute .cj-station__num { background: #C0392B; color: #fff; }
  .cj-station__heading { flex: 1 1 auto; min-width: 0; }
  .cj-station__persona { display: inline-block; font-size: 10.5px; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 700; margin-bottom: 4px; }
  .cj-persona--praeventiv { color: #276749; }
  .cj-persona--juristisch { color: #2C5282; }
  .cj-persona--akut { color: #C0392B; }
  .cj-station__frage { font-family: var(--f-serif, serif); font-size: clamp(19px, 2.6vw, 24px); color: var(--navy-deep, #0A1E3F); margin: 0; font-weight: 500; font-style: italic; }
  .cj-station__progress { flex: 0 0 auto; font-size: 12px; color: var(--ink-soft, #4a5568); white-space: nowrap; padding: 5px 12px; background: var(--ivory, #FBF8F0); border-radius: 20px; border: 1px solid var(--rule, #e6e0d4); }
  .cj-station__body { display: grid; grid-template-columns: 1fr 1fr; gap: 0; }
  .cj-pillar { padding: 18px 24px; border-right: 1px solid var(--rule, #e6e0d4); background: rgba(154, 119, 52,0.04); }
  .cj-sats { padding: 18px 24px; }
  .cj-label { font-size: 10.5px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--gold-deep, #A8842F); font-weight: 600; margin-bottom: 10px; }
  .cj-arts { list-style: none; margin: 0; padding: 0; }
  .cj-art { margin: 0 0 7px; }
  .cj-art a, .cj-art--soon { display: flex; align-items: baseline; gap: 8px; padding: 8px 10px; border-radius: 6px; text-decoration: none; color: inherit; transition: background .14s; }
  .cj-art--done a:hover { background: rgba(10,30,63,0.05); }
  .cj-art--done a:focus-visible { outline: 3px solid var(--gold, #9a7734); outline-offset: 2px; }
  .cj-art__id { flex: 0 0 auto; font-size: 11px; font-weight: 700; color: var(--gold-deep, #A8842F); font-variant-numeric: tabular-nums; min-width: 34px; }
  .cj-art__title { flex: 1 1 auto; font-size: 14px; line-height: 1.4; color: var(--ink, #1a202c); }
  .cj-art--soon .cj-art__title { color: #5e6672; }
  .cj-art__badge { flex: 0 0 auto; font-size: 9.5px; letter-spacing: 0.06em; text-transform: uppercase; font-weight: 700; padding: 2px 7px; border-radius: 10px; }
  .cj-art__badge--done { background: rgba(47,133,90,0.12); color: #276749; }
  .cj-art__badge--soon { background: #eceae3; color: #5e6672; }
  .cj-art--done a:hover .cj-art__title { color: var(--navy-deep, #0A1E3F); }
  @media (max-width: 720px) {
    .cj-station__body { grid-template-columns: 1fr; }
    .cj-pillar { border-right: none; border-bottom: 1px solid var(--rule, #e6e0d4); }
    .cj-station__head { flex-wrap: wrap; }
    .cj-station__progress { order: 3; }
  }

.author-directory{max-width:1180px;margin:0 auto;padding:52px 28px 112px;background:var(--author-directory-page,transparent)}
.author-directory__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;list-style:none;padding:0;margin:0}
.author-directory__card{position:relative;display:grid;grid-template-columns:minmax(132px,36%) minmax(0,1fr);min-width:0;min-height:280px;overflow:hidden;background:var(--author-directory-card,#fff);border:1px solid var(--author-directory-border,rgba(10,30,63,.12));border-top:3px solid var(--author-directory-accent,#9a7734);box-shadow:0 18px 52px rgba(10,30,63,.07);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.author-directory__card::after{content:"";position:absolute;right:-34px;bottom:-34px;width:72px;height:72px;border:1px solid rgba(154,119,52,.22);transform:rotate(45deg);pointer-events:none}
.author-directory__card a{text-decoration:none;color:inherit}
.author-directory__card:focus-within{border-color:var(--author-directory-accent,#9a7734);box-shadow:0 0 0 3px rgba(154,119,52,.2),0 18px 40px rgba(10,30,63,.1)}
.author-directory__image-link{display:block;position:relative;min-width:0;background:var(--author-directory-image-bg,#0a1e3f)}
.author-directory__portrait-frame{position:absolute;display:block;inset:0;overflow:hidden}
.author-directory__portrait{position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center top}
.author-directory__portrait--empty{z-index:0;display:flex;align-items:center;justify-content:center;background:var(--author-directory-image-bg,#0a1e3f);color:var(--author-directory-image-fg,#fbf8f0);font-family:'Cormorant Garamond',serif;font-size:56px;letter-spacing:.06em}
.author-directory__body{display:flex;min-width:0;flex-direction:column;padding:26px 28px 25px}
.author-directory__meta{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;min-height:30px;margin-bottom:18px}
.author-directory__role{margin:0;color:var(--author-directory-accent,#9f8045);font-size:10px;font-weight:700;line-height:1.45;letter-spacing:.13em;text-transform:uppercase}
.author-directory__index{color:rgba(10,30,63,.32);font-family:'Cormorant Garamond',serif;font-size:18px;font-style:italic;line-height:1}
.author-directory__name{margin:0;color:var(--author-directory-title,#0a1e3f);font-family:'Cormorant Garamond',serif;font-size:clamp(28px,2.25vw,35px);font-weight:500;line-height:1.03;transition:color .15s ease}
.author-directory__bio{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:4;margin:15px 0 0;color:var(--author-directory-copy,#3a3a3a);font-size:14px;line-height:1.65}
.author-directory__profile-link{align-self:flex-start;margin-top:auto;padding-top:20px;color:var(--author-directory-accent,#9a7734);font-size:10.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;text-underline-offset:4px}
.author-directory__name-link:focus-visible,.author-directory__profile-link:focus-visible{outline:3px solid rgba(159,128,69,.3);outline-offset:4px;border-radius:2px}
@media (hover:hover){.author-directory__card:hover{transform:translateY(-3px);border-color:rgba(154,119,52,.42);box-shadow:0 24px 58px rgba(10,30,63,.12)}.author-directory__card:hover .author-directory__name{color:var(--author-directory-accent,#9a7734)}}
@media (max-width:920px){.author-directory__grid{grid-template-columns:1fr}.author-directory__card{grid-template-columns:minmax(150px,32%) minmax(0,1fr)}}
@media (max-width:560px){.author-directory{padding:36px 18px 76px}.author-directory__grid{gap:16px}.author-directory__card{grid-template-columns:112px minmax(0,1fr);min-height:228px}.author-directory__body{padding:20px 18px 19px}.author-directory__meta{min-height:22px;margin-bottom:11px}.author-directory__index{display:none}.author-directory__name{font-size:25px}.author-directory__bio{-webkit-line-clamp:3;margin-top:10px;font-size:13px;line-height:1.55}.author-directory__profile-link{padding-top:14px;font-size:9.5px}}
@media (prefers-reduced-motion:reduce){.author-directory__card,.author-directory__name{transition:none}.author-directory__card:hover{transform:none}}


.wp-autoren-hero { position:relative; isolation:isolate; overflow:hidden; background:#081b38; color:#fbf8f0; }
.wp-autoren-hero::after { content:""; position:absolute; inset:auto 0 0; height:1px; background:linear-gradient(90deg,transparent,rgba(202,166,92,.75),transparent); }
.wp-autoren-hero__art { position:absolute; z-index:-1; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; opacity:.68; filter:saturate(.86) contrast(1.02); }
.wp-autoren-hero__inner { display:grid; grid-template-columns:minmax(0,.82fr) minmax(520px,1.18fr); gap:clamp(42px,6vw,88px); align-items:center; width:min(1240px,calc(100% - 56px)); min-height:660px; margin:0 auto; padding:74px 0 78px; }
.wp-autoren-hero:not(.wp-autoren-hero--with-feature) .wp-autoren-hero__inner { grid-template-columns:minmax(0,760px); min-height:540px; }
.wp-autoren-hero__copy { position:relative; z-index:2; }
.wp-autoren-hero__kicker,.wp-autoren-directory-head__kicker { margin:0 0 22px; color:#d3aa5b; font-size:10px; font-weight:700; letter-spacing:.24em; text-transform:uppercase; }
.wp-autoren-hero h1 { margin:0; max-width:690px; font-family:'Cormorant Garamond',serif; font-size:clamp(58px,7.4vw,104px); font-weight:400; line-height:.83; letter-spacing:-.035em; }
.wp-autoren-hero h1 span,.wp-autoren-hero h1 em { display:block; }
.wp-autoren-hero h1 em { margin-left:clamp(24px,6vw,86px); color:#d3aa5b; font-weight:400; }
.wp-autoren-hero__lead { max-width:600px; margin:34px 0 0; color:rgba(251,248,240,.82); font-family:'Cormorant Garamond',serif; font-size:21px; line-height:1.52; }
.wp-autoren-hero__count { display:flex; align-items:baseline; gap:9px; margin:34px 0 0; color:rgba(251,248,240,.64); font-size:11px; font-weight:650; letter-spacing:.12em; text-transform:uppercase; }
.wp-autoren-hero__count strong { color:#fff; font-family:'Cormorant Garamond',serif; font-size:28px; font-weight:500; letter-spacing:0; }
.wp-autoren-hero__feature { display:grid; grid-template-columns:minmax(220px,.86fr) minmax(240px,1.14fr); min-height:472px; background:rgba(251,248,240,.96); color:#0a1e3f; box-shadow:0 30px 90px rgba(0,0,0,.28); backdrop-filter:blur(8px); }
.wp-autoren-hero__portrait-link { position:relative; display:block; min-height:472px; overflow:hidden; background:#0a1e3f; }
.wp-autoren-hero__portrait { display:block; width:100%; height:100%; min-height:472px; object-fit:cover; object-position:center top; }
.wp-autoren-hero__portrait--empty { display:flex; align-items:center; justify-content:center; color:#fbf8f0; font-family:'Cormorant Garamond',serif; font-size:76px; letter-spacing:.05em; }
.wp-autoren-hero__feature-copy { display:flex; min-width:0; flex-direction:column; justify-content:center; padding:34px 34px 36px; }
.wp-autoren-hero__feature-label { margin:0 0 20px; color:#7a6230; font-size:9px; font-weight:750; letter-spacing:.2em; text-transform:uppercase; }
.wp-autoren-hero__feature h2 { margin:0; font-family:'Cormorant Garamond',serif; font-size:clamp(34px,3.4vw,50px); font-weight:500; line-height:.96; }
.wp-autoren-hero__feature-role { margin:14px 0 0; color:#7a6230; font-size:10px; font-weight:700; line-height:1.55; letter-spacing:.11em; text-transform:uppercase; }
.wp-autoren-hero__feature-copy>p:not([class]) { margin:25px 0 0; color:#3a3a3a; font-family:'Cormorant Garamond',serif; font-size:18px; line-height:1.5; }
.wp-autoren-hero__feature-link { align-self:flex-start; margin-top:28px; color:#0a1e3f; font-size:10px; font-weight:750; letter-spacing:.12em; text-decoration:none; text-transform:uppercase; border-bottom:1px solid #d3aa5b; padding-bottom:6px; }
.wp-autoren-hero__spotlight { position:relative; min-width:0; }
.wp-autoren-hero__spotlight [hidden] { display:none !important; }
.wp-autoren-hero__spotlight[data-author-spotlight-loading="true"] .wp-autoren-hero__portrait { opacity:0; }
.wp-autoren-hero__spotlight-buehne { position:relative; height:472px; }
.wp-autoren-hero__spotlight .wp-autoren-hero__feature { height:472px; overflow:hidden; }
.wp-autoren-hero__spotlight .wp-autoren-hero__feature-copy { min-height:0; overflow:hidden; }
.wp-autoren-hero__spotlight .wp-autoren-hero__feature h2 { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.wp-autoren-hero__spotlight .wp-autoren-hero__feature-copy>p:not([class]) { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:5; }
.wp-autoren-directory-head { display:grid; grid-template-columns:minmax(0,.72fr) minmax(280px,1.28fr); column-gap:clamp(38px,7vw,100px); align-items:end; width:min(1124px,calc(100% - 56px)); margin:0 auto; padding:88px 0 2px; }
.wp-autoren-directory-head__kicker { grid-column:1 / -1; color:#7a6230; }
.wp-autoren-directory-head h2 { margin:0; color:#0a1e3f; font-family:'Cormorant Garamond',serif; font-size:clamp(38px,5vw,62px); font-weight:450; line-height:.98; }
.wp-autoren-directory-head>p:not([class]) { margin:0; color:#4a4a4a; font-size:16px; line-height:1.75; }
.wp-autoren { max-width: 1180px; margin: 0 auto; padding: 58px 28px 104px; }
.wp-autoren__kicker { color:#9F8045; font-size:11px; font-weight:600; letter-spacing:.32em; text-transform:uppercase; margin-bottom:16px; }
.wp-autoren__titel { font-family:'Cormorant Garamond',serif; font-weight:450; font-size:clamp(46px,6vw,78px); line-height:.96; margin:0 0 18px; }
.wp-autoren__lead { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:19px; line-height:1.6; color:#3a3a3a; max-width:640px; margin:0 0 48px; }
.wp-autor__foto { max-width:none; object-fit:cover; object-position:center top; flex:0 0 auto; display:block; }
.wp-autor__foto--gross { width:100%; height:100%; min-height:500px; aspect-ratio:4 / 5; }
.wp-autor__foto--leer { display:flex; align-items:center; justify-content:center; background:#0A1E3F; color:#FBF8F0; font-family:'Cormorant Garamond',serif; font-size:56px; letter-spacing:.06em; }
.wp-autor__rolle { font-size:12px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:#9F8045; margin:0; }
.wp-autor__bio { max-width:680px; font-family:'Cormorant Garamond',serif; font-size:21px; line-height:1.55; color:rgba(251,248,240,.86); margin:24px 0 0; }
.wp-autor__kopf { display:grid; grid-template-columns:minmax(300px,420px) minmax(0,1fr); min-height:500px; margin-bottom:44px; background:#0a1e3f; color:#fbf8f0; box-shadow:0 24px 70px rgba(10,30,63,.12); }
.wp-autor__kopf-copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(36px,6vw,72px); }
.wp-autor__profil-kicker { margin:0 0 20px; color:#d3aa5b; font-size:10px; font-weight:750; letter-spacing:.2em; text-transform:uppercase; }
.wp-autor__schwerpunkt { font-size:14px; line-height:1.65; color:rgba(251,248,240,.72); margin:18px 0 0; }
.wp-autor__schwerpunkt a { color:#e5c581; }
.wp-autor__socials { display:flex; flex-wrap:wrap; gap:10px; margin:28px 0 0; }
.wp-autor__social-link { display:inline-flex; align-items:center; gap:9px; min-height:42px; padding:0 16px; border:1px solid rgba(229,197,129,.48); border-radius:999px; color:#fbf8f0; font-size:11px; font-weight:700; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; transition:background-color .18s ease,border-color .18s ease,color .18s ease; }
.wp-autor__social-link:hover { border-color:#e5c581; background:#e5c581; color:#07162e; }
.wp-autor__social-link:focus-visible { outline:3px solid rgba(229,197,129,.42); outline-offset:3px; }
.wp-autor__social-arrow { color:#e5c581; font-size:15px; transition:color .18s ease,transform .18s ease; }
.wp-autor__social-link:hover .wp-autor__social-arrow { color:#07162e; transform:translate(2px,-2px); }
.wp-autor__credentials { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 44px; padding:10px clamp(0px,3vw,34px) 24px; }
.wp-autor__zurueck { display:inline-flex; align-items:center; gap:10px; min-height:44px; margin:0 0 32px; padding:0 16px; border:1px solid rgba(10,30,63,.18); border-radius:999px; color:#0A1E3F; font-size:13px; font-weight:600; text-decoration:none; transition:border-color .18s ease, color .18s ease, background-color .18s ease; }
.wp-autor__zurueck:hover { border-color:#9a7734; color:#6a5226; background:#fff; }
.wp-autor__vita, .wp-autor__publikationen { margin:48px 0 0; padding:0 clamp(0px,3vw,34px); }
.wp-autor__vita-kopf, .wp-autor__publikationen-kopf { padding-top:28px; border-top:1px solid rgba(10,30,63,.13); }
.wp-autor__abschnitt-titel { margin:0; color:#0a1e3f; font-family:'Cormorant Garamond',serif; font-size:clamp(32px,3.4vw,44px); font-weight:500; line-height:1.1; scroll-margin-top:100px; }
.wp-autor__vita-titel { margin-bottom:14px; }
.wp-autor__vita-intro { max-width:68ch; margin:0 0 14px; color:#3a3a3a; font-family:'Cormorant Garamond',serif; font-size:19px; line-height:1.58; }
.wp-autor__vita-chronik { list-style:none; margin:27px 0 0; padding:0; border-top:1px solid rgba(10,30,63,.13); }
.wp-autor__vita-station { display:grid; grid-template-columns:minmax(112px,.28fr) minmax(0,1fr); gap:20px 34px; padding:22px 0 24px; border-bottom:1px solid rgba(10,30,63,.13); }
.wp-autor__vita-station:last-child { padding-bottom:0; border-bottom:0; }
.wp-autor__vita-zeit { margin:3px 0 0; color:#8a682d; font-size:11px; font-weight:700; letter-spacing:.1em; line-height:1.45; text-transform:uppercase; }
.wp-autor__vita-inhalt h3 { margin:0; color:#0a1e3f; font-family:'Cormorant Garamond',serif; font-size:27px; font-weight:500; line-height:1.08; }
.wp-autor__vita-beschreibung { max-width:68ch; margin:9px 0 0; color:#3a3a3a; font-size:15px; line-height:1.72; }
.wp-autor__publikationen-kopf { display:flex; align-items:baseline; justify-content:space-between; gap:20px; margin-bottom:20px; }
.wp-autor__publikationen-anzahl { margin:0; color:#6a5226; font-size:13px; }
.author-publications [hidden] { display:none !important; }
.author-publications__controls { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin:0 0 18px; }
.author-publications__search { display:grid; gap:7px; width:min(100%, 480px); color:#3a3a3a; font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.author-publications__search input { width:100%; min-height:46px; padding:0 14px; border:1px solid rgba(10,30,63,.18); border-radius:8px; background:#fff; color:#0A1E3F; font:400 15px/1.4 Manrope,sans-serif; }
.author-publications__search input:focus-visible { outline:3px solid rgba(159,128,69,.24); outline-offset:2px; border-color:#9F8045; }
.author-publications__status { min-width:72px; padding-bottom:13px; color:#6a5226; font-size:13px; text-align:right; }
.author-publications__list { list-style:none; padding:0; margin:0; border-top:1px solid rgba(10,30,63,.12); }
.author-publications__item { border-bottom:1px solid rgba(10,30,63,.12); }
.author-publications__link { display:grid; grid-template-columns:minmax(86px,120px) minmax(0,1fr) auto; align-items:center; gap:18px; min-height:70px; padding:14px 10px; color:#0A1E3F; text-decoration:none; transition:background-color .18s ease, color .18s ease; }
.author-publications__link:hover { background:rgba(159,128,69,.07); color:#6a5226; }
.author-publications__kind { color:#9F8045; font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.author-publications__title { min-width:0; font-family:'Cormorant Garamond',serif; font-size:20px; line-height:1.3; }
.author-publications__arrow { color:#9F8045; font-size:18px; }
.author-publications__more { display:block; min-height:46px; margin:26px auto 0; padding:0 22px; border:1px solid #0A1E3F; border-radius:999px; background:transparent; color:#0A1E3F; font:600 13px/1 Manrope,sans-serif; cursor:pointer; }
.author-publications__more:hover { background:#0A1E3F; color:#FBF8F0; }
.author-publications__more:focus-visible { outline:3px solid rgba(159,128,69,.3); outline-offset:3px; }
.author-publications__empty { margin:20px 0 0; color:#3a3a3a; font-size:14px; }
@media (max-width: 640px) { .wp-autor__publikationen-kopf, .author-publications__controls { align-items:stretch; flex-direction:column; gap:12px; } .author-publications__status { padding:0; text-align:left; } .author-publications__link { grid-template-columns:1fr auto; gap:6px 14px; padding:15px 4px; } .author-publications__kind { grid-column:1 / -1; } }
.wp-autor__hinweis { font-size:14px; color:#6a5226; margin:0; }
.wp-autor__portrait-stage { position:relative; min-width:0; overflow:hidden; background:#07162e; }
.wp-autor__credentials-title { grid-column:1 / -1; margin:0; padding:0 0 24px; color:#0a1e3f; font-family:'Cormorant Garamond',serif; font-size:36px; font-weight:500; border-bottom:1px solid rgba(10,30,63,.13); }
.wp-autor__angaben { margin:0; padding:25px 0 24px; border-bottom:1px solid rgba(10,30,63,.13); }
.wp-autor__angaben-titel { font-size:12px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:#6a5226; margin:0 0 6px; }
.wp-autor__angaben-liste { list-style:none; padding:0; margin:0; font-size:14px; line-height:1.7; color:#3a3a3a; }
.wp-autor__bildquelle { position:absolute; z-index:2; right:12px; bottom:10px; left:12px; margin:0; color:rgba(251,248,240,.78); font-size:10px; text-shadow:0 1px 4px rgba(0,0,0,.7); }
.wp-autor__latest { position:relative; margin:-2px 0 60px; padding:44px clamp(24px,4vw,48px) 48px; background:#f0e9da; }
.wp-autor__latest-head { display:grid; grid-template-columns:minmax(0,.78fr) minmax(280px,1.22fr); gap:32px 58px; align-items:end; margin-bottom:28px; }
.wp-autor__latest-kicker { margin:0 0 10px; color:#8a682d; font-size:10px; font-weight:750; letter-spacing:.2em; text-transform:uppercase; }
.wp-autor__latest h2 { margin:0; color:#0a1e3f; font-family:'Cormorant Garamond',serif; font-size:clamp(34px,4vw,52px); font-weight:500; line-height:.96; }
.wp-autor__latest-intro { margin:0; color:#49443b; font-family:'Cormorant Garamond',serif; font-size:18px; line-height:1.55; }
.wp-autor__latest-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; margin:0; padding:0; background:rgba(10,30,63,.16); list-style:none; }
.wp-autor__latest-card { min-width:0; background:#fbf8f0; }
.wp-autor__latest-link { display:flex; min-height:190px; flex-direction:column; padding:24px; color:#0a1e3f; text-decoration:none; transition:background-color .18s ease,transform .18s ease; }
.wp-autor__latest-link:hover { position:relative; background:#fff; transform:translateY(-3px); }
.wp-autor__latest-meta { display:flex; align-items:center; justify-content:space-between; gap:12px; color:#8a682d; font-size:9px; font-weight:750; letter-spacing:.14em; text-transform:uppercase; }
.wp-autor__latest-title { margin:auto 0 18px; font-family:'Cormorant Garamond',serif; font-size:clamp(24px,2.3vw,32px); font-weight:500; line-height:1.08; hyphens:auto; overflow-wrap:break-word; }
.wp-autor__latest-more { display:flex; align-items:center; justify-content:space-between; gap:12px; color:#6a5226; font-size:10px; font-weight:750; letter-spacing:.12em; text-transform:uppercase; }
.wp-autor__books { position:relative; margin:0 0 60px; padding:48px clamp(24px,4vw,48px) 52px; overflow:hidden; background:#07162e; color:#fbf8f0; }
.wp-autor__books::before { position:absolute; inset:0; background:radial-gradient(circle at 84% 12%,rgba(229,197,129,.14),transparent 34%),linear-gradient(125deg,transparent 0 60%,rgba(255,255,255,.025) 60% 61%,transparent 61%); content:""; pointer-events:none; }
.wp-autor__books-head { position:relative; z-index:2; display:flex; align-items:flex-end; justify-content:space-between; gap:26px; margin-bottom:30px; }
.wp-autor__books-kicker { margin:0 0 10px; color:#e5c581; font-size:10px; font-weight:750; letter-spacing:.2em; text-transform:uppercase; }
.wp-autor__books h2 { max-width:760px; margin:0; font-family:'Cormorant Garamond',serif; font-size:clamp(34px,4.2vw,54px); font-weight:500; line-height:.96; }
.wp-autor__books-carousel { position:relative; z-index:1; min-width:0; }
.wp-autor__books-track { display:flex; gap:18px; min-width:0; overflow-x:auto; scroll-behavior:smooth; scroll-snap-type:x mandatory; scrollbar-width:none; }
.wp-autor__books-track::-webkit-scrollbar { display:none; }
.wp-autor__books-track:focus-visible { outline:3px solid rgba(229,197,129,.48); outline-offset:5px; }
.wp-autor__book-slide { flex:0 0 100%; min-width:0; scroll-snap-align:start; }
.wp-autor__books[data-publication-carousel-transition="fade"][data-publication-carousel-ready="true"] .wp-autor__books-track { display:grid; gap:0; overflow:hidden; scroll-behavior:auto; scroll-snap-type:none; }
.wp-autor__books[data-publication-carousel-transition="fade"][data-publication-carousel-ready="true"] .wp-autor__book-slide { grid-area:1 / 1; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .7s cubic-bezier(.16,1,.3,1),visibility 0s linear .7s; }
.wp-autor__books[data-publication-carousel-transition="fade"][data-publication-carousel-ready="true"] .wp-autor__book-slide[data-publication-carousel-active="true"] { z-index:1; opacity:1; visibility:visible; pointer-events:auto; transition-delay:0s; }
.wp-autor__book-stage { display:grid; grid-template-columns:minmax(180px,.72fr) minmax(0,1.45fr); min-height:430px; border-top:1px solid rgba(229,197,129,.34); border-bottom:1px solid rgba(229,197,129,.2); }
.wp-autor__book-object { display:grid; place-items:center; min-width:0; padding:34px clamp(24px,4vw,58px); border-right:1px solid rgba(229,197,129,.2); background:rgba(255,255,255,.025); }
.wp-autor__book-cover { display:block; width:min(100%,245px); color:#07162e; text-decoration:none; filter:drop-shadow(0 18px 30px rgba(0,0,0,.35)); transition:transform .24s ease,filter .24s ease; }
.wp-autor__book-cover:hover { transform:translateY(-5px) rotate(-.35deg); filter:drop-shadow(0 24px 34px rgba(0,0,0,.46)); }
.wp-autor__book-cover:focus-visible { outline:3px solid #e5c581; outline-offset:5px; }
.wp-autor__book-cover-image { display:block; width:100%; height:auto; max-height:340px; object-fit:contain; }
.wp-autor__book-cover--placeholder { display:grid; min-height:310px; place-items:center; padding:32px 24px; border:1px solid rgba(229,197,129,.48); background:#f0e9da; font-family:'Cormorant Garamond',serif; font-size:clamp(25px,3vw,36px); line-height:1.03; text-align:center; }
.wp-autor__book-copy { display:flex; min-width:0; flex-direction:column; justify-content:center; padding:42px clamp(28px,5vw,72px); }
.wp-autor__book-number { margin:0 0 18px; color:#e5c581; font-size:9px; font-weight:750; letter-spacing:.18em; text-transform:uppercase; }
.wp-autor__book-copy h3 { max-width:750px; margin:0; overflow-wrap:anywhere; font-family:'Cormorant Garamond',serif; font-size:clamp(38px,5vw,66px); font-weight:500; line-height:.9; }
.wp-autor__book-copy h3 a { color:inherit; text-decoration:none; }
.wp-autor__book-copy h3 a:hover { color:#e5c581; }
.wp-autor__book-copy h3 a:focus-visible { outline:3px solid rgba(229,197,129,.5); outline-offset:4px; }
.wp-autor__book-subtitle { max-width:620px; margin:17px 0 0; color:#d7d4ce; font-family:'Cormorant Garamond',serif; font-size:clamp(20px,2.3vw,27px); line-height:1.24; }
.wp-autor__book-byline { margin:14px 0 0; color:#e5c581; font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.wp-autor__book-summary { display:-webkit-box; max-width:650px; margin:20px 0 0; overflow:hidden; color:#d8d8d6; font-size:15px; line-height:1.65; -webkit-box-orient:vertical; -webkit-line-clamp:4; }
.wp-autor__book-facts { display:flex; flex-wrap:wrap; gap:7px; margin:18px 0 0; color:rgba(251,248,240,.66); font-size:11px; letter-spacing:.05em; }
.wp-autor__book-link { display:inline-flex; align-items:center; justify-content:space-between; gap:26px; width:max-content; min-height:44px; margin-top:24px; padding:0 2px 0 0; border-bottom:1px solid rgba(229,197,129,.55); color:#fbf8f0; font-size:10px; font-weight:750; letter-spacing:.14em; text-decoration:none; text-transform:uppercase; }
.wp-autor__book-link:hover { border-color:#e5c581; color:#e5c581; }
.wp-autor__book-link:focus-visible { outline:3px solid rgba(229,197,129,.5); outline-offset:4px; }
.wp-autor__books .publication-carousel__controls { display:none; min-width:0; align-items:center; gap:clamp(18px,3vw,38px); width:100%; margin-top:20px; }
.wp-autor__books[data-publication-carousel-ready="true"] .publication-carousel__controls { display:flex; }
.wp-autor__books .publication-carousel__progress { position:relative; display:block; flex:1 1 auto; min-width:64px; height:1px; overflow:hidden; background:rgba(229,197,129,.22); }
.wp-autor__books .publication-carousel__progress::after { position:absolute; inset:0; background:#e5c581; content:""; transform:scaleX(var(--publication-carousel-progress,.5)); transform-origin:left center; transition:transform .7s cubic-bezier(.16,1,.3,1); }
.wp-autor__books .publication-carousel__control-cluster { display:flex; flex:0 0 auto; align-items:center; gap:2px; }
.wp-autor__books .publication-carousel__button,.wp-autor__books .publication-carousel__index { position:relative; display:grid; place-items:center; padding:0; border:0; background:transparent; color:#fbf8f0; cursor:pointer; }
.wp-autor__books .publication-carousel__button { width:40px; height:40px; border:1px solid rgba(229,197,129,.26); border-radius:50%; transition:border-color .18s ease,background-color .18s ease,color .18s ease; }
.wp-autor__books .publication-carousel__button::before { content:none; }
.wp-autor__books .publication-carousel__button:hover { border-color:#e5c581; background:#e5c581; color:#07162e; }
.wp-autor__books .publication-carousel__button:focus-visible,.wp-autor__books .publication-carousel__index:focus-visible { outline:3px solid rgba(229,197,129,.45); outline-offset:3px; }
.wp-autor__books .publication-carousel__button:disabled { border-color:rgba(229,197,129,.48); background:rgba(255,255,255,.08); color:#d6b97a; cursor:not-allowed; opacity:1; }
.wp-autor__books .publication-carousel__button:disabled:hover { border-color:rgba(229,197,129,.48); background:rgba(255,255,255,.08); color:#d6b97a; }
.wp-autor__books .publication-carousel__button svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.7; }
.wp-autor__books .publication-carousel__indexes { display:flex; align-items:center; gap:1px; }
.wp-autor__books .publication-carousel__index { width:28px; height:40px; }
.wp-autor__books .publication-carousel__index::before { position:relative; z-index:auto; inset:auto; width:7px; height:7px; border:1px solid rgba(229,197,129,.54); border-radius:50%; background:transparent; content:""; transition:background-color .18s ease,border-color .18s ease,transform .18s ease; }
.wp-autor__books .publication-carousel__index:hover::before { border-color:#e5c581; transform:scale(1.18); }
.wp-autor__books .publication-carousel__index[aria-current="true"]::before { border-color:#e5c581; background:#e5c581; transform:scale(1.18); }
.wp-autor__books .publication-carousel__index>span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; }
.wp-autor__books .publication-carousel__toggle { margin-left:5px; }
.wp-autor__books .publication-carousel__toggle [data-publication-carousel-icon="play"] { display:none; fill:currentColor; stroke:none; }
.wp-autor__books .publication-carousel__toggle[data-publication-carousel-state="paused"] [data-publication-carousel-icon="play"] { display:block; }
.wp-autor__books .publication-carousel__toggle[data-publication-carousel-state="paused"] [data-publication-carousel-icon="pause"] { display:none; }
@media (prefers-reduced-motion:reduce) {
  .wp-autor__books-track { scroll-behavior:auto; }
  .wp-autor__book-cover { transition:none; }
  .wp-autor__books[data-publication-carousel-transition="fade"][data-publication-carousel-ready="true"] .wp-autor__book-slide { transition-duration:.12s,0s; }
  .wp-autor__books .publication-carousel__progress::after { transition-duration:.12s; }
}
@media (max-width:980px) {
  .wp-autoren-hero__inner { grid-template-columns:1fr; gap:48px; min-height:auto; padding:62px 0 68px; }
  .wp-autoren-hero__copy { max-width:720px; }
  .wp-autoren-hero__feature { width:min(100%,720px); }
  .wp-autoren-hero__spotlight { width:min(100%,720px); }
  .wp-autoren-directory-head { grid-template-columns:1fr; gap:24px; }
  .wp-autoren-directory-head__kicker { margin-bottom:0; }
  .wp-autor__kopf { grid-template-columns:minmax(260px,36%) minmax(0,1fr); }
  .wp-autor__latest-grid { grid-template-columns:1fr; }
  .wp-autor__latest-link { min-height:150px; }
  .wp-autor__book-stage { grid-template-columns:minmax(170px,.65fr) minmax(0,1.35fr); }
  .wp-autor__book-copy { padding-inline:38px; }
}
@media (max-width:700px) {
  .wp-autoren-hero__inner { width:min(100% - 36px,1240px); padding:46px 0 54px; }
  .wp-autoren-hero h1 { font-size:clamp(54px,18vw,78px); line-height:.88; }
  .wp-autoren-hero__lead { margin-top:26px; font-size:18px; }
  .wp-autoren-hero__feature { grid-template-columns:minmax(130px,38%) minmax(0,1fr); min-height:330px; }
  .wp-autoren-hero__portrait-link,.wp-autoren-hero__portrait { min-height:330px; }
  .wp-autoren-hero__spotlight-buehne,.wp-autoren-hero__spotlight .wp-autoren-hero__feature { height:330px; }
  .wp-autoren-hero__spotlight .wp-autoren-hero__feature-copy>p:not([class]) { -webkit-line-clamp:3; }
  .wp-autoren-hero__feature-copy { padding:24px 20px 25px; }
  .wp-autoren-hero__feature-copy>p:not([class]) { margin-top:17px; font-size:16px; }
  .wp-autoren-hero__feature-link { margin-top:19px; font-size:9px; }
  .wp-autoren-directory-head { width:min(100% - 36px,1124px); padding-top:60px; }
  .wp-autoren-directory-head>p:not([class]) { font-size:14px; line-height:1.7; }
  .wp-autoren { padding:38px 18px 78px; }
  .wp-autor__kopf { grid-template-columns:1fr; }
  .wp-autor__foto--gross { min-height:0; max-height:620px; aspect-ratio:4 / 5; }
  .wp-autor__kopf-copy { padding:34px 25px 38px; }
  .wp-autor__bio { font-size:19px; }
  .wp-autor__credentials { grid-template-columns:1fr; padding-inline:0; }
  .wp-autor__credentials-title { font-size:31px; }
  .wp-autor__vita, .wp-autor__publikationen { margin-top:40px; padding-inline:0; }
  .wp-autor__vita-station { grid-template-columns:1fr; gap:7px; padding:20px 0; }
  .wp-autor__vita-zeit { margin:0; }
  .wp-autor__vita-inhalt h3 { font-size:25px; }
  .wp-autor__latest { margin-bottom:46px; padding:34px 22px 36px; }
  .wp-autor__latest-head { grid-template-columns:1fr; gap:16px; }
  .wp-autor__latest-intro { font-size:16px; }
  .wp-autor__latest-title { font-size:27px; }
  .wp-autor__books { margin-bottom:46px; padding:36px 22px 38px; }
  .wp-autor__books-head { align-items:flex-start; flex-direction:column; margin-bottom:24px; }
  .wp-autor__books .publication-carousel__controls { width:100%; }
  .wp-autor__book-stage { grid-template-columns:1fr; }
  .wp-autor__book-object { padding:28px 22px; border-right:0; border-bottom:1px solid rgba(229,197,129,.2); }
  .wp-autor__book-cover { width:min(68vw,220px); }
  .wp-autor__book-cover--placeholder { min-height:260px; }
  .wp-autor__book-copy { padding:32px 4px 10px; }
  .wp-autor__book-copy h3 { font-size:clamp(38px,13vw,54px); }
  .wp-autor__book-summary { -webkit-line-clamp:5; }
}
@media (max-width:440px) {
  .wp-autoren-hero__feature { grid-template-columns:1fr; }
  .wp-autoren-hero__portrait-link,.wp-autoren-hero__portrait { min-height:0; aspect-ratio:4 / 5; }
  .wp-autoren-hero__portrait { object-position:center 18%; }
  .wp-autoren-hero__feature-copy { padding:24px 22px 28px; }
  .wp-autoren-hero__spotlight-buehne { height:auto; }
  .wp-autoren-hero__spotlight .wp-autoren-hero__feature { height:auto; }
  .wp-autoren-hero__spotlight .wp-autoren-hero__feature-copy { min-height:360px; overflow:visible; }
  .wp-autoren-hero__spotlight .wp-autoren-hero__feature h2 { display:block; overflow:visible; }
  .wp-autoren-hero__spotlight .wp-autoren-hero__feature-copy>p:not([class]) { -webkit-line-clamp:3; }
}


.event-archive__agenda-description>*+*{margin-top:8px}.event-archive__agenda-description h5{margin:8px 0 0;color:var(--navy-deep,#0a1e3f);font:700 14px/1.35 var(--f-sans,Arial,sans-serif)}
.event-detail-hero--event-archive,.ev-hero--event-archive{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr);min-height:min(620px,72vh);align-items:end;overflow:hidden}
.event-detail-hero--event-archive::after,.ev-hero--event-archive::after{position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(4,18,42,.96) 0%,rgba(4,18,42,.82) 46%,rgba(4,18,42,.34) 100%),linear-gradient(0deg,rgba(4,18,42,.46),transparent 58%);content:""}
.event-detail-hero--event-archive .event-detail-hero__media{z-index:-2;opacity:1}.event-detail-hero--event-archive .container,.ev-hero--event-archive .container{position:relative;z-index:1;width:100%;min-width:0;max-width:1180px}.event-detail-hero--event-archive h1,.ev-hero--event-archive .ev-hero__title{--event-detail-title-size:clamp(42px,6.4vw,84px);max-width:15ch;font-size:var(--event-detail-title-size);letter-spacing:-.035em;line-height:.98;text-wrap:balance}.event-detail-hero--event-archive p,.ev-hero--event-archive .ev-hero__deck{max-width:56ch}.ev-hero--event-archive[style*="background-image"]{background-position:center;background-blend-mode:normal}.ev-hero--event-archive .ev-hero__meta{max-width:880px}
.event-archive{width:100%;background:var(--paper,#fffefb);color:var(--ink-soft,#3a405a);font-family:var(--f-sans,Arial,sans-serif);font-size:17px;line-height:1.72}.event-archive,.event-archive *{box-sizing:border-box}.event-archive ::selection{background:var(--gold,#9a7734);color:var(--navy-deep,#0a1e3f)}.event-archive__section{padding:0}.event-archive__section{position:relative}.event-archive__section+.event-archive__section{border-top:1px solid var(--rule,rgba(10,30,63,.14))}.event-archive__inner{width:100%;max-width:1180px;margin:0 auto;padding:clamp(30px,3.5vw,34px) 24px}.event-archive__section:first-child .event-archive__inner{padding-top:34px;padding-bottom:34px}
.event-archive h2,.event-archive h3,.event-archive h4{font-family:var(--f-serif,Georgia,serif);font-weight:500;line-height:1.08;text-wrap:balance}.event-archive h2{max-width:18ch;margin:0 0 26px;color:var(--navy-deep,#0a1e3f);font-size:clamp(34px,4.8vw,58px);letter-spacing:-.025em}.event-archive h3{color:var(--gold-deep,#7a6230)}.event-archive a{color:var(--navy-deep,#0a1e3f);text-decoration-thickness:1px;text-underline-offset:5px}.event-archive a:focus-visible,.event-archive button:focus-visible{outline:3px solid var(--gold,#9a7734);outline-offset:4px}.event-archive button{font:inherit}.event-archive__rich{max-width:780px;margin-inline:auto;text-align:left}.event-archive__rich>:first-child{margin-top:0}.event-archive__rich>:last-child{margin-bottom:0}.event-archive__rich p,.event-archive__rich li{max-width:72ch}.event-archive__section:first-child .event-archive__rich{max-width:920px}.event-archive__section:first-child .event-archive__rich>p:first-of-type{max-width:64ch;color:var(--navy-deep,#0a1e3f);font-family:var(--f-serif,Georgia,serif);font-size:clamp(22px,2.8vw,32px);line-height:1.36}.event-archive__group+.event-archive__group{margin-top:56px}
.event-archive__section--facts{background:var(--navy-deep,#0a1e3f);color:var(--cream,#f7f2e7)}.event-archive__section--facts .event-archive__rich{max-width:1040px}.event-archive__section--facts h2,.event-archive__section--facts h3,.event-archive__section--facts a{color:var(--cream,#f7f2e7)}.event-archive__section--facts h4{color:var(--gold,#c7a75f)}.event-archive__section--cards,.event-archive__section--people,.event-archive__section--agenda{background:var(--ivory,#fbf8f0)}
.event-archive__gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}.event-archive__gallery-item{grid-column:span 4;min-width:0;margin:0}.event-archive__gallery-item--big,.event-archive__gallery-item--format-wide{grid-column:span 8}.event-archive__gallery-button,.event-archive__media-item{display:block;width:100%;min-height:44px;padding:0;overflow:hidden;border:0;border-radius:12px;background:transparent;cursor:zoom-in}.event-archive__gallery img,.event-archive__media img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:var(--event-archive-impression-focus-x,50%) var(--event-archive-impression-focus-y,50%);transition:filter .28s ease,transform .28s cubic-bezier(.16,1,.3,1)}.event-archive__gallery-item--format-portrait:not(.event-archive__gallery-item--big) img{aspect-ratio:3/4}.event-archive__gallery-item--format-wide:not(.event-archive__gallery-item--big) img{aspect-ratio:2/1}.event-archive__gallery-button:hover img,.event-archive__gallery-button:focus-visible img,.event-archive__media-item:hover img,.event-archive__media-item:focus-visible img{filter:saturate(1.08);transform:scale(1.018)}.event-archive figcaption{margin-top:9px;color:var(--ink-soft,#3a405a);font-size:14px;line-height:1.45}
.event-archive__people{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px}.event-archive__person-card{display:flex;min-width:0;min-height:44px;flex-direction:column;padding:0;overflow:hidden;border:1px solid rgba(10,30,63,.13);border-radius:12px;background:var(--paper,#fffefb);box-shadow:0 14px 36px rgba(10,30,63,.08);color:inherit;text-align:left;text-decoration:none;transition:border-color .22s ease,box-shadow .22s ease,transform .28s cubic-bezier(.16,1,.3,1)}.event-archive__person-card:hover,.event-archive__person-card:focus-visible{border-color:rgba(154,119,52,.45);box-shadow:0 20px 48px rgba(10,30,63,.13);transform:translateY(-3px)}.event-archive__person-card img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}.event-archive__person-copy{display:flex;flex-direction:column;gap:7px;padding:20px}.event-archive__person-copy strong{color:var(--navy-deep,#0a1e3f);font-family:var(--f-serif,Georgia,serif);font-size:clamp(24px,2.2vw,29px);font-weight:600;line-height:1.05}.event-archive__person-copy span{font-size:14px;line-height:1.5}.event-archive__inline-copy{padding:0 20px 20px}
.event-archive__partners{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px}.event-archive__partner-card{display:flex;min-width:0;min-height:44px;flex-direction:column;padding:0;overflow:hidden;border:1px solid rgba(10,30,63,.12);border-radius:10px;background:var(--paper,#fffefb);color:inherit;text-align:left;text-decoration:none;transition:border-color .22s ease,box-shadow .22s ease,transform .28s cubic-bezier(.16,1,.3,1)}.event-archive__partner-card:hover,.event-archive__partner-card:focus-visible{border-color:rgba(154,119,52,.45);box-shadow:0 14px 34px rgba(10,30,63,.1);transform:translateY(-2px)}.event-archive__partner-card img{display:block;width:100%;height:164px;padding:22px;object-fit:contain}.event-archive__partner-card>span{display:flex;flex:1;flex-direction:column;gap:5px;padding:16px 18px;border-top:1px solid var(--rule,rgba(10,30,63,.14))}.event-archive__partner-card strong{color:var(--navy-deep,#0a1e3f)}.event-archive__partner-card small{font-size:13px}
.event-archive__podcasts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.event-archive__podcast-card{display:flex;min-width:0;min-height:44px;flex-direction:column;overflow:hidden;border:1px solid rgba(10,30,63,.13);border-radius:12px;background:var(--paper,#fffefb);box-shadow:0 10px 28px rgba(10,30,63,.06);color:inherit;text-decoration:none;transition:border-color .22s ease,box-shadow .22s ease,transform .28s cubic-bezier(.16,1,.3,1)}.event-archive__podcast-card:hover,.event-archive__podcast-card:focus-visible{border-color:rgba(154,119,52,.45);box-shadow:0 16px 38px rgba(10,30,63,.11);transform:translateY(-3px)}.event-archive__podcast-card img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover}.event-archive__podcast-card>span{display:flex;flex:1;flex-direction:column;gap:8px;padding:18px}.event-archive__podcast-card strong{color:var(--navy-deep,#0a1e3f);font-family:var(--f-serif,Georgia,serif);font-size:23px;line-height:1.12}.event-archive__podcast-card small{font-size:13px;line-height:1.5}
.event-archive__media{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.event-archive__video{max-width:960px;margin:0 auto;overflow:hidden;border-radius:12px;background:var(--navy-deep,#0a1e3f);box-shadow:0 20px 48px rgba(10,30,63,.18)}.event-archive__video iframe{display:block;width:100%;aspect-ratio:16/9;border:0}.event-archive__video-open{display:flex;min-height:48px;align-items:center;justify-content:center;margin:0 auto;padding:12px 24px;border:1px solid var(--gold,#9a7734);border-radius:7px;background:var(--navy-deep,#0a1e3f);color:var(--cream,#f7f2e7);font:700 17px/1.3 var(--f-sans,Arial,sans-serif);cursor:pointer}
.event-archive__agenda{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px;align-items:start}.event-archive__agenda-day{overflow:hidden;border:1px solid rgba(10,30,63,.13);border-radius:12px;background:var(--paper,#fffefb);box-shadow:0 14px 36px rgba(10,30,63,.07)}.event-archive__agenda-day--accent{background:var(--cream,#f7f2e7)}.event-archive__agenda-day header,.event-archive__agenda-day footer{padding:22px}.event-archive__agenda-day header{background:var(--navy-deep,#0a1e3f);color:var(--cream,#f7f2e7)}.event-archive__agenda-day header p,.event-archive__agenda-day header h3{margin:0}.event-archive__agenda-day header h3{color:var(--cream,#f7f2e7);font-size:28px}.event-archive__agenda-day ol{list-style:none;margin:0;padding:8px 22px 18px}.event-archive__agenda-day li{display:grid;grid-template-columns:72px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--rule,rgba(10,30,63,.14))}.event-archive__agenda-day li.event-archive__agenda-notice{margin:8px 0;padding:13px 14px;border:1px solid rgba(154,119,52,.24);border-radius:10px;background:rgba(154,119,52,.07)}.event-archive__agenda-day li.event-archive__agenda-notice:not(.has-time-label)>div{grid-column:1/-1}.event-archive__agenda-day li:last-child{border-bottom:0}.event-archive__agenda-day time{color:var(--gold-deep,#7a6230);font-variant-numeric:tabular-nums;font-weight:800}.event-archive__agenda-day h4,.event-archive__agenda-day p{margin:0}.event-archive__downloads{display:grid;gap:12px;padding:0;list-style:none}.event-archive__downloads a{display:inline-flex;min-height:46px;align-items:center;padding:10px 16px;border:1px solid rgba(10,30,63,.18);border-radius:7px;font-weight:800;text-decoration:none}
.event-archive__dialog{max-width:min(1080px,94vw);max-height:92vh;padding:0;border:0;border-radius:12px;background:var(--paper,#fffefb);color:var(--ink-soft,#3a405a);box-shadow:0 28px 72px rgba(0,0,0,.42)}.event-archive__dialog::backdrop{background:rgba(3,10,24,.84)}.event-archive__dialog-shell{position:relative;min-width:min(760px,90vw);padding:52px 24px 24px}.event-archive__dialog-close{position:absolute;top:10px;right:10px;display:grid;width:44px;height:44px;place-items:center;border:1px solid rgba(10,30,63,.25);border-radius:50%;background:var(--paper,#fffefb);color:var(--navy-deep,#0a1e3f);font-size:28px;cursor:pointer}.event-archive__dialog-figure{margin:0}.event-archive__dialog-figure img{display:block;max-width:100%;max-height:72vh;margin:0 auto;object-fit:contain}.event-archive__dialog-figure figcaption{text-align:center}.event-archive__profile{display:grid;grid-template-columns:minmax(220px,340px) 1fr;gap:28px;align-items:start}.event-archive__profile img{display:block;width:100%;max-height:68vh;object-fit:cover}.event-archive__profile h2,.event-archive__partner-profile h2{margin:0 0 8px;color:var(--navy-deep,#0a1e3f);font-family:var(--f-serif,Georgia,serif);font-size:38px}.event-archive__profile-role{color:var(--gold-deep,#7a6230);font-weight:700}.event-archive__profile-detail-media{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin-top:24px}.event-archive__profile-detail-media img{width:100%;max-height:320px;object-fit:contain}.event-archive__partner-profile{display:grid;grid-template-columns:minmax(220px,320px) 1fr;gap:28px}.event-archive__partner-profile>img{display:block;width:100%;max-height:280px;object-fit:contain}.event-archive__profile-links{display:grid;gap:8px;margin:20px 0 0;padding-left:20px}.event-archive__partner-website{margin:24px 0 0}.event-archive__partner-website a{display:inline-flex;min-height:46px;align-items:center;padding:10px 16px;border:1px solid var(--gold,#9a7734);border-radius:7px;font-weight:800;text-decoration:none}
.event-archive__related-media,.event-archive__related-copy{display:block;color:inherit;text-decoration:none}.event-archive__related-media--text{display:flex;min-height:46px;align-items:center;padding:14px 18px;border-bottom:1px solid var(--rule,rgba(10,30,63,.14));font-weight:800;text-decoration:underline}.event-archive__related-copy{display:flex;flex:1}.event-archive__related-copy>span{display:flex;flex:1;flex-direction:column;gap:8px;padding:18px}
@media(max-width:900px){.event-detail-hero--event-archive,.ev-hero--event-archive{min-height:560px}.event-detail-hero--event-archive::after,.ev-hero--event-archive::after{background:linear-gradient(90deg,rgba(4,18,42,.94),rgba(4,18,42,.68))}.event-archive__gallery-item,.event-archive__gallery-item--big{grid-column:span 6}.event-archive__gallery-item--format-wide{grid-column:span 12}.event-archive__podcasts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.event-detail-hero--event-archive,.ev-hero--event-archive{min-height:480px}.event-detail-hero--event-archive h1,.ev-hero--event-archive .ev-hero__title{--event-detail-title-size:clamp(40px,12vw,58px)}.event-archive__podcasts{grid-template-columns:1fr}.event-archive__inner{padding:28px 20px}.event-archive__section:first-child .event-archive__inner{padding-top:28px;padding-bottom:28px}.event-archive__gallery{grid-template-columns:1fr}.event-archive__gallery-item,.event-archive__gallery-item--big{grid-column:auto}.event-archive__people,.event-archive__partners,.event-archive__media,.event-archive__agenda{grid-template-columns:1fr}.event-archive__profile,.event-archive__partner-profile{grid-template-columns:1fr}.event-archive__dialog-shell{min-width:88vw;padding:52px 16px 20px}.event-archive__agenda-day li{grid-template-columns:64px 1fr;gap:12px}}
@media(prefers-reduced-motion:reduce){.event-archive *{scroll-behavior:auto!important;transition:none!important}.event-archive__person-card:hover,.event-archive__person-card:focus-visible,.event-archive__partner-card:hover,.event-archive__partner-card:focus-visible,.event-archive__podcast-card:hover,.event-archive__podcast-card:focus-visible{transform:none}}


.event-archive__agenda-description>*+*{margin-top:8px}.event-archive__agenda-description h5{margin:8px 0 0;color:#0a1e3f;font:700 14px/1.35 var(--f-sans,Arial,sans-serif)}
.event-detail-hero--event-archive,.ev-hero--event-archive{
  position:relative!important;isolation:isolate;display:grid!important;min-height:clamp(620px,82svh,820px)!important;
  align-items:center!important;overflow:hidden;padding:clamp(88px,10vw,146px) 0 clamp(66px,8vw,106px)!important;
  background-color:#f5efe3!important;background-position:center!important;background-size:cover!important;
  color:#0a1e3f!important;text-align:center
}
.event-detail-hero--event-archive::before,.ev-hero--event-archive::before{
  position:absolute;z-index:0;inset:0;background:linear-gradient(180deg,rgba(250,248,242,.78) 0%,rgba(250,248,242,.68) 52%,rgba(245,239,227,.94) 100%);content:""
}
.event-detail-hero--event-archive::after,.ev-hero--event-archive::after{
  position:absolute;z-index:0;inset:0;background:radial-gradient(ellipse at 82% 18%,rgba(232,214,166,.22),transparent 52%),radial-gradient(ellipse at 8% 82%,rgba(154,119,52,.11),transparent 48%);content:""
}
.event-detail-hero--event-archive .event-detail-hero__media{z-index:-1!important;opacity:.28!important;filter:saturate(.86) contrast(.94)}
.event-detail-hero--event-archive .event-detail-hero__media img{width:100%;height:100%;object-fit:cover}
.event-detail-hero--event-archive .container,.ev-hero--event-archive .container{
  position:relative!important;z-index:1!important;width:min(calc(100% - 40px),980px)!important;max-width:980px!important;margin-inline:auto!important
}
.event-detail-hero--event-archive .container>div:first-child,.ev-hero--event-archive .ev-hero__eyebrow{
  display:inline-block;margin:0 0 28px!important;padding:7px 18px;border:1px solid rgba(154,119,52,.32);border-radius:999px;
  background:rgba(250,248,242,.48);color:#7a6230!important;font:600 10.5px/1.35 var(--f-mono,'JetBrains Mono',monospace)!important;
  letter-spacing:.18em!important;text-transform:uppercase
}
.event-detail-hero--event-archive h1,.ev-hero--event-archive .ev-hero__title{
  --event-detail-title-size:clamp(44px,7vw,86px);max-width:20ch!important;margin:0 auto 26px!important;color:#0a1e3f!important;
  font-family:var(--f-serif,'Cormorant Garamond',Georgia,serif)!important;font-size:var(--event-detail-title-size)!important;
  font-weight:500!important;letter-spacing:-.015em!important;line-height:1.04!important;text-wrap:balance
}
.event-detail-hero--event-archive p,.ev-hero--event-archive .ev-hero__deck{
  max-width:760px!important;margin:0 auto 36px!important;color:#2e3a4f!important;font-family:var(--f-serif,'Cormorant Garamond',Georgia,serif)!important;
  font-size:clamp(18px,2vw,22px)!important;font-style:italic;line-height:1.55!important;opacity:1!important
}
.event-detail-hero--event-archive dl,.ev-hero--event-archive .ev-hero__meta{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 32px!important;width:min(100%,820px);max-width:820px!important;
  margin:clamp(42px,5vw,62px) auto 0!important;padding-top:clamp(34px,4vw,48px);border-top:1px dashed rgba(154,119,52,.38)
}
.event-detail-hero--event-archive dl>div,.ev-hero--event-archive .ev-hero__meta-item{text-align:center}
.event-detail-hero--event-archive dt,.ev-hero--event-archive .ev-hero__meta-label{
  display:block;margin:0 0 8px!important;color:#7a6230!important;font:600 10px/1.35 var(--f-mono,'JetBrains Mono',monospace)!important;
  letter-spacing:.18em!important;text-transform:uppercase
}
.event-detail-hero--event-archive dd,.ev-hero--event-archive .ev-hero__meta-value{
  display:block;color:#0a1e3f!important;font:500 italic clamp(17px,1.8vw,20px)/1.35 var(--f-serif,'Cormorant Garamond',Georgia,serif)!important
}
.event-detail-hero--event-archive .cta,.ev-hero--event-archive .ev-hero__cta{
  display:inline-flex!important;min-height:48px;align-items:center;justify-content:center;margin:4px auto 0!important;padding:13px 24px!important;
  border:1px solid #7a6230!important;border-radius:8px!important;background:#7a6230!important;color:#fff!important;font:700 14px/1.2 var(--f-sans,Arial,sans-serif)!important;text-decoration:none!important
}
.event-archive{background:#faf8f2;color:#2e3a4f;font-size:17px;line-height:1.72}
.event-archive__section{position:relative;border:0!important;background:#fff}
.event-archive__section:nth-child(even){background:#faf8f2}
.event-archive__section--facts{background:linear-gradient(135deg,#0a1e3f 0%,#1b3a6b 100%)!important;color:#faf8f2}
.event-archive__section--agenda{background:linear-gradient(180deg,#faf8f2 0%,#f5efe3 100%)!important}
.event-archive__section--people{background:#fff!important}
.event-archive__section--partners{background:#faf8f2!important}
.event-archive__inner{width:min(calc(100% - 40px),1180px);max-width:1180px;margin:0 auto;padding:clamp(68px,8vw,112px) 0!important}
.event-archive__section:first-child .event-archive__inner{padding-top:clamp(68px,8vw,112px)!important;padding-bottom:clamp(68px,8vw,112px)!important}
.event-archive h2,.event-archive h3,.event-archive h4{font-family:var(--f-serif,'Cormorant Garamond',Georgia,serif);font-weight:500;line-height:1.12;text-wrap:balance}
.event-archive h2{max-width:760px;margin:0 auto clamp(38px,5vw,58px);color:#0a1e3f;font-size:clamp(32px,4.5vw,48px);letter-spacing:-.005em;text-align:center}
.event-archive h3{color:#7a6230}
.event-archive__section--facts h2,.event-archive__section--facts h3,.event-archive__section--facts a{color:#faf8f2}
.event-archive__section--facts h4{color:#e8d6a6}
.event-archive__rich{max-width:820px;margin-inline:auto;text-align:left}
.event-archive__section:first-child .event-archive__rich{max-width:880px;text-align:center}
.event-archive__section:first-child .event-archive__rich>p:first-of-type{
  max-width:760px;margin-inline:auto;color:#2e3a4f;font-family:var(--f-serif,'Cormorant Garamond',Georgia,serif);font-size:clamp(20px,2.4vw,26px);font-style:italic;line-height:1.55
}
.event-archive__group+.event-archive__group{margin-top:clamp(48px,6vw,76px)}
.event-archive__gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(12px,1.8vw,20px)}
.event-archive__gallery-item{grid-column:span 4;margin:0}.event-archive__gallery-item--big,.event-archive__gallery-item--format-wide{grid-column:span 8}
.event-archive__gallery-button,.event-archive__media-item{display:block;width:100%;padding:0;overflow:hidden;border:0;border-radius:8px;background:#f5efe3;box-shadow:0 8px 28px rgba(10,30,63,.08);cursor:zoom-in}
.event-archive__gallery img,.event-archive__media img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:var(--event-archive-impression-focus-x,50%) var(--event-archive-impression-focus-y,50%);transition:filter .28s ease,transform .45s cubic-bezier(.16,1,.3,1)}
.event-archive__gallery-item--format-portrait:not(.event-archive__gallery-item--big) img{aspect-ratio:3/4}.event-archive__gallery-item--format-wide:not(.event-archive__gallery-item--big) img{aspect-ratio:2/1}.event-archive__gallery-button:hover img,.event-archive__gallery-button:focus-visible img{filter:saturate(1.05);transform:scale(1.025)}
.event-archive figcaption{margin-top:10px;color:#6b7280;font-family:var(--f-serif,'Cormorant Garamond',Georgia,serif);font-size:15px;font-style:italic;text-align:center}
.event-archive__people{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:clamp(16px,2vw,24px);align-items:stretch}
.event-archive__person-card{position:relative;display:flex;min-width:0;min-height:100%;flex-direction:column;align-items:center;padding:clamp(24px,3vw,32px) 20px 46px;overflow:hidden;border:1px solid rgba(10,30,63,.1);border-radius:8px;background:#fff;box-shadow:0 6px 22px rgba(10,30,63,.05);color:inherit;text-align:center;text-decoration:none;transition:border-color .25s ease,box-shadow .3s ease,transform .3s ease}
.event-archive__person-card:hover,.event-archive__person-card:focus-visible{border-color:#9a7734;box-shadow:0 16px 40px rgba(10,30,63,.14);transform:translateY(-4px)}
.event-archive__person-card>img{display:block;width:124px;height:124px;margin:0 auto 18px;border:2px solid #9a7734;border-radius:50%;background:linear-gradient(135deg,#0a1e3f,#1b3a6b);box-shadow:0 6px 20px rgba(10,30,63,.18);object-fit:cover}
.event-archive__person-copy{display:flex;flex:1;flex-direction:column;align-items:center;gap:7px;padding:0}
.event-archive__person-copy strong{color:#0a1e3f;font-family:var(--f-serif,'Cormorant Garamond',Georgia,serif);font-size:clamp(19px,2vw,22px);font-weight:500;line-height:1.18}
.event-archive__person-copy span{color:#6b7280;font-family:var(--f-serif,'Cormorant Garamond',Georgia,serif);font-size:14px;font-style:italic;line-height:1.45}
.event-archive__inline-copy{padding:18px 0 0;text-align:left}
.event-archive__partners{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.event-archive__partner-card{display:grid;min-width:0;min-height:112px;grid-template-columns:104px minmax(0,1fr);align-items:center;overflow:hidden;padding:12px;border:1px solid rgba(10,30,63,.1);border-radius:8px;background:#fff;box-shadow:0 6px 22px rgba(10,30,63,.04);color:inherit;text-align:left;text-decoration:none;transition:border-color .25s ease,box-shadow .3s ease,transform .3s ease}
.event-archive__partner-card:not(:has(img)){grid-template-columns:1fr}
.event-archive__partner-card:hover,.event-archive__partner-card:focus-visible{border-color:#9a7734;box-shadow:0 14px 34px rgba(10,30,63,.1);transform:translateY(-3px)}
.event-archive__partner-card img{display:block;width:92px;height:84px;padding:8px;object-fit:contain}
.event-archive__partner-card>span{display:flex;min-width:0;flex-direction:column;gap:5px;padding:12px 14px;border:0}
.event-archive__partner-card strong{color:#0a1e3f;font-family:var(--f-serif,'Cormorant Garamond',Georgia,serif);font-size:19px;font-weight:600;line-height:1.2}
.event-archive__partner-card small{color:#7a6230;font:600 9.5px/1.4 var(--f-mono,'JetBrains Mono',monospace);letter-spacing:.12em;text-transform:uppercase}
.event-archive__podcasts,.event-archive__related{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}
.event-archive__podcast-card{border:1px solid rgba(10,30,63,.1);border-radius:8px;background:#fff;box-shadow:0 6px 22px rgba(10,30,63,.05)}
.event-archive__podcast-card img{aspect-ratio:16/10}.event-archive__podcast-card strong{font-size:21px;font-weight:500}
.event-archive__media{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.event-archive__media-item{cursor:default}.event-archive__media img{aspect-ratio:16/10;object-fit:cover}
.event-archive__video{max-width:960px;margin:0 auto;overflow:hidden;border-radius:8px;background:#0a1e3f;box-shadow:0 20px 50px rgba(10,30,63,.2)}
.event-archive__agenda{display:flex;max-width:900px;flex-direction:column;gap:clamp(20px,3vw,30px);margin:0 auto}
.event-archive__agenda-day{overflow:hidden;border:1px solid rgba(10,30,63,.09);border-radius:8px;background:#fff;box-shadow:0 6px 22px rgba(10,30,63,.05)}
.event-archive__agenda-day--accent{border-color:rgba(154,119,52,.42);background:linear-gradient(180deg,#fffdf6 0%,#fff 18%)}
.event-archive__agenda-day header{padding:clamp(22px,2.8vw,30px);border-bottom:1px dashed rgba(10,30,63,.12);background:linear-gradient(180deg,#fbf7ec 0%,transparent 100%);color:#0a1e3f}
.event-archive__agenda-day--accent header{background:linear-gradient(180deg,#f5ebd0 0%,transparent 100%)}
.event-archive__agenda-day header p{color:#7a6230;font:600 10.5px/1.4 var(--f-mono,'JetBrains Mono',monospace);letter-spacing:.18em;text-transform:uppercase}
.event-archive__agenda-day header h3{color:#0a1e3f;font-size:clamp(22px,2.5vw,28px)}
.event-archive__agenda-day ol{padding:10px clamp(20px,3vw,30px) 22px}.event-archive__agenda-day li{grid-template-columns:90px minmax(0,1fr);gap:20px;padding:17px 0;border-bottom:1px dotted rgba(10,30,63,.1)}
.event-archive__agenda-day time{color:#7a6230;font:600 12px/1.4 var(--f-mono,'JetBrains Mono',monospace);letter-spacing:.04em;text-align:right}.event-archive__agenda-day h4{color:#0a1e3f;font-size:18px}.event-archive__agenda-day footer{border-top:1px dashed rgba(10,30,63,.12);background:linear-gradient(180deg,transparent,rgba(154,119,52,.06));color:#7a6230;font:600 10px/1.4 var(--f-mono,'JetBrains Mono',monospace);letter-spacing:.14em;text-align:center;text-transform:uppercase}
.event-archive__downloads{display:grid;max-width:760px;gap:12px;margin-inline:auto;padding:0;list-style:none}.event-archive__downloads a{display:block;min-height:50px;padding:12px 18px;border:1px solid rgba(154,119,52,.45);border-radius:8px;background:#fff;color:#0a1e3f;font-weight:700;text-decoration:underline;text-decoration-color:rgba(154,119,52,.55);text-decoration-thickness:1px;text-underline-offset:4px}
.event-archive__section--registration{background:linear-gradient(180deg,#f5efe3 0%,#faf8f2 100%)!important}.event-archive__section--registration .event-content-stack{padding:0}.event-archive__section--registration .event-content--registration{border-color:rgba(154,119,52,.3);box-shadow:0 18px 48px rgba(10,30,63,.1)}
.event-archive__dialog{border:1px solid rgba(154,119,52,.42);border-radius:10px;background:#faf8f2;box-shadow:0 30px 80px rgba(10,30,63,.35)}
.event-archive__dialog::backdrop{background:rgba(10,30,63,.65);backdrop-filter:blur(6px)}.event-archive__dialog-close{border-color:rgba(10,30,63,.15);background:#fff}.event-archive__profile h2,.event-archive__partner-profile h2{font-size:clamp(32px,4vw,46px);text-align:left}
@media(max-width:900px){
  .event-detail-hero--event-archive,.ev-hero--event-archive{min-height:620px!important}
  .event-archive__gallery-item,.event-archive__gallery-item--big{grid-column:span 6}
  .event-archive__gallery-item--format-wide{grid-column:span 12}
}
@media(max-width:720px){
  .event-detail-hero--event-archive,.ev-hero--event-archive{min-height:560px!important;padding:72px 0 64px!important}
  .event-detail-hero--event-archive .container,.ev-hero--event-archive .container,.event-archive__inner{width:min(calc(100% - 32px),1180px)!important}
  .event-archive__inner,.event-archive__section:first-child .event-archive__inner{padding-top:52px!important;padding-bottom:52px!important}
  .event-detail-hero--event-archive h1,.ev-hero--event-archive .ev-hero__title{--event-detail-title-size:clamp(40px,12vw,58px)}
  .event-detail-hero--event-archive dl,.ev-hero--event-archive .ev-hero__meta{grid-template-columns:1fr;gap:24px!important}
  .event-archive__gallery{grid-template-columns:1fr}.event-archive__gallery-item,.event-archive__gallery-item--big{grid-column:auto}
  .event-archive__people,.event-archive__partners,.event-archive__podcasts,.event-archive__related,.event-archive__media{grid-template-columns:1fr}
  .event-archive__agenda-day li{grid-template-columns:70px minmax(0,1fr);gap:14px}.event-archive__agenda-day time{text-align:left}
  .event-archive__profile,.event-archive__partner-profile{grid-template-columns:1fr}.event-archive__profile h2,.event-archive__partner-profile h2{text-align:center}
}
@media(prefers-reduced-motion:reduce){.event-archive *{transition:none!important}.event-archive__person-card:hover,.event-archive__partner-card:hover{transform:none}}


.event-content-stack{display:block;max-width:1180px;margin:0 auto;padding:clamp(28px,3vw,34px) clamp(18px,4vw,42px) clamp(44px,5vw,56px)}
.event-layout{box-sizing:border-box;width:100%;overflow:hidden}.event-layout section{padding-block:0}.event-layout-part{min-width:0;color:var(--ink-soft,#3a405a);line-height:1.72}.event-layout-part+.event-layout-part{margin-top:clamp(44px,5vw,64px)}.event-layout-part--registrationIntro+.event-layout-part--registration{margin-top:18px}.event-layout-part--registration+.event-layout-part--notice{margin-top:32px}.event-layout-part--notice+.event-layout-part--infos{margin-top:36px}.event-layout-part h2,.event-layout-part h3{font-family:var(--f-serif,Georgia,serif);font-weight:500}.event-layout-part h2{color:var(--navy-deep,#0a1e3f)}.event-layout-part h3{color:var(--gold-deep,#7a6230)}.event-layout-part img{display:block;max-width:100%;height:auto}
.event-layout-part--intro{text-align:left}.event-layout-part--intro>h1,.event-layout-part--intro>h2,.event-layout-part--intro>h3,.event-layout-part--intro>p,.event-layout-part--intro>.event-intro__actions{max-width:820px;margin-right:auto;margin-left:auto}.event-layout-part--intro>h1,.event-layout-part--intro>h2{margin-top:0;font-size:clamp(36px,4.8vw,54px);line-height:1.08}.event-layout-part--intro>h3{margin-top:12px;margin-bottom:24px;font-size:clamp(24px,3vw,32px);font-style:italic;line-height:1.2}.event-layout-part--intro>p{margin-top:0;margin-bottom:16px;font-size:clamp(16px,1.4vw,17px)}.event-layout-part--intro>p:last-of-type{margin-bottom:0}.event-layout-part--intro>.event-intro__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.event-layout-part--intro>.event-intro__actions a{display:inline-flex;min-height:44px;align-items:center;padding:10px 18px;border:1px solid var(--gold,#9a7734);border-radius:5px;color:var(--navy-deep,#0a1e3f);font-weight:700;text-decoration:none}.event-layout-part--intro>div{max-width:1050px;margin:clamp(40px,4vw,48px) auto 0}.event-layout-part--intro>div>h2{display:flex;align-items:center;gap:18px;margin:0 0 24px;font-size:clamp(31px,4vw,44px)}.event-layout-part--intro>div>h2::after{height:1px;flex:1;background:var(--rule,rgba(154,119,52,.35));content:""}.event-layout-part--intro>div>.event-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,3vw,34px)}
.event-info-card{display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid rgba(10,30,63,.14);border-radius:8px;background:var(--paper,#fffefb);box-shadow:var(--shadow-card,0 10px 32px rgba(10,30,63,.08))}.event-info-card>img{width:100%;aspect-ratio:1/1;object-fit:cover}.event-info-card__body{display:flex;flex:1;flex-direction:column;gap:12px;padding:20px;text-align:left}.event-info-card__body h3{margin:0;font-size:clamp(20px,2vw,25px);line-height:1.18;overflow-wrap:anywhere}.event-info-card__body p{margin:0}.event-info-card__body a{margin-top:auto;font-weight:700}.event-info-card audio{width:100%;max-width:100%}
.event-layout-part--facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.5vw,26px)}.event-layout-part--facts>div{position:relative;min-width:0;padding:28px 26px 24px 30px;overflow:hidden;border:1px solid rgba(10,30,63,.15);border-radius:6px;background:var(--paper,#fffefb);box-shadow:var(--shadow-card,0 10px 32px rgba(10,30,63,.08))}.event-layout-part--facts>div:nth-child(2){background:var(--cream,#f7f2e7)}.event-layout-part--facts>div::before{position:absolute;inset:0 auto 0 0;width:5px;background:var(--gold,#9a7734);content:""}.event-layout-part--facts h3,.event-layout-part--facts h4{margin:0 0 12px;color:var(--navy-deep,#0a1e3f);font-family:var(--f-serif,Georgia,serif);font-size:clamp(24px,2.2vw,31px);font-weight:500;line-height:1.08}.event-layout-part--facts p{margin:0 0 16px;font-size:14px;line-height:1.58}.event-layout-part--facts img{width:116px;margin:18px auto 0;aspect-ratio:1/1;object-fit:cover;border-radius:50%}
.event-layout-part--registrationIntro{max-width:920px;margin-right:auto;margin-left:auto;text-align:left}.event-layout-part--registrationIntro>p{max-width:780px;margin:0 0 10px}.event-layout-part--registrationIntro>p:last-child{margin-bottom:0}.event-layout-part--registration>.event-content-stack{padding:0}.event-content--registration>h2,.event-content--registration>p{max-width:780px;margin-right:0;margin-left:0;text-align:left}.event-content--registration>p{margin-bottom:16px}.event-content__registration-form [data-event-companions]>h3{margin:18px 0 8px;color:var(--navy-deep,#0a1e3f);font-family:var(--f-serif,Georgia,serif);font-size:clamp(25px,3vw,32px);font-weight:500;line-height:1.15}.event-content__registration-form fieldset>legend{font-family:var(--f-sans,Arial,sans-serif);font-size:17px;font-weight:700;line-height:1.3}
.event-layout-part--notice{max-width:820px;margin-right:auto;margin-left:auto;padding:22px 24px;border:1px solid rgba(154,119,52,.25);border-top:3px solid var(--gold,#9a7734);background:var(--cream,#f7f2e7)}.event-layout-part--notice>p{max-width:780px;margin:0}.event-layout-part--infos{padding:clamp(34px,4vw,52px) clamp(18px,3vw,34px);border-radius:10px;background:var(--cream,#f7f2e7)}.event-layout-part--infos>.event-info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2vw,24px)}
.event-layout-part--network{color:var(--ink-soft,#3a405a);line-height:1.6}.event-network{border-top:1px solid var(--rule,rgba(10,30,63,.14));padding-top:clamp(44px,5vw,64px);text-align:center}.event-network__quote{max-width:920px;margin:0 auto 16px;color:var(--gold-deep,#7a6230);font-family:var(--f-serif,Georgia,serif);font-size:clamp(32px,4.7vw,54px);font-weight:500;line-height:1.08}.event-network__intro{max-width:760px;margin:0 auto clamp(28px,4vw,44px)}.event-network__wordmark{display:none}.event-network__roof{display:block;width:100%;margin:0 auto 16px}.event-network__groups{display:grid;grid-template-columns:2fr 1fr;gap:14px;align-items:start}.event-network__group{display:flex;min-width:0;flex-direction:column}.event-network__group-title{order:2;margin:8px 0 0;padding:8px 10px;background:#e9e9e9;color:var(--navy-deep,#0a1e3f);font-family:var(--f-serif,Georgia,serif);font-size:20px;font-weight:500}.event-network__logos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.event-network__group:first-child .event-network__logos{grid-template-columns:repeat(4,minmax(0,1fr))}.event-network__logo{display:grid;min-height:112px;place-items:center;padding:14px;border:1px solid rgba(10,30,63,.15);background:var(--paper,#fffefb)}.event-network__logo img{width:100%;max-height:86px;object-fit:contain}.event-network__partners{margin-top:clamp(44px,5vw,64px)}.event-network__partners-title{margin:0 0 22px;color:var(--navy-deep,#0a1e3f);font-family:var(--f-serif,Georgia,serif);font-size:clamp(28px,3.5vw,40px);font-weight:500}.event-network__partner-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:760px;margin:0 auto;gap:18px}.event-network__partner{display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid rgba(10,30,63,.15);border-radius:10px;background:var(--paper,#fffefb);color:inherit;text-align:left;text-decoration:none}.event-network__partner img{width:100%;aspect-ratio:1.4/1;object-fit:contain}.event-network__partner span{padding:14px 16px;color:var(--navy-deep,#0a1e3f);font-weight:700}.event-network a:focus-visible{outline:3px solid var(--gold,#9a7734);outline-offset:3px}
.event-content{min-width:0}.event-content>h2{margin:0 0 22px;color:var(--navy-deep,#0a1e3f);font-family:var(--f-serif,Georgia,serif);font-size:clamp(30px,4vw,48px);font-weight:500}.event-content>p{max-width:760px;color:var(--ink-soft,#445065);line-height:1.65}
.event-content__gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2vw,22px)}.event-content__gallery figure{min-width:0;margin:0}.event-content__gallery-button{display:block;width:100%;padding:0;border:0;border-radius:10px;background:#eef1f5;cursor:zoom-in;overflow:hidden;box-shadow:0 8px 24px rgba(10,30,63,.08)}.event-content__gallery img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .25s ease}.event-content__gallery-button:hover img,.event-content__gallery-button:focus-visible img{transform:scale(1.025)}.event-content__gallery-button:focus-visible{outline:3px solid var(--gold,#b89249);outline-offset:3px}.event-content__gallery figcaption{padding:9px 2px 0;color:var(--ink-soft,#445065);font-size:.92rem;line-height:1.45}.event-content__gallery-audio{grid-column:1/-1;padding:18px;border:1px solid rgba(10,30,63,.12);border-radius:10px;background:#fff}.event-content__gallery audio{display:block;width:100%;max-width:760px;margin:0 auto}
.event-content__dialog{max-width:min(1100px,94vw);max-height:92vh;padding:0;border:0;border-radius:12px;background:#091a35;color:#fff;box-shadow:0 28px 80px rgba(0,0,0,.42)}.event-content__dialog::backdrop{background:rgba(3,10,24,.82)}.event-content__dialog-inner{position:relative;display:grid;place-items:center;min-width:min(760px,90vw);padding:48px 20px 20px}.event-content__dialog img{display:block;max-width:100%;max-height:78vh;object-fit:contain}.event-content__dialog figcaption{padding:12px 8px 2px;text-align:center}.event-content__dialog-close{position:absolute;top:10px;right:10px;width:38px;height:38px;border:1px solid rgba(255,255,255,.5);border-radius:50%;background:rgba(0,0,0,.35);color:#fff;font-size:25px;line-height:1;cursor:pointer}
.event-content--registration{max-width:920px;margin:0 auto;width:100%;padding:clamp(24px,4vw,44px);border:1px solid rgba(10,30,63,.12);border-radius:14px;background:#fff;box-shadow:0 14px 40px rgba(10,30,63,.08)}.event-content__registration-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px}.event-content__registration-form>label,.event-content__registration-form fieldset>label{display:grid;align-content:start;gap:7px;color:var(--navy-deep,#0a1e3f);font-weight:600}.event-content__registration-form input:not([type=checkbox]),.event-content__registration-form select,.event-content__registration-form textarea{box-sizing:border-box;width:100%;min-height:46px;padding:10px 12px;border:1px solid #aab4c3;border-radius:7px;background:#fff;color:#172033;font:inherit}.event-content__registration-form textarea{min-height:112px;resize:vertical}.event-content__registration-form input:focus,.event-content__registration-form select:focus,.event-content__registration-form textarea:focus{outline:3px solid rgba(184,146,73,.24);border-color:var(--gold,#b89249)}.event-content__registration-form>label:has(input[type=checkbox]){grid-column:1/-1;display:flex;align-items:flex-start;gap:10px;font-weight:500;line-height:1.5}.event-content__registration-form input[type=checkbox]{width:20px;height:20px;margin-top:2px;accent-color:var(--navy-deep,#0a1e3f)}.event-content__registration-form>[data-event-companions],.event-content__registration-form>button,.event-content__registration-form>[data-event-registration-status],.event-content__registration-form>input[type=hidden]{grid-column:1/-1}.event-content__registration-form [data-event-companions]{padding-top:8px}.event-content__registration-form fieldset{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px;margin:18px 0 0;padding:22px;border:1px solid rgba(10,30,63,.12);border-radius:10px}.event-content__registration-form legend{padding:0 8px;color:var(--navy-deep,#0a1e3f);font-weight:700}.event-content__registration-form>button{justify-self:start;min-height:48px;padding:11px 24px;border:0;border-radius:7px;background:var(--navy-deep,#0a1e3f);color:#fff;font:inherit;font-weight:700;cursor:pointer}.event-content__registration-form>button:hover{background:#14325f}
@media(max-width:900px){.event-layout-part--facts{grid-template-columns:1fr 1fr}.event-layout-part--facts>div:last-child{grid-column:1/-1}.event-layout-part--infos>.event-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.event-content__gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.event-content__registration-form,.event-content__registration-form fieldset{grid-template-columns:1fr}.event-content__registration-form fieldset>label{grid-column:1}.event-network__groups{grid-template-columns:1fr}.event-network__partner-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.event-content-stack{padding:28px 14px 44px}.event-layout-part+.event-layout-part{margin-top:44px}.event-layout-part--registrationIntro+.event-layout-part--registration{margin-top:16px}.event-layout-part--registration+.event-layout-part--notice{margin-top:28px}.event-layout-part--notice+.event-layout-part--infos{margin-top:28px}.event-layout-part--intro>div>.event-info-grid,.event-layout-part--facts,.event-layout-part--infos>.event-info-grid,.event-layout-part--speakers .block-speakers__grid,.event-network__partner-grid{grid-template-columns:1fr}.event-layout-part--facts>div:last-child{grid-column:auto}.event-content__gallery{grid-template-columns:1fr}.event-content--registration{padding:24px 16px}.event-content__dialog-inner{min-width:88vw;padding-inline:12px}.event-layout-part--notice{padding:18px}.event-layout-part--infos{padding:32px 16px}.event-network__logos{gap:6px}.event-network__logo{min-height:82px;padding:8px}}
.event-layout-part{padding-block:0}.event-layout-part--intro{max-width:1050px;margin-inline:auto}
@media(max-width:540px){.event-content-stack{padding-inline:14px}}
.event-content__registration-form [data-event-companions]>h3{font-family:var(--f-sans,Arial,sans-serif);font-size:20px;font-weight:700;line-height:1.3}.event-info-card__body h3{overflow-wrap:break-word;hyphens:auto}


.reviews-section{--reviews-accent:var(--gold,#9a7734);--reviews-ink:var(--ink,#14182a);--reviews-muted:var(--muted,#5b6079);--reviews-paper:var(--paper,#fffefb);--reviews-gap:clamp(1rem,2.2vw,1.6rem);padding:clamp(4rem,7vw,7rem) clamp(1.25rem,4vw,3rem);background:linear-gradient(180deg,rgba(154,119,52,.055),rgba(154,119,52,.015))}
.reviews-section__inner{width:min(1180px,100%);margin:0 auto}
.reviews-section__head{max-width:760px;margin:0 0 clamp(2rem,4vw,3rem)}
.reviews-section--slider .reviews-section__head{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;max-width:none}
.reviews-section__heading{max-width:760px}
.reviews-section__eyebrow{margin:0 0 .65rem;color:var(--reviews-accent);font:700 .76rem/1.2 var(--f-sans,system-ui,sans-serif);letter-spacing:.14em;text-transform:uppercase}
.reviews-section__title{margin:0;color:var(--reviews-ink);font:600 clamp(2rem,4.5vw,3.7rem)/1.03 var(--f-serif,Georgia,serif);letter-spacing:-.025em;text-wrap:balance}
.reviews-slider__controls{display:flex;align-items:center;gap:.55rem;flex:0 0 auto}
.reviews-slider__controls[hidden]{display:none}
.reviews-slider__status{min-width:4.5rem;color:var(--reviews-muted);font:700 .76rem/1 var(--f-sans,system-ui,sans-serif);font-variant-numeric:tabular-nums;text-align:center;white-space:nowrap}
.reviews-slider__button{display:inline-grid;width:2.75rem;height:2.75rem;padding:0;place-items:center;border:1px solid color-mix(in srgb,var(--reviews-accent) 42%,transparent);border-radius:999px;background:var(--reviews-paper);color:var(--reviews-ink);box-shadow:0 8px 24px rgba(10,30,63,.08);cursor:pointer;transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}
.reviews-slider__button svg{width:1.15rem;height:1.15rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.reviews-slider__button:hover:not(:disabled){border-color:var(--reviews-accent);background:var(--reviews-ink);color:var(--reviews-paper);transform:translateY(-1px)}
.reviews-slider__button:focus-visible,.reviews-slider__viewport:focus-visible{outline:3px solid color-mix(in srgb,var(--reviews-accent) 78%,white);outline-offset:3px}
.reviews-slider__button:disabled{border-color:var(--reviews-disabled-border,#737993);background:var(--reviews-disabled-bg,#eceef3);color:var(--reviews-disabled-fg,#40465f);cursor:not-allowed;box-shadow:none;opacity:1}
.reviews-slider__viewport{overflow-x:auto;overscroll-behavior-inline:contain;scroll-behavior:smooth;scroll-snap-type:inline mandatory;scrollbar-color:color-mix(in srgb,var(--reviews-accent) 58%,transparent) color-mix(in srgb,var(--reviews-accent) 10%,transparent);scrollbar-width:thin}
.reviews-slider__viewport::-webkit-scrollbar{height:.45rem}
.reviews-slider__viewport::-webkit-scrollbar-track{background:color-mix(in srgb,var(--reviews-accent) 10%,transparent);border-radius:999px}
.reviews-slider__viewport::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--reviews-accent) 58%,transparent);border-radius:999px}
.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--reviews-gap);padding:0;margin:0;list-style:none}
.reviews-section--slider .reviews-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - var(--reviews-gap) - var(--reviews-gap)) / 3);padding-bottom:.85rem}
.review-card{display:flex;min-height:100%;flex-direction:column;padding:clamp(1.35rem,2.5vw,2rem);border:1px solid color-mix(in srgb,var(--reviews-accent) 28%,transparent);border-radius:1rem;background:var(--reviews-paper)}
.reviews-section--slider .review-card{min-height:30rem;align-self:start;scroll-snap-align:start;scroll-snap-stop:normal}
.review-card__rating{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem}
.review-card__stars{color:var(--reviews-accent);font-size:1.15rem;line-height:1;letter-spacing:.12em}
.review-card__score{color:var(--reviews-muted);font:700 .72rem/1.2 var(--f-sans,system-ui,sans-serif);letter-spacing:.08em;text-transform:uppercase}
.review-card blockquote{flex:1;margin:0 0 1.5rem;color:var(--reviews-ink);font:500 clamp(1.05rem,1.5vw,1.22rem)/1.65 var(--f-serif,Georgia,serif)}
.review-card blockquote p{margin:0}
.review-card__toggle{display:inline-flex;align-items:center;align-self:flex-start;gap:.4rem;margin:-.35rem 0 1.35rem;padding:.25rem 0;border:0;border-bottom:1px solid color-mix(in srgb,var(--reviews-accent) 58%,transparent);background:transparent;color:var(--reviews-ink);font:700 .78rem/1.35 var(--f-sans,system-ui,sans-serif);cursor:pointer;text-align:left}
.review-card__toggle svg{width:.9rem;height:.9rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease}
.review-card__toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
.review-card__toggle:hover{border-color:var(--reviews-accent);color:var(--reviews-accent)}
.review-card__toggle:focus-visible{outline:3px solid color-mix(in srgb,var(--reviews-accent) 78%,white);outline-offset:3px;border-radius:2px}
.review-card__footer{padding-top:1rem;border-top:1px solid color-mix(in srgb,var(--reviews-accent) 18%,transparent)}
.review-card__name{display:block;color:var(--reviews-ink);font:750 .95rem/1.35 var(--f-sans,system-ui,sans-serif)}
.review-card__meta{display:flex;flex-wrap:wrap;gap:.35rem .7rem;margin-top:.35rem;color:var(--reviews-muted);font:500 .78rem/1.4 var(--f-sans,system-ui,sans-serif)}
.review-card__source-link{color:inherit;text-decoration-color:color-mix(in srgb,var(--reviews-accent) 55%,transparent);text-underline-offset:.18em}
.review-card__source-link:hover,.review-card__source-link:focus-visible{color:var(--reviews-ink);text-decoration-color:var(--reviews-accent)}
.review-card__source-link:focus-visible{outline:2px solid var(--reviews-accent);outline-offset:3px;border-radius:2px}
.reviews-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:860px){.reviews-grid{grid-template-columns:1fr 1fr}.reviews-section--slider .reviews-grid{grid-template-columns:none;grid-auto-columns:calc((100% - var(--reviews-gap)) / 2)}}
@media(max-width:580px){.reviews-section{padding-inline:1rem}.reviews-grid{grid-template-columns:1fr}.reviews-section--slider .reviews-section__head{display:block}.reviews-slider__controls{justify-content:flex-end;margin-top:1.25rem}.reviews-section--slider .reviews-grid{grid-template-columns:none;grid-auto-columns:min(88%,23rem)}.reviews-section--slider .review-card{min-height:27rem}.review-card{border-radius:.8rem}}
.reviews-section--invitation{scroll-margin-top:7rem}
.reviews-section--invitation .reviews-section__heading{min-width:0;flex:1 1 auto}
.reviews-section--invitation .reviews-header-actions{display:flex;flex-direction:column;align-items:flex-end;gap:12px;flex:0 0 294px}
.reviews-section--invitation .reviews-invitation{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.reviews-section--invitation .reviews-invitation__intro{margin:0;color:var(--reviews-ink);font:600 14px/1.4 var(--f-sans,system-ui,sans-serif)}
.reviews-section--invitation .reviews-invitation__button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:0 23px;border:1px solid var(--reviews-accent);border-radius:6px;background:var(--reviews-accent);color:#fff;font:700 14px/1.3 var(--f-sans,system-ui,sans-serif);text-decoration:none}
.reviews-section--invitation .reviews-invitation__button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.reviews-section--invitation .reviews-invitation__button:focus-visible{outline:3px solid var(--navy-deep,#0A1E3F);outline-offset:4px}
.reviews-section--invitation .reviews-slider__controls{margin-top:9px}
.reviews-section--invitation:not(.reviews-section--slider) .reviews-section__head{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;max-width:none}
@media(max-width:700px){.reviews-section--invitation .reviews-section__head,.reviews-section--invitation:not(.reviews-section--slider) .reviews-section__head{display:block}.reviews-section--invitation .reviews-section__title{max-width:15ch}.reviews-section--invitation .reviews-header-actions{align-items:stretch;margin-top:24px}.reviews-section--invitation .reviews-invitation{align-items:stretch}.reviews-section--invitation .reviews-invitation__button{width:100%;box-sizing:border-box}.reviews-section--invitation .reviews-slider__controls{justify-content:flex-end}.reviews-section--invitation .reviews-slider__status{margin-right:auto;text-align:left}}
@media(prefers-reduced-motion:reduce){.reviews-slider__viewport{scroll-behavior:auto}.reviews-slider__button,.review-card__toggle svg{transition:none}.reviews-slider__button:hover:not(:disabled){transform:none}}


    .consultation { position:fixed; right:20px; bottom:24px; z-index:90; font-family:var(--f-sans); }
    .consultation > summary { position:relative; display:flex; align-items:center; justify-content:center; gap:12px; box-sizing:border-box; width:56px; height:56px; list-style:none; cursor:pointer; background:var(--navy-deep); color:var(--cream); border:1px solid var(--gold-soft); border-radius:50%; font-weight:600; box-shadow:0 4px 16px rgb(10 30 63 / .16); }
    .consultation > summary::-webkit-details-marker { display:none; }
    .consultation > summary:hover { background:var(--ink); }
    .consultation > summary:focus-visible { outline:3px solid var(--gold-deep); outline-offset:3px; }
    .consultation__icon { width:24px; height:24px; flex:none; color:var(--gold-soft); }
    /* Opacity keeps the localized name accessible while the trigger is icon-only. */
    .consultation:not([open]) .consultation__label { position:absolute; right:100%; top:50%; transform:translateY(-50%); width:max-content; max-width:calc(100vw - 104px); box-sizing:border-box; padding:10px 14px; border:1px solid var(--rule-strong); border-radius:6px; background:var(--cream); color:var(--ink); font-size:14px; line-height:1.4; font-weight:500; text-align:left; overflow-wrap:anywhere; opacity:0; pointer-events:none; box-shadow:0 4px 16px rgb(10 30 63 / .12); }
    .consultation:not([open]):not([data-tooltip-dismissed]) > summary:is(:hover, :focus-visible) .consultation__label { opacity:1; pointer-events:auto; }
    .consultation[open] { width:min(680px, calc(100vw - 32px)); max-height:calc(100dvh - 96px); display:flex; flex-direction:column; overflow:hidden; background:var(--cream); border:1px solid var(--rule-strong); border-radius:8px; box-shadow:0 12px 36px rgb(10 30 63 / .18); }
    /* Native details content wraps the body and must shrink before its own scroller can. */
    .consultation[open]::details-content { display:flex; flex-direction:column; flex:1; min-height:0; overflow:hidden; }
    .consultation[open] > summary { position:sticky; top:0; z-index:1; width:100%; height:auto; min-height:56px; justify-content:flex-start; padding:14px 20px; border-radius:6px 6px 0 0; box-shadow:none; }
    .consultation__body { flex:1; color:var(--ink); padding:24px; min-height:0; overflow:auto; overscroll-behavior:contain; }
    .consultation__body [hidden] { display:none; }
    .consultation__links { margin:20px 0 0; font-size:13px; }
    .consultation .kontakt-intro { font-family:var(--f-serif); font-size:18px; line-height:1.6; }
    .consultation .bt-field { overflow-wrap:anywhere; }
    .consultation__context { overflow-wrap:anywhere; font-size:14px; line-height:1.5; margin:0 0 20px; color:var(--ink); }
    .consultation .kf { gap:16px; }
    .consultation .kf__grid2 { grid-template-columns:1fr; gap:16px; }
    .consultation .kf__textarea { min-height:100px; }
    .consultation .kf__submit { text-transform:none; letter-spacing:normal; background:var(--navy-deep); color:var(--cream); }
    .consultation .kf__submit:hover { background:var(--ink); }
    .consultation__close { display:none; margin-left:auto; font-size:24px; line-height:1; }
    .consultation[open] .consultation__close { display:inline; }
    .consultation .kontakt-thanks { padding:0; border:0; }
    @media (max-width:600px) { .consultation { right:16px; bottom:calc(16px + env(safe-area-inset-bottom)); } }
    @media (prefers-reduced-motion: no-preference) {
      .consultation[open] { animation: consultation-open .22s cubic-bezier(.2,.7,.2,1) both; }
      @keyframes consultation-open { from { opacity:0; transform:translateY(10px) scale(.98); } to { opacity:1; transform:none; } }
    }
    @media print { .consultation { display:none; } }
