/**
 * Responsive Scale — уменьшение визуальных размеров на ~10–20% для десктопных экранов
 *
 * Два промежуточных брейкпоинта между планшетом (≤1024px) и полным десктопом (1600px+):
 *   - ≤1440px: уменьшение ~10%
 *   - ≤1280px: уменьшение ~20%
 *
 * Мобильная и планшетная версии (≤1024px) не затрагиваются.
 * Полный десктоп (>1440px) не затрагивается.
 *
 * @since 2026-02-17
 */

/* ==========================================================================
   Tier 1: Small Desktop / Large Laptop — ~10% reduction
   Экраны 1025–1440px (ноутбуки 15", внешние мониторы с масштабированием)
   ========================================================================== */

@media screen and (min-width: 1025px) and (max-width: 1440px) {
  /* --- Typography variables --- */
  :root {
    --font-size-title-hero: 65px; /* 72 × 0.9 ≈ 65 */
    --font-size-title-x-large: 50px; /* 56 × 0.9 ≈ 50 */
    --font-size-title-large: 38px; /* 42 × 0.9 ≈ 38 */
    --font-size-title-medium: 25px; /* 28 × 0.9 ≈ 25 */
    --font-size-title-small: 20px; /* 22 × 0.9 ≈ 20 */
    --font-size-body-primary: 19px; /* 21 × 0.9 ≈ 19 */
    --font-size-body-secondary: 15px; /* 17 × 0.9 ≈ 15 */
    --font-size-body-tertiary: 13px; /* 14 × 0.9 ≈ 13 */
    --font-size-body-small: 11px; /* 12 × 0.9 ≈ 11 */

    /* --- Offsets --- */
    --offset-container: 28px; /* 32 × 0.9 ≈ 28 */
    --offset-paragraph-primary: 10px; /* 12 × 0.9 ≈ 10 */
  }

  /* --- Header --- */
  header {
    --header-height: 84px; /* 96 × 0.88 ≈ 84 */
    top: 24px; /* 32 → 24 */
  }

  .nav .nav__logo-container {
    flex: 0 0 144px; /* 160 × 0.9 = 144 */
  }

  .nav .nav__cta .nav__cta-arrow {
    width: 32px; /* 36 × 0.9 ≈ 32 */
    height: 32px;
    border-radius: 16px;
  }

  .nav .nav__menu-item {
    margin: 0 22px 3px 0; /* 28 × 0.8 ≈ 22 */
  }

  .nav .nav__phone {
    margin: 0 20px 3px 0; /* 24 → 20 */
  }

  /* --- Buttons --- */
  .button--accent {
    height: 56px; /* 64 × 0.88 ≈ 56 */
    padding: 0 16px 0 24px; /* уменьшаем padding */
    gap: 14px; /* 16 → 14 */
  }

  .button--accent::after {
    width: 24px; /* 28 × 0.88 ≈ 24 */
    height: 24px;
    border-radius: 12px;
  }

  .button {
    padding: 14px 24px 16px; /* 18/28/20 → 14/24/16 */
  }

  /* --- Containers --- */
  .container--wide {
    max-width: 1400px; /* 1600 → 1400 */
  }

  .container--dense {
    max-width: 1140px; /* 1260 → 1140 */
  }

  /* --- Sections --- */
  section.section--top {
    padding-top: 220px; /* 256 × 0.86 ≈ 220 */
  }

  section.section--offset-top {
    margin-top: 88px; /* 104 × 0.85 ≈ 88 */
  }

  section.section--offset-bottom {
    margin-bottom: 156px; /* 180 × 0.87 ≈ 156 */
  }

  section.surface {
    padding: 80px 0 88px 0; /* 96/104 × 0.85 ≈ 80/88 */
  }

  .section-heading {
    margin-bottom: 48px; /* 56 × 0.86 ≈ 48 */
  }

  /* --- Hero --- */
  .hero .hero__container {
    margin-bottom: 120px; /* 140 × 0.86 ≈ 120 */
  }

  .hero .hero__content p {
    margin-bottom: 32px; /* 40 → 32 */
  }

  /* --- Inner page hero --- */
  .inner-page .inner-page__hero {
    padding-bottom: 130px; /* 160 × 0.81 ≈ 130 */
  }

  .inner-page .inner-page__hero__container {
    max-width: 720px; /* 800 × 0.9 = 720 */
  }

  /* --- Services header --- */
  .services .services__header {
    padding: 156px 0 28px; /* 180 × 0.87 ≈ 156 */
  }

  /* --- Subscribe / CTA --- */
  .subscribe {
    padding-bottom: 100px; /* 120 → 100 */
    margin-bottom: 64px; /* 80 → 64 */
  }

  .subscribe .subscribe__title {
    max-width: 720px; /* 800 → 720 */
  }

  /* --- Footer --- */
  .footer {
    padding: 56px 0 28px 0; /* 64/32 → 56/28 */
  }

  .footer .footer__container {
    gap: 56px; /* 64 → 56 */
  }

  .footer .footer__copyright {
    margin-top: 28px; /* 32 → 28 */
  }

  /* --- FAQ --- */
  .faq-list__item::after {
    width: 48px; /* 56 → 48 */
    height: 48px;
  }

  /* --- Factoids --- */
  .factoids .factoids__item-label,
  .factoids .factoids__item-value {
    font-size: 32px; /* 36 × 0.9 ≈ 32 */
  }

  .factoids-grid .factoids-grid__section-header {
    max-width: 900px; /* 1000 → 900 */
    margin-bottom: 64px; /* 80 → 64 */
  }

  /* --- Cases slider --- */
  .cases-slider .cases-slider__item-content {
    top: 20px; /* 24 → 20 */
    left: 20px;
    max-width: 260px; /* 300 → 260 */
  }

  /* --- Cards grid --- */
  .cards-grid .card__content {
    padding: 20px; /* assumed 24 → 20 */
  }

  /* --- Staff / Team slider --- */
  .staff-list .swiper-slide {
    margin-right: 24px; /* 32 → 24 */
  }

  /* --- Article list slider --- */
  .article-list .swiper-slide {
    margin-right: 24px; /* 32 → 24 */
  }

  /* --- Tech hero --- */
  .tech__hero .tech__hero-content {
    max-width: 540px; /* 600 → 540 */
  }

  .tech__hero .tech__hero-video {
    max-width: 800px; /* 900 → 800 */
  }

  /* --- Steps table --- */
  .steps-table .steps-table__row {
    padding: 32px 0; /* 40 → 32 */
    column-gap: 32px; /* 40 → 32 */
  }

  /* --- Brands --- */
  .brands .brands-slider .swiper-slide {
    width: 18%; /* 20% → 18% */
  }
}

