/**
 * Главная: плавная адаптация между якорями 1440 / 1200 / 1024 / 768 / 375.
 * Якорные макеты — в component CSS; здесь только промежуточные диапазоны.
 * Формула: clamp(min@BP1, calc(min + Δ * (100vw - BP1) / (BP2 - BP1)), max@BP2)
 */

/* ============================================================
   ГЛОБАЛЬНЫЕ ТОКЕНЫ
   ============================================================ */

/* 1201–1439: между 1200 и 1440 */
@media (min-width: 1201px) and (max-width: 1439px) {
  :root {
    --container-padding: clamp(32px, calc(32px + (40 - 32) * (100vw - 1200px) / 240), 40px);
    --layout-inner-width: clamp(1128px, calc(1128px + (1360 - 1128) * (100vw - 1200px) / 240), 1360px);
    --section-title-size: clamp(42px, calc(42px + (50 - 42) * (100vw - 1200px) / 240), 50px);
    --section-pad-y: clamp(100px, calc(100px + (130 - 100) * (100vw - 1200px) / 240), 130px);
  }
}

/* 1025–1200: между 1024 и 1200 */
@media (min-width: 1025px) and (max-width: 1200px) {
  :root {
    --container-padding: clamp(32px, calc(32px + (40 - 32) * (100vw - 1024px) / 176), 40px);
    --layout-inner-width: clamp(944px, calc(944px + (1128 - 944) * (100vw - 1024px) / 176), 1128px);
    --section-title-size: clamp(40px, calc(40px + (50 - 40) * (100vw - 1024px) / 176), 50px);
    --section-pad-y: clamp(80px, calc(80px + (100 - 80) * (100vw - 1024px) / 176), 100px);
  }
}

/* 769–1024: между 768 и 1024 */
@media (min-width: 769px) and (max-width: 1024px) {
  :root {
    --container-padding: clamp(24px, calc(24px + (40 - 24) * (100vw - 768px) / 256), 40px);
    --layout-inner-width: clamp(688px, calc(688px + (944 - 688) * (100vw - 768px) / 256), 944px);
    --section-title-size: clamp(30px, calc(30px + (40 - 30) * (100vw - 768px) / 256), 40px);
    --section-pad-y: clamp(64px, calc(64px + (100 - 64) * (100vw - 768px) / 256), 100px);
  }
}

/* 376–687: между 375 и 768 (mobile-макет) */
@media (min-width: 376px) and (max-width: 687px) {
  :root {
    --container-padding: clamp(15px, calc(15px + (24 - 15) * (100vw - 375px) / 393), 24px);
    --section-title-size: clamp(24px, calc(24px + (30 - 24) * (100vw - 375px) / 393), 30px);
    --section-pad-y: 40px;
    --section-pad-diff: 80px;
  }
}

/* ============================================================
   HERO
   ============================================================ */

