@media (max-width: 1020px) {
  .header-nav { display: none; position: absolute; top: calc(100% + 8px); left: 0; right: 0; padding: 18px; border-radius: 20px; background: rgba(251,248,243,.98); border: 1px solid var(--color-line); box-shadow: var(--shadow-card); flex-direction: column; align-items: stretch; }
  .header-nav.is-open { display: flex; }
  .menu-toggle { display: inline-grid; place-items: center; }
  .hero-grid, .estimate-teaser, .page-hero__grid, .project-detail-hero, .estimate-layout, .contacts-layout { grid-template-columns: 1fr; }
  .stat-grid, .steps-grid, .project-grid, .team-grid, .reviews-grid { grid-template-columns: repeat(2,1fr); }
  .estimate-summary { position: static; }
  .footer-shell { grid-template-columns: 1fr 1fr; }
  .hero-visual { min-height: 540px; }
}
@media (max-width: 700px) {
  .container { width: min(100% - 22px, var(--container)); }
  .section { padding-top: 68px; }
  .section__head { display: block; }
  .section__head p { margin-top: 13px; }
  .brand-logo { width: 195px; max-width: 65vw; }
  .platform-buttons--header { width: 195px; max-width: 65vw; }
  .header-shell { min-height: 62px; }
  .hero-copy { padding-top: 28px; }
  .hero-title { font-size: 43px; }
  .hero-lead, .page-lead { font-size: 16px; }
  .hero-visual { min-height: 470px; }
  .hero-glass--bottom { grid-template-columns: 1fr; width: 230px; right: auto; }
  .stat-grid, .steps-grid, .project-grid, .team-grid, .reviews-grid, .form-grid, .checkbox-grid, .project-facts, .footer-shell { grid-template-columns: 1fr; }
  .gallery-grid { grid-template-columns: 1fr; }
  .gallery-item { min-height: 230px; }
  .timeline-item { grid-template-columns: 1fr; gap: 7px; }
  .footer-bottom { display: block; }
  .footer-bottom span { display: block; margin-top: 7px; }
  .contact-line { display: block; }
  .contact-line strong { display: block; margin-top: 5px; }
}


@media (max-width: 1180px) and (min-width: 1021px) {
  .header-nav { gap: 11px; }
  .header-nav > a:not(.button) { font-size: 13px; }
}
@media (max-width: 1020px) {
  .platform-buttons--header .platform-button { flex: 1; }
}
@media (max-width: 700px) {
  .reviews-summary { margin-top: 16px; min-width: 0; }
  .reviews-grid { grid-template-columns: 1fr; }
  .platform-buttons, .platform-buttons--header, .platform-buttons--footer { align-items: stretch; }
  .platform-button--large { flex: 1 1 190px; }
  .review-card__photos { grid-template-columns: repeat(3, minmax(0,1fr)); }
}


@media (max-width: 760px) {
  .review-lightbox__dialog { inset: 8px; grid-template-columns: 44px minmax(0,1fr) 44px; gap: 6px; padding: 12px; border-radius: 18px; }
  .review-lightbox__close { top: 8px; right: 8px; width: 42px; height: 42px; }
  .review-lightbox__nav { width: 40px; height: 58px; border-radius: 12px; font-size: 38px; }
  .review-lightbox__stage { border-radius: 12px; }
  .review-lightbox__toolbar { gap: 10px; }
  .review-lightbox__zoom { min-height: 36px; padding: 7px 11px; }
}

@media (max-width: 390px) {
  .header-shell { gap: 10px; padding-left: 10px; }
  .brand-logo, .platform-buttons--header { width: 178px; max-width: 62vw; }
  .platform-buttons--header .platform-button { font-size: 10px; }
}

@media (max-width: 620px) {
  .reviews-actions { align-items: stretch; }
  .reviews-actions > .button { width: 100%; }
  .platform-buttons--reviews { width: 100%; }
  .platform-buttons--reviews .platform-button { flex: 1 1 0; min-width: 0; }
}


/* Точная мобильная адаптация главной страницы */
@media (max-width: 1020px) {
  .header-brand { width: 350px; max-width: calc(100% - 66px); }
}

