        @font-face {
            font-family: "Bebas Neue";
            src: url("../fonts/BebasNeue-Regular-button.otf") format("opentype");
            font-weight: 400;
            font-style: normal;
            font-display: swap;
        }

        @font-face {
            font-family: "Bebas Neue";
            src: url("../fonts/BebasNeue-Bold.otf") format("opentype");
            font-weight: 700;
            font-style: normal;
            font-display: swap;
        }
        
        @font-face {
            font-family: "Gilroy";
            src: url("../fonts/Gilroy-Light.ttf") format("truetype");
            font-weight: 300;
            font-style: normal;
            font-display: swap;
        }

        @font-face {
            font-family: "Gilroy";
            src: url("../fonts/Gilroy-Medium.ttf") format("truetype");
            font-weight: 500;
            font-style: normal;
            font-display: swap;
        }

        @font-face {
            font-family: "Gilroy";
            src: url("../fonts/Gilroy-Bold.ttf") format("truetype");
            font-weight: 700;
            font-style: normal;
            font-display: swap;
        }

        @font-face {
            font-family: "Gilroy";
            src: url("../fonts/Gilroy-ExtraBold.otf") format("opentype");
            font-weight: 800;
            font-style: normal;
            font-display: swap;
        }

        :root {
            --bg: #fafafa;
            --text: #0a0a0a;
            --text-soft: rgba(10, 10, 10, 0.68);
            --line: rgba(10, 10, 10, 0.08);
            --gold: #caa56b;
            --shadow: 0 30px 80px rgba(10, 10, 10, 0.08);
            --marquee-surface: #f6f6f3;
            --page-grid-max: 1380px;
            --page-grid-gutter: 48px;
            --viewport-width: 100vw;
            --viewport-height: 100vh;
            --rail-inline-offset: calc(100vw * 0.06);
            --rail-shell-width: calc(100vw - (var(--rail-inline-offset) * 2));
            --overlay-safe-height: calc(var(--viewport-height) - 40px);
            --modal-safe-height: calc(var(--viewport-height) - 88px);
            --desktop-page-scale: 1;

            /* Базовый вьюпорт для статической раскладки */
            --layout-base-width: 1897;
            --layout-base-height: 948;

            /* Логика направляющих из index3 */
            --debug-line-color: #ff0000;
            --debug-line-thickness: 1px;
            --debug-left-offset: calc(100vw * 0.06);
            --debug-right-offset: calc(100vw * 0.06);
            --debug-top-ratio-offset: calc(100vh * 0.1);
            --debug-static-y-factor: 1;
            --debug-static-third-y-factor: 0.9;
            --debug-static-y-once: 100vh;
            --debug-static-third-y-once: 90vh;

            --grid-x-lines: 10;
            --grid-y-lines: 15;
            --grid-color: rgba(0, 102, 255, 0.55);
            --grid-color-strong: rgba(255, 102, 0, 0.95);
            --grid-label-bg: rgba(255, 255, 255, 0.92);
            --grid-label-color: #0b1a33;
            --grid-label-border: rgba(11, 26, 51, 0.18);
            --grid-line-thickness: 1px;
        }

        /* Направляющие и статическая сетка из index3 */
        .debug-overlay {
            position: fixed;
            inset: 0;
            pointer-events: none;
            z-index: 9999;
        }

        .debug-line {
            position: absolute;
            background: var(--debug-line-color);
        }

        .debug-line--vertical {
            top: 0;
            bottom: 0;
            width: var(--debug-line-thickness);
        }

        .debug-line--left {
            left: var(--debug-left-offset);
        }

        .debug-line--right {
            right: var(--debug-right-offset);
        }

        .debug-line--horizontal {
            left: 0;
            right: 0;
            height: var(--debug-line-thickness);
        }

        .debug-line--top-ratio {
            top: var(--debug-top-ratio-offset);
        }

        .debug-line--static-y-once {
            top: var(--debug-static-y-once);
        }

        .debug-line--static-third-y-once {
            top: var(--debug-static-third-y-once);
        }

        .grid-overlay {
            position: fixed;
            inset: 0;
            pointer-events: none;
            z-index: 9998;
        }

        .grid-line-vertical,
        .grid-line-horizontal {
            position: absolute;
            background: var(--grid-color);
        }

        .grid-line-vertical {
            width: var(--grid-line-thickness);
        }

        .grid-line-horizontal {
            height: var(--grid-line-thickness);
        }

        .grid-line-boundary {
            background: var(--grid-color-strong);
            box-shadow: 0 0 0 1px rgba(255, 102, 0, 0.08);
        }

        .grid-label {
            position: absolute;
            padding: 2px 6px;
            font: 600 11px/1.2 Arial, sans-serif;
            color: var(--grid-label-color);
            background: var(--grid-label-bg);
            border: 1px solid var(--grid-label-border);
            border-radius: 999px;
            white-space: nowrap;
            transform: translate(-50%, -50%);
            box-sizing: border-box;
        }

        .grid-label--top {
            transform: translate(-50%, calc(-100% - 6px));
        }

        .grid-label--bottom {
            transform: translate(-50%, 6px);
        }

        .grid-label--left {
            transform: translate(calc(-100% - 6px), -50%);
        }

        .grid-label--right {
            transform: translate(6px, -50%);
        }

        .grid-info {
            position: fixed;
            left: 16px;
            bottom: 16px;
            z-index: 10000;
            pointer-events: none;
            padding: 10px 12px;
            border-radius: 12px;
            background: rgba(255, 255, 255, 0.94);
            border: 1px solid rgba(0, 0, 0, 0.08);
            font: 600 12px/1.45 Arial, sans-serif;
            color: #111;
            box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
        }

        .debug-overlay,
        .grid-overlay,
        .grid-info {
            display: none !important;
        }

        * {
            box-sizing: border-box;
        }

        html {
            scroll-behavior: smooth;
        }

        body {
            margin: 0;
            min-width: 320px;
            min-height: 100vh;
            width: 100%;
            background: var(--bg);
            color: var(--text);
            font-family: "Gilroy", Arial, sans-serif;
        }

        @media (min-width: 1200px) {
            html.scale-like-125 {
                overflow-x: hidden;
            }

            html.scale-like-125 body {
                zoom: var(--desktop-page-scale);
                width: calc(100% / var(--desktop-page-scale));
                max-width: calc(100% / var(--desktop-page-scale));
                margin-left: auto;
                margin-right: auto;
            }
        }

        @supports not (zoom: 1) {
            @media (min-width: 1200px) {
                html.scale-like-125 {
                    overflow-x: hidden;
                }

                html.scale-like-125 body {
                    transform: scale(var(--desktop-page-scale));
                    transform-origin: top center;
                    width: calc(100% / var(--desktop-page-scale));
                    max-width: calc(100% / var(--desktop-page-scale));
                    margin-left: auto;
                    margin-right: auto;
                }
            }
        }

        @media (min-width: 1200px) {
            html.is-desktop-short {
                --page-grid-max: 1180px;
                --page-grid-gutter: 112px;
            }

            html.is-desktop-tall {
                --page-grid-max: 1240px;
                --page-grid-gutter: 88px;
            }

            html.is-desktop-short .topbar__inner,
            html.is-desktop-tall .topbar__inner {
                width: min(calc(100% - var(--page-grid-gutter)), calc(var(--page-grid-max) + 32px));
            }

            html.is-desktop-short .hero__inner {
                grid-template-columns: minmax(0, 1fr) minmax(360px, 420px);
                gap: 16px;
                padding-top: 14px;
            }

            html.is-desktop-short .hero__content {
                max-width: 710px;
                padding-bottom: 44px;
            }

            html.is-desktop-short .hero__title {
                font-size: clamp(3.7rem, 4.95vw, 5.35rem);
            }

            html.is-desktop-short .hero__text {
                max-width: 58ch;
            }

            html.is-desktop-short .hero__visual {
                max-width: 412px;
                transform: translateY(calc(var(--hero-marquee-top-gap) + var(--hero-photo-origin-offset)));
            }

            html.is-desktop-short .catalog-section {
                padding: 52px 0 84px;
            }

            html.is-desktop-short .catalog-showcase {
                grid-template-columns: minmax(0, 0.98fr) minmax(360px, 0.86fr);
                gap: 28px;
            }

            html.is-desktop-short .search-card {
                padding: 22px 24px 20px;
                border-radius: 28px;
            }

            html.is-desktop-short .search-card__row {
                gap: 10px;
                margin-bottom: 16px;
            }

            html.is-desktop-short .best-month-section,
            html.is-desktop-short .scenarios-section,
            html.is-desktop-short .lead-request-section,
            html.is-desktop-short .founder-section,
            html.is-desktop-short .blog-section {
                padding-bottom: 78px;
            }

            html.is-desktop-short .best-month {
                padding: clamp(40px, 3.5vw, 56px) clamp(18px, 2.6vw, 34px) clamp(42px, 3.8vw, 58px);
            
            width: 100%;
        }

            html.is-desktop-short .blog-section .section__center-title {
                margin-bottom: 36px;
            }

            html.is-desktop-short .founder-grid {
                grid-template-columns: 0.92fr 1.08fr;
                gap: 28px;
            }

            html.is-desktop-short .founder-copy {
                max-width: 680px;
            }

            html.is-desktop-short .why-stack-section {
                padding: clamp(42px, 4.4vw, 60px) clamp(16px, 2.2vw, 28px) clamp(54px, 4.8vw, 72px);
            }

            html.is-desktop-tall .hero {
                min-height: clamp(640px, calc(100vh - 90px), 760px);
                min-height: clamp(640px, calc(100svh - 90px), 760px);
            }

            html.is-desktop-tall .hero__inner {
                grid-template-columns: minmax(0, 1fr) minmax(390px, 455px);
                gap: 20px;
            }

            html.is-desktop-tall .hero__content {
                max-width: 760px;
                padding-bottom: 54px;
            }

            html.is-desktop-tall .catalog-showcase {
                grid-template-columns: minmax(0, 1fr) minmax(390px, 0.9fr);
                gap: 34px;
            }

            html.is-desktop-tall .search-card {
                padding: 24px 28px 22px;
            }

            html.is-desktop-tall .best-month-section,
            html.is-desktop-tall .scenarios-section,
            html.is-desktop-tall .lead-request-section,
            html.is-desktop-tall .founder-section,
            html.is-desktop-tall .blog-section {
                padding-bottom: 96px;
            }
        }

        body.is-locked {
            overflow: hidden;
        }

        a {
            color: inherit;
            text-decoration: none;
        }

        img {
            display: block;
            max-width: 100%;
        }

        button {
            font: inherit;
            cursor: pointer;
            text-align: center;
        }

        .container {
            width: min(calc(100% - var(--page-grid-gutter)), var(--page-grid-max));
            margin: 0 auto;
        }

        .topbar {
            position: sticky;
            top: 0;
            z-index: 30;
            backdrop-filter: blur(18px);
            background: rgba(250, 250, 250, 0.78);
            border-bottom: 1px solid rgba(10, 10, 10, 0.05);
        }

        #search,
        #best,
        #why,
        #founder,
        #scenarios,
        #blog,
        #contacts {
            scroll-margin-top: 136px;
        }

        .topbar__inner {
            width: min(calc(100% - var(--page-grid-gutter)), calc(var(--page-grid-max) + 32px));
            min-height: 94px;
            display: grid;
            grid-template-columns: 48px auto 1fr auto;
            align-items: center;
            gap: 12px;
            margin: 0 auto;
        }

        .menu-toggle {
            width: 48px;
            height: 48px;
            margin-left: 0;
            border: 0;
            border-radius: 0;
            background: transparent;
            position: relative;
            padding: 0;
            display: grid;
            place-items: center;
            box-shadow: none;
            transition: transform 0.24s ease, opacity 0.24s ease;
        }

        .menu-toggle__icon {
            position: absolute;
            inset: 50% auto auto 50%;
            width: 40px;
            height: 40px;
            object-fit: contain;
            transform: translate(-50%, -50%);
            transition: opacity 0.24s ease, transform 0.24s ease;
            pointer-events: none;
        }

        .menu-toggle__icon--hover {
            opacity: 0;
        }

        .menu-toggle:hover .menu-toggle__icon--hover,
        .menu-toggle:focus-visible .menu-toggle__icon--hover {
            opacity: 1;
        }

        .menu-toggle:hover .menu-toggle__icon--default,
        .menu-toggle:focus-visible .menu-toggle__icon--default {
            opacity: 0;
        }

        .menu-toggle:hover,
        .menu-toggle:focus-visible {
            background: transparent;
            border-color: transparent;
            box-shadow: none;
            transform: translateY(-1px);
        }

        .menu-toggle:hover .menu-toggle__icon,
        .menu-toggle:focus-visible .menu-toggle__icon {
            transform: translate(-50%, -50%) scale(1.04);
        }

        .menu-toggle:focus-visible {
            outline: 2px solid rgba(10, 10, 10, 0.24);
            outline-offset: 3px;
        }

        .menu-overlay {
            position: fixed;
            inset: 0;
            z-index: 80;
            opacity: 0;
            visibility: hidden;
            transition: opacity 0.28s ease, visibility 0.28s ease;
        }

        .menu-overlay.is-open {
            opacity: 1;
            visibility: visible;
        }

        .menu-overlay__backdrop {
            position: absolute;
            inset: 0;
            background: rgba(10, 10, 10, 0.42);
        }

        .menu-overlay__panel {
            position: relative;
            width: min(100% - 24px, 1080px);
            margin: 20px auto;
            max-height: var(--overlay-safe-height);
            background: #0a0a0a;
            color: #fafafa;
            border-radius: 34px;
            overflow: auto;
            padding: 34px 34px 30px;
            box-shadow: 0 40px 120px rgba(0, 0, 0, 0.42);
        }

        .menu-overlay__close {
            position: absolute;
            top: 18px;
            right: 18px;
            width: 48px;
            height: 48px;
            border: 0;
            background: rgba(255, 255, 255, 0.06);
            border-radius: 50%;
        }

        .menu-overlay__close img {
            width: 18px;
            margin: 0 auto;
            opacity: 0.65;
        }

        .menu-overlay__eyebrow {
            font-size: 0.88rem;
            letter-spacing: 0.18em;
            text-transform: uppercase;
            color: rgba(250, 250, 250, 0.68);
        }

        .menu-overlay__grid {
            display: grid;
            grid-template-columns: minmax(160px, 0.58fr) minmax(340px, 1fr) minmax(260px, 0.56fr);
            gap: 26px;
            align-items: start;
            padding-top: 22px;
        }

        .menu-overlay__intro {
            max-width: 220px;
        }

        .menu-overlay h2 {
            margin: 0;
            font-family: "Bebas Neue", sans-serif;
            font-size: clamp(3rem, 6vw, 5rem);
            line-height: 0.92;
        }

        .menu-overlay p {
            max-width: 34ch;
            color: rgba(250, 250, 250, 0.68);
        }

        .menu-overlay__nav {
            display: grid;
            gap: 0;
            align-content: start;
        }

        .menu-overlay__nav a,
        .menu-overlay__nav button {
            display: flex;
            align-items: center;
            min-height: 58px;
            padding: 8px 0;
            border-bottom: 1px solid rgba(255, 255, 255, 0.08);
            font-family: "Bebas Neue", sans-serif;
            font-size: 1.72rem;
            font-weight: 700;
            line-height: 1;
            letter-spacing: 0.03em;
            color: inherit;
            background: transparent;
            border-top: 0;
            border-left: 0;
            border-right: 0;
            text-align: left;
            width: 100%;
            white-space: nowrap;
            text-wrap: nowrap;
            appearance: none;
        }

        .menu-overlay__nav a:hover,
        .menu-overlay__nav a:focus-visible,
        .menu-overlay__nav button:hover,
        .menu-overlay__nav button:focus-visible {
            color: rgba(255, 255, 255, 0.72);
        }

        .feature-panel {
            position: fixed;
            inset: 0;
            z-index: 90;
            opacity: 0;
            visibility: hidden;
            transition: opacity 0.28s ease, visibility 0.28s ease;
        }

        .feature-panel.is-open {
            opacity: 1;
            visibility: visible;
        }

        .feature-panel__backdrop {
            position: absolute;
            inset: 0;
            background: rgba(10, 10, 10, 0.42);
        }

        .feature-panel__panel {
            position: relative;
            width: min(100% - 24px, 1240px);
            max-height: var(--overlay-safe-height);
            margin: 20px auto;
            padding: 34px;
            overflow: auto;
            border-radius: 32px;
            background: #fafafa;
            color: #0a0a0a;
            box-shadow: 0 40px 120px rgba(0, 0, 0, 0.18);
        }

        .feature-panel__close {
            position: absolute;
            top: 18px;
            right: 18px;
            width: 48px;
            height: 48px;
            border: 0;
            border-radius: 50%;
            background: rgba(10, 10, 10, 0.06);
            display: grid;
            place-items: center;
        }

        .feature-panel__close img {
            width: 18px;
            opacity: 0.85;
        }

        .feature-panel__eyebrow {
            margin-bottom: 12px;
            font-size: 0.88rem;
            letter-spacing: 0.18em;
            text-transform: uppercase;
            color: rgba(10, 10, 10, 0.56);
        }

        .feature-panel__header {
            max-width: 720px;
            margin-bottom: 28px;
        }

        .feature-panel__header h2 {
            margin: 0;
            font-family: "Bebas Neue", sans-serif;
            font-size: clamp(2.8rem, 5vw, 5rem);
            line-height: 0.94;
            letter-spacing: 0.02em;
        }

        .feature-panel__header p {
            margin: 12px 0 0;
            color: rgba(10, 10, 10, 0.68);
            line-height: 1.5;
        }

        .feature-grid {
            display: grid;
            gap: 18px;
        }

        .feature-grid--catalogs,
        .feature-grid--offers {
            grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
        }

        .feature-grid--scenarios {
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
        }

        .feature-card {
            display: flex;
            flex-direction: column;
            min-height: 100%;
            border: 1px solid rgba(10, 10, 10, 0.08);
            border-radius: 28px;
            overflow: hidden;
            background: #fff;
            box-shadow: 0 18px 50px rgba(10, 10, 10, 0.06);
        }

        .feature-card__image {
            aspect-ratio: 1.15 / 0.88;
            overflow: hidden;
            background: #f0f0f0;
        }

        .feature-card__image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .feature-card__body {
            display: flex;
            flex: 1;
            flex-direction: column;
            gap: 14px;
            padding: 22px;
        }

        .feature-card__eyebrow {
            font-size: 0.92rem;
            line-height: 1.35;
            color: rgba(10, 10, 10, 0.56);
        }

        .feature-card h3 {
            margin: 0;
            font-family: "Bebas Neue", sans-serif;
            font-size: clamp(1.8rem, 3vw, 2.5rem);
            line-height: 0.98;
            letter-spacing: 0.02em;
        }

        .feature-card p {
            margin: 0;
            color: rgba(10, 10, 10, 0.72);
            line-height: 1.55;
            white-space: pre-line;
        }

        .feature-card .pill-button {
            margin-top: auto;
            align-self: flex-start;
        }

        .feature-card--scenario {
            min-height: 340px;
            background: linear-gradient(180deg, #ffffff 0%, #f5f3ef 100%);
        }

        .feature-card--scenario .feature-card__body {
            justify-content: space-between;
        }

        .feature-card--scenario h3 {
            font-size: clamp(2.2rem, 4vw, 3.1rem);
        }

        .feature-panel__panel::-webkit-scrollbar {
            width: 10px;
        }

        .feature-panel__panel::-webkit-scrollbar-thumb {
            border-radius: 999px;
            background: rgba(10, 10, 10, 0.18);
        }

        .menu-overlay__meta {
            display: flex;
            flex-direction: column;
            gap: 18px;
            min-height: 100%;
            width: min(100%, 392px);
            padding-top: 4px;
            justify-self: end;
            align-self: stretch;
            align-content: start;
        }

        .menu-overlay__meta-group {
            display: grid;
            gap: 16px;
            padding-left: clamp(12px, 1.2vw, 24px);
        }

        .menu-overlay__meta span {
            display: block;
            color: rgba(255, 255, 255, 0.48);
            margin-bottom: 4px;
            font-size: 0.72rem;
            letter-spacing: 0.14em;
            text-transform: uppercase;
        }

        .menu-overlay__meta a {
            color: rgba(250, 250, 250, 0.88);
            font-size: 1.02rem;
            line-height: 1.35;
        }

        .menu-overlay__meta a[href^="tel:"] {
            font-size: 1.14rem;
            font-weight: 700;
        }


        .menu-overlay__rate-widget {
            display: grid;
            margin-top: auto;
            margin-bottom: 0;
        }

        /* Вертикальные офсеты блока ставки:
           --menu-rate-label-offset-y: смещение надписи "КЛЮЧЕВАЯ СТАВКА"
           --menu-rate-value-offset-y: смещение процента
           Пример: 8px / -12px
        */
        .menu-overlay__rate-card {
            --menu-rate-label-offset-y: 55px;
            --menu-rate-value-offset-y: 0px;
            position: relative;
            width: 100%;
            min-height: clamp(188px, 18vw, 216px);
            margin-top: clamp(42px, 4.8vh, 64px);
            overflow: hidden;
            background: #0A0A0A;
            box-shadow: none;
        }

        .menu-overlay__rate-card::before {
            content: "";
            position: absolute;
            inset: 0;
            background: linear-gradient(180deg, rgba(0, 0, 0, 0.02) 0%, rgba(0, 0, 0, 0.18) 100%);
            pointer-events: none;
            z-index: 1;
        }

        .menu-overlay__rate-graphic {
            position: absolute;
            left: 0;
            right: 0;
            bottom: 0;
            width: 100%;
            height: auto;
            max-width: 100%;
            display: block;
            transform: scaleY(1);
            transform-origin: center bottom;
        }

        .menu-overlay__rate-label {
            position: absolute;
            top: calc(14px + var(--menu-rate-label-offset-y));
            left: 35%;
            z-index: 2;
            width: calc(100% - 24px);
            transform: translateX(-50%);
            color: rgba(255, 255, 255, 0.66);
            font-size: 0.72rem;
            letter-spacing: 0.14em;
            line-height: 1.35;
            text-transform: uppercase;
            text-align: center;
            pointer-events: none;
        }

        .menu-overlay__rate-value {
            position: absolute;
            z-index: 2;
            left: 25px;
            top: calc(50% + var(--menu-rate-value-offset-y));
            transform: translateY(-36%);
            font-family: "Gilroy", sans-serif;
            font-size: 1.45rem;
            font-weight: 700;
            line-height: 1;
            color: #fafafa;
            letter-spacing: -0.02em;
            text-shadow: 0 8px 32px rgba(0, 0, 0, 0.28);
        }

        .topbar__brand {
            display: flex;
            align-items: center;
            min-height: 62px;
            padding: 0 6px 0 0;
            background: transparent !important;
            border: 0 !important;
            box-shadow: none !important;
        }

        .topbar__brand img {
            width: clamp(110px, 7.8vw, 154px);
            height: auto;
            display: block;
            background: transparent !important;
            border: 0 !important;
            box-shadow: none !important;
        }

        .topbar__spacer {
            min-width: 0;
        }

        .topbar__contact {
            display: grid;
            justify-items: end;
            gap: 15px;
            text-align: right;
            white-space: nowrap;
            align-self: center;
            padding-block: 6px;
            margin-right: 0;
        }

        .topbar__contact a {
            display: inline-block;
            font-weight: 700;
            font-size: clamp(26px, 1.82vw, 33px);
            line-height: 1.1;
            letter-spacing: 0.01em;
        }

        .topbar__contact span {
            display: inline-flex;
            align-items: center;
            gap: 13px;
            color: rgba(10, 10, 10, 0.54);
            font-size: 12.5px;
            line-height: 1;
            letter-spacing: 0.05em;
        }

        .topbar__contact i {
            position: relative;
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: #2ab54f;
            box-shadow: 0 0 0 5px rgba(42, 181, 79, 0.08);
            flex: 0 0 auto;
        }

        .topbar__contact i::after {
            content: "";
            position: absolute;
            inset: -12px;
            border-radius: 50%;
            background: radial-gradient(circle, rgba(42, 181, 79, 0.22) 0%, rgba(42, 181, 79, 0.14) 42%, rgba(42, 181, 79, 0) 76%);
            animation: onlinePulse 2.18s ease-in-out infinite;
        }

        .cookie-banner {
            position: fixed;
            left: 50%;
            bottom: 24px;
            z-index: 1300;
            width: min(calc(100% - 28px), 1320px);
            transform: translate(-50%, 14px);
            opacity: 0;
            pointer-events: none;
            transition: opacity 0.22s ease, transform 0.22s ease;
        }

        .cookie-banner.is-visible {
            opacity: 1;
            transform: translate(-50%, 0);
            pointer-events: auto;
        }

        .cookie-banner__inner {
            display: grid;
            grid-template-columns: minmax(0, 1fr) auto;
            align-items: center;
            gap: 14px;
            padding: 10px 14px;
            border: 1px solid rgba(202, 165, 107, 0.26);
            border-radius: 20px;
            background: rgba(10, 10, 10, 0.64);
            box-shadow: 0 18px 36px rgba(10, 10, 10, 0.14);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
        }

        .cookie-banner__copy {
            min-width: 0;
        }

        .cookie-banner__title {
            margin: 0 0 3px;
            color: #faf7f0;
            font-family: "Bebas Neue", sans-serif;
            font-weight: 700;
            font-size: 0.98rem;
            line-height: 1;
            letter-spacing: 0.06em;
            text-transform: uppercase;
        }

        .cookie-banner__text {
            margin: 0;
            color: rgba(250, 249, 246, 0.72);
            font-family: "Gilroy", Arial, sans-serif;
            font-weight: 500;
            font-size: clamp(0.62rem, 0.14vw + 0.6rem, 0.74rem);
            line-height: 1.2;
            white-space: nowrap;
        }

        .cookie-banner__text a {
            color: #f1d8a9;
            text-decoration-color: rgba(241, 216, 169, 0.62);
        }

        .cookie-banner__text a:hover,
        .cookie-banner__text a:focus-visible {
            color: #fbebc6;
        }

        .cookie-banner__action {
            flex: 0 0 auto;
            min-width: 86px;
            min-height: 30px;
            padding: 0 18px;
            border-radius: 999px;
            font-size: 0.78rem;
            line-height: 1;
            letter-spacing: 0.045em;
            cursor: pointer;
        }

        @keyframes onlinePulse {
            0%,
            100% {
                transform: scale(0.82);
                opacity: 0.34;
            }

            48% {
                transform: scale(1.3);
                opacity: 0.82;
            }
        }

        .hero {
            position: relative;
            min-height: clamp(650px, calc(100vh - 90px), 780px);
            min-height: clamp(650px, calc(100svh - 90px), 780px);
            overflow: hidden;
            background: var(--bg);
            --hero-marquee-top-gap: 0px;
            --hero-photo-origin-offset: 0px;
            --hero-badge-line-offset: 50px;
        }

        .hero__bg-word {
            position: absolute;
            left: clamp(-24px, -0.2vw, 10px);
            top: clamp(96px, 6.8vw, 128px);
            font-family: "Gilroy", sans-serif;
            font-weight: 800;
            font-size: clamp(8rem, 12vw, 12rem);
            line-height: 0.82;
            letter-spacing: -0.065em;
            color: rgba(255, 255, 255, 0.82);
            white-space: nowrap;
            pointer-events: none;
            user-select: none;
            z-index: 0;
            filter: blur(2.4px);
        }

        .hero__inner {
            position: relative;
            z-index: 1;
            display: grid;
            grid-template-columns: minmax(0, 1fr) minmax(390px, 470px);
            align-items: end;
            gap: 20px;
            padding: 20px 0 0;
        }

        .hero__content {
            position: relative;
            padding: 0 0 60px;
            max-width: 790px;
            isolation: isolate;
        }

        .hero__title {
            margin: 0;
            position: relative;
            z-index: 1;
            max-width: 7.5ch;
            font-family: "Bebas Neue", sans-serif;
            font-weight: 700;
            font-size: clamp(4rem, 5.5vw, 6.2rem);
            line-height: 0.84;
            letter-spacing: 0.026em;
        }

        .hero__text {
            position: relative;
            z-index: 1;
            max-width: 62ch;
            margin: 20px 0 0;
            color: var(--text-soft);
            font-size: 1.02rem;
            line-height: 1.56;
            text-wrap: pretty;
        }

        .hero__text strong {
            font-weight: 700;
            color: var(--text);
        }

        .hero__actions {
            position: relative;
            z-index: 1;
            margin-top: 18px;
        }

        .hero__actions .pill-button,
        .contacts__brand .pill-button,
        .lead-form__submit {
            min-height: 52px;
            padding-inline: 27px;
            font-size: 1.3rem;
            letter-spacing: 0.045em;
            box-shadow: inset 0 0 10px rgba(202, 165, 107, 0.32), 0 0 0 1px rgba(202, 165, 107, 0.14);
        }

.pill-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-height: 56px;
    border: 2px solid transparent;
    border-radius: 999px;
    padding: 0 34px;
    font-family: "Bebas Neue", sans-serif;
    font-size: 1.625rem;
    line-height: 1;
    letter-spacing: 0.03em;
    text-align: center;
    color: #0a0a0a;
    background:
                linear-gradient(var(--bg), var(--bg)) padding-box,
                linear-gradient(180deg, #f2dfb7 0%, #d29b44 45%, #8e5f2d 100%) border-box;
            box-shadow: inset 0 0 14px rgba(202, 165, 107, 0.38), 0 0 0 1px rgba(202, 165, 107, 0.16);
            transition: transform 0.2s ease, filter 0.2s ease;
        }

        .pill-button:hover,
        .pill-button:focus-visible {
            transform: translateY(-2px);
            filter: brightness(1.03);
        }

        .pill-button:focus-visible {
            outline: 2px solid rgba(142, 95, 45, 0.25);
            outline-offset: 4px;
        }


        .pill-button--thin {
            font-family: "Bebas Neue", sans-serif;
            font-weight: 400 !important;
            font-synthesis-weight: none;
            letter-spacing: 0.02em;
        }

        .pill-button,
        .lead-request-form__submit,
        .catalog-showcase__button,
        .catalog-download-form__submit,
        .choice-chip,
        .search-action,
        .new-chip {
            text-align: center;
        }

        .hero__visual {
            position: relative;
            justify-self: end;
            align-self: end;
            width: 100%;
            max-width: 462px;
            padding-right: 0;
            transform: translateY(calc(var(--hero-marquee-top-gap) + var(--hero-photo-origin-offset)));
        }

        .hero__visual-card {
            position: relative;
            overflow: visible;
            border-radius: 0;
            background: transparent;
            box-shadow: none;
            padding: 0;
            display: flex;
            align-items: flex-end;
            justify-content: flex-end;
            isolation: isolate;
        }

        .hero__photo {
            display: block;
            width: 100%;
            height: auto;
            border-radius: 0;
            transform-origin: center bottom;
            transform: none;
        }

        .hero__photo--uploaded {
            mix-blend-mode: multiply;
        }

        .hero__badge {
            position: absolute;
            left: 18px;
            bottom: calc(var(--hero-photo-origin-offset) + var(--hero-badge-line-offset));
            z-index: 2;
            max-width: 310px;
            padding: 10px 14px;
            border: 1px solid rgba(10, 10, 10, 0.07);
            border-radius: 999px;
            background: rgba(255, 255, 255, 0.78);
            backdrop-filter: blur(16px);
            box-shadow: 0 14px 34px rgba(10, 10, 10, 0.055);
            font-size: 12.5px;
            line-height: 1.2;
            letter-spacing: 0.03em;
            color: rgba(10, 10, 10, 0.74);
        }

        .hero__marquee {
            position: relative;
            z-index: 1;
            background: transparent;
            border-top: 1px solid rgba(10, 10, 10, 0.04);
            border-bottom: 0;
            box-shadow: none;
            margin-top: var(--hero-marquee-top-gap);
            padding: 8px 0 10px;
            opacity: 0.82;
        }

        .hero__marquee-shell {
            position: relative;
            overflow: hidden;
        }

        .hero__marquee-shell::before,
        .hero__marquee-shell::after {
            content: none;
            display: none;
        }

        .hero__marquee-shell::before {
            left: 0;
            background: linear-gradient(90deg, rgba(239, 239, 236, 0.86) 0%, rgba(239, 239, 236, 0) 100%);
        }

        .hero__marquee-shell::after {
            right: 0;
            background: linear-gradient(-90deg, rgba(239, 239, 236, 0.86) 0%, rgba(239, 239, 236, 0) 100%);
        }

        .hero__marquee-track {
            display: flex;
            align-items: center;
            gap: 28px;
            width: max-content;
            padding: 4px 0;
            animation: marquee 310s linear infinite;
            will-change: transform;
        }

        .hero__marquee-item {
            --logo-scale: 1.16;
            --logo-shift-y: 0px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 162px;
            min-width: 162px;
            height: 56px;
            flex: 0 0 auto;
            overflow: hidden;
        }

        .hero__marquee-item img {
            display: block;
            width: auto;
            max-width: 154px;
            max-height: 32px;
            opacity: 0.68;
            filter: grayscale(1) contrast(0.9);
            object-fit: contain;
            transform: translateY(var(--logo-shift-y)) scale(var(--logo-scale));
            transform-origin: center center;
        }

        .lead-modal {
            position: fixed;
            inset: 0;
            z-index: 120;
            opacity: 0;
            visibility: hidden;
            transition: opacity 0.28s ease, visibility 0.28s ease;
        }

        .lead-modal.is-open {
            opacity: 1;
            visibility: visible;
        }

        .lead-modal__backdrop {
            position: absolute;
            inset: 0;
            background: rgba(10, 10, 10, 0.38);
            backdrop-filter: blur(20px);
        }

        .lead-modal__dialog {
            position: relative;
            width: min(calc(100% - 72px), 780px);
            margin: clamp(60px, 7.2vh, 72px) auto;
            max-height: var(--modal-safe-height);
            border-radius: 28px;
            overflow: visible;
            background: transparent;
            border: 0;
            box-shadow: none;
        }

        .lead-modal__close,
        .catalog-download-modal__close {
            --modal-close-shift-x: 78%;
            --modal-close-shift-y: -70%;
            position: absolute;
            top: 0;
            right: 0;
            width: 48px;
            height: 48px;
            border: 1px solid rgba(255, 255, 255, 0.18);
            border-radius: 999px;
            background: rgba(255, 255, 255, 0.6);
            box-shadow: 0 14px 28px rgba(0, 0, 0, 0.18);
            color: rgba(10, 10, 10, 0.7);
            backdrop-filter: blur(14px);
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 0;
            font-family: Arial, "Helvetica Neue", sans-serif;
            font-size: 30px;
            line-height: 0.78;
            font-weight: 400;
            text-align: center;
            text-indent: 0.02em;
            padding: 0;
            z-index: 4;
            transform: translate(var(--modal-close-shift-x), var(--modal-close-shift-y));
            transition: transform 0.2s ease, background 0.2s ease, opacity 0.2s ease;
        }

        .lead-modal__close:hover,
        .lead-modal__close:focus-visible,
        .catalog-download-modal__close:hover,
        .catalog-download-modal__close:focus-visible {
            background: rgba(255, 255, 255, 0.74);
            transform: translate(var(--modal-close-shift-x), var(--modal-close-shift-y)) scale(1.04);
        }

        .lead-modal__close:focus-visible,
        .catalog-download-modal__close:focus-visible {
            outline: 2px solid rgba(255, 255, 255, 0.28);
            outline-offset: 4px;
        }

        .lead-modal__content {
            display: grid;
            grid-template-columns: minmax(0, 1fr) minmax(260px, 0.64fr);
            gap: 0;
            overflow: hidden;
            border: 1px solid rgba(10, 10, 10, 0.08);
            border-radius: 32px;
            background:
                radial-gradient(circle at top left, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.74) 34%, rgba(255, 255, 255, 0) 62%),
                linear-gradient(145deg, #ffffff 0%, #f8f5f0 58%, #f2eee7 100%);
            color: #0a0a0a;
            box-shadow: 0 36px 120px rgba(10, 10, 10, 0.18);
        }

        .lead-modal__copy {
            display: flex;
            flex-direction: column;
            justify-content: center;
            max-width: none;
            padding: clamp(28px, 3vw, 36px) clamp(22px, 2.6vw, 30px) clamp(24px, 2.6vw, 30px) clamp(34px, 3.4vw, 44px);
        }

        .lead-modal__kicker {
            margin-bottom: 12px;
            color: rgba(10, 10, 10, 0.38);
            font-size: 0.8rem;
            letter-spacing: 0.24em;
            text-transform: uppercase;
        }

        .lead-modal__title {
            margin: 0;
            max-width: 300px;
            font-family: "Bebas Neue", sans-serif;
            font-size: clamp(1.72rem, 2.2vw, 2.52rem);
            line-height: 0.94;
            letter-spacing: 0.01em;
        }

        .lead-modal__subtitle {
            max-width: 320px;
            margin: 14px 0 0;
            color: rgba(10, 10, 10, 0.72);
            font-size: clamp(0.92rem, 0.98vw, 1.04rem);
            line-height: 1.5;
        }

        .lead-form {
            display: grid;
            gap: 9px;
            max-width: 300px;
            margin-top: 16px;
        }

        .lead-form__field {
            position: relative;
        }

        .lead-form__field input {
            width: 100%;
            min-height: 62px;
            border-radius: 18px;
            border: 1px solid rgba(10, 10, 10, 0.12);
            background: rgba(255, 255, 255, 0.74);
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.84);
            padding: 0 22px;
            font-size: 1.02rem;
            color: #0a0a0a;
            outline: none;
            transition: border-color 0.22s ease, box-shadow 0.22s ease, background 0.22s ease;
        }

        .lead-form__field input::placeholder {
            color: rgba(10, 10, 10, 0.34);
        }

        .lead-form__field input:focus {
            border-color: rgba(202, 165, 107, 0.82);
            background: rgba(255, 255, 255, 0.92);
            box-shadow: 0 0 0 4px rgba(202, 165, 107, 0.14);
        }

        .lead-form__submit {
            width: min(100%, 300px);
            min-width: 0;
            margin-top: 6px;
        }

        .lead-form__legal {
            display: grid;
            gap: 8px;
            margin-top: 6px;
            max-width: 360px;
            color: rgba(10, 10, 10, 0.54);
            font-size: 0.59rem;
            line-height: 1.24;
            font-weight: 400;
        }

        .lead-form__legal strong {
            color: rgba(10, 10, 10, 0.78);
            font-weight: 700;
        }

        .lead-form__legal a,
        .catalog-download-form__legal a,
        .catalog-download-modal__footer-note a {
            color: inherit;
            text-decoration-line: underline;
            text-decoration-thickness: 1px;
            text-underline-offset: 0.16em;
            text-decoration-color: rgba(212, 171, 103, 0.54);
            transition: opacity 0.18s ease, text-decoration-color 0.18s ease;
        }

        .lead-form__legal a:hover,
        .lead-form__legal a:focus-visible,
        .catalog-download-form__legal a:hover,
        .catalog-download-form__legal a:focus-visible,
        .catalog-download-modal__footer-note a:hover,
        .catalog-download-modal__footer-note a:focus-visible {
            opacity: 0.9;
            text-decoration-color: rgba(212, 171, 103, 0.84);
        }

        .lead-form__legal a:focus-visible,
        .catalog-download-form__legal a:focus-visible,
        .catalog-download-modal__footer-note a:focus-visible {
            outline: 2px solid rgba(212, 171, 103, 0.18);
            outline-offset: 2px;
            border-radius: 4px;
        }

        .lead-modal__visual {
            position: relative;
            min-height: 100%;
            overflow: hidden;
            background:
                radial-gradient(circle at top left, rgba(255, 255, 255, 0.72) 0%, rgba(255, 255, 255, 0) 38%),
                linear-gradient(180deg, #ebe6de 0%, #f7f4ef 50%, #ede9e1 100%);
            border-left: 1px solid rgba(10, 10, 10, 0.05);
        }

        .lead-modal__visual::before {
            content: "RAIT REAL";
            position: absolute;
            right: 18px;
            top: 18px;
            font-family: "Bebas Neue", sans-serif;
            font-size: clamp(3rem, 3.8vw, 4.3rem);
            line-height: 0.9;
            letter-spacing: 0.02em;
            color: rgba(10, 10, 10, 0.04);
            z-index: 0;
        }

        .lead-modal__visual-copy {
            position: absolute;
            left: 26px;
            top: 26px;
            z-index: 2;
            display: grid;
            gap: 8px;
            max-width: 210px;
        }

        .lead-modal__visual-kicker {
            display: none;
        }

        .lead-modal__visual-title {
            margin: 0;
            font-family: "Bebas Neue", sans-serif;
            font-size: 1.72rem;
            line-height: 0.94;
            letter-spacing: 0.02em;
            color: #0a0a0a;
        }

        .lead-modal__visual-note {
            margin: 0;
            color: rgba(10, 10, 10, 0.6);
            font-size: 0.92rem;
            line-height: 1.45;
        }

        .lead-modal__visual-photo {
            position: absolute;
            inset: auto -10% -4% auto;
            width: min(128%, 460px);
            height: 108%;
            object-fit: contain;
            object-position: center bottom;
            z-index: 1;
            transform: scale(1.08);
            transform-origin: center bottom;
        }

        @media (min-width: 961px) {
            .lead-modal__visual {
                min-height: 560px;
            }
        }

        .lead-toast {
            position: fixed;
            left: 50%;
            bottom: 24px;
            z-index: 130;
            transform: translate(-50%, 14px);
            min-width: min(calc(100% - 24px), 360px);
            padding: 14px 18px;
            border-radius: 999px;
            background: rgba(10, 10, 10, 0.9);
            color: #fafafa;
            text-align: center;
            font-size: 0.95rem;
            line-height: 1.35;
            opacity: 0;
            visibility: hidden;
            transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s ease;
        }

        .lead-toast.is-visible {
            opacity: 1;
            visibility: visible;
            transform: translate(-50%, 0);
        }

        .search-section {
            padding: 78px 0 110px;
            background: var(--bg);
        }

        .search-section h2 {
            margin: 0;
            font-family: "Bebas Neue", sans-serif;
            font-weight: 700;
            font-size: clamp(3.2rem, 7vw, 5.6rem);
            line-height: 0.92;
            letter-spacing: 0.03em;
        }

        .search-section p {
            line-height: 1.55;
        }

        .section__center-title {
            text-align: center;
            max-width: 860px;
            margin: 0 auto 28px;
        }

        .title-chip {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 56px;
            padding: 10px 28px;
            border-radius: 999px;
            border: 2px solid rgba(176, 121, 47, 0.92);
            background: #fff;
            box-shadow: 0 12px 30px rgba(176, 121, 47, 0.08);
            font-family: "Bebas Neue", sans-serif;
            font-size: 1.5rem;
            line-height: 1;
        }

        .search-card {
            padding: 26px 30px 22px;
            border-radius: 32px;
            background: rgba(255, 255, 255, 0.82);
            box-shadow: 0 18px 42px rgba(10, 10, 10, 0.08);
            border: 1px solid rgba(10, 10, 10, 0.06);
            backdrop-filter: blur(8px);
        }

        .search-card__row {
            display: grid;
            grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.05fr) minmax(0, 2fr) minmax(0, 2.25fr);
            gap: 12px;
            align-items: end;
            margin-bottom: 18px;
        }

        .search-group {
            min-width: 0;
        }

        .search-group > span,
        .search-group__label {
            display: flex;
            align-items: center;
            gap: 8px;
            margin-bottom: 8px;
            color: rgba(10, 10, 10, 0.74);
            font-size: 0.92rem;
            font-weight: 600;
            line-height: 1.2;
            letter-spacing: 0.01em;
        }

        .label-badge {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-width: 28px;
            min-height: 18px;
            padding: 0 7px;
            border-radius: 999px;
            background: #0a0a0a;
            color: #fff;
            font-size: 0.72rem;
            font-weight: 700;
            line-height: 1;
        }

        .chip-group {
            display: grid;
            grid-template-columns: repeat(5, minmax(0, 1fr));
            gap: 0;
            overflow: hidden;
            border-radius: 14px;
            border: 1px solid rgba(10, 10, 10, 0.08);
            background: #f1f1f1;
        }

        .choice-chip,
        .new-chip {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 999px;
        }

        .choice-chip {
            min-width: 0;
            min-height: 56px;
            padding: 10px 12px;
            border: 0;
            border-right: 1px solid rgba(10, 10, 10, 0.08);
            border-radius: 0;
            background: transparent;
            font-family: "Bebas Neue", sans-serif;
            font-size: 1.35rem;
            line-height: 1;
            text-align: center;
            color: var(--text);
            transition: background 0.18s ease, color 0.18s ease;
        }

        .choice-chip:last-child {
            border-right: 0;
        }

        .choice-chip.is-active {
            background: rgba(255, 255, 255, 0.96);
            color: #000;
            box-shadow: inset 0 0 0 1px rgba(176, 121, 47, 0.28);
            transform: none;
        }

        .double-field,
        .triple-field {
            position: relative;
            display: grid;
            gap: 0;
            overflow: hidden;
            border-radius: 14px;
            border: 1px solid rgba(10, 10, 10, 0.08);
            background: #f1f1f1;
        }

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

        .triple-field {
            grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 56px;
        }

        .double-field > * + *,
        .triple-field > * + * {
            border-left: 1px solid rgba(10, 10, 10, 0.08);
        }

        .double-field::before,
        .triple-field::before {
            content: "";
            position: absolute;
            top: 12px;
            bottom: 12px;
            width: 1px;
            background: rgba(10, 10, 10, 0.11);
            pointer-events: none;
            z-index: 1;
        }

        .double-field::before {
            left: calc(50% - 0.5px);
        }

        .triple-field::before {
            left: calc((100% - 56px) / 2);
        }

        .double-field input,
        .triple-field input,
        .search-location input {
            width: 100%;
            min-height: 56px;
            border: 0;
            background: transparent;
            border-radius: 0;
            padding: 0 16px;
            color: var(--text);
            outline: none;
            font-family: "Gilroy", sans-serif;
            font-size: 0.98rem;
            font-weight: 600;
            line-height: 1.2;
            letter-spacing: 0.01em;
            font-feature-settings: "tnum" 1, "lnum" 1;
        }

        .double-field input::placeholder,
        .triple-field input::placeholder,
        .search-location input::placeholder {
            color: rgba(72, 72, 72, 0.58);
            font-weight: 500;
        }

        .double-field input:not(:placeholder-shown),
        .triple-field input:not(:placeholder-shown),
        .search-location input:not(:placeholder-shown) {
            color: rgba(10, 10, 10, 0.92);
        }

        .currency-fixed {
            width: 100%;
            min-height: 56px;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 0 10px;
            color: var(--text);
            font-family: "Bebas Neue", sans-serif;
            font-size: 0.98rem;
            font-weight: 700;
            line-height: 1.2;
            letter-spacing: 0.01em;
            font-feature-settings: "tnum" 1, "lnum" 1;
            user-select: none;
        }

        .search-location {
            position: relative;
            overflow: hidden;
            border-radius: 14px;
            border: 1px solid rgba(10, 10, 10, 0.08);
            background: #f1f1f1;
        }

        .search-location::before {
            content: "";
            position: absolute;
            left: 16px;
            top: 50%;
            width: 11px;
            height: 11px;
            border: 2px solid rgba(10, 10, 10, 0.82);
            border-radius: 50%;
            transform: translateY(-62%);
        }

        .search-location::after {
            content: "";
            position: absolute;
            left: 28px;
            top: calc(50% + 5px);
            width: 8px;
            height: 2px;
            border-radius: 999px;
            background: rgba(10, 10, 10, 0.82);
            transform: rotate(45deg);
            transform-origin: left center;
        }

        .search-location input {
            padding-left: 42px;
        }

        .search-card__footer {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 18px;
        }

        .new-chip {
            min-width: 112px;
            min-height: 52px;
            padding: 10px 24px;
            flex: 0 0 auto;
            font-size: 1.3rem;
            line-height: 1;
            letter-spacing: 0.045em;
            white-space: nowrap;
            cursor: pointer;
            user-select: none;
        }

        .new-chip.is-active,
        .new-chip[aria-pressed="true"] {
            background:
                linear-gradient(rgba(248, 241, 226, 0.96), rgba(243, 233, 209, 0.96)) padding-box,
                linear-gradient(180deg, #f2dfb7 0%, #d29b44 45%, #8e5f2d 100%) border-box;
            box-shadow: inset 0 0 16px rgba(202, 165, 107, 0.42), 0 0 0 1px rgba(202, 165, 107, 0.18);
        }

        .new-chip:active {
            transform: translateY(0);
            filter: brightness(0.995);
        }

        .search-action {
            min-width: 308px;
            font-size: 1.34rem;
            letter-spacing: 0.024em;
        }

        .search-group__label--price {
            justify-content: space-between;
            gap: 12px;
            flex-wrap: wrap;
        }

        .price-toggle {
            display: inline-grid;
            grid-auto-flow: column;
            gap: 4px;
            padding: 3px;
            border: 1px solid rgba(10, 10, 10, 0.08);
            border-radius: 999px;
            background: #f1f1f1;
        }

        .price-toggle__button {
            min-height: 28px;
            padding: 0 12px;
            border: 0;
            border-radius: 999px;
            background: transparent;
            color: rgba(10, 10, 10, 0.62);
            font-size: 0.76rem;
            font-weight: 700;
            line-height: 1;
            letter-spacing: 0.02em;
            cursor: pointer;
            transition: background 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
        }

        .price-toggle__button.is-active {
            background: rgba(255, 255, 255, 0.96);
            color: #000;
            box-shadow: inset 0 0 0 1px rgba(176, 121, 47, 0.28);
        }

        .search-section__legacy {
            display: block;
            margin-top: 54px;
        }

        .catalog-section {
            padding: 66px 0 102px;
            background: var(--bg);
        }

        .catalog-section__shell {
            width: auto;
            max-width: none;
            margin-left: calc(var(--debug-left-offset) + 2px);
            margin-right: calc(var(--debug-right-offset) + 2px);
        }

        .catalog-showcase {
            position: relative;
            display: grid;
            grid-template-columns: minmax(0, 1fr) minmax(400px, 0.94fr);
            align-items: stretch;
            gap: clamp(22px, 2.6vw, 38px);
            min-height: 0;
            padding: 0 0 0 clamp(30px, 3vw, 52px);
            border-radius: clamp(32px, 3vw, 40px);
            overflow: hidden;
            color: #faf9f6;
            background: #0a0a0a;
            box-shadow: 0 18px 42px rgba(10, 10, 10, 0.1);
            isolation: isolate;
        }

        .catalog-showcase::before {
            content: "";
            position: absolute;
            inset: 0;
            border-radius: inherit;
            border: 0.75px solid rgba(0, 0, 0, 0.92);
            pointer-events: none;
        }

        .catalog-showcase__copy {
            position: relative;
            z-index: 1;
            max-width: 700px;
            display: flex;
            flex-direction: column;
            justify-content: center;
            padding-block: clamp(8px, 1.25vw, 18px);
        }

        .catalog-showcase__eyebrow {
            display: inline-flex;
            margin-bottom: 18px;
            color: rgba(250, 249, 246, 0.54);
            font-size: 0.82rem;
            letter-spacing: 0.22em;
            text-transform: uppercase;
        }

        .catalog-section .catalog-showcase__title {
            margin: 0;
            max-width: 10.8ch;
            font-family: "Bebas Neue", sans-serif;
            font-weight: 700;
            font-size: clamp(2.85rem, 4.2vw, 4.45rem);
            line-height: 0.92;
            letter-spacing: 0.028em;
            color: #fbfaf7;
        }

        .catalog-showcase__actions {
            margin-top: clamp(14px, 1.8vw, 22px);
            display: grid;
            grid-template-columns: minmax(220px, 308px) minmax(0, 1fr);
            align-items: center;
            gap: clamp(14px, 1.6vw, 22px);
            justify-items: start;
        }

        .catalog-showcase__button {
            position: relative;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-width: min(100%, 296px);
            padding: 17px 28px 15px;
            border: 1px solid rgba(229, 212, 177, 0.76);
            border-radius: 8px;
            background: transparent;
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16);
            color: #fbfaf7;
            font-family: "Bebas Neue", sans-serif;
            font-weight: 700;
            font-size: clamp(1.68rem, 1.55vw, 2.02rem);
            line-height: 1;
            letter-spacing: 0.03em;
            text-transform: uppercase;
            transition: transform 0.2s ease, filter 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
        }

        .catalog-showcase__button::after {
            content: "";
            position: absolute;
            inset: 6px 8px auto;
            height: 26%;
            border-radius: 4px 4px 10px 10px;
            background: linear-gradient(180deg, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0));
            opacity: 0.62;
            pointer-events: none;
        }

        .catalog-showcase__button.catalog-showcase__button--lead::after {
            display: none;
        }

        .catalog-showcase__button:hover,
        .catalog-showcase__button:focus-visible {
            transform: translateY(-2px);
            border-color: rgba(240, 223, 191, 0.92);
            box-shadow:
                inset 0 1px 0 rgba(255, 255, 255, 0.22),
                0 12px 22px rgba(0, 0, 0, 0.12);
            filter: brightness(1.03);
        }

        .catalog-showcase__button:focus-visible {
            outline: 2px solid rgba(242, 223, 183, 0.32);
            outline-offset: 6px;
            border-radius: 12px;
        }

        .catalog-showcase__button.catalog-showcase__button--lead {
            max-width: 100%;
            min-width: 0;
        }

        .catalog-section .catalog-showcase__note {
            margin: 0;
            align-self: center;
            max-width: 31ch;
            color: rgba(250, 249, 246, 0.72);
            font-size: 1rem;
            line-height: 1.56;
        }

        .catalog-showcase__visual {
            position: relative;
            z-index: 1;
            display: flex;
            justify-content: flex-end;
            align-items: center;
            align-self: stretch;
            padding: 0;
            min-height: 100%;
        }

        .catalog-showcase__visual-frame {
            width: 100%;
            max-width: none;
            min-height: 0;
            height: auto;
            padding: 0;
            border-radius: 0;
            background: transparent;
            border: 0;
            box-shadow: none;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-left: auto;
        }

        .catalog-showcase__visual-frame img {
            display: block;
            width: 56%;
            max-width: 56%;
            max-height: none;
            height: auto;
            object-fit: contain;
            object-position: center center;
            transform: translateY(clamp(-4px, -0.3vw, -8px));
            transform-origin: center center;
            filter: drop-shadow(0 20px 30px rgba(0, 0, 0, 0.26));
        }

        .catalog-download-modal {
            position: fixed;
            inset: 0;
            z-index: 118;
            opacity: 0;
            visibility: hidden;
            pointer-events: none;
            transition: opacity 0.28s ease, visibility 0.28s ease;
        }

        .catalog-download-modal.is-open {
            opacity: 1;
            visibility: visible;
            pointer-events: auto;
        }

        .catalog-download-modal__backdrop {
            position: absolute;
            inset: 0;
            background: rgba(10, 10, 10, 0.82);
            backdrop-filter: blur(8px);
        }

        .catalog-download-modal__dialog {
            position: relative;
            z-index: 1;
            width: min(calc(100% - 72px), 780px);
            margin: clamp(60px, 7.2vh, 72px) auto;
            max-height: var(--modal-safe-height);
            opacity: 0;
            transform: translateY(24px);
            transition: transform 0.28s ease, opacity 0.28s ease;
        }

        .catalog-download-modal.is-open .catalog-download-modal__dialog {
            opacity: 1;
            transform: none;
        }

        .catalog-download-modal__close {
            position: absolute;
            top: 0;
            right: 0;
            z-index: 3;
        }

        .catalog-download-modal__frame {
            display: grid;
            grid-template-columns: minmax(0, 1fr) minmax(260px, 0.64fr);
            overflow: hidden;
            border: 1px solid rgba(250, 250, 250, 0.18);
            border-radius: 28px;
            background: #0a0a0a;
            color: #fafafa;
            box-shadow: 0 30px 80px rgba(0, 0, 0, 0.28);
        }

        .catalog-download-modal.is-best-month .catalog-download-modal__frame {
            border-width: 2px;
        }

        .catalog-download-modal__copy {
            padding: clamp(24px, 2.6vw, 30px) clamp(18px, 2.2vw, 26px) clamp(20px, 2.2vw, 26px) clamp(28px, 3vw, 36px);
            display: flex;
            flex-direction: column;
            justify-content: center;
        }

        .catalog-download-modal__title {
            margin: 0;
            max-width: 300px;
            font-family: "Bebas Neue", sans-serif;
            font-size: clamp(1.72rem, 2.2vw, 2.52rem);
            font-weight: 700;
            line-height: 0.94;
            letter-spacing: 0.01em;
            white-space: pre-line;
        }

        .catalog-download-modal__subtitle {
            max-width: 300px;
            margin: 12px 0 0;
            font-size: clamp(0.84rem, 0.86vw, 0.96rem);
            line-height: 1.46;
            font-weight: 500;
            color: rgba(250, 250, 250, 0.86);
            white-space: pre-line;
        }

        .catalog-download-form {
            display: grid;
            gap: 9px;
            max-width: 300px;
            margin-top: 16px;
        }

        .catalog-download-form__field input {
            width: 100%;
            height: 46px;
            padding: 0 16px;
            border: 1px solid rgba(250, 250, 250, 0.2);
            border-radius: 14px;
            background: rgba(255, 255, 255, 0.04);
            color: #fafafa;
            font-family: "Gilroy", sans-serif;
            font-size: 0.94rem;
            font-weight: 600;
            line-height: 1.2;
            letter-spacing: 0.01em;
            appearance: none;
            transition: border-color 0.22s ease, box-shadow 0.22s ease, background 0.22s ease;
        }

        .catalog-download-form__field input::placeholder {
            color: rgba(250, 250, 250, 0.44);
            font-weight: 500;
        }

        .catalog-download-form__field input:focus {
            outline: none;
            border-color: rgba(212, 171, 103, 0.72);
            background: rgba(255, 255, 255, 0.06);
            box-shadow: 0 0 0 3px rgba(212, 171, 103, 0.14);
        }

        .catalog-download-form__submit {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            box-sizing: border-box;
            min-height: 50px;
            padding: 0 22px;
            border: 2px solid rgba(212, 171, 103, 0.84);
            border-radius: 18px;
            background: linear-gradient(180deg, rgba(255, 255, 255, 0.1) 0%, rgba(15, 15, 15, 0.55) 100%);
            box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.04), 0 12px 28px rgba(0, 0, 0, 0.24);
            appearance: none;
            font-family: "Bebas Neue", sans-serif;
            font-size: 1.25rem;
            letter-spacing: 0.04em;
            color: #fafafa;
            line-height: 1;
            text-align: center;
            transition: transform 0.22s ease, filter 0.22s ease, background 0.22s ease;
        }

        .catalog-download-form__submit:hover,
        .catalog-download-form__submit:focus-visible {
            transform: translateY(-1px);
            filter: brightness(1.04);
        }

        .catalog-download-form__submit:focus-visible {
            outline: 2px solid rgba(250, 250, 250, 0.32);
            outline-offset: 4px;
        }

        .catalog-download-form__legal {
            max-width: 320px;
            margin: 8px 0 0;
            font-size: 0.59rem;
            line-height: 1.24;
            font-weight: 400;
            color: rgba(250, 250, 250, 0.42);
        }

        .catalog-download-form__legal strong {
            font-weight: 600;
            color: rgba(250, 250, 250, 0.58);
        }

        .catalog-download-modal__visual {
            position: relative;
            min-height: 100%;
            overflow: hidden;
            isolation: isolate;
        }

        .catalog-download-modal__visual img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center;
            display: block;
            transform: scale(1.04);
            transform-origin: center;
        }

        .catalog-download-modal__visual.is-project-cover {
            display: flex;
            align-items: center;
            justify-content: center;
            padding: clamp(16px, 2vw, 26px);
            background: #efede8;
        }

        .catalog-download-modal__visual.is-project-cover::before {
            content: "";
            position: absolute;
            inset: -24px;
            z-index: -1;
            background-image: var(--catalog-modal-image-bg, none);
            background-size: cover;
            background-position: center center;
            opacity: 0.22;
            filter: blur(22px) saturate(0.86);
            transform: scale(1.08);
        }

        .catalog-download-modal__visual.is-project-cover img {
            position: relative;
            z-index: 1;
            width: min(100%, 420px);
            height: auto;
            max-height: min(100%, calc(var(--modal-safe-height) - 132px));
            object-fit: contain;
            object-position: center center !important;
            border-radius: 22px;
            background: #f6f4ef;
            box-shadow: 0 24px 52px rgba(0, 0, 0, 0.28);
            transform: none;
        }

        @media (min-width: 961px) {
            .catalog-download-modal__visual {
                min-height: 560px;
            }

            .catalog-download-modal__visual img {
                transform: scale(1.1);
                transform-origin: center;
            }

            .catalog-download-modal__visual.is-project-cover img {
                transform: none;
            }

            .catalog-download-modal__footer-note {
                margin-top: 18px;
                font-size: 0.7rem;
            }
        }

        .catalog-download-modal__footer-note {
            max-width: 680px;
            margin: 18px auto 0;
            text-align: center;
            font-family: "Gilroy", sans-serif;
            font-size: 0.72rem;
            font-weight: 300;
            line-height: 1.42;
            color: rgba(250, 250, 250, 0.66);
        }

        .catalog-download-modal__footer-note strong {
            font-weight: 700;
            color: rgba(250, 250, 250, 0.86);
        }

        .best-month-section {
            padding: 0 0 92px;
            background: var(--bg);
        }

        .best-month-section__shell {
            width: auto;
            max-width: none;
            margin-left: var(--rail-inline-offset);
            margin-right: var(--rail-inline-offset);
        }

        .best-month {
            position: relative;
            overflow: hidden;
            padding: clamp(46px, 4.2vw, 68px) clamp(18px, 3vw, 42px) clamp(52px, 4.8vw, 74px);
            border-radius: clamp(32px, 3vw, 40px);
            background: #0a0a0a;
            color: #fafafa;
            box-shadow: 0 30px 80px rgba(10, 10, 10, 0.14);
            isolation: isolate;
        }

        .best-month::before {
            content: "";
            position: absolute;
            inset: 0;
            border-radius: inherit;
            border: 0.75px solid rgba(0, 0, 0, 0.92);
            pointer-events: none;
        }

        .best-month__header {
            max-width: 900px;
            margin: 0 auto 32px;
            text-align: center;
        }

        .best-month__header h2 {
            margin: 0;
            font-family: "Bebas Neue", sans-serif;
            font-size: clamp(2.55rem, 4.1vw, 4.2rem);
            font-weight: 700;
            line-height: 0.94;
            letter-spacing: 0.02em;
            color: #fafafa;
        }

        .best-month__header p {
            margin: 12px auto 0;
            max-width: 720px;
            font-family: "Bebas Neue", sans-serif;
            font-size: clamp(1.04rem, 1.72vw, 1.52rem);
            font-weight: 400;
            line-height: 1;
            letter-spacing: 0.08em;
            color: rgba(250, 250, 250, 0.72);
        }

        .best-month__viewport {
            position: relative;
            overflow: hidden;
            cursor: grab;
            user-select: none;
            touch-action: pan-y;
        }

        .best-month__viewport.is-dragging {
            cursor: grabbing;
        }

        .best-month__viewport::before,
        .best-month__viewport::after {
            content: "";
            position: absolute;
            top: 0;
            bottom: 0;
            z-index: 2;
            width: clamp(30px, 4vw, 74px);
            pointer-events: none;
        }

        .best-month__viewport::before {
            left: 0;
            background: linear-gradient(90deg, rgba(10, 10, 10, 0.96) 0%, rgba(10, 10, 10, 0.46) 62%, rgba(10, 10, 10, 0) 100%);
        }

        .best-month__viewport::after {
            right: 0;
            background: linear-gradient(270deg, rgba(10, 10, 10, 0.96) 0%, rgba(10, 10, 10, 0.46) 62%, rgba(10, 10, 10, 0) 100%);
        }

        .best-month__track {
            display: grid;
            grid-auto-flow: column;
            grid-auto-columns: clamp(164px, 14vw, 198px);
            justify-content: center;
            align-items: stretch;
            gap: 18px;
            width: max-content;
            margin: 0 auto;
            padding: 6px 0 12px;
            will-change: transform;
        }

        .best-month__card {
            --best-month-card-radius: 22px;
            position: relative;
            display: block;
            min-height: 214px;
            aspect-ratio: 0.82 / 1;
            padding: 0;
            border: 1px solid rgba(250, 250, 250, 0.2);
            border-radius: var(--best-month-card-radius);
            overflow: hidden;
            background: #151515;
            color: #fafafa;
            text-align: left;
            box-shadow: 0 14px 36px rgba(0, 0, 0, 0.28);
            transform-origin: center bottom;
            transition: transform 0.32s ease, box-shadow 0.32s ease, border-color 0.32s ease;
            isolation: isolate;
            -webkit-transform: translateZ(0);
            transform: translateZ(0);
        }

        .best-month__card::before {
            content: "";
            position: absolute;
            inset: 0;
            z-index: 1;
            border-radius: inherit;
            background: linear-gradient(180deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0) 18%, rgba(0, 0, 0, 0.14) 48%, rgba(0, 0, 0, 0.84) 100%);
            pointer-events: none;
        }

        .best-month__card img {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            border-radius: inherit;
            object-fit: cover;
            object-position: center;
            backface-visibility: hidden;
            transform: translateZ(0);
            transition: transform 0.55s ease, filter 0.35s ease;
        }

        .best-month__card-milk {
            position: absolute;
            inset: 0;
            z-index: 2;
            border-radius: inherit;
            background: linear-gradient(180deg, rgba(250, 246, 239, 0.22) 0%, rgba(250, 246, 239, 0.08) 28%, rgba(250, 246, 239, 0) 62%), rgba(255, 250, 245, 0.1);
            opacity: 0;
            transition: opacity 0.32s ease;
            pointer-events: none;
        }

        .best-month__card-title {
            position: absolute;
            right: 14px;
            bottom: 14px;
            left: 14px;
            z-index: 3;
            font-family: "Bebas Neue", sans-serif;
            color: #fafafa;
            font-size: clamp(1.1rem, 1.15vw, 1.34rem);
            font-weight: 700;
            line-height: 0.96;
            letter-spacing: 0.02em;
            white-space: pre-line;
            text-shadow: 0 4px 18px rgba(0, 0, 0, 0.58);
        }

        .best-month__card:hover,
        .best-month__card:focus-visible {
            border-color: rgba(250, 250, 250, 0.54);
            box-shadow: 0 18px 48px rgba(0, 0, 0, 0.38);
            transform: translateY(-6px);
        }

        .best-month__card:hover img,
        .best-month__card:focus-visible img {
            filter: saturate(1.04) contrast(1.04);
            transform: scale(1.018);
        }

        .best-month__card:hover .best-month__card-milk,
        .best-month__card:focus-visible .best-month__card-milk {
            opacity: 1;
        }

        .best-month__card:focus-visible {
            outline: none;
        }

        .best-month__viewport.is-dragging .best-month__card,
        .best-month__viewport.is-dragging .best-month__card img,
        .best-month__viewport.is-dragging .best-month__card-milk {
            transition-duration: 0s;
        }

        .section__eyebrow {
            margin-bottom: 10px;
            color: rgba(10, 10, 10, 0.54);
            font-size: 0.88rem;
            letter-spacing: 0.18em;
            text-transform: uppercase;
        }

        .why-stack-section {
            position: relative;
            overflow: hidden;
            background: #fafafa;
            color: #0a0a0a;
            padding: clamp(42px, 4.8vw, 64px) clamp(18px, 3.4vw, 36px) clamp(50px, 5.2vw, 72px);
        }

        .why-stack-section__header {
            width: auto;
            max-width: none;
            margin: 0 var(--rail-inline-offset) 14px;
        }

        .why-stack-section__header h2 {
            margin: 0;
            font-family: "Bebas Neue", sans-serif;
            font-size: clamp(2.35rem, 4vw, 4.05rem);
            font-weight: 700;
            line-height: 0.94;
            letter-spacing: 0.01em;
            padding-left: clamp(16px, 1.6vw, 28px);
        }

        .why-stack {
            display: grid;
            grid-template-columns: 176px minmax(0, 1fr);
            gap: 16px;
            align-items: start;
            width: auto;
            max-width: none;
            margin-left: var(--rail-inline-offset);
            margin-right: var(--rail-inline-offset);
        }

        .why-stack__nav {
            position: sticky;
            top: 108px;
            display: grid;
            padding-top: 58px;
        }

        .why-stack__nav button {
            position: relative;
            padding: 16px 18px 16px 0;
            border: 0;
            border-top: 1px solid rgba(10, 10, 10, 0.12);
            background: transparent;
            color: rgba(10, 10, 10, 0.34);
            text-align: left;
            font-size: 1rem;
            font-weight: 700;
            transition: color 0.28s ease, transform 0.28s ease;
        }

        .why-stack__nav button:last-child {
            border-bottom: 1px solid rgba(10, 10, 10, 0.12);
        }

        .why-stack__nav button::after {
            content: "";
            position: absolute;
            top: 50%;
            right: 0;
            width: 0;
            height: 1px;
            background: #0a0a0a;
            transition: width 0.28s ease;
        }

        .why-stack__nav button.is-active {
            color: #0a0a0a;
            transform: translateX(12px);
        }

        .why-stack__nav button.is-active::after {
            width: 16px;
        }

        .why-stack__stage {
            position: relative;
            min-height: 500px;
            padding-top: 2px;
        }

        .why-stack__panel {
            position: absolute;
            top: calc(var(--why-layer-index) * 4px);
            right: 0;
            left: 0;
            display: grid;
            grid-template-columns: minmax(250px, 0.66fr) minmax(0, 1fr);
            gap: clamp(16px, 1.8vw, 24px);
            align-items: stretch;
            min-height: 410px;
            padding: 18px 20px 18px 22px;
            border-radius: 26px;
            background: #ffffff;
            box-shadow: 0 14px 40px rgba(10, 10, 10, 0.08);
            transition: transform 0.42s ease, box-shadow 0.32s ease, opacity 0.32s ease;
        }

        .why-stack__panel.is-active {
            transform: translateY(-4px);
            box-shadow: 0 26px 70px rgba(10, 10, 10, 0.12);
        }

        .why-stack__panel-copy {
            display: flex;
            flex-direction: column;
            justify-content: center;
            padding: clamp(6px, 1vw, 14px) clamp(6px, 1vw, 14px) clamp(6px, 1vw, 14px) 0;
        }

        .why-stack__panel-copy h3 {
            margin: 0;
            font-family: "Bebas Neue", sans-serif;
            font-size: clamp(1.62rem, 2.1vw, 2.42rem);
            font-weight: 700;
            line-height: 0.94;
            letter-spacing: 0.01em;
            max-width: 12ch;
        }

        .why-stack__panel-copy p {
            margin: 12px 0 0;
            font-size: 0.94rem;
            line-height: 1.46;
            color: rgba(10, 10, 10, 0.78);
            max-width: 33rem;
        }

        .why-stack__panel-side {
            position: relative;
            min-height: 352px;
            border-radius: 20px;
        }

        .why-stack__visual-frame {
            --why-visual-image: none;
            position: relative;
            height: 100%;
            min-height: inherit;
            overflow: hidden;
            border-radius: inherit;
            background:
                radial-gradient(circle at 14% 16%, rgba(216, 176, 107, 0.2), transparent 30%),
                linear-gradient(160deg, #f5f2ec 0%, #ece6dc 55%, #e8dfd2 100%);
            box-shadow: inset 0 0 0 1px rgba(10, 10, 10, 0.05);
            isolation: isolate;
        }

        .why-stack__visual-frame::before {
            content: "";
            position: absolute;
            inset: 14px;
            border-radius: 18px;
            background:
                linear-gradient(180deg, rgba(255, 255, 255, 0.12) 0%, rgba(255, 255, 255, 0.04) 100%),
                var(--why-visual-image) center center / 100% 100% no-repeat;
            box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.68);
        }

        .why-stack__visual-frame::after {
            content: "";
            position: absolute;
            inset: 14px;
            border-radius: 18px;
            box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.38);
            pointer-events: none;
        }

        .why-stack__panel-side[data-why-visual="premium"] .why-stack__visual-frame {
            --why-visual-image: url("../images/why/premium-projects.png");
        }

        .why-stack__panel-side[data-why-visual="investment"] .why-stack__visual-frame {
            --why-visual-image: url("../images/why/investment-approach.png");
        }

        .why-stack__panel-side[data-why-visual="legal"] .why-stack__visual-frame {
            --why-visual-image: url("../images/why/legal-safety.png");
        }

        .why-stack__panel-side[data-why-visual="personal"] .why-stack__visual-frame {
            --why-visual-image: url("../images/why/personal-work.png");
        }

        .blog-section {
            padding: 0 0 96px;
            background: #FAFAFA;
        }

        .blog-section__shell {
            width: var(--rail-shell-width);
            max-width: none;
            margin-left: var(--rail-inline-offset);
            margin-right: var(--rail-inline-offset);
            background: #FAFAFA;
        }

        .blog-section .section__center-title {
            margin-bottom: 42px;
        }

        .blog-section h2 {
            margin: 0;
            font-family: "Bebas Neue", sans-serif;
            font-weight: 700;
            font-size: clamp(2.2rem, 5vw, 4.9rem);
            line-height: 0.92;
            letter-spacing: 0.03em;
            white-space: nowrap;
        }

        .blog-section .section__center-title p {
            display: table;
            margin: 16px auto 0;
            max-width: none !important;
            width: max-content;
            min-width: max-content;
            color: var(--text-soft);
            font-size: clamp(0.76rem, 1.35vw, 1.3rem);
            line-height: 1.35;
            white-space: nowrap !important;
        }

        .blog-rail__viewport {
            position: relative;
            overflow: hidden;
            cursor: grab;
            user-select: none;
            touch-action: pan-y;
            background: #FAFAFA;
        }

        .blog-rail__viewport.is-dragging {
            cursor: grabbing;
        }

        .blog-rail__viewport::before,
        .blog-rail__viewport::after {
            content: "";
            position: absolute;
            top: 0;
            bottom: 0;
            z-index: 2;
            width: clamp(16px, 2.4vw, 44px);
            pointer-events: none;
        }

        .blog-rail__viewport::before {
            left: 0;
            background: linear-gradient(90deg, rgba(250, 250, 250, 0.98) 0%, rgba(250, 250, 250, 0.72) 58%, rgba(250, 250, 250, 0) 100%);
        }

        .blog-rail__viewport::after {
            right: 0;
            background: linear-gradient(270deg, rgba(250, 250, 250, 0.98) 0%, rgba(250, 250, 250, 0.72) 58%, rgba(250, 250, 250, 0) 100%);
        }

        .blog-rail__track {
            display: grid;
            grid-auto-flow: column;
            grid-auto-columns: 360px;
            gap: 18px;
            width: max-content;
            min-width: 100%;
            justify-content: center;
            margin: 0 auto;
            padding: 6px 12px 12px;
            background: #FAFAFA;
            will-change: transform;
        }

        .blog-card {
            position: relative;
            display: block;
            width: 360px;
            aspect-ratio: 360 / 320;
            overflow: hidden;
            border-radius: 28px;
            border: 1px solid rgba(10, 10, 10, 0.08);
            background: #ddd7d0;
            color: #fafafa;
            box-shadow: none;
            isolation: isolate;
            transition: transform 0.32s ease, box-shadow 0.32s ease;
        }

        .blog-card:hover,
        .blog-card:focus-visible {
            transform: translateY(-3px);
            box-shadow: none;
            outline: none;
        }

        .blog-card::before {
            content: "";
            position: absolute;
            inset: 0;
            z-index: 1;
            background: linear-gradient(180deg, rgba(10, 10, 10, 0.18) 0%, rgba(10, 10, 10, 0.04) 24%, rgba(10, 10, 10, 0.12) 48%, rgba(10, 10, 10, 0.84) 100%);
        }

        .blog-section .blog-card::before {
            background: linear-gradient(180deg, rgba(10, 10, 10, 0.34) 0%, rgba(10, 10, 10, 0.14) 24%, rgba(10, 10, 10, 0.22) 48%, rgba(10, 10, 10, 0.9) 100%);
        }

        .blog-card::after {
            content: "";
            position: absolute;
            inset: 0;
            z-index: 2;
            border-radius: inherit;
            border: 1px solid rgba(255, 255, 255, 0.14);
            pointer-events: none;
        }

        .blog-card__image {
            position: absolute;
            inset: 0;
            display: block;
            background: #efefef;
        }

        .blog-card__image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.55s ease;
            -webkit-user-drag: none;
            user-select: none;
        }

        .blog-card:hover .blog-card__image img,
        .blog-card:focus-visible .blog-card__image img {
            transform: scale(1.04);
        }

        .blog-card__content {
            position: absolute;
            inset: 0;
            z-index: 3;
            display: grid;
            grid-template-rows: auto 1fr auto;
            align-items: stretch;
            padding: 18px 18px 18px;
        }

        .blog-card__meta {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
        }