/* 1201–1439 */
@media (min-width: 1201px) and (max-width: 1439px) {
  .home-hero,
  .home-hero__content {
    height: clamp(667px, calc(667px + (800 - 667) * (100vw - 1200px) / 240), 800px);
  }

  .home-hero__title {
    top: clamp(208px, calc(208px + (249 - 208) * (100vw - 1200px) / 240), 249px);
    width: clamp(686px, calc(686px + (823 - 686) * (100vw - 1200px) / 240), 823px);
    font-size: clamp(42px, calc(42px + (50 - 42) * (100vw - 1200px) / 240), 50px);
  }

  .home-hero__lead {
    top: clamp(408px, calc(408px + (489 - 408) * (100vw - 1200px) / 240), 489px);
    width: clamp(409px, calc(409px + (491 - 409) * (100vw - 1200px) / 240), 491px);
    font-size: clamp(15px, calc(15px + (18 - 15) * (100vw - 1200px) / 240), 18px);
  }

  .home-hero__card {
    width: clamp(295px, calc(295px + (325 - 295) * (100vw - 1200px) / 240), 325px);
    height: clamp(258px, calc(258px + (310 - 258) * (100vw - 1200px) / 240), 310px);
    padding: clamp(17px, calc(17px + (20 - 17) * (100vw - 1200px) / 240), 20px);
  }

  .home-hero__card--webinar {
    top: clamp(100px, calc(100px + (120 - 100) * (100vw - 1200px) / 240), 120px);
  }

  .home-hero__card--demo {
    top: clamp(375px, calc(375px + (450 - 375) * (100vw - 1200px) / 240), 450px);
  }

  .home-hero__title {
    max-width: min(
      clamp(686px, calc(686px + (823 - 686) * (100vw - 1200px) / 240), 823px),
      calc(100% - var(--container-padding) * 2 - clamp(295px, calc(295px + (325 - 295) * (100vw - 1200px) / 240), 325px) - 32px)
    );
  }

  .home-hero__card {
    overflow: hidden;
  }

  .home-hero__card--webinar .home-hero__card-copy,
  .home-hero__card--webinar .home-hero__card-title,
  .home-hero__card--webinar .home-hero__card-text,
  .home-hero__card--demo .home-hero__card-title {
    width: 100%;
    max-width: 100%;
  }

  .home-hero__card--demo .home-hero__card-title {
    overflow-wrap: normal;
    word-break: normal;
    font-size: clamp(20px, calc(20px + (24 - 20) * (100vw - 1200px) / 240), 24px);
  }

  .home-hero__card--demo .home-hero__registry {
    width: 100%;
    max-width: 100%;
  }

  .home-hero__card--demo .home-hero__registry-text {
    width: auto;
    flex: 1;
    min-width: 0;
    max-width: none;
  }

  .home-hero__card-btn--demo {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }
}

/* 1024–1200: плавный hero от макета 1024 к 1200 */
@media (min-width: 1024px) and (max-width: 1200px) {
  .home-hero,
  .home-hero__content {
    height: clamp(667px, calc(667px + (667 - 667) * (100vw - 1024px) / 176), 667px);
  }

  .home-hero__content {
    max-width: clamp(1024px, calc(1024px + (1200 - 1024) * (100vw - 1024px) / 176), 1200px);
  }

  .home-hero__title {
    top: clamp(202px, calc(202px + (208 - 202) * (100vw - 1024px) / 176), 208px);
    width: clamp(684px, calc(684px + (686 - 684) * (100vw - 1024px) / 176), 686px);
    font-size: clamp(40px, calc(40px + (42 - 40) * (100vw - 1024px) / 176), 42px);
  }

  .home-hero__lead {
    top: clamp(398px, calc(398px + (408 - 398) * (100vw - 1024px) / 176), 408px);
    width: clamp(409px, calc(409px + (595 - 409) * (100vw - 1024px) / 176), 595px);
    font-size: clamp(15px, calc(15px + (18 - 15) * (100vw - 1024px) / 176), 18px);
  }

  .home-hero__card {
    width: clamp(301px, calc(301px + (100vw - 1024px) * 10 / 176), 311px);
    height: 280px;
  }

  .home-hero__card--webinar {
    top: clamp(64px, calc(64px + (100 - 64) * (100vw - 1024px) / 176), 100px);
  }

  .home-hero__card--demo {
    top: clamp(364px, calc(364px + (375 - 364) * (100vw - 1024px) / 176), 375px);
  }

  .home-hero__card--webinar .home-hero__card-copy,
  .home-hero__card--webinar .home-hero__card-title,
  .home-hero__card--webinar .home-hero__card-text,
  .home-hero__card--demo .home-hero__card-title {
    width: 100%;
    max-width: 100%;
    min-height: 0;
  }

  .home-hero__card--webinar .home-hero__card-title,
  .home-hero__card--demo .home-hero__card-title {
    white-space: normal;
  }

  .home-hero__card-btn--demo,
  .home-hero__card--demo .home-hero__card-btn {
    width: 251px;
    max-width: 251px;
    padding: 0 4px 0 30px;
  }
}

