/**
 * Усі @media-запити (мобільні, планшетні, hover, reduced-motion).
 * Підключати після assets/css/style.css.
 */

@media (max-width: 768px) {
    :root {
        --page-pad: 12px;
    }

    .promo {
        margin-left: 12px;
        margin-right: 12px;
    }

    .promo__body {
        flex: 0 1 auto;
        min-width: 0;
    }

    .promo__text {
        font-family: Nekst;
        font-weight: 400;
        font-style: Semi Bold;
        font-size: 8px;
        leading-trim: NONE;
        line-height: 110.00000000000001%;
        letter-spacing: 0%;
        max-width: 180px;
    }

    .promo__collapse {
        flex-shrink: 0;
    }

    /* Шапка: навігація в бургер (кнопка), десктопне меню ховаємо */
    .header {
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
    }

    .header__brand {
        justify-self: auto;
        flex: 0 1 auto;
        min-width: 0;
    }

    .nav-glass {
        display: none;
    }

    .header__actions {
        display: none;
    }

    .header__burger {
        display: grid;
        flex: 0 0 auto;
        margin-left: auto;
    }

    .burger-nav__menu,
    .burger-nav__item--dropdown,
    .burger-nav__dropdown,
    .burger-nav__dropdown-panel {
        overflow: visible !important;
        max-height: none !important;
    }

    .burger-nav__dropdown-panel {
        grid-template-columns: 1fr;
        padding: 20px 24px;
    }

    .hero__content {
        padding-left: max(var(--page-pad), env(safe-area-inset-left));
        padding-right: max(var(--page-pad), env(safe-area-inset-right));
    }

    .intro__title {
        font-family: Nekst;
        font-weight: 700;
        font-style: Bold;
        font-size: 40px;
        leading-trim: NONE;
        line-height: 85%;
        letter-spacing: -2%;
        max-width: auto;        
    }

    .projects__title,
    .systems__title,
    .process__title,
    .why__title,
    .service__title {
        font-size: 34px;
        line-height: 0.92;
        letter-spacing: -0.03em;
    }

    .lead-form__title {
        font-size: 40px;
        line-height: 0.9;
        letter-spacing: -0.03em;
    }

    .lead-form__bg {
        background-image: url("../image/form/bg-mob.png");
    }

    .trust__quote p {
        font-family: Nekst;
        font-weight: 600;
        font-style: Semi Bold;
        font-size: 26px;
        leading-trim: NONE;
        line-height: 100%;
        letter-spacing: -4%;
        
    }

    /* Етапи: вертикальний акордеон (не смуга зліва направо) */
    .process__row {
        flex-direction: column;
        align-items: stretch;
        gap: 16px;
    }

    /* Не розтягуємо трек на всю висоту панелі — інакше «порожні» картки й артефакти */
    .process__track {
        flex: 0 0 auto !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        width: 100%;
    }

    .process-tile-strip {
        flex-direction: column;
        flex-wrap: nowrap;
        align-items: stretch;
        overflow: visible;
        height: auto !important;
        min-height: 0 !important;
        flex: 0 0 auto !important;
        gap: 8px;
        width: 100%;
    }

    .process-tile.process-tile--strip {
        flex: 0 0 auto !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        height: auto !important;
        min-height: 0 !important;
        opacity: 1 !important;
        overflow: hidden;
        cursor: pointer;
        border-radius: 16px;
    }

    /* Падінг тільки на «обличчях»: закритий ряд — 26px з боків + вирівнювання по центру; відкрита картка — 26px з усіх боків */
    .process-tile--strip .process-tile__stack {
        position: relative;
        height: auto !important;
        min-height: 72px;
        padding: 0;
        overflow: hidden;
        isolation: isolate;
    }

    /* Обидва «обличчя» в потоці — анімуємо max-height/opacity/padding без різкого display:none */
    .process-tile-strip .process-tile__face--compact,
    .process-tile-strip .process-tile__face--full {
        position: relative !important;
        inset: auto !important;
        width: 100%;
        box-sizing: border-box;
        transition:
            max-height 0.48s cubic-bezier(0.25, 0.85, 0.3, 1),
            opacity 0.38s ease,
            padding 0.42s cubic-bezier(0.25, 0.85, 0.3, 1);
    }

    .process-tile-strip .process-tile--strip .process-tile__face--compact {
        display: flex !important;
        max-height: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        overflow: hidden !important;
    }

    .process-tile-strip .process-tile--strip .process-tile__face--full {
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        align-items: stretch !important;
        box-sizing: border-box !important;
        gap: 12px;
        max-height: min(70vh, 420px) !important;
        min-height: 0 !important;
        height: auto !important;
        padding: 26px !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch;
        transition:
            max-height 0.48s cubic-bezier(0.25, 0.85, 0.3, 1),
            opacity 0.28s ease,
            padding 0.42s cubic-bezier(0.25, 0.85, 0.3, 1);
    }
    .process {
        padding-bottom: 60px;
    }
    .process-tile-strip .process-tile--strip .process-tile__stage {
        font-size: 28px;
        line-height: 1.1;
        letter-spacing: -0.03em;
        white-space: normal;
    }

    .process-tile-strip .process-tile--strip .process-tile__text {
        font-size: 15px;
        line-height: 1.35;
        max-width: none;
        transition: font-size 0.25s ease, line-height 0.25s ease;
    }

    .process-tile-strip .process-tile--strip.is-emphasized .process-tile__text {
        font-size: 16px;
        line-height: 1.42;
    }

    .process-tile-strip .process-tile--strip .process-tile__ic {
        margin-bottom: 0 !important;
        margin-top: 0 !important;
    }

    .process-tile__vlabel {
        writing-mode: horizontal-tb !important;
        transform: none !important;
        margin: 0 !important;
        margin-top: 0 !important;
        max-width: 75%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .process-tile--strip .process-tile__ic--sm {
        flex-shrink: 0;
    }

    .process__cta {
        width: 100%;
        max-width: none;
        height: 120px;
        min-height: 72px;
        max-height: none;
        flex: 0 0 auto !important;
        align-self: stretch;
    }

    .process__cta-label__desktop {
        display: none;
    }

    .process__cta-label__mobile {
        display: inline;
    }

    .trust {
        padding: 56px 0;
    }

    html.home-header-pinned .trust {
        padding-top: calc(56px + 102px);
    }

    .trust__upper {
        grid-template-columns: 1fr;
        gap: 28px;
        margin-bottom: clamp(32px, 8vw, 48px);
    }

    .trust__lower {
        grid-template-columns: 1fr;
        gap: 6px;
    }

    .trust__logos-wrap {
        min-height: 180px;
    }

    .trust__logo-card {
        width: 200px;
        min-width: 200px;
        flex: 0 0 200px;
        min-height: 280px;
    }

    .trust__logos-marquee.is-marquee-active .trust__logo-card {
        width: 180px;
        min-width: 180px;
        flex: 0 0 180px;
        min-height: 180px;
    }

    .systems__grid {
        grid-template-columns: 1fr;
    }

    .process__panel {
        padding: 70px 24px 90px 24px;
    }
    .hero {
        min-height: 100svh;
    }
    .intro__tagline {
        margin-top: 32px;
        margin-bottom: 10vh;
    }

    .hero__main {
        flex: 1 1 auto;
        min-height: 0;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        padding-top: clamp(8px, 2vh, 28px);
        align-items: stretch;
        gap: 50px;
    }
    .intro__lead {
        font-family: Nekst;
        font-weight: 500;
        font-style: Medium;
        font-size: 18px;
        leading-trim: NONE;
        line-height: 120%;
        letter-spacing: -3%;

    }
    .btn-primary {
        display: inline-flex;
        align-items: center;
        gap: 7px;
        padding: 0px 12px;
        /* width: -webkit-fill-available; */
        height: 52px;
        border-radius: 8px;
        background-color: var(--color-orange);
        color: var(--color-ink);
        font-family: Nekst, sans-serif;
        font-weight: 600;
        font-style: normal;
        font-size: 16px;
        line-height: 1.1;
        letter-spacing: -0.02em;
        box-shadow: 0 1px 0 rgba(255, 255, 255, 0.25) inset;
        transition: filter 0.15s ease, transform 0.15s ease;
        width: -webkit-fill-available;
        justify-content: center;
    }
    .cta-card {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 20px;
        border-radius: var(--radius-lg);
        max-width: -webkit-fill-available;
        width: -webkit-fill-available;
        cursor: pointer;
        transition: background 0.15s ease, border-color 0.15s ease;
    }
    .cta-card__title {
        margin: 0;
        font-family: Nekst;
        font-weight: 500;
        font-style: Semi Bold;
        font-size: 18px;
        leading-trim: NONE;
        line-height: 110.00000000000001%;
        letter-spacing: -3%;
        color: rgba(255, 255, 255, 1);
        max-width: 100%;
    }
    .trust__brand {
        gap: 16px;
    }
    .trust__back {
        width: 50px;
        height: 50px;
        border-radius: 10px;
    }
    .trust__brand-name {
        font-family: Nekst;
        font-weight: 600;
        font-style: Semi Bold;
        font-size: 24px;
        leading-trim: NONE;
        line-height: 80%;
        letter-spacing: -4%;

    }
    .trust__author-name {
        font-family: Nekst;
        font-weight: 700;
        font-style: Bold;
        font-size: 18px;
        leading-trim: NONE;
        line-height: 100%;
        letter-spacing: -4%;
        
    }
    .trust__author-role {
        font-family: Nekst;
        font-weight: 500;
        font-style: Medium;
        font-size: 14px;
        leading-trim: NONE;
        line-height: 100%;
        letter-spacing: -4%;

    }
    .trust__partners-panel {
        background: var(--color-trust-card);
        border-radius: 20px;
        min-height: 160px;
        padding: 32px 24px;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        gap: 24px;
    }
    .trust__partners-arrow--prev img {
        transform: scaleX(-1) rotate(90deg);
    }

    .trust__partners-arrow--next img {
        transform: rotate(90deg);
    }
    .projects__panel {
        position: absolute;
        left: 12px;
        top: inherit;
        bottom: 12px;
        width: min(459px, calc(100% - 24px));
        display: flex;
        flex-direction: column;
        padding: 32px 20px;
        border-radius: 10px;
        background: rgba(0, 0, 0, 0.5);
        -webkit-backdrop-filter: blur(15px);
        backdrop-filter: blur(15px);
        color: #fff;
        height: 376px;
    }
    .systems-card__label {
        bottom: 24px;
        left: 24px;
    }
    .process__cta-badge {
        width: 32px;
        height: 32px;
    }
    .why__panel {
        height: 840px;
    }
    .why__content {
        padding: 70px 0px 24px 0px;
    }
    .why__intro {
        padding: 0px 24px;
    }
    .why__title {
        font-size: 40px;
    }
    .why__cta {
        padding: 17px 20px;
        font-family: Nekst;
        font-weight: 600;
        font-style: Semi Bold;
        font-size: 16px;
        leading-trim: NONE;
        line-height: 110.00000000000001%;
        letter-spacing: -2%;
        text-align: center;
    }
    .why__cards > li {
        flex: 0 0 clamp(260px, 28vw, 320px);
        width: clamp(260px, 28vw, 320px);
        max-width: 320px;
    }

    .why-card {
        min-height: 295px;
        padding: 24px;
        border-radius: 10px;
        background: rgba(255, 255, 255, 0.1);
        border: 1px solid rgba(255, 255, 255, 0.1);
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
        -webkit-backdrop-filter: blur(20px);
        backdrop-filter: blur(20px);
        display: flex;
        flex-direction: column;
        /* gap: 24px; */
    }
    .service-card {
        width: 100%;
    }

    .service__slide {
        flex-basis: min(320px, 88vw);
        width: min(320px, 88vw);
    }

    /* ——— Підвал: мобільний макет (колонка, логотип + «вгору», потім меню/документи) ——— */
    .site-footer {
        padding: 16px 0 24px;
    }

    .site-footer__stack {
        gap: 8px;
    }

    .site-footer__main {
        border-radius: 20px;
    }

    .site-footer__top {
        display: grid;
        grid-template-columns: 1fr auto;
        grid-template-rows: auto auto;
        align-items: start;
        gap: 60px 16px;
        padding: 40px 24px;
        padding-bottom: 60px;
    }

    .site-footer__brand {
        grid-column: 1;
        grid-row: 1;
    }

    .site-footer__logo img {
        max-height: 50px;
        height: 50px;
    }

    .site-footer__nav {
        grid-column: 1 / -1;
        grid-row: 2;
        flex-direction: column;
        flex-wrap: nowrap;
        align-items: flex-start;
        justify-content: flex-start;
        gap: 28px;
        width: 100%;
    }

    .site-footer__to-top {
        grid-column: 2;
        grid-row: 1;
        width: 48px;
        height: 48px;
        border-radius: 10px;
    }

    .site-footer__col {
        min-width: 0;
        width: 100%;
    }

    .site-footer__col-title {
        margin-bottom: 16px;
        font-size: 18px;
    }

    .site-footer__list {
        gap: 12px;
    }

    .site-footer__mid {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 24px;
        padding: 8px 20px 24px;
        padding-bottom: 45px;
    }

    .site-footer__tagline {
        order: 1;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        gap: 6px;
        text-align: left;
        font-size: 12px;
        line-height: 1.35;
    }

    .site-footer__tagline-dot {
        width: 6px;
        height: 6px;
    }

    .site-footer__copy {
        order: 2;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: flex-start;
        gap: 16px;
        width: 100%;
        font-size: 12px;
    }

    .site-footer__copy-brand {
        margin-right: 0;
    }

    .site-footer__credit {
        order: 3;
        justify-self: stretch;
        justify-content: flex-start;
        width: 100%;
    }

    .site-footer__bar {
        border-radius: 12px;
        padding: 16px 20px;
    }

    .site-footer__bar-text {
        font-size: 12px;
        line-height: 1.2;
    }
    .lead-form__inner {
        padding: 100px 24px;
    }
    .site-modal {
        padding: 12px;
    }
    .site-modal__body {
        padding: 60px 24px;
    }
    .site-modal__title {
        font-family: Nekst;
        font-weight: 600;
        font-style: Semi Bold;
        font-size: 34px;
        leading-trim: NONE;
        line-height: 85%;
        letter-spacing: -3%;
        text-align: center;

    }
    .site-modal__close {
        top: 20px;
        right: 20px;
    }

    .site-modal__body--review {
        padding: 48px 24px;
    }

    .review-modal__title {
        font-size: 28px;
    }
    .hero__bg-img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }
}

