/* /about/contacts/: laptop 992–1439 (docs/LAPTOP_992_1439.md).
   Absolute внутри press — fluid (есть ссылки); сетка/форма — fluid, без scale.
   Откат: _rollback/contacts-laptop-2026/ */

@media (min-width: 992px) and (max-width: 1439px) {
    html:has(.contacts-layout) {
        overflow-x: clip;
    }

    body:has(.contacts-layout),
    .contacts-layout {
        overflow-x: clip;
    }

    .contacts-layout {
        padding: calc(96px * 100vw / 1440px) 0 calc(80px * 100vw / 1440px);
    }

    .contacts-layout::before {
        top: calc(-160px * 100vw / 1440px);
        height: calc(716px * 100vw / 1440px);
    }

    .contacts-container {
        width: min(100%, calc(1440px * 100vw / 1440px));
        padding: 0 calc(24px * 100vw / 1440px);
    }

    .contacts-title {
        margin: 0 0 calc(90px * 100vw / 1440px);
    }

    .contacts-title__text {
        font-size: calc(160px * 100vw / 1440px);
    }

    /* 3 колонки на всю ширину контейнера (не fixed 429 — иначе overflow ~1100). */
    .contacts-cards {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: calc(49px * 100vw / 1440px);
        margin: 0 0 calc(62px * 100vw / 1440px);
    }

    .contacts-card {
        min-height: calc(317px * 100vw / 1440px);
        padding: calc(49px * 100vw / 1440px) calc(48px * 100vw / 1440px) calc(36px * 100vw / 1440px);
        border-radius: calc(20px * 100vw / 1440px);
    }

    .contacts-card__title,
    .contacts-card__label {
        font-size: calc(26px * 100vw / 1440px);
    }

    .contacts-card__label {
        margin-bottom: calc(97px * 100vw / 1440px);
    }

    .contacts-card--office .contacts-card__title {
        margin-bottom: calc(101px * 100vw / 1440px);
    }

    .contacts-card__address,
    .contacts-card__time {
        font-size: calc(22px * 100vw / 1440px);
    }

    .contacts-card__phone,
    .contacts-card__mail,
    .contacts-card__phone--stack,
    .contacts-card__mail--stack,
    .contacts-card__person,
    .contacts-card__text {
        font-size: calc(26px * 100vw / 1440px);
    }

    .contacts-card__text {
        margin-bottom: calc(29px * 100vw / 1440px);
    }

    .contacts-card__time {
        margin-top: calc(18px * 100vw / 1440px);
    }

    /* Press — fluid absolute */
    .contacts-press {
        min-height: calc(563px * 100vw / 1440px);
        margin: 0 0 calc(33px * 100vw / 1440px);
        border-radius: calc(20px * 100vw / 1440px);
    }

    .contacts-press__content {
        width: calc(618px * 100vw / 1440px);
        padding: calc(65px * 100vw / 1440px) 0 calc(60px * 100vw / 1440px) calc(84px * 100vw / 1440px);
    }

    .contacts-press__title {
        margin-bottom: calc(68px * 100vw / 1440px);
        font-size: calc(64px * 100vw / 1440px);
    }

    .contacts-press__person strong {
        font-size: calc(40px * 100vw / 1440px);
    }

    .contacts-press__person span,
    .contacts-press__person a {
        font-size: calc(28px * 100vw / 1440px);
    }

    .contacts-press__photo {
        left: calc(477px * 100vw / 1440px);
        top: calc(104px * 100vw / 1440px);
        width: calc(472px * 100vw / 1440px);
        height: calc(459px * 100vw / 1440px);
    }

    .contacts-press__photo img {
        width: calc(472px * 100vw / 1440px);
        height: calc(459px * 100vw / 1440px);
    }

    .contacts-press__dot {
        width: calc(15px * 100vw / 1440px);
        height: calc(15px * 100vw / 1440px);
    }

    .contacts-press__dot--1 {
        left: calc(14px * 100vw / 1440px);
        top: calc(252px * 100vw / 1440px);
    }

    .contacts-press__dot--2 {
        left: calc(316px * 100vw / 1440px);
        top: calc(3px * 100vw / 1440px);
    }

    .contacts-press__dot--3 {
        left: calc(458px * 100vw / 1440px);
        top: calc(402px * 100vw / 1440px);
    }

    .contacts-press__decor {
        top: calc(38px * 100vw / 1440px);
        left: calc(1013px * 100vw / 1440px);
        width: calc(338px * 100vw / 1440px);
        height: calc(478px * 100vw / 1440px);
    }

    .contacts-feedback {
        padding: calc(59px * 100vw / 1440px) calc(62px * 100vw / 1440px) calc(59px * 100vw / 1440px) calc(84px * 100vw / 1440px);
        border-radius: calc(20px * 100vw / 1440px);
    }

    .contacts-feedback__title {
        max-width: calc(618px * 100vw / 1440px);
        font-size: calc(64px * 100vw / 1440px);
    }

    .contacts-feedback__lead {
        font-size: calc(28px * 100vw / 1440px);
    }
}

/* 992–1100: стек карточек (как contacts-page ≤1100) — иначе 3 колонки режут текст. */
@media (min-width: 992px) and (max-width: 1100px) {
    .contacts-cards {
        grid-template-columns: 1fr;
        max-width: 520px;
        margin-left: auto;
        margin-right: auto;
        gap: calc(24px * 100vw / 1440px);
    }

    .contacts-card {
        min-height: auto;
        padding: calc(40px * 100vw / 1440px) calc(32px * 100vw / 1440px) calc(28px * 100vw / 1440px);
    }

    .contacts-card__label,
    .contacts-card--office .contacts-card__title {
        margin-bottom: calc(28px * 100vw / 1440px);
    }
}