@media (max-width: 700px) {
  .container { width: min(100% - 20px, var(--container)); }
  .section { padding-top: 48px; }
  .section--compact { padding-top: 34px; }

  /* Шапка: логотип, реальная кнопка звонка и площадки остаются компактными */
  .header-shell { min-height: 62px; gap: 8px; padding: 9px 10px; }
  .header-brand { width: min(282px, calc(100% - 56px)); max-width: none; gap: 6px; }
  .header-brand__top { gap: 8px; }
  .header-brand__home { flex: 1 1 auto; }
  .brand-logo { width: 176px; max-width: 100%; }
  .header-call-button { min-height: 34px; padding: 8px 10px; border-radius: 9px; font-size: 11px; }
  .platform-buttons--header { width: 100%; max-width: none; gap: 6px; }
  .platform-buttons--header .platform-button { min-height: 31px; padding: 7px 5px; border-radius: 8px; font-size: 9px; }
  .menu-toggle { flex: none; width: 42px; height: 42px; }

  /* Главная фотография: тот же визуальный принцип, что на компьютере */
  .hero-visual { min-height: 430px; border-radius: 24px; }
  .hero-visual > img { object-position: center center; }
  .hero-glass { border-radius: 15px; }
  .hero-glass--top { top: 12px; right: 12px; width: min(242px, calc(100% - 24px)); padding: 12px 13px; }
  .hero-glass--top strong { margin-bottom: 4px; font-size: 13px; line-height: 1.15; }
  .hero-glass--top span { font-size: 10.5px; line-height: 1.3; }
  .hero-glass--bottom { left: 10px; right: 10px; bottom: 10px; width: auto; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 4px; padding: 10px 7px; }
  .hero-glass__value { min-height: 21px; gap: 3px; font-size: 18px; }
  .hero-glass__unit { font-size: 10px; }
  .hero-glass__label { min-height: 21px; margin-top: 3px; font-size: 9px; line-height: 1.15; }

  /* Блок доверия: четыре компактные информативные строки вместо высоких карточек */
  .stat-grid { grid-template-columns: 1fr; gap: 8px; }
  .stat-card { display: grid; grid-template-columns: minmax(86px, auto) 1fr; grid-template-rows: auto auto; column-gap: 13px; align-items: center; min-height: 0; padding: 12px 14px; border-radius: 17px; }
  .stat-card__value { display: flex; grid-row: 1 / span 2; align-items: baseline; gap: 4px; margin: 0; font-size: 27px; white-space: nowrap; }
  .stat-card__unit { font-size: 12px; }
  .stat-card__title { align-self: end; margin: 0 0 2px; font-size: 14px; line-height: 1.15; }
  .stat-card__text { align-self: start; font-size: 11.5px; line-height: 1.3; }

  /* Этапы: номер слева, содержание справа, без пустой высоты */
  .steps-grid { grid-template-columns: 1fr; gap: 8px; }
  .step-card { display: grid; grid-template-columns: 40px minmax(0,1fr); grid-template-rows: auto auto; column-gap: 12px; min-height: 0; padding: 13px 14px; border-radius: 17px; }
  .step-card__number { grid-row: 1 / span 2; width: 38px; height: 38px; margin: 0; border-radius: 11px; font-size: 14px; }
  .step-card h3 { margin: 0 0 4px; font-size: 17px; line-height: 1.15; }
  .step-card p { margin: 0; font-size: 12.5px; line-height: 1.36; }
}

@media (max-width: 390px) {
  .header-brand { width: min(260px, calc(100% - 52px)); }
  .brand-logo { width: 156px; }
  .header-call-button { padding-inline: 8px; font-size: 10px; }
  .hero-visual { min-height: 400px; }
  .hero-glass--top { width: min(222px, calc(100% - 20px)); top: 10px; right: 10px; padding: 10px 11px; }
  .hero-glass--bottom { left: 8px; right: 8px; bottom: 8px; padding: 9px 5px; }
  .hero-glass__value { font-size: 16px; }
  .hero-glass__unit { font-size: 9px; }
  .hero-glass__label { font-size: 8px; }
  .stat-card { grid-template-columns: 79px 1fr; column-gap: 10px; padding: 11px 12px; }
  .stat-card__value { font-size: 24px; }
}