/* Планшет: переводимо хедер у бургер, щоб уникнути колізій меню */
@media (min-width: 769px) and (max-width: 1100px) {
    .site-header .header {
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
    }

    .site-header .header__brand {
        flex: 0 1 auto;
        min-width: 0;
    }

    .site-header .nav-glass,
    .site-header .header__actions {
        display: none;
    }

    .site-header .header__burger {
        display: grid;
        flex: 0 0 auto;
        margin-left: auto;
    }
}

/* Планшет L: стискаємо десктоп-меню, щоб не ламалась шапка */
@media (min-width: 1101px) and (max-width: 1300px) {
    .site-header .header {
        grid-template-columns: auto minmax(0, 1fr) auto;
        gap: 10px;
    }

    .site-header .nav-glass {
        width: 100%;
        max-width: 100%;
    }

    .site-header .nav-glass__bar {
        justify-content: center;
        gap: 6px 8px;
        max-width: 100%;
        min-height: 44px;
        padding: 2px 3px;
    }

    .site-header .nav-glass__pill,
    .site-header .nav-glass__links a {
        padding: 8px 10px;
        font-size: 13px;
    }

    .site-header .nav-glass__dropdown-panel--service,
    .site-header .nav-glass__dropdown-panel--process {
        width: min(92vw, 920px);
        max-width: 92vw;
    }

    .site-header--dark .header__actions {
        gap: 8px;
    }
}

