/* Shared typography: loaded after page styles. No external font requests. */
:root {
  --default-font: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif;
  --heading-font: var(--default-font);
  --nav-font: var(--default-font);
}
body { font-family: var(--default-font); font-size: 1rem; line-height: 1.65; }
h1, h2, h3, h4, h5, h6 { font-family: var(--heading-font); font-weight: 700; letter-spacing: -0.02em; overflow-wrap: break-word; }
main h1, .content-page .page-intro h1, .calculator-header h1 { font-size: clamp(2rem, 1.5rem + 2vw, 3rem); line-height: 1.15; text-wrap: balance; }
.index-page .hero .info h1 { font-size: clamp(2rem, 1.5rem + 2.5vw, 3.25rem); line-height: 1.15; text-wrap: balance; }
main h2, .content-page main h2, .section-title h2 { font-size: clamp(1.625rem, 1.25rem + 1.5vw, 2.25rem); line-height: 1.25; text-wrap: balance; }
main h3, .content-page .content-card h3 { font-size: clamp(1.25rem, 1.1rem + .5vw, 1.5rem); line-height: 1.3; }
main h4 { font-size: 1.125rem; line-height: 1.4; }
main p, main li, .content-page main p, .content-page main li { line-height: 1.65; }
.index-page .hero .info p, .content-page .page-intro p, .calculator-header p, .content-page .lead-copy { font-size: 1.0625rem; line-height: 1.65; }
.header .logo h1, .header .logo .sitename { font-size: 1.875rem; line-height: 1.2; letter-spacing: -.03em; }
.navmenu a, .navmenu a:focus, .navmenu .nav-group-toggle { font-family: var(--nav-font); font-size: .9375rem; font-weight: 600; letter-spacing: 0; text-transform: none; }
.navmenu .nav-submenu a { font-size: .9375rem; }
button, input, select, textarea, .btn { font-family: var(--default-font); }
input, select, textarea, .form-control, .form-select { font-size: 1rem; }
.btn, .content-page .btn-rent, .hero .info .btn-get-started { font-size: 1rem; font-weight: 600; line-height: 1.4; letter-spacing: 0; }
.footer { font-size: .9375rem; line-height: 1.65; }
.footer .footer-heading, .footer h3, .footer h4 { font-family: var(--heading-font); font-size: 1.125rem; line-height: 1.4; font-weight: 700; letter-spacing: 0; }
.footer .footer-about .logo .sitename { font-size: 1.75rem; }
.footer .copyright { font-size: .875rem; }
#einsatzgebiet .coverage-map figcaption { font-family: var(--default-font); font-size: .875rem; line-height: 1.5; }
@media (max-width: 1199px) {
  .navmenu a, .navmenu a:focus, .navmenu .nav-group-toggle, .navmenu .nav-submenu a { font-size: 1rem; line-height: 1.5; }
}
@media (max-width: 575.98px) {
  .header .logo h1, .header .logo .sitename { font-size: 1.625rem; }
  .index-page .hero .info p, .content-page .page-intro p, .calculator-header p { font-size: 1rem; }
}