.blog-card__category {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-height: 32px;
    padding: 0 12px;
    border-radius: 999px;
    border: 2px solid rgba(212, 171, 103, 0.88);
    background: rgba(255, 255, 255, 0.14);
    backdrop-filter: blur(12px);
    box-shadow: none;
    font-family: "Bebas Neue", sans-serif;
    font-size: clamp(13px, 0.28vw + 12px, 15px);
    line-height: 1;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #fafafa;
}

        .blog-section .blog-card__category {
            background: rgba(10, 10, 10, 0.42);
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
        }

        .blog-card__date {
            color: rgba(250, 250, 250, 0.82);
            font-size: 0.74rem;
            font-weight: 500;
            line-height: 1.2;
            letter-spacing: 0.02em;
            text-align: right;
        }

        .blog-card__bottom {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            align-self: center;
            gap: 14px;
            margin: 0;
            width: 100%;
            text-align: center;
        }

        .blog-card__title {
            display: block;
            width: 70%;
            max-width: 70%;
            margin: 0 auto;
            font-family: "Bebas Neue", sans-serif;
            font-weight: 700;
            font-size: clamp(1.45rem, 1.9vw, 1.9rem);
            line-height: 0.96;
            letter-spacing: 0.02em;
            color: #fafafa;
            text-transform: uppercase;
            text-align: center;
        }

        .blog-card__read {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            align-self: center;
            justify-self: center;
            margin-top: auto;
            color: rgba(250, 250, 250, 0.92);
            font-size: 0.82rem;
            font-weight: 600;
            line-height: 1.2;
            letter-spacing: 0.02em;
            text-align: center;
        }

        .blog-card__read::after {
            content: "";
            width: 8px;
            height: 8px;
            border-top: 2px solid currentColor;
            border-right: 2px solid currentColor;
            transform: rotate(45deg);
        }

        @media (min-width: 1200px) {
            html.is-desktop-compact .hero {
                min-height: clamp(580px, calc(100vh - 82px), 690px);
                min-height: clamp(580px, calc(100svh - 82px), 690px);
            }

            html.is-desktop-compact .hero__inner {
                padding-top: 14px;
            }

            html.is-desktop-compact .hero__content {
                padding-bottom: 42px;
            }

            html.is-desktop-compact .hero__title {
                font-size: clamp(3.75rem, 5.1vw, 5.45rem);
            }

            html.is-desktop-compact .hero__text {
                margin-top: 18px;
                max-width: 58ch;
            }

            html.is-desktop-compact .hero__actions {
                margin-top: 16px;
            }

            html.is-desktop-compact .hero__visual {
                max-width: 428px;
                transform: translateY(calc(var(--hero-marquee-top-gap) + var(--hero-photo-origin-offset)));
            }

            html.is-desktop-compact .hero__marquee {
                margin-top: var(--hero-marquee-top-gap);
            }

            html.is-desktop-compact .catalog-section {
                padding: 56px 0 90px;
            }

            html.is-desktop-compact .best-month-section {
                padding-bottom: 82px;
            }

            html.is-desktop-compact .best-month {
                padding: clamp(40px, 3.6vw, 56px) clamp(18px, 2.8vw, 34px) clamp(44px, 3.9vw, 60px);
            }

            html.is-desktop-compact .lead-request-card {
                min-height: 490px;
                padding: clamp(42px, 4.2vw, 68px) clamp(34px, 4vw, 64px);
            
            width: 100%;
        }

            html.is-desktop-compact .lead-request-form {
                margin-top: 26px;
            }

            html.is-desktop-compact .scenarios-showcase {
                padding: clamp(46px, 4.2vw, 68px) clamp(20px, 2.8vw, 38px) clamp(36px, 3.6vw, 50px);
            }
        }

        .blog-empty {
            padding: 32px 28px;
            border-radius: 26px;
            border: 1px dashed rgba(10, 10, 10, 0.14);
            background: rgba(255, 255, 255, 0.7);
            color: var(--text-soft);
            text-align: center;
            line-height: 1.55;
        }

        .scenarios-section {
            padding: 0 0 86px;
            background: var(--bg);
        }

        .scenarios-section__shell {
            width: auto;
            max-width: none;
            margin-left: var(--rail-inline-offset);
            margin-right: var(--rail-inline-offset);
        }

        .scenarios-showcase {
            position: relative;
            overflow: hidden;
            padding: clamp(40px, 3.8vw, 58px) clamp(18px, 2.6vw, 34px) clamp(28px, 3vw, 42px);
            border-radius: clamp(32px, 3vw, 40px);
            background: #0a0a0a;
            color: #fafafa;
            box-shadow: 0 30px 80px rgba(10, 10, 10, 0.14);
            isolation: isolate;
        }

        .scenarios-showcase::before {
            content: "";
            position: absolute;
            inset: 0;
            border-radius: inherit;
            border: 0.75px solid rgba(0, 0, 0, 0.92);
            pointer-events: none;
        }

        .scenarios-showcase::after {
            content: "";
            position: absolute;
            inset: 0;
            background:
                radial-gradient(circle at 16% 12%, rgba(214, 173, 103, 0.12), transparent 34%),
                radial-gradient(circle at 84% 88%, rgba(255, 255, 255, 0.07), transparent 30%),
                linear-gradient(180deg, rgba(255, 255, 255, 0.03) 0%, rgba(255, 255, 255, 0) 22%, rgba(0, 0, 0, 0.18) 100%),
                url('../images/ui/office-bg.png') center/cover no-repeat;
            opacity: 0.24;
            pointer-events: none;
        }

        .scenarios-showcase__header {
            position: relative;
            z-index: 1;
            max-width: 920px;
            margin: 0 auto 24px;
            text-align: center;
        }

        .scenarios-showcase__header h2 {
            margin: 0;
            font-family: "Bebas Neue", sans-serif;
            font-size: clamp(2.45rem, 4vw, 4.2rem);
            font-weight: 700;
            line-height: 0.94;
            letter-spacing: 0.02em;
            color: #fafafa;
        }

        .scenarios-showcase__header p {
            margin: 10px auto 0;
            max-width: 760px;
            font-family: "Bebas Neue", sans-serif;
            font-size: clamp(1rem, 1.6vw, 1.42rem);
            font-weight: 400;
            line-height: 1;
            letter-spacing: 0.08em;
            color: rgba(250, 250, 250, 0.72);
        }

        .scenario-grid {
            position: relative;
            z-index: 1;
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: clamp(14px, 1.5vw, 18px);
            align-items: stretch;
        }

        .scenario-card {
            display: block;
            width: 100%;
            padding: 0;
            border: 0;
            background: transparent;
            color: inherit;
            text-align: left;
            cursor: pointer;
            appearance: none;
        }

        .scenario-card:focus-visible {
            outline: none;
        }

        .scenario-card__frame {
            position: relative;
            display: flex;
            flex-direction: column;
            min-height: 368px;
            height: 100%;
            padding: 16px 16px 28px;
            border-radius: 30px;
            background: rgba(255, 255, 255, 0.028);
            border: 1px solid rgba(250, 250, 250, 0.14);
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03), 0 18px 36px rgba(0, 0, 0, 0.24);
            overflow: hidden;
            isolation: isolate;
            transition: transform 0.24s ease, border-color 0.24s ease, box-shadow 0.24s ease, background 0.24s ease;
        }

        .scenario-card__frame::before {
            content: "";
            position: absolute;
            inset: 16px 16px 12px;
            border-radius: 20px;
            border: 1px solid rgba(255, 255, 255, 0.08);
            pointer-events: none;
        }

        .scenario-card:hover .scenario-card__frame,
        .scenario-card:focus-visible .scenario-card__frame {
            transform: translateY(-3px);
            border-color: rgba(212, 171, 103, 0.32);
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05), 0 22px 44px rgba(0, 0, 0, 0.28);
            background: rgba(255, 255, 255, 0.038);
        }

        .scenario-card__visual {
            position: relative;
            display: block;
            min-height: 140px;
            margin-bottom: 18px;
            border-radius: 20px;
            overflow: hidden;
            background: #131313;
        }

        .scenario-card__visual::before {
            content: "";
            position: absolute;
            inset: 0;
            z-index: 2;
            border-radius: inherit;
            border: 1px solid rgba(255, 255, 255, 0.08);
            pointer-events: none;
        }

        .scenario-card__visual::after {
            content: "";
            position: absolute;
            inset: 0;
            z-index: 1;
            background:
                linear-gradient(180deg, rgba(255, 255, 255, 0.14) 0%, rgba(255, 255, 255, 0) 26%, rgba(0, 0, 0, 0.26) 100%),
                url('../images/ui/office-bg.png') center/cover no-repeat;
            mix-blend-mode: screen;
            opacity: 0.18;
            pointer-events: none;
        }

        .scenario-card__visual img {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: var(--scenario-image-position, 50% 50%);
            opacity: 0.58;
            filter: saturate(0.9) contrast(1.04) brightness(0.9);
            transform: scale(1.04);
        }

        .scenario-card__body {
            position: relative;
            z-index: 2;
            display: flex;
            flex: 1 1 auto;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 10px;
            padding-inline: clamp(2px, 0.6vw, 8px);
            text-align: center;
        }

        .scenario-card__title {
            position: relative;
            display: block;
            font-family: "Bebas Neue", sans-serif;
            font-size: clamp(1.8rem, 2.5vw, 2.2rem);
            font-weight: 700;
            line-height: 0.9;
            letter-spacing: 0.03em;
            color: #fafafa;
        }

        .scenario-card__text {
            position: relative;
            display: block;
            min-height: 0;
            max-width: 28ch;
            margin-top: 0;
            color: rgba(250, 250, 250, 0.78);
            font-size: 0.9rem;
            font-weight: 500;
            line-height: 1.46;
        }

        .scenario-card__cta {
            position: relative;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            align-self: center;
            box-sizing: border-box;
            min-height: 46px;
            margin-top: 2px;
            padding: 0 18px;
            border: 2px solid rgba(212, 171, 103, 0.84);
            border-radius: 16px;
            background: linear-gradient(180deg, rgba(255, 255, 255, 0.1) 0%, rgba(15, 15, 15, 0.55) 100%);
            box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.04), 0 12px 28px rgba(0, 0, 0, 0.24);
            font-family: "Bebas Neue", sans-serif;
            font-size: 1rem;
            line-height: 1;
            letter-spacing: 0.04em;
            color: #fafafa;
            text-transform: uppercase;
            white-space: nowrap;
            transition: transform 0.22s ease, filter 0.22s ease, background 0.22s ease;
        }

        .scenario-card:hover .scenario-card__cta,
        .scenario-card:focus-visible .scenario-card__cta {
            transform: translateY(-1px);
            filter: brightness(1.04);
        }

        .founder-section {
            padding: 26px 0 96px;
            background: var(--bg);
        }

        .founder-grid {
            display: grid;
            grid-template-columns: 0.94fr 1.06fr;
            align-items: center;
            gap: 34px;
        }

        .founder-copy {
            max-width: 650px;
            padding-left: clamp(4px, 0.8vw, 12px);
            align-self: center;
        }

        .founder-copy h2 {
            margin: 0 0 16px;
            font-family: "Bebas Neue", sans-serif;
            font-weight: 700;
            font-size: clamp(2.7rem, 5.2vw, 4.2rem);
            line-height: 0.92;
            letter-spacing: 0.03em;
        }

        .founder-copy p {
            margin: 0 0 12px;
            color: var(--text-soft);
            line-height: 1.54;
            font-size: 0.98rem;
        }

        .founder-copy ul {
            margin: 0 0 16px;
            padding-left: 18px;
            color: var(--text-soft);
            font-size: 0.98rem;
        }

        .founder-copy li {
            margin-bottom: 7px;
            line-height: 1.46;
        }

        .founder-benefits-intro {
            margin-bottom: 10px !important;
        }

        .founder-benefits {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 10px;
            margin: 0 0 18px;
        }

        .founder-benefit {
            position: relative;
            display: flex;
            flex-direction: column;
            gap: 10px;
            min-height: 122px;
            padding: 16px 15px 15px;
            border: 1px solid rgba(210, 170, 104, 0.38);
            border-radius: 22px;
            background: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(247, 243, 235, 0.82) 100%);
            box-shadow: 0 18px 42px rgba(33, 28, 20, 0.07), inset 0 1px 0 rgba(255, 255, 255, 0.9);
            overflow: hidden;
        }

        .founder-benefit::after {
            content: "";
            position: absolute;
            inset: auto 14px 12px auto;
            width: 34px;
            height: 34px;
            border-radius: 50%;
            background: rgba(210, 170, 104, 0.12);
            pointer-events: none;
        }

        .founder-benefit__num {
            position: relative;
            z-index: 1;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 34px;
            height: 34px;
            border-radius: 50%;
            border: 1px solid rgba(173, 126, 58, 0.34);
            color: #a67836;
            background: rgba(255, 255, 255, 0.72);
            font-family: "Bebas Neue", sans-serif;
            font-size: 1.02rem;
            line-height: 1;
            letter-spacing: 0.04em;
        }

        .founder-benefit__body {
            position: relative;
            z-index: 1;
            display: flex;
            flex-direction: column;
            gap: 5px;
        }

        .founder-benefit__body strong {
            color: var(--text);
            font-size: 0.95rem;
            line-height: 1.15;
            font-weight: 700;
        }

        .founder-benefit__body span {
            color: var(--text-soft);
            font-size: 0.82rem;
            line-height: 1.28;
        }

        .founder-visual {
            position: relative;
            align-self: center;
            justify-self: end;
            display: flex;
            align-items: center;
            justify-content: center;
            width: min(100%, 434px);
            aspect-ratio: 1203 / 1648;
            padding: 0;
            box-sizing: border-box;
            overflow: visible;
            background: #fafafa;
        }

        .founder-visual img {
            width: 100%;
            height: auto;
            max-width: none;
            max-height: none;
            display: block;
            object-fit: contain;
            object-position: 50% 50%;
            transform: scale(1);
            transform-origin: center center;
            filter: none;
        }

        .founder-visual__hotspot {
            position: absolute;
            z-index: 2;
            left: 18%;
            right: 18%;
            bottom: 4.8%;
            height: 11.6%;
            border-radius: 28px;
            background: transparent;
            cursor: pointer;
            transition: box-shadow 0.18s ease, background 0.18s ease, transform 0.18s ease;
        }

        .founder-visual__hotspot:hover {
            background: transparent;
            box-shadow: none;
            transform: none;
        }

        .founder-visual__hotspot:focus-visible {
            background: transparent;
            box-shadow: 0 0 0 3px rgba(212, 171, 103, 0.18);
            transform: none;
            outline: none;
        }

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
            margin: -1px;
            overflow: hidden;
            clip: rect(0 0 0 0);
            clip-path: inset(50%);
            white-space: nowrap;
    border: 0;
}