/* ==========================================================================
   Tier 2: Compact Desktop — ~20% reduction
   Экраны 1025–1280px (ноутбуки 13–14", маленькие внешние мониторы)
   ========================================================================== */

@media screen and (min-width: 1025px) and (max-width: 1280px) {
  /* --- Typography variables --- */
  :root {
    --font-size-title-hero: 58px; /* 72 × 0.8 ≈ 58 */
    --font-size-title-x-large: 45px; /* 56 × 0.8 ≈ 45 */
    --font-size-title-large: 34px; /* 42 × 0.8 ≈ 34 */
    --font-size-title-medium: 22px; /* 28 × 0.8 ≈ 22 */
    --font-size-title-small: 18px; /* 22 × 0.8 ≈ 18 */
    --font-size-body-primary: 17px; /* 21 × 0.8 ≈ 17 */
    --font-size-body-secondary: 14px; /* 17 × 0.8 ≈ 14 */
    --font-size-body-tertiary: 12px; /* 14 × 0.85 ≈ 12 */
    --font-size-body-small: 11px; /* 12 → 11 */

    /* --- Offsets --- */
    --offset-container: 24px; /* 32 × 0.75 = 24 */
    --offset-paragraph-primary: 8px; /* 12 → 8 */
  }

  /* --- Header --- */
  header {
    --header-height: 76px; /* 96 × 0.8 ≈ 76 */
    top: 16px; /* 32 → 16 */
  }

  .nav .nav__logo-container {
    flex: 0 0 128px; /* 160 × 0.8 = 128 */
  }

  .nav .nav__cta .nav__cta-arrow {
    width: 28px; /* 36 × 0.8 ≈ 28 */
    height: 28px;
    border-radius: 14px;
  }

  .nav .nav__menu-item {
    margin: 0 18px 3px 0; /* 28 × 0.65 ≈ 18 */
  }

  .nav .nav__phone {
    margin: 0 16px 3px 0; /* 24 → 16 */
  }

  .nav .nav__container {
    border-radius: 42px; /* 50 → 42 */
  }

  /* --- Buttons --- */
  .button--accent {
    height: 52px; /* 64 × 0.81 ≈ 52 */
    padding: 0 14px 0 20px;
    gap: 12px;
  }

  .button--accent::after {
    width: 22px; /* 28 × 0.8 ≈ 22 */
    height: 22px;
    border-radius: 11px;
  }

  .button {
    padding: 12px 22px 14px;
  }

  /* --- Containers --- */
  .container--wide {
    max-width: 1200px; /* 1600 → 1200 */
  }

  .container--dense {
    max-width: 1060px; /* 1260 → 1060 */
  }

  /* --- Sections --- */
  section.section--top {
    padding-top: 192px; /* 256 × 0.75 = 192 */
  }

  section.section--offset-top {
    margin-top: 80px; /* 104 × 0.77 ≈ 80 */
  }

  section.section--offset-bottom {
    margin-bottom: 140px; /* 180 × 0.78 ≈ 140 */
  }

  section.surface {
    padding: 72px 0 80px 0; /* 96/104 × 0.75 ≈ 72/80 */
  }

  .section-heading {
    margin-bottom: 40px; /* 56 × 0.71 ≈ 40 */
  }

  /* --- Hero --- */
  .hero .hero__container {
    margin-bottom: 100px; /* 140 × 0.71 ≈ 100 */
  }

  .hero .hero__content p {
    margin-bottom: 28px; /* 40 → 28 */
  }

  /* --- Inner page hero --- */
  .inner-page .inner-page__hero {
    padding-bottom: 110px; /* 160 × 0.69 ≈ 110 */
  }

  .inner-page .inner-page__hero__container {
    max-width: 640px; /* 800 × 0.8 = 640 */
  }

  /* --- Services header --- */
  .services .services__header {
    padding: 140px 0 24px; /* 180 → 140 */
  }

  /* --- Subscribe / CTA --- */
  .subscribe {
    padding-bottom: 88px; /* 120 → 88 */
    margin-bottom: 56px; /* 80 → 56 */
  }

  .subscribe .subscribe__title {
    max-width: 640px; /* 800 → 640 */
  }

  /* --- Footer --- */
  .footer {
    padding: 48px 0 24px 0; /* 64/32 → 48/24 */
  }

  .footer .footer__container {
    gap: 48px; /* 64 → 48 */
  }

  .footer .footer__nav-list li {
    margin-bottom: 10px; /* 12 → 10 */
  }

  .footer .footer__copyright {
    margin-top: 24px; /* 32 → 24 */
  }

  /* --- FAQ --- */
  .faq-list__item::after {
    width: 44px; /* 56 → 44 */
    height: 44px;
  }

  /* --- Factoids --- */
  .factoids .factoids__item-label,
  .factoids .factoids__item-value {
    font-size: 28px; /* 36 × 0.8 ≈ 28 */
  }

  .factoids-grid .factoids-grid__section-header {
    max-width: 800px; /* 1000 → 800 */
    margin-bottom: 56px; /* 80 → 56 */
  }

  /* --- Cases slider --- */
  .cases-slider .cases-slider__item-content {
    top: 16px; /* 24 → 16 */
    left: 16px;
    max-width: 240px; /* 300 → 240 */
  }

  /* --- Staff / Team slider --- */
  .staff-list .swiper-slide {
    margin-right: 20px; /* 32 → 20 */
  }

  /* --- Article list slider --- */
  .article-list .swiper-slide {
    margin-right: 20px; /* 32 → 20 */
  }

  /* --- Tech hero --- */
  .tech__hero .tech__hero-content {
    max-width: 480px; /* 600 → 480 */
  }

  .tech__hero .tech__hero-video {
    max-width: 720px; /* 900 → 720 */
  }

  /* --- Steps table --- */
  .steps-table .steps-table__row {
    padding: 28px 0; /* 40 → 28 */
    column-gap: 28px; /* 40 → 28 */
  }

  /* --- Brands --- */
  .brands .brands-slider .swiper-slide {
    width: 16%; /* 20% → 16% */
  }

  /* --- Corner radius — slightly tighter --- */
  :root {
    --corner-radius-primary: 32px; /* 40 → 32 */
    --corner-radius-secondary: 20px; /* 24 → 20 */
  }
}
