@font-face {
  font-family: "Barlow Condensed";
  src: url("/assets/fonts/barlow-condensed-600.woff2") format("woff2");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}

/*
 * Einheitliche Lesestufe für alle STRICKER.FIT-Seiten.
 * Die schwere Display-Schrift bleibt Teil der Marke, wird im redaktionellen
 * Inhalt aber mit mehr Luft und einer leichteren Stufe gesetzt.
 */
html body h1,
html body h2,
html body h3,
html body h4 {
  max-width: 100%;
  font-weight: 600 !important;
  font-kerning: normal;
  font-variant-ligatures: none;
  line-height: 1 !important;
  letter-spacing: .008em !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  -webkit-hyphens: none !important;
  hyphens: none !important;
}

:where(
  .statement__big,
  .manifesto__track,
  .article-layout > aside p,
  .article-pager strong,
  .offers-menu__item strong,
  .pdf-card__body strong,
  .benefit-tile b,
  .foundation-tile b,
  .overdeliver__trust strong,
  .principle-strip b,
  .route-caption strong,
  .search-shell > label,
  .honor-seal strong
) {
  font-weight: 600 !important;
  font-kerning: normal;
  font-variant-ligatures: none;
  line-height: 1.04 !important;
  letter-spacing: .008em !important;
}

body :where(strong, b),
main :where(.source-standard, .sequence-placeholder, .radar-board, .myth-grid) > :where(strong, b) {
  font-weight: 600 !important;
  letter-spacing: .005em !important;
}

main :where(a, button, label, legend, summary, time, small, footer),
main span:not(.brand):not(.brand *) {
  font-weight: 700 !important;
}

/* Auch UI-Texte ausserhalb von <main> bleiben deutlich, aber nicht blockig. */
body :where(button, label, legend, summary, time, small) {
  font-weight: 700 !important;
}

body span:not(.brand):not(.brand *),
:where(
  .preview-bar,
  .concept-bar,
  .admin-kicker,
  .client-compass-note,
  .lab-preview-note,
  .home-lab__preview p
) {
  font-weight: 700 !important;
}

body :where(h1, h2, h3, h4) :where(span, strong, b) {
  font-weight: 600 !important;
}

:where(.eyebrow, .btn, .button, summary, .clarity__choice-label, .nav-links, .main-nav button) {
  font-weight: 700 !important;
}

.eyebrow {
  line-height: 1.35 !important;
  letter-spacing: .13em !important;
}

:where(.btn, .button, summary, .clarity__choice-label) {
  letter-spacing: .015em !important;
}

/* Markenname und rein dekorative Zahlen dürfen bewusst kräftig bleiben. */
.brand,
.brand > span,
:where(.method-number, .autonomy__number, .pareto__number, .route-word, .corner-number) {
  font-weight: 900 !important;
}

.site-footer h3 {
  font-family: var(--body, "Helvetica Neue", Helvetica, Arial, sans-serif) !important;
  font-size: 12px;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: .13em !important;
}

/* Die interne Cockpit-Vorschau hat einen besonders langen Zweizeiler. */
.screen-heading h1 {
  font-size: clamp(52px, 5.4vw, 86px) !important;
  line-height: .9 !important;
}

.gift-hero__grid > *,
.lab-boundary > *,
.system-grid > * {
  min-width: 0;
}

.system-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.topic-hero {
  overflow: hidden;
}

@media (max-width: 700px) {
  html body h1,
  html body h2,
  html body h3,
  html body h4 {
    line-height: 1.02 !important;
    letter-spacing: .01em !important;
  }

  .screen-heading h1 {
    font-size: clamp(44px, 12vw, 55px) !important;
  }

  .page-index {
    max-width: 100vw;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
  }

  .page-index__inner {
    width: max-content !important;
    min-width: 100% !important;
    margin-inline: 0 !important;
  }

  .lab-boundary h2 {
    font-size: 40px !important;
  }

  .admin-note h2 {
    font-size: 44px !important;
    -webkit-hyphens: manual !important;
    hyphens: manual !important;
  }
}
