/* Schrift im Bold-Stil (Axel, 26.10.2026). Farben, Formen und Inhalte bleiben wie in Route D,
   nur die Typografie wird schwerer, enger und größer. Liegt als letzte Stilschicht über allen Seiten. */

:root {
  --hero-title-size: clamp(4.1rem, 9.6vw, 8.1rem);
}

/* Überschriften: schwer und eng */
h1, h2 { font-weight: 900; letter-spacing: -0.045em; }
h2 { font-size: clamp(2.4rem, 5.8vw, 5rem); line-height: 0.96; }
h3, h4 { font-weight: 800; letter-spacing: -0.025em; }
.section-head h2 { max-width: 18ch; }
.lead { font-weight: 500; }

/* Startseiten-Hero: Versalien, sehr groß, maximale Stärke */
.hero h1, .hx h1 {
  font-size: var(--hero-title-size);
  font-weight: 1000;
  text-transform: uppercase;
  letter-spacing: -0.055em;
  line-height: 0.84;
  font-variation-settings: "opsz" 40;
}
.hx h1 .accent { display: block; margin-top: 0.04em; }
.hx .hero-sub { font-size: clamp(1.2rem, 1.8vw, 1.5rem); font-weight: 500; margin-top: 2rem; }
.hx-pick-q { font-weight: 800; }
.hx-tabs button, .hx-link { font-weight: 800; }
.hx-chip b { font-weight: 900; }

/* Einstiege der Unterseiten: gleiche Wucht */
main > section:first-child:not(.hx) h1 {
  text-transform: uppercase;
  font-size: clamp(2.5rem, 6.2vw, 5.6rem);
  hyphens: manual;
  font-weight: 1000;
  letter-spacing: -0.05em;
  line-height: 0.93;
}
.legal h1 { font-weight: 900; letter-spacing: -0.045em; font-size: clamp(2rem, 8.6vw, 3.6rem); overflow-wrap: break-word; hyphens: auto; }

/* Kleinere Texte mit mehr Gewicht */
.btn { font-weight: 800; }
.mobile-nav li a { font-weight: 700; }
.nav a { font-weight: 600; }
.logo-word { font-weight: 900; letter-spacing: -0.035em; }
.facts strong { font-weight: 900; }
.core-line { font-weight: 900 !important; letter-spacing: -0.045em; }
.service-group > h3 { font-weight: 900; }
.faq summary, .news-title { font-weight: 800; }
.footer-claim { font-weight: 900; letter-spacing: -0.04em; }
.contact-ways a, .contact-ways .value { font-weight: 800; }

@media (max-width: 899px) {
  .hero h1, .hx h1 { letter-spacing: -0.045em; }
}
@media (max-width: 719px) {
  :root { --hero-title-size: clamp(3.4rem, 20vw, 5.6rem); }
}

/* Kopfzeile: schwerere Schrift braucht etwas weniger Abstand, damit alles in die Zeile passt */
@media (min-width: 1100px) { .nav ul { gap: 1rem; } .nav a { font-size: 0.95rem; } }
.header-actions .btn { font-weight: 700; }

/* Schmale Handys: Spalten dürfen schrumpfen, Reiter etwas kleiner */
.hx-grid > * { min-width: 0; }
@media (max-width: 380px) { .hx-tabs button { font-size: 0.8rem; } }