/* 769–1023: планшетный hero (макет 768), масштаб к 1024 */
@media (min-width: 769px) and (max-width: 1023px) {
  .home-hero {
    height: clamp(500px, calc(500px + (667 - 500) * (100vw - 768px) / 256), 667px);
    min-height: clamp(500px, calc(500px + (667 - 500) * (100vw - 768px) / 256), 667px);
  }

  .home-hero__content {
    max-width: clamp(688px, calc(688px + (1024 - 688) * (100vw - 768px) / 256), 1024px);
    height: clamp(500px, calc(500px + (667 - 500) * (100vw - 768px) / 256), 667px);
    min-height: clamp(500px, calc(500px + (667 - 500) * (100vw - 768px) / 256), 667px);
  }

  .home-hero__title {
    top: clamp(152px, calc(152px + (202 - 152) * (100vw - 768px) / 256), 202px);
    font-size: clamp(30px, calc(30px + (40 - 30) * (100vw - 768px) / 256), 40px);
    width: clamp(513px, calc(513px + (684 - 513) * (100vw - 768px) / 256), 684px);
  }

  .home-hero__lead {
    top: clamp(322px, calc(322px + (398 - 322) * (100vw - 768px) / 256), 398px);
    width: clamp(446px, calc(446px + (595 - 446) * (100vw - 768px) / 256), 595px);
    font-size: clamp(14px, calc(14px + (18 - 14) * (100vw - 768px) / 256), 18px);
  }

  .home-hero__card {
    width: clamp(226px, calc(226px + (301 - 226) * (100vw - 768px) / 256), 301px);
    height: clamp(210px, calc(210px + (280 - 210) * (100vw - 768px) / 256), 280px);
    padding: clamp(15px, calc(15px + (20 - 15) * (100vw - 768px) / 256), 20px);
  }

  .home-hero__card--webinar {
    top: clamp(48px, calc(48px + (64 - 48) * (100vw - 768px) / 256), 64px);
  }

  .home-hero__card--demo {
    top: clamp(273px, calc(273px + (364 - 273) * (100vw - 768px) / 256), 364px);
  }

  .home-hero__card--webinar .home-hero__card-title,
  .home-hero__card--demo .home-hero__card-title {
    font-size: clamp(15px, calc(15px + (20 - 15) * (100vw - 768px) / 256), 20px);
  }

  .home-hero__card--webinar .home-hero__card-text {
    font-size: clamp(11px, calc(11px + (14 - 11) * (100vw - 768px) / 256), 14px);
  }
}

/* 376–687: mobile hero — высота синего блока (текст/карточки — в home-hero.css) */
@media (min-width: 376px) and (max-width: 687px) {
  .home-hero__intro {
    height: clamp(580px, calc(580px + (710 - 580) * (100vw - 375px) / 312), 710px);
    min-height: clamp(580px, calc(580px + (710 - 580) * (100vw - 375px) / 312), 710px);
    max-height: clamp(580px, calc(580px + (710 - 580) * (100vw - 375px) / 312), 710px);
  }

  .home-hero__bg {
    height: clamp(580px, calc(580px + (710 - 580) * (100vw - 375px) / 312), 710px);
    max-height: clamp(580px, calc(580px + (710 - 580) * (100vw - 375px) / 312), 710px);
  }
}

/* ============================================================
   FEATURES
   ============================================================ */

/* 1201–1439: 4 колонки, масштаб к 1440 */
@media (min-width: 1201px) and (max-width: 1439px) {
  .home-features {
    padding-top: var(--section-pad-y);
    padding-bottom: clamp(100px, calc(100px + (120 - 100) * (100vw - 1200px) / 240), 120px);
  }

  .home-features__head {
    gap: clamp(48px, calc(48px + (88 - 48) * (100vw - 1200px) / 240), 88px);
    grid-template-columns: minmax(200px, 266px) minmax(0, 1fr);
  }

  .home-features__title {
    font-size: clamp(30px, calc(30px + (50 - 30) * (100vw - 1200px) / 240), 50px);
  }

  .home-features__title-lines--default {
    display: none !important;
  }

  .home-features__title-lines--1440 {
    display: block !important;
  }

  .home-features__title-line {
    display: block;
    white-space: nowrap;
  }

  .home-features__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(20px, calc(20px + (23 - 20) * (100vw - 1200px) / 240), 23px);
  }

  .home-feature-card {
    width: 100%;
    height: clamp(350px, calc(350px + (400 - 350) * (100vw - 1200px) / 240), 400px);
    padding: clamp(30px, calc(30px + (37 - 30) * (100vw - 1200px) / 240), 37px)
      clamp(25px, calc(25px + (30 - 25) * (100vw - 1200px) / 240), 30px)
      clamp(25px, calc(25px + (30 - 25) * (100vw - 1200px) / 240), 30px);
  }

  .home-feature-card__icon {
    width: clamp(120px, calc(120px + (133 - 120) * (100vw - 1200px) / 240), 133px);
    height: clamp(120px, calc(120px + (133 - 120) * (100vw - 1200px) / 240), 133px);
  }

  .home-feature-card__icon--wide {
    width: auto;
    height: clamp(120px, calc(120px + (133 - 120) * (100vw - 1200px) / 240), 133px);
  }

  .home-feature-card__title {
    font-size: clamp(22px, calc(22px + (24 - 22) * (100vw - 1200px) / 240), 24px);
  }

  .home-feature-card__desc {
    font-size: clamp(14px, calc(14px + (16 - 14) * (100vw - 1200px) / 240), 16px);
  }

  .home-feature-card {
    overflow: hidden;
  }

  .home-feature-card__content,
  .home-feature-card__title,
  .home-feature-card__desc {
    width: 100%;
    max-width: 100%;
  }
}

