/* Gemeinsame Schriftrollen nach den bestehenden Legacy-Stylesheets. */
:root { --font-body: 'Barlow', sans-serif; }
/* Die alte Universalregel darf Textkinder nicht auf Systemschriften zurücksetzen.
   Komponenten- und Iconklassen behalten ihre spezifischen Fontfamilien. */
* { font-family: inherit; }
body, p, input, textarea, select, option { font-family: var(--font-body); }
a, li { font-family: inherit; }
h1, h2, h3, h4, h5, h6 { font-family: var(--font-display); }
.hero-title, .hero-title span { font-family: var(--font-title); }
.news-card-title a { font-family: inherit; font-size: inherit; font-weight: inherit; line-height: inherit; letter-spacing: inherit; color: inherit; }
.content-breadcrumb a { font-size: inherit; letter-spacing: normal; }
.content-article-meta { font-family: var(--font-display); font-weight: 600; }
.content-article-meta :is(time, span, a) { color: inherit; font-family: inherit; font-size: inherit; font-weight: inherit; letter-spacing: inherit; }
.content-article p a, .content-sources li a, .press-copy a, .press-facts a { font-size: inherit; letter-spacing: inherit; }
.article-share-url { font-family: var(--font-body); }

/* Textfarben ebenfalls aus der Rolle übernehmen, statt Legacy-Weiss. */
.content-sources summary { color: var(--primary); }
.press-facts dt, .press-facts dd { color: var(--text); }

/* Eyebrows bilden mit dem folgenden Titel eine kompakte Einheit. */
:root { --eyebrow-title-gap: 3px; }
.section-label, .highlight-detail { line-height: 1.2; margin-bottom: var(--eyebrow-title-gap); }
.section-label + :is(h1,h2,h3,.section-title), .highlight-detail + .info-card-title { margin-top: 0; padding-top: 0; }
.info-card-title { line-height: 1.25; }

/* Metrisch angepasste lokale Ersatzschriften: weniger Umbruch beim Font-Swap. */
@font-face { font-family: 'Barlow Condensed Fallback'; src: local('Arial'); font-weight: 400; size-adjust: 68.752%; ascent-override: 145.449%; descent-override: 29.090%; line-gap-override: 0%; }
@font-face { font-family: 'Barlow Condensed Fallback'; src: local('Arial Bold'); font-weight: 600; size-adjust: 69.514%; ascent-override: 143.856%; descent-override: 28.771%; line-gap-override: 0%; }
@font-face { font-family: 'Barlow Condensed Fallback'; src: local('Arial Bold'); font-weight: 700; size-adjust: 70.928%; ascent-override: 140.988%; descent-override: 28.198%; line-gap-override: 0%; }
@font-face { font-family: 'Barlow Condensed Fallback'; src: local('Arial Bold'); font-weight: 800; size-adjust: 72.340%; ascent-override: 138.235%; descent-override: 27.647%; line-gap-override: 0%; }
@font-face { font-family: 'Barlow Condensed Fallback'; src: local('Arial Bold'); font-weight: 900; size-adjust: 73.564%; ascent-override: 135.937%; descent-override: 27.187%; line-gap-override: 0%; }
@font-face { font-family: 'Barlow Fallback'; src: local('Arial'); font-weight: 400; size-adjust: 96.713%; ascent-override: 103.399%; descent-override: 20.680%; line-gap-override: 0%; }
@font-face { font-family: 'Neutra Fallback'; src: local('Arial Bold'); font-weight: 700; size-adjust: 88.495%; ascent-override: 88.141%; descent-override: 24.860%; line-gap-override: 0%; }
:root { --font-body: 'Barlow', 'Barlow Fallback', sans-serif; --font-display: 'Barlow Condensed', 'Barlow Condensed Fallback', sans-serif; --font-title: 'Neutra Display 2', 'Neutra Fallback', sans-serif; }

/* Gemeinsame Absatzrollen auf Halle und Feld; nach Bereichs- und Legacy-CSS. */
:root {
 --text-intro:#686e84;
 --intro-font-size:1rem;
 --intro-line-height:1.5;
 --intro-measure:45rem;
 --card-copy-font-size:.9rem;
 --card-copy-line-height:1.55;
}
#hauptinhalt > section.section :is(.section-intro,.teams-intro,.highlights-intro,.archive-section-intro) {
 max-width:var(--intro-measure);
 margin:var(--section-intro-gap) 0 var(--section-heading-gap);
 padding:0;
 font-family:var(--font-body);
 font-size:var(--intro-font-size);
 font-weight:400;
 line-height:var(--intro-line-height);
 letter-spacing:normal;
 text-transform:none;
 color:var(--text-intro);
}
#hauptinhalt > section.section :is(.section-intro,.teams-intro,.highlights-intro,.archive-section-intro) :is(span,strong,em,a) {
 font-family:inherit; font-size:inherit; line-height:inherit;
}
/* Eine Einleitung direkt nach dem Kopf ersetzt dessen unteren Abstand. */
#hauptinhalt > section.section .section-header:has(+ :is(.section-intro,.teams-intro,.highlights-intro,.archive-section-intro)) { margin-bottom:0; }
/* Innerhalb eines Kopfes übernimmt der Kopf den Abstand zum folgenden Inhalt. */
#hauptinhalt > section.section .section-header :is(.section-intro,.teams-intro,.highlights-intro,.archive-section-intro) { margin-bottom:0; }
/* Gleiche Lesetextrolle in Info- und News-Kacheln, unabhängig von p oder div. */
.info-card-text,.news-card-excerpt {
 font-family:var(--font-body); font-size:var(--card-copy-font-size); font-weight:400; line-height:var(--card-copy-line-height);
}
:is(.info-card-text,.news-card-excerpt) :is(p,li) { font-family:inherit; font-size:inherit; line-height:inherit; }