.article-text--left {
    text-align: left;
}

.article-text--center {
    text-align: center;
}

.article-text--right {
    text-align: right;
}

.article-text {
    --article-text-heading-font-size: 20px;
    --article-text-heading-font-weight: 400;
    --article-text-body-font-size: 20px;
    --article-text-body-font-weight: 400;
    --article-text-width: 100%;
    --article-text-offset-left: 0%;
    --article-text-offset-right: 0%;
    --article-text-margin-top: 0px;
    --article-text-margin-bottom: 0px;
    width: var(--article-text-width, 100%);
    max-width: calc(100% - var(--article-text-offset-left, 0%) - var(--article-text-offset-right, 0%));
    margin-top: var(--article-text-margin-top, 0px);
    margin-bottom: var(--article-text-margin-bottom, 0px);
    margin-left: var(--article-text-offset-left, 0%);
    margin-right: var(--article-text-offset-right, 0%);
}

.article-text__content,
.article-text__link,
.article-text__body {
    display: block;
    width: 100%;
    max-width: 100%;
    color: inherit;
    text-decoration: none;
}

.blog-article__section.article-text .article-text__heading {
    margin: 0 0 14px;
    font-size: var(--article-text-heading-font-size, 20px);
    font-weight: var(--article-text-heading-font-weight, 400);
}

.blog-article__section.article-text .article-text__body p {
    font-size: var(--article-text-body-font-size, 20px);
    font-weight: var(--article-text-body-font-weight, 400);
}

.blog-article__row {
    display: flex;
    align-items: flex-start;
    gap: 32px;
    max-width: 100%;
}

.blog-article__row > .article-text,
.blog-article__row > .article-image {
    min-width: 0;
    max-width: 100%;
    margin-top: 0;
    margin-bottom: 0;
}

.blog-article__row > .article-text {
    flex: 1 1 0;
}

.blog-article__row > .article-image {
    flex: 0 0 min(45%, 420px);
    width: min(45%, 420px);
    max-width: 45%;
    margin-left: 0;
    margin-right: 0;
}

.article-image {
    display: block;
    max-width: 100%;
    --article-image-scale: 1;
    --article-image-pos-x: 50%;
    --article-image-pos-y: 50%;
    --article-image-radius: 0px;
    --article-image-margin-top: 0px;
    --article-image-margin-bottom: 0px;
    margin-top: var(--article-image-margin-top, 0px);
    margin-bottom: var(--article-image-margin-bottom, 0px);
}

.article-image__link {
    display: block;
    color: inherit;
    text-decoration: none;
}

.article-image__media {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    border-radius: var(--article-image-radius, 0px);
}

.article-image img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    object-position: var(--article-image-pos-x, 50%) var(--article-image-pos-y, 50%);
    transform: scale(var(--article-image-scale, 1));
    transform-origin: var(--article-image-pos-x, 50%) var(--article-image-pos-y, 50%);
}

.article-image--scaled-down > .article-image__media,
.article-image--scaled-down > .article-image__link {
    display: block;
    width: calc(var(--article-image-scale, 1) * 100%);
    max-width: 100%;
}

.article-image--scaled-down > .article-image__link .article-image__media {
    width: 100%;
    max-width: 100%;
}

.article-image--scaled-down.article-image--center > .article-image__media,
.article-image--scaled-down.article-image--center > .article-image__link,
.article-image--scaled-down.article-image--center > figcaption {
    margin-left: auto;
    margin-right: auto;
}

.article-image--scaled-down.article-image--left > .article-image__media,
.article-image--scaled-down.article-image--left > .article-image__link,
.article-image--scaled-down.article-image--left > figcaption {
    margin-left: 0;
    margin-right: auto;
}

.article-image--scaled-down.article-image--right > .article-image__media,
.article-image--scaled-down.article-image--right > .article-image__link,
.article-image--scaled-down.article-image--right > figcaption {
    margin-left: auto;
    margin-right: 0;
}

.article-image--scaled-down img {
    width: 100%;
    max-width: 100%;
    transform: none;
}

.article-image--scaled-down > figcaption {
    width: calc(var(--article-image-scale, 1) * 100%);
    max-width: 100%;
}