/* ===== Финальные мобильные правки 2026-07-26 ===== */
@media (max-width: 760px) {
  .header-call-button { width: 42px; height: 42px; min-height: 42px; padding: 0; border-radius: 12px; }
  .header-call-icon { width: 20px; height: 20px; }

  .hero-visual { min-height: 430px; border-radius: 24px; }
  .hero-visual > img { object-position: center center; }
  .hero-glass { border-radius: 15px; }
  .hero-glass--top {
    top: 12px;
    right: 12px;
    left: auto;
    width: min(238px, calc(100% - 24px));
    padding: 12px 13px;
  }
  .hero-glass--top strong { margin-bottom: 4px; font-size: 13px; line-height: 1.15; }
  .hero-glass--top span { font-size: 10.5px; line-height: 1.3; }
  .hero-glass--bottom {
    left: 10px;
    right: 10px;
    bottom: 10px;
    width: auto;
    grid-template-columns: repeat(3, minmax(0,1fr)) !important;
    gap: 4px;
    padding: 10px 7px;
  }
  .hero-glass__value { min-height: 0; gap: 3px; font-size: 17px; }
  .hero-glass__unit { font-size: 9px; }
  .hero-glass__label { min-height: 0; margin-top: 3px; font-size: 8px; line-height: 1.15; }

  .stat-grid { grid-template-columns: 1fr !important; gap: 10px; }
  .stat-card {
    display: grid;
    grid-template-columns: 78px 1fr;
    column-gap: 12px;
    align-items: center;
    min-height: 0;
    padding: 14px 16px;
  }
  .stat-card__value {
    grid-row: 1 / span 3;
    margin: 0;
    font-size: 22px;
    line-height: 1;
    text-align: left;
  }
  .stat-card__title { margin: 0; font-size: 15px; }
  .stat-card__text { margin-top: 4px; font-size: 12px; line-height: 1.35; }

  .steps-grid { grid-template-columns: 1fr !important; gap: 10px; }
  .step-card {
    min-height: 0;
    padding: 14px 16px;
    display: grid;
    grid-template-columns: 44px 1fr;
    column-gap: 12px;
    align-items: start;
  }
  .step-card__number {
    width: 40px;
    height: 40px;
    margin: 0;
    border-radius: 12px;
    font-size: 16px;
    grid-row: 1 / span 2;
  }
  .step-card h3 { margin: 0 0 6px; font-size: 17px; line-height: 1.2; }
  .step-card p { margin: 0; font-size: 12.5px; line-height: 1.4; }

  .team-grid { grid-template-columns: 1fr !important; gap: 12px; }
  .person-card__portrait { width: min(100%, 220px); margin-bottom: 14px; }
}

@media (max-width: 390px) {
  .hero-visual { min-height: 405px; }
  .hero-glass--top { width: min(214px, calc(100% - 24px)); padding: 10px 11px; }
  .hero-glass--top strong { font-size: 12px; }
  .hero-glass--top span { font-size: 10px; }
  .hero-glass__value { font-size: 15px; }
  .hero-glass__label { font-size: 7.5px; }
  .stat-card { grid-template-columns: 72px 1fr; }
}


/* ===== Доп. правки мобильной версии 2026-07-27 ===== */
@media (max-width: 760px) {
  .header-shell { align-items: flex-start; }
  .header-mobile-actions { display: flex; flex-direction: column; gap: 8px; flex: none; }
  .header-mobile-actions .menu-toggle { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; }
  .header-call-button--mobile { width: 42px; height: 42px; }
  .platform-buttons--header .platform-button--call { display: none; }

  .hero-grid { gap: 14px; }
  .hero-copy { padding-bottom: 0; }
  .hero-chips { grid-column: 1; margin-top: -2px; }
  .chips.hero-chips { order: 3; }
  .chips.hero-chips .chip { font-size: 12px; }

  .stat-card { grid-template-columns: 94px 1fr; }
  .stat-card__value {
    font-size: clamp(18px, 5vw, 20px);
    letter-spacing: -0.02em;
    white-space: nowrap;
  }
  .stat-card__title { font-size: 14px; line-height: 1.2; }
  .stat-card__text { font-size: 11.5px; line-height: 1.32; }

  .person-card__portrait { width: min(100%, 185px); margin-bottom: 12px; }

  .platform-buttons--reviews,
  .platform-buttons--footer,
  .contact-socials .platform-buttons { gap: 7px; }
  .platform-buttons--reviews .platform-button--compact { min-height: 40px; padding: 9px 12px; font-size: 11px; }
  .platform-buttons--reviews .platform-button--icon,
  .platform-buttons--footer .platform-button--icon,
  .contact-socials .platform-button--icon { width: 40px; min-width: 40px; min-height: 40px; padding: 0; }
}

