/* ================================================================
   WEB-LABS / TYPOGRAPHY v1.0.3
   Единая уменьшенная шкала заголовков для всего корпоративного сайта.
   Изменяются только размеры/межстрочный интервал заголовков.
   ================================================================ */
:root {
  --wl-type-h1: clamp(36px, 3.7vw, 58px);
  --wl-type-h2: clamp(28px, 2.9vw, 44px);
  --wl-type-h3: clamp(20px, 1.7vw, 26px);
}

/* Главная, блог, статьи, стандартные и сервисные страницы */
main h1 {
  font-size: var(--wl-type-h1);
  line-height: 1.10;
  letter-spacing: -.04em;
  overflow-wrap: break-word;
}
.wl-hero__title,
.wl-blog-archive__head h1,
.wl-standard-page__hero h1,
.wl-service-hero h1,
.wl-service-hero--cctv .wl-service-hero__content h1,
.wl-training-hero__content h1,
.wl-contact-hero__content h1 {
  font-size: var(--wl-type-h1);
  line-height: 1.10;
  letter-spacing: -.04em;
}
.wl-article-hero h1 {
  font-size: clamp(34px, 3.45vw, 54px);
  line-height: 1.11;
  letter-spacing: -.04em;
}
/* Старые мобильные правила для сервисных H1 содержат !important. */
.wl-service-hero h1 {
  font-size: var(--wl-type-h1) !important;
  line-height: 1.10 !important;
}
.wl-service-hero--awareness .wl-service-hero__content h1 > span {
  font-size: inherit !important;
  line-height: inherit;
}

/* H2: обычные крупные разделы, включая контакты, обучение и футер */
main h2,
.wl-home-about__title,
.wl-placeholder h2,
.wl-section-head h2,
.wl-system__content h2,
.wl-cyber__head h2,
.wl-education__head h2,
.wl-why__head h2,
.wl-cases__head h2,
.wl-blog__head h2,
.wl-related__head h2,
.wl-service-section-head h2,
.wl-service-intro h2,
.wl-service-tasks h2,
.wl-service-business h2,
.wl-service-contact h2,
.wl-security-human__content h2,
.wl-attack-chain__head h2,
.wl-cctv-coverage__content h2,
.wl-cctv-access__content h2,
.wl-decision__content h2,
.wl-audit-path__content h2,
.wl-infra-access__content h2,
.wl-dev-integration__content h2,
.wl-web-responsive__content h2,
.wl-web-seo__head h2,
.wl-web-support h2,
.wl-phishing-lab__content h2,
.wl-awareness-course__content h2,
.wl-awareness-culture h2,
.wl-training-platform__content h2,
.wl-training-business h2,
.wl-training-future__content h2,
.wl-contact-map__head h2,
.wl-contact-form-section__intro h2,
.wlc-clients__header h2,
.wls-picker h2,
.wlr-reviews__heading h2,
.wl-footer-cta__content h2 {
  font-size: var(--wl-type-h2);
  line-height: 1.14;
  letter-spacing: -.035em;
}
/* Заголовки текста статьи меньше рекламных заголовков разделов. */
.wl-article-content h2 {
  font-size: clamp(27px, 2.45vw, 36px);
  line-height: 1.20;
}
/* Существующий мобильный H2 у CTA сервисных страниц был !important. */
.wl-service-contact h2 {
  font-size: var(--wl-type-h2) !important;
}

/* H3: крупные карточки/подразделы */
main h3,
.wl-service-card--featured h3,
.wl-services-about__content h3,
.wl-course__main h3,
.wl-principle h3,
.wl-case h3,
.wl-article-cyber-cta h3,
.wl-service-modes h3,
.wl-training-course__content h3,
.wl-training-course--development .wl-training-course__content h3,
.wls-panel h3,
.wlr-reviews__slide h3 {
  font-size: var(--wl-type-h3);
  line-height: 1.24;
  letter-spacing: -.025em;
}
/* Контентные H3 и небольшие карточки: компактнее. */
.wl-article-content h3 {
  font-size: clamp(20px, 1.65vw, 25px);
  line-height: 1.27;
}
.wl-service-card h3,
.wl-cyber-card h3,
.wl-blog-card h3,
.wl-service-feature h3,
.wl-audit-finding h3,
.wl-blog-archive .wl-blog-card h2,
.wl-category-archive .wl-blog-card h2 {
  font-size: clamp(19px, 1.35vw, 21px);
  line-height: 1.29;
}
/* Выделенная карточка сохраняет иерархию после общих правил карточек. */
.wl-service-card--featured h3 {
  font-size: var(--wl-type-h3);
}

/* Страница 404: номер остаётся акцентным, но не огромным. */
.wl-404 h1 {
  font-size: clamp(52px, 5vw, 72px);
  line-height: 1;
}

@media (max-width: 1000px) {
  :root {
    --wl-type-h1: clamp(36px, 5vw, 48px);
    --wl-type-h2: clamp(29px, 4vw, 38px);
    --wl-type-h3: clamp(20px, 2.8vw, 24px);
  }
}

@media (max-width: 700px) {
  :root {
    --wl-type-h1: clamp(34px, 9vw, 38px);
    --wl-type-h2: clamp(28px, 7.2vw, 32px);
    --wl-type-h3: clamp(20px, 5.3vw, 22px);
  }
  .wl-article-hero h1 {
    font-size: var(--wl-type-h1);
  }
  .wl-article-content h2 {
    font-size: clamp(26px, 6.8vw, 30px);
  }
  .wl-article-content h3 {
    font-size: clamp(20px, 5.4vw, 22px);
  }
  .wl-404 h1 {
    font-size: 54px;
  }
}