.article-image--center {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.article-image--center img {
    width: 100%;
}

.article-image--left {
    width: min(45%, 420px);
    margin-left: 0;
    margin-right: auto;
}

.article-image--left img {
    width: 100%;
}

.article-image--right {
    width: min(45%, 420px);
    margin-left: auto;
    margin-right: 0;
}

.article-image--right img {
    width: 100%;
}

.article-inline-link {
    color: inherit;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.16em;
}

.blog-article__layout {
    display: grid;
    gap: 32px;
    align-items: start;
}

.blog-article__layout--with-sidebar {
    grid-template-columns: minmax(0, 1fr) minmax(240px, 300px);
}

.blog-article__main,
.blog-article__sidebar {
    min-width: 0;
    overflow: visible;
}

.blog-article__sidebar {
    align-self: start;
    position: relative;
}

.blog-article__sidebar-card {
    padding: 24px;
    border: 1px solid rgba(17, 17, 17, 0.08);
    border-radius: 24px;
    background: #ffffff;
    box-shadow: 0 20px 36px rgba(17, 17, 17, 0.04);
}

.blog-article__sidebar--sticky {
    position: sticky;
    top: 118px;
    align-self: start;
}

.blog-article__sidebar-card--sticky {
    position: static;
    top: auto;
}

.blog-article__sidebar-title {
    margin: 0 0 14px;
    color: #111111;
    font-family: "Gilroy", Arial, sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.2;
}

.blog-article__sidebar-list {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.blog-article__sidebar-list a {
    color: rgba(17, 17, 17, 0.72);
    text-decoration: none;
    line-height: 1.5;
}

.blog-article__sidebar-list a:hover,
.blog-article__sidebar-list a:focus-visible {
    color: #111111;
}

.article-combo {
    display: grid;
    grid-template-columns: minmax(0, var(--combo-text-width, 50%)) minmax(0, var(--combo-image-width, 50%));
    gap: var(--combo-gap, 40px);
    align-items: center;
    --article-combo-heading-font-size: 17px;
    --article-combo-heading-font-weight: 400;
    --article-combo-body-font-size: 17px;
    --article-combo-body-font-weight: 400;
    --combo-text-offset-left: 0%;
    --combo-text-offset-right: 0%;
    --article-combo-margin-top: 0px;
    --article-combo-margin-bottom: 0px;
    margin-top: var(--article-combo-margin-top, 0px);
    margin-bottom: var(--article-combo-margin-bottom, 0px);
}

.article-combo--image-text {
    grid-template-columns: minmax(0, var(--combo-image-width, 50%)) minmax(0, var(--combo-text-width, 50%));
}

.article-combo--valign-top {
    align-items: start;
}

.article-combo--valign-center {
    align-items: center;
}

.article-combo--valign-bottom {
    align-items: end;
}

.article-combo__text,
.article-combo__media {
    min-width: 0;
    max-width: 100%;
}

.article-combo__text {
    box-sizing: border-box;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
    padding-left: var(--combo-text-offset-left, 0%);
    padding-right: var(--combo-text-offset-right, 0%);
}

.article-combo--text-left .article-combo__text {
    text-align: left;
}

.article-combo--text-center .article-combo__text {
    text-align: center;
}

.article-combo--text-right .article-combo__text {
    text-align: right;
}

.article-combo__eyebrow {
    margin: 0 0 10px;
    font-size: 12px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: rgba(17, 17, 17, 0.48);
}

.article-combo__text h2 {
    margin: 0;
    font-size: var(--article-combo-heading-font-size, 17px);
    font-weight: var(--article-combo-heading-font-weight, 400);
}

.article-combo__text p {
    margin: 12px 0 0;
    font-size: var(--article-combo-body-font-size, 17px);
    font-weight: var(--article-combo-body-font-weight, 400);
}

.article-combo__media {
    margin: 0;
}

.article-combo__media-frame {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: var(--combo-image-height, auto);
    border-radius: var(--combo-image-radius, 24px);
    background: rgba(17, 17, 17, 0.04);
}

.article-combo__media img {
    display: block;
    width: 100%;
    height: var(--combo-image-height, auto);
    max-width: 100%;
    object-fit: cover;
    object-position: var(--combo-image-pos-x, 50%) var(--combo-image-pos-y, 50%);
    transform: scale(var(--combo-image-scale, 1));
    transform-origin: var(--combo-image-pos-x, 50%) var(--combo-image-pos-y, 50%);
}

.article-combo--image-scaled-down .article-combo__media-frame {
    width: calc(var(--combo-image-scale, 1) * 100%);
    max-width: 100%;
    height: var(--combo-image-render-height, auto);
    margin-left: auto;
    margin-right: auto;
}

.article-combo--image-scaled-down .article-combo__media img {
    width: 100%;
    height: auto;
    max-width: 100%;
    transform: none;
}

.article-combo--image-scaled-down figcaption {
    width: calc(var(--combo-image-scale, 1) * 100%);
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.article-combo__media--contain .article-combo__media-frame {
    background: transparent;
}

.article-combo__media--contain img {
    object-fit: contain;
}

.article-combo figcaption {
    margin-top: 10px;
    color: rgba(17, 17, 17, 0.6);
    font-size: 13px;
    line-height: 1.5;
}

.blog-article__intro,
.blog-article__lead,
.blog-article__section,
.blog-article__section :where(h1, h2, h3, h4, p, figcaption, a, code, span, li),
.blog-article__callback-card,
.blog-article__callback-card :where(h2, p, button, a, span),
.blog-article__newsletter-card,
.blog-article__newsletter-card :where(h2, p, figcaption, a, code, span, li) {
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
}

@media (max-width: 900px) {
    .blog-article__layout--with-sidebar {
        grid-template-columns: 1fr;
    }

    .blog-article__sidebar {
        order: -1;
    }

    .blog-article__sidebar--sticky,
    .blog-article__sidebar-card--sticky {
        position: static;
        top: auto;
    }

    .blog-article__row {
        display: grid;
        gap: 20px;
    }

    .blog-article__row > .article-image,
    .blog-article__row > .article-text,
    .article-image--left,
    .article-image--right {
        width: 100%;
        max-width: 100%;
    }

    .article-combo,
    .article-combo--image-text {
        grid-template-columns: 1fr;
        gap: 20px;
    }
}

        .lead-request-section {
            padding: 0 0 96px;
            background: var(--bg);
        }

        .lead-request-section__shell {
            width: auto;
            max-width: none;
            margin-left: var(--rail-inline-offset);
            margin-right: var(--rail-inline-offset);
        }

        .lead-request-card {
            position: relative;
            overflow: hidden;
            width: 100%;
            min-height: 477px;
            padding: clamp(49px, 4.68vw, 76px) clamp(42px, 5vw, 86px);
            border-radius: clamp(32px, 3vw, 40px);
            color: #faf9f6;
            background:
                linear-gradient(108deg, rgba(10, 10, 10, 0.96) 0%, rgba(10, 10, 10, 0.92) 34%, rgba(10, 10, 10, 0.78) 62%, rgba(10, 10, 10, 0.64) 100%),
                url('../images/ui/office-bg.png') center/cover no-repeat;
            box-shadow: 0 30px 80px rgba(10, 10, 10, 0.14);
            isolation: isolate;
        }

        .lead-request-card::before {
            content: "";
            position: absolute;
            inset: 0;
            border-radius: inherit;
            border: 0.75px solid rgba(0, 0, 0, 0.92);
            pointer-events: none;
        }

        .lead-request-card::after {
            content: "";
            position: absolute;
            right: -6%;
            bottom: -18%;
            width: 34%;
            aspect-ratio: 1;
            border-radius: 50%;
            background: radial-gradient(circle, rgba(202, 165, 107, 0.16) 0%, rgba(202, 165, 107, 0) 72%);
            filter: blur(14px);
            opacity: 0.78;
            pointer-events: none;
        }

        .lead-request-card__inner {
            position: relative;
            z-index: 1;
            max-width: 1240px;
            display: flex;
            flex-direction: column;
            justify-content: center;
        }

        .lead-request-card__title {
            margin: 0;
            max-width: none;
            font-family: "Bebas Neue", sans-serif;
            font-size: clamp(2.35rem, 4vw, 4.05rem);
            font-weight: 700;
            line-height: 0.94;
            letter-spacing: 0.01em;
            color: #fbfaf7;
            white-space: nowrap;
            text-wrap: nowrap;
        }

        .lead-request-card__subtitle {
            margin: 16px 0 0;
            max-width: 52ch;
            color: rgba(250, 249, 246, 0.76);
            font-size: 1.04rem;
            line-height: 1.58;
            font-weight: 400;
        }

        .lead-request-form {
            --lead-submit-width: 300px;
            --lead-phone-width: clamp(430px, 33vw, 560px);
            margin-top: 32px;
            max-width: 860px;
        }

        .lead-request-form__phone {
            display: grid;
            grid-template-columns: auto minmax(0, 1fr);
            align-items: center;
            width: min(100%, var(--lead-phone-width));
            min-height: 68px;
            padding: 0 24px 0 22px;
            border: 1px solid rgba(250, 250, 250, 0.18);
            border-radius: 18px;
            background: rgba(255, 255, 255, 0.05);
            box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.02);
            transition: border-color 0.22s ease, box-shadow 0.22s ease, background 0.22s ease;
        }

        .lead-request-form__phone:focus-within {
            border-color: rgba(212, 171, 103, 0.72);
            background: rgba(255, 255, 255, 0.06);
            box-shadow: 0 0 0 3px rgba(212, 171, 103, 0.14);
        }

        .lead-request-form__prefix {
            padding-right: 16px;
            margin-right: 16px;
            border-right: 1px solid rgba(250, 250, 250, 0.14);
            font-size: 1.12rem;
            font-weight: 700;
            line-height: 1;
            color: rgba(250, 250, 250, 0.92);
            white-space: nowrap;
        }

        .lead-request-form__phone input[type="tel"] {
            width: 100%;
            border: 0;
            padding: 0;
            background: transparent;
            color: #fafafa;
            font-family: "Gilroy", sans-serif;
            font-size: 1rem;
            font-weight: 600;
            line-height: 1.2;
            letter-spacing: 0.01em;
            appearance: none;
        }

        .lead-request-form__phone input[type="tel"]::placeholder {
            color: rgba(250, 250, 250, 0.42);
            font-weight: 400;
        }

        .lead-request-form__phone input[type="tel"]:focus {
            outline: none;
        }

        .lead-request-form__bottom {
            margin-top: 22px;
            display: grid;
            grid-template-columns: minmax(220px, 300px) minmax(390px, 430px);
            gap: 20px;
            align-items: center;
            justify-content: start;
        }

        .lead-request-form__submit {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            box-sizing: border-box;
            min-height: 56px;
            width: 100%;
            padding: 0 26px;
            border: 2px solid rgba(212, 171, 103, 0.84);
            border-radius: 18px;
            background: linear-gradient(180deg, rgba(255, 255, 255, 0.1) 0%, rgba(15, 15, 15, 0.55) 100%);
            box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.04), 0 12px 28px rgba(0, 0, 0, 0.24);
            color: #fafafa;
            font-family: "Bebas Neue", sans-serif;
            font-weight: 700;
            font-size: 1.3125rem;
            letter-spacing: 0.04em;
            line-height: 1;
            text-align: center;
            transition: transform 0.22s ease, filter 0.22s ease, background 0.22s ease;
        }

        .lead-request-form__submit:hover,
        .lead-request-form__submit:focus-visible {
            transform: translateY(-1px);
            filter: brightness(1.04);
        }

        .lead-request-form__submit:focus-visible {
            outline: 2px solid rgba(250, 250, 250, 0.28);
            outline-offset: 4px;
        }

        .lead-request-consent {
            position: relative;
            display: flex;
            align-items: center;
            gap: 12px;
            cursor: pointer;
            user-select: none;
            max-width: 430px;
            min-height: 56px;
        }

        .lead-request-consent input {
            position: absolute;
            width: 1px;
            height: 1px;
            margin: -1px;
            padding: 0;
            border: 0;
            overflow: hidden;
            clip: rect(0 0 0 0);
            clip-path: inset(50%);
            white-space: nowrap;
        }

        .lead-request-consent__box {
            position: relative;
            flex: 0 0 22px;
            width: 22px;
            height: 22px;
            margin-top: 0;
            border: 1px solid rgba(250, 250, 250, 0.38);
            border-radius: 7px;
            background: rgba(255, 255, 255, 0.05);
            box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.02);
            transition: border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
        }

        .lead-request-consent__box::after {
            content: "";
            position: absolute;
            left: 7px;
            top: 3px;
            width: 5px;
            height: 10px;
            border-right: 2px solid transparent;
            border-bottom: 2px solid transparent;
            transform: rotate(45deg);
            transition: border-color 0.18s ease, opacity 0.18s ease;
            opacity: 0;
        }

        .lead-request-consent input:checked + .lead-request-consent__box {
            border-color: rgba(212, 171, 103, 0.82);
            background: rgba(212, 171, 103, 0.16);
            box-shadow: inset 0 0 0 1px rgba(212, 171, 103, 0.14);
        }

        .lead-request-consent input:checked + .lead-request-consent__box::after {
            border-color: rgba(250, 249, 246, 0.96);
            opacity: 1;
        }

        .lead-request-consent input:focus-visible + .lead-request-consent__box {
            outline: 2px solid rgba(250, 250, 250, 0.24);
            outline-offset: 4px;
        }

        .lead-request-consent__text {
            display: flex;
            align-items: center;
            max-width: 430px;
            color: rgba(250, 249, 246, 0.66);
            font-family: "Gilroy", Arial, sans-serif;
            font-size: 0.84rem;
            line-height: 1.48;
            font-weight: 300;
        }

        .lead-request-form__note {
            margin-top: 18px;
            width: min(100%, var(--lead-submit-width));
            color: rgba(250, 249, 246, 0.5);
            font-size: 0.82rem;
            line-height: 1.4;
            font-weight: 300;
            text-align: center;
        }

        .contacts-section {
            padding: 24px 0 84px;
            background: var(--bg);
            border-top: 1px solid rgba(10, 10, 10, 0.06);
        }

        .contacts__grid {
            display: grid;
            gap: 34px;
            grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
            row-gap: 26px;
            align-items: center;
            background: transparent;
        }

        .contacts__brand {
            display: grid;
            grid-template-columns: auto auto;
            gap: 24px;
            align-items: center;
            align-self: center;
            justify-self: start;
            background: transparent;
        }

        .contacts__info,
        .contacts__legal {
            background: transparent;
        }

        .contacts__info {
            padding-left: 0;
            justify-self: end;
            align-self: center;
            width: 100%;
            max-width: 620px;
            text-align: right;
        }

        .contacts__brand img {
            width: 86px;
            height: auto;
            display: block;
            background: transparent;
            object-fit: contain;
            mix-blend-mode: multiply;
        }

        .contacts__brand > div {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            justify-self: start;
            gap: 10px;
            width: max-content;
        }

        .contacts__brand strong {
            display: block;
            margin: 0;
            text-align: center;
            white-space: nowrap;
            line-height: 1;
        }

        .contacts__brand .pill-button {
            min-width: 0;
        }

        .contacts__phone {
            display: inline-block;
            margin-bottom: 0;
            font-size: clamp(1.72rem, 3.15vw, 2.55rem);
            font-weight: 800;
        }

        .contacts__info p,
        .contacts__legal p {
            margin: 0 0 14px;
            color: var(--text-soft);
            font-size: 0.95rem;
            line-height: 1.35;
        }

        .contacts__socials {
            display: flex;
            flex-wrap: wrap;
            justify-content: flex-end;
            gap: 10px;
            margin-top: 18px;
        }

        .contacts__socials a,
        .contacts__socials span {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-width: 62px;
            min-height: 48px;
            padding: 10px 18px;
            border-radius: 999px;
            background: #fff;
            border: 1px solid rgba(10, 10, 10, 0.08);
            box-shadow: 0 10px 24px rgba(10, 10, 10, 0.05);
        }

        .contacts__socials img {
            width: 22px;
            height: 22px;
            object-fit: contain;
        }

        .contacts__requisites {
            margin-bottom: 18px;
            font-weight: 500;
        }

        .contacts__legal {
            grid-column: 1 / -1;
            max-width: 900px;
            font-size: 0.62rem;
        }

        .contacts__requisites {
            margin-bottom: 16px;
            font-size: 0.62rem;
            line-height: 1.35;
            font-weight: 500;
        }

        .contacts__docs {
            display: flex;
            flex-wrap: wrap;
            gap: 10px 16px;
            margin-bottom: 16px;
            font-size: 0.62rem;
            line-height: 1.3;
            font-weight: 700;
        }

        .contacts__docs a {
            border-bottom: 1px solid rgba(10, 10, 10, 0.14);
        }

        .contacts__legal p {
            margin: 0 0 10px;
            font-size: inherit;
            line-height: 1.45;
        }

        @keyframes marquee {
            from {
                transform: translateX(0);
            }

            to {
                transform: translateX(-50%);
            }
        }

        @media (max-width: 1140px) {
            :root {
                --page-grid-gutter: 48px;
            }

            .hero__bg-word {
                left: -2px;
                top: 88px;
                font-size: clamp(14.2rem, 23vw, 18.8rem);
            }

            .hero__inner {
                grid-template-columns: minmax(0, 1fr) minmax(320px, 400px);
                gap: 14px;
                padding: 18px 0 0;
            }

            .hero__content {
                padding: 0 0 48px;
            }

            .hero__title {
                font-size: clamp(3.7rem, 5.6vw, 5.3rem);
            }

            .hero__text {
                max-width: 56ch;
                font-size: 0.98rem;
            }

            .hero__visual {
                max-width: 390px;
                transform: translateY(calc(var(--hero-marquee-top-gap) + var(--hero-photo-origin-offset)));
            }

            .hero__marquee-track {
                gap: 20px;
            }

            .hero__marquee-item {
                width: 142px;
                min-width: 142px;
                height: 56px;
            }

            .hero__marquee-item img {
                max-width: 132px;
                max-height: 32px;
            }

            .catalog-section__shell {
                width: var(--rail-shell-width);
                max-width: var(--rail-shell-width);
            }

            .best-month-section__shell {
                width: var(--rail-shell-width);
                max-width: var(--rail-shell-width);
            }

            .scenarios-section__shell {
                width: var(--rail-shell-width);
                max-width: var(--rail-shell-width);
            }

            .catalog-showcase {
                height: 50vw;
                grid-template-columns: minmax(0, 1fr) minmax(348px, 0.92fr);
                gap: 24px;
                min-height: 0;
                padding: 0 0 0 32px;
            }

            .catalog-section .catalog-showcase__title {
                font-size: clamp(2.85rem, 4.5vw, 4.25rem);
            }

            .catalog-showcase__actions {
                grid-template-columns: minmax(210px, 270px) minmax(0, 1fr);
                gap: 22px;
            }

            .catalog-showcase__visual-frame {
                width: 100%;
            }

            .catalog-download-modal__dialog {
                width: min(calc(100% - 48px), 900px);
            }

            .catalog-download-modal__frame {
                grid-template-columns: minmax(0, 1fr) minmax(260px, 0.68fr);
            }

            .lead-request-section__shell {
                width: var(--rail-shell-width);
                max-width: var(--rail-shell-width);
            }

            .lead-request-card {
                padding: 43px 42px;
            }

            .lead-request-card__inner {
                max-width: 1080px;
            }

            .lead-request-card__title {
                max-width: none;
                font-size: clamp(2.35rem, 4vw, 4.05rem);
                white-space: nowrap;
            }

            .lead-request-card__subtitle {
                max-width: 48ch;
            }

            .lead-request-form {
                --lead-submit-width: 280px;
                max-width: 780px;
            }

            .lead-request-form__bottom {
                grid-template-columns: minmax(210px, 280px) minmax(0, 1fr);
                gap: 18px;
            }

            .best-month {
                padding: 44px 18px 60px;
            }

            .scenarios-showcase {
                padding: 38px 24px 30px;
            }

            .scenario-card__frame {
                min-height: 350px;
            }

            .scenario-card__text {
                min-height: 92px;
                font-size: 0.88rem;
            }

            .scenario-card__cta {
                min-height: 44px;
                font-size: 1rem;
            }

            .best-month__header {
                margin-bottom: 22px;
            }

            .best-month__track {
                grid-auto-columns: minmax(170px, 186px);
                gap: 16px;
                padding: 6px 10px 12px;
            }

            .best-month__card {
                --best-month-card-radius: 18px;
                min-height: 204px;
                border-radius: 18px;
            }

            .best-month__card-title {
                right: 14px;
                bottom: 14px;
                left: 14px;
                font-size: 1.22rem;
            }

            .lead-modal__dialog {
                width: min(calc(100% - 48px), 1080px);
                min-height: min(620px, calc(var(--viewport-height) - 64px));
            }

            .lead-modal__content {
                grid-template-columns: minmax(0, 1fr) minmax(300px, 0.62fr);
                gap: 28px;
                padding: 46px 42px 40px;
            }

            .lead-modal__visual {
                min-height: 470px;
            }

            .lead-request-section {
                padding: 0 0 84px;
            }

            .lead-request-section__shell {
                width: var(--rail-shell-width);
                max-width: var(--rail-shell-width);
            }

            .lead-request-card {
                min-height: 0;
                padding: 34px 30px 31px;
            }

            .lead-request-card__inner {
                max-width: none;
            }

            .lead-request-card__title {
                max-width: 14ch;
                font-size: clamp(2.75rem, 7vw, 4rem);
                white-space: normal;
            }

            .lead-request-card__subtitle {
                max-width: 44ch;
            }

            .lead-request-form__bottom {
                grid-template-columns: 1fr;
                gap: 16px;
                align-items: start;
            }

            .lead-request-form {
                --lead-submit-width: 100%;
            }

            .lead-request-consent__text {
                max-width: 42ch;
            }

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

            .search-group--price,
            .search-group--location {
                grid-column: span 2;
            }

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

            .founder-copy {
                padding-left: 0;
            }

            .founder-visual {
                justify-self: center;
                width: min(100%, 364px);
            }

            .why-stack {
                grid-template-columns: 1fr;
                gap: 16px;
            }

            .why-stack__nav {
                position: static;
                display: flex;
                gap: 10px;
                padding-top: 0;
                overflow-x: auto;
                scrollbar-width: none;
            }

            .why-stack__nav::-webkit-scrollbar {
                display: none;
            }

            .why-stack__nav button {
                flex: 0 0 auto;
                min-width: 220px;
                padding: 14px 16px;
                border: 1px solid rgba(10, 10, 10, 0.12);
                border-radius: 999px;
                background: rgba(255, 255, 255, 0.72);
            }

            .why-stack__nav button.is-active {
                transform: none;
            }

            .why-stack__nav button::after {
                display: none;
            }

            .why-stack__stage {
                min-height: 0;
            }

            .why-stack__panel {
                position: relative;
                top: auto;
                display: none;
                grid-template-columns: 1fr;
                min-height: 0;
                padding: 20px;
            }

            .why-stack__panel.is-active {
                display: grid;
                transform: none;
            }

            .why-stack__panel-side {
                min-height: 320px;
            }

            .why-stack__panel-copy {
                padding-right: 0;
            }

            .blog-section__shell {
                width: var(--rail-shell-width);
                max-width: var(--rail-shell-width);
            }

            .blog-rail__track {
                grid-auto-columns: 340px;
                gap: 16px;
            }

            .menu-overlay__grid {
                grid-template-columns: 1fr;
            }

            .menu-overlay__meta {
                width: 100%;
                justify-self: start;
            }

            .menu-overlay__rate-card {
                max-width: 360px;
            }

            .menu-overlay__rate-widget {
                width: 100%;
                max-width: 360px;
            }

            .menu-overlay__nav a,
            .menu-overlay__nav button {
                min-height: 54px;
                font-size: 1.56rem;
            }

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

            .contacts__info {
                padding-left: 14px;
            }

            .contacts__legal {
                grid-column: 1 / -1;
            }
        }

        @media (max-width: 960px) {
            :root {
                --page-grid-gutter: 32px;
            }

            .container {
                width: min(calc(100% - var(--page-grid-gutter)), 100%);
            }

            .topbar__inner {
                width: calc(100% - 40px);
                grid-template-columns: 48px 1fr auto;
                gap: 12px;
                min-height: 78px;
            }

            .menu-toggle {
                width: 48px;
                height: 48px;
                margin-left: 0;
            }

            .topbar__brand {
                min-height: 60px;
                padding: 0 8px 0 0;
            }

            .topbar__brand img {
                width: clamp(116px, 18vw, 148px);
            }

            .topbar__spacer {
                display: none;
            }

            .topbar__contact a {
                font-size: clamp(20px, 2.45vw, 23px);
            }

            .topbar__contact span {
                gap: 10px;
                font-size: 11.5px;
            }

            #search,
            #best,
            #why,
            #founder,
            #scenarios,
            #blog,
            #contacts {
                scroll-margin-top: 118px;
            }

            .hero {
                min-height: auto;
            }

            .hero__bg-word {
                left: -14px;
                top: 40px;
                font-size: clamp(6.2rem, 16vw, 9rem);
            }

            .hero__inner {
                grid-template-columns: 1fr;
                gap: 8px;
                padding: 22px 0 10px;
            }

            .hero__content {
                padding: 18px 0 18px;
                max-width: 100%;
            }

            .hero__title {
                max-width: none;
                font-size: clamp(3.6rem, 9.3vw, 5.2rem);
            }

            .hero__text {
                max-width: 44ch;
                font-size: 1rem;
            }

            .hero__visual {
                justify-self: end;
                width: 100%;
                max-width: 430px;
                padding-right: 0;
                transform: none;
            }

            .hero__badge {
                left: 16px;
                bottom: 18px;
            }

            .hero__marquee {
                margin-top: 22px;
                padding: 10px 0 18px;
            }

            .catalog-section {
                padding: 52px 0 84px;
            }

            .catalog-section__shell {
                width: var(--rail-shell-width);
                max-width: var(--rail-shell-width);
            }

            .best-month-section {
                padding: 0 0 90px;
            }

            .best-month-section__shell {
                width: var(--rail-shell-width);
                max-width: var(--rail-shell-width);
            }

            .scenarios-section {
                padding: 0 0 88px;
            }

            .scenarios-section__shell {
                width: var(--rail-shell-width);
                max-width: var(--rail-shell-width);
            }

            .catalog-showcase {
                grid-template-columns: 1fr;
                gap: 24px;
                padding: 32px 28px 30px;
            }

            .catalog-showcase__copy {
                max-width: none;
            }

            .catalog-section .catalog-showcase__title {
                max-width: 9.8ch;
                font-size: clamp(2.75rem, 7vw, 4rem);
            }

            .catalog-showcase__actions {
                grid-template-columns: 1fr;
                align-items: start;
                gap: 16px;
            }

            .catalog-showcase {
                padding: 40px 32px;
                gap: 28px;
            }

            .catalog-section .catalog-showcase__note {
                max-width: 26ch;
            }

            .catalog-showcase__visual {
                justify-content: flex-start;
                align-items: center;
            }

            .catalog-showcase__visual-frame {
                width: min(100%, 500px);
                min-height: 0;
                height: auto;
            }

            .catalog-showcase__visual-frame img {
                width: 80%;
                max-width: 80%;
                max-height: none;
                height: auto;
            }

            .catalog-download-modal__dialog {
                width: min(calc(100% - 28px), 760px);
                margin: 20px auto;
            }

            .catalog-download-modal__frame {
                grid-template-columns: 1fr;
            }

            .catalog-download-modal__visual {
                max-height: 420px;
            }

            .lead-request-section {
                padding: 0 0 70px;
            }

            .lead-request-section__shell {
                width: var(--rail-shell-width);
                max-width: var(--rail-shell-width);
            }

            .lead-request-card {
                padding: 27px 20px 22px;
                border-radius: 28px;
            }

            .lead-request-card__title {
                max-width: none;
                font-size: clamp(2.4rem, 12vw, 3.3rem);
            }

            .lead-request-card__subtitle {
                margin-top: 14px;
                max-width: 100%;
                font-size: 0.95rem;
            }

            .lead-request-form {
                --lead-phone-width: 100%;
                margin-top: 24px;
            }

            .lead-request-form__phone {
                min-height: 60px;
                padding: 0 18px;
                border-radius: 16px;
            }

            .lead-request-form__prefix {
                padding-right: 12px;
                margin-right: 12px;
                font-size: 1rem;
            }

            .lead-request-form__bottom {
                margin-top: 18px;
                gap: 14px;
            }

            .lead-request-form__submit {
                min-height: 52px;
                border-radius: 16px;
                font-size: 1.25rem;
            }

            .lead-request-consent {
                gap: 10px;
            }

            .lead-request-consent__box {
                flex-basis: 20px;
                width: 20px;
                height: 20px;
                border-radius: 6px;
            }

            .lead-request-consent__box::after {
                left: 6px;
                top: 2px;
                width: 5px;
                height: 10px;
            }

            .lead-request-consent__text {
                max-width: 100%;
                font-size: 0.79rem;
            }

            .lead-request-form__note {
                margin-top: 16px;
                font-size: 0.76rem;
            }

            .catalog-download-modal__close {
                --modal-close-shift-x: 22%;
                --modal-close-shift-y: -22%;
            }

            .best-month {
                padding: 40px 18px 50px;
            }

            .best-month__header {
                margin-bottom: 28px;
            }

            .best-month__header p {
                margin-top: 14px;
            }

            .best-month__viewport::before,
            .best-month__viewport::after {
                width: 22px;
            }

            .best-month__track {
                grid-auto-columns: minmax(168px, 182px);
                gap: 16px;
                padding: 8px 10px 14px;
            }

            .best-month__card {
                min-height: 218px;
                border-radius: 18px;
            }

            .scenarios-showcase {
                padding: 38px 24px 32px;
            }

            .scenarios-showcase__header {
                margin-bottom: 26px;
            }

            .scenario-grid {
                grid-template-columns: 1fr;
                gap: 16px;
            }

            .scenario-card__frame {
                min-height: 0;
            }

            .scenario-card__visual {
                min-height: 180px;
                margin-bottom: 20px;
            }

            .scenario-card__text {
                min-height: 0;
            }

            .lead-modal__dialog {
                width: min(calc(100% - 28px), 760px);
                margin: 20px auto;
            }

            .lead-modal__content {
                grid-template-columns: 1fr;
                gap: 0;
            }

            .lead-modal__copy {
                max-width: none;
            }

            .lead-modal__title {
                max-width: none;
                font-size: clamp(2.2rem, 7.8vw, 3.1rem);
            }

            .lead-modal__subtitle {
                max-width: 100%;
                font-size: 0.94rem;
            }

            .lead-form__submit {
                width: 100%;
                min-width: 0;
            }

            .lead-modal__visual {
                min-height: 320px;
            }

            .lead-modal__visual::before {
                left: 18px;
                top: 16px;
                font-size: clamp(3.2rem, 12vw, 4.6rem);
            }

            .lead-modal__visual-copy {
                left: 18px;
                top: 18px;
                gap: 6px;
                max-width: 180px;
            }

            .lead-modal__visual-title {
                font-size: 1.6rem;
            }

            .lead-modal__close {
                --modal-close-shift-x: 22%;
                --modal-close-shift-y: -22%;
            }

            .search-section {
                padding: 56px 0 92px;
            }

            .blog-section {
                padding-bottom: 80px;
            }

            .blog-section__shell {
                width: var(--rail-shell-width);
                max-width: var(--rail-shell-width);
            }

            .blog-rail__track {
                grid-auto-columns: 320px;
                gap: 14px;
                padding: 6px 10px 12px;
            }

            .blog-card__content {
                padding: 14px 14px 16px;
            }

            .blog-card__title {
                max-width: 13ch;
                font-size: clamp(1.35rem, 4vw, 1.7rem);
            }

            .founder-section {
                padding: 18px 0 78px;
            }

            .contacts-section {
                padding: 20px 0 70px;
            }

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

            .contacts__info {
                padding-left: 0;
            }

            .contacts__legal {
                grid-column: auto;
                font-size: 0.74rem;
            }

            .search-card__row {
                grid-template-columns: 1fr;
            }

            .search-group--price,
            .search-group--location {
                grid-column: auto;
            }

            .search-card__footer {
                flex-direction: column;
                align-items: flex-start;
            }

            .search-action {
                min-width: 0;
                width: 100%;
            }

            .search-section__legacy {
                margin-top: 40px;
            }

            .feature-panel__panel {
                padding: 28px 22px 24px;
                border-radius: 28px;
            }
        }

        @media (max-width: 640px) {
            :root {
                --page-grid-gutter: 24px;
            }

            .container {
                width: min(calc(100% - var(--page-grid-gutter)), 100%);
            }

            .topbar__inner {
                grid-template-columns: 48px 1fr;
                gap: 12px;
                min-height: 70px;
                padding: 8px 0;
            }

            .menu-toggle {
                width: 48px;
                height: 48px;
            }

            .topbar__brand {
                min-height: 54px;
                padding: 0 8px 0 0;
            }

            .topbar__brand img {
                width: min(100%, 146px);
            }

            .topbar__contact {
                display: none;
            }

            #search,
            #best,
            #why,
            #founder,
            #scenarios,
            #blog,
            #contacts {
                scroll-margin-top: 94px;
            }

            .hero__bg-word {
                left: -10px;
                top: 30px;
                font-size: clamp(5.1rem, 22vw, 7.3rem);
            }

            .hero__content {
                padding-top: 16px;
            }

            .hero__title {
                font-size: clamp(2.9rem, 15.2vw, 4.15rem);
            }

            .hero__text {
                margin-top: 18px;
                font-size: 0.98rem;
                max-width: 100%;
            }

            .hero__marquee {
                margin-top: 16px;
            }

            .catalog-section {
                padding: 40px 0 68px;
            }

            .catalog-section__shell {
                width: var(--rail-shell-width);
                max-width: var(--rail-shell-width);
            }

            .best-month-section {
                padding: 0 0 74px;
            }

            .best-month-section__shell {
                width: var(--rail-shell-width);
                max-width: var(--rail-shell-width);
            }

            .scenarios-section {
                padding: 0 0 72px;
            }

            .scenarios-section__shell {
                width: var(--rail-shell-width);
                max-width: var(--rail-shell-width);
            }

            .catalog-showcase {
                gap: 22px;
                padding: 24px 18px 22px;
                border-radius: 28px;
            }

            .catalog-showcase__eyebrow {
                margin-bottom: 14px;
                font-size: 0.74rem;
                letter-spacing: 0.18em;
            }

            .catalog-section .catalog-showcase__title {
                max-width: none;
                font-size: clamp(2.4rem, 12vw, 3.3rem);
            }

            .catalog-showcase__actions {
                margin-top: 22px;
                gap: 14px;
            }

            .catalog-showcase__button {
                width: min(100%, 264px);
            }

            .catalog-section .catalog-showcase__note {
                font-size: 0.96rem;
                max-width: 100%;
            }

            .catalog-showcase {
                padding: 32px 24px;
            }

            .catalog-showcase__visual-frame {
                width: min(100%, 360px);
                height: auto;
            }

            .catalog-showcase__visual-frame img {
                width: 80%;
                max-width: 80%;
                max-height: none;
                height: auto;
            }

            .catalog-download-modal__dialog {
                width: min(calc(100% - 16px), 100%);
                margin: 14px auto;
            }

            .catalog-download-modal__frame {
                border-radius: 24px;
            }

            .catalog-download-modal__copy {
                padding: 26px 16px 22px 22px;
            }

            .catalog-download-modal__title {
                font-size: clamp(2rem, 11vw, 3rem);
            }

            .catalog-download-modal__subtitle,
            .catalog-download-form,
            .catalog-download-form__legal {
                max-width: none;
            }

            .catalog-download-modal__footer-note {
                max-width: 100%;
                margin-top: 14px;
                font-size: 0.68rem;
                line-height: 1.38;
            }

            .catalog-download-form__field input {
                height: 52px;
            }

            .catalog-download-form__submit {
                width: min(100%, 272px);
            }

            .catalog-download-modal__close {
                width: 42px;
                height: 42px;
                font-size: 24px;
                line-height: 0.78;
                --modal-close-shift-x: 12%;
                --modal-close-shift-y: -20%;
            }

            .catalog-download-modal__visual {
                max-height: 320px;
            }

            .best-month {
                padding: 38px 14px 48px;
                border-radius: 28px;
            }

            .best-month__header {
                margin-bottom: 24px;
            }

            .best-month__header h2 {
                font-size: clamp(2.4rem, 12vw, 3.3rem);
            }

            .best-month__header p {
                font-size: clamp(1rem, 5vw, 1.32rem);
            }

            .best-month__track {
                grid-auto-columns: minmax(164px, 178px);
                gap: 14px;
                padding: 8px 8px 12px;
            }

            .best-month__card {
                --best-month-card-radius: 18px;
                min-height: 210px;
                border-radius: 18px;
            }

            .best-month__card-title {
                font-size: 1.14rem;
            }

            .scenarios-showcase {
                padding: 30px 18px 24px;
                border-radius: 28px;
            }

            .scenarios-showcase__header {
                margin-bottom: 22px;
            }

            .scenarios-showcase__header h2 {
                font-size: clamp(2.4rem, 12vw, 3.3rem);
            }

            .scenarios-showcase__header p {
                margin-top: 12px;
                font-size: 1.02rem;
            }

            .scenario-card__frame {
                padding: 14px 14px 28px;
                border-radius: 24px;
            }

            .scenario-card__frame::before {
                inset: 14px;
                border-radius: 18px;
            }

            .scenario-card__visual {
                min-height: 156px;
                margin-bottom: 18px;
                border-radius: 18px;
            }

            .scenario-card__title {
                font-size: clamp(2rem, 10vw, 2.65rem);
            }

            .scenario-card__body {
                gap: 12px;
                padding-inline: 4px;
            }

            .scenario-card__text {
                font-size: 0.94rem;
            }

            .scenario-card__cta {
                width: 100%;
                font-size: 1.16rem;
            }

            .hero__actions {
                margin-top: 22px;
            }

            .hero__actions .pill-button,
            .contacts__brand .pill-button {
                min-height: 48px;
                padding-inline: 24px;
                font-size: 1.25rem;
            }

            .pill-button {
                min-height: 52px;
                padding: 0 28px;
                font-size: 1.375rem;
            }

            .hero__visual-card {
                padding: 0;
                border-radius: 0;
            }

            .hero__visual {
                transform: none;
            }

            .hero__badge {
                left: 12px;
                right: 12px;
                bottom: 14px;
                max-width: none;
                border-radius: 16px;
                font-size: 12px;
                text-align: center;
            }

            .hero__marquee-track {
                gap: 20px;
                animation-duration: 220s;
            }

            .hero__marquee-item {
                width: 120px;
                min-width: 120px;
                height: 52px;
            }

            .hero__marquee-item img {
                max-width: 110px;
                max-height: 26px;
            }

            .lead-modal__dialog {
                width: min(calc(100% - 16px), 100%);
                border-radius: 24px;
                margin: 14px auto;
            }

            .lead-modal__content {
                gap: 0;
            }

            .lead-modal__close {
                width: 42px;
                height: 42px;
                font-size: 24px;
                line-height: 0.78;
                --modal-close-shift-x: 10%;
                --modal-close-shift-y: -16%;
            }

            .lead-modal__title {
                font-size: clamp(2.1rem, 15vw, 3rem);
            }

            .lead-modal__subtitle {
                margin-top: 14px;
                font-size: 0.9rem;
            }

            .lead-form {
                margin-top: 24px;
            }

            .lead-form__field input {
                min-height: 52px;
                border-radius: 16px;
                padding: 0 16px;
            }

            .lead-modal__visual {
                min-height: 240px;
                border-radius: 0;
            }

            .lead-modal__visual-copy {
                max-width: 150px;
            }

            .lead-modal__visual-title {
                font-size: 1.32rem;
            }

            .lead-modal__visual-note {
                font-size: 0.82rem;
            }

            .lead-toast {
                bottom: 14px;
                border-radius: 20px;
                font-size: 0.88rem;
            }

            .search-section {
                padding: 42px 0 72px;
            }

            .why-stack-section {
                padding: 54px 14px 72px;
            }

            .why-stack-section__header {
                margin-bottom: 20px;
            }

            .why-stack-section__header h2 {
                padding-left: 8px;
            }

            .why-stack__nav button {
                min-width: 184px;
                padding: 12px 14px;
            }

            .why-stack__panel {
                padding: 14px;
                border-radius: 22px;
            }

            .why-stack__panel-side {
                min-height: 270px;
                border-radius: 18px;
            }

            .why-stack__visual-frame::before {
                inset: 12px;
                border-radius: 14px;
            }

            .blog-section {
                padding-bottom: 56px;
            }

            .blog-section__shell {
                width: var(--rail-shell-width);
                max-width: var(--rail-shell-width);
            }

            .founder-section {
                padding: 12px 0 58px;
            }

            .contacts-section {
                padding-bottom: 56px;
            }

            .title-chip {
                min-height: 52px;
                padding: 10px 20px;
                font-size: 1.56rem;
            }

            .section__center-title {
                margin-bottom: 24px;
            }

            .search-card {
                padding: 18px;
                border-radius: 24px;
            }

            .chip-group {
                grid-template-columns: repeat(5, minmax(42px, 1fr));
            }

            .double-field,
            .triple-field {
                grid-template-columns: 1fr;
            }

            .double-field::before,
            .triple-field::before {
                content: none;
            }

            .double-field > * + *,
            .triple-field > * + * {
                border-left: 0;
                border-top: 1px solid rgba(10, 10, 10, 0.08);
            }

            .search-group > span,
            .search-group__label {
                font-size: 0.88rem;
            }

            .search-group__label--price {
                align-items: flex-start;
                justify-content: flex-start;
            }

            .price-toggle {
                width: auto;
            }

            .founder-copy h2 {
                font-size: clamp(2.6rem, 15vw, 4rem);
            }

            .blog-section .section__center-title {
                margin-bottom: 26px;
            }

            .blog-section h2 {
                font-size: clamp(1.7rem, 6.2vw, 3.7rem);
                white-space: nowrap;
            }

            .blog-section .section__center-title p {
                font-size: clamp(0.58rem, 1.95vw, 1rem);
                white-space: nowrap !important;
            }

            .blog-rail__viewport::before,
            .blog-rail__viewport::after {
                width: 14px;
            }

            .blog-rail__track {
                grid-auto-columns: minmax(238px, 260px);
                gap: 12px;
                padding: 6px 6px 10px;
            }

            .blog-card {
                border-radius: 20px;
            }

            .blog-card__content {
                padding: 12px 12px 14px;
            }

            .blog-card__meta {
                gap: 10px;
                align-items: flex-start;
            }

            .blog-card__category {
                min-height: 28px;
                padding: 0 10px;
                font-size: 0.8rem;
            }

            .blog-card__date {
                font-size: 0.68rem;
            }

            .blog-card__title {
                max-width: 12.5ch;
                font-size: clamp(1.25rem, 6vw, 1.55rem);
            }

            .blog-card__read {
                font-size: 0.76rem;
            }

            .menu-overlay__panel {
                padding: 22px;
                border-radius: 24px;
            }

            .menu-overlay__meta {
                gap: 14px;
            }

            .menu-overlay__rate-widget {
                gap: 10px;
            }

            .menu-overlay__rate-card {
                min-height: 220px;
                max-width: 100%;
                margin-top: clamp(24px, 4vh, 40px);
            }

            .menu-overlay__rate-label {
                font-size: 0.68rem;
            }

            .menu-overlay__rate-value {
                left: 14px;
                top: 50%;
                font-size: clamp(1.7rem, 8vw, 2.3rem);
            }

            .menu-overlay__nav a,
            .menu-overlay__nav button {
                min-height: 50px;
                font-size: 1.34rem;
                letter-spacing: 0.028em;
            }

            .feature-panel__panel {
                width: min(100% - 16px, 100%);
                max-height: calc(var(--viewport-height) - 16px);
                margin: 8px auto;
                padding: 22px 18px 18px;
                border-radius: 24px;
            }

            .feature-panel__close {
                top: 12px;
                right: 12px;
                width: 42px;
                height: 42px;
            }

            .contacts__grid {
                gap: 20px;
            }

            .contacts__brand {
                grid-template-columns: 1fr;
                justify-items: center;
                text-align: center;
            }

            .founder-visual {
                width: min(100%, 280px);
                padding: 0;
            }

            .founder-visual img {
                transform: scale(1);
            }

            .founder-visual__hotspot {
                left: 18%;
                right: 18%;
                bottom: 4.8%;
                height: 12%;
            }
        }
        /* Статическая раскладка без dynamic viewport update */
        .container {
            width: calc(100% - var(--debug-left-offset) - var(--debug-right-offset));
            max-width: none;
        }

        .topbar__inner {
            width: calc(100% - var(--debug-left-offset) - var(--debug-right-offset));
            min-height: var(--debug-top-ratio-offset);
            max-width: none;
        }

        .hero {
            min-height: 100vh;
            padding-bottom: calc(100vh * 0.1);
        }

        .hero__inner {
            min-height: calc(var(--debug-static-third-y-once) - var(--debug-top-ratio-offset));
            align-items: end;
        }

        .hero__content {
            padding-bottom: 72px;
        }

        .hero__marquee {
            position: absolute;
            left: 0;
            right: 0;
            top: calc(((var(--debug-static-third-y-once) + 100vh) / 2) - var(--debug-top-ratio-offset));
            transform: translateY(-50%);
            margin-top: 0;
            z-index: 4;
        }

        .hero__marquee-shell {
            width: calc(100% - var(--debug-left-offset) - var(--debug-right-offset));
            max-width: none;
        }



        @media (min-width: 961px) {
            .best-month-section__shell,
            .why-stack-section__header,
            .why-stack,
            .scenarios-section__shell,
            .lead-request-section__shell,
            .blog-section__shell {
                width: auto;
                max-width: none;
                margin-left: var(--debug-left-offset);
                margin-right: var(--debug-right-offset);
            }

            .best-month {
                width: 100%;
            }

            .why-stack-section {
                padding-left: 0;
                padding-right: 0;
            }

            .why-stack-section__header {
                margin-bottom: 32px;
            }

            .why-stack-section__header h2 {
                padding-left: 0;
            }
        }

        @media (max-width: 960px) {
            .topbar__inner {
                min-height: 78px;
            }

            .hero {
                padding-bottom: 0;
            }

            .hero__inner {
                min-height: auto;
            }

            .hero__marquee {
                position: relative;
                top: auto;
                transform: none;
                margin-top: 22px;
            }
        }

        /* Typography fixes from TЗ */
        .contacts__brand strong {
            font-family: "Bebas Neue", sans-serif;
            font-weight: 400;
            letter-spacing: 0.03em;
        }

        .contacts__info p {
            font-family: "Gilroy", Arial, sans-serif;
            font-weight: 200;
        }

        .contacts__requisites {
            font-family: "Gilroy", Arial, sans-serif;
            font-weight: 500;
        }

        .contacts__docs,
        .contacts__docs a {
            font-family: "Gilroy", Arial, sans-serif;
            font-weight: 700;
        }

        .contacts__legal p,
        .lead-form__legal,
        .catalog-download-form__legal,
        .catalog-download-modal__footer-note,
        .lead-request-form__consent,
        .lead-request-form__note {
            font-family: "Gilroy", Arial, sans-serif;
        }

        .lead-form__legal,
        .catalog-download-form__legal,
        .catalog-download-modal__footer-note,
        .lead-request-form__consent,
        .lead-request-form__note {
            font-weight: 300;
        }

        .doc-page {
            min-height: 100vh;
            padding: 48px 0 80px;
            background: #FAFAFA;
            color: #0A0A0A;
        }

        .doc-shell {
            width: min(calc(100% - 48px), 920px);
            margin: 0 auto;
            padding: 32px 36px;
            border-radius: 28px;
            background: #FFFFFF;
            box-shadow: 0 18px 50px rgba(10, 10, 10, 0.06);
            border: 1px solid rgba(10, 10, 10, 0.08);
        }

        .doc-shell__back {
            display: inline-flex;
            align-items: center;
            margin-bottom: 24px;
            font-family: "Gilroy", Arial, sans-serif;
            font-weight: 700;
        }

        .doc-shell h1 {
            margin: 0 0 18px;
            font-family: "Bebas Neue", sans-serif;
            font-size: clamp(2.4rem, 4vw, 4rem);
            line-height: 0.95;
            letter-spacing: 0.02em;
        }

        .doc-shell h2 {
            margin: 28px 0 12px;
            font-family: "Gilroy", Arial, sans-serif;
            font-size: 1.18rem;
            font-weight: 700;
            line-height: 1.3;
        }

        .doc-shell p,
        .doc-shell li {
            margin: 0 0 12px;
            font-family: "Gilroy", Arial, sans-serif;
            font-size: 0.98rem;
            line-height: 1.6;
            color: rgba(10, 10, 10, 0.82);
        }

        .doc-shell ul {
            margin: 0 0 14px 18px;
            padding: 0;
        }


        /* Final typography pass from TЗ */
        .topbar__contact span {
            font-family: "Gilroy", Arial, sans-serif;
            font-weight: 500;
        }

        .hero__title {
            font-weight: 700;
        }

        .hero__text {
            font-family: "Gilroy", Arial, sans-serif;
            font-weight: 500;
        }

        .hero__text strong {
            font-family: "Gilroy", Arial, sans-serif;
            font-weight: 700;
        }

.pill-button,
.title-chip,
.choice-chip,
.new-chip,
.search-action,
.catalog-showcase__button,
.catalog-download-form__submit,
.lead-request-form__submit,
.scenario-card__cta {
    font-family: "Bebas Neue", sans-serif;
    font-weight: 700;
}

@supports (font: -apple-system-body) and (-webkit-appearance: none) {
    .pill-button,
    .blog-card__category,
    .catalog-download-form__submit,
    .lead-request-form__submit,
    .scenario-card__cta,
    .lead-form__submit {
        line-height: 1;
    }
}

.title-chip {
    font-weight: 700;
}

.gold-metric-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    transform: none !important;
    translate: none !important;
    --gold-label-offset-y: 0px !important;
    --gold-label-local-offset-y: 0px !important;
}

.lead-form__submit > .gold-metric-label--modal-call {
    --gold-label-local-offset-y: 0px !important;
}

.cookie-banner .cookie-banner__action {
    min-width: 86px;
    min-height: 30px;
    padding: 0 18px;
    border-radius: 999px;
    font-size: 0.78rem;
    line-height: 1;
    letter-spacing: 0.045em;
    cursor: pointer;
}

        .catalog-section .catalog-showcase__note {
            font-family: "Gilroy", Arial, sans-serif;
            font-weight: 500;
        }

        .search-group > span,
        .search-group__label {
            font-family: "Gilroy", Arial, sans-serif;
            font-weight: 500;
        }

        .double-field input,
        .triple-field input,
        .currency-fixed {
            font-family: "Bebas Neue", sans-serif;
            font-weight: 700;
        }

        .double-field input::placeholder,
        .triple-field input::placeholder {
            font-family: "Bebas Neue", sans-serif;
            font-weight: 700;
            letter-spacing: 0.02em;
        }

        .search-location input,
        .search-location input::placeholder {
            font-family: "Gilroy", Arial, sans-serif;
            font-weight: 500;
        }

        .catalog-download-modal__subtitle,
        .catalog-download-form__field input,
        .catalog-download-form__field input::placeholder {
            font-family: "Gilroy", Arial, sans-serif;
            font-weight: 500;
        }

        .catalog-download-form__legal,
        .catalog-download-modal__footer-note,
        .lead-form__legal,
        .lead-request-consent__text,
        .lead-request-form__note {
            font-family: "Gilroy", Arial, sans-serif;
            font-weight: 300;
        }

        .catalog-download-form__legal strong,
        .catalog-download-modal__footer-note strong,
        .lead-form__legal strong {
            font-weight: 700;
        }

        .why-stack__nav button {
            font-family: "Gilroy", Arial, sans-serif;
            font-weight: 700;
        }

        .why-stack__panel-copy h3 {
            font-family: "Gilroy", Arial, sans-serif;
            font-weight: 700;
        }

        .why-stack__panel-copy p {
            font-family: "Gilroy", Arial, sans-serif;
            font-weight: 500;
        }

        .lead-request-card__subtitle,
        .lead-request-form__prefix,
        .lead-request-form__phone input[type="tel"],
        .lead-request-form__phone input[type="tel"]::placeholder {
            font-family: "Gilroy", Arial, sans-serif;
        }

        .lead-request-card__subtitle,
        .lead-request-form__prefix,
        .lead-request-form__phone input[type="tel"] {
            font-weight: 500;
        }

        .lead-request-form__phone input[type="tel"]::placeholder {
            font-weight: 300;
        }

        .founder-copy p,
        .founder-copy ul,
        .founder-copy li {
            font-family: "Gilroy", Arial, sans-serif;
            font-weight: 500;
        }

        .scenarios-showcase__header p {
            font-family: "Bebas Neue", sans-serif;
            font-weight: 400;
        }

        .scenario-card__text {
            font-family: "Gilroy", Arial, sans-serif;
            font-weight: 500;
        }

        .blog-section .section__center-title p {
            font-family: "Bebas Neue", sans-serif;
            font-weight: 400;
            letter-spacing: 0.03em;
            text-transform: none;
        }

        .blog-card__date,
        .blog-card__read {
            font-family: "Gilroy", Arial, sans-serif;
            font-weight: 500;
        }

        .contacts__brand strong {
            font-family: "Bebas Neue", sans-serif;
            font-weight: 400;
            font-size: 1.12rem;
            letter-spacing: 0.015em;
        }

        .contacts__info p {
            font-family: "Gilroy", Arial, sans-serif;
            font-weight: 200;
        }

        .contacts__requisites,
        .contacts__legal p {
            font-family: "Gilroy", Arial, sans-serif;
            font-weight: 500;
        }

        .contacts__docs,
        .contacts__docs a {
            font-family: "Gilroy", Arial, sans-serif;
            font-weight: 700;
        }


        .hero__actions .pill-button--thin,
        .contacts__brand .pill-button--thin,
        .lead-form__submit.pill-button--thin {
            font-weight: 400 !important;
            font-synthesis-weight: none;
        }

        .blog-section .section__center-title h2,
        .blog-section .section__center-title p {
            white-space: nowrap !important;
        }