@media (min-width: 761px) {
  .header-mobile-actions { display: none !important; }
  .platform-buttons--header .platform-button--call { display: inline-flex; }
}


/* ===== Кнопки связи: финальная схема ===== */
@media (max-width: 760px) {
  .header-mobile-actions { display: flex; align-items: flex-start; }
  .header-mobile-actions .menu-toggle { display: inline-flex; }

  .platform-buttons--header {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
    max-width: none;
    gap: 6px;
  }
  .platform-buttons--header .platform-button,
  .platform-buttons--header .platform-button--icon {
    display: inline-flex;
    width: 100%;
    min-width: 0;
    min-height: 34px;
    padding: 7px 5px;
    border-radius: 8px;
    font-size: 9px;
  }
  .platform-buttons--header .platform-button--call { display: inline-flex; }
  .platform-buttons--header .platform-button__icon { width: 18px; height: 18px; }

  .platform-buttons--footer,
  .contact-socials .platform-buttons {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
  }
  .platform-buttons--footer .platform-button,
  .contact-socials .platform-button {
    min-height: 40px;
    padding: 8px 6px;
    font-size: 10px;
  }
  .platform-buttons--footer .platform-button__icon,
  .contact-socials .platform-button__icon { width: 19px; height: 19px; }
}

@media (min-width: 761px) {
  .platform-buttons--header .platform-button--call { display: none !important; }
  .platform-buttons--header { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}


@media (max-width: 760px) {
  .hero-title--depth {
    font-size: clamp(27px, 8vw, 34px);
    line-height: 1.04;
    letter-spacing: -0.045em;
  }
  .hero-title--depth::before {
    left: 2%;
    right: 0;
    bottom: -4%;
    height: 58%;
    filter: blur(20px);
  }
}


/* Одностраничная лента: адаптация */
@media (max-width: 760px) {
  .header-brand { width: min(282px, calc(100% - 58px)); max-width: none; }
  .header-shell { align-items: flex-start; }
  .menu-toggle { display: inline-flex !important; flex: none; width: 43px; height: 43px; }
  .header-nav--dropdown { left: 0; right: 0; width: auto; max-height: calc(100dvh - 112px); overflow-y: auto; overscroll-behavior: contain; border-radius: 18px; }
  .onepage-heading { margin-bottom: 20px; }
  .page-title { font-size: clamp(28px, 7.8vw, 56px); overflow-wrap: break-word; }
  .project-detail-hero { grid-template-columns: minmax(0, 1fr); }
  .project-detail-hero__copy { min-width: 0; padding: 24px 20px; }
  .portfolio-title { font-size: clamp(39px, 12vw, 56px); }
  .portfolio-subtitle { margin-top: 8px; font-size: clamp(19px, 6vw, 25px); }
  .section-lead { font-size: 15px; line-height: 1.5; }
  .onepage-section::before { width: calc(100% - 20px); }
}


/* ===== Заголовки после редизайна: мобильная адаптация ===== */
@media (max-width: 760px) {
  .hero-title__main {
    white-space: normal;
  }

  .hero-title__accent {
    margin-top: .42em;
    font-size: .62em;
    white-space: normal;
  }

  .split-title__accent {
    margin-top: .36em;
    font-size: .58em;
  }
}


/* ===== Мобильные уточнения статистики, помещений и отзывов ===== */
@media (max-width: 760px) {
  .stat-card__value--short { font-size: 29px; }
  .stat-card__value--warranty .stat-card__unit { font-size: 10px; }
  .room-count-grid { grid-template-columns: 1fr; }
  .room-count { min-height: 54px; }
  .estimate-summary__price { font-size: clamp(29px, 9vw, 42px); }
  .review-submit-modal__dialog { width: calc(100% - 16px); max-height: calc(100vh - 16px); margin: 8px auto; padding: 22px 17px; border-radius: 19px; }
  .review-submit-modal__dialog .form-grid { grid-template-columns: 1fr; }
  .review-submit-modal__dialog h2 { font-size: clamp(23px, 6.2vw, 28px); overflow-wrap: break-word; }
  .reviews-actions > .button { width: 100%; }
}


/* ===== Финальная мобильная коррекция статистики и помещений 2026-07-27 ===== */
@media (max-width: 760px) {
  /* Увеличиваем короткие показатели только на телефоне */
  .stat-card {
    grid-template-columns: 112px minmax(0, 1fr) !important;
    column-gap: 12px;
  }
  .stat-card__value--short {
    font-size: 34px !important;
    letter-spacing: -0.035em;
  }
  .stat-card__value--warranty {
    gap: 5px;
  }
  .stat-card__value--warranty .stat-card__unit {
    font-size: 11px !important;
    letter-spacing: 0;
  }

  /* Аккуратные счётчики на телефоне */
  .room-count-grid {
    grid-template-columns: 1fr !important;
    gap: 8px;
  }
  .room-count {
    grid-template-columns: minmax(0, 1fr) 126px;
    width: 100%;
    min-height: 56px;
    padding: 8px 9px 8px 13px;
    border-radius: 14px;
  }
  .room-count__label {
    font-size: 14px;
    line-height: 1.2;
  }
  .quantity-control {
    width: 126px;
    height: 40px;
    border-radius: 11px;
  }
  .quantity-control button {
    flex-basis: 40px;
    width: 40px;
    height: 40px;
  }
  .quantity-control input {
    flex-basis: 44px;
    width: 44px;
    height: 40px;
    font-size: 16px;
  }
}

@media (max-width: 380px) {
  .stat-card {
    grid-template-columns: 102px minmax(0, 1fr) !important;
  }
  .stat-card__value--short { font-size: 31px !important; }
  .room-count {
    grid-template-columns: minmax(0, 1fr) 118px;
    padding-left: 11px;
  }
  .quantity-control { width: 118px; }
  .quantity-control button { flex-basis: 37px; width: 37px; }
  .quantity-control input { flex-basis: 44px; width: 44px; }
}


/* Итог расчёта и фотографии отзыва на телефоне */
@media (max-width: 700px) {
  .estimate-summary--inline { margin: 20px -2px 24px; padding: 20px 16px; }
  .estimate-summary__price {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: .08em .22em;
    width: 100%;
    font-size: clamp(24px, 7.2vw, 36px);
    line-height: 1.08;
    letter-spacing: -.035em;
    font-variant-numeric: tabular-nums;
  }
  .estimate-money { white-space: nowrap; }
  .estimate-money__dash { flex: none; font-size: .72em; }
  .review-photo-preview { grid-template-columns: repeat(3, minmax(0,1fr)); }
}


@media (max-width: 760px) {
  .before-after__handle { width: 42px; height: 42px; font-size: 18px; }
  .before-after__label { bottom: 10px; padding: 6px 9px; font-size: 9px; }
  .before-after__label--before { left: 10px; }
  .before-after__label--after { right: 10px; }
}


/* ===== Реальный проект и команда: адаптация ===== */
@media (max-width: 1020px) {
  .gallery-grid--project { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .gallery-grid--project .gallery-item--wide { grid-column: 1 / -1; }
  .team-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
}

@media (max-width: 760px) {
  .team-grid { grid-template-columns: 1fr !important; }
  .project-real-title { font-size: clamp(36px, 11vw, 50px); }
  .project-real-subtitle { font-size: 19px; }
  .project-work-list { gap: 7px; }
  .project-gallery-group { margin-top: 30px; }
  .gallery-grid--project,
  .gallery-grid--two,
  .gallery-grid--single { grid-template-columns: 1fr; max-width: none; }
  .gallery-grid--project .gallery-item,
  .gallery-grid--project .gallery-item--wide,
  .gallery-grid--single .gallery-item { min-height: 235px; grid-column: auto; }
  .lightbox { padding: 10px; grid-template-columns: 42px minmax(0,1fr) 42px; gap: 5px; }
  .lightbox__image { max-width: 100% !important; max-height: 79vh !important; border-radius: 12px !important; }
  .lightbox__nav { width: 39px; height: 58px; border-radius: 12px; font-size: 37px; }
  .lightbox__close { top: 10px; right: 10px; width: 44px; height: 44px; }
  .lightbox__meta { gap: 8px; font-size: 12px; }
}


/* ===== Шапка: VK + Profi.ru + квадратная кнопка звонка · 16.08.2026 ===== */
/* Финальный override: старая desktop-правка ниже по каскаду скрывала кнопку звонка. */
@media (max-width: 760px) {
  .platform-buttons--header {
    display: flex;
    grid-template-columns: none;
    align-items: stretch;
  }
  .platform-buttons--header .platform-button:not(.platform-button--icon) {
    flex: 1 1 0;
    width: auto;
    min-width: 0;
  }
  .platform-buttons--header .platform-button--call {
    display: inline-flex !important;
    flex: 0 0 34px;
    width: 34px;
    min-width: 34px;
    min-height: 34px;
    padding: 0;
  }
}

@media (min-width: 761px) {
  .platform-buttons--header .platform-button--call {
    display: inline-flex !important;
    flex: 0 0 36px;
    width: 36px;
    min-width: 36px;
    min-height: 36px;
    padding: 0;
  }
}


/* ===== v4.9: адаптация для узкой рабочей области браузера ===== */
/* Промежуточный десктопный режим: полезен при вертикальной панели вкладок и масштабировании браузера. */
@media (max-width: 1360px) and (min-width: 1021px) {
  .container { width: min(var(--container), calc(100% - 36px)); }
  .hero-grid { grid-template-columns: minmax(0,.92fr) minmax(420px,1.08fr); gap: clamp(24px,3vw,40px); }
  .hero-title { font-size: clamp(48px,5.2vw,68px); }
  .project-grid, .team-grid, .reviews-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .stat-grid, .steps-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .section__head h2 { font-size: clamp(34px,4vw,48px); }
}

@media (max-width: 1180px) and (min-width: 1021px) {
  .hero-grid { grid-template-columns: minmax(0,.88fr) minmax(390px,1.12fr); gap: 24px; }
  .hero-title { font-size: clamp(44px,5vw,60px); }
  .project-card__body h3 { font-size: 20px; }
  .project-card__body p { font-size: 14px; line-height: 1.48; }
}

/* ===== v5.0: пропорциональное масштабирование десктопа =====
   Вместо жёстких минимальных ширин все ключевые размеры плавно уменьшаются
   вместе с реальной шириной окна браузера. Это сохраняет композицию при
   вертикальной панели вкладок и при увеличении масштаба браузера. */
@media (min-width: 1021px) {
  .container {
    width: min(var(--container), calc(100% - clamp(28px, 3.4vw, 58px)));
  }

  .header-brand {
    width: clamp(270px, 22vw, 350px);
    max-width: none;
  }
  .brand-logo {
    width: clamp(190px, 15vw, 235px);
  }
  .platform-buttons--header .platform-button {
    min-height: clamp(32px, 2.35vw, 36px);
    font-size: clamp(9px, .72vw, 11px);
  }

  .hero-grid {
    grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr);
    gap: clamp(18px, 1.8vw, 30px);
  }
  .hero-copy {
    min-width: 0;
    padding: clamp(28px, 3vw, 50px) 0 clamp(24px, 2.4vw, 38px);
  }
  .hero-title {
    width: 100%;
    max-width: 100%;
    font-size: clamp(36px, 3.65vw, 60px);
    line-height: .98;
  }
  .hero-title__main,
  .hero-title--depth span:first-child {
    white-space: nowrap;
  }
  .hero-title__accent {
    white-space: nowrap;
  }
  .hero-lead {
    max-width: 100%;
    font-size: clamp(14px, 1.08vw, 18px);
    line-height: 1.58;
  }
  .hero-actions {
    gap: clamp(8px, .8vw, 12px);
  }
  .hero-actions .button {
    min-height: clamp(40px, 2.8vw, 46px);
    padding: clamp(9px, .8vw, 12px) clamp(12px, 1.05vw, 17px);
    font-size: clamp(12px, .92vw, 15px);
  }
  .hero-visual {
    min-height: clamp(470px, 40vw, 660px);
  }
  .hero-glass--top {
    top: clamp(14px, 1.35vw, 22px);
    right: clamp(14px, 1.35vw, 22px);
    width: min(clamp(250px, 20vw, 330px), calc(100% - 28px));
    padding: clamp(13px, 1.15vw, 18px);
  }
  .hero-glass--top strong {
    font-size: clamp(14px, 1.05vw, 17px);
  }
  .hero-glass--top span {
    font-size: clamp(11px, .86vw, 14px);
  }
  .hero-glass--bottom {
    left: clamp(14px, 1.35vw, 22px);
    right: clamp(14px, 1.35vw, 22px);
    bottom: clamp(14px, 1.35vw, 22px);
    padding: clamp(12px, 1.15vw, 18px);
  }
  .hero-glass__value {
    font-size: clamp(24px, 2.1vw, 34px);
  }
  .hero-glass__label {
    font-size: clamp(10px, .8vw, 13px);
  }

  .section {
    padding-top: clamp(58px, 5.35vw, 88px);
  }
  .section__head {
    gap: clamp(16px, 1.5vw, 24px);
    margin-bottom: clamp(20px, 1.8vw, 28px);
  }
  .section__head h2 {
    font-size: clamp(32px, 3.2vw, 52px);
  }
  .section__head p,
  .section-lead {
    font-size: clamp(14px, 1.05vw, 18px);
  }

  .stat-grid,
  .steps-grid,
  .project-grid,
  .team-grid,
  .reviews-grid {
    gap: clamp(11px, 1vw, 16px);
  }
  .stat-card,
  .step-card,
  .person-card,
  .review-card {
    padding: clamp(17px, 1.5vw, 24px);
  }
  .project-card__body {
    padding: clamp(14px, 1.2vw, 19px);
  }
  .project-card__body h3 {
    font-size: clamp(18px, 1.35vw, 22px);
  }
  .project-card__body p {
    font-size: clamp(12px, .9vw, 15px);
  }
}

/* Узкий десктоп: продолжаем именно уменьшать элементы, а не сталкивать их. */
@media (max-width: 1250px) and (min-width: 1021px) {
  .hero-grid {
    grid-template-columns: minmax(0, .96fr) minmax(0, 1.04fr);
    gap: clamp(16px, 1.6vw, 22px);
  }
  .hero-title {
    font-size: clamp(35px, 3.55vw, 45px);
  }
  .hero-copy {
    padding-top: clamp(24px, 2.5vw, 34px);
  }
  .hero-lead {
    margin-bottom: 18px;
  }
  .hero-visual {
    min-height: clamp(445px, 41vw, 520px);
  }
  .hero-glass--bottom {
    padding: 12px;
  }
  .hero-glass__value {
    font-size: clamp(22px, 2.15vw, 28px);
  }
  .hero-glass__label {
    font-size: clamp(9px, .82vw, 11px);
  }
}

/* v5.0: на десктопе сохраняем исходное количество колонок и уменьшаем
   сами карточки пропорционально. Перестройка сетки начинается только в
   планшетном режиме (<=1020px). */
@media (min-width: 1021px) {
  .stat-grid,
  .steps-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .project-grid,
  .team-grid,
  .reviews-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .stat-card {
    padding: clamp(14px, 1.45vw, 24px);
  }
  .stat-card__value,
  .stat-card__value--short {
    font-size: clamp(34px, 3.2vw, 56px);
  }
  .stat-card__title {
    font-size: clamp(13px, 1vw, 16px);
  }
  .stat-card__text {
    font-size: clamp(11px, .85vw, 14px);
    line-height: 1.45;
  }

  .step-card {
    min-height: clamp(245px, 22vw, 360px);
    padding: clamp(16px, 1.7vw, 30px) clamp(14px, 1.55vw, 28px);
  }
  .step-card__number {
    width: clamp(38px, 3.15vw, 52px);
    height: clamp(38px, 3.15vw, 52px);
    margin-bottom: clamp(14px, 1.45vw, 24px);
    font-size: clamp(14px, 1.2vw, 20px);
  }
  .step-card h3 {
    margin-bottom: clamp(8px, .85vw, 14px);
    font-size: clamp(16px, 1.7vw, 29px);
    line-height: 1.12;
  }
  .step-card p {
    font-size: clamp(11.5px, 1vw, 17px);
    line-height: 1.5;
  }

  .person-card {
    padding: clamp(15px, 1.35vw, 22px);
  }
  .person-card__portrait {
    width: min(100%, clamp(150px, 12.8vw, 210px));
    border-radius: clamp(17px, 1.45vw, 24px);
    margin-bottom: clamp(12px, 1.1vw, 18px);
  }
  .person-card h3 {
    font-size: clamp(16px, 1.2vw, 20px);
  }
  .person-card__role,
  .person-card p {
    font-size: clamp(11.5px, .88vw, 14px);
  }

  .review-card {
    padding: clamp(15px, 1.45vw, 24px);
  }
  .review-card__author {
    font-size: clamp(15px, 1.1vw, 18px);
  }
  .review-card__text {
    font-size: clamp(11.5px, .9vw, 15px);
    line-height: 1.55;
  }
}


/* ===== v5.3.3: компактная витрина портфолио на главной ===== */
@media (max-width: 700px) {
  #portfolio .project-grid--featured {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
  #portfolio .project-grid--featured .project-card {
    min-width: 0;
    border-radius: 16px;
  }
  #portfolio .project-grid--featured .project-card__image {
    aspect-ratio: 1.38;
  }
  #portfolio .project-grid--featured .project-card__status {
    top: 7px;
    left: 7px;
    padding: 5px 7px;
    font-size: 9px;
  }
  #portfolio .project-grid--featured .project-card__body {
    padding: 9px 9px 10px;
  }
  #portfolio .project-grid--featured .project-card__body h3 {
    min-height: 2.4em;
    margin: 0;
    font-size: 13px;
    line-height: 1.2;
  }
  #portfolio .project-grid--featured .meta-row,
  #portfolio .project-grid--featured .project-card__body p {
    display: none;
  }
  #portfolio .filter-row {
    gap: 7px;
    margin-bottom: 14px;
  }
  #portfolio .filter-button {
    padding: 8px 10px;
    font-size: 11px;
  }
  #portfolio .portfolio-more-actions {
    margin-top: 12px;
  }
  #portfolio .portfolio-more-button {
    width: 100%;
    min-width: 0;
  }
}