/* Parallax 768–1600: scale лише на картках (.home-parallax__card), заголовок по центру — без scale */
@media (min-width: 768px) and (max-width: 1600px) {
    .home-parallax__sticky-content {
        padding: 16px 20px;
    }

    .home-parallax__item.home-parallax__card {
        transform-origin: center center;
    }
}

@media (min-width: 1501px) and (max-width: 1600px) {
    .home-parallax__item.home-parallax__card {
        -webkit-transform: scale(0.95);
        transform: scale(0.95);
    }
}

@media (min-width: 1351px) and (max-width: 1500px) {
    .home-parallax__item.home-parallax__card {
        -webkit-transform: scale(0.9);
        transform: scale(0.9);
    }
}

@media (min-width: 1201px) and (max-width: 1350px) {
    .home-parallax__item.home-parallax__card {
        -webkit-transform: scale(0.85);
        transform: scale(0.85);
    }
}

@media (min-width: 1051px) and (max-width: 1200px) {
    .home-parallax__item.home-parallax__card {
        -webkit-transform: scale(0.8);
        transform: scale(0.8);
    }
}

@media (min-width: 901px) and (max-width: 1050px) {
    .home-parallax__item.home-parallax__card {
        -webkit-transform: scale(0.75);
        transform: scale(0.75);
    }
}

@media (min-width: 768px) and (max-width: 900px) {
    .home-parallax__item.home-parallax__card {
        -webkit-transform: scale(0.7);
        transform: scale(0.7);
    }
}

/* Телефон ≤767: колонка з відступами */
@media (max-width: 767px) {
    .home-parallax {
        --home-parallax-stack-gap: 40px;
        padding-top: 16px;
    }

    .home-parallax__sticky {
        height: auto;
        min-height: 100vh;
    }

    .home-parallax__sticky-content {
        height: auto;
        min-height: 100svh;
        padding: 12px;
    }

    .home-parallax__window {
        min-height: 100%;
        height: auto;
        background-image: url("../image/paralax/bg-mobile.png");
        background-position: center top;
        background-size: cover;
        overflow: visible;
        -webkit-transform: none;
        transform: none;
    }

    .home-parallax__blocks {
        position: relative;
        top: auto;
        left: auto;
        right: auto;
        min-height: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: var(--home-parallax-stack-gap);
        padding: 32px 16px 56px;
        box-sizing: border-box;
        transform: none !important;
        will-change: auto;
    }

    .home-parallax__item {
        position: relative;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
        width: 100%;
        max-width: 360px;
        align-self: center !important;
        margin: 0;
    }

    .home-parallax__card {
        width: 100%;
        max-width: 360px;
        padding: 24px;
        box-sizing: border-box;
    }

    .home-parallax__header--center {
        width: min(calc(100% - 32px), 360px);
        max-width: 360px;
        margin-block: 4px;
    }
}