.menu-overlay__rate-card::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: rgba(255, 255, 255, 0.08);
    z-index: 3;
    pointer-events: none;
}


/* Make these labels regular like "ЗАКАЗАТЬ ЗВОНОК" */
.title-chip,
.new-chip,
.search-action {
    font-weight: 400 !important;
    font-synthesis-weight: none;
}

        @media (max-width: 900px) {
            .cookie-banner {
                bottom: 16px;
                width: min(calc(100% - 16px), 760px);
            }

            .cookie-banner__inner {
                grid-template-columns: 1fr;
                gap: 10px;
                padding: 12px 12px 13px;
                border-radius: 18px;
            }

            .cookie-banner__title {
                font-size: 0.92rem;
            }

            .cookie-banner__text {
                font-size: 0.66rem;
                line-height: 1.18;
                overflow: hidden;
                text-overflow: ellipsis;
            }

            .cookie-banner__action {
                width: 100%;
                min-width: 0;
                min-height: 34px;
                font-size: 0.9rem;
            }
        }

        /* Legal documents pages */
        .legal-page {
            min-height: 100vh;
            padding: 28px 0 72px;
            background: #FAFAFA;
            color: #0A0A0A;
        }

        .legal-container {
            width: 176vh;
            margin: 0 auto;
        }

        .legal-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 24px;
            margin-bottom: 24px;
        }

        .legal-brand {
            display: inline-flex;
            align-items: center;
            gap: 16px;
            color: #0A0A0A;
            text-decoration: none;
        }

        .legal-brand__logo {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 58px;
            height: 58px;
            border-radius: 18px;
            background: #0A0A0A;
            color: #FAFAFA;
            font-family: "Bebas Neue", sans-serif;
            font-size: 2rem;
            line-height: 1;
            letter-spacing: 0.04em;
            flex-shrink: 0;
        }

        .legal-brand__text {
            display: grid;
            gap: 4px;
        }

        .legal-brand__text strong {
            font-family: "Gilroy", Arial, sans-serif;
            font-size: 1rem;
            font-weight: 800;
            letter-spacing: 0.08em;
        }

        .legal-brand__text span {
            font-family: "Bebas Neue", sans-serif;
            font-size: 1.1rem;
            line-height: 1;
            letter-spacing: 0.04em;
        }

        .legal-header__contact {
            display: grid;
            justify-items: end;
            gap: 6px;
        }

        .legal-header__contact a {
            color: #0A0A0A;
            text-decoration: none;
            font-family: "Gilroy", Arial, sans-serif;
            font-size: clamp(1.3rem, 1.8vw, 1.9rem);
            font-weight: 800;
            line-height: 1;
        }

        .legal-header__contact span {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            color: rgba(10, 10, 10, 0.76);
            font-family: "Gilroy", Arial, sans-serif;
            font-size: 0.95rem;
            font-weight: 500;
        }

        .legal-header__contact span i {
            width: 9px;
            height: 9px;
            border-radius: 50%;
            background: #4CAF50;
            box-shadow: 0 0 0 6px rgba(76, 175, 80, 0.12);
        }

        .legal-panel {
            border-radius: 32px;
            padding: clamp(24px, 2.8vw, 34px);
        }

        .legal-panel--dark {
            background: #0A0A0A;
            color: #FAFAFA;
            box-shadow: 0 20px 50px rgba(10, 10, 10, 0.12);
        }

        .legal-panel--light {
            background: #FFFFFF;
            border: 1px solid rgba(10, 10, 10, 0.08);
            box-shadow: 0 18px 48px rgba(10, 10, 10, 0.06);
        }

        .legal-hero {
            display: grid;
            grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.75fr);
            gap: 24px;
            align-items: stretch;
            margin-bottom: 24px;
        }

        .legal-hero__eyebrow {
            margin: 0 0 16px;
            color: rgba(250, 250, 250, 0.68);
            font-family: "Gilroy", Arial, sans-serif;
            font-size: 0.92rem;
            font-weight: 500;
            letter-spacing: 0.12em;
            text-transform: uppercase;
        }

        .legal-hero h1,
        .legal-sidecard h2,
        .legal-article__section-title,
        .legal-article__notice-title {
            margin: 0;
            font-family: "Bebas Neue", sans-serif;
            letter-spacing: 0.02em;
        }

        .legal-hero h1 {
            font-size: clamp(2.8rem, 5vw, 5.4rem);
            line-height: 0.95;
            color: #FAFAFA;
        }

        .legal-hero__subtitle {
            max-width: 54rem;
            margin: 18px 0 0;
            color: rgba(250, 250, 250, 0.82);
            font-family: "Gilroy", Arial, sans-serif;
            font-size: clamp(1rem, 1.4vw, 1.16rem);
            line-height: 1.7;
            font-weight: 500;
        }

        .legal-hero__aside {
            display: grid;
            align-content: start;
            gap: 18px;
        }

        .legal-hero__aside-head {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 16px;
            padding-bottom: 2px;
        }

        .legal-hero__aside-head span {
            font-family: "Gilroy", Arial, sans-serif;
            font-size: 0.95rem;
            font-weight: 700;
            color: #0A0A0A;
        }

        .legal-hero__aside-head a {
            color: rgba(10, 10, 10, 0.72);
            text-decoration: none;
            font-family: "Gilroy", Arial, sans-serif;
            font-size: 0.9rem;
            font-weight: 600;
        }

        .legal-docs-nav {
            display: grid;
            gap: 12px;
        }

        .legal-docs-nav__item {
            display: grid;
            gap: 6px;
            padding: 16px 18px;
            border-radius: 22px;
            border: 1px solid rgba(10, 10, 10, 0.08);
            background: rgba(10, 10, 10, 0.02);
            color: #0A0A0A;
            text-decoration: none;
            transition: transform 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
        }

        .legal-docs-nav__item:hover {
            transform: translateY(-1px);
            border-color: rgba(10, 10, 10, 0.18);
        }

        .legal-docs-nav__item.is-active {
            background: #0A0A0A;
            border-color: #0A0A0A;
            color: #FAFAFA;
        }

        .legal-docs-nav__item strong {
            font-family: "Bebas Neue", sans-serif;
            font-size: 1.28rem;
            font-weight: 700;
            line-height: 1;
            letter-spacing: 0.03em;
        }

        .legal-docs-nav__item span {
            font-family: "Gilroy", Arial, sans-serif;
            font-size: 0.92rem;
            line-height: 1.45;
            color: inherit;
            opacity: 0.78;
        }

        .legal-layout {
            display: grid;
            grid-template-columns: minmax(0, 1fr) 320px;
            gap: 24px;
            align-items: start;
        }

        .legal-article {
            background: #FFFFFF;
            border: 1px solid rgba(10, 10, 10, 0.08);
            border-radius: 32px;
            padding: clamp(24px, 3vw, 42px);
            box-shadow: 0 18px 48px rgba(10, 10, 10, 0.06);
        }

        .legal-article p,
        .legal-article li {
            margin: 0 0 16px;
            color: rgba(10, 10, 10, 0.84);
            font-family: "Gilroy", Arial, sans-serif;
            font-size: 1rem;
            line-height: 1.74;
            font-weight: 500;
        }

        .legal-article__lead {
            margin-bottom: 24px !important;
            color: rgba(10, 10, 10, 0.96) !important;
            font-size: 1.08rem !important;
        }

        .legal-article__section-title {
            margin: 38px 0 16px;
            padding-top: 8px;
            color: #0A0A0A;
            font-size: clamp(2rem, 3vw, 2.8rem);
            line-height: 0.95;
            scroll-margin-top: 24px;
        }

        .legal-article__section-title:first-child {
            margin-top: 0;
            padding-top: 0;
        }

        .legal-article__subsection-title {
            margin: 28px 0 12px;
            color: #0A0A0A;
            font-family: "Gilroy", Arial, sans-serif;
            font-size: 1rem;
            line-height: 1.4;
            font-weight: 800;
        }

        .legal-article__notice-title {
            margin: 30px 0 12px;
            color: #0A0A0A;
            font-size: clamp(1.8rem, 2.4vw, 2.2rem);
            line-height: 0.96;
        }

        .legal-article a,
        .legal-links-list a,
        .legal-footer a {
            color: #0A0A0A;
            text-decoration-thickness: 0.08em;
            text-underline-offset: 0.16em;
        }

        .legal-sidebar {
            display: grid;
            gap: 18px;
            position: sticky;
            top: 24px;
        }

        .legal-sidecard h2 {
            margin-bottom: 12px;
            color: inherit;
            font-size: 2rem;
            line-height: 0.95;
        }

        .legal-sidecard p {
            margin: 0 0 10px;
            font-family: "Gilroy", Arial, sans-serif;
            font-size: 0.95rem;
            line-height: 1.6;
            font-weight: 500;
            color: inherit;
        }

        .legal-socials {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            margin-top: 12px;
        }

        .legal-socials a {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 46px;
            height: 46px;
            border-radius: 16px;
            background: rgba(250, 250, 250, 0.1);
            border: 1px solid rgba(250, 250, 250, 0.12);
        }

        .legal-socials img {
            width: 22px;
            height: 22px;
            object-fit: contain;
            filter: brightness(0) invert(1);
        }

        .legal-links-list {
            display: grid;
            gap: 10px;
            margin-top: 12px;
        }

        .legal-links-list a {
            font-family: "Gilroy", Arial, sans-serif;
            font-size: 0.95rem;
            font-weight: 700;
            line-height: 1.45;
        }

        .legal-footer {
            display: grid;
            gap: 12px;
            margin-top: 24px;
        }

        .legal-footer p {
            margin: 0;
            color: rgba(10, 10, 10, 0.84);
            font-family: "Gilroy", Arial, sans-serif;
            font-size: 0.96rem;
            line-height: 1.65;
            font-weight: 500;
        }

        @media (max-width: 1100px) {
            .legal-hero,
            .legal-layout {
                grid-template-columns: 1fr;
            }

            .legal-sidebar {
                position: static;
            }
        }

        @media (max-width: 720px) {
            .legal-page {
                padding: 20px 0 48px;
            }

            .legal-container {
                width: min(calc(100% - 24px), 1320px);
            }

            .legal-header {
                flex-direction: column;
                align-items: flex-start;
            }

            .legal-header__contact {
                justify-items: start;
            }

            .legal-brand__text span {
                font-size: 1rem;
            }

            .legal-docs-nav__item {
                border-radius: 18px;
            }
        }

/* === CTA vertical alignment hard fix: macOS/Safari === */
.lead-modal .lead-form__submit {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box;
    height: 52px;
    min-height: 52px;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    padding-inline: 27px;
    line-height: 1 !important;
}

.lead-modal .lead-form__submit > .gold-metric-label,
.lead-modal .lead-form__submit > .gold-metric-label--modal-call {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 100%;
    line-height: 1 !important;
    transform: none !important;
    translate: none !important;
    --gold-label-offset-y: 0px !important;
    --gold-label-local-offset-y: 0px !important;
}

@media (max-width: 640px) {
    .lead-modal .lead-form__submit {
        height: 48px;
        min-height: 48px;
        padding-inline: 24px;
    }
}
/* === /CTA vertical alignment hard fix === */

/* === Gold/framed controls: center only, no label-offset hacks === */
.pill-button,
.title-chip,
.choice-chip,
.new-chip,
.search-action,
.catalog-showcase__button,
.catalog-download-form__submit,
.lead-request-form__submit,
.scenario-card__cta,
.blog-card__category,
.blog-feed-card__category,
.blog-article-category {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1 !important;
    text-align: center;
}

.gold-metric-label,
.lead-form__submit > .gold-metric-label,
.lead-form__submit > .gold-metric-label--modal-call {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    transform: none !important;
    translate: none !important;
    --gold-label-offset-y: 0px !important;
    --gold-label-local-offset-y: 0px !important;
}
/* === /Gold/framed controls: center only, no label-offset hacks === */

/* === RAIT REAL mobile-only layout iteration v6 ===
   Scope: phones/tablets only. Desktop styles above are untouched. */
@media (max-width: 768px) {
    /* Header: keep desktop phone/status visible on mobile, but compact. */
    .topbar__inner {
        grid-template-columns: 34px minmax(112px, 1fr) auto !important;
        gap: 12px !important;
        min-height: 64px !important;
        align-items: center !important;
    }

    .menu-toggle {
        width: 34px !important;
        height: 34px !important;
        min-width: 34px !important;
    }

    .menu-toggle__icon {
        width: 27px !important;
    }

    .topbar__brand {
        min-height: 44px !important;
        padding: 0 !important;
        justify-content: flex-start !important;
    }

    .topbar__brand img {
        width: clamp(126px, 34vw, 154px) !important;
        max-width: 100% !important;
    }

    .topbar__spacer {
        display: none !important;
    }

    .topbar__contact {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-end !important;
        justify-content: center !important;
        gap: 3px !important;
        min-width: 0 !important;
        white-space: nowrap !important;
    }

    .topbar__contact a {
        font-size: clamp(10.5px, 3vw, 12.5px) !important;
        line-height: 1 !important;
        letter-spacing: -0.02em !important;
    }

    .topbar__contact span {
        gap: 5px !important;
        font-size: clamp(7px, 2.25vw, 9px) !important;
        line-height: 1 !important;
        letter-spacing: 0.04em !important;
    }

    .topbar__contact span i {
        width: 6px !important;
        height: 6px !important;
        animation: rait-mobile-work-dot 1.35s ease-in-out infinite !important;
    }

    @keyframes rait-mobile-work-dot {
        0%, 100% { transform: scale(1); opacity: 0.9; }
        50% { transform: scale(1.45); opacity: 0.35; }
    }

    /* Mobile menu: contacts to the top-right, key-rate widget to their old bottom slot. */
    .menu-overlay__panel {
        width: calc(100% - 24px) !important;
        margin: 18px auto !important;
        padding: 34px 24px 28px !important;
        border-radius: 30px !important;
    }

    .menu-overlay__close {
        top: 18px !important;
        right: 18px !important;
        width: 44px !important;
        height: 44px !important;
    }

    .menu-overlay__eyebrow {
        display: none !important;
    }

    .menu-overlay__grid {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(118px, max-content) !important;
        grid-template-areas:
            "intro meta"
            "nav nav"
            "rate rate" !important;
        column-gap: 16px !important;
        row-gap: 24px !important;
        padding-top: 26px !important;
    }

    .menu-overlay__intro {
        grid-area: intro !important;
        max-width: none !important;
    }

    .menu-overlay h2 {
        font-size: clamp(3.05rem, 16vw, 4.4rem) !important;
        line-height: 0.9 !important;
    }

    .menu-overlay__meta {
        display: contents !important;
    }

    .menu-overlay__meta-group {
        grid-area: meta !important;
        align-self: start !important;
        justify-self: end !important;
        display: grid !important;
        gap: 14px !important;
        min-width: 118px !important;
        padding-left: 0 !important;
        padding-top: 6px !important;
    }

    .menu-overlay__meta span {
        margin-bottom: 3px !important;
        font-size: 0.58rem !important;
        letter-spacing: 0.13em !important;
    }

    .menu-overlay__meta a {
        font-size: 0.86rem !important;
        line-height: 1.22 !important;
    }

    .menu-overlay__meta a[href^="tel:"] {
        font-size: 0.92rem !important;
        font-weight: 700 !important;
        letter-spacing: -0.02em !important;
    }

    .menu-overlay__nav {
        grid-area: nav !important;
    }

    .menu-overlay__nav a,
    .menu-overlay__nav button {
        min-height: 50px !important;
        font-size: clamp(1.22rem, 6.5vw, 1.55rem) !important;
        letter-spacing: 0.028em !important;
    }

    .menu-overlay__rate-widget {
        grid-area: rate !important;
        justify-self: center !important;
        width: min(72%, 340px) !important;
        max-width: 340px !important;
        margin: 2px auto 0 !important;
    }

    .menu-overlay__rate-card {
        width: 100% !important;
        min-height: clamp(112px, 30vw, 156px) !important;
        max-width: 100% !important;
        margin-top: 0 !important;
        --menu-rate-label-offset-y: 16px !important;
        --menu-rate-value-offset-y: -12px !important;
    }

    .menu-overlay__rate-label {
        left: 50% !important;
        font-size: 0.55rem !important;
        letter-spacing: 0.12em !important;
    }

    .menu-overlay__rate-value {
        left: 18px !important;
        top: calc(48% + var(--menu-rate-value-offset-y)) !important;
        font-size: clamp(1.25rem, 6vw, 1.85rem) !important;
    }

    .menu-overlay__rate-graphic {
        width: 100% !important;
        transform: scale(0.96) !important;
        transform-origin: center bottom !important;
    }

    /* Main hero: mobile-only composition from the agreed reference. */
    main .hero {
        min-height: 100svh !important;
        padding-bottom: 0 !important;
        overflow: hidden !important;
    }

    main .hero__inner {
        position: relative !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 0 !important;
        min-height: auto !important;
        align-items: start !important;
        padding-top: 18px !important;
        padding-bottom: 0 !important;
    }

    main .hero__content {
        position: relative !important;
        z-index: 3 !important;
        padding: 10px 0 0 !important;
    }

    main .hero__title {
        max-width: 9.6ch !important;
        font-size: clamp(2.65rem, 13.1vw, 3.7rem) !important;
        line-height: 0.95 !important;
        letter-spacing: 0.004em !important;
    }

    main .hero__text {
        max-width: 100% !important;
        margin-top: 18px !important;
        font-size: clamp(0.9rem, 3.85vw, 1rem) !important;
        line-height: 1.58 !important;
    }

    main .hero__actions {
        margin-top: 22px !important;
    }

    main .hero__actions .pill-button {
        width: min(100%, 252px) !important;
        min-height: 50px !important;
        font-size: clamp(1.18rem, 5.2vw, 1.5rem) !important;
    }

    main .hero__visual {
        justify-self: end !important;
        width: min(82vw, 420px) !important;
        max-width: none !important;
        margin-top: -14px !important;
        padding-right: 0 !important;
        transform: translateX(10%) !important;
        z-index: 2 !important;
    }

    main .hero__visual-card {
        min-height: 0 !important;
    }

    main .hero__photo {
        display: block !important;
        width: 100% !important;
        max-height: 45svh !important;
        object-fit: contain !important;
        object-position: right bottom !important;
    }

    main .hero__badge {
        left: auto !important;
        right: 0 !important;
        bottom: 7px !important;
        width: min(86%, 330px) !important;
        height: auto !important;
        min-height: 34px !important;
        padding: 8px 14px !important;
        font-size: 0.74rem !important;
        line-height: 1.15 !important;
    }

    main .hero__marquee {
        position: relative !important;
        top: auto !important;
        transform: none !important;
        margin-top: -2px !important;
        padding: 6px 0 14px !important;
        border-top: 1px solid rgba(10, 10, 10, 0.06) !important;
        z-index: 5 !important;
        background: var(--bg) !important;
    }

    main .hero__marquee-item {
        width: 126px !important;
        min-width: 126px !important;
        height: 48px !important;
    }

    main .hero__marquee-item img {
        max-width: 116px !important;
        max-height: 28px !important;
    }

    /* Catalog download block: mobile card like the supplied reference. */
    main .catalog-section {
        padding-top: 34px !important;
        padding-bottom: 50px !important;
    }

    main .catalog-showcase {
        position: relative !important;
        display: block !important;
        min-height: 320px !important;
        padding: 36px 24px 30px !important;
        border-radius: 28px !important;
        overflow: hidden !important;
    }

    main .catalog-showcase__copy {
        position: relative !important;
        z-index: 3 !important;
        max-width: none !important;
    }

    main .catalog-showcase__eyebrow {
        display: none !important;
    }

    main .catalog-section .catalog-showcase__title {
        max-width: 11ch !important;
        font-size: clamp(1.72rem, 8.3vw, 2.28rem) !important;
        line-height: 0.96 !important;
    }

    main .catalog-showcase__visual {
        position: absolute !important;
        inset: 0 0 0 auto !important;
        z-index: 1 !important;
        width: 61% !important;
        display: flex !important;
        align-items: stretch !important;
        justify-content: flex-end !important;
        opacity: 0.55 !important;
        pointer-events: none !important;
    }

    main .catalog-showcase__visual-frame {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
    }

    main .catalog-showcase__visual-frame img {
        position: absolute !important;
        inset: 0 !important;
        width: 118% !important;
        max-width: none !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: center right !important;
    }

    main .catalog-showcase__actions {
        position: relative !important;
        z-index: 3 !important;
        display: grid !important;
        grid-template-columns: minmax(126px, 48%) minmax(0, 1fr) !important;
        gap: 14px !important;
        align-items: center !important;
        margin-top: 58px !important;
    }

    main .catalog-showcase__button {
        width: 100% !important;
        min-height: 48px !important;
        padding: 0 14px !important;
        font-size: clamp(1rem, 4.5vw, 1.28rem) !important;
    }

    main .catalog-section .catalog-showcase__note {
        max-width: 18ch !important;
        font-size: clamp(0.74rem, 3.25vw, 0.9rem) !important;
        line-height: 1.35 !important;
        color: rgba(250, 250, 250, 0.68) !important;
    }

    /* Search/filter block: compact two-column mobile layout. */
    main .search-section__legacy {
        width: min(calc(100% - 24px), 100%) !important;
        margin-top: 20px !important;
    }

    main .search-card {
        padding: 18px 14px 16px !important;
        border-radius: 22px !important;
    }

    main .search-card__row {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        gap: 14px 12px !important;
    }

    main .search-group > span,
    main .search-group__label {
        margin-bottom: 8px !important;
        font-size: clamp(0.72rem, 3.1vw, 0.86rem) !important;
        line-height: 1.1 !important;
    }

    main .chip-group {
        height: 42px !important;
        min-height: 42px !important;
        border-radius: 14px !important;
    }

    main .choice-chip {
        min-height: 42px !important;
        font-size: clamp(0.95rem, 4.6vw, 1.15rem) !important;
    }

    main .double-field,
    main .triple-field,
    main .search-location {
        height: 42px !important;
        min-height: 42px !important;
        border-radius: 14px !important;
    }

    main .double-field input,
    main .triple-field input,
    main .search-location input {
        height: 42px !important;
        min-height: 42px !important;
        padding: 0 12px !important;
        font-size: clamp(0.82rem, 3.6vw, 0.96rem) !important;
    }

    main .triple-field {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 42px !important;
    }

    main .currency-fixed {
        width: 42px !important;
        min-width: 42px !important;
        height: 42px !important;
        font-size: 1rem !important;
    }

    main .search-group__label--price {
        display: flex !important;
        align-items: center !important;
        gap: 6px !important;
        min-height: 22px !important;
    }

    main .price-toggle {
        transform: scale(0.78) !important;
        transform-origin: left center !important;
    }

    main .price-toggle__button {
        min-height: 28px !important;
        padding: 0 9px !important;
        font-size: 0.76rem !important;
    }

    main .search-location::before {
        left: 12px !important;
        width: 16px !important;
        height: 16px !important;
    }

    main .search-location input {
        padding-left: 36px !important;
    }

    main .search-card__footer {
        display: flex !important;
        justify-content: flex-end !important;
        align-items: center !important;
        margin-top: 16px !important;
    }

    main .new-chip {
        display: none !important;
    }

    main .search-action {
        width: auto !important;
        min-width: min(100%, 192px) !important;
        min-height: 42px !important;
        padding: 0 18px !important;
        font-size: clamp(0.84rem, 3.6vw, 1rem) !important;
        border-radius: 999px !important;
    }

    main .title-chip {
        min-height: 48px !important;
        padding: 0 24px !important;
        font-size: clamp(1.18rem, 5.6vw, 1.5rem) !important;
    }

    /* Best offers of the month: requested mobile shrink for block 4. */
    main .best-month-section {
        padding-bottom: 54px !important;
    }

    main .best-month {
        padding: 28px 14px 34px !important;
        border-radius: 28px !important;
    }

    main .best-month__header {
        max-width: 100% !important;
        margin-bottom: 16px !important;
    }

    main .best-month__header h2 {
        max-width: 10.6ch !important;
        margin-left: auto !important;
        margin-right: auto !important;
        font-size: clamp(1.7rem, 7.8vw, 2.28rem) !important;
        line-height: 0.94 !important;
        letter-spacing: 0.018em !important;
    }

    main .best-month__header p {
        max-width: 33ch !important;
        margin-top: 11px !important;
        font-size: clamp(0.72rem, 3.1vw, 0.92rem) !important;
        line-height: 1.05 !important;
        letter-spacing: 0.075em !important;
    }

    main .best-month__viewport::before,
    main .best-month__viewport::after {
        width: 14px !important;
    }

    main .best-month__track {
        grid-auto-columns: clamp(112px, 29vw, 138px) !important;
        gap: 10px !important;
        padding: 4px 5px 8px !important;
    }

    main .best-month__card {
        --best-month-card-radius: 15px !important;
        min-height: clamp(146px, 36vw, 172px) !important;
        border-radius: 15px !important;
    }

    main .best-month__card-title {
        left: 9px !important;
        right: 9px !important;
        bottom: 9px !important;
        font-size: clamp(0.78rem, 3.25vw, 0.98rem) !important;
        line-height: 0.94 !important;
    }
}

@media (max-width: 390px) {
    .topbar__inner {
        grid-template-columns: 32px minmax(104px, 1fr) auto !important;
        gap: 9px !important;
    }

    .topbar__brand img {
        width: 126px !important;
    }

    .topbar__contact a {
        font-size: 10.4px !important;
    }

    .topbar__contact span {
        font-size: 7px !important;
    }

    main .hero__title {
        font-size: clamp(2.45rem, 12.6vw, 3.15rem) !important;
    }

    main .hero__visual {
        margin-top: -8px !important;
        width: 86vw !important;
    }

    main .catalog-showcase__actions {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        margin-top: 44px !important;
    }

    main .catalog-section .catalog-showcase__note {
        max-width: 23ch !important;
    }

    main .best-month__track {
        grid-auto-columns: clamp(104px, 28vw, 122px) !important;
        gap: 8px !important;
    }

    main .best-month__card {
        min-height: clamp(138px, 35vw, 158px) !important;
    }

    main .best-month__card-title {
        font-size: clamp(0.72rem, 3vw, 0.88rem) !important;
    }
}
/* === /RAIT REAL mobile-only layout iteration v6 === */

/* Mobile refinement: Why RR block uses vertical dot navigation on the left */
@media (max-width: 960px) {
    .why-stack {
        position: relative;
        display: block;
        padding-left: 34px;
    }

    .why-stack__nav {
        position: absolute;
        top: 172px;
        left: 0;
        z-index: 4;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 12px;
        width: 18px;
        padding-top: 0;
        overflow: visible;
        scrollbar-width: auto;
    }

    .why-stack__nav button {
        position: relative;
        flex: 0 0 auto;
        min-width: 0;
        width: 16px;
        height: 16px;
        padding: 0;
        border: 1.5px solid #111111;
        border-radius: 50%;
        background: #d2d2d2;
        color: transparent;
        font-size: 0;
        line-height: 0;
        text-indent: -9999px;
        overflow: hidden;
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.55);
    }

    .why-stack__nav button::before {
        content: "";
        position: absolute;
        inset: 4px;
        border-radius: 50%;
        background: transparent;
        transition: background 0.24s ease;
    }

    .why-stack__nav button::after {
        display: none;
    }

    .why-stack__nav button.is-active {
        transform: none;
        background: #c6c6c6;
    }

    .why-stack__nav button.is-active::before {
        background: #111111;
    }
}

@media (max-width: 640px) {
    .why-stack {
        padding-left: 30px;
    }

    .why-stack__nav {
        top: 156px;
        gap: 10px;
    }

    .why-stack__nav button {
        width: 15px;
        height: 15px;
    }
}

@media (max-width: 390px) {
    .why-stack__nav {
        top: 146px;
    }
}

/* Mobile refinement: keep consent text near checkbox in block 6 strictly in 2 lines */
@media (max-width: 960px) {
    .lead-request-consent__text {
        display: block;
        max-width: 31ch;
        white-space: normal;
    }
}

/* Mobile refinement: move founder profile card into the text flow */
.founder-visual--inline-mobile {
    display: none;
}

@media (max-width: 960px) {
    .founder-visual--desktop {
        display: none;
    }

    .founder-visual--inline-mobile {
        display: flex;
        justify-self: center;
        width: min(100%, 280px);
        margin: 10px auto 18px;
        padding: 0;
    }
}

/* Mobile refinement: split scenario section into separate black cards */
@media (max-width: 960px) {
    .scenarios-showcase {
        padding: 0;
        background: transparent;
        border: 0;
        box-shadow: none;
        overflow: visible;
    }

    .scenarios-showcase::before,
    .scenarios-showcase::after {
        display: none;
    }

    .scenarios-showcase__header {
        margin-bottom: 16px;
        padding: 30px 22px 24px;
        border-radius: 28px;
        background: #050505;
        box-shadow: 0 18px 36px rgba(0, 0, 0, 0.18);
        text-align: center;
    }

    .scenario-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .scenario-card {
        border-radius: 28px;
        background: #050505;
        padding: 16px;
        box-shadow: 0 18px 36px rgba(0, 0, 0, 0.18);
    }

    .scenario-card__frame {
        min-height: 0;
    }
}

@media (max-width: 640px) {
    .scenarios-showcase__header {
        padding: 26px 18px 22px;
        border-radius: 24px;
    }

    .scenario-card {
        padding: 14px;
        border-radius: 24px;
    }
}

/* Mobile refinement: company blog block on homepage */
@media (max-width: 960px) {
    .blog-section .section__center-title {
        margin-bottom: 28px;
    }

    .blog-section h2 {
        font-size: clamp(2.25rem, 7vw, 3.8rem);
    }

    .blog-section .section__center-title p {
        font-size: clamp(0.9rem, 1.95vw, 1.08rem);
        line-height: 1.2;
        white-space: nowrap !important;
    }

    .blog-rail__track {
        grid-auto-columns: minmax(228px, 248px);
        gap: 16px;
        padding: 8px 12px 12px;
    }

    .blog-card {
        border-radius: 24px;
    }
}

@media (max-width: 640px) {
    .blog-section .section__center-title {
        margin-bottom: 22px;
    }

    .blog-section h2 {
        font-size: clamp(2rem, 9.2vw, 3rem);
        white-space: nowrap;
    }

    .blog-section .section__center-title p {
        font-size: clamp(0.78rem, 2.4vw, 0.94rem);
        line-height: 1.2;
        white-space: nowrap !important;
    }

    .blog-rail__viewport::before,
    .blog-rail__viewport::after {
        width: 10px;
    }

    .blog-rail__track {
        grid-auto-columns: minmax(214px, 228px);
        gap: 14px;
        padding: 8px 10px 10px;
    }

    .blog-card {
        border-radius: 20px;
    }

    .blog-card__content {
        padding: 11px 11px 13px;
    }

    .blog-card__meta {
        gap: 8px;
    }

    .blog-card__category {
        min-height: 26px;
        padding: 0 10px;
        font-size: 0.74rem;
    }

    .blog-card__date {
        font-size: 0.64rem;
    }

    .blog-card__title {
        max-width: 12ch;
        font-size: clamp(1.1rem, 5vw, 1.4rem);
    }

    .blog-card__read {
        font-size: 0.74rem;
    }
}

/* Mobile refinement: contacts block layout */
.contacts__cta--mobile {
    display: none;
}

@media (max-width: 960px) {
    .contacts__grid {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        grid-template-areas:
            "brand info"
            "cta cta"
            "legal legal";
        align-items: start;
        gap: 18px 16px;
    }

    .contacts__brand {
        grid-area: brand;
        grid-template-columns: 64px 1fr;
        gap: 12px;
        justify-items: start;
        align-items: center;
        text-align: left;
    }

    .contacts__brand img {
        width: 64px;
    }

    .contacts__brand > div {
        align-items: flex-start;
        justify-content: center;
        width: 100%;
    }

    .contacts__brand strong {
        white-space: normal;
        text-align: left;
        line-height: 0.95;
        font-size: 0.92rem;
        max-width: 11ch;
    }

    .contacts__brand .pill-button {
        display: none;
    }

    .contacts__info {
        grid-area: info;
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        justify-self: end;
        text-align: right;
        max-width: none;
        width: 100%;
        gap: 10px;
    }

    .contacts__phone {
        font-size: clamp(1.7rem, 5vw, 2.2rem);
        line-height: 0.95;
        margin: 0;
    }

    .contacts__info > p {
        display: none;
    }

    .contacts__socials {
        margin-top: 0;
        justify-content: flex-end;
        gap: 8px;
    }

    .contacts__socials a,
    .contacts__socials span {
        min-width: 46px;
        min-height: 42px;
        padding: 8px 12px;
    }

    .contacts__socials img {
        width: 18px;
        height: 18px;
    }

    .contacts__cta--mobile {
        grid-area: cta;
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 14px;
        padding-top: 4px;
    }

    .contacts__cta--mobile p {
        margin: 0;
        max-width: 34ch;
        color: var(--text-soft);
        font-family: "Gilroy", Arial, sans-serif;
        font-weight: 200;
        font-size: 1rem;
        line-height: 1.35;
    }

    .contacts__cta--mobile .pill-button {
        min-width: 0;
    }

    .contacts__legal {
        grid-area: legal;
    }

    .contacts__cta--mobile {
        display: flex !important;
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 14px;
        margin: 2px 0 18px;
        padding-top: 0;
    }

    .contacts__legal .contacts__requisites {
        margin-top: 0;
    }
}

@media (max-width: 640px) {
    .contacts__grid {
        gap: 16px 12px;
    }

    .contacts__brand {
        grid-template-columns: 58px 1fr;
        gap: 10px;
    }

    .contacts__brand img {
        width: 58px;
    }

    .contacts__brand strong {
        font-size: 0.84rem;
        max-width: 10ch;
    }

    .contacts__phone {
        font-size: clamp(1.4rem, 6vw, 1.9rem);
    }

    .contacts__socials {
        gap: 6px;
    }

    .contacts__socials a,
    .contacts__socials span {
        min-width: 40px;
        min-height: 38px;
        padding: 8px 10px;
    }

    .contacts__socials img {
        width: 16px;
        height: 16px;
    }

    .contacts__cta--mobile p {
        max-width: 30ch;
        font-size: 0.92rem;
    }

    .contacts__legal .contacts__cta--mobile {
        margin-bottom: 16px;
    }
}

/* Mobile refinement v13: hero photo higher and CTA smaller */
@media (max-width: 960px) {
    main .hero__actions {
        position: relative !important;
        z-index: 4 !important;
        margin-top: 20px !important;
    }

    main .hero__actions .pill-button {
        width: min(100%, 228px) !important;
        min-height: 46px !important;
        padding: 10px 22px !important;
        font-size: clamp(1.02rem, 4.4vw, 1.28rem) !important;
    }

    main .hero__visual {
        width: min(70vw, 340px) !important;
        margin-top: -180px !important;
        transform: translateX(8%) !important;
        z-index: 2 !important;
    }

    main .hero__photo {
        max-height: 41svh !important;
    }
}

@media (max-width: 640px) {
    main .hero__actions .pill-button {
        width: min(100%, 214px) !important;
        min-height: 44px !important;
        font-size: clamp(0.96rem, 4.8vw, 1.18rem) !important;
    }

    main .hero__visual {
        width: min(68vw, 300px) !important;
        margin-top: -168px !important;
        transform: translateX(6%) !important;
    }
}

