/* ====================================================
   GEHIRNMODELL – Sitewide Stylesheet
   No external dependencies. System fonts only.
   ==================================================== */

/* ====================================================
   1. CSS-Reset und Box-Sizing
   ==================================================== */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

/* ====================================================
   2. Grundlagen: Body, Typografie, Links, Farben
   ==================================================== */

html { font-size: 18px; scroll-behavior: smooth; }

body {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.7;
  color: #1A1F2E;
  background-color: #FAF8F3;
  -webkit-font-smoothing: antialiased;
}

a { color: #8B2635; text-decoration: none; }
a:hover { color: #6B1D29; text-decoration: underline; }

h1, h2, h3, h4 {
  font-family: Georgia, "Times New Roman", serif;
  line-height: 1.25;
  color: #1A1F2E;
}
h1 { font-size: 36px; margin-bottom: 16px; }
h2 { font-size: 28px; margin-bottom: 14px; margin-top: 48px; }
h3 { font-size: 22px; margin-bottom: 12px; }

p { margin-bottom: 1.1em; }
ul, ol { padding-left: 1.5em; margin-bottom: 1.1em; }
li { margin-bottom: 0.35em; }
hr { border: none; border-top: 1px solid #D8D2C4; margin: 40px 0; }

/* ====================================================
   3. Header und Site-Navigation
   ==================================================== */

.header {
  background: #FAF8F3;
  border-bottom: 1px solid #D8D2C4;
  padding: 20px 0;
}
.header-inner {
  max-width: 880px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  align-items: baseline;
  gap: 16px;
  flex-wrap: wrap;
}
.site-logo {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 26px;
  font-weight: 700;
  color: #1A1F2E;
  letter-spacing: -0.3px;
}
.site-logo a { color: inherit; }
.site-logo a:hover { text-decoration: none; color: #8B2635; }

.site-tagline {
  font-size: 13px;
  color: #4A5160;
  font-style: italic;
}

.lang-switch { font-size: 13px; color: #4A5160; margin-left: auto; }
.lang-switch a { color: #4A5160; }
.lang-switch a:hover { color: #8B2635; }

.back-link {
  display: inline-block;
  font-size: 14px;
  color: #4A5160;
  margin-bottom: 28px;
  padding: 6px 0;
}
.back-link:hover { color: #8B2635; text-decoration: none; }

/* ====================================================
   4. Layout-Container und Sektionen
   ==================================================== */

.container {
  max-width: 880px;
  margin: 0 auto;
  padding: 0 24px;
}

.ueber-section {
  margin: 48px 0;
  padding: 32px 0;
  border-top: 1px solid #D8D2C4;
}
.ueber-section p { color: #4A5160; }

/* ====================================================
   5. Hero-Section
   ==================================================== */

.hero {
  padding: 56px 0 40px;
}
.hero-sub {
  font-size: 18px;
  color: #4A5160;
  max-width: 660px;
  margin-bottom: 10px;
}
.hero-note {
  font-size: 16px;
  color: #4A5160;
  max-width: 560px;
}

.hero-section {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 36px;
  align-items: center;
  padding: 36px 0 28px;
}
.hero-text { display: flex; flex-direction: column; gap: 14px; }
.hero-text h1 { font-size: 30px; margin-bottom: 0; line-height: 1.2; }
.hero-text .hero-sub { font-size: 16px; color: #4A5160; margin-bottom: 0; max-width: 100%; }
.hero-text .hero-note { font-size: 14px; color: #4A5160; margin-bottom: 0; }
.hero-visual { cursor: pointer; }
.hero-visual:focus-visible { outline: 2px solid #8B2635; border-radius: 10px; }
.hero-visual-label {
  display: block;
  font-size: 11px;
  color: #7A8090;
  font-style: italic;
  margin-bottom: 6px;
  text-align: center;
}
.hero-svg-mini {
  width: 100%;
  max-width: 480px;
  display: block;
  border: 0.5px solid #D8D2C4;
  border-radius: 8px;
  background: #FAF8F3;
  transition: box-shadow 0.2s ease;
}
.hero-svg-mini:hover { box-shadow: 0 4px 16px rgba(139,38,53,0.12); }

/* ====================================================
   6. Karten-Grid (Startseite)
   ==================================================== */

.karte-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
  margin: 32px 0;
}
.karte-card {
  background: #FFFFFF;
  border: 0.5px solid #D8D2C4;
  border-radius: 8px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  transition: box-shadow 0.18s ease;
}
.karte-card:hover { box-shadow: 0 2px 10px rgba(26,31,46,0.08); }

.karte-card-num {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #4A5160;
}
.karte-card h3 { font-size: 20px; margin: 0; color: #1A1F2E; }
.karte-card p  { font-size: 15px; color: #4A5160; margin: 0; flex: 1; }
.karte-card-footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; margin-top: 8px; }

.karte-locked { opacity: 0.75; cursor: default; }

.badge {
  display: inline-block;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  padding: 4px 10px;
  border-radius: 20px;
  text-transform: uppercase;
}
.badge-free         { background: #D4EDDA; color: #1A5C2E; }
.badge-member       { background: #F0E8DA; color: #6B3E1A; }
.badge-members-only { background: #E8F0F8; color: #1A3A5C; }

.lock-icon {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  color: #4A5160;
}
.lock-icon svg { width: 18px; height: 18px; flex-shrink: 0; }

/* ====================================================
   7. Beitritts-Section und Preis-Box
   ==================================================== */

.beitritt-section {
  background: #FFFFFF;
  border: 0.5px solid #D8D2C4;
  border-radius: 8px;
  padding: 40px 36px;
  margin: 48px 0;
}
.preis-box {
  background: #FAF8F3;
  border: 1.5px solid #D8D2C4;
  border-radius: 8px;
  padding: 28px;
  margin: 24px 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.preis-main {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 24px;
  font-weight: 700;
  color: #1A1F2E;
}
.preis-regular  { font-size: 17px; color: #1A1F2E; }
.preis-founding { font-size: 15px; color: #8B2635; font-weight: 600; }
.beitritt-note  { font-size: 14px; color: #4A5160; margin-top: 12px; line-height: 1.6; }

.preis-titel {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 22px;
  font-weight: 700;
  color: #1A1F2E;
  margin: 0 0 4px;
  line-height: 1.2;
}
.preis-haupt  { font-size: 18px; font-weight: 600; color: #1A1F2E; margin: 0 0 8px; }
.preis-zusatz { font-size: 15px; color: #4A5160; margin: 0; line-height: 1.5; }

.preis-box-einzeln {
  background: #FFFFFF;
  border: 1.5px solid #D8D2C4;
  border-radius: 8px;
  padding: 28px 32px;
  margin: 24px 0;
}
.preis-box-einzeln h3    { font-size: 18px; margin: 0 0 8px; color: #1A1F2E; }
.preis-box-einzeln ul    { margin: 12px 0 0; padding-left: 1.3em; }
.preis-box-einzeln ul li { font-size: 15px; color: #4A5160; margin-bottom: 6px; }

/* ====================================================
   8. Buttons
   ==================================================== */

.btn-primary {
  display: inline-block;
  background: #8B2635;
  color: #FAF8F3;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: 16px;
  font-weight: 600;
  padding: 14px 28px;
  border-radius: 6px;
  border: none;
  cursor: pointer;
  text-decoration: none;
  transition: background 0.15s ease, transform 0.1s ease;
  white-space: nowrap;
}
.btn-primary:hover {
  background: #6B1D29;
  color: #FAF8F3;
  text-decoration: none;
  transform: translateY(-1px);
}
.btn-primary:active { transform: translateY(0); }

.btn-secondary {
  display: inline-block;
  background: transparent;
  color: #8B2635;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: 16px;
  font-weight: 600;
  padding: 13px 27px;
  border-radius: 6px;
  border: 1.5px solid #8B2635;
  cursor: pointer;
  text-decoration: none;
  transition: background 0.15s ease, color 0.15s ease;
}
.btn-secondary:hover {
  background: #8B2635;
  color: #FAF8F3;
  text-decoration: none;
}

.btn-large { font-size: 17px; padding: 16px 32px; }

/* ====================================================
   9. Gehirn-Interaktionskarte (anatomisches SVG)
   ==================================================== */

.brain-viz {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  display: block;
  border: 0.5px solid #D8D2C4;
  border-radius: 8px;
  background: #FAF8F3;
}

/* Brain-Region-States
   Hinweis: karte-01-vermeidung.html hatte inline transition: 0.3s und fill-opacity: 0.55
   – vereinheitlicht auf die style.css-Referenzwerte (0.6s / 0.60). */
.brain-region          { transition: fill-opacity 0.6s ease, stroke-width 0.6s ease; }
.brain-region.active   { fill-opacity: 0.60; stroke-width: 1.5; }
.brain-region.inactive { fill-opacity: 0.18; stroke-width: 0.8; }

/* === Spezifisch für Gehirn-Interaktionskarten === */

.nerve-path {
  fill: none;
  stroke-dasharray: 5 5;
  stroke-width: 2.5;
  stroke-linecap: round;
}
.bypass-path {
  fill: none;
  stroke: #185FA5;
  stroke-dasharray: 3 4;
  stroke-width: 2.8;
  stroke-linecap: round;
}

.svg-label {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-weight: 500;
  pointer-events: none;
}
.label-main { font-size: 15px; }
.label-sub  { font-size: 13px; }

.viz-section    { margin: 32px 0; }
.viz-section h3 { margin-bottom: 20px; }

/* SVG-Animationen */
@keyframes dash-flow      { to { stroke-dashoffset: -20; } }
@keyframes dash-flow-slow { to { stroke-dashoffset: -28; } }
.nerve-fiber  { animation: dash-flow      1.4s linear infinite; }
.bypass-fiber { animation: dash-flow-slow 2.4s linear infinite; }

/* ====================================================
   10. Phase-Buttons, Readout, Chem-Pills, Legende
   ==================================================== */

.phase-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 20px 0;
}
.phase-btn {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: 16px;
  font-weight: 500;
  padding: 14px 22px;
  border-radius: 6px;
  border: 1.5px solid #D8D2C4;
  background: #FFFFFF;
  color: #4A5160;
  cursor: pointer;
  transition: all 0.15s ease;
  white-space: nowrap;
}
.phase-btn:hover {
  border-color: #8B2635;
  color: #8B2635;
  background: #FDF5F6;
}
.phase-btn.active {
  background: #8B2635;
  color: #FAF8F3;
  border-color: #8B2635;
  font-weight: 600;
}

.readout {
  background: #FFFFFF;
  border: 0.5px solid #D8D2C4;
  border-left: 3px solid #8B2635;
  border-radius: 0 6px 6px 0;
  padding: 24px;
  font-size: 18px;
  line-height: 1.7;
  color: #1A1F2E;
  margin: 16px 0;
  min-height: 100px;
  transition: opacity 0.2s ease;
}

.chem-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 16px 0;
  align-items: center;
}
.chem-label {
  font-size: 14px;
  font-weight: 600;
  color: #4A5160;
  margin-right: 4px;
}
.chem-pill {
  font-size: 14px;
  font-weight: 600;
  padding: 6px 14px;
  border-radius: 20px;
  border: 1.5px solid #D8D2C4;
  background: #F5F3EE;
  color: #4A5160;
  transition: all 0.2s ease;
  letter-spacing: 0.02em;
}
.chem-pill.active      { border-color: transparent; color: #FAF8F3; }
.chem-pill.active.ach  { background: #2D6A4F; }
.chem-pill.active.glu  { background: #E07B39; }
.chem-pill.active.gaba { background: #2C5F8A; }
.chem-pill.active.ne   { background: #7B3F9E; }
.chem-pill.active.cort { background: #8B5E3C; }
.chem-pill.active.dop  { background: #1A7A5E; }

.legend {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  margin: 16px 0 24px;
  font-size: 14px;
  color: #4A5160;
}
.legend-item { display: flex; align-items: center; gap: 7px; }
.legend-dot  { width: 14px; height: 14px; border-radius: 3px; flex-shrink: 0; }

/* ====================================================
   11. Content-Seiten (Impressum, Datenschutz)
   ==================================================== */

.legal-content            { padding: 40px 0 60px; }
.legal-content h1         { margin-bottom: 32px; }
.legal-content section    { margin-bottom: 40px; }
.legal-content section h2 { margin-top: 0; }

/* Mitglieder-Bereich */
.members-intro {
  background: #E8F0F8;
  border: 0.5px solid #B8CCE0;
  border-radius: 8px;
  padding: 20px 24px;
  margin-bottom: 32px;
  font-size: 16px;
  color: #1A3A5C;
}
.members-note {
  font-size: 13px;
  color: #4A5160;
  border-top: 1px solid #D8D2C4;
  padding-top: 24px;
  margin-top: 40px;
}

/* Platzhalter-Karten (in Vorbereitung) */
.placeholder-viz {
  background: #F0EDE7;
  border: 1px dashed #D8D2C4;
  border-radius: 8px;
  padding: 60px 24px;
  text-align: center;
  color: #4A5160;
  font-size: 16px;
  margin: 24px 0;
}
.placeholder-viz strong { display: block; font-size: 18px; margin-bottom: 8px; color: #1A1F2E; }

/* ====================================================
   12. Footer
   ==================================================== */

.footer {
  border-top: 1px solid #D8D2C4;
  padding: 32px 0;
  margin-top: 48px;
  font-size: 14px;
  color: #4A5160;
}
.footer-inner {
  max-width: 880px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px 32px;
  align-items: center;
  justify-content: space-between;
}
.footer-links          { display: flex; flex-wrap: wrap; gap: 8px 20px; }
.footer-links a        { color: #4A5160; font-size: 14px; }
.footer-links a:hover  { color: #8B2635; }
.footer-copy           { color: #4A5160; font-size: 13px; }

/* ====================================================
   13. Hub – Karten-Landkarte (alle 52 Karten)
   ==================================================== */

.kategorie-block       { margin-bottom: 40px; }
.kategorie-titel {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #4A5160;
  margin: 0 0 14px;
  padding-bottom: 8px;
  border-bottom: 1px solid #D8D2C4;
}

/* karte-card als <a>-Link */
a.karte-card {
  text-decoration: none;
  color: inherit;
}
a.karte-card:hover { text-decoration: none; }

.karte-card-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.karte-nummer {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #4A5160;
}
.hub-lock {
  font-size: 12px;
  line-height: 1;
}
.karte-titel {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 16px;
  font-weight: 700;
  color: #1A1F2E;
  margin: 6px 0 8px;
  line-height: 1.3;
}

.badge-live        { background: #D4EDDA; color: #1A5C2E; }
.badge-vorbereitung { background: #F0EDE7; color: #6B5A40; }

.karte-status-vorbereitung { opacity: 0.65; }

/* ====================================================
   Stub-Karten-Seiten
   ==================================================== */

.karte-stub {
  background: #FFFFFF;
  border: 0.5px solid #D8D2C4;
  border-radius: 8px;
  padding: 48px 36px;
  margin: 32px 0;
  text-align: center;
}
.karte-nummer-gross {
  display: block;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 56px;
  font-weight: 700;
  color: #D8D2C4;
  line-height: 1;
  margin-bottom: 4px;
}
.stub-hinweis {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #4A5160;
  margin-bottom: 20px;
}
.stub-text {
  font-size: 16px;
  color: #4A5160;
  max-width: 480px;
  margin: 0 auto 28px;
  line-height: 1.6;
}
.stub-animation {
  display: flex;
  justify-content: center;
  margin: 20px auto 28px;
}
.naechste-karte-vorschau  { margin-top: 56px; }
.naechste-karte-vorschau h3 { margin-top: 0; }

/* ====================================================
   Cookie-Banner (Consent-DSGVO)
   ==================================================== */

.cookie-banner{position:fixed;left:20px;right:20px;bottom:20px;max-width:760px;margin:0 auto;background:#1A1F2E;color:#FAF8F3;border-radius:10px;padding:20px 24px;box-shadow:0 8px 32px rgba(0,0,0,0.3);transform:translateY(120%);transition:transform .4s ease;z-index:9999}
.cookie-banner.show{transform:translateY(0)}
.cookie-banner-inner{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between}
.cookie-banner-text{flex:1;min-width:280px;font-size:14px;line-height:1.5}
.cookie-banner-text p{margin:0 0 8px 0}
.cookie-banner-text p:last-child{margin-bottom:0;opacity:0.85}
.cookie-banner-text a{color:#FAF8F3;text-decoration:underline}
.cookie-banner-buttons{display:flex;gap:8px;flex-shrink:0}
.cookie-btn{padding:10px 18px;border:none;border-radius:6px;font-size:14px;cursor:pointer;font-family:inherit}
.cookie-btn-decline{background:transparent;color:#FAF8F3;border:1px solid #FAF8F3}
.cookie-btn-accept{background:#8B2635;color:#FFFFFF}
.cookie-btn:hover{opacity:0.9}

/* ====================================================
   14. Disclaimer und Hinweise
   ==================================================== */

.disclaimer {
  background: #F0EDE7;
  border: 0.5px solid #D8D2C4;
  border-radius: 6px;
  padding: 20px 24px;
  font-size: 14px;
  color: #4A5160;
  line-height: 1.6;
  margin: 40px 0;
}

/* ====================================================
   15. Responsive (Media Queries)
   ==================================================== */

@media (max-width: 600px) {
  html { font-size: 16px; }
  h1   { font-size: 28px; }
  h2   { font-size: 22px; }
  h3   { font-size: 19px; }

  .beitritt-section { padding: 24px 20px; }
  .phase-btn        { font-size: 14px; padding: 10px 16px; }
  .readout          { font-size: 16px; padding: 18px; }
  .header-inner     { flex-direction: column; gap: 4px; }
  .footer-inner     { flex-direction: column; gap: 16px; }
  .hero-section     { grid-template-columns: 1fr; padding: 20px 0 12px; gap: 20px; }
  .hero-visual      { order: -1; }
  .hero-text h1     { font-size: 24px; }
}

@media (max-width: 640px) {
  .cookie-banner-inner   { flex-direction: column; align-items: stretch; }
  .cookie-banner-buttons { width: 100%; }
  .cookie-btn            { flex: 1; }
}

/* ====================================================
   Pre-Suasion-Footer
   ==================================================== */

.pre-suasion-footer{margin:48px 0 32px;padding:32px 24px;background:#FFFFFF;border:1px solid #D8D2C4;border-radius:12px}
.pre-suasion-haupt{text-align:center;margin-bottom:32px}
.pre-suasion-haupt h2{font-size:24px;color:#1A1F2E;margin:0 0 12px;line-height:1.3;font-family:Georgia,"Times New Roman",serif}
.pre-suasion-intro{font-size:18px;color:#4A5160;margin:0}
.pre-suasion-optionen{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:32px}
@media(max-width:900px){.pre-suasion-optionen{grid-template-columns:1fr}}
.option-card{background:#FAF8F3;border:1px solid #D8D2C4;border-radius:8px;padding:24px;display:flex;flex-direction:column}
.option-card.option-highlight{background:#FFFFFF;border:2px solid #8B2635;box-shadow:0 4px 12px rgba(139,38,53,0.08)}
.option-label{font-size:13px;color:#8B2635;font-weight:600;margin-bottom:8px;display:block;letter-spacing:0.3px}
.option-card h3{font-size:20px;color:#1A1F2E;margin:0 0 12px;font-family:Georgia,"Times New Roman",serif}
.option-card p{font-size:15px;color:#4A5160;line-height:1.5;margin:0 0 16px}
.option-preis{font-size:22px;color:#1A1F2E;font-weight:600;margin:0 0 16px!important}
.option-telefon-nummer{font-size:24px;color:#8B2635;font-weight:600;margin:8px 0 12px!important;font-family:Georgia,"Times New Roman",serif}
.option-telefon-nummer a{color:#8B2635;text-decoration:none}
.option-telefon-nummer a:hover{text-decoration:underline}
.option-disclaimer{font-size:13px;color:#4A5160;font-style:italic;margin-top:auto!important;padding-top:12px;border-top:1px solid #D8D2C4}
.option-alternative{font-size:13px;color:#4A5160;margin-top:12px!important;padding-top:12px;border-top:1px solid #D8D2C4;line-height:1.5}
.option-alternative a{color:#8B2635;text-decoration:underline}
.option-card .btn-primary{display:block;text-align:center;padding:12px 20px;margin-top:auto}
.option-card .btn-highlight{font-size:16px;padding:14px 20px}
.pre-suasion-quellen{padding-top:24px;border-top:1px solid #D8D2C4}
.quellen-label{font-size:13px;color:#4A5160;margin:0 0 12px;text-transform:uppercase;letter-spacing:0.5px;text-align:center}
.doi-liste{font-size:14px;color:#1A1F2E;margin:0;padding-left:24px;line-height:1.7}
.doi-liste li{margin-bottom:6px}
.doi-liste em{color:#4A5160;font-style:italic}
.doi-liste a{color:#8B2635;text-decoration:underline}

/* Copyright-Zeile im Footer */
.copyright-line{font-size:13px;color:#4A5160;text-align:center;margin:16px 0 0;padding-top:16px;border-top:1px solid #D8D2C4;line-height:1.5}
.copyright-line a{color:#8B2635;text-decoration:none}
.copyright-line a:hover{text-decoration:underline}

/* Hub-Seite */
.hub-page .hub-intro{font-size:18px;color:#4A5160;max-width:680px;margin:0 auto 40px;text-align:center;line-height:1.7}

/* ── nt-affiliations (logo leiste) ──────────────────────────────────────── */
:root{--nt-line:rgba(0,0,0,.12);--nt-muted:rgba(0,0,0,.55)}
.nt-affiliations{margin-top:clamp(72px,7vw,96px);padding-top:clamp(34px,4vw,48px);border-top:1px solid var(--nt-line);max-width:100%}
.nt-affiliations-label{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--nt-muted);margin-bottom:clamp(22px,3vw,32px);font-weight:800}
.nt-affiliations-row{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(24px,3vw,38px)}
.nt-affiliations-row img{display:block;height:102px;width:auto;max-width:360px;background:#fff;padding:16px 24px;border-radius:8px;object-fit:contain}
/* ── nt-author (autorenbox) ──────────────────────────────────────────────── */
.nt-author{margin:clamp(32px,4vw,48px) auto;padding:clamp(20px,3vw,28px);background:#FAF8F3;border:1px solid #D8D2C4;border-radius:8px;max-width:880px}
.nt-author-inner{display:flex;align-items:center;gap:clamp(16px,3vw,28px)}
.nt-author-body{flex:1;min-width:0}
.nt-author-name{font-size:16px;font-weight:700;color:#1A1F2E;margin:0 0 8px}
.nt-author-bio{font-size:14px;color:#4A5160;line-height:1.6;margin:0}
.nt-author-bio a{color:#8B2635;text-decoration:underline}
.nt-author-photo{width:96px;height:96px;border-radius:50%;object-fit:cover;flex-shrink:0}
@media(max-width:600px){.nt-author-inner{flex-direction:column-reverse;align-items:center;text-align:center}.nt-author-bio{text-align:center}}
/* ── header logo mark ────────────────────────────────────────────────────── */
.logo-mark{height:32px;width:auto;vertical-align:middle;margin-right:8px;border-radius:4px}

/* ── affiliations centering + label update ─── */
.nt-affiliations{text-align:center}
.nt-affiliations-row{justify-content:center}
/* ── CTA grid: balanced 3-column ─────────────── */
.pre-suasion-optionen{grid-template-columns:1fr minmax(0,0.85fr) 1fr}
@media(max-width:900px){.pre-suasion-optionen{grid-template-columns:1fr}}
/* ── copyright notice ────────────────────────── */
.page-copyright{font-size:12px;color:rgba(0,0,0,.45);text-align:center;padding:24px 0 16px;max-width:680px;margin:0 auto;line-height:1.6;border-top:1px solid rgba(0,0,0,.08);margin-top:32px}
/* ── breadcrumb navigation ──────────────────── */
.breadcrumb-nav{padding:20px 0 0;font-size:10px;color:#4A5160}
.breadcrumb-nav ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center}
.breadcrumb-nav li{display:flex;align-items:center}
.breadcrumb-nav li+li::before{content:"›";margin:0 8px;color:#9CA3B0}
.breadcrumb-nav a{color:#4A5160;text-decoration:none;transition:color .15s}
.breadcrumb-nav a:hover{color:#8B2635}
.breadcrumb-nav [aria-current="page"]{color:#1A1F2E;font-weight:600}
/* ── related maps section ───────────────────── */
.related-maps{margin:40px 0 8px;padding:24px;background:#F4F1EB;border-radius:8px}
.related-maps h2{font-size:13px;text-transform:uppercase;letter-spacing:.12em;color:#6B7280;margin:0 0 14px;font-weight:700}
.related-grid{display:flex;flex-wrap:wrap;gap:8px}
.related-card{display:inline-block;padding:8px 16px;background:#fff;border:1px solid #D8D2C4;border-radius:6px;color:#1A1F2E;text-decoration:none;font-size:14px;font-weight:500;transition:border-color .15s,color .15s}
.related-card:hover{border-color:#8B2635;color:#8B2635}
