/* Frischer Wind — subpage CSS */
.sub-hero { background: var(--paper-tint); }
.sub-hero h1 { font-family: var(--f-display); font-weight: 600; font-size: clamp(48px, 7vw, 100px); line-height: 0.95; letter-spacing: -0.025em; color: var(--teal); margin: 16px 0 0; font-variation-settings: "opsz" 48; }
.sub-hero h1 em { font-style: italic; font-weight: 500; color: var(--orange); }
.sub-eyebrow { font-family: var(--f-body); font-weight: 700; font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--orange); display: inline-flex; align-items: center; gap: 10px; }
.sub-eyebrow::before { content: ""; width: 8px; height: 8px; background: var(--orange); border-radius: 50%; display: inline-block; }
.sub-hero .crumb { color: var(--ink-faint); font-weight: 500; }
.sub-hero .crumb a { color: var(--teal); }
.sub-hero .crumb a:hover { color: var(--orange); }
.sub-hero .lead { font-size: clamp(17px, 1.5vw, 20px); color: var(--ink-soft); line-height: 1.55; }
.prose h2 { font-family: var(--f-display); font-weight: 600; font-size: clamp(28px, 3.4vw, 44px); line-height: 1.05; letter-spacing: -0.025em; color: var(--teal); margin: 40px 0 16px; font-variation-settings: "opsz" 32; }
.prose h2:first-child { margin-top: 0; }
.prose h2 em { font-style: italic; font-weight: 500; color: var(--orange); }
.prose h3 { font-family: var(--f-display); font-weight: 600; font-size: 22px; color: var(--teal); margin: 28px 0 6px; }
.prose p { font-size: 17px; line-height: 1.65; color: var(--ink-soft); }
.prose strong { color: var(--teal); font-weight: 700; }
.prose li { color: var(--ink-soft); }
.stats-row { border-color: var(--teal-3); }
.stats-row .cell { border-color: var(--teal-3); }
.stats-row .v { font-family: var(--f-display); font-weight: 700; color: var(--teal); font-variation-settings: "opsz" 48; }
.stats-row .v em { font-style: italic; color: var(--orange); }
.stats-row .l { color: var(--ink-faint); font-weight: 700; }
.deflist-sub { border-color: rgba(14,108,106,0.18); }
.deflist-sub > div { border-color: rgba(14,108,106,0.18); }
.deflist-sub dt { color: var(--orange); font-weight: 700; }
.deflist-sub dd { color: var(--ink); }
.deflist-sub dd strong { color: var(--teal); }
.makers { border-radius: var(--r-lg); border-color: var(--teal-3); background: var(--paper); }
.makers .m { border-color: var(--teal-3); font-family: var(--f-display); font-weight: 700; color: var(--teal); }
.makers .m--fachpartner {
  position: relative;
  border-color: var(--orange);
  background: linear-gradient(0deg, rgba(234,107,59,0.06), rgba(234,107,59,0.06)), var(--paper);
  color: var(--orange);
  overflow: visible;
}
.makers .m--fachpartner::after {
  content: attr(data-badge);
  position: absolute;
  top: -10px;
  right: -8px;
  background: var(--orange);
  color: var(--paper);
  font-family: var(--f-body);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 4px 9px;
  border-radius: 999px;
  line-height: 1;
  box-shadow: 0 4px 12px -4px rgba(234,107,59,0.5);
  white-space: nowrap;
  transform: rotate(2deg);
}
.related a { border-radius: var(--r); border-color: var(--teal-3); background: var(--paper); }
.related a:hover { border-color: var(--orange); }
.related a .nr { color: var(--orange); font-weight: 700; }
.related a .ttl { font-family: var(--f-display); font-weight: 600; color: var(--teal); }
.field-sub label { color: var(--ink-soft); font-weight: 700; }
.field-sub input, .field-sub select, .field-sub textarea { background: var(--paper); border-color: var(--teal-3); color: var(--ink); border-radius: 12px; }
.btn-sub { background: var(--teal); color: var(--paper); border-radius: 999px; padding: 14px 24px; font-weight: 600; font-size: 15px; display: inline-flex; align-items: center; gap: 10px; transition: background .15s; }
.btn-sub:hover { background: var(--teal-2); }
.btn-sub.ghost { background: transparent; border: 1.5px solid var(--teal); color: var(--teal); }
.btn-sub.orange { background: var(--orange); }
.btn-sub.orange:hover { background: var(--orange-deep); }
.foerderung-table { width: 100%; border-collapse: separate; border-spacing: 0; }
.foerderung-table th { background: var(--teal-3); padding: 14px; text-align: left; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 700; color: var(--teal); }
.foerderung-table td { padding: 16px 14px; border-bottom: 1px solid var(--teal-3); }
.foerderung-table td.pct { font-family: var(--f-display); font-weight: 700; font-size: 22px; color: var(--orange); width: 110px; }
.compare-back { color: var(--ink-faint); font-weight: 600; }
