@font-face {
  font-family: "Source Sans 3";
  src: url("/fonts/source-sans-3/SourceSans3VF-Upright.ttf.woff2") format("woff2");
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
}

body {
  font-family: "Source Sans 3", "Trebuchet MS", "Segoe UI", sans-serif;
}

/* Nur am PC kompakter; Tablet- und Handy-Größen bleiben erhalten. */
@media (min-width: 1181px) {
  :root {
    --max: 1240px;
  }

  .header-inner {
    min-height: 74px;
  }

  .brand-mark {
    width: 44px;
    height: 44px;
  }

  .brand-name {
    font-size: 1.32rem;
  }

  .main-nav {
    gap: 20px;
    font-size: 0.94rem;
    font-weight: 700;
  }

  .main-nav .login-link {
    min-height: 44px;
    padding: 0 19px;
  }

  .breadcrumb {
    padding-top: 20px;
  }

  .topic-hero {
    padding: 52px 0 58px;
  }

  .hero-grid {
    grid-template-columns: minmax(0, 540px) minmax(0, 1fr);
    gap: 52px;
  }

  .eyebrow {
    margin-bottom: 14px;
    font-size: 0.8rem;
  }

  .topic-hero h1 {
    max-width: 600px;
    margin-bottom: 18px;
    font-size: 3.35rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.025em;
  }

  .topic-hero .hero-lead {
    max-width: 560px;
    margin-bottom: 24px;
    font-size: 1.1rem;
    line-height: 1.58;
  }

  .hero-actions {
    gap: 10px;
  }

  .button {
    min-height: 50px;
    padding: 0 20px;
    font-size: 0.94rem;
    font-weight: 700;
  }

  .hero-panel {
    padding: 26px;
  }

  .hero-symbol {
    width: 68px;
    height: 68px;
    margin-bottom: 22px;
    font-size: 1.45rem;
  }

  .hero-panel h2 {
    font-size: 1.35rem;
    font-weight: 700;
  }

  .topic-section {
    padding: 64px 0;
  }

  .section-head {
    margin-bottom: 28px;
  }

  .section-head h2,
  .text-panel h2,
  .crosslinks h2 {
    font-size: 2.7rem;
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -0.025em;
  }

  .feature-card {
    min-height: 205px;
    padding: 23px;
  }

  .feature-icon {
    margin-bottom: 24px;
  }

  .crosslinks {
    padding: 54px 0 64px;
  }
}