/* Mobile refinement v14: fix clipping on the last dot in Why RR block */
@media (max-width: 960px) {
    .why-stack__nav {
        padding-bottom: 8px !important;
    }

    .why-stack__nav button {
        display: block !important;
        box-sizing: border-box !important;
        width: 18px !important;
        height: 18px !important;
        min-width: 18px !important;
        min-height: 18px !important;
        line-height: 1 !important;
        overflow: visible !important;
        flex-shrink: 0 !important;
    }

    .why-stack__nav button::before {
        inset: 4px !important;
    }
}

@media (max-width: 640px) {
    .why-stack__nav {
        padding-bottom: 10px !important;
    }

    .why-stack__nav button {
        width: 18px !important;
        height: 18px !important;
    }
}

/* Mobile refinement v15: fix company blog card overlap on homepage */
@media (max-width: 960px) {
    .blog-card {
        width: 100% !important;
        min-width: 0 !important;
    }

    .blog-rail__track {
        align-items: stretch;
    }
}

@media (max-width: 640px) {
    .blog-rail__track {
        grid-auto-columns: minmax(188px, 206px) !important;
        gap: 16px !important;
        padding: 8px 14px 10px !important;
    }

    .blog-card {
        width: 100% !important;
        aspect-ratio: 206 / 320;
    }
}

/* Mobile refinement v16: contacts block smaller phone/socials and explicit CTA under header row */
@media (max-width: 960px) {
    .contacts__grid {
        gap: 14px 14px;
    }

    .contacts__phone {
        font-size: clamp(1.18rem, 3.4vw, 1.48rem) !important;
        line-height: 1.02 !important;
        white-space: nowrap;
        letter-spacing: -0.02em;
    }

    .contacts__socials {
        display: flex;
        flex-wrap: nowrap !important;
        justify-content: flex-end;
        gap: 6px;
        width: 100%;
    }

    .contacts__socials a,
    .contacts__socials span {
        min-width: 36px !important;
        width: 36px;
        height: 36px;
        min-height: 36px !important;
        padding: 7px !important;
        border-radius: 50%;
        flex: 0 0 36px;
    }

    .contacts__socials img {
        width: 16px !important;
        height: 16px !important;
    }

    .contacts__cta--mobile {
        display: flex !important;
        margin-top: 2px;
        padding-top: 0;
        padding-bottom: 2px;
        gap: 12px;
    }

    .contacts__cta--mobile p {
        display: block !important;
        max-width: 42ch;
        font-size: 0.98rem;
        line-height: 1.28;
    }

    .contacts__cta--mobile .pill-button {
        display: inline-flex !important;
        min-width: 230px;
        padding-inline: 28px;
    }
}

@media (max-width: 640px) {
    .contacts__grid {
        gap: 12px 10px;
    }

    .contacts__phone {
        font-size: clamp(0.98rem, 4vw, 1.22rem) !important;
    }

    .contacts__socials {
        gap: 5px;
    }

    .contacts__socials a,
    .contacts__socials span {
        min-width: 32px !important;
        width: 32px;
        height: 32px;
        min-height: 32px !important;
        padding: 6px !important;
        flex: 0 0 32px;
    }

    .contacts__socials img {
        width: 14px !important;
        height: 14px !important;
    }

    .contacts__cta--mobile p {
        max-width: 31ch;
        font-size: 0.9rem;
        line-height: 1.3;
    }

    .contacts__cta--mobile .pill-button {
        min-width: 210px;
    }
}

/* Mobile refinement v18: robust full circular outline for all 4 dots in Why RR block */
@media (max-width: 960px) {
    .why-stack__nav {
        padding-bottom: 12px !important;
    }

    .why-stack__nav button {
        border: 0 !important;
        border-radius: 50% !important;
        background: #d2d2d2 !important;
        box-shadow:
            inset 0 0 0 2px #111111,
            inset 0 1px 0 rgba(255, 255, 255, 0.55) !important;
        -webkit-appearance: none;
        appearance: none;
        overflow: visible !important;
        clip-path: circle(50% at 50% 50%);
    }

    .why-stack__nav button:last-child {
        margin-bottom: 2px;
    }
}

@media (max-width: 640px) {
    .why-stack__nav {
        padding-bottom: 12px !important;
    }

    .why-stack__nav button {
        width: 18px !important;
        height: 18px !important;
        min-width: 18px !important;
        min-height: 18px !important;
    }
}


/* Mobile refinement v19: move contacts CTA to dedicated full-width row above requisites */
@media (max-width: 960px) {
    .contacts__grid {
        grid-template-areas:
            "brand info"
            "cta cta"
            "legal legal" !important;
    }

    .contacts__cta--mobile {
        grid-area: cta !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        width: 100%;
        margin: 0 0 16px !important;
        padding: 0 !important;
        gap: 12px !important;
    }

    .contacts__cta--mobile p {
        display: block !important;
        margin: 0 !important;
    }

    .contacts__cta--mobile .pill-button {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
}

@media (max-width: 640px) {
    .contacts__cta--mobile {
        margin-bottom: 14px !important;
    }
}

/* === Mobile refinement v20: hero/footer/blog/why/menu final fixes === */
@media (max-width: 960px) {
    /* Block 1 / hero */
    main .hero__title {
        max-width: 9.8ch !important;
        font-size: clamp(2.4rem, 11.9vw, 3.3rem) !important;
        line-height: 0.95 !important;
    }

    main .hero__actions .pill-button {
        width: min(100%, 228px) !important;
        min-height: 48px !important;
        padding-inline: 24px !important;
        font-size: clamp(1.08rem, 4.9vw, 1.34rem) !important;
    }

    main .hero__visual {
        width: min(80vw, 388px) !important;
        margin-top: 4px !important;
        transform: translateX(10%) translateY(18px) !important;
        z-index: 2 !important;
    }

    main .hero__photo {
        max-height: 44svh !important;
        object-position: right bottom !important;
    }

    main .hero__badge {
        bottom: 2px !important;
        width: min(88%, 332px) !important;
    }

    main .hero__marquee {
        margin-top: -18px !important;
        padding: 6px 0 12px !important;
        z-index: 5 !important;
    }

    /* Block 5 / Why dots */
    .why-stack__nav {
        padding-bottom: 14px !important;
        overflow: visible !important;
    }

    .why-stack__nav button {
        width: 18px !important;
        height: 18px !important;
        min-width: 18px !important;
        min-height: 18px !important;
        border: 0 !important;
        border-radius: 50% !important;
        background: #d2d2d2 !important;
        box-shadow:
            inset 0 0 0 2px #111111,
            inset 0 1px 0 rgba(255, 255, 255, 0.55) !important;
        overflow: visible !important;
        clip-path: none !important;
        -webkit-appearance: none;
        appearance: none;
    }

    .why-stack__nav button::before {
        inset: 4px !important;
        border-radius: 50% !important;
    }

    .why-stack__nav button:last-child {
        margin-bottom: 2px !important;
    }

    /* Block 10 / blog cards */
    .blog-rail__viewport {
        overflow-x: auto !important;
        overflow-y: visible !important;
    }

    .blog-rail__track {
        display: grid !important;
        grid-auto-flow: column !important;
        grid-auto-columns: minmax(206px, 72vw) !important;
        gap: 16px !important;
        align-items: stretch !important;
        padding: 8px 14px 10px !important;
    }

    .blog-card {
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        aspect-ratio: 206 / 320 !important;
    }

    /* Contacts footer CTA above requisites */
    .contacts__grid {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        grid-template-areas:
            "brand info"
            "legal legal" !important;
        gap: 14px 14px !important;
    }

    .contacts__brand .pill-button {
        display: none !important;
    }

    .contacts__legal {
        grid-area: legal !important;
    }

    .contacts__legal .contacts__cta--mobile {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        gap: 12px !important;
        width: 100% !important;
        margin: 0 0 16px !important;
        padding: 0 !important;
    }

    .contacts__legal .contacts__cta--mobile p {
        display: block !important;
        margin: 0 !important;
        max-width: 42ch !important;
        color: var(--text-soft) !important;
        font-size: 0.96rem !important;
        line-height: 1.3 !important;
    }

    .contacts__legal .contacts__cta--mobile .pill-button {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 228px !important;
        min-height: 46px !important;
        padding-inline: 26px !important;
    }

    .contacts__legal .contacts__requisites {
        margin-top: 0 !important;
    }

    /* Mobile menu key-rate card */
    .menu-overlay__rate-widget {
        width: min(76%, 320px) !important;
        max-width: 320px !important;
    }

    .menu-overlay__rate-card {
        min-height: 126px !important;
        overflow: hidden !important;
        --menu-rate-label-offset-y: 14px !important;
        --menu-rate-value-offset-y: -6px !important;
    }

    .menu-overlay__rate-label {
        left: 50% !important;
        top: 16px !important;
        transform: translateX(-50%) !important;
        font-size: 0.56rem !important;
        letter-spacing: 0.12em !important;
        white-space: nowrap !important;
    }

    .menu-overlay__rate-value {
        left: 18px !important;
        top: 42px !important;
        font-size: clamp(1.28rem, 5.6vw, 1.7rem) !important;
        line-height: 1 !important;
    }

    .menu-overlay__rate-graphic {
        display: block !important;
        width: 100% !important;
        transform: none !important;
        transform-origin: center bottom !important;
    }
}

@media (max-width: 640px) {
    main .hero__title {
        font-size: clamp(2.25rem, 11.4vw, 3.05rem) !important;
    }

    main .hero__actions .pill-button {
        width: min(100%, 216px) !important;
        min-height: 44px !important;
        font-size: clamp(1rem, 4.8vw, 1.22rem) !important;
    }

    main .hero__visual {
        width: min(79vw, 340px) !important;
        transform: translateX(8%) translateY(14px) !important;
    }

    main .hero__marquee {
        margin-top: -14px !important;
    }

    .blog-rail__track {
        grid-auto-columns: minmax(198px, 76vw) !important;
        gap: 14px !important;
    }

    .contacts__grid {
        gap: 12px 10px !important;
    }

    .contacts__legal .contacts__cta--mobile {
        margin-bottom: 14px !important;
    }

    .contacts__legal .contacts__cta--mobile p {
        max-width: 31ch !important;
        font-size: 0.9rem !important;
    }

    .contacts__legal .contacts__cta--mobile .pill-button {
        min-width: 208px !important;
    }
}

/* === v21 menu key-rate card hard fix === */
@media (max-width: 960px) {
    .menu-overlay__meta {
        align-items: start !important;
    }

    .menu-overlay__rate-widget {
        justify-self: start !important;
        align-self: start !important;
        width: min(72vw, 286px) !important;
        max-width: 286px !important;
        margin-top: 8px !important;
    }

    .menu-overlay__rate-card {
        position: relative !important;
        min-height: 112px !important;
        max-height: 112px !important;
        margin-top: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        background: #0a0a0a !important;
    }

    .menu-overlay__rate-label {
        top: 10px !important;
        left: 50% !important;
        width: auto !important;
        max-width: calc(100% - 32px) !important;
        transform: translateX(-50%) !important;
        font-size: 0.52rem !important;
        line-height: 1.1 !important;
        letter-spacing: 0.14em !important;
        white-space: nowrap !important;
        text-align: center !important;
        opacity: 0.9 !important;
    }

    .menu-overlay__rate-value {
        left: 14px !important;
        top: 42px !important;
        transform: none !important;
        font-size: clamp(1.14rem, 5.4vw, 1.5rem) !important;
        line-height: 0.95 !important;
        letter-spacing: -0.03em !important;
    }

    .menu-overlay__rate-graphic {
        position: absolute !important;
        left: 10px !important;
        right: 10px !important;
        bottom: -2px !important;
        width: calc(100% - 20px) !important;
        max-width: none !important;
        height: auto !important;
        display: block !important;
        object-fit: contain !important;
        transform: none !important;
    }
}

@media (max-width: 640px) {
    .menu-overlay__rate-widget {
        width: min(74vw, 270px) !important;
        max-width: 270px !important;
    }

    .menu-overlay__rate-card {
        min-height: 104px !important;
        max-height: 104px !important;
    }

    .menu-overlay__rate-label {
        top: 9px !important;
        font-size: 0.48rem !important;
    }

    .menu-overlay__rate-value {
        left: 12px !important;
        top: 39px !important;
        font-size: clamp(1.08rem, 5vw, 1.36rem) !important;
    }

    .menu-overlay__rate-graphic {
        left: 8px !important;
        right: 8px !important;
        width: calc(100% - 16px) !important;
    }
}


/* === v22 contacts CTA text fixed to stable 2 lines on mobile === */
@media (max-width: 960px) {
    .contacts__legal .contacts__cta--mobile p {
        max-width: none !important;
        width: 100% !important;
        white-space: nowrap !important;
        font-size: 0.92rem !important;
        line-height: 1.24 !important;
        letter-spacing: -0.01em !important;
    }
}

@media (max-width: 640px) {
    .contacts__legal .contacts__cta--mobile p {
        font-size: 0.84rem !important;
    }
}


/* === v23 menu key-rate label slightly larger and a bit higher === */
@media (max-width: 960px) {
    .menu-overlay__rate-label {
        top: 8px !important;
        font-size: 0.58rem !important;
        line-height: 1.08 !important;
        letter-spacing: 0.13em !important;
    }
}

@media (max-width: 640px) {
    .menu-overlay__rate-label {
        top: 7px !important;
        font-size: 0.54rem !important;
    }
}


/* === v24 hero marquee bottom-edge positioning on mobile === */
@media (max-width: 960px) {
    main .hero {
        position: relative !important;
        padding-bottom: 54px !important;
    }

    main .hero__marquee {
        position: absolute !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        margin-top: 0 !important;
        padding: 6px 0 8px !important;
        z-index: 5 !important;
    }

    main .hero__visual {
        transform: translateX(10%) translateY(6px) !important;
    }
}

@media (max-width: 640px) {
    main .hero {
        padding-bottom: 50px !important;
    }

    main .hero__marquee {
        padding: 6px 0 7px !important;
    }

    main .hero__visual {
        transform: translateX(8%) translateY(4px) !important;
    }
}


/* === v25 homepage blog cards reduced in height on mobile === */
@media (max-width: 960px) {
    .blog-rail__track {
        grid-auto-columns: minmax(220px, 232px) !important;
        gap: 16px !important;
    }

    .blog-card {
        aspect-ratio: 232 / 210 !important;
    }
}

@media (max-width: 640px) {
    .blog-rail__track {
        grid-auto-columns: minmax(188px, 206px) !important;
        gap: 16px !important;
        padding: 8px 14px 10px !important;
    }

    .blog-card {
        aspect-ratio: 206 / 188 !important;
    }

    .blog-card__content {
        padding: 12px 12px 12px !important;
    }

    .blog-card__meta {
        align-items: flex-start !important;
    }

    .blog-card__category {
        min-height: 24px !important;
        padding: 0 9px !important;
        font-size: 0.68rem !important;
    }

    .blog-card__date {
        font-size: 0.58rem !important;
    }

    .blog-card__title {
        max-width: 11ch !important;
        font-size: clamp(0.96rem, 4.2vw, 1.16rem) !important;
        line-height: 0.96 !important;
    }

    .blog-card__read {
        font-size: 0.72rem !important;
    }
}


/* === v26 raise hero photo higher on mobile homepage === */
@media (max-width: 960px) {
    main .hero__visual {
        transform: translateX(10%) translateY(-24px) !important;
    }
}

@media (max-width: 640px) {
    main .hero__visual {
        transform: translateX(8%) translateY(-36px) !important;
    }
}


/* === v27 menu key-rate label height matched to TELEGRAM/ТЕЛЕФОН === */
@media (max-width: 960px) {
    .menu-overlay__rate-label {
        line-height: 1 !important;
        margin: 0 !important;
        padding: 0 !important;
    }
}


/* === v41 mobile menu: lower key-rate graph back to bottom line === */
@media (max-width: 960px) {
    .menu-overlay__rate-graphic {
        bottom: -18px !important;
        transform: none !important;
        transform-origin: center bottom !important;
    }
}

@media (max-width: 640px) {
    .menu-overlay__rate-graphic {
        bottom: -16px !important;
    }
}
/* === /v41 mobile menu === */


/* === v42 mobile home/article blog cards: 1.75x larger + hide carousel scrollbar === */
@media (max-width: 960px) {
    .blog-section .blog-rail__viewport,
    .blog-page--article .blog-rail__viewport {
        overflow-x: auto !important;
        overflow-y: visible !important;
        scrollbar-width: none !important;
        -ms-overflow-style: none !important;
    }

    .blog-section .blog-rail__viewport::-webkit-scrollbar,
    .blog-page--article .blog-rail__viewport::-webkit-scrollbar {
        width: 0 !important;
        height: 0 !important;
        display: none !important;
    }

    .blog-section .blog-rail__track,
    .blog-page--article .blog-rail__track {
        grid-auto-columns: minmax(360px, 82vw) !important;
        gap: 18px !important;
        padding: 8px 16px 14px !important;
    }

    .blog-section .blog-card,
    .blog-page--article .blog-card {
        width: 100% !important;
        min-width: 0 !important;
        aspect-ratio: 360 / 320 !important;
    }

    .blog-section .blog-card__title,
    .blog-page--article .blog-card__title {
        width: 80% !important;
        max-width: 80% !important;
    }
}

@media (max-width: 640px) {
    .blog-section .blog-rail__track,
    .blog-page--article .blog-rail__track {
        grid-auto-columns: minmax(330px, 84vw) !important;
        gap: 18px !important;
        padding: 8px 16px 14px !important;
    }

    .blog-section .blog-card,
    .blog-page--article .blog-card {
        aspect-ratio: 330 / 294 !important;
    }

    .blog-section .blog-card__content,
    .blog-page--article .blog-card__content {
        padding: 16px 14px 16px !important;
    }

    .blog-section .blog-card__title,
    .blog-page--article .blog-card__title {
        width: 80% !important;
        max-width: 80% !important;
        font-size: clamp(1.34rem, 6.2vw, 1.78rem) !important;
        line-height: 0.94 !important;
    }

    .blog-section .blog-card__read,
    .blog-page--article .blog-card__read {
        font-size: 0.82rem !important;
    }
}
/* === /v42 mobile home/article blog cards === */

/* === v43 mobile menu: key-rate graph scaled down by ~10% === */
@media (max-width: 960px) {
    .menu-overlay__rate-graphic {
        transform: scale(0.9) !important;
        transform-origin: center bottom !important;
    }
}
/* === /v43 mobile menu === */

/* === v44 mobile modals: use photo as darkened background === */
@media (max-width: 960px) {
    .lead-modal__content,
    .catalog-download-modal__frame {
        position: relative;
        display: block;
        overflow: hidden;
        background: #050505;
        color: #fafafa;
        border: 1px solid rgba(255, 255, 255, 0.10);
        box-shadow: 0 24px 72px rgba(0, 0, 0, 0.42);
        isolation: isolate;
    }

    .lead-modal__content::before,
    .catalog-download-modal__frame::before {
        content: "";
        position: absolute;
        inset: 0;
        background: rgba(0, 0, 0, 0.85);
        z-index: 1;
        pointer-events: none;
    }

    .lead-modal__copy,
    .catalog-download-modal__copy,
    .catalog-download-modal__footer-note {
        position: relative;
        z-index: 2;
    }

    .lead-modal__copy {
        max-width: none;
        padding: 26px 18px 22px 22px;
    }

    .catalog-download-modal__copy {
        padding: 26px 16px 22px 22px;
    }

    .lead-modal__kicker {
        color: rgba(212, 171, 103, 0.92);
    }

    .lead-modal__title,
    .catalog-download-modal__title {
        max-width: 320px;
        color: #fafafa;
    }

    .lead-modal__subtitle,
    .catalog-download-modal__subtitle {
        max-width: 320px;
        color: rgba(250, 250, 250, 0.86);
    }

    .lead-form,
    .catalog-download-form,
    .lead-form__legal,
    .catalog-download-form__legal {
        max-width: none;
    }

    .lead-form__field input,
    .catalog-download-form__field input {
        border-color: rgba(250, 250, 250, 0.18);
        background: rgba(255, 255, 255, 0.04);
        box-shadow: none;
        color: #fafafa;
    }

    .lead-form__field input::placeholder,
    .catalog-download-form__field input::placeholder {
        color: rgba(250, 250, 250, 0.42);
    }

    .lead-form__field input:focus,
    .catalog-download-form__field input:focus {
        border-color: rgba(212, 171, 103, 0.72);
        background: rgba(255, 255, 255, 0.06);
        box-shadow: 0 0 0 3px rgba(212, 171, 103, 0.14);
    }

    .lead-form__legal,
    .catalog-download-form__legal,
    .catalog-download-modal__footer-note {
        color: rgba(250, 250, 250, 0.44);
    }

    .lead-form__legal strong,
    .catalog-download-form__legal strong,
    .catalog-download-modal__footer-note strong {
        color: rgba(250, 250, 250, 0.68);
    }

    .lead-modal__visual,
    .catalog-download-modal__visual {
        position: absolute;
        inset: 0;
        z-index: 0;
        max-height: none;
        min-height: 100%;
        pointer-events: none;
        border-radius: 0;
        overflow: hidden;
    }

    .lead-modal__visual::after,
    .catalog-download-modal__visual::after {
        content: "";
        position: absolute;
        inset: 0;
        background:
            radial-gradient(circle at 82% 72%, rgba(212, 171, 103, 0.16) 0%, rgba(212, 171, 103, 0) 28%),
            linear-gradient(180deg, rgba(0, 0, 0, 0.14) 0%, rgba(0, 0, 0, 0.32) 100%);
        z-index: 1;
        pointer-events: none;
    }

    .lead-modal__visual-copy {
        display: none;
    }

    .lead-modal__visual-photo {
        position: absolute;
        right: -6%;
        bottom: 0;
        width: min(78vw, 360px);
        max-width: none;
        height: auto;
        object-fit: contain;
        object-position: right bottom;
        transform: none;
        filter: grayscale(0.05) drop-shadow(0 18px 28px rgba(0, 0, 0, 0.36));
        opacity: 0.28;
        z-index: 0;
    }

    .catalog-download-modal__visual img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center bottom;
        transform: none;
        opacity: 0.32;
        filter: saturate(0.92);
    }

    .catalog-download-modal__footer-note {
        position: relative;
        z-index: 2;
        padding: 0 18px 18px;
        margin: 0;
        text-align: left;
    }
}
/* === /v44 mobile modals === */

/* === v45 mobile modals: photo is the inner panel background with 80% darkening === */
@media (max-width: 960px) {
    .lead-modal__content,
    .catalog-download-modal__frame {
        position: relative;
        isolation: isolate;
        background-color: #050505;
    }

    /* Darkening must apply to the photo INSIDE the modal panel, not to the page backdrop. */
    .lead-modal__content::before,
    .catalog-download-modal__frame::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 1;
        pointer-events: none;
        background: rgba(0, 0, 0, 0.80) !important;
    }

    .lead-modal__visual,
    .catalog-download-modal__visual {
        position: absolute;
        inset: 0;
        z-index: 0;
        min-height: 100%;
        max-height: none;
        overflow: hidden;
        pointer-events: none;
    }

    /* Keep only a light atmospheric accent above the background image;
       the main darkening is handled by the 80% overlay above. */
    .lead-modal__visual::after,
    .catalog-download-modal__visual::after {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 1;
        pointer-events: none;
        background:
            radial-gradient(circle at 82% 72%, rgba(212, 171, 103, 0.12) 0%, rgba(212, 171, 103, 0) 30%),
            linear-gradient(180deg, rgba(255, 255, 255, 0.03) 0%, rgba(255, 255, 255, 0) 100%);
    }

    .lead-modal__copy,
    .catalog-download-modal__copy,
    .catalog-download-modal__footer-note {
        position: relative;
        z-index: 2;
        background: transparent;
    }

    .lead-modal__visual-photo {
        opacity: 0.42;
    }

    .catalog-download-modal__visual img {
        opacity: 0.46;
    }
}
/* === /v45 mobile modals === */

/* === v46 mobile: modal dimming + menu cleanup === */
@media (max-width: 960px) {
    /* External dimming of the modal overlay: 70%. */
    .lead-modal__backdrop,
    .catalog-download-modal__backdrop {
        background: rgba(10, 10, 10, 0.70) !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    /* Internal darkening of the modal photo/background: 85%. */
    .lead-modal__content::before,
    .catalog-download-modal__frame::before {
        background: rgba(0, 0, 0, 0.85) !important;
    }

    .lead-modal__visual-photo,
    .catalog-download-modal__visual img {
        opacity: 1 !important;
    }

    /* Remove menu items on mobile only: 1 = Каталоги, 4 = Основатель. */
    .menu-overlay__nav a:nth-child(1),
    .menu-overlay__nav a:nth-child(4),
    .menu-overlay__nav button:nth-child(1),
    .menu-overlay__nav button:nth-child(4) {
        display: none !important;
    }

    /* Hide the key-rate label, keep the number and graph. */
    .menu-overlay__rate-label {
        display: none !important;
    }
}
/* === /v46 mobile === */


/* === v47 mobile header: smaller RAIT REAL logo to free horizontal space === */
@media (max-width: 960px) {
    .topbar__brand img {
        width: 112px !important;
        max-width: 112px !important;
    }

    .topbar__brand {
        min-height: 44px !important;
    }
}

@media (max-width: 640px) {
    .topbar__brand img {
        width: 108px !important;
        max-width: 108px !important;
    }

    .topbar__inner {
        grid-template-columns: 42px minmax(0, 1fr) auto !important;
        gap: 8px !important;
    }

    .menu-toggle {
        width: 42px !important;
        height: 42px !important;
    }
}
/* === /v47 mobile header === */

/* === v48 mobile hero: compact intro text into ~5 lines === */
@media (max-width: 640px) {
    main .hero__text {
        max-width: 100% !important;
        font-size: clamp(0.82rem, 3.45vw, 0.92rem) !important;
        line-height: 1.46 !important;
        letter-spacing: -0.012em !important;
        text-wrap: balance !important;
    }

    main .hero__text strong {
        letter-spacing: -0.014em !important;
    }
}
/* === /v48 mobile hero === */


/* === v49 mobile catalog: text corrected + larger gap before search tabs === */
@media (max-width: 960px) {
    .catalog-section {
        padding-bottom: 36px !important;
    }

    .search-section {
        padding-top: 24px !important;
    }
}

@media (max-width: 640px) {
    .catalog-section {
        padding-bottom: 42px !important;
    }

    .search-section {
        padding-top: 28px !important;
    }
}
/* === /v49 mobile catalog === */


/* === v50 mobile search category CTA: smaller than catalog download CTA === */
@media (max-width: 960px) {
    .search-type-tabs,
    .search-type-tabs__list,
    .search-section__tabs {
        transform-origin: center top;
    }

    .search-type-tabs .search-type-tab,
    .search-type-tabs__list .search-type-tab,
    .search-section__tabs .search-tab,
    .search-section__tabs button,
    .search-tabs button,
    .search-category-tabs button {
        min-height: 46px !important;
        padding-inline: 24px !important;
        font-size: clamp(1.12rem, 4.4vw, 1.42rem) !important;
    }
}

@media (max-width: 640px) {
    .search-type-tabs .search-type-tab,
    .search-type-tabs__list .search-type-tab,
    .search-section__tabs .search-tab,
    .search-section__tabs button,
    .search-tabs button,
    .search-category-tabs button {
        min-height: 42px !important;
        padding-inline: 20px !important;
        font-size: clamp(1rem, 4vw, 1.24rem) !important;
        border-width: 1.5px !important;
    }
}
/* === /v50 mobile search category CTA === */


/* === v51 mobile best-month: headline in 2 lines, subtitle in 1 line === */
@media (max-width: 960px) {
    .best-month__header h2 {
        max-width: 18.5ch !important;
        margin-left: auto !important;
        margin-right: auto !important;
        font-size: clamp(1.78rem, 6.9vw, 2.35rem) !important;
        line-height: 0.92 !important;
        text-align: center !important;
        text-wrap: balance !important;
    }

    .best-month__header p {
        max-width: none !important;
        width: 100% !important;
        white-space: nowrap !important;
        overflow: visible !important;
        font-size: clamp(0.56rem, 2.35vw, 0.74rem) !important;
        line-height: 1 !important;
        letter-spacing: 0.055em !important;
        text-align: center !important;
    }
}

@media (max-width: 640px) {
    .best-month__header h2 {
        max-width: 18.5ch !important;
        font-size: clamp(1.68rem, 7.25vw, 2.18rem) !important;
    }

    .best-month__header p {
        font-size: clamp(0.52rem, 2.35vw, 0.66rem) !important;
        letter-spacing: 0.045em !important;
    }
}
/* === /v51 mobile best-month === */

/* Mobile-only correction: expert callback block consent/note layout */
@media (max-width: 640px) {
    .lead-request-form {
        display: flex;
        flex-direction: column;
    }

    .lead-request-form__bottom {
        display: contents;
    }

    .lead-request-form__submit {
        order: 2;
        margin-top: 18px;
    }

    .lead-request-form__note {
        order: 3;
        width: 100%;
        margin-top: 9px;
        text-align: center;
    }

    .lead-request-consent {
        order: 4;
        width: 100%;
        max-width: 100%;
        margin-top: 12px;
        align-items: center;
        justify-content: center;
    }

    .lead-request-consent__text {
        max-width: none;
        font-size: 0.68rem;
        line-height: 1.35;
        white-space: nowrap;
    }
}

/* === v54 mobile best-month header alignment: title 2 lines + centered subtitle === */
@media (max-width: 640px) {
    main .best-month__header {
        max-width: 100% !important;
        text-align: center !important;
    }

    main .best-month__header h2 {
        width: 100% !important;
        max-width: min(100%, 280px) !important;
        margin-left: auto !important;
        margin-right: auto !important;
        text-align: center !important;
        white-space: normal !important;
        text-wrap: balance !important;
        overflow-wrap: normal !important;
        font-size: clamp(1.76rem, 7.2vw, 2.12rem) !important;
        line-height: 0.92 !important;
    }

    main .best-month__header p {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        text-align: center !important;
        white-space: nowrap !important;
        font-size: clamp(0.5rem, 2.22vw, 0.64rem) !important;
        line-height: 1 !important;
        letter-spacing: 0.04em !important;
    }
}
/* === /v54 mobile best-month header alignment === */




/* === v57 mobile catalog showcase: button left, note right === */
@media (max-width: 640px) {
    main .catalog-showcase__actions {
        display: grid !important;
        grid-template-columns: minmax(128px, 44%) minmax(0, 1fr) !important;
        grid-template-areas: "button note" !important;
        gap: 14px !important;
        align-items: center !important;
        justify-items: stretch !important;
    }

    main .catalog-showcase__button {
        grid-area: button !important;
        justify-self: start !important;
        align-self: center !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    main .catalog-section .catalog-showcase__note {
        grid-area: note !important;
        justify-self: start !important;
        align-self: center !important;
        max-width: 12ch !important;
        margin: 0 !important;
        text-align: left !important;
    }
}


/* === v58 mobile catalog showcase: one-line button and 3-line note === */
@media (max-width: 640px) {
    main .catalog-showcase__actions {
        grid-template-columns: minmax(132px, 44%) minmax(0, 1fr) !important;
        grid-template-areas: "button note" !important;
        gap: 14px !important;
        align-items: center !important;
    }

    main .catalog-showcase__button {
        grid-area: button !important;
        align-self: center !important;
        justify-self: start !important;
        min-height: 48px !important;
        height: 48px !important;
        padding: 0 10px !important;
        font-size: clamp(0.84rem, 3.55vw, 1rem) !important;
        line-height: 0.92 !important;
        letter-spacing: 0.045em !important;
        white-space: nowrap !important;
    }

    main .catalog-section .catalog-showcase__note {
        grid-area: note !important;
        align-self: center !important;
        justify-self: start !important;
        max-width: 23ch !important;
        margin: 0 !important;
        font-size: clamp(0.72rem, 3.05vw, 0.84rem) !important;
        line-height: 1.28 !important;
        text-align: left !important;
    }
}
/* === /v58 mobile catalog showcase === */


/* === v59 mobile catalog showcase: lift button === */
@media (max-width: 640px) {
    main .catalog-showcase__button {
        transform: translateY(-7px) !important;
    }
}
/* === /v59 mobile catalog showcase === */


/* === v60 mobile catalog section bottom spacing === */
@media (max-width: 640px) {
    main .search-section__legacy {
        margin-top: 34px !important;
    }
}
/* === /v60 mobile catalog section bottom spacing === */


/* === v62 mobile callback modal: hide top kicker === */
@media (max-width: 640px) {
    .lead-modal__kicker {
        display: none !important;
    }
}


/* === v63 mobile lead modal: inner dimming 75% === */
@media (max-width: 960px) {
    .lead-modal__content::before {
        background: rgba(0, 0, 0, 0.75) !important;
    }
}
/* === /v63 mobile lead modal === */


/* === v64 mobile modals: center on Y axis === */
@media (max-width: 960px) {
    .lead-modal,
    .catalog-download-modal {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding-top: max(14px, env(safe-area-inset-top)) !important;
        padding-bottom: max(14px, env(safe-area-inset-bottom)) !important;
        box-sizing: border-box !important;
    }

    .lead-modal__dialog,
    .catalog-download-modal__dialog {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
}
/* === /v64 mobile modals === */


/* === v65 mobile blog cards width -20% === */
@media (max-width: 960px) {
    .blog-section .blog-rail__track,
    .blog-page--article .blog-rail__track {
        grid-auto-columns: minmax(288px, 65.6vw) !important;
    }
}

@media (max-width: 640px) {
    .blog-section .blog-rail__track,
    .blog-page--article .blog-rail__track {
        grid-auto-columns: minmax(264px, 67.2vw) !important;
    }
}
/* === /v65 mobile blog cards === */


/* === v66 mobile scenarios header without black container === */
@media (max-width: 640px) {
    main .scenarios-section {
        background: #fafafa !important;
    }

    main .scenarios-showcase {
        padding: 0 !important;
        border-radius: 0 !important;
        background: #fafafa !important;
        color: #0a0a0a !important;
        box-shadow: none !important;
        overflow: visible !important;
        isolation: auto !important;
    }

    main .scenarios-showcase::before,
    main .scenarios-showcase::after {
        display: none !important;
        content: none !important;
    }

    main .scenarios-showcase__header {
        max-width: none !important;
        margin: 0 auto 22px !important;
        padding: 0 !important;
        text-align: center !important;
    }

    main .scenarios-showcase__header h2 {
        margin: 0 !important;
        color: #0a0a0a !important;
        font-size: clamp(2.05rem, 9.3vw, 2.46rem) !important;
        line-height: 0.96 !important;
        letter-spacing: 0.015em !important;
        white-space: nowrap !important;
    }

    main .scenarios-showcase__header p {
        margin: 10px auto 0 !important;
        max-width: 100% !important;
        color: #0a0a0a !important;
        font-size: clamp(0.56rem, 2.45vw, 0.72rem) !important;
        line-height: 1 !important;
        letter-spacing: 0.035em !important;
        white-space: nowrap !important;
    }

    main .scenario-grid {
        position: relative !important;
        z-index: 1 !important;
    }
}
/* === /v66 mobile scenarios header === */

/* === v67 mobile scenarios header fix: remove black pill === */
@media (max-width: 960px) {
    main .scenarios-section {
        background: #fafafa !important;
    }

    main .scenarios-showcase {
        background: transparent !important;
        box-shadow: none !important;
        border: 0 !important;
        border-radius: 0 !important;
        overflow: visible !important;
    }

    main .scenarios-showcase__header {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto 22px !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        color: #0a0a0a !important;
        text-align: center !important;
    }

    main .scenarios-showcase__header h2 {
        color: #0a0a0a !important;
        white-space: nowrap !important;
    }

    main .scenarios-showcase__header p {
        color: #0a0a0a !important;
        white-space: nowrap !important;
    }
}

@media (max-width: 640px) {
    main .scenarios-showcase__header h2 {
        font-size: clamp(1.66rem, 7.55vw, 2.06rem) !important;
        line-height: 0.96 !important;
        letter-spacing: 0.012em !important;
    }

    main .scenarios-showcase__header p {
        margin-top: 10px !important;
        font-size: clamp(0.56rem, 2.45vw, 0.72rem) !important;
        line-height: 1 !important;
        letter-spacing: 0.035em !important;
    }
}
/* === /v67 mobile scenarios header fix === */


/* === v68 mobile contacts block: swap CTA button and socials === */
.contacts__mobile-call {
    display: none;
}

@media (max-width: 960px) {
    .contacts__mobile-call {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        align-self: flex-end !important;
        width: auto !important;
        max-width: 100% !important;
        min-width: 0 !important;
        min-height: 38px !important;
        padding: 0 22px !important;
        font-size: 1.02rem !important;
        line-height: 1 !important;
        letter-spacing: 0.04em !important;
        white-space: nowrap !important;
    }

    .contacts__info {
        gap: 10px !important;
    }

    .contacts__info > p {
        display: none !important;
    }

    .contacts__info .contacts__socials {
        display: none !important;
    }

    .contacts__legal .contacts__cta--mobile {
        gap: 14px !important;
    }

    .contacts__legal .contacts__cta--mobile .contacts__socials--mobile {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        gap: 8px !important;
        margin-top: 0 !important;
    }

    .contacts__legal .contacts__cta--mobile .contacts__socials--mobile a,
    .contacts__legal .contacts__cta--mobile .contacts__socials--mobile span {
        min-width: 46px !important;
        min-height: 42px !important;
        padding: 8px 12px !important;
    }

    .contacts__legal .contacts__cta--mobile .contacts__socials--mobile img {
        width: 18px !important;
        height: 18px !important;
    }
}

@media (max-width: 640px) {
    .contacts__mobile-call {
        min-height: 36px !important;
        padding: 0 18px !important;
        font-size: 0.94rem !important;
    }

    .contacts__legal .contacts__cta--mobile .contacts__socials--mobile {
        gap: 6px !important;
    }

    .contacts__legal .contacts__cta--mobile .contacts__socials--mobile a,
    .contacts__legal .contacts__cta--mobile .contacts__socials--mobile span {
        min-width: 40px !important;
        min-height: 38px !important;
        padding: 8px 10px !important;
    }

    .contacts__legal .contacts__cta--mobile .contacts__socials--mobile img {
        width: 16px !important;
        height: 16px !important;
    }
}
/* === /v68 mobile contacts block: swap CTA button and socials === */


/* === v69 mobile hero developer marquee at first-screen bottom === */
@media (max-width: 960px) {
    main > .hero#hero {
        position: relative !important;
        min-height: calc(100vh - 64px) !important;
        min-height: calc(100svh - 64px) !important;
        height: calc(100vh - 64px) !important;
        height: calc(100svh - 64px) !important;
        padding-bottom: 56px !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    main > .hero#hero .hero__inner {
        min-height: calc(100% - 56px) !important;
        padding-bottom: 0 !important;
        box-sizing: border-box !important;
    }

    main > .hero#hero .hero__marquee {
        position: absolute !important;
        left: 0 !important;
        right: 0 !important;
        top: auto !important;
        bottom: 0 !important;
        transform: none !important;
        margin: 0 !important;
        padding: 6px 0 8px !important;
        z-index: 5 !important;
        background: var(--bg) !important;
        border-top: 1px solid rgba(10, 10, 10, 0.06) !important;
        border-bottom: 0 !important;
    }
}

@media (max-width: 640px) {
    main > .hero#hero {
        min-height: calc(100vh - 64px) !important;
        min-height: calc(100svh - 64px) !important;
        height: calc(100vh - 64px) !important;
        height: calc(100svh - 64px) !important;
        padding-bottom: 52px !important;
    }

    main > .hero#hero .hero__inner {
        min-height: calc(100% - 52px) !important;
    }

    main > .hero#hero .hero__marquee {
        padding: 6px 0 7px !important;
    }
}
/* === /v69 mobile hero developer marquee at first-screen bottom === */