/* 1025–1199: плавный масштаб 1024 → 1200 (как на 1054) */
@media (min-width: 1025px) and (max-width: 1199px) {
  .home-features {
    padding-top: var(--section-pad-y);
  }

  .home-features__inner {
    width: var(--layout-inner-width);
  }

  .home-features__title {
    font-size: clamp(26px, calc(26px + (40 - 26) * (100vw - 1024px) / 176), 40px);
    max-width: 100%;
  }

  .home-features__title-lines--default {
    display: none !important;
  }

  .home-features__title-lines--1440 {
    display: block !important;
  }

  .home-features__title-line {
    display: block;
    white-space: nowrap;
  }

  .home-features__grid {
    gap: clamp(20px, calc(20px + (28 - 20) * (100vw - 1024px) / 176), 28px);
  }

  .home-features__grid .home-feature-card {
    max-width: clamp(462px, calc(462px + (550 - 462) * (100vw - 1024px) / 176), 550px);
    height: 350px;
  }

  .home-features__grid .home-feature-card__icon {
    top: clamp(48px, calc(48px + (52 - 48) * (100vw - 1024px) / 176), 52px);
    left: 50%;
    width: clamp(140px, calc(140px + (152 - 140) * (100vw - 1024px) / 176), 152px);
    height: clamp(140px, calc(140px + (152 - 140) * (100vw - 1024px) / 176), 152px);
    object-fit: contain;
    transform: translateX(-50%);
  }

  .home-features__grid .home-feature-card__icon--wide {
    width: auto;
    height: clamp(140px, calc(140px + (152 - 140) * (100vw - 1024px) / 176), 152px);
    transform: translateX(-50%);
  }
}

/* 769–943: только отступы секции (сетка — в home-features.css 688–943) */
@media (min-width: 769px) and (max-width: 943px) {
  .home-features {
    padding-top: var(--section-pad-y);
    padding-bottom: clamp(75px, calc(75px + (90 - 75) * (100vw - 768px) / 175), 90px);
  }
}

