/* =========================================================================
   Antologic — centralna skala typograficzna (type scale)
   Ładowany PO /css/main.css, więc wygrywa kaskadą.

   Jedno źródło prawdy dla rozmiarów fontów w całym serwisie.
   Płynne clamp() (rem + vw) zastępuje skokowe breakpointy motywu (768/992/
   1200/1630px) i likwiduje artefakty (49.5 / 107.5px). Wartości min = ekran
   mobilny, max = docelowy desktop.

   Role:
   --fs-display  Hero H1 .................. 40 → 80px
   --fs-h2       Nagłówek sekcji .......... 32 → 44px
   --fs-h3       Tytuł karty / podsekcja .. 22 → 24px
   --fs-lead     Lead / wyróżniony akapit . 18 → 22px
   --fs-body     Tekst podstawowy ......... 16 → 18px
   --fs-small    Caption / drobny tekst ... 14px
   --fs-eyebrow  Etykieta / eyebrow ....... 12px
   --fs-stat     Liczby statystyk ......... 36 → 40px
   ========================================================================= */

:root {
  --fs-display: clamp(2.5rem, 1.25rem + 4.17vw, 5rem);
  --fs-h2:      clamp(2rem, 1.625rem + 1.25vw, 2.75rem);
  --fs-h3:      clamp(1.375rem, 1.3125rem + 0.21vw, 1.5rem);
  --fs-lead:    clamp(1.25rem, 1.125rem + 0.42vw, 1.5rem);
  --fs-hero-sub: clamp(1.125rem, 0.4375rem + 2.29vw, 2.5rem); /* hero subtitle 18→40px */
  --fs-body:    clamp(1.125rem, 1.0625rem + 0.21vw, 1.25rem);
  --fs-small:   0.875rem;
  --fs-eyebrow: 0.75rem;
  --fs-stat:    clamp(2.25rem, 2.125rem + 0.42vw, 2.5rem);

  /* line-height */
  --lh-tight:  1.1;
  --lh-snug:   1.25;
  --lh-normal: 1.55;
}

/* -------------------------------------------------------------------------
   Bazowy rozmiar tekstu — wcześniej nieustawiony (akapity v2 dziedziczyły
   domyślne ~16px przeglądarki). Bez !important: klasy jawne (.hm-lead itd.)
   nadal wygrywają, a nieklasowane <p> dostają spójny --fs-body.
   ------------------------------------------------------------------------- */
body { font-size: var(--fs-body); line-height: var(--lh-normal); }

/* -------------------------------------------------------------------------
   Klasy semantyczne (do nowego markupu / migracji v2)
   ------------------------------------------------------------------------- */
.t-display { font-size: var(--fs-display); line-height: var(--lh-tight); font-weight: 500; }
.t-h2      { font-size: var(--fs-h2); line-height: var(--lh-tight); font-weight: 700; }
.t-h3      { font-size: var(--fs-h3); line-height: var(--lh-snug); font-weight: 700; }
.t-lead    { font-size: var(--fs-lead); line-height: 1.4; font-weight: 600; }
.t-body    { font-size: var(--fs-body); line-height: var(--lh-normal); }
.t-small   { font-size: var(--fs-small); line-height: 1.3; }
.t-eyebrow { font-size: var(--fs-eyebrow); text-transform: uppercase; letter-spacing: 0.05em; }
.t-stat    { font-size: var(--fs-stat); line-height: 1; font-weight: 700; }

/* Nagłówek sekcji z czerwonym paskiem — wspólny dla v2 (.hm-h2) i nowego (.t-h2--bar) */
.hm-h2,
.t-h2--bar {
  font-size: var(--fs-h2);
  font-weight: 700;
  line-height: var(--lh-tight);
  margin: 0 0 44px;
  position: relative;
  padding-top: 24px;
  max-width: 760px;
}
.hm-h2::before,
.t-h2--bar::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 54px;
  height: 4px;
  background: #ed1a2a;
}

/* -------------------------------------------------------------------------
   Wyrównanie klas motywu (legacy main.css) do skali.
   !important — selektory w main.css są kwalifikowane wrapperem strony
   (.home-page / .page-* → specyficzność 0,2,0–0,3,0) i mają wiele wariantów
   na breakpointach; nadpisujemy tylko font-size, resztę (waga, line-height,
   padding) zostawiamy z motywu. clamp() obsługuje responsywność.
   ------------------------------------------------------------------------- */

/* Hero H1 */
.banner__title { font-size: var(--fs-display) !important; }

/* Lead / subtitle hero i sekcji */
.banner__subtitle,
.why__subtitle { font-size: var(--fs-lead) !important; }

/* Hero subtitle na homepage — wyróżniony, jak w oryginale (18→40px).
   Wyższa specyficzność (0,2,0) + !important wygrywa z regułą wyżej. */
.home-page .banner__subtitle { font-size: var(--fs-hero-sub) !important; }

/* Nagłówki sekcji */
.section_title,
.section-cases__title,
.section-blog__title,
.section-work__title,
.why__title,
.article__title,
.offer__title { font-size: var(--fs-h2) !important; }

/* Tytuły kart / boxów */
.blog-box__title,
.case-box__title,
.offer-box__title { font-size: var(--fs-h3) !important; }

/* Tekst podstawowy / treść */
.blog-box__text,
.case-box__text,
.article__content,
.offer-box__text { font-size: var(--fs-body) !important; }

/* Drobny tekst / stopka */
.footer-box__address { font-size: var(--fs-small) !important; }
.footer-box__nav { font-size: var(--fs-eyebrow) !important; }

/* -------------------------------------------------------------------------
   Akapity body copy w sekcjach legacy (motyw ramuje je do 14→16→22px).
   Sprowadzamy do --fs-body, żeby tekst do czytania był spójny ze stronami v2.
   ------------------------------------------------------------------------- */
.page-offer .offer-section .offer-content p,
.page-offer .banner__text p,
.page-case .case-section .case-content p,
.page-post .article p,
.page-post .case-section .case-content p,
.page-career .offers .job-box .job-content p,
.page-career .offers .job-box .job-header__title p { font-size: var(--fs-body) !important; }

/* Pull-quote w artykułach zostaje wyróżniony (lead) */
.page-post .article blockquote p { font-size: var(--fs-lead) !important; }