/* === v70 mobile hero marquee exact viewport bottom === */
@media (max-width: 960px) {
    main > .hero#hero {
        --mobile-topbar-height: 65px;
        --mobile-marquee-height: 58px;
        position: relative !important;
        height: calc(var(--viewport-height, 100vh) - var(--mobile-topbar-height)) !important;
        min-height: calc(var(--viewport-height, 100vh) - var(--mobile-topbar-height)) !important;
        max-height: calc(var(--viewport-height, 100vh) - var(--mobile-topbar-height)) !important;
        padding-bottom: 0 !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    main > .hero#hero .hero__inner {
        height: calc(100% - var(--mobile-marquee-height)) !important;
        min-height: 0 !important;
        max-height: calc(100% - var(--mobile-marquee-height)) !important;
        padding-bottom: 0 !important;
        box-sizing: border-box !important;
    }

    main > .hero#hero .hero__marquee {
        display: block !important;
        position: absolute !important;
        left: 0 !important;
        right: 0 !important;
        top: calc(var(--viewport-height, 100vh) - var(--mobile-topbar-height) - var(--mobile-marquee-height)) !important;
        bottom: auto !important;
        height: var(--mobile-marquee-height) !important;
        min-height: var(--mobile-marquee-height) !important;
        margin: 0 !important;
        padding: 6px 0 6px !important;
        transform: none !important;
        box-sizing: border-box !important;
        z-index: 20 !important;
        background: var(--bg) !important;
        border-top: 1px solid rgba(10, 10, 10, 0.06) !important;
        border-bottom: 1px solid rgba(10, 10, 10, 0.08) !important;
        opacity: 1 !important;
        pointer-events: none !important;
    }

    main > .hero#hero .hero__marquee-shell,
    main > .hero#hero .hero__marquee-track {
        height: 100% !important;
        box-sizing: border-box !important;
    }

    main > .hero#hero .hero__marquee-track {
        align-items: center !important;
        padding: 0 !important;
    }
}

@media (max-width: 640px) {
    main > .hero#hero {
        --mobile-topbar-height: 65px;
        --mobile-marquee-height: 56px;
    }
}
/* === /v70 mobile hero marquee exact viewport bottom === */

/* === v71 mobile hero marquee via flex flow, not fixed/sticky === */
@media (max-width: 960px) {
    main > .hero#hero {
        --mobile-topbar-height: 65px;
        --mobile-marquee-height: 58px;
        position: relative !important;
        display: flex !important;
        flex-direction: column !important;
        height: calc(var(--viewport-height, 100vh) - var(--mobile-topbar-height)) !important;
        min-height: calc(var(--viewport-height, 100vh) - var(--mobile-topbar-height)) !important;
        max-height: calc(var(--viewport-height, 100vh) - var(--mobile-topbar-height)) !important;
        padding-bottom: 0 !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    main > .hero#hero .hero__inner {
        flex: 1 1 auto !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        padding-bottom: 0 !important;
        box-sizing: border-box !important;
    }

    main > .hero#hero .hero__marquee {
        position: relative !important;
        left: auto !important;
        right: auto !important;
        top: auto !important;
        bottom: auto !important;
        flex: 0 0 var(--mobile-marquee-height) !important;
        width: 100% !important;
        height: var(--mobile-marquee-height) !important;
        min-height: var(--mobile-marquee-height) !important;
        margin-top: auto !important;
        margin-bottom: 0 !important;
        padding: 6px 0 6px !important;
        transform: none !important;
        box-sizing: border-box !important;
        z-index: 20 !important;
        background: var(--bg) !important;
        border-top: 1px solid rgba(10, 10, 10, 0.06) !important;
        border-bottom: 1px solid rgba(10, 10, 10, 0.08) !important;
        opacity: 1 !important;
        pointer-events: none !important;
    }

    main > .hero#hero .hero__marquee-shell,
    main > .hero#hero .hero__marquee-track {
        height: 100% !important;
        box-sizing: border-box !important;
    }

    main > .hero#hero .hero__marquee-track {
        align-items: center !important;
        padding: 0 !important;
    }
}

@media (max-width: 640px) {
    main > .hero#hero {
        --mobile-topbar-height: 65px;
        --mobile-marquee-height: 56px;
    }
}
/* === /v71 mobile hero marquee via flex flow === */


/* === v72 mobile hero badge lift above marquee === */
@media (max-width: 960px) {
    main > .hero#hero .hero__badge {
        bottom: calc(var(--mobile-marquee-height, 56px) + 2px) !important;
    }
}
/* === /v72 mobile hero badge lift above marquee === */

/* === v74 mobile modals: center submit buttons === */
@media (max-width: 960px) {
    .lead-modal .lead-form__submit,
    .catalog-download-modal .catalog-download-form__submit {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        align-self: center !important;
        justify-self: center !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}
/* === /v74 mobile modals: center submit buttons === */


/* === v75 mobile modal title and newbuild chip smaller === */
@media (max-width: 960px) {
    .lead-modal__title {
        font-size: clamp(1.76rem, 10vw, 2.28rem) !important;
        line-height: 0.94 !important;
        max-width: 9.5ch !important;
    }

    main .title-chip {
        min-height: 42px !important;
        padding: 0 20px !important;
        font-size: clamp(1rem, 4.8vw, 1.24rem) !important;
        line-height: 1 !important;
    }
}
/* === /v75 mobile modal title and newbuild chip smaller === */


/* === v76 mobile modals: center legal texts === */
@media (max-width: 960px) {
    .lead-modal .lead-form__legal,
    .catalog-download-modal .catalog-download-form__legal,
    .catalog-download-modal .catalog-download-modal__footer-note {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        text-align: center !important;
        justify-items: center !important;
    }

    .lead-modal .lead-form__legal p,
    .catalog-download-modal .catalog-download-form__legal p,
    .catalog-download-modal .catalog-download-modal__footer-note p {
        text-align: center !important;
    }
}
/* === /v76 mobile modals: center legal texts === */


/* === v77 mobile contacts: more space between socials and requisites === */
@media (max-width: 960px) {
    .contacts__legal .contacts__cta--mobile {
        margin-bottom: 24px !important;
    }
}

@media (max-width: 640px) {
    .contacts__legal .contacts__cta--mobile {
        margin-bottom: 22px !important;
    }
}
/* === /v77 mobile contacts: more space between socials and requisites === */


/* === v78 mobile blog carousel: iOS native scroll instead of transform drag === */
@media (max-width: 960px), (pointer: coarse) {
    .blog-section .blog-rail__viewport,
    .blog-page--article .blog-rail__viewport,
    .blog-page--article .blog-article-related__viewport {
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        touch-action: pan-x pan-y !important;
        scroll-behavior: auto !important;
        scroll-snap-type: x proximity !important;
        cursor: default !important;
        overscroll-behavior-x: contain !important;
        contain: layout paint !important;
    }

    .blog-section .blog-rail__viewport.is-native-scroll .blog-rail__track,
    .blog-page--article .blog-rail__viewport.is-native-scroll .blog-rail__track,
    .blog-section .blog-rail__track,
    .blog-page--article .blog-rail__track {
        transform: none !important;
        will-change: auto !important;
        justify-content: start !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .blog-section .blog-card,
    .blog-page--article .blog-card {
        scroll-snap-align: start !important;
        transform: translateZ(0) !important;
        backface-visibility: hidden !important;
        -webkit-backface-visibility: hidden !important;
    }

    .blog-rail__viewport.is-dragging {
        cursor: default !important;
    }
}
/* === /v78 mobile blog carousel === */

/* === v79 mobile homepage hero photo scale +30% === */
@media (max-width: 960px) {
    main > .hero#hero .hero__photo {
        transform: scale(1.3) !important;
        transform-origin: center bottom !important;
    }
}
/* === /v79 mobile homepage hero photo scale === */

/* === v80 mobile blog cards: remove edge fade stripe artifact === */
@media (max-width: 960px), (pointer: coarse) {
    .blog-section .blog-rail__viewport::before,
    .blog-section .blog-rail__viewport::after,
    .blog-page--article .blog-rail__viewport::before,
    .blog-page--article .blog-rail__viewport::after,
    .blog-page--article .blog-article-related__viewport::before,
    .blog-page--article .blog-article-related__viewport::after {
        content: none !important;
        display: none !important;
        background: none !important;
    }

    .blog-section .blog-card,
    .blog-page--article .blog-card {
        background-clip: padding-box !important;
        transform: translate3d(0, 0, 0) !important;
    }
}
/* === /v80 mobile blog cards === */

/* === v81 mobile homepage hero photo/button/badge tuning === */
@media (max-width: 960px) {
    main > .hero#hero .hero__photo {
        transform: scale(1.43) !important;
        transform-origin: center bottom !important;
    }

    main > .hero#hero .hero__actions .pill-button {
        width: min(100%, 160px) !important;
        min-width: 0 !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    main > .hero#hero .hero__badge {
        transform: translateX(-20%) !important;
    }
}

@media (max-width: 640px) {
    main > .hero#hero .hero__actions .pill-button {
        width: min(100%, 150px) !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
}
/* === /v81 mobile homepage hero photo/button/badge tuning === */

/* === v83 mobile catalog modal: keep hero/marquee from recalculating while modal is open === */
@media (max-width: 960px) {
    body.is-locked main > .hero#hero {
        height: calc(100svh - var(--mobile-topbar-height, 65px)) !important;
        min-height: calc(100svh - var(--mobile-topbar-height, 65px)) !important;
        max-height: calc(100svh - var(--mobile-topbar-height, 65px)) !important;
    }
}
/* === /v83 mobile catalog modal === */

/* === v84 mobile search title and currency alignment === */
@media (max-width: 960px) {
    main .search-section__legacy .section__center-title {
        margin: 0 auto 18px !important;
        max-width: none !important;
        text-align: center !important;
    }

    main .search-section__legacy .title-chip {
        display: block !important;
        width: 100% !important;
        min-height: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        color: transparent !important;
        font-size: 0 !important;
        line-height: 0 !important;
        white-space: nowrap !important;
    }

    main .search-section__legacy .title-chip::before {
        content: "ПОИСК НОВОСТРОЙКИ В МОСКВЕ";
        display: block !important;
        color: #0a0a0a !important;
        font-family: "Bebas Neue", sans-serif !important;
        font-size: clamp(1.24rem, 5.8vw, 1.72rem) !important;
        font-weight: 700 !important;
        line-height: 0.95 !important;
        letter-spacing: 0.026em !important;
        text-align: center !important;
        white-space: nowrap !important;
    }

    main .search-section__legacy .currency-fixed {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0 !important;
        font-family: "Gilroy", Arial, sans-serif !important;
        font-size: 0.96rem !important;
        font-weight: 600 !important;
        line-height: 1 !important;
        transform: translateY(-1px) !important;
    }
}

@media (max-width: 360px) {
    main .search-section__legacy .title-chip::before {
        font-size: clamp(1.06rem, 5.4vw, 1.24rem) !important;
        letter-spacing: 0.018em !important;
    }
}
/* === /v84 mobile search title and currency alignment === */

/* === v85 mobile best-month: readable subtitle + native auto-scrolling rail === */
@media (max-width: 960px) {
    main .best-month__header p {
        font-size: clamp(0.66rem, 2.7vw, 0.86rem) !important;
        line-height: 1 !important;
        letter-spacing: 0.035em !important;
    }
}

@media (max-width: 640px) {
    main .best-month__header p {
        font-size: clamp(0.62rem, 2.85vw, 0.78rem) !important;
        letter-spacing: 0.03em !important;
    }
}

@media (max-width: 960px), (pointer: coarse) {
    main .best-month__viewport {
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        touch-action: pan-x pan-y !important;
        scroll-behavior: auto !important;
        scroll-snap-type: x proximity !important;
        cursor: default !important;
        overscroll-behavior-x: contain !important;
        contain: layout paint !important;
        scrollbar-width: none !important;
    }

    main .best-month__viewport::-webkit-scrollbar {
        display: none !important;
    }

    main .best-month__viewport::before,
    main .best-month__viewport::after {
        content: none !important;
        display: none !important;
        background: none !important;
    }

    main .best-month__viewport.is-native-scroll .best-month__track,
    main .best-month__track {
        transform: none !important;
        will-change: auto !important;
        justify-content: start !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    main .best-month__card {
        scroll-snap-align: start !important;
        transform: translate3d(0, 0, 0) !important;
        backface-visibility: hidden !important;
        -webkit-backface-visibility: hidden !important;
    }

    main .best-month__viewport.is-dragging {
        cursor: default !important;
    }
}
/* === /v85 mobile best-month === */

/* === v86 mobile founder title replacement === */
@media (max-width: 960px) {
    main .founder-copy h2 {
        color: transparent !important;
        font-size: 0 !important;
        line-height: 0 !important;
        white-space: nowrap !important;
    }

    main .founder-copy h2::after {
        content: "ОБ ОСНОВАТЕЛЕ";
        display: block !important;
        color: #0a0a0a !important;
        font-family: "Bebas Neue", sans-serif !important;
        font-size: clamp(2.35rem, 4vw, 4.05rem) !important;
        font-weight: 700 !important;
        line-height: 0.94 !important;
        letter-spacing: 0.01em !important;
        white-space: nowrap !important;
    }
}
/* === /v86 mobile founder title replacement === */

/* === v87 mobile: remove outer shadows from black page panels === */
@media (max-width: 960px) {
    main .catalog-showcase,
    main .best-month,
    main .scenarios-showcase,
    main .lead-request-card {
        box-shadow: none !important;
    }
}
/* === /v87 mobile black page panels shadows === */

/* === v78 mobile scenarios header typography === */
@media (max-width: 960px) {
    main .scenarios-showcase__header h2 {
        font-size: clamp(2.35rem, 4vw, 4.05rem) !important;
        line-height: 0.94 !important;
        letter-spacing: 0.01em !important;
    }

    main .scenarios-showcase__header p {
        margin-top: 12px !important;
        font-size: clamp(0.8rem, 2.8vw, 0.92rem) !important;
        line-height: 1.08 !important;
        letter-spacing: 0.035em !important;
    }
}

@media (max-width: 380px) {
    main .scenarios-showcase__header p {
        font-size: clamp(0.74rem, 3.05vw, 0.82rem) !important;
        letter-spacing: 0.025em !important;
    }
}
/* === /v78 mobile scenarios header typography === */

/* === v78 mobile contacts: increase gap between top row and contact text/socials === */
@media (max-width: 960px) {
    .contacts__legal .contacts__cta--mobile {
        margin-top: 22px !important;
    }
}

@media (max-width: 640px) {
    .contacts__legal .contacts__cta--mobile {
        margin-top: 20px !important;
    }
}
/* === /v78 mobile contacts: increase gap between top row and contact text/socials === */

/* === v79 mobile modal backdrop blur: reduce visual noise behind forms === */
@media (max-width: 960px) {
    .lead-modal__backdrop,
    .catalog-download-modal__backdrop {
        background: rgba(8, 8, 8, 0.46) !important;
        -webkit-backdrop-filter: blur(24px) saturate(0.72) !important;
        backdrop-filter: blur(24px) saturate(0.72) !important;
        transform: translateZ(0) !important;
    }

    .lead-modal__backdrop::after,
    .catalog-download-modal__backdrop::after {
        content: "";
        position: absolute;
        inset: 0;
        pointer-events: none;
        background:
            radial-gradient(circle at 50% 38%, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0) 52%),
            rgba(250, 250, 250, 0.018);
    }
}

@media (max-width: 640px) {
    .lead-modal__backdrop,
    .catalog-download-modal__backdrop {
        background: rgba(8, 8, 8, 0.44) !important;
        -webkit-backdrop-filter: blur(28px) saturate(0.66) !important;
        backdrop-filter: blur(28px) saturate(0.66) !important;
    }
}
/* === /v79 mobile modal backdrop blur === */

/* === v80 mobile: equal gap between catalog, search and best-month blocks === */
@media (max-width: 960px) {
    main .catalog-section {
        padding-bottom: 94px !important;
    }
}

@media (max-width: 640px) {
    main .catalog-section {
        padding-bottom: 104px !important;
    }
}
/* === /v80 mobile catalog-search gap === */

/* === v81 mobile correction: increase catalog-to-search gap, keep search-to-best gap unchanged === */
@media (max-width: 960px) {
    main .catalog-section {
        padding-bottom: 52px !important;
    }

    main .search-section__legacy {
        margin-top: 44px !important;
    }
}

@media (max-width: 640px) {
    main .catalog-section {
        padding-bottom: 58px !important;
    }

    main .search-section__legacy {
        margin-top: 61px !important;
    }
}
/* === /v81 mobile correction === */

/* === v86 mobile catalog modal: add gap before footer consent note === */
@media (max-width: 960px) {
    .catalog-download-modal .catalog-download-modal__footer-note {
        margin-top: 18px !important;
    }
}

@media (max-width: 640px) {
    .catalog-download-modal .catalog-download-modal__footer-note {
        margin-top: 20px !important;
    }
}
/* === /v86 mobile catalog modal: add gap before footer consent note === */

/* === v87 mobile homepage grey section dividers === */
@media (max-width: 960px) {
    main .why-stack-section,
    main .lead-request-section,
    main .scenarios-section {
        border-top: 1px solid rgba(10, 10, 10, 0.06) !important;
    }

    main .lead-request-section,
    main .scenarios-section {
        padding-top: 52px !important;
    }
}

@media (max-width: 640px) {
    main .lead-request-section,
    main .scenarios-section {
        padding-top: 46px !important;
    }
}
/* === /v87 mobile homepage grey section dividers === */


/* === v88 mobile search price currency: optical center fix === */
@media (max-width: 960px) {
    main .search-section__legacy .triple-field .currency-fixed {
        display: grid !important;
        place-items: center !important;
        align-self: stretch !important;
        width: 42px !important;
        min-width: 42px !important;
        height: 42px !important;
        min-height: 42px !important;
        padding: 0 !important;
        font-size: 0 !important;
        line-height: 0 !important;
        letter-spacing: 0 !important;
        transform: none !important;
        text-align: center !important;
    }

    main .search-section__legacy .triple-field .currency-fixed::before {
        content: "₽";
        display: block !important;
        font-family: Arial, Helvetica, sans-serif !important;
        font-size: 0.92rem !important;
        font-weight: 700 !important;
        line-height: 1 !important;
        letter-spacing: 0 !important;
        transform: translateY(-2px) !important;
    }
}
/* === /v88 mobile search price currency: optical center fix === */

/* === v89 mobile search price currency: fixed Arial ruble glyph === */
@media (max-width: 960px) {
    main .search-section__legacy .triple-field .currency-fixed,
    main .search-section__legacy .triple-field .currency-fixed::before {
        font-family: Arial, Helvetica, sans-serif !important;
    }
}
/* === /v89 mobile search price currency: fixed Arial ruble glyph === */

/* === v90 mobile search price currency: strict y-axis centering === */
@media (max-width: 960px) {
    main .search-section__legacy .triple-field .currency-fixed {
        position: relative !important;
        display: block !important;
        align-self: stretch !important;
        width: 42px !important;
        min-width: 42px !important;
        height: 42px !important;
        min-height: 42px !important;
        padding: 0 !important;
        overflow: visible !important;
        font-size: 0 !important;
        line-height: 0 !important;
        text-align: center !important;
        transform: none !important;
    }

    main .search-section__legacy .triple-field .currency-fixed::before {
        content: "₽";
        position: absolute !important;
        left: 50% !important;
        top: 50% !important;
        display: block !important;
        width: auto !important;
        height: auto !important;
        font-family: Arial, Helvetica, sans-serif !important;
        font-size: 0.92rem !important;
        font-weight: 700 !important;
        line-height: 1 !important;
        letter-spacing: 0 !important;
        transform: translate(-50%, -50%) translateY(1px) !important;
    }
}
/* === /v90 mobile search price currency === */

/* === v91 mobile scenarios divider: equal gap around grey line === */
@media (max-width: 960px) {
    main .scenarios-section {
        padding-top: 58px !important;
    }
}

@media (max-width: 640px) {
    main .scenarios-section {
        padding-top: 58px !important;
    }
}
/* === /v91 mobile scenarios divider === */


/* === v92 mobile founder divider after lead form === */
@media (max-width: 960px) {
    main .founder-section {
        border-top: 1px solid rgba(10, 10, 10, 0.06) !important;
        padding-top: 52px !important;
    }
}

@media (max-width: 640px) {
    main .founder-section {
        padding-top: 46px !important;
    }
}
/* === /v92 mobile founder divider === */

/* === v93 mobile lead divider: move line slightly closer to previous block === */
@media (max-width: 960px) {
    main .lead-request-section {
        margin-top: -14px !important;
        padding-top: 66px !important;
    }
}

@media (max-width: 640px) {
    main .lead-request-section {
        margin-top: -14px !important;
        padding-top: 60px !important;
    }
}
/* === /v93 mobile lead divider === */

/* === v94 mobile lead divider: keep line visible above expert form === */
@media (max-width: 960px) {
    main .lead-request-section {
        position: relative !important;
        border-top: 0 !important;
        margin-top: -8px !important;
        padding-top: 64px !important;
    }

    main .lead-request-section::before {
        content: "" !important;
        position: absolute !important;
        left: 0 !important;
        right: 0 !important;
        top: 18px !important;
        display: block !important;
        width: 100% !important;
        height: 1px !important;
        background: rgba(10, 10, 10, 0.06) !important;
        z-index: 2 !important;
        pointer-events: none !important;
    }
}

@media (max-width: 640px) {
    main .lead-request-section {
        margin-top: -6px !important;
        padding-top: 60px !important;
    }

    main .lead-request-section::before {
        top: 18px !important;
    }
}
/* === /v94 mobile lead divider === */

/* === v95 mobile why card shadow shorter + lead divider raised === */
@media (max-width: 960px) {
    main .why-stack__panel,
    main .why-stack__panel.is-active {
        box-shadow: 0 10px 26px rgba(10, 10, 10, 0.055) !important;
    }

    main .lead-request-section::before {
        top: 10px !important;
    }
}

@media (max-width: 640px) {
    main .why-stack__panel,
    main .why-stack__panel.is-active {
        box-shadow: 0 8px 20px rgba(10, 10, 10, 0.05) !important;
    }

    main .lead-request-section::before {
        top: 10px !important;
    }
}
/* === /v95 mobile why card shadow + lead divider === */

/* === v96 mobile why-to-lead divider equal spacing === */
@media (max-width: 960px) {
    main .why-stack-section {
        padding-bottom: 40px !important;
    }
}

@media (max-width: 640px) {
    main .why-stack-section {
        padding-bottom: 40px !important;
    }
}
/* === /v96 mobile why-to-lead divider equal spacing === */


/* === v98 mobile modal backdrop close: keep hero logo marquee stable during unlock === */
@media (max-width: 960px) {
    body.is-modal-closing main > .hero#hero {
        height: calc(100svh - var(--mobile-topbar-height, 65px)) !important;
        min-height: calc(100svh - var(--mobile-topbar-height, 65px)) !important;
        max-height: calc(100svh - var(--mobile-topbar-height, 65px)) !important;
    }
}
/* === /v98 mobile modal backdrop close === */

/* === v99 mobile modal scroll lock: prevent hero/logo marquee shift on catalog modal open === */
@media (max-width: 960px) {
    body.is-mobile-scroll-locked {
        position: fixed !important;
        top: var(--mobile-scroll-lock-top, 0) !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
        overscroll-behavior: none !important;
        touch-action: none !important;
    }

    body.is-mobile-scroll-locked main,
    body.is-mobile-scroll-locked .site-shell {
        width: 100% !important;
        max-width: 100% !important;
    }
}
/* === /v99 mobile modal scroll lock === */

/* === v100 mobile modal close: no fixed body teleport + stable hero marquee height === */
@media (max-width: 960px) {
    body.is-mobile-scroll-locked {
        position: static !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        width: auto !important;
        max-width: none !important;
        overflow: hidden !important;
        overscroll-behavior: auto !important;
        touch-action: auto !important;
    }

    body.is-locked main > .hero#hero,
    body.is-modal-closing main > .hero#hero {
        height: calc(var(--viewport-height, 100svh) - var(--mobile-topbar-height, 65px)) !important;
        min-height: calc(var(--viewport-height, 100svh) - var(--mobile-topbar-height, 65px)) !important;
        max-height: calc(var(--viewport-height, 100svh) - var(--mobile-topbar-height, 65px)) !important;
    }
}
/* === /v100 mobile modal close === */

/* === v101 mobile modal: freeze hero/logo marquee against modal viewport recalculation === */
@media (max-width: 960px) {
    body.modal-open {
        overflow: hidden !important;
    }

    .lead-modal,
    .catalog-download-modal {
        position: fixed !important;
        inset: 0 !important;
        overflow-y: auto !important;
        overscroll-behavior: contain !important;
    }

    main > .hero#hero {
        --mobile-hero-stable-height: calc(var(--mobile-page-viewport-height, 100svh) - var(--mobile-topbar-height, 65px));
        height: var(--mobile-hero-stable-height) !important;
        min-height: var(--mobile-hero-stable-height) !important;
        max-height: var(--mobile-hero-stable-height) !important;
    }

    body.modal-open main > .hero#hero,
    body.is-locked main > .hero#hero,
    body.is-modal-closing main > .hero#hero {
        height: var(--mobile-hero-stable-height) !important;
        min-height: var(--mobile-hero-stable-height) !important;
        max-height: var(--mobile-hero-stable-height) !important;
    }

    main > .hero#hero .hero__marquee {
        position: relative !important;
        top: auto !important;
        bottom: auto !important;
        margin-top: auto !important;
        transform: translateZ(0) !important;
        will-change: transform;
    }
}
/* === /v101 mobile modal hero/logo marquee freeze === */

/* === v104 MOBILE BLOG MENU LAYER FIX === */
@media (max-width: 960px) {
    .menu-overlay {
        z-index: 5000 !important;
        isolation: isolate !important;
    }

    .menu-overlay__backdrop {
        z-index: 0 !important;
    }

    .menu-overlay__panel {
        position: relative !important;
        z-index: 1 !important;
    }
}
/* === /v104 MOBILE BLOG MENU LAYER FIX === */

/* === v2026-05-24 project presentation modal redesign from bk7 base === */
.catalog-download-modal.is-project-presentation .catalog-download-modal__dialog {
    width: min(calc(100% - 72px), 1240px);
    margin-top: clamp(44px, 5.4vh, 70px);
}

.catalog-download-modal.is-project-presentation .catalog-download-modal__frame {
    grid-template-columns: minmax(0, 0.92fr) minmax(440px, 1.08fr);
    min-height: min(720px, calc(var(--modal-safe-height) - 86px));
    border-radius: 28px;
    background: #080808;
}

.catalog-download-modal.is-project-presentation .catalog-download-modal__copy {
    padding-left: clamp(44px, 5vw, 76px);
    padding-right: clamp(28px, 3.2vw, 48px);
}

.catalog-download-modal.is-project-presentation .catalog-download-modal__title {
    max-width: 390px;
    font-size: clamp(2.3rem, 3.45vw, 3.9rem);
    line-height: 0.92;
}

.catalog-download-modal.is-project-presentation .catalog-download-modal__subtitle {
    max-width: 410px;
    margin-top: 22px;
    font-size: clamp(1rem, 1.18vw, 1.28rem);
    line-height: 1.38;
}

.catalog-download-modal.is-project-presentation .catalog-download-form {
    max-width: 470px;
    gap: 13px;
    margin-top: 30px;
}

.catalog-download-modal.is-project-presentation .catalog-download-form__field input {
    height: 64px;
    border-radius: 18px;
    font-size: 1.08rem;
}

.catalog-download-modal.is-project-presentation .catalog-download-form__submit {
    min-height: 66px;
    border-radius: 18px;
    font-size: 1.62rem;
    letter-spacing: 0.05em;
}

.catalog-download-modal.is-project-presentation .catalog-download-modal__visual {
    display: block;
    min-height: 100%;
    padding: 0;
    background: #080808;
}

.catalog-download-modal.is-project-presentation .catalog-download-modal__visual::before {
    display: none;
}

.catalog-download-modal.is-project-presentation .catalog-download-modal__visual img {
    width: 100%;
    height: 100%;
    min-height: min(720px, calc(var(--modal-safe-height) - 86px));
    object-fit: cover;
    object-position: center 52% !important;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    transform: scale(1.06);
    transform-origin: center bottom;
}

.catalog-download-modal.is-project-presentation .catalog-download-modal__footer-note {
    max-width: 1060px;
    margin-top: 20px;
    font-size: 0.84rem;
}

.catalog-download-success {
    display: grid;
    justify-items: center;
    gap: 14px;
    max-width: 470px;
    margin-top: 30px;
    padding: 34px 28px;
    border: 1px solid rgba(250, 250, 250, 0.18);
    background: rgba(8, 18, 18, 0.62);
    text-align: center;
}

.catalog-download-success[hidden] {
    display: none !important;
}

.catalog-download-success__check {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    position: relative;
    background: radial-gradient(circle, rgba(198, 255, 134, 0.22), rgba(198, 255, 134, 0) 70%);
    filter: drop-shadow(0 0 14px rgba(198, 255, 134, 0.52));
}

.catalog-download-success__check::before {
    content: "";
    position: absolute;
    left: 23px;
    top: 19px;
    width: 28px;
    height: 16px;
    border-left: 8px solid #d6ff96;
    border-bottom: 8px solid #d6ff96;
    transform: rotate(-45deg);
    border-radius: 2px;
}

.catalog-download-success__title {
    margin: 0;
    color: #c8f187;
    font-family: "Gilroy", Arial, sans-serif;
    font-size: 1.02rem;
    font-weight: 600;
    line-height: 1.35;
    text-transform: uppercase;
}