/* 944–1023: плавный переход 768 → 1024 (flex-карточки, без обрезания текста) */
@media (min-width: 944px) and (max-width: 1023px) {
  .home-features__inner {
    max-width: var(--layout-inner-width);
  }

  .home-features__grid {
    gap: clamp(15px, calc(15px + (20 - 15) * (100vw - 944px) / 79), 20px);
  }

  .home-features__grid .home-feature-card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    max-width: min(462px, 100%);
    height: auto;
    min-height: clamp(263px, calc(263px + (350 - 263) * (100vw - 944px) / 79), 350px);
    max-height: none;
    overflow: hidden;
    padding-top: clamp(44px, calc(44px + (52 - 44) * (100vw - 944px) / 79), 52px);
    padding-right: clamp(16px, calc(16px + (30 - 16) * (100vw - 944px) / 79), 30px);
    padding-bottom: clamp(20px, calc(20px + (30 - 20) * (100vw - 944px) / 79), 30px);
    padding-left: clamp(16px, calc(16px + (30 - 16) * (100vw - 944px) / 79), 30px);
    background-color: #f4f6f9;
  }

  .home-features__grid .home-feature-card__icon {
    position: static;
    top: auto;
    left: auto;
    flex: none;
    width: clamp(128px, calc(128px + (152 - 128) * (100vw - 944px) / 79), 152px);
    height: clamp(128px, calc(128px + (152 - 128) * (100vw - 944px) / 79), 152px);
    object-fit: contain;
    transform: none;
    margin: 0;
  }

  .home-features__grid .home-feature-card__icon--wide {
    width: auto;
    height: clamp(128px, calc(128px + (152 - 128) * (100vw - 944px) / 79), 152px);
    transform: none;
  }

  .home-features__grid .home-feature-card__content {
    position: static;
    top: auto;
    right: auto;
    left: auto;
    display: flex;
    flex-direction: column;
    align-self: stretch;
    width: 100%;
    min-width: 0;
    margin-top: clamp(14px, calc(14px + (34 - 14) * (100vw - 944px) / 79), 34px);
    flex: 1;
    justify-content: flex-end;
  }

  .home-feature-card__title {
    width: 100%;
    min-height: 0;
    font-size: clamp(18px, calc(18px + (24 - 18) * (100vw - 944px) / 79), 24px);
    line-height: 1.2;
  }

  .home-feature-card__desc {
    width: 100%;
    margin-top: clamp(10px, calc(10px + (15 - 10) * (100vw - 944px) / 79), 15px);
    font-size: clamp(12px, calc(12px + (16 - 12) * (100vw - 944px) / 79), 16px);
    line-height: 1.2;
  }

  .home-feature-card__lines--1440 {
    display: none;
  }

  .home-feature-card__fallback {
    display: inline;
  }
}

/* 376–687: отступы секции (сетка — в home-features.css) */
@media (min-width: 376px) and (max-width: 687px) {
  .home-features {
    padding-top: 40px;
    padding-bottom: 80px;
  }
}

/* ≤375: глобальные токены для узких экранов */
@media (max-width: 375px) {
  :root {
    --container-padding: max(12px, min(15px, 4vw));
    --section-title-size: clamp(20px, 6.4vw, 24px);
    --section-pad-y: 40px;
    --section-pad-diff: 80px;
  }
}

/* ============================================================
   INDUSTRIES
   ============================================================ */

/* 769–1200: плавный масштаб слайдера и заголовка */
@media (min-width: 769px) and (max-width: 1200px) {
  .home-industries {
    padding-top: 120px;
    padding-bottom: 120px;
    min-height: clamp(687px, calc(687px + (916 - 687) * (100vw - 768px) / 432), 916px);
  }

  .home-industries__inner {
    max-width: var(--layout-inner-width);
    min-height: clamp(507px, calc(507px + (676 - 507) * (100vw - 768px) / 432), 676px);
  }

  .home-industries__head {
    height: clamp(72px, calc(72px + (96 - 72) * (100vw - 768px) / 432), 96px);
    margin-bottom: clamp(30px, calc(30px + (40 - 30) * (100vw - 768px) / 432), 40px);
  }

  .home-industries__title {
    width: clamp(401px, calc(401px + (535 - 401) * (100vw - 768px) / 256), 535px);
    max-width: calc(100% - clamp(181px, calc(181px + (261 - 181) * (100vw - 768px) / 256), 261px));
    min-height: clamp(72px, calc(72px + (96 - 72) * (100vw - 768px) / 256), 96px);
    font-size: 40px;
    line-height: 1.2;
    letter-spacing: -0.03em;
  }

  .home-industries__btn {
    top: clamp(27px, calc(27px + (36 - 27) * (100vw - 768px) / 432), 36px);
    width: clamp(181px, calc(181px + (241 - 181) * (100vw - 768px) / 432), 241px);
    height: clamp(42px, calc(42px + (50 - 42) * (100vw - 768px) / 432), 50px);
  }

  .home-industries__slider {
    height: clamp(405px, calc(405px + (540 - 405) * (100vw - 768px) / 432), 540px);
    min-height: clamp(405px, calc(405px + (540 - 405) * (100vw - 768px) / 432), 540px);
  }

  .home-industries__nav {
    grid-template-columns: clamp(124px, calc(124px + (165 - 124) * (100vw - 768px) / 432), 165px) repeat(4, minmax(0, 1fr));
    column-gap: clamp(12px, calc(12px + (16 - 12) * (100vw - 768px) / 432), 16px);
    row-gap: clamp(16px, calc(16px + (22 - 16) * (100vw - 768px) / 432), 22px);
    padding: 0 clamp(15px, calc(15px + (20 - 15) * (100vw - 768px) / 432), 20px);
  }

  .home-industries__slide-title-wrap,
  .home-industries__segment--progress {
    width: clamp(124px, calc(124px + (165 - 124) * (100vw - 768px) / 432), 165px);
  }

  .home-industries__segments {
    grid-template-columns: clamp(124px, calc(124px + (165 - 124) * (100vw - 768px) / 432), 165px) repeat(4, minmax(0, 1fr));
    column-gap: clamp(12px, calc(12px + (16 - 12) * (100vw - 768px) / 432), 16px);
  }

  .home-industries__slide-title {
    font-size: clamp(22px, calc(22px + (30 - 22) * (100vw - 768px) / 432), 30px);
  }

  .home-industries__inactive-label {
    font-size: clamp(12px, calc(12px + (16 - 12) * (100vw - 768px) / 432), 16px);
  }
}