@media (max-width: 1024px) {
    .hero__layout {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        gap: 28px;
    }

    main[data-page="home"] .hero__left {
        min-height: 0;
        grid-column: auto;
        grid-row: auto;
    }

    /* Одна glass-картка на телефоні: hero__panel; hero__stack — лише обгортка aside */
    main[data-page="home"] .hero__panel {
        display: flex;
        flex-direction: column;
        gap: 20px;

    }

    main[data-page="home"] .hero__panel .hero__stack {
        display: block;
    }

    main[data-page="home"] .hero__foot {
        gap: 20px;
    }

    main[data-page="home"] .hero__panel .hero__foot,
    main[data-page="home"] .hero__panel .hero__social,
    main[data-page="home"] .hero__panel .hero__dock--call-only,
    main[data-page="home"] .hero__panel .hero-feature {
        grid-column: auto;
        grid-row: auto;
        align-self: auto;
        justify-self: auto;
    }

    main[data-page="home"] .hero__panel .hero-feature {

    }

    main[data-page="home"] .hero__panel .hero__dock--call-only .cta-card--dock {
        width: -webkit-fill-available;
    }

    .intro--home .btn-primary {
        margin-bottom: 0;
        width: fit-content;
        padding: 0px 32px;
    }

    .hero-feature__head {
        flex-wrap: wrap;
        row-gap: 10px;
    }

    .hero-feature__title {
        max-width: min(100%, 420px);
    }

    .home-segments__grid {
        display: flex;
        flex-direction: column;
        gap: clamp(8px, 0.6vw, 12px);
    }

    .home-segments__card--private {
        order: 1;
    }

    .home-segments__card--business {
        order: 2;
    }

    .home-segments__card--accent {
        order: 3;
    }

    .home-segments__head {
        flex-direction: column-reverse;
        align-items: flex-start;
    }
    .home-segments__title {
        font-family: Nekst;
        font-weight: 600;
        font-style: Semi Bold;
        font-size: 34px;
        leading-trim: NONE;
        line-height: 85%;
        letter-spacing: -3%;

    }
    .home-segments__foot {
        padding: 24px;
    }
}

@media (max-width: 1200px) {
    .reviews-home__card,
    .reviews-home__cta-card {
        flex-basis: calc((100% - 8px) / 2);
    }
}