.catalog-download-success__link,
.catalog-download-success__back {
    font-family: "Gilroy", Arial, sans-serif;
    font-size: 0.86rem;
    line-height: 1.35;
    color: rgba(250, 250, 250, 0.48);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.catalog-download-success__back {
    margin-top: 8px;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.catalog-download-success__link:hover,
.catalog-download-success__back:hover,
.catalog-download-success__link:focus-visible,
.catalog-download-success__back:focus-visible {
    color: rgba(250, 250, 250, 0.86);
    outline: none;
}

@media (max-width: 960px) {
    .catalog-download-modal.is-project-presentation .catalog-download-modal__dialog {
        width: min(calc(100% - 28px), 560px);
    }

    .catalog-download-modal.is-project-presentation .catalog-download-modal__frame {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .catalog-download-modal.is-project-presentation .catalog-download-modal__copy {
        padding: 34px 24px 28px;
    }

    .catalog-download-modal.is-project-presentation .catalog-download-modal__title {
        font-size: clamp(2.3rem, 12vw, 3.3rem);
    }

    .catalog-download-modal.is-project-presentation .catalog-download-modal__visual {
        min-height: 340px;
        max-height: 48vh;
    }

    .catalog-download-modal.is-project-presentation .catalog-download-modal__visual img {
        min-height: 340px;
        height: 100%;
        transform: scale(1.04);
    }

    .catalog-download-success {
        max-width: none;
        padding: 28px 20px;
    }
}
/* === /v2026-05-24 project presentation modal redesign === */

/* === v2026-05-24 homepage new-builds heading as plain text from bk8 base === */
main .search-section__legacy .search-section__heading-wrap {
    max-width: min(100%, 1560px);
    margin: 0 auto clamp(22px, 2.3vw, 42px) !important;
    text-align: center;
}

main .search-section__legacy .search-section__plain-title {
    margin: 0;
    color: #0a0a0a;
    font-family: "Bebas Neue", Impact, sans-serif;
    font-size: clamp(4rem, 6.2vw, 7.7rem);
    font-weight: 700;
    line-height: 0.86;
    letter-spacing: 0.014em;
    text-transform: uppercase;
    text-wrap: balance;
}

@media (max-width: 960px) {
    main .search-section__legacy .search-section__heading-wrap {
        margin-bottom: 18px !important;
    }

    main .search-section__legacy .search-section__plain-title {
        font-size: clamp(2.15rem, 9.8vw, 4.35rem);
        line-height: 0.9;
        letter-spacing: 0.018em;
    }
}

@media (max-width: 420px) {
    main .search-section__legacy .search-section__plain-title {
        font-size: clamp(1.85rem, 9vw, 2.6rem);
    }
}
/* === /v2026-05-24 homepage new-builds heading as plain text === */

/* === v2026-05-24 modal bright-background project image fix === */
.catalog-download-modal.is-project-presentation .catalog-download-modal__visual.is-bright-project-bg {
    background: #080808;
}

.catalog-download-modal.is-project-presentation .catalog-download-modal__visual.is-bright-project-bg img {
    object-position: center bottom !important;
    transform: scale(1.36);
}

@media (max-width: 960px) {
    .catalog-download-modal.is-project-presentation .catalog-download-modal__visual.is-bright-project-bg img {
        transform: scale(1.22);
    }
}
/* === /v2026-05-24 modal bright-background project image fix === */

/* === v2026-05-24 desktop heading height alignment === */
main .search-section__legacy .search-section__plain-title {
    font-size: clamp(2.35rem, 4vw, 4.05rem) !important;
    line-height: 0.94 !important;
    letter-spacing: 0.01em !important;
}

main .search-section__legacy .search-section__heading-wrap {
    margin-bottom: clamp(22px, 2.2vw, 36px) !important;
}

@media (max-width: 960px) {
    main .search-section__legacy .search-section__plain-title {
        font-size: clamp(2.15rem, 9.8vw, 4.35rem) !important;
        line-height: 0.9 !important;
    }
}
/* === /v2026-05-24 desktop heading height alignment === */

/* === v2026-05-24 project presentation modal same size as catalog modal === */
.catalog-download-modal.is-project-presentation .catalog-download-modal__dialog {
    width: min(calc(100% - 72px), 780px) !important;
    margin: clamp(60px, 7.2vh, 72px) auto !important;
}

.catalog-download-modal.is-project-presentation .catalog-download-modal__frame {
    grid-template-columns: minmax(0, 1fr) minmax(260px, 0.64fr) !important;
    min-height: 0 !important;
    border-radius: 28px;
    background: #0a0a0a;
}

.catalog-download-modal.is-project-presentation .catalog-download-modal__copy {
    padding: clamp(24px, 2.6vw, 30px) clamp(18px, 2.2vw, 26px) clamp(20px, 2.2vw, 26px) clamp(28px, 3vw, 36px) !important;
}

.catalog-download-modal.is-project-presentation .catalog-download-modal__title {
    max-width: 300px !important;
    font-size: clamp(1.72rem, 2.2vw, 2.52rem) !important;
    line-height: 0.94 !important;
}

.catalog-download-modal.is-project-presentation .catalog-download-modal__subtitle {
    max-width: 300px !important;
    margin-top: 12px !important;
    font-size: clamp(0.84rem, 0.86vw, 0.96rem) !important;
    line-height: 1.46 !important;
}

.catalog-download-modal.is-project-presentation .catalog-download-form {
    max-width: 300px !important;
    gap: 9px !important;
    margin-top: 16px !important;
}

.catalog-download-modal.is-project-presentation .catalog-download-form__field input {
    height: 46px !important;
    border-radius: 14px !important;
    font-size: 0.94rem !important;
}

.catalog-download-modal.is-project-presentation .catalog-download-form__submit {
    min-height: 46px !important;
    border-radius: 14px !important;
    font-size: clamp(1.05rem, 1.2vw, 1.28rem) !important;
    letter-spacing: 0.04em !important;
}

.catalog-download-modal.is-project-presentation .catalog-download-modal__visual {
    display: block !important;
    min-height: 100% !important;
    max-height: none !important;
    padding: 0 !important;
    background: #0a0a0a !important;
}

.catalog-download-modal.is-project-presentation .catalog-download-modal__visual img {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    object-fit: cover !important;
    object-position: center center !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transform: scale(1.04) !important;
    transform-origin: center bottom !important;
}

.catalog-download-modal.is-project-presentation .catalog-download-modal__visual.is-bright-project-bg img {
    object-position: center bottom !important;
    transform: scale(1.08) !important;
}

.catalog-download-modal.is-project-presentation .catalog-download-modal__footer-note {
    max-width: 620px !important;
    margin-top: 16px !important;
    font-size: 0.72rem !important;
}

.catalog-download-modal.is-project-presentation .catalog-download-success {
    max-width: 300px !important;
    margin-top: 16px !important;
    padding: 24px 18px !important;
}

@media (max-width: 960px) {
    .catalog-download-modal.is-project-presentation .catalog-download-modal__dialog {
        width: min(calc(100% - 28px), 760px) !important;
        margin: 20px auto !important;
    }

    .catalog-download-modal.is-project-presentation .catalog-download-modal__frame {
        grid-template-columns: 1fr !important;
    }

    .catalog-download-modal.is-project-presentation .catalog-download-modal__copy {
        padding: 34px 24px 28px !important;
    }

    .catalog-download-modal.is-project-presentation .catalog-download-modal__title {
        font-size: clamp(2.3rem, 12vw, 3.3rem) !important;
    }

    .catalog-download-modal.is-project-presentation .catalog-download-form,
    .catalog-download-modal.is-project-presentation .catalog-download-success {
        max-width: none !important;
    }

    .catalog-download-modal.is-project-presentation .catalog-download-modal__visual {
        min-height: 300px !important;
        max-height: 420px !important;
    }

    .catalog-download-modal.is-project-presentation .catalog-download-modal__visual img {
        min-height: 300px !important;
        height: 100% !important;
        transform: scale(1.04) !important;
    }
}
/* === /v2026-05-24 project presentation modal same size as catalog modal === */

/* === v2026-05-25 project presentation modal visual fit fix === */
.catalog-download-modal.is-project-presentation .catalog-download-modal__visual {
    background: #080808 !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;
}

.catalog-download-modal.is-project-presentation .catalog-download-modal__visual img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center bottom !important;
    transform: none !important;
    background: transparent !important;
}

.catalog-download-modal.is-project-presentation .catalog-download-modal__visual.is-bright-project-bg img {
    object-fit: cover !important;
    object-position: center bottom !important;
    transform: scale(1.10) !important;
}

@media (min-width: 961px) {
    .catalog-download-modal.is-project-presentation .catalog-download-modal__dialog {
        width: min(calc(100% - 72px), 980px) !important;
    }

    .catalog-download-modal.is-project-presentation .catalog-download-modal__frame {
        grid-template-columns: minmax(0, 0.95fr) minmax(360px, 1.05fr) !important;
        min-height: min(640px, calc(var(--modal-safe-height) - 96px)) !important;
    }

    .catalog-download-modal.is-project-presentation .catalog-download-modal__copy {
        padding: clamp(44px, 4.8vw, 70px) clamp(28px, 3vw, 42px) clamp(36px, 3.6vw, 54px) clamp(44px, 5vw, 70px) !important;
    }

    .catalog-download-modal.is-project-presentation .catalog-download-modal__title {
        max-width: 390px !important;
        font-size: clamp(2.05rem, 2.55vw, 3.2rem) !important;
        line-height: 0.94 !important;
    }

    .catalog-download-modal.is-project-presentation .catalog-download-modal__subtitle,
    .catalog-download-modal.is-project-presentation .catalog-download-form,
    .catalog-download-modal.is-project-presentation .catalog-download-success {
        max-width: 380px !important;
    }

    .catalog-download-modal.is-project-presentation .catalog-download-form__field input {
        height: 58px !important;
        border-radius: 16px !important;
        font-size: 1.02rem !important;
    }

    .catalog-download-modal.is-project-presentation .catalog-download-form__submit {
        min-height: 58px !important;
        border-radius: 16px !important;
        font-size: clamp(1.22rem, 1.45vw, 1.55rem) !important;
    }
}
/* === /v2026-05-25 project presentation modal visual fit fix === */

/* === v2026-05-25 client polish: homepage search and contacts CTA sync === */
main .search-section__legacy .search-section__heading-wrap {
    margin-bottom: clamp(34px, 3vw, 58px) !important;
}

@media (min-width: 961px) {
    main .search-section__legacy {
        margin-top: clamp(54px, 5.2vw, 96px) !important;
    }
}

.contacts__brand .pill-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    min-height: 52px !important;
    padding: 0 27px !important;
    border-radius: 999px !important;
    font-family: "Bebas Neue", sans-serif !important;
    font-size: 1.3rem !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: 0.045em !important;
    text-align: center !important;
    font-synthesis-weight: none !important;
}

@media (max-width: 640px) {
    .contacts__brand .pill-button {
        min-height: 48px !important;
        padding: 0 24px !important;
        font-size: 1.25rem !important;
    }
}
/* === /v2026-05-25 client polish: homepage search and contacts CTA sync === */

@media (max-width: 960px) {
    .contacts__brand .pill-button {
        display: none !important;
    }
}

/* === v2026-06-02 home catalog search location chips === */
.home-location-search {
    position: relative;
}

.home-location-search__panel {
    position: absolute;
    left: 0;
    top: calc(100% + 10px);
    z-index: 80;
    width: min(620px, calc(100vw - 40px));
    overflow: hidden;
    border-radius: 22px;
    border: 1px solid rgba(10, 10, 10, 0.10);
    background: #fff;
    box-shadow: 0 24px 76px rgba(10, 10, 10, 0.16);
}

.home-location-search__panel[hidden],
.home-location-search__list[hidden],
.home-location-search__list button[hidden],
.home-search-active-tags[hidden] {
    display: none !important;
}

.home-location-search__tabs {
    display: flex;
    gap: 20px;
    padding: 18px 22px 0;
    border-bottom: 1px solid rgba(10, 10, 10, 0.08);
}

.home-location-search__tabs button {
    position: relative;
    min-height: 42px;
    padding: 0;
    border: 0;
    background: transparent;
    color: rgba(10, 10, 10, 0.44);
    font-family: "Bebas Neue", Impact, sans-serif;
    font-size: 24px;
    line-height: 1;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    cursor: pointer;
}

.home-location-search__tabs button.is-active {
    color: #0a0a0a;
}

.home-location-search__tabs button.is-active::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 2px;
    background: #0a0a0a;
}

.home-location-search__list {
    max-height: 330px;
    overflow: auto;
    padding: 10px 0;
}

.home-location-search__list button {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 54px;
    padding: 9px 66px 9px 22px;
    border: 0;
    background: #fff;
    color: #0a0a0a;
    text-align: left;
    font-family: "Gilroy", Arial, sans-serif;
    font-size: 17px;
    font-weight: 500;
    line-height: 1.15;
    cursor: pointer;
    transition: background .18s ease;
}

.home-location-search__list button::after {
    content: "";
    position: absolute;
    right: 22px;
    top: 50%;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: 1px solid rgba(10, 10, 10, 0.14);
    transform: translateY(-50%);
}

.home-location-search__list button.is-selected::before {
    content: "✓";
    position: absolute;
    right: 22px;
    top: 50%;
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #0a0a0a;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    transform: translateY(-50%);
    z-index: 1;
}

.home-location-search__list button:hover,
.home-location-search__list button:focus-visible {
    background: #f7f6f3;
    outline: none;
}

.home-location-search.is-open .search-location,
.home-location-search__field:focus-within {
    border-color: rgba(10, 10, 10, 0.34);
    box-shadow: 0 0 0 4px rgba(10, 10, 10, 0.035);
}

.home-search-active-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: -4px 0 16px;
}

.home-search-active-tags button {
    min-height: 34px;
    padding: 0 13px;
    border-radius: 999px;
    border: 1px solid rgba(10, 10, 10, 0.12);
    background: #fff;
    color: rgba(10, 10, 10, 0.66);
    font-family: "Gilroy", Arial, sans-serif;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
}

@media (max-width: 960px) {
    .home-location-search__panel {
        width: min(92vw, 560px);
    }

    .home-location-search__tabs {
        gap: 14px;
        padding: 15px 18px 0;
    }

    .home-location-search__tabs button {
        font-size: 21px;
    }

    .home-location-search__list button {
        min-height: 50px;
        padding-left: 18px;
        font-size: 16px;
    }
}


/* === v2026-06-02 mobile catalog/client fixes === */
@media (max-width: 768px) {
    /* Главная: чуть уменьшаем фото Руслана и поднимаем композицию, чтобы лицо не казалось обрезанным. */
    main .hero__visual {
        width: min(74vw, 360px) !important;
        margin-top: -36px !important;
        transform: translate(5%, -8px) !important;
    }

    main .hero__photo {
        max-height: 42svh !important;
        object-position: right top !important;
    }

    /* Мобильное меню: гарантируем, что карточка меню влезает в экран; "Лучшие предложения" прячем, чтобы освободить место под "Выбрать новостройку". */
    .menu-overlay__panel {
        width: min(calc(100vw - 20px), 520px) !important;
        max-height: calc(100svh - 20px) !important;
        margin: 10px auto !important;
        border-radius: 30px !important;
        padding: 30px 24px 26px !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        box-sizing: border-box !important;
    }

    .menu-overlay__grid {
        width: 100% !important;
        min-width: 0 !important;
        grid-template-columns: minmax(0, 1fr) minmax(120px, auto) !important;
        column-gap: 18px !important;
    }

    .menu-overlay__nav a:nth-child(2) {
        display: none !important;
    }

    .menu-overlay__nav a,
    .menu-overlay__nav button {
        white-space: normal !important;
        text-wrap: balance !important;
    }

    /* Главная: выбор ЖК/застройщика/метро как настоящее модальное окно без прозрачности. */
    .home-location-search__panel {
        position: fixed !important;
        left: 50% !important;
        top: 50% !important;
        width: min(calc(100vw - 28px), 460px) !important;
        max-height: min(72svh, 620px) !important;
        transform: translate(-50%, -50%) !important;
        z-index: 220 !important;
        border-radius: 24px !important;
        background: #fff !important;
        border: 1px solid rgba(10, 10, 10, 0.08) !important;
        box-shadow: 0 34px 100px rgba(10, 10, 10, 0.28) !important;
        overflow: auto !important;
        backdrop-filter: none !important;
    }

    .home-location-search__panel::before {
        content: "";
        position: fixed;
        inset: -100vmax;
        z-index: -1;
        background: rgba(10, 10, 10, 0.42);
    }

    .home-location-search__close {
        position: sticky;
        top: 10px;
        left: 100%;
        z-index: 3;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 42px;
        height: 42px;
        margin: 10px 12px -44px auto;
        border: 0;
        border-radius: 50%;
        background: rgba(10, 10, 10, 0.06);
        color: #0a0a0a;
        font-size: 28px;
        line-height: 1;
        cursor: pointer;
    }

    .home-location-search__tabs {
        padding-top: 22px !important;
        padding-right: 58px !important;
    }
}

@media (min-width: 769px) {
    .home-location-search__close {
        display: none !important;
    }
}
/* === /v2026-06-02 mobile catalog/client fixes === */

/* === v2026-06-02 mobile project presentation modal fit === */
@media (max-width: 640px) {
    .catalog-download-modal.is-project-presentation {
        align-items: flex-start !important;
        overflow-y: auto !important;
        padding: 8px 0 18px !important;
    }

    .catalog-download-modal.is-project-presentation .catalog-download-modal__dialog {
        width: min(calc(100vw - 16px), 420px) !important;
        max-height: none !important;
        margin: 8px auto 18px !important;
        border-radius: 24px !important;
        overflow: visible !important;
    }

    .catalog-download-modal.is-project-presentation .catalog-download-modal__frame {
        display: grid !important;
        grid-template-columns: 1fr !important;
        border-radius: 24px !important;
        overflow: hidden !important;
    }

    .catalog-download-modal.is-project-presentation .catalog-download-modal__close {
        top: 12px !important;
        right: 12px !important;
        width: 42px !important;
        height: 42px !important;
        z-index: 20 !important;
    }

    .catalog-download-modal.is-project-presentation .catalog-download-modal__copy {
        padding: 56px 18px 18px !important;
    }

    .catalog-download-modal.is-project-presentation .catalog-download-modal__title {
        max-width: 100% !important;
        font-size: clamp(2.05rem, 12vw, 3rem) !important;
        line-height: 0.92 !important;
        letter-spacing: 0.01em !important;
    }

    .catalog-download-modal.is-project-presentation .catalog-download-modal__subtitle {
        max-width: 100% !important;
        margin-top: 12px !important;
        font-size: 0.95rem !important;
        line-height: 1.42 !important;
    }

    .catalog-download-modal.is-project-presentation .catalog-download-form {
        max-width: 100% !important;
        gap: 9px !important;
        margin-top: 14px !important;
    }

    .catalog-download-modal.is-project-presentation .catalog-download-form__field input {
        height: 50px !important;
        border-radius: 14px !important;
        font-size: 0.98rem !important;
    }

    .catalog-download-modal.is-project-presentation .catalog-download-form__submit {
        min-height: 50px !important;
        border-radius: 14px !important;
        font-size: clamp(1.08rem, 6.2vw, 1.42rem) !important;
        letter-spacing: 0.035em !important;
        white-space: normal !important;
    }

    .catalog-download-modal.is-project-presentation .catalog-download-form__legal,
    .catalog-download-modal.is-project-presentation .catalog-download-modal__footer-note {
        margin-top: 10px !important;
        font-size: 0.64rem !important;
        line-height: 1.35 !important;
    }

    .catalog-download-modal.is-project-presentation .catalog-download-modal__visual {
        min-height: 170px !important;
        max-height: 220px !important;
        display: flex !important;
        align-items: flex-end !important;
    }

    .catalog-download-modal.is-project-presentation .catalog-download-modal__visual img {
        min-height: 170px !important;
        height: 100% !important;
        object-fit: contain !important;
        object-position: center bottom !important;
    }

    .catalog-download-modal.is-project-presentation .catalog-download-success {
        max-width: 100% !important;
        margin-top: 14px !important;
        padding: 18px 14px !important;
    }

    .catalog-download-modal.is-project-presentation .catalog-download-success h3 {
        font-size: clamp(1.4rem, 7vw, 2rem) !important;
        line-height: 1.05 !important;
    }
}
/* === /v2026-06-02 mobile project presentation modal fit === */

/* === v2026-06-03 client fixes: home project cards + modal success position === */
.home-projects-preview-section {
    margin-top: clamp(42px, 5vw, 84px) !important;
}

.home-projects-preview {
    padding: clamp(28px, 3.2vw, 52px) !important;
}

.home-projects-preview__header p {
    max-width: none;
}

.home-projects-preview__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(18px, 1.9vw, 30px);
    margin-top: clamp(22px, 2.4vw, 38px);
}

.home-project-card {
    overflow: hidden;
    border: 1px solid rgba(10, 10, 10, 0.08);
    border-radius: 28px;
    background: #fff;
    box-shadow: 0 22px 60px rgba(10, 10, 10, 0.055);
}

.home-project-card__media {
    position: relative;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #f1f0ed;
}

.home-project-card__media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.home-project-card__body {
    display: flex;
    flex-direction: column;
    min-height: 420px;
    padding: clamp(22px, 2vw, 32px);
}

.home-project-card__eyebrow {
    margin: 0 0 14px;
    color: rgba(10, 10, 10, 0.46);
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0.2em;
    text-transform: uppercase;
}

.home-project-card__title {
    display: grid;
    gap: 3px;
    min-height: 88px;
    margin: 0;
    color: #0a0a0a;
    font-family: "Bebas Neue", Impact, sans-serif;
    font-size: clamp(2.15rem, 3.05vw, 3.85rem);
    font-weight: 700;
    line-height: 0.88;
    letter-spacing: 0.01em;
    text-transform: uppercase;
}

.home-project-card__location {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 30px;
    margin-top: 20px;
    color: rgba(10, 10, 10, 0.78);
    font-size: 0.94rem;
    font-weight: 600;
}

.home-project-card__metro-dot {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: #8e44ad;
    color: #fff;
    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1;
}

.home-project-card__location b {
    display: inline-flex;
    min-height: 28px;
    align-items: center;
    padding: 0 12px;
    border-radius: 999px;
    border: 1px solid rgba(10, 10, 10, 0.08);
    background: #f4f3f1;
    color: rgba(10, 10, 10, 0.58);
    font-size: 0.82rem;
    font-weight: 600;
}

.home-project-card__params {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: auto 0 22px;
    padding-top: 30px;
}

.home-project-card__params div {
    min-height: 78px;
    padding: 16px 18px;
    border-radius: 18px;
    background: #f4f3f1;
}

.home-project-card__params dt {
    margin: 0 0 7px;
    color: rgba(10, 10, 10, 0.42);
    font-size: 0.68rem;
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: 0.22em;
    text-transform: uppercase;
}

.home-project-card__params dd {
    margin: 0;
    color: #0a0a0a;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.15;
}

.home-project-card__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: min(100%, 390px);
    min-height: 58px;
    margin: 0 auto;
    padding: 0 28px;
    border-radius: 999px;
    border: 2px solid #b7813f;
    background: #fff;
    color: #0a0a0a;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.78), 0 0 18px rgba(183, 129, 63, 0.15);
    font-family: "Bebas Neue", Impact, sans-serif;
    font-size: 1.56rem;
    line-height: 1;
    letter-spacing: 0.035em;
    text-transform: uppercase;
    cursor: pointer;
}

@media (min-width: 961px) {
    .catalog-download-modal.is-project-presentation .catalog-download-modal__frame {
        position: relative !important;
    }

    .catalog-download-modal.is-project-presentation.is-download-ready .catalog-download-success {
        position: absolute !important;
        top: clamp(42px, 5vw, 70px) !important;
        right: clamp(34px, 5vw, 76px) !important;
        z-index: 6 !important;
        width: min(360px, 36%) !important;
        max-width: 360px !important;
        margin-top: 0 !important;
        padding: 24px 22px !important;
        border-color: rgba(250, 250, 250, 0.20) !important;
        background: rgba(255, 255, 255, 0.04) !important;
        border-radius: 18px !important;
        backdrop-filter: blur(10px) !important;
    }

    .catalog-download-modal.is-project-presentation.is-download-ready .catalog-download-success__check {
        width: 58px !important;
        height: 58px !important;
    }

    .catalog-download-modal.is-project-presentation.is-download-ready .catalog-download-success__check::before {
        left: 18px !important;
        top: 15px !important;
        width: 24px !important;
        height: 14px !important;
        border-left-width: 7px !important;
        border-bottom-width: 7px !important;
    }

    .catalog-download-modal.is-project-presentation.is-download-ready .catalog-download-success__title {
        font-size: 0.92rem !important;
        line-height: 1.28 !important;
    }
}

.catalog-download-success {
    background: rgba(255, 255, 255, 0.04) !important;
    border-color: rgba(250, 250, 250, 0.20) !important;
    border-radius: 18px !important;
}

@media (max-width: 1180px) {
    .home-projects-preview__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .home-projects-preview {
        padding: 24px 16px !important;
        border-radius: 28px !important;
    }

    .home-projects-preview__grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .home-project-card {
        border-radius: 24px;
    }

    .home-project-card__body {
        min-height: 0;
        padding: 22px 18px 24px;
        text-align: center;
        align-items: center;
    }

    .home-project-card__title {
        min-height: 0;
        font-size: clamp(2.4rem, 12vw, 3.4rem);
        text-align: center;
    }

    .home-project-card__location {
        justify-content: center;
        flex-wrap: wrap;
    }

    .home-project-card__params {
        width: 100%;
        grid-template-columns: 1fr;
        margin-top: 22px;
        padding-top: 0;
    }

    .home-project-card__params div,
    .home-project-card__params dt,
    .home-project-card__params dd {
        text-align: center;
    }
}
/* === /v2026-06-03 client fixes: home project cards + modal success position === */

/* === v2026-06-03 follow-up: desktop/mobile section polish === */
.why-stack__nav button:hover,
.why-stack__nav button:focus-visible {
    color: #0a0a0a;
}

.why-stack__nav button:hover::after,
.why-stack__nav button:focus-visible::after {
    width: 16px;
}

@media (max-width: 960px) {
    main > section.search-section,
    main > section.best-month-section,
    main > section.why-stack-section,
    main > section.lead-request-section,
    main > section.founder-section,
    main > section.scenarios-section,
    main > section.blog-section,
    main > section.contacts-section {
        border-top: 10px solid #f1f1f1;
    }

    main > section.search-section {
        border-top-width: 8px;
    }
}
/* === /v2026-06-03 follow-up: desktop/mobile section polish === */

/* === v2026-06-04 best offers carousel arrows === */
.best-month__viewport {
    position: relative;
}

.best-month__arrows {
    position: absolute;
    inset: 0;
    z-index: 6;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 clamp(6px, 1.1vw, 16px);
    pointer-events: none;
}

.best-month__arrow {
    width: clamp(38px, 3.3vw, 52px);
    height: clamp(38px, 3.3vw, 52px);
    border: 1px solid rgba(255, 255, 255, 0.26);
    border-radius: 999px;
    background: rgba(10, 10, 10, 0.72);
    color: #fff;
    font-family: Arial, sans-serif;
    font-size: clamp(2rem, 3vw, 2.8rem);
    font-weight: 300;
    line-height: 0.82;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    pointer-events: auto;
    box-shadow: 0 12px 34px rgba(0, 0, 0, 0.28);
    transition: background 0.24s ease, border-color 0.24s ease, transform 0.24s ease;
}

.best-month__arrow:hover,
.best-month__arrow:focus-visible {
    background: rgba(255, 255, 255, 0.16);
    border-color: rgba(255, 255, 255, 0.55);
    transform: translateY(-1px);
    outline: none;
}

@media (max-width: 640px) {
    .best-month__arrows {
        padding: 0 4px;
    }

    .best-month__arrow {
        width: 36px;
        height: 36px;
        font-size: 2rem;
        background: rgba(10, 10, 10, 0.62);
    }
}
/* === /v2026-06-04 best offers carousel arrows === */

/* === v2026-06-05 recommended projects inside best offers carousel === */
.best-month__card--project .best-month__card-kicker {
    position: absolute;
    left: clamp(14px, 1.3vw, 20px);
    top: clamp(14px, 1.3vw, 20px);
    z-index: 3;
    padding: 6px 10px;
    border: 1px solid rgba(255, 255, 255, 0.34);
    border-radius: 999px;
    background: rgba(10, 10, 10, 0.46);
    color: #fff;
    font-size: 0.62rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.best-month__card--project .best-month__card-title {
    max-width: calc(100% - 26px);
    line-height: 0.9;
}
/* === /v2026-06-05 recommended projects inside best offers carousel === */

/* === v2026-06-10 home search order + clean best offers arrows === */
@media (min-width: 961px) {
    .search-section__legacy .search-card__row {
        grid-template-columns: minmax(320px, 2.25fr) minmax(210px, 1.05fr) minmax(220px, 1.05fr) minmax(300px, 2fr) !important;
        align-items: end !important;
    }

    .search-section__legacy .search-group--location,
    .search-section__legacy .search-group--price {
        grid-column: auto !important;
    }
}

.best-month__viewport {
    touch-action: pan-x pan-y;
}

.best-month__arrows {
    padding: 0 clamp(2px, 0.8vw, 12px) !important;
}

.best-month__arrow {
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 0 4px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #ffffff !important;
    font-family: Arial, sans-serif !important;
    font-size: clamp(3.2rem, 4vw, 5.2rem) !important;
    font-weight: 200 !important;
    line-height: 1 !important;
    text-shadow: 0 6px 20px rgba(0, 0, 0, 0.72) !important;
    opacity: 0.95 !important;
}

.best-month__arrow:hover,
.best-month__arrow:focus-visible {
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
    transform: translateY(-1px) scale(1.03) !important;
    opacity: 1 !important;
}

.best-month__track,
.best-month__card,
.best-month__card img {
    -webkit-user-drag: none;
    user-select: none;
}

@media (max-width: 960px) {
    .search-section__legacy .search-card__row {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    }

    .search-section__legacy .search-group--location,
    .search-section__legacy .search-group--price {
        grid-column: 1 / -1 !important;
    }

    .best-month__arrows {
        padding: 0 2px !important;
    }

    .best-month__arrow {
        font-size: clamp(2.8rem, 10vw, 4.4rem) !important;
        text-shadow: 0 5px 18px rgba(0, 0, 0, 0.78) !important;
    }
}
/* === /v2026-06-10 home search order + clean best offers arrows === */


/* === v2026-06-11 home/project search layer hotfix === */
.search-section__legacy,
.search-card,
.home-location-search {
    position: relative;
}

.search-section__legacy {
    z-index: 90;
}

.best-month-section {
    position: relative;
    z-index: 1;
}

.home-location-search.is-open {
    z-index: 2200;
}

.home-location-search__panel {
    z-index: 2201 !important;
    background: #fff !important;
    color: #0a0a0a !important;
}

.home-location-search__list button {
    background: #fff !important;
}

.home-location-search__list button:hover,
.home-location-search__list button:focus-visible {
    background: #f7f6f3 !important;
}

/* === /v2026-06-11 home/project search layer hotfix === */

/* === v2026-06-11 menu above catalog/search overlays hotfix === */
.menu-overlay {
    z-index: 7000 !important;
}

.menu-overlay__panel {
    z-index: 7001 !important;
}
/* === /v2026-06-11 menu above catalog/search overlays hotfix === */

/* === v2026-06-11 home selected project grid under search === */
.home-projects-preview-section {
    margin-top: clamp(28px, 3.4vw, 54px) !important;
}

.home-projects-preview {
    padding: 0 !important;
    background: transparent !important;
}

.home-projects-preview__grid {
    align-items: stretch;
}

.home-project-card__badge {
    position: absolute;
    right: 20px;
    top: 20px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 18px;
    border-radius: 999px;
    background: rgba(10, 10, 10, 0.68);
    color: #fff;
    font-family: "Bebas Neue", Impact, sans-serif;
    font-size: 1.18rem;
    line-height: 1;
    letter-spacing: 0.045em;
    text-transform: uppercase;
    backdrop-filter: blur(6px);
}

.home-project-card__title span {
    display: block;
}

.home-project-card__params dd {
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.home-project-card__button:hover,
.home-project-card__button:focus-visible {
    background: #0a0a0a;
    border-color: #0a0a0a;
    color: #fff;
}

@media (max-width: 960px) {
    .home-projects-preview-section {
        margin-top: 24px !important;
    }
}
/* === /v2026-06-11 home selected project grid under search === */


/* === v2026-06-11 home projects are literal catalog grid cards === */
.home-projects-preview-section.projects-page {
    min-height: 0 !important;
    padding: clamp(24px, 2.2vw, 42px) 0 0 !important;
    background: transparent !important;
    color: inherit !important;
}

.home-projects-preview-section .container {
    width: min(88vw, 1680px);
}

.home-projects-preview-section .home-projects-preview {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.home-projects-preview-section .home-projects-preview__grid.projects-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
    align-items: stretch !important;
}

.home-projects-preview-section .project-card {
    width: 100% !important;
}

.home-projects-preview-section .project-card__content-views,
.home-projects-preview-section .project-card__mode-toggle {
    display: none !important;
}

@media (max-width: 1180px) {
    .home-projects-preview-section .home-projects-preview__grid.projects-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 640px) {
    .home-projects-preview-section.projects-page {
        padding-top: 18px !important;
    }

    .home-projects-preview-section .container {
        width: min(100% - 28px, 1680px);
    }

    .home-projects-preview-section .home-projects-preview__grid.projects-grid {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }
}
/* === /v2026-06-11 home projects are literal catalog grid cards === */

/* === v2026-06-11 home spacing corrections: search -> cards -> best offers === */
/* Desktop: the black catalog block and the search/form block need more air between them,
   but the selected 6 ЖК grid should start closer to the search form. */
@media (min-width: 961px) {
    main .search-section.catalog-section {
        padding-bottom: clamp(22px, 1.8vw, 36px) !important;
        border-top: 0 !important;
    }

    main .search-section__legacy {
        margin-top: clamp(96px, 7.2vw, 136px) !important;
    }

    main .home-projects-preview-section.projects-page {
        margin-top: 0 !important;
        padding-top: clamp(6px, 0.7vw, 14px) !important;
        border-top: 0 !important;
    }

    main .home-projects-preview-section.projects-page + .best-month-section {
        margin-top: clamp(72px, 5.4vw, 118px) !important;
    }
}

/* Remove the grey separator line before the new-builds/search block. */
main > section.search-section,
main .search-section.catalog-section,
main .home-projects-preview-section.projects-page,
main > section.best-month-section {
    border-top: 0 !important;
}

@media (max-width: 960px) {
    main .search-section.catalog-section {
        border-top: 0 !important;
    }

    main .home-projects-preview-section.projects-page {
        margin-top: 18px !important;
        padding-top: 0 !important;
        border-top: 0 !important;
    }

    main .home-projects-preview-section.projects-page + .best-month-section {
        margin-top: 54px !important;
    }
}
/* === /v2026-06-11 home spacing corrections === */


/* === v2026-06-11 lead context + mobile presentation success + desktop dividers === */
.catalog-download-modal.is-download-ready .catalog-download-form {
    display: none !important;
}

.catalog-download-modal.is-download-ready .catalog-download-success {
    display: grid !important;
}

.catalog-download-modal.is-download-without-file .catalog-download-success__back {
    margin-top: 0 !important;
}

@media (max-width: 960px) {
    .catalog-download-modal.is-project-presentation.is-download-ready .catalog-download-modal__copy,
    .catalog-download-modal.is-download-ready .catalog-download-modal__copy {
        display: flex !important;
        flex-direction: column !important;
    }

    .catalog-download-modal.is-project-presentation.is-download-ready .catalog-download-success,
    .catalog-download-modal.is-download-ready .catalog-download-success {
        order: 3 !important;
        width: 100% !important;
        max-width: none !important;
        margin: 18px 0 0 !important;
        padding: 24px 18px !important;
        box-sizing: border-box !important;
        border-radius: 18px !important;
        background: rgba(255, 255, 255, 0.06) !important;
    }

    .catalog-download-modal.is-project-presentation.is-download-ready .catalog-download-modal__visual {
        display: none !important;
    }

    .catalog-download-modal.is-project-presentation.is-download-ready .catalog-download-modal__dialog {
        max-height: calc(var(--modal-safe-height, 100vh) - 16px) !important;
        overflow: auto !important;
    }
}

@media (min-width: 961px) {
    body:not(.blog-page):not(.builder-page):not(.project-builder-page) main > section.search-section,
    body:not(.blog-page):not(.builder-page):not(.project-builder-page) main > section.why-stack-section,
    body:not(.blog-page):not(.builder-page):not(.project-builder-page) main > section.lead-request-section,
    body:not(.blog-page):not(.builder-page):not(.project-builder-page) main > section.founder-section,
    body:not(.blog-page):not(.builder-page):not(.project-builder-page) main > section.scenarios-section,
    body:not(.blog-page):not(.builder-page):not(.project-builder-page) main > section.blog-section,
    body:not(.blog-page):not(.builder-page):not(.project-builder-page) main > section.contacts-section {
        border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
    }

    body:not(.blog-page):not(.builder-page):not(.project-builder-page) main > section.home-projects-preview-section,
    body:not(.blog-page):not(.builder-page):not(.project-builder-page) main > section.best-month-section {
        border-top: 0 !important;
    }
}
/* === /v2026-06-11 lead context + mobile presentation success + desktop thin dividers === */

/* === v2026-06-11 desktop divider balance fix ===
   Keep thin grey lines, but center them inside the vertical gaps:
   - why -> expert/lead block;
   - founder/text block -> quick scenarios block;
   - scenarios -> blog already uses the same half-gap logic.
*/
@media (min-width: 961px) {
    body:not(.blog-page):not(.builder-page):not(.project-builder-page) main > section.why-stack-section {
        padding-bottom: 48px !important;
    }

    body:not(.blog-page):not(.builder-page):not(.project-builder-page) main > section.lead-request-section {
        padding-top: 48px !important;
        border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
    }

    body:not(.blog-page):not(.builder-page):not(.project-builder-page) main > section.founder-section {
        padding-bottom: 48px !important;
    }

    body:not(.blog-page):not(.builder-page):not(.project-builder-page) main > section.scenarios-section {
        padding-top: 48px !important;
        padding-bottom: 43px !important;
        border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
    }

    body:not(.blog-page):not(.builder-page):not(.project-builder-page) main > section.blog-section {
        padding-top: 43px !important;
        border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
    }
}
/* === /v2026-06-11 desktop divider balance fix === */

/* === v2026-06-11 desktop why -> expert gap: raise expert block a bit === */
@media (min-width: 961px) {
    body:not(.blog-page):not(.builder-page):not(.project-builder-page) main > section.lead-request-section {
        padding-top: 28px !important;
    }
}
/* === /v2026-06-11 desktop why -> expert gap === */

/* === v2026-06-11 final why/expert divider gap tuning ===
   Request: reduce bottom gap of "Почему RAIT REAL" by 2x,
   increase top gap of "Эксперт поможет" by 3x.
*/
@media (min-width: 961px) {
    body:not(.blog-page):not(.builder-page):not(.project-builder-page) main > section.why-stack-section {
        padding-bottom: 24px !important;
    }

    body:not(.blog-page):not(.builder-page):not(.project-builder-page) main > section.lead-request-section {
        padding-top: 84px !important;
    }
}
/* === /v2026-06-11 final why/expert divider gap tuning === */

/* === v33 founder benefit cards === */
@media (max-width: 980px) {
    .founder-benefits {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .founder-benefits {
        grid-template-columns: 1fr;
        gap: 8px;
        margin-bottom: 16px;
    }

    .founder-benefit {
        min-height: 0;
        flex-direction: row;
        align-items: flex-start;
        gap: 12px;
        padding: 12px 13px;
        border-radius: 18px;
    }

    .founder-benefit::after {
        width: 26px;
        height: 26px;
        right: 12px;
        bottom: 10px;
    }

    .founder-benefit__num {
        flex: 0 0 auto;
        width: 30px;
        height: 30px;
        font-size: 0.94rem;
    }

    .founder-benefit__body {
        gap: 3px;
        padding-top: 1px;
    }
}
/* === /v33 founder benefit cards === */


/* === v2026-06-11 home search dropdown circles like catalog === */
.home-location-search__list button {
    min-height: 54px !important;
    padding: 8px 62px 8px 28px !important;
    background: transparent !important;
    color: rgba(10, 10, 10, 0.76) !important;
    font-size: 18px !important;
    font-weight: 500 !important;
}

.home-location-search__list button:hover,
.home-location-search__list button:focus-visible {
    background: rgba(245, 239, 228, 0.78) !important;
}

.home-location-search__list button::after {
    right: 28px !important;
    width: 24px !important;
    height: 24px !important;
    border-color: rgba(10, 10, 10, 0.16) !important;
    background: transparent !important;
}

.home-location-search__list button.is-selected::after {
    border-color: #b07c33 !important;
    background: rgba(176, 124, 51, 0.08) !important;
}

.home-location-search__list button.is-selected::before {
    content: "" !important;
    position: absolute !important;
    right: 36px !important;
    top: 50% !important;
    z-index: 1 !important;
    width: 8px !important;
    height: 8px !important;
    border-radius: 999px !important;
    background: #b07c33 !important;
    color: transparent !important;
    transform: translateY(-50%) !important;
    pointer-events: none !important;
}
/* === /v2026-06-11 home search dropdown circles like catalog === */

/* === v2026-06-11 home search reset active tag === */
.home-search-active-tags .home-search-active-tags__reset {
    border-color: rgba(176, 124, 51, 0.42);
    background: rgba(176, 124, 51, 0.08);
    color: #8a5a1d;
    font-weight: 600;
}

.home-search-active-tags .home-search-active-tags__reset:hover,
.home-search-active-tags .home-search-active-tags__reset:focus-visible {
    border-color: rgba(176, 124, 51, 0.72);
    background: rgba(176, 124, 51, 0.14);
    color: #6f4514;
    outline: none;
}
/* === /v2026-06-11 home search reset active tag === */