/* ============================================================
   COMMUNITY ECOSYSTEM
   ============================================================ */

/* 1025–1199: карточки 462px (якорь 1200) → плавно к 1024 */
@media (min-width: 1025px) and (max-width: 1199px) {
  .home-community-ecosystem {
    --community-card-width: clamp(462px, calc(462px + (462 - 462) * (100vw - 1024px) / 176), 462px);
    --community-card-height: 300px;
    --community-grid-gap: clamp(20px, calc(20px + (24 - 20) * (100vw - 1024px) / 176), 24px);
  }

  .home-community-ecosystem__title {
    font-size: var(--section-title-size);
    max-width: clamp(865px, calc(865px + (865 - 865) * (100vw - 1024px) / 176), 865px);
  }
}

/* 1201–1439: 4 колонки в ширину контента (не фикс. 325×4) */
@media (min-width: 1201px) and (max-width: 1439px) {
  .home-community-ecosystem {
    padding-top: clamp(100px, calc(100px + (120 - 100) * (100vw - 1200px) / 240), 120px);
  }

  .home-community-ecosystem__head {
    display: grid;
    grid-template-columns: minmax(180px, 266px) minmax(0, 1fr);
    align-items: flex-start;
    gap: clamp(40px, calc(40px + (111 - 40) * (100vw - 1200px) / 240), 111px);
    margin-bottom: clamp(48px, calc(48px + (62 - 48) * (100vw - 1200px) / 240), 62px);
  }

  .home-community-ecosystem__microheading {
    width: auto;
    min-width: 0;
    max-width: none;
    padding: 0;
  }

  .home-community-ecosystem__title {
    width: 100%;
    max-width: 100%;
    font-size: var(--section-title-size);
  }

  .home-community-ecosystem__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(16px, calc(16px + (20 - 16) * (100vw - 1200px) / 240), 20px);
    width: 100%;
  }

  .home-community-card {
    width: 100%;
    height: clamp(260px, calc(260px + (300 - 260) * (100vw - 1200px) / 240), 300px);
    padding: clamp(24px, calc(24px + (30 - 24) * (100vw - 1200px) / 240), 30px);
  }

  .home-community-card__title,
  .home-community-card__subtitle,
  .home-community-card__text,
  .home-community-card--library .home-community-card__subtitle,
  .home-community-card--knowledge .home-community-card__subtitle,
  .home-community-card--events .home-community-card__subtitle {
    width: 100%;
    max-width: 100%;
  }

  .home-community-card--path .home-community-card__title,
  .home-community-card--library .home-community-card__title,
  .home-community-card--knowledge .home-community-card__title,
  .home-community-card--events .home-community-card__title {
    font-size: clamp(26px, calc(26px + (30 - 26) * (100vw - 1200px) / 240), 30px);
  }
}

/* ============================================================
   CASES
   ============================================================ */