@media (max-width: 390px) {
  #portfolio .project-grid--featured {
    gap: 8px;
  }
  #portfolio .project-grid--featured .project-card__image {
    aspect-ratio: 1.34;
  }
  #portfolio .project-grid--featured .project-card__body {
    padding: 8px;
  }
  #portfolio .project-grid--featured .project-card__body h3 {
    font-size: 12px;
  }
  #portfolio .project-grid--featured .project-card__status {
    font-size: 8px;
  }
}

/* mobile-polish-v1 · 02.09.2026 */
.header-nav__mobile-platform{display:none}
@media (max-width:760px){
  /* Шапка: логотип + удобный звонок + бургер. */
  .header-shell{align-items:center!important;min-height:64px;padding:9px 10px;gap:8px}
  .header-brand{display:flex!important;flex-direction:row!important;align-items:center!important;gap:8px!important;width:auto!important;max-width:none!important;min-width:0;flex:1 1 auto}
  .header-brand__home{min-width:0;flex:1 1 auto}
  .brand-logo{width:min(190px,52vw)!important;max-width:100%!important}
  .platform-buttons--header{display:flex!important;width:auto!important;max-width:none!important;flex:0 0 auto;gap:0!important}
  .platform-buttons--header .platform-button--vk,
  .platform-buttons--header .platform-button--profi{display:none!important}
  .platform-buttons--header .platform-button--call{display:inline-flex!important;flex:0 0 44px!important;width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important;padding:0!important;border-radius:12px!important}
  .platform-buttons--header .platform-button__icon{width:21px!important;height:21px!important}
  .menu-toggle{align-self:center!important;width:44px!important;height:44px!important;min-width:44px!important}
  .header-nav__mobile-platform{display:flex;align-items:center;min-height:44px;padding:10px 12px;border-radius:12px;font-weight:850}
  .header-nav__mobile-platform--profi{background:rgba(191,86,56,.10);color:var(--color-accent,#bf5638)}
  .header-nav__mobile-platform--vk{background:rgba(39,44,49,.06)}

  /* Портфолио: сохраняем две колонки, но возвращаем читаемость. */
  #portfolio .project-grid--featured{gap:11px}
  #portfolio .project-grid--featured .project-card{border-radius:17px}
  #portfolio .project-grid--featured .project-card__image{aspect-ratio:1.25}
  #portfolio .project-grid--featured .project-card__status{top:8px;left:8px;padding:5px 8px;font-size:10px}
  #portfolio .project-grid--featured .project-card__body{padding:10px 10px 11px}
  #portfolio .project-grid--featured .project-card__body h3{min-height:2.35em;font-size:15px;line-height:1.18}
}
@media (max-width:390px){
  .brand-logo{width:min(176px,50vw)!important}
  #portfolio .project-grid--featured{gap:9px}
  #portfolio .project-grid--featured .project-card__image{aspect-ratio:1.22}
  #portfolio .project-grid--featured .project-card__body{padding:9px}
  #portfolio .project-grid--featured .project-card__body h3{font-size:14px}
  #portfolio .project-grid--featured .project-card__status{font-size:10px}
}
@media (min-width:761px){
  .header-nav__mobile-platform{display:none!important}
}