@media (max-width: 900px) {
    /* Слайдер між заголовком і стрілками; стрілки під картками */
    .reviews-home .container {
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    .reviews-home__head {
        display: contents;
    }

    .reviews-home .trust__brand {
        order: 1;
    }

    .reviews-home__title {
        order: 2;
        margin-left: 0;
        justify-self: start;
        max-width: 369px;
        transform: none;
        font-family: Nekst, sans-serif;
        font-weight: 600;
        font-size: 34px;
        line-height: 0.85;
        letter-spacing: -0.03em;
        text-align: left;
    }

    .reviews-home__viewport {
        order: 3;
    }

    .reviews-home__nav {
        order: 4;
        align-self: flex-start;
        gap: 6px;
    }

    .reviews-home__nav-btn {
        width: 70px;
        height: 50px;
        min-width: 70px;
        min-height: 50px;
        border-radius: 24px;
    }

    .reviews-home__card,
    .reviews-home__cta-card {
        flex-basis: 100%;
        min-height: 380px;
        padding: 24px;
        padding-bottom: 32px;
    }
    .reviews-home__cta-btn {
        padding: 12px 24px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .projects__slide-track {
        transition-duration: 0.35s;
        transition-timing-function: ease;
    }
}

@media (min-width: 769px) and (hover: hover) and (pointer: fine) {
    /* Лише геометрія картки; opacity <li> не анімуємо — інакше «двоїться» компактне і повне обличчя */
    .process-tile--strip {
        transition:
            flex-basis 0.45s cubic-bezier(0.33, 1, 0.68, 1),
            max-width 0.45s cubic-bezier(0.33, 1, 0.68, 1),
            min-width 0.45s cubic-bezier(0.33, 1, 0.68, 1),
            width 0.45s cubic-bezier(0.33, 1, 0.68, 1);
    }

    .process-tile--strip .process-tile__face--compact {
        position: absolute;
        inset: 0;
        z-index: 2;
        opacity: 1;
        visibility: visible;
        transition:
            opacity 0.16s ease,
            visibility 0s linear 0.16s;
    }

    .process-tile--strip .process-tile__face--full {
        display: flex;
        position: absolute;
        inset: 0;
        z-index: 1;
        width: 100%;
        max-width: 100%;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition:
            opacity 0.18s ease,
            visibility 0s linear 0.18s;
    }

    .process-tile-strip {
        flex-wrap: nowrap;
        overflow: hidden;
        gap: 4px;
        width: 100%;
    }

    .process-tile-strip .process-tile--strip.is-active {
        flex: 1 1 0%;
        width: auto;
        min-width: clamp(96px, 22vw, 200px);
        max-width: none;
        z-index: 8;
        opacity: 1;
        box-shadow: none;
    }

    .process-tile-strip .process-tile--strip.is-active .process-tile__stage {
        font-size: clamp(18px, 2.6vw, 28px);
        letter-spacing: -0.03em;
        white-space: nowrap;
    }

    .process-tile-strip .process-tile--strip.is-active .process-tile__text {
        font-size: clamp(11px, 1.55vw, 15px);
        line-height: 128%;
        letter-spacing: -0.02em;
        max-width: none;
        display: block;
        overflow: visible;
    }

    .process-tile-strip .process-tile--strip:not(.is-active) {
        flex: 0 1 72px;
        min-width: 40px;
        max-width: 72px;
        width: auto;
        flex-shrink: 1;
        z-index: 1;
        opacity: 0.42;
        box-shadow: none;
    }

    /* Активна: спочатку ховаємо компакт (зверху), потім показуємо повне — z-index щоб не було «привидів» */
    .process-tile-strip .process-tile--strip.is-active .process-tile__face--compact {
        z-index: 0;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition:
            opacity 0.14s ease,
            visibility 0s linear 0.14s;
    }

    .process-tile-strip .process-tile--strip.is-active .process-tile__face--full {
        z-index: 2;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transition:
            opacity 0.22s ease 0.1s,
            visibility 0s linear 0.1s;
    }

    .process-tile-strip .process-tile--strip:not(.is-active) .process-tile__face--compact {
        z-index: 2;
        opacity: 1;
        visibility: visible;
        transition:
            opacity 0.18s ease 0.06s,
            visibility 0s linear 0.06s;
    }

    /* Закриття: швидко прибираємо повний текст, поки смужка ще стискається — інакше переноси й накладення */
    .process-tile-strip .process-tile--strip:not(.is-active) .process-tile__face--full {
        z-index: 0;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition:
            opacity 0.06s linear,
            visibility 0s linear 0.06s;
    }
}

@media (hover: none), (pointer: coarse) {
    @media (min-width: 769px) {
        .process-tile--strip {
            flex: 1 1 100%;
            width: 100%;
            min-width: 0;
            max-width: none;
        }

        .process-tile--strip .process-tile__face--compact {
            display: none;
        }

        .process-tile--strip .process-tile__face--full {
            display: flex;
            position: relative;
            opacity: 1;
            visibility: visible;
            width: 100%;
            max-width: none;
            pointer-events: auto;
        }

        .process-tile-strip {
            flex-direction: column;
        }
    }
}

@media (max-width: 900px) {
    .process__lede {
        margin-top: -2px;
        max-width: 100%;
        font-size: 14px;
        line-height: 1.4;
    }

    .process__row {
        flex-wrap: wrap;
    }

    .process__track {
        flex: 1 1 100%;
        width: 100%;
    }

    .process__cta {
        flex: 1 1 100%;
        max-width: none;
        width: 100%;
    }
}

@media (max-width: 1040px) {
    .service__slide {
        flex-basis: min(400px, 88vw);
        width: min(400px, 88vw);
        max-width: 400px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .site-modal__backdrop {
        transition-duration: 0.01ms;
    }

    .site-modal__panel,
    .site-modal--hidden .site-modal__panel {
        transition-duration: 0.01ms;
    }
}

@media (prefers-reduced-motion: reduce) {
    .site-toast {
        transition-duration: 0.01ms;
    }
}

@media (max-width: 1100px) {
    .cost__grid {
        grid-template-columns: 1fr 1fr;
    }

    .cost__intro {
        grid-column: 1 / -1;
        flex-direction: row;
        align-items: end;
        justify-content: space-between;
        gap: 32px;
        padding: 0;
    }

    .cost__title {
        /* max-width: 14ch; */
        font-family: Nekst;
        font-weight: 600;
        font-style: Semi Bold;
        font-size: 34px;
        leading-trim: NONE;
        line-height: 85%;
        letter-spacing: -3%;

    }
    .cost__lede {
        font-family: Nekst;
        font-weight: 500;
        font-style: Medium;
        font-size: 16px;
        leading-trim: NONE;
        line-height: 120%;
        letter-spacing: -3%;

    }
}

@media (max-width: 700px) {
    .cost__grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .cost__intro {
        grid-column: auto;
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .cost__submit {
        min-height: 132px;
        padding: 20px 24px;
    }

    .cost__textarea {
        min-height: 110px;
    }
}

@media (max-width: 1100px) {
    .quiz__panel {
        grid-template-columns: 1fr;
        gap: 32px;
        padding: 40px;
    }

    .quiz__intro {
        flex-direction: row;
        justify-content: space-between;
        align-items: flex-end;
        gap: 32px;
    }
}

@media (max-width: 760px) {
    .quiz__panel {
        padding: 60px 24px;
        border-radius: 16px;
    }
    .quiz__title {
        font-family: Nekst;
        font-weight: 600;
        font-style: Semi Bold;
        font-size: 34px;
        leading-trim: NONE;
        line-height: 85%;
        letter-spacing: -3%;

    }
    .quiz__intro {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px
    }


    .quiz__lede {
        font-family: Nekst;
        font-weight: 500;
        font-style: Medium;
        font-size: 18px;
        leading-trim: NONE;
        line-height: 110.00000000000001%;
        letter-spacing: -3%;

    }
    .quiz__head {
        /* flex-direction: column;
        align-items: flex-start; */
        gap: 12px;
    }
    .quiz__question {
        font-family: Nekst;
        font-weight: 600;
        font-style: Bold;
        font-size: 18px;
        leading-trim: NONE;
        line-height: 100%;
        letter-spacing: -1%;
        color: var(--color-ink);        
    }
    .quiz__actions--start,
    .quiz__actions--mid,
    .quiz__actions--finish {
        grid-template-columns: 1fr;
        justify-content: stretch;
        justify-items: stretch;
    }

    .quiz__actions .quiz__back,
    .quiz__actions .quiz__next,
    .quiz__actions .quiz__submit {
        width: -webkit-fill-available;
        min-width: 0;
        max-width: none;
    }
    .quiz__opt--dark {
        padding: 16px;
    }
    .quiz__opt-title {
        font-family: Nekst, sans-serif;
        font-weight: 600;
        font-size: 16px;
        line-height: 1.15;
        letter-spacing: -0.02em;
    }
    .quiz__grid--photo {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .quiz__step {
        gap: 12px;
    }

    .quiz__step-body {
        --quiz-card-size: calc((100cqw - 6px) / 2);
    }

    .quiz__step-body:has(.quiz__grid--photo) {
        --quiz-step-content-h: calc(var(--quiz-card-size) * 3 + 12px);
        min-height: var(--quiz-step-content-h);
    }

    .quiz__step-body:has(.quiz__grid--dark),
    .quiz__step-body--form {
        min-height: unset;
    }

    .quiz__step-body .quiz__grid {
        flex: none;
        align-content: unset;
        width: 100%;
    }

    .quiz__grid--photo,
    .quiz__grid--dark {
        grid-auto-rows: auto;
        gap: 6px;
    }

    .quiz__grid--photo > .quiz__opt {
        width: 100%;
        height: auto;
        min-width: 0;
        max-width: none;
        min-height: 0;
        max-height: none;
        aspect-ratio: 1 / 1;
        outline-offset: 0;
    }

    .quiz__grid--dark {
        grid-template-rows: auto;
    }

    .quiz__grid--dark > .quiz__opt {
        width: 100%;
        height: auto;
        min-height: 0;
        aspect-ratio: auto;
        outline-offset: 0;
    }
    .home-parallax__glow {
        display: none;
    }
    .quiz__opt-label {
        font-family: Nekst;
        font-weight: 700;
        font-style: Bold;
        font-size: 16px;
        leading-trim: NONE;
        line-height: 100%;
        letter-spacing: -1%;
        bottom: 14px;
        left: 14px;
    }

    .quiz__opt--cctv .quiz__opt-label {
        line-height: 1.15;
    }

    .ownership-verified__panel {
        background-image: var(--ownership-verified-bg-mobile, url("../image/ownership-verified-over-time/bg-mobile.png"));
        background-position: center top;
        background-size: cover;
        min-height: unset;
    }

    .ownership-verified__inner {
        position: relative;
        z-index: 1;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        gap: 0px;
        min-height: unset;
        padding: clamp(40px, 5vw, 70px) clamp(24px, 4vw, 62px) clamp(32px, 4vw, 48px);
    }

    .ownership-verified__bg-element {
        display: flex;
        flex-shrink: 0;
        justify-content: center;
        width: 100%;
        pointer-events: none;
    }

    .ownership-verified__bg-element img {
        display: block;
        width: 100%;
        max-width: 85%;
        height: auto;
        object-fit: contain;
    }
}

@media (max-width: 480px) {
    /* .quiz__grid {
        grid-template-columns: 1fr;
    } */

    .quiz__opt {
        aspect-ratio: 1
    }
}

@media (max-width: 900px) {
    .ownership-verified__actions {
        align-self: stretch;
        max-width: none;
    }

    .ownership-verified__card {
        flex: none;
        width: -webkit-fill-available;
        min-height: 105px;
    }

    .ownership-verified__title {
        font-family: Nekst;
        font-weight: 600;
        font-style: Semi Bold;
        font-size: 40px;
        leading-trim: NONE;
        line-height: 85%;
        letter-spacing: -3%;
        
    }
    .burger-nav__dropdown-link--lead {
        font-family: Nekst;
        font-weight: 400;
        font-style: Medium;
        font-size: 14px;
        leading-trim: NONE;
        line-height: 100%;
        letter-spacing: -3%;

    }
}


@media (max-width: 768px) {
    .catalog-brands__row {
        flex-direction: column;
        gap: 16px;
    }

    .catalog-brands__cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        width: -webkit-fill-available;
    }

    .catalog-brand-card {
        min-width: 0;
        max-width: 100%;
        min-height: 80px;
        font-family: Nekst;
        font-weight: 600;
        font-style: Semi Bold;
        font-size: 20px;
        leading-trim: NONE;
        line-height: 110.00000000000001%;
        letter-spacing: 0%;
        vertical-align: middle;
        text-transform: uppercase;
        padding: 17px;
    }

    .catalog-alpha__btn {
        width: 36px;
        height: 36px;
        font-size: 14px;
    }

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

    .brand-product-card,
    .brand-product-card__link {
        min-height: 320px;
    }
    .catalog-breadcrumbs,
    .catalog-breadcrumbs a,
    .catalog-breadcrumbs [aria-current="page"] {
        font-size: 12px;
        line-height: 1.35;
    }
    .brand-page__title {
        font-family: Nekst;
        font-weight: 700;
        font-style: Bold;
        font-size: 40px;
        leading-trim: NONE;
        line-height: 85%;
        letter-spacing: -2%;

    }
    .site-header--dark {
        padding: 20px 0px;
    }

    .product-page__layout {
        display: flex;
        flex-direction: column;
        gap: 32px;
    }

    /* Галерея → інфо/акордеони → вкладки (характеристики, відгуки, опис) */
    .product-page__main {
        display: contents;
    }

    .product-page__gallery {
        order: 1;
        max-width: none;
    }

    .product-page__aside {
        order: 2;
        max-width: none;
    }

    .product-page__tabs-wrap {
        order: 3;
        max-width: none;
    }

    .product-page__gallery-stage {
        min-height: 360px;
        padding: 32px 20px;
    }

    .product-page__gallery-main {
        min-height: 280px;
    }

    .product-page__gallery-thumbs {
        max-width: none;
    }

    .product-page__thumb {
        width: 88px;
        height: 88px;
        padding: 12px 16px;
    }

    .product-page__buy {
        align-items: stretch;
    }

    .product-page__buy-btn {
        width: 100%;
    }

    .product-reviews__head {
        flex-direction: column;
        align-items: stretch;
    }

    .product-reviews__cta {
        width: fit-content;
    }
    .product-tabs__nav {
        gap: 3px
    }
}

@media (max-width: 1200px) {
    .brand-products__grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 992px) {
    .brand-products__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 480px) {
    .brand-products__grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 768px) {
    /* Кошик каталогу: лише зелений круг у правому верхньому куті */
    .site-header--dark .header__actions {
        display: block;
        position: fixed;
        top: 74px;
        right: max(12px, env(safe-area-inset-right, 0px));
        width: 60px;
        height: 60px;
        margin: 0;
        padding: 0;
        pointer-events: none;
        z-index: 20;
    }

    .site-header--dark .header__actions > .btn-call,
    .site-header--dark .header__actions > .icon-btn {
        display: none;
    }

    .site-header--dark .header__cart-slot {
        position: relative;
        top: auto;
        right: auto;
        pointer-events: auto;
    }

    .cart-modal {
        max-height: calc(100vh - 32px);
        padding: 20px 16px;
        gap: 20px;
    }

    .cart-modal__card {
        flex-direction: column;
        padding: 20px;
        gap: 20px;
    }

    .cart-modal__card-side {
        align-items: stretch;
        width: 100%;
    }

    .cart-modal__price {
        text-align: right;
        font-family: Nekst;
        font-weight: 600;
        font-style: Semi Bold;
        font-size: 32px;
        leading-trim: NONE;
        line-height: 100%;
        letter-spacing: -4%;

    }

    .cart-modal__controls {
        justify-content: space-between;
    }

    .cart-modal__extras {
        flex-direction: column;
        align-items: flex-start;
    }

    .cart-modal__benefits {
        width: 100%;
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
    }
    .cart-modal__total {
        font-family: Nekst;
        font-weight: 700;
        font-style: Bold;
        font-size: 42px;
        leading-trim: NONE;
        line-height: 120%;
        letter-spacing: -5%;
        text-transform: uppercase;

    }
    .cart-modal__foot {
        gap: 12px;
    }
    .cart-modal__checkout {
        /* max-width: none; */
        /* margin-left: 0; */
        width: -webkit-fill-available;
        min-width: auto;
    }
    .cart-modal__card-main {
        display: flex;
        align-items: flex-start;
        gap: 8px;
        flex: 1;
        min-width: 0;
        flex-direction: column;
    }
    .cart-modal__continue {
        text-align: center;
        font-family: Nekst;
        font-weight: 400;
        font-style: Medium;
        font-size: 20px;
        leading-trim: NONE;
        line-height: 130%;
        letter-spacing: -3%;
        text-align: center;
        padding: 32px 0px;
    }
    .cart-modal__thumb {
        width: 85px;
        height: auto;
        aspect-ratio: 1;
    }
    .cart-modal__name {

    }
}

@media (max-width: 1100px) {
    .checkout-page__layout {
        grid-template-columns: 1fr;
    }

    .checkout-summary {
        position: static;
    }
}

@media (max-width: 768px) {
    .checkout-promo {
        align-items: flex-start;
        padding: 24px;
    }
    .checkout-promo__text {
        font-family: Nekst;
        font-weight: 400;
        font-style: Medium;
        font-size: 16px;
        leading-trim: NONE;
        line-height: 125%;
        letter-spacing: -4%;

    }
    .checkout-step__num {
        display: grid;
        place-items: center;
        width: 32px;
        height: 32px;
        min-width: 32px;
        border-radius: 4px;
        background: #05262d;
        color: #fff;
        font-family: Nekst, sans-serif;
        font-weight: 500;
        font-size: 16px;
        line-height: 1;
    }
    .checkout-step__title {
        font-family: Nekst;
        font-weight: 600;
        font-style: Semi Bold;
        font-size: 20px;
        leading-trim: NONE;
        line-height: 100%;
        letter-spacing: -4%;

    }
    .checkout-field__input--phone input {
        flex: 1;
        min-width: 0;
        min-height: 51px;
        padding: 0 16px;
        border: 0;
        background: transparent;
        font: inherit;
        color: inherit;
        width: inherit;
    }
    .checkout-field__input--phone {
        gap: 0px;
    }
    .checkout-form__card {
        padding: 16px;
    }

    .checkout-step {
        padding: 16px;
    }

    .checkout-field {
        grid-template-columns: 1fr;
    }

    .checkout-field__label {
        padding-top: 0;
    }

    .checkout-field > .checkout-field__input,
    .checkout-field > .checkout-field__row {
        grid-column: 1;
    }

    .checkout-payment-card {
        margin-left: 0;
    }

    .checkout-summary {
        padding: 24px 16px;
    }

    .checkout-summary__item {
        flex-direction: column;
        align-items: stretch;
    }

    .checkout-summary__price {
        text-align: right;
    }
    .checkout-page__breadcrumbs {
        margin-bottom: 50px;
    }
    .checkout-page__title { 
        font-family: Nekst;
        font-weight: 700;
        font-style: Bold;
        font-size: 40px;
        leading-trim: NONE;
        line-height: 80%;
        letter-spacing: -2%;
        margin-bottom: 20px;
    }
}

/* ——— Дякуємо за покупку ——— */
@media (max-width: 1100px) {
    .order-thank-card {
        min-height: clamp(480px, 72vh, 834px);
    }
}

@media (max-width: 768px) {

    .order-thank-card {
        min-height: min(640px, calc(100vh - 140px));
        min-height: min(640px, calc(100svh - 140px));
        padding: 48px 16px 24px;
        border-radius: 16px;
    }

    .order-thank-card__body {
        max-width: 100%;
    }

    .order-thank-card__logo {
        margin-bottom: 28px;
    }

    .order-thank-card__logo-img {
        width: 100px;
    }

    .order-thank-card__title {
        margin-bottom: 16px;
        font-size: 40px;
        line-height: 0.8;
        letter-spacing: -0.02em;
    }

    .order-thank-card__order {
        margin-bottom: 20px;
        font-size: 18px;
        line-height: 1.3;
    }

    .order-thank-card__cabinet {
        max-width: min(100%, 300px);
        font-size: 16px;
        line-height: 1.25;
        letter-spacing: -0.04em;
        gap: 8px;
        flex-direction: column;
    }

    .page-checkout-thank .order-thank-card__cabinet-btn {
        width: 36px;
        height: 36px;
        margin-left: 6px;
    }

    .order-thank-card__foot {
        padding-top: 20px;
        font-size: 13px;
    }
}

@media (max-width: 480px) {
    .order-thank-card {
        min-height: min(520px, calc(100vh - 112px));
        min-height: min(520px, calc(100svh - 112px));
        padding: 40px 12px 20px;
        border-radius: 12px;
    }

    .order-thank-card__logo {
        margin-bottom: 24px;
    }

    .order-thank-card__logo-img {
        width: 88px;
    }

    .order-thank-card__title {
        margin-bottom: 12px;
        font-size: 32px;
    }

    .order-thank-card__order {
        margin-bottom: 16px;
        font-size: 16px;
    }

    .order-thank-card__cabinet {
        max-width: 260px;
        font-size: 15px;
    }

    .page-checkout-thank .order-thank-card__cabinet-btn {
        width: 32px;
        height: 32px;
        border-radius: 6px;
    }

    .page-checkout-thank .order-thank-card__cabinet-btn img {
        width: 13px;
        height: 13px;
    }

    .order-thank-card__foot {
        gap: 8px;
        padding-top: 16px;
        font-size: 12px;
    }
}

@media (max-width: 1100px) {
    .contacts-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .contacts-lead {
        grid-template-columns: 1fr 1fr;
    }

    .contacts-lead__intro {
        grid-column: 1 / -1;
        flex-direction: row;
        align-items: flex-end;
        justify-content: space-between;
        gap: 32px;
    }

    .contacts-lead__title {
        max-width: none;
        font-size: 34px;
    }

    .contacts-lead__lede {
        max-width: 28ch;
        text-align: right;
    }
}

@media (max-width: 768px) {
    .contacts-cards {
        grid-template-columns: 1fr;
    }

    .contacts-card {
        min-height: 0;
        gap: 32px;
    }

    .contacts-lead {
        grid-template-columns: 1fr;
        gap: 16px;
        padding: 60px 24px;
    }

    .contacts-lead__intro {
        grid-column: auto;
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .contacts-lead__lede {
        text-align: left;
        margin-bottom: 40px;
        max-width: fit-content;
    }

    .contacts-lead__submit {
        min-height: 132px;
        padding: 20px 24px;
    }

    .contacts-lead__textarea {
        min-height: 110px;
    }
}

@media (max-width: 480px) {
    .contacts-card {
        padding: 24px 20px;
    }

    .contacts-lead__title {
        font-size: 28px;
    }
}

@media (max-width: 1100px) {
    .account-page__inner {
        grid-template-columns: 260px minmax(0, 1fr);
    }

    .account-profile {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .account-btn {
        margin-top: 16px;
    }
}

@media (max-width: 768px) {
    .account-page__inner {
        grid-template-columns: 1fr;
    }

    .account-page__inner--guest {
        max-width: none;
    }

    .account-nav {
        position: static;
    }

    .account-nav__list {
        padding: 12px;
    }

    .account-main {
        padding: 24px 20px;
    }

    .account-form__meta {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    .account-bonus__tiers {
        gap: 6px;
    }

    .account-bonus-tier {
        width: calc(50% - 3px);
    }

    .account-support__cards-row {
        grid-template-columns: 1fr;
    }

    .account-support-card {
        min-height: 0;
        padding: 24px 20px;
    }
    .catalog-category__title {
        font-family: Nekst;
        font-weight: 600;
        font-style: Semi Bold;
        font-size: 34px;
        leading-trim: NONE;
        line-height: 85%;
        letter-spacing: -3%;
    }
}

@media (max-width: 480px) {
    .account-bonus__card {
        padding: 20px 16px;
    }

    .account-bonus-tier {
        width: 100%;
    }

    .account-support__cards-row {
        grid-template-columns: 1fr;
    }

    .account-support-card {
        min-height: 0;
        padding: 24px 20px;
    }

    .account-support-faq__summary {
        padding: 16px;
    }

    .account-support-faq__answer {
        padding: 0 16px 16px;
    }
}

@media (max-width: 1100px) and (min-width: 769px) {
    .account-support__cards-row {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 900px) {
    .account-orders__head {
        display: none;
    }

    .account-orders__row {
        grid-template-columns: 1fr;
        gap: 12px;
        padding: 16px;
        min-height: 0;
    }

    .account-orders__head-spacer,
    .account-orders__spacer {
        display: none;
    }

    .account-orders__cell--date,
    .account-orders__cell--sum {
        padding-top: 0;
        text-align: left;
    }

    .account-orders__cell--sum {
        text-align: left;
    }

    .account-orders__number {
        font-size: 14px;
    }

    .account-orders__list li {
        font-size: 13px;
        line-height: 1.3;
    }
}

@media (max-width: 1200px) {
    .blog-page__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .blog-page {
        padding-bottom: 48px;
    }

    .blog-page__title,
    .blog-article__title {
        font-size: 32px;
    }

    .blog-page__filters {
        flex-direction: column;
        align-items: flex-start;
    }

    .blog-page__grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .blog-card__image {
        height: 220px;
    }

    .blog-card__body {
        gap: 24px;
        padding: 20px;
    }

    .blog-card__foot {
        flex-direction: column;
        align-items: flex-start;
    }

    .blog-card__more {
        width: -webkit-fill-available;
    }

    .blog-article__image {
        max-height: 320px;
    }

    .blog-article__inline-image {
        max-height: 280px;
    }

    .blog-article-cta__grid {
        grid-template-columns: 1fr;
    }

    .blog-article-cta__intro {
        min-height: 0;
        gap: 12px;
    }

    .blog-offers__head {
        flex-direction: column;
        align-items: flex-start;
    }

    .blog-offers__nav {
        align-self: flex-end;
    }

    .blog-offers__slide {
        flex: 0 0 min(300px, 85vw);
        width: min(300px, 85vw);
    }

    .blog-project-gallery {
        width: 100%;
        max-width: 100%;
        margin-inline: auto;
    }

    .blog-project-gallery__stage {
        min-height: 380px;
    }

    .blog-project-gallery__track {
        min-height: 380px;
    }

    .blog-project-gallery__slide--side {
        width: min(280px, 78vw);
        height: 220px;
        margin-bottom: 40px;
    }

    .blog-project-gallery__slide--center {
        width: min(320px, 88vw);
        height: 280px;
    }

    .blog-project-points {
        grid-template-columns: 1fr;
    }

    .blog-project-point {
        padding: 28px 24px;
        gap: 24px;
    }
}

@media (max-width: 768px) {
    .policy-page__intro {
        padding: 0;
    }

    .policy-section {
        padding: 32px 24px;
    }
}

@media (max-width: 1024px) {
    .blog-article-cta__grid {
        grid-template-columns: 1fr;
    }

    .blog-article-cta__intro {
        min-height: 0;
    }

    .blog-article-cta__title {
        max-width: none;
    }
}