/* 769–1200: горизонтальный слайдер, плавный масштаб карточек */
@media (min-width: 769px) and (max-width: 1200px) {
  .home-cases {
    padding: clamp(45px, calc(45px + (120 - 45) * (100vw - 768px) / 432), 120px)
      var(--container-padding)
      60px;
  }

  .home-cases__inner {
    max-width: var(--layout-inner-width);
    row-gap: clamp(30px, calc(30px + (40 - 30) * (100vw - 768px) / 432), 40px);
  }

  .home-cases__title {
    width: clamp(535px, calc(535px + (713 - 535) * (100vw - 768px) / 432), 713px);
    max-width: calc(100% - clamp(120px, calc(120px + (130 - 120) * (100vw - 768px) / 432), 130px));
    font-size: var(--section-title-size);
  }

  .home-cases__track {
    gap: clamp(15px, calc(15px + (20 - 15) * (100vw - 768px) / 432), 20px);
  }

  .home-case-card {
    width: clamp(330px, calc(330px + (440 - 330) * (100vw - 768px) / 432), 440px);
    min-width: clamp(280px, calc(280px + (440 - 280) * (100vw - 768px) / 432), 440px);
    height: clamp(320px, calc(320px + (400 - 320) * (100vw - 768px) / 432), 400px);
    min-height: clamp(320px, calc(320px + (400 - 320) * (100vw - 768px) / 432), 400px);
  }

  .home-case-card__image {
    width: clamp(290px, calc(290px + (400 - 290) * (100vw - 768px) / 432), 400px);
    height: clamp(175px, calc(175px + (241 - 175) * (100vw - 768px) / 432), 241px);
  }

  .home-case-card__title {
    font-size: clamp(20px, calc(20px + (24 - 20) * (100vw - 768px) / 432), 24px);
  }
}

/* ============================================================
   PARTNERS
   ============================================================ */

/* 769–1200: бегущая строка, масштаб логотипов */
@media (min-width: 769px) and (max-width: 1200px) {
  .home-partners {
    --partners-logo-gap: clamp(9px, calc(9px + (12 - 9) * (100vw - 768px) / 432), 12px);
    --partners-logo-size: clamp(112px, calc(112px + (149 - 112) * (100vw - 768px) / 432), 149px);
    --partners-logo-height: clamp(108px, calc(108px + (144 - 108) * (100vw - 768px) / 432), 144px);
    --partners-logo-padding: clamp(26px, calc(26px + (34.29 - 26) * (100vw - 768px) / 432), 34.29px);
    padding: clamp(30px, calc(30px + (40 - 30) * (100vw - 768px) / 432), 40px)
      var(--container-padding)
      clamp(60px, calc(60px + (80 - 60) * (100vw - 768px) / 432), 80px);
  }

  .home-partners__inner {
    max-width: var(--layout-inner-width);
  }

  .home-partners__title {
    width: clamp(535px, calc(535px + (713 - 535) * (100vw - 768px) / 432), 713px);
    font-size: clamp(40px, calc(40px + (50 - 40) * (100vw - 1024px) / 176), 50px);
    margin-bottom: clamp(22px, calc(22px + (30 - 22) * (100vw - 768px) / 432), 30px);
  }
}

/* ============================================================
   NEWS
   ============================================================ */

/* 1025–1199: сетка 1024 с плавным масштабом */
@media (min-width: 1025px) and (max-width: 1199px) {
  .home-news {
    --news-featured-width: clamp(462px, calc(462px + (462 - 462) * (100vw - 1024px) / 176), 462px);
    --news-cards-block-width: clamp(621px, calc(621px + (621 - 621) * (100vw - 1024px) / 176), 621px);
    --news-card-width: clamp(301px, calc(301px + (301 - 301) * (100vw - 1024px) / 176), 301px);
  }

  .home-news__title {
    font-size: var(--section-title-size);
  }
}

/* 769–1023: новости на всю ширину контента */
@media (min-width: 769px) and (max-width: 1023px) {
  .home-news__inner {
    max-width: var(--layout-inner-width);
  }

  .home-news__title {
    font-size: var(--section-title-size);
  }

  .home-news__grid {
    column-gap: clamp(15px, calc(15px + (20 - 15) * (100vw - 768px) / 256), 20px);
  }
}

/* 375–687: mobile news — карточка уже вьюпорта, следующая слегка торчит */
@media (min-width: 375px) and (max-width: 687px) {
  .home-news {
    --news-card-width: min(calc(100vw - var(--container-padding) * 2), clamp(300px, calc(300px + (344 - 300) * (100vw - 375px) / 312), 344px));
  }
}

@media (max-width: 687px) {
  .home-news__title {
    font-size: 30px;
    line-height: 1.1;
  }
}

/* ============================================================
   QUESTION (форма)
   ============================================================ */

/* 1024–1439: полная ширина — см. home-question.css (не переопределяем здесь) */

/* 1024–1200: intro + form в одну строку, поля на всю ширину */
@media (min-width: 1024px) and (max-width: 1200px) {
  .home-question__inner {
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: flex-start;
    gap: clamp(20px, calc(20px + 20 * (100vw - 1024px) / 176), 40px);
  }

  .home-question__intro {
    flex: 0 1 48%;
    width: auto;
    min-width: 0;
    max-width: 555px;
  }

  .home-question__title {
    width: 100%;
    max-width: 100%;
  }

  .home-question__lead {
    width: 100%;
    max-width: 100%;
  }

  .home-question__form {
    flex: 1 1 52%;
    width: auto;
    min-width: 0;
    max-width: 630px;
    margin-left: 0;
  }

  .home-question__row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-question__textarea {
    width: 100%;
    max-width: 100%;
  }
}

/* 769–1024: планшет — поля и кнопка (текст слева не трогаем, см. home-question.css 688–1023) */
@media (min-width: 769px) and (max-width: 1024px) {
  .home-question {
    padding-top: 0;
  }

  .home-question__inner {
    gap: clamp(20px, calc(20px + (40 - 20) * (100vw - 768px) / 256), 40px);
    padding: clamp(24px, calc(24px + (40 - 24) * (100vw - 768px) / 256), 40px) var(--container-padding);
  }

  .home-question__form {
    margin-left: 0;
  }

  .home-question__title {
    font-size: var(--section-title-size);
  }

  .home-question__lead {
    font-size: clamp(12px, calc(12px + (16 - 12) * (100vw - 768px) / 256), 16px);
    max-width: clamp(244px, calc(244px + (326 - 244) * (100vw - 768px) / 256), 326px);
  }

  .home-question__input {
    height: clamp(38px, calc(38px + (50 - 38) * (100vw - 768px) / 256), 50px);
    font-size: clamp(12px, calc(12px + (16 - 12) * (100vw - 768px) / 256), 16px);
  }

  .home-question__textarea {
    height: clamp(75px, calc(75px + (100 - 75) * (100vw - 768px) / 256), 100px);
    min-height: clamp(75px, calc(75px + (100 - 75) * (100vw - 768px) / 256), 100px);
  }

  .home-question__submit {
    box-sizing: border-box;
    display: inline-flex;
    flex: none;
    align-items: center;
    justify-content: flex-start;
    width: clamp(171px, calc(171px + (228 - 171) * (100vw - 768px) / 256), 228px);
    height: clamp(38px, calc(38px + (50 - 38) * (100vw - 768px) / 256), 50px);
    gap: clamp(15px, calc(15px + (20 - 15) * (100vw - 768px) / 256), 20px);
    padding: 0 clamp(3px, calc(3px + (4 - 3) * (100vw - 768px) / 256), 4px) 0 clamp(22px, calc(22px + (30 - 22) * (100vw - 768px) / 256), 30px);
  }

  .home-question__submit-text {
    font-size: clamp(12px, calc(12px + (16 - 12) * (100vw - 768px) / 256), 16px);
    line-height: 1;
    white-space: nowrap;
  }

  .home-question__submit-icon {
    width: clamp(6px, calc(6px + (8 - 6) * (100vw - 768px) / 256), 8px);
    height: clamp(6px, calc(6px + (8 - 6) * (100vw - 768px) / 256), 8px);
    flex: none;
  }
}

/* 376–687: mobile form — не трогаем вертикальные отступы (80px сверху/снизу в home-question.css) */
@media (min-width: 376px) and (max-width: 687px) {
  .home-question__inner {
    gap: clamp(20px, calc(20px + (30 - 20) * (100vw - 375px) / 312), 30px);
  }

  .home-question__input,
  .home-question__textarea {
    font-size: clamp(14px, calc(14px + (16 - 14) * (100vw - 375px) / 312), 16px);
  }
}
