@import url('./fonts.css');

/* ------------------------------------------------------------------ *
 *  Expert Realty — tokens
 * ------------------------------------------------------------------ */
:root {
    /* Palette по бренд-гайду Samoletova Estate. */
    --er-bg:        #F7EFE8;
    --er-bg-light:  #FBF7F3;
    --er-bg-muted:  #F0E4D8;
    --er-bg-dark:   #081C39;
    --er-fg:        #081C39;
    --er-fg-muted:  #5b6a86;
    --er-fg-inv:    #FFFFFF;
    --er-border:    rgba(205,145,56,0.46);
    --er-border-navy: rgba(8,28,57,0.36);
    --er-accent:    #CD9138;
    --er-accent-hi: #DFB36F;
    --er-accent-lo: #B97821;
    --er-navy-dark: #081C39;
    --er-overlay:   rgba(8,28,57,0.28);

    /* Spacing scale (по ТЗ). */
    --er-space-1: 4px;
    --er-space-2: 8px;
    --er-space-3: 12px;
    --er-space-4: 16px;
    --er-space-5: 20px;
    --er-space-6: 24px;
    --er-space-8: 32px;
    --er-radius-sm: 8px;
    --er-radius-md: 14px;
    --er-radius-lg: 22px;
    --er-shadow-sm: 0 1px 2px rgba(0,0,0,.04), 0 2px 8px rgba(0,0,0,.04);
    --er-shadow-md: 0 4px 14px rgba(0,0,0,.06), 0 12px 32px rgba(0,0,0,.06);
    --er-container: 1440px;
    --er-gutter:    clamp(16px, 3vw, 48px);
    --er-section-gap: clamp(48px, 8vw, 112px);
    --er-content-scale: 1;

    --er-font-body: "Manrope", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --er-font-head: "Cormorant Garamond", Georgia, "Times New Roman", serif;
    --er-font-size: 17px;
    --er-lh:        1.55;

    /* Weight-шкала: сохраняем малое число начертаний. */
    --er-fw-regular: 400;
    --er-fw-medium:  500;
    --er-fw-semi:    600;
    --er-fw-bold:    700;
    --er-fw-head:    500;   /* Cormorant заголовки — не тяжелее 500-600 */

    --er-header-h:  77px;
    --er-transition: 220ms cubic-bezier(.2,.7,.2,1);
}

/* Ноутбуки — визуально «отдаляем» контент: уже контейнер + больше воздуха по бокам */
@media (min-width: 1200px) and (max-width: 1599px) {
    :root {
        --er-container: 1240px;
        --er-gutter: clamp(56px, 5vw, 120px);
    }
}
/* ПК (Full HD и промежуточные) — контент шире, воздух меньше */
@media (min-width: 1600px) and (max-width: 1919px) {
    :root {
        --er-container: 1540px;
        --er-gutter: clamp(40px, 2.5vw, 60px);
    }
}
/* Большие ПК (1920+) — расширяем контент, режем пустоту по бокам */
@media (min-width: 1920px) {
    :root {
        --er-container: 1720px;
        --er-gutter: clamp(40px, 3vw, 80px);
    }
}
/* 27"/2560 — расширяем контейнер, режем гутер и cap-им «vw»-скейл заголовков и секций */
@media (min-width: 2200px) {
    :root {
        --er-container: 1720px;
        --er-gutter: 80px;
        --er-section-gap: 96px;
    }
}
/* 32"/4K — не даём разъезжаться дальше */
@media (min-width: 2800px) {
    :root {
        --er-container: 1840px;
        --er-gutter: 120px;
    }
}

/* Здесь ранее был блок media для hero-типографики — перенесён вниз после базовых
   .er-hero__title/.er-hero__subtitle (иначе каскад проигрывал по порядку). */

/* ------------------------------------------------------------------ *
 *  Reset lite
 * ------------------------------------------------------------------ */
*, *::before, *::after { box-sizing: border-box; }
.about-page h1, .about-page h2, .about-page h3, .about-page p, .about-page li {
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
}
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-behavior: smooth; overflow-x: clip; }
body {
    margin: 0;
    font-family: var(--er-font-body);
    font-size: var(--er-font-size);
    line-height: var(--er-lh);
    color: var(--er-fg);
    background:
        radial-gradient(circle at 80% 12%, rgba(255,255,255,.35), transparent 42%),
        linear-gradient(135deg, #F8F0E9 0%, #F3E8DE 100%);
    background-attachment: fixed;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
}
body.menu-open { overflow: hidden; }
img, video, svg { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; transition: color var(--er-transition); }
a:hover { color: var(--er-accent-lo); }
button { font: inherit; cursor: pointer; }
h1,h2,h3,h4 { font-family: var(--er-font-head); font-weight: var(--er-fw-head); margin: 0 0 .5em; line-height: 1.15; letter-spacing: -0.01em; }
p { margin: 0 0 1em; }

.visually-hidden {
    position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
.er-skip {
    position: absolute; left: -9999px; top: 8px; z-index: 100;
    background: var(--er-fg); color: var(--er-fg-inv); padding: 10px 16px; border-radius: 8px;
}
.er-skip:focus { left: 8px; }

/* ------------------------------------------------------------------ *
 *  Layout
 * ------------------------------------------------------------------ */
.er-container {
    width: min(100% - var(--er-gutter) * 2, var(--er-container));
    margin-inline: auto;
    padding-inline: 0;
}
.er-narrow    { max-width: 820px; }
.er-section   { padding-block: clamp(48px, 8vw, 96px); }
/* Карточка объекта — подтягиваем контент ближе к шапке (breadcrumbs идут сразу под nav). */
.er-section--property { padding-top: clamp(20px, 3vw, 40px); }
.er-section--muted { background: var(--er-bg-muted); }
.er-section--dark  { background: var(--er-bg-dark); color: var(--er-fg-inv); }
.er-section--dark a { color: var(--er-accent-hi); }
.er-section__head  { text-align: center; max-width: 720px; margin-inline: auto; margin-bottom: clamp(24px, 4vw, 48px); }
.er-section__foot  { text-align: center; margin-top: clamp(24px, 4vw, 48px); display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.er-section__lead  { color: var(--er-fg-muted); font-size: 1.05em; }
.er-eyebrow { text-transform: uppercase; letter-spacing: .12em; font-size: .78rem; color: var(--er-accent-lo); font-weight: 600; margin: 0 0 12px; }

.er-h1 { font-size: clamp(2rem, 4.2vw, 3.4rem); }
.er-h2 { font-size: clamp(1.6rem, 3vw, 2.4rem); }

.er-two-col { display: grid; gap: clamp(24px, 4vw, 48px); grid-template-columns: 1fr; align-items: center; }
@media (min-width: 900px) { .er-two-col { grid-template-columns: 1fr 1fr; } }

/* ------------------------------------------------------------------ *
 *  Header — Samoletova Estate
 * ------------------------------------------------------------------ */
.er-header {
    position: relative;
    width: 100%;
    height: var(--er-header-h);
    z-index: 20;
    background: transparent;
}
.er-header__inner {
    width: min(100% - var(--er-gutter) * 2, var(--er-container));
    height: 100%;
    margin: 0 auto;
    padding-inline: 0;
    display: flex;
    align-items: center;
    gap: clamp(24px, 4vw, 94px);
}

/* --- Logo --- */
.er-logo {
    flex: 0 0 auto;
    display: inline-flex; align-items: center;
    height: 48px;
    color: var(--er-accent);
    transition: opacity 180ms ease, transform 180ms ease;
}
.er-logo:hover  { opacity: .84; }
.er-logo:active { transform: translateY(1px); }
.er-logo:focus-visible {
    outline: 2px solid var(--er-accent);
    outline-offset: 5px; border-radius: 2px;
}
.er-logo svg,
.er-logo img,
.er-logo__img,
.er-logo__svg {
    display: block;
    height: 100%;
    width: auto;
    max-width: 260px;
    object-fit: contain;
}
.er-logo--footer { height: 56px; }

/* --- Primary nav --- */
.er-nav {
    display: flex; align-items: center;
    flex: 1; min-width: 0;
    justify-content: flex-end;
}
.er-menu {
    list-style: none; margin: 0; padding: 0;
    display: flex; flex-wrap: nowrap;
    gap: clamp(20px, 2vw, 31px);
    white-space: nowrap;
}
.er-menu li { flex: 0 0 auto; }
.er-menu a {
    position: relative;
    display: inline-flex; align-items: center;
    min-height: 40px;
    font-family: var(--er-font-body);
    font-size: clamp(11px, .82vw, 12px);
    line-height: 1.2;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--er-fg);
    white-space: nowrap;
    transition: color 180ms ease, opacity 180ms ease;
}
.er-menu a:hover  { color: var(--er-accent); }
.er-menu a:active { opacity: .65; }
.er-menu a::after {
    content: ""; position: absolute; left: 0; right: 0; bottom: 5px;
    height: 1px; background: var(--er-accent);
    transform: scaleX(0); transform-origin: center;
    transition: transform 180ms ease;
}
.er-menu a:hover::after,
.er-menu .current-menu-item > a::after { transform: scaleX(1); }
.er-menu a:focus-visible {
    outline: 2px solid var(--er-accent);
    outline-offset: 4px; border-radius: 2px;
}

/* --- Burger button (visible always, opens side panel) --- */
.er-header__actions { flex: 0 0 auto; display: flex; align-items: center; }
.er-burger {
    width: 44px; height: 44px; margin-left: 18px; margin-right: -12px;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 5px;
    padding: 0; border: 0; background: transparent; cursor: pointer;
}
.er-burger span {
    display: block; width: 19px; height: 1px;
    background-color: var(--er-fg);
    border-radius: 999px;
    transition: transform 220ms ease, opacity 180ms ease, width 180ms ease, background-color 180ms ease;
}
.er-burger:hover span { background-color: var(--er-accent); }
.er-burger:hover span:nth-child(2) { width: 14px; }
.er-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.er-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.er-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
.er-burger:focus-visible {
    outline: 2px solid var(--er-accent);
    outline-offset: 1px; border-radius: 4px;
}

/* --- Sliding side panel --- */
.er-panel {
    position: fixed; top: 0; right: 0; bottom: 0;
    width: min(440px, 100%);
    padding: 100px 48px 40px;
    background: var(--er-bg);
    z-index: 90;
    transform: translateX(100%);
    transition: transform 320ms cubic-bezier(.22, 1, .36, 1);
    overflow-y: auto;
    display: flex; flex-direction: column; gap: 32px;
    box-shadow: none;
}
.er-panel.is-open { transform: translateX(0); box-shadow: -20px 0 60px rgba(8,28,57,.08); }
.er-panel__close {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 1px solid var(--er-border);
    border-radius: 50%;
    background: transparent;
    color: var(--er-fg);
    cursor: pointer;
    transition: background var(--er-transition), color var(--er-transition), border-color var(--er-transition);
    z-index: 2;
}
.er-panel__close svg { width: 20px; height: 20px; }
.er-panel__close:hover { background: var(--er-accent); color: #fff; border-color: var(--er-accent); }
.er-panel__nav { display: flex; flex-direction: column; }
.er-panel__nav a {
    display: block; padding: 17px 0;
    border-bottom: 1px solid var(--er-border);
    font-family: var(--er-font-body); font-size: 18px; line-height: 1.35;
    font-weight: 500; text-transform: uppercase; letter-spacing: .06em;
    color: var(--er-fg); text-decoration: none;
    transition: color 180ms ease;
}
.er-panel__nav a:hover { color: var(--er-accent); }
.er-panel__meta {
    margin-top: auto; display: flex; flex-direction: column; gap: 8px;
    font-size: .88rem; color: var(--er-fg-muted);
}
.er-panel__meta a { color: var(--er-fg); }
.er-panel__meta a:hover { color: var(--er-accent); }

/* --- Backdrop overlay --- */
.er-overlay {
    position: fixed; inset: 0; z-index: 80;
    background: var(--er-overlay); backdrop-filter: blur(3px);
    opacity: 0; visibility: hidden;
    transition: opacity 250ms ease, visibility 250ms ease;
}
.er-overlay.is-visible { opacity: 1; visibility: visible; }

/* --- Responsive: hide desktop menu ≤ 1199px per ТЗ --- */
@media (min-width: 1200px) {
    .er-burger { display: none; }
    .er-header__actions { display: none; }
}
@media (max-width: 1199px) {
    .er-nav { display: none; }
    .er-header__actions { margin-left: auto; }
}
@media (max-width: 1023px) {
    :root { --er-header-h: 72px; }
    .er-header__inner { width: 100%; padding-inline: 24px; }
    .er-logo { width: 150px; height: auto; }
}
@media (max-width: 767px) {
    :root { --er-header-h: 66px; }
    .er-header__inner { padding-inline: 18px; }
    .er-logo { width: 136px; }
    .er-burger { width: 42px; height: 42px; margin-right: -10px; }
    .er-panel { padding: 90px 24px 32px; }
}
@media (max-width: 479px) {
    :root { --er-header-h: 62px; }
    .er-header__inner { padding-inline: 14px; }
    .er-logo { width: 124px; }
    .er-burger span { width: 18px; }
}

/* --- prefers-reduced-motion --- */
@media (prefers-reduced-motion: reduce) {
    .er-header *, .er-panel, .er-overlay, .er-burger span {
        animation: none !important;
        transition-duration: .01ms !important;
    }
}

/* ------------------------------------------------------------------ *
 *  Buttons
 * ------------------------------------------------------------------ */
.er-btn {
    display: inline-flex; align-items: center; justify-content: center;
    gap: 8px; padding: 12px 22px; border-radius: 999px; border: 1px solid transparent;
    font-weight: 600; font-size: .95rem;
    transition: transform var(--er-transition), background var(--er-transition), color var(--er-transition), border-color var(--er-transition);
    cursor: pointer;
}
.er-btn:active { transform: translateY(1px); }
.er-btn--lg     { padding: 14px 26px; font-size: 1rem; }
.er-btn--wide   { width: 100%; }
.er-btn--primary { background: var(--er-accent); color: var(--er-fg-inv); }
.er-btn--primary:hover { background: var(--er-accent-lo); color: var(--er-fg-inv); }
.er-btn--ghost   { background: transparent; color: var(--er-fg); border-color: var(--er-border); }
.er-btn--ghost:hover { background: var(--er-fg); color: var(--er-fg-inv); border-color: var(--er-fg); }
.er-section--dark .er-btn--ghost { color: var(--er-fg-inv); border-color: rgba(255,255,255,.24); }
.er-section--dark .er-btn--ghost:hover { background: var(--er-fg-inv); color: var(--er-fg); }

/* ------------------------------------------------------------------ *
 *  Hero — Samoletova Estate (по ТЗ)
 * ------------------------------------------------------------------ */
.er-hero {
    position: relative;
    isolation: isolate;
    box-sizing: border-box;
    min-height: min(calc(100svh - var(--er-header-h)), 900px);
    padding: clamp(16px, 2vw, 32px) 0 clamp(12px, 1.5vw, 24px);
    /* Плавное появление при загрузке страницы. */
    animation: er-hero-fade 800ms cubic-bezier(.2, .7, .2, 1) both;
}
@keyframes er-hero-fade {
    from { opacity: 0; transform: translateY(16px); }
    to   { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
    .er-hero { animation: none; }
}
.er-hero__container {
    position: relative; z-index: 2;
    width: min(100% - var(--er-gutter) * 2, var(--er-container));
    box-sizing: border-box;
    margin-inline: auto;
}
.er-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: clamp(24px, 3vw, 48px);
    row-gap: clamp(24px, 3vw, 40px);
    align-items: start;
}
.er-hero__content { min-width: 0; max-width: 640px; position: relative; isolation: isolate; }
.er-hero__content > * { position: relative; z-index: 1; }
.er-hero__media   { min-width: 0; max-width: 760px; }

/* --- Заголовок --- */
.er-hero__title {
    margin: 0;
    font-family: "Prata", "Cormorant Garamond", Georgia, "Times New Roman", serif;
    font-size: clamp(36px, 4vw + 0.5rem, 84px);
    line-height: 0.95;
    font-weight: 400;
    letter-spacing: -0.02em;
    color: var(--er-fg);
    overflow-wrap: break-word;
}
.er-hero__subtitle {
    margin: clamp(14px, 1.4vw, 22px) 0 0;
    font-family: var(--er-font-body);
    font-size: clamp(13px, 1vw + 0.25rem, 20px);
    line-height: 1.3;
    font-weight: 500;
    letter-spacing: -0.02em;
    text-transform: uppercase;
    color: var(--er-accent);
}

/* Приглушаем hero-типографику на больших экранах — визуально «отдаляем».
   Идёт ПОСЛЕ базовых правил чтобы выигрывать по каскаду. */
@media (min-width: 1400px) {
    .er-hero__title    { font-size: clamp(46px, 2.8vw, 60px); }
    .er-hero__subtitle { font-size: clamp(12px, .72vw, 15px); }
}
@media (min-width: 1920px) {
    .er-hero__title    { font-size: 56px; }
    .er-hero__subtitle { font-size: 15px; }
}
@media (min-width: 2200px) {
    .er-hero__title    { font-size: 60px; }
    .er-hero__subtitle { font-size: 15px; }
}
@media (min-width: 2800px) {
    .er-hero__title    { font-size: 64px; }
    .er-hero__subtitle { font-size: 16px; }
}

/* --- Локация --- */
.er-hero__location {
    display: flex; align-items: center; gap: 10px;
    margin-top: clamp(12px, 1.2vw, 18px);
    min-height: 26px;
}
.er-hero__location svg { width: 18px; height: 18px; color: var(--er-accent); flex-shrink: 0; }
.er-hero__location span { font-size: 15px; line-height: 1.4; font-weight: 500; color: var(--er-fg); }

/* --- Категории --- */
.er-hero__categories {
    display: flex; align-items: center; flex-wrap: wrap;
    gap: 8px 14px;
    margin-top: clamp(10px, 1vw, 16px);
    font-size: clamp(11px, .8vw + .2rem, 14px);
    line-height: 1.4; font-weight: 500;
    text-transform: uppercase; color: var(--er-fg);
}
.er-hero__categories i {
    width: 4px; height: 4px; flex: 0 0 auto;
    border-radius: 50%; background: var(--er-accent);
}

/* --- Divider --- */
.er-hero__divider {
    width: 32px; height: 1px;
    margin-top: clamp(12px, 1.2vw, 18px);
    background: var(--er-accent);
}

/* --- Описание --- */
.er-hero__desc {
    max-width: 560px;
    margin: clamp(14px, 1.4vw, 22px) 0 0;
    font-family: var(--er-font-body);
    font-size: clamp(14px, .95vw + .25rem, 18px);
    line-height: 1.45; font-weight: 600;
    color: var(--er-fg);
}

/* --- Преимущества --- */
.er-hero__advantages {
    max-width: 560px;
    margin: clamp(14px, 1.4vw, 22px) 0 0; padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 4px;
}
.er-adv {
    display: grid;
    grid-template-columns: 40px 1fr;
    align-items: center;
    column-gap: 12px;
    min-height: 44px;
    min-width: 0;
}
.er-adv:not(:last-child) .er-adv__text {
    border-bottom: 1px solid rgba(205,145,56,.5);
}
.er-adv__icon {
    display: grid; place-items: center;
    width: 40px; height: 40px;
    color: var(--er-accent);
}
.er-adv__icon svg { width: 28px; height: 28px; stroke: currentColor; fill: none; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.er-adv__icon picture,
.er-adv__icon img {
    display: block;
    width: 100%; height: 100%;
    max-width: 30px; max-height: 30px;
    object-fit: contain; object-position: center;
}
.er-adv__text {
    display: flex; align-items: center;
    min-height: 44px; margin: 0; padding-block: 6px;
    font-size: clamp(12px, .75vw + .3rem, 14px);
    line-height: 1.35; font-weight: 500; color: var(--er-fg);
    overflow-wrap: break-word;
}

/* --- CTA-кнопки --- */
.er-hero__actions {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(0, .82fr);
    gap: 16px;
    max-width: 560px;
    margin-top: clamp(18px, 1.6vw, 26px);
}
.er-hero__btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 12px;
    min-height: 48px; padding: 0 22px;
    font-family: var(--er-font-body);
    font-size: clamp(13px, .7vw + .3rem, 14px);
    line-height: 1.15;
    font-weight: 600; letter-spacing: .04em; text-transform: uppercase;
    border-radius: 7px; text-decoration: none; cursor: pointer;
    transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease, border-color 180ms ease;
    text-align: center;
}
.er-hero__btn:active { transform: translateY(1px); }
.er-hero__btn:focus-visible { outline: 2px solid var(--er-fg); outline-offset: 3px; }
.er-hero__btn--primary {
    border: 1px solid var(--er-accent);
    background: linear-gradient(135deg, #D8A450 0%, #BD7C25 100%);
    box-shadow: 0 10px 20px rgba(174,111,27,.16), inset 0 1px 0 rgba(255,255,255,.24);
    color: #fff;
}
.er-hero__btn--primary:hover {
    transform: translateY(-1px);
    box-shadow: 0 13px 24px rgba(174,111,27,.23), inset 0 1px 0 rgba(255,255,255,.24);
}
.er-hero__btn--ghost {
    border: 1px solid rgba(8,28,57,.58);
    background: rgba(255,255,255,.18);
    color: var(--er-fg);
    font-weight: 600;
}
.er-hero__btn--ghost:hover { background: rgba(255,255,255,.42); }
.er-hero__btn--ghost svg { width: 24px; height: 24px; }

/* --- Соцсети --- */
.er-hero__socials {
    display: flex; align-items: center; flex-wrap: wrap;
    gap: clamp(16px, 2vw, 36px);
    margin-top: clamp(18px, 1.8vw, 28px);
    list-style: none; padding: 0;
}
.er-social {
    display: inline-flex; align-items: center; gap: 10px;
    min-height: 36px;
    font-size: 14px; line-height: 1; font-weight: 500;
    color: #111; text-decoration: none;
    transition: opacity 180ms ease;
}
.er-social:hover { opacity: .72; }
.er-social svg { flex-shrink: 0; }

/* --- Media column (video + podcast card) --- */
.er-hero__video {
    position: relative;
    width: 100%;
    aspect-ratio: 760 / 540;
    overflow: hidden;
    border-radius: 18px 18px 0 0;
    background: linear-gradient(160deg, #1a2a4a 0%, #081C39 100%);
}
.er-hero__video picture,
.er-hero__video img.er-hero__video-img {
    display: block; width: 100%; height: 100%;
    object-fit: cover; object-position: center;
}
/* Мягкое затемнение, чтобы play-кнопка гарантированно читалась
   поверх любой фотографии, но общий кадр оставался живым. */
.er-hero__video::after {
    content: "";
    position: absolute; inset: 0;
    background: radial-gradient(circle at 53% 50%, rgba(0,0,0,.45) 0%, rgba(0,0,0,.15) 40%, rgba(0,0,0,.30) 100%);
    pointer-events: none;
    z-index: 1;
}
.er-hero__play {
    position: absolute; left: 53%; top: 50%;
    transform: translate(-50%, -50%);
    display: grid; place-items: center;
    width: clamp(68px, 8vw, 112px);
    aspect-ratio: 1;
    padding: 0;
    border: 3px solid var(--er-accent);
    border-radius: 50%;
    background: rgba(8,28,57,.22);
    cursor: pointer;
    transition: transform 220ms ease, background 220ms ease;
    z-index: 2;
}
.er-hero__play:hover {
    background: rgba(8,28,57,.42);
    transform: translate(-50%, -50%) scale(1.04);
}
.er-hero__play svg { width: clamp(27px, 3vw, 42px); height: auto; margin-left: 6px; color: var(--er-accent-hi); }

/* --- Podcast card --- */
.er-podcast-card {
    display: grid;
    grid-template-columns: 64px 1fr;
    column-gap: 18px;
    min-height: 200px;
    padding: clamp(20px, 2vw, 34px) clamp(20px, 2.4vw, 42px) clamp(16px, 1.6vw, 26px);
    border: 1px solid var(--er-border);
    border-top: 0;
    border-radius: 0 0 18px 18px;
    background: rgba(255,255,255,.24);
}
.er-podcast-card__icon {
    display: flex; flex-direction: column; align-items: center;
    color: var(--er-accent);
}
.er-podcast-card__icon svg { width: 38px; height: 38px; }
.er-podcast-card__icon picture,
.er-podcast-card__icon img {
    display: block;
    width: auto; height: 80px;
    max-width: 44px;
    object-fit: contain; object-position: center;
}
.er-podcast-card__icon::after {
    content: ""; display: block; width: 28px; height: 1px;
    margin-top: 12px; background: var(--er-accent);
}
.er-podcast-card__eyebrow {
    margin: 0;
    font-family: var(--er-font-body);
    font-size: clamp(11px, .95vw, 15px);
    line-height: 1.3; font-weight: 500;
    text-transform: uppercase; letter-spacing: .06em;
    color: var(--er-fg);
}
.er-podcast-card__title {
    max-width: 570px;
    margin: 10px 0 0;
    font-family: var(--er-font-head);
    font-size: clamp(16px, 1.5vw, 22px);
    line-height: 1.15; font-weight: 500; letter-spacing: -0.01em;
    color: var(--er-fg);
}
.er-podcast-card__link {
    display: inline-flex; align-items: center; gap: 18px;
    margin-top: clamp(14px, 1.6vw, 26px); padding-bottom: 5px;
    border-bottom: 1px solid var(--er-fg);
    font-family: var(--er-font-body); font-size: 13px; line-height: 1;
    font-weight: 500; letter-spacing: .04em; text-transform: uppercase;
    color: var(--er-fg); text-decoration: none;
    transition: color 180ms ease, border-color 180ms ease;
}
.er-podcast-card__link:hover { color: var(--er-accent); border-color: var(--er-accent); }
.er-podcast-card__link svg { width: 22px; height: 10px; }

/* --- Moscow panorama — inline в левой колонке hero под соц-иконками.
   Ширина = 100% колонки, высота считается по aspect (1370:229 ≈ 6:1).
   pointer-events: none — декор не ловит клики. --- */
.er-hero__moscow {
    display: block;
    width: 100%;
    margin: clamp(14px, 2vh, 24px) 0 0;
    padding: 0;
    line-height: 0;
    pointer-events: none;
}
.er-hero__moscow picture {
    display: block;
    width: 100%;
    line-height: 0;
}
.er-hero__moscow img {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
    object-fit: contain;
    object-position: left center;
}

/* --- Планшет альбомный / небольшой ноутбук --- */
@media (max-width: 1024px) {
    .er-hero__grid {
        grid-template-columns: 1fr;
        row-gap: clamp(24px, 4vw, 40px);
    }
    .er-hero__content,
    .er-hero__media { max-width: none; width: 100%; }
    .er-hero__advantages { max-width: none; }
    .er-hero__actions { max-width: none; }
    /* Панорама в колонке — просто адаптивно по ширине родителя, без переопределений */
}

/* --- Планшет / мобильный: перестройка actions --- */
@media (max-width: 640px) {
    .er-hero__actions {
        display: flex;
        flex-direction: column;
        gap: 12px;
    }
    .er-hero__btn { width: 100%; min-height: 52px; }
    .er-hero__socials {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(64px, 1fr));
        gap: 12px;
        justify-items: center;
        width: 100%;
    }
    .er-hero__socials li { width: 100%; display: flex; justify-content: center; }
    .er-social {
        display: inline-flex;
        flex-direction: column;
        align-items: center;
        gap: 6px;
        font-size: 11px;
        text-align: center;
    }
    .er-hero__video { aspect-ratio: 16/9; border-radius: 10px 10px 0 0; }
    .er-podcast-card {
        grid-template-columns: 42px 1fr;
        column-gap: 12px;
        min-height: 120px;
        padding: 16px;
        border-radius: 0 0 10px 10px;
    }
    .er-podcast-card__icon svg { width: 28px; height: 28px; }
    .er-podcast-card__icon img { height: 44px; max-width: 28px; }
    .er-podcast-card__title { font-size: clamp(18px, 4vw, 22px); line-height: 1.1; }
}

/* --- Узкие мобильные (< 400px) --- */
@media (max-width: 390px) {
    .er-hero__advantages { grid-template-columns: 1fr; }
    .er-adv { grid-template-columns: 40px 1fr; column-gap: 12px; }
}

/* --- Компактный режим для невысоких ноутбуков (768-820px height) — сжимаем hero чтобы влез в 1 экран --- */
@media (min-width: 1024px) and (max-height: 820px) {
    .er-hero { padding: clamp(12px, 2vh, 24px) 0 clamp(16px, 2vh, 32px); }
    .er-hero__title { font-size: clamp(32px, 3vw + .3rem, 60px); line-height: 0.92; }
    .er-hero__subtitle { margin-top: clamp(8px, 1.2vh, 14px); font-size: clamp(12px, .85vw + .2rem, 16px); }
    .er-hero__location { margin-top: clamp(6px, 1vh, 12px); }
    .er-hero__categories { margin-top: clamp(6px, .8vh, 10px); }
    .er-hero__divider { margin-top: clamp(6px, .8vh, 12px); }
    .er-hero__desc { margin-top: clamp(8px, 1.2vh, 14px); font-size: clamp(13px, .85vw + .2rem, 16px); line-height: 1.35; }
    .er-hero__advantages { margin-top: clamp(8px, 1.2vh, 14px); row-gap: 0; }
    .er-adv { min-height: 34px; }
    .er-adv__text { min-height: 34px; padding-block: 4px; }
    .er-hero__actions { margin-top: clamp(10px, 1.4vh, 18px); }
    .er-hero__btn { min-height: 42px; }
    .er-hero__socials { margin-top: clamp(10px, 1.4vh, 18px); }
    .er-hero__moscow { margin-top: clamp(10px, 1.4vh, 18px); }
}

/* ------------------------------------------------------------------ *
 *  Portrait placeholder / USP list
 * ------------------------------------------------------------------ */
.er-portrait { aspect-ratio: 4/5; border-radius: var(--er-radius-lg); overflow: hidden; position: relative;
    background: linear-gradient(160deg, #efeae0, #d8cdb3); box-shadow: var(--er-shadow-sm); }
.er-portrait__frame { position: absolute; inset: 16px; border: 1px solid rgba(0,0,0,.08); border-radius: calc(var(--er-radius-lg) - 6px); }

.er-usp { list-style: none; margin: 0 0 24px; padding: 0; display: grid; gap: 10px; }
.er-usp li { padding-left: 26px; position: relative; }
.er-usp li::before {
    content: ""; position: absolute; left: 0; top: 10px; width: 14px; height: 2px; background: var(--er-accent);
}

/* ------------------------------------------------------------------ *
 *  Chips
 * ------------------------------------------------------------------ */
.er-chip-row {
    display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; margin-bottom: 32px;
}
.er-chip {
    padding: 10px 18px; border-radius: 999px; border: 1px solid var(--er-border);
    background: var(--er-bg); font-size: .9rem; color: var(--er-fg);
    transition: background var(--er-transition), color var(--er-transition), border-color var(--er-transition);
}
.er-chip:hover { background: var(--er-fg); color: var(--er-fg-inv); border-color: var(--er-fg); }

/* ------------------------------------------------------------------ *
 *  Cards
 * ------------------------------------------------------------------ */
/* Cards grid — плавный адаптив без ступенек через auto-fill.
   Для --3 (объекты/похожие) минимум-ширина ~ 300px мобилка → 320-340 планшет → 360+ десктоп. */
.er-cards { display: grid; gap: clamp(16px, 2.5vw, 28px); grid-template-columns: 1fr; align-items: stretch; }
@media (min-width: 520px)  { .er-cards--3 { grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); } }
@media (min-width: 1000px) { .er-cards--3 { grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); } }
@media (min-width: 1280px) { .er-cards--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

.er-card {
    background: var(--er-bg); border: 1px solid var(--er-border); border-radius: var(--er-radius-md);
    overflow: hidden;
    display: flex; flex-direction: column;   /* equal-height + sticky-bottom price */
    height: 100%; min-width: 0;
    transition: transform var(--er-transition), box-shadow var(--er-transition), border-color var(--er-transition);
}
.er-card:hover { transform: translateY(-2px); box-shadow: var(--er-shadow-md); border-color: color-mix(in srgb, var(--er-accent) 40%, var(--er-border)); }
.er-card__link {
    display: flex; flex-direction: column;
    flex: 1 1 auto; min-height: 0;
    color: inherit;
}
.er-card__media { aspect-ratio: 16/10; background: var(--er-bg-muted); overflow: hidden; flex: 0 0 auto; }
.er-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 500ms ease; }
.er-card:hover .er-card__media img { transform: scale(1.035); }
.er-card__media--placeholder { background: linear-gradient(135deg, #efeae0, #cfc4a8); }

.er-card__body {
    padding: clamp(18px, 2vw, 22px);
    display: flex; flex-direction: column;
    gap: 8px;
    flex: 1 1 auto; min-width: 0;
}
.er-card__meta { color: var(--er-fg-muted); font-size: .74rem; margin: 0; text-transform: uppercase; letter-spacing: .1em; font-weight: 600; }
.er-card__title {
    font-size: clamp(1.1rem, 1.6vw, 1.25rem);
    line-height: 1.25;
    margin: 0;
    color: var(--er-fg);
    /* clamp 2 lines чтобы карточки были одной высоты в шапке */
    display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical;
    overflow: hidden; text-overflow: ellipsis;
    overflow-wrap: anywhere;
}
.er-card__excerpt, .er-card__addr {
    color: var(--er-fg-muted); font-size: .92rem; line-height: 1.45;
    margin: 0;
    display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical;
    overflow: hidden; overflow-wrap: anywhere;
}
.er-card__specs {
    list-style: none; margin: 4px 0 0; padding: 0;
    display: flex; flex-wrap: wrap; gap: 6px 10px;
    color: var(--er-fg-muted); font-size: .85rem;
}
.er-card__specs li {
    display: inline-flex; align-items: center;
    padding: 4px 10px;
    background: var(--er-bg-muted);
    border-radius: 999px;
    line-height: 1.1;
    white-space: nowrap;
}
.er-card__price-wrap {
    margin-top: auto;                 /* прижимает цену к низу */
    padding-top: 14px;
    border-top: 1px solid var(--er-border);
    display: flex; align-items: baseline; justify-content: space-between; gap: 8px;
}
.er-card__price {
    font-family: var(--er-font-head);
    font-size: clamp(1.15rem, 2vw, 1.35rem);
    font-weight: 500;
    margin: 0;
    color: var(--er-fg);
    line-height: 1.1;
    letter-spacing: -.01em;
    white-space: nowrap;
}
.er-card__price small { font-size: .68em; color: var(--er-fg-muted); font-weight: 400; }
.er-card__ppsm { color: var(--er-fg-muted); font-size: .78rem; white-space: nowrap; }

.er-card--review { background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.08); }
.er-section--dark .er-card--review { color: var(--er-fg-inv); }
.er-card__quote { font-family: var(--er-font-head); font-size: 1.15rem; line-height: 1.5; margin: 0 0 16px; }
.er-card__more  { display: inline-block; margin-top: 8px; font-weight: 600; }

.er-card--specs dl { display: grid; grid-template-columns: 1fr auto; gap: 8px 16px; margin: 0; }
.er-card--specs dt { color: var(--er-fg-muted); }
.er-card--specs dd { margin: 0; font-weight: 600; }
.er-card--cta { padding: 20px; background: var(--er-bg-muted); border-radius: var(--er-radius-md); border: 1px solid var(--er-border); margin-top: 16px; }
.er-card--cta h3 { margin-top: 0; }

/* ------------------------------------------------------------------ *
 *  Property page (single) — mobile-first
 * ------------------------------------------------------------------ */
.er-property { display: grid; gap: clamp(20px, 3vw, 40px); }

/* Крошки внутри property не рвут layout */
.er-property .er-breadcrumbs {
    overflow-wrap: anywhere;
    word-break: break-word;
    font-size: clamp(.78rem, 1.4vw, .88rem);
}

.er-property__head {
    display: grid; gap: 16px 32px;
    grid-template-columns: 1fr;
    align-items: end;
    padding-bottom: clamp(16px, 2vw, 24px);
    border-bottom: 1px solid var(--er-border);
}
@media (min-width: 900px) {
    .er-property__head { grid-template-columns: 1fr auto; }
}
.er-property__title-wrap .er-eyebrow {
    color: var(--er-accent-lo); text-transform: uppercase; letter-spacing: .12em;
    font-size: clamp(.7rem, 1.6vw, .78rem); font-weight: 600;
    display: inline-block; margin-bottom: 4px;
}
.er-property__title {
    margin: 6px 0 12px; line-height: 1.1;
    font-size: clamp(1.5rem, 4.5vw, 2.6rem);
    overflow-wrap: anywhere;
}
.er-property__addr {
    color: var(--er-fg-muted); margin: 0;
    display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px;
    font-size: clamp(.86rem, 1.6vw, .95rem);
    line-height: 1.4;
}
.er-property__addr svg { color: var(--er-accent); flex: 0 0 auto; align-self: center; }
.er-property__price-wrap {
    display: flex; flex-direction: column; align-items: flex-start;
    gap: 4px;
}
@media (min-width: 900px) { .er-property__price-wrap { align-items: flex-end; text-align: right; } }
.er-property__status { font-size: .78rem; font-weight: 600; letter-spacing: .04em; }
.er-property__price-wrap .er-eyebrow {
    color: var(--er-fg-muted); text-transform: uppercase; letter-spacing: .1em;
    font-size: .72rem;
}
.er-property__price {
    font-family: var(--er-font-head);
    font-size: clamp(1.4rem, 4vw, 2.1rem);
    color: var(--er-fg); line-height: 1;
    overflow-wrap: anywhere;
}
.er-property__ppsm { color: var(--er-fg-muted); font-size: .8rem; }

/* Галерея */
.er-property__gallery { display: grid; gap: 10px; }
.er-property__gallery-main {
    position: relative;
    border-radius: var(--er-radius-md);
    overflow: hidden;
    background: var(--er-bg-muted);
}
@media (min-width: 640px) {
    .er-property__gallery-main { border-radius: var(--er-radius-lg); }
    .er-property__gallery { gap: 12px; }
}
.er-property__hero { margin: 0; aspect-ratio: 4/3; display: flex; align-items: center; justify-content: center; }
@media (min-width: 640px)  { .er-property__hero { aspect-ratio: 16/10; } }
@media (min-width: 1000px) { .er-property__hero { aspect-ratio: 16/9; } }
/* Cap высоты на очень широких экранах чтобы hero не превращался в гигант. */
@media (min-width: 2200px) {
    .er-property__gallery-main { max-height: 720px; }
    .er-property__hero { aspect-ratio: auto; height: 720px; }
}
.er-property__hero-img {
    max-width: 100%; max-height: 100%;
    width: auto; height: auto;
    /* object-fit: contain — вся картинка целиком, ничего не обрезается.
       Пропорции разных фото могут отличаться → выравниваем по центру, gallery-main
       имеет var(--er-bg-muted) фон под letterbox-полями. */
    object-fit: contain;
    display: block;
    transition: opacity .2s ease;
}
.er-property__hero-img.is-swap { opacity: 0; }

/* Пустая галерея — заглушка */
.er-property__gallery-empty {
    aspect-ratio: 16/10;
    background: linear-gradient(135deg, var(--er-bg-muted) 0%, var(--er-bg-light) 100%);
    border: 1px dashed var(--er-border);
    border-radius: var(--er-radius-md);
    display: flex; align-items: center; justify-content: center;
    color: var(--er-fg-muted);
    font-size: .95rem;
    text-align: center; padding: 20px;
}

/* Thumbs — горизонтальный скролл + fade-намёк по краям */
.er-property__gallery-thumbs {
    position: relative;
    display: flex; gap: 8px; overflow-x: auto; padding: 2px 0 6px;
    scrollbar-width: thin; scrollbar-color: var(--er-border) transparent;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
    mask-image: linear-gradient(90deg, transparent 0, #000 12px, #000 calc(100% - 24px), transparent 100%);
}
.er-property__gallery-thumbs::-webkit-scrollbar { height: 4px; }
.er-property__gallery-thumbs::-webkit-scrollbar-thumb { background: var(--er-border); border-radius: 2px; }
.er-property__thumb {
    flex: 0 0 auto; width: 84px; height: 60px;
    border: 2px solid transparent; border-radius: var(--er-radius-sm);
    overflow: hidden; padding: 0; background: transparent; cursor: pointer;
    scroll-snap-align: start;
    transition: border-color var(--er-transition), transform var(--er-transition);
}
@media (min-width: 640px) {
    .er-property__thumb { width: 96px; height: 64px; }
}
.er-property__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.er-property__thumb:hover { transform: translateY(-1px); }
.er-property__thumb.is-active { border-color: var(--er-accent); }

/* Факт-строка — явные колонки под каждый viewport */
.er-property__facts {
    list-style: none; margin: 0; padding: clamp(16px, 2.4vw, 24px) 0;
    display: grid; gap: 14px 20px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-bottom: 1px solid var(--er-border);
}
@media (min-width: 560px) { .er-property__facts { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 900px) { .er-property__facts { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); } }
.er-property__facts li { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.er-property__facts span {
    color: var(--er-fg-muted); text-transform: uppercase; letter-spacing: .08em;
    font-size: .68rem;
}
.er-property__facts strong {
    font-size: clamp(.94rem, 1.6vw, 1.05rem); font-weight: 600;
    overflow-wrap: anywhere;
}

/* Двухколоночный контент */
.er-property__grid { display: grid; gap: clamp(24px, 3vw, 40px); grid-template-columns: minmax(0, 1fr); }
@media (min-width: 1000px) { .er-property__grid { grid-template-columns: minmax(0, 1fr) 380px; } }
.er-property__main { min-width: 0; display: grid; gap: clamp(24px, 3vw, 44px); }
.er-property__section { display: grid; gap: 14px; }
.er-property__h2 {
    font-family: var(--er-font-head);
    font-size: clamp(1.3rem, 2.4vw, 1.75rem);
    margin: 0; line-height: 1.2;
    position: relative; padding-top: 14px;
    overflow-wrap: anywhere;
}
.er-property__h2::before {
    content: ""; position: absolute; top: 0; left: 0;
    width: 36px; height: 2px; background: var(--er-accent);
}
.er-property__content { line-height: 1.65; color: var(--er-fg); font-size: clamp(.94rem, 1.6vw, 1rem); }
.er-property__content p { margin: 0 0 14px; }
.er-property__content p:last-child { margin-bottom: 0; }

.er-property__usp {
    list-style: none; margin: 0; padding: 0;
    display: grid; gap: 12px 28px;
    grid-template-columns: minmax(0, 1fr);
}
@media (min-width: 520px)  { .er-property__usp { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1200px) { .er-property__usp { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); } }
.er-property__usp li {
    display: flex; align-items: center; gap: 10px;
    padding: 0; background: transparent; border: 0;
    min-width: 0;
    line-height: 1.4;
    font-size: clamp(.94rem, 1.6vw, 1rem);
    color: var(--er-fg);
}
.er-property__usp li span { overflow-wrap: anywhere; }
.er-property__usp svg { color: var(--er-accent); flex: 0 0 auto; }

.er-property__plans {
    display: grid; gap: 12px;
    grid-template-columns: minmax(0, 1fr);
}
@media (min-width: 640px)  { .er-property__plans { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1200px) { .er-property__plans { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); } }
.er-property__plan {
    display: block; border: 1px solid var(--er-border);
    border-radius: var(--er-radius-sm); overflow: hidden;
    background: #fff; transition: transform var(--er-transition);
}
.er-property__plan:hover { transform: translateY(-2px); }
.er-property__plan img { display: block; width: 100%; height: auto; }

.er-property__video { position: relative; padding-top: 56.25%; border-radius: var(--er-radius-md); overflow: hidden; }
.er-property__video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.er-video { position: relative; padding-top: 56.25%; height: 0; border-radius: var(--er-radius-md); overflow: hidden; }
.er-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* Sticky sidebar */
.er-property__side { min-width: 0; }
.er-property__side-sticky { display: grid; gap: 16px; }
@media (min-width: 1000px) {
    .er-property__side-sticky { position: sticky; top: 96px; }
}
.er-property__cta {
    padding: clamp(18px, 2.2vw, 28px);
    background: var(--er-bg-muted);
    border: 1px solid var(--er-border);
    border-radius: var(--er-radius-md);
    scroll-margin-top: 24px;
}
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
.er-property__cta-head { margin-bottom: 16px; }
.er-property__cta-title { margin: 0 0 6px; font-size: clamp(1rem, 2vw, 1.15rem); font-family: var(--er-font-head); }
.er-property__cta-lead { margin: 0; color: var(--er-fg-muted); font-size: .9rem; line-height: 1.5; }
.er-form--tight { gap: 10px; }
.er-form__hint { color: var(--er-fg-muted); font-size: .78rem; line-height: 1.4; margin-top: 4px; display: block; }
.er-form__hint a { color: var(--er-accent-lo); }
.er-property__contact { display: grid; gap: 8px; }

.er-property__related { margin-top: clamp(32px, 5vw, 64px); }
.er-property__related .er-property__h2 { margin-bottom: 20px; }

/* Mobile sticky CTA — прилипающая кнопка «Оставить заявку» */
.er-property__mobile-cta {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 50;
    display: flex; gap: 8px;
    padding: 10px 14px calc(10px + env(safe-area-inset-bottom, 0px));
    background: color-mix(in srgb, var(--er-bg) 96%, transparent);
    border-top: 1px solid var(--er-border);
    box-shadow: 0 -8px 24px rgba(8,28,57,.08);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}
.er-property__mobile-cta .er-btn { flex: 1; min-height: 48px; }
@media (min-width: 1000px) { .er-property__mobile-cta { display: none; } }
/* добавляем нижний padding контенту чтобы sticky-CTA не накрывал footer */
@media (max-width: 999px) {
    body.single-property .er-footer { padding-bottom: calc(68px + env(safe-area-inset-bottom, 0px)); }
}

/* ------------------------------------------------------------------ *
 *  Cookie consent — sticky-bottom баннер + модалка настроек
 * ------------------------------------------------------------------ */
.er-cookie {
    position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 190;
    max-width: min(1120px, calc(100% - 32px));
    margin-inline: auto;
    background: var(--er-bg);
    border: 1px solid var(--er-border);
    border-radius: var(--er-radius-md);
    box-shadow: 0 24px 60px -20px rgba(8,28,57,.28), 0 4px 16px rgba(8,28,57,.08);
    opacity: 0; transform: translateY(20px); pointer-events: none;
    transition: opacity .28s ease, transform .28s ease;
}
.er-cookie.is-visible { opacity: 1; transform: translateY(0); pointer-events: auto; }
.er-cookie[aria-hidden="true"] { display: block; } /* оставляем в DOM для transition */
.er-cookie:not(.is-visible) { pointer-events: none; }
.er-cookie__inner {
    padding: clamp(14px, 1.6vw, 20px) clamp(16px, 2vw, 24px);
    display: grid; gap: 12px;
}
/* Планшет: текст слева, кнопки справа в столбик — плотный layout */
@media (min-width: 720px) and (max-width: 1099px) {
    .er-cookie__inner { grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 20px; }
    .er-cookie__actions { flex-direction: column; align-items: stretch; min-width: 220px; }
    .er-cookie__actions .er-btn { width: 100%; justify-content: center; }
    .er-cookie__link { align-self: stretch; text-align: center; }
}
/* Десктоп: всё в одну строку — текст занимает ширину, кнопки в ряд справа */
@media (min-width: 1100px) {
    .er-cookie__inner { grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 24px; }
    .er-cookie__actions {
        flex-direction: row; flex-wrap: nowrap; align-items: center;
        gap: 8px;
    }
    .er-cookie__actions .er-btn { white-space: nowrap; }
}
.er-cookie__title {
    font-family: var(--er-font-head);
    font-size: clamp(1rem, 1.4vw, 1.15rem);
    margin: 0 0 4px;
    color: var(--er-fg);
    font-weight: 500;
    line-height: 1.25;
}
.er-cookie__desc {
    margin: 0 0 6px;
    font-size: .86rem; line-height: 1.5;
    color: var(--er-fg-muted);
}
.er-cookie__desc:last-child { margin-bottom: 0; }
.er-cookie__desc a { color: var(--er-accent-lo); text-decoration: underline; text-underline-offset: 2px; }
.er-cookie__actions {
    display: flex; flex-wrap: wrap; gap: 8px;
    justify-content: flex-start; align-items: center;
}
.er-cookie__actions .er-btn { min-height: 42px; padding-inline: 16px; font-size: .86rem; }
.er-cookie__link {
    background: transparent; border: 0; padding: 6px 10px;
    color: var(--er-accent-lo); text-decoration: underline; text-underline-offset: 3px;
    font: inherit; font-size: .86rem; cursor: pointer;
    align-self: center;
    white-space: nowrap;
}
.er-cookie__link:hover { color: var(--er-accent); }

/* ---- Modal --- */
html.er-cookie-modal-open { overflow: hidden; }
.er-cookie-modal {
    position: fixed; inset: 0; z-index: 220;
    display: flex; align-items: center; justify-content: center;
    padding: clamp(12px, 3vw, 32px);
}
.er-cookie-modal[aria-hidden="true"] { display: none; }
.er-cookie-modal__backdrop {
    position: absolute; inset: 0;
    background: rgba(8,28,57,.55);
    backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px);
}
.er-cookie-modal__dialog {
    position: relative; z-index: 1;
    background: var(--er-bg);
    border-radius: var(--er-radius-md);
    box-shadow: 0 40px 80px -20px rgba(8,28,57,.45);
    width: min(720px, 100%);
    max-height: min(90vh, 90dvh);
    display: flex; flex-direction: column;
    overflow: hidden;
}
.er-cookie-modal__close {
    position: absolute; top: 12px; right: 12px;
    width: 40px; height: 40px;
    border: 0; background: transparent;
    font-size: 26px; line-height: 1; color: var(--er-fg-muted);
    cursor: pointer; border-radius: 50%;
    transition: background .18s ease, color .18s ease;
}
.er-cookie-modal__close:hover { background: var(--er-bg-muted); color: var(--er-fg); }
.er-cookie-modal__head {
    padding: clamp(20px, 3vw, 28px) clamp(20px, 3vw, 28px) 12px;
    border-bottom: 1px solid var(--er-border);
}
.er-cookie-modal__title {
    font-family: var(--er-font-head);
    font-size: clamp(1.2rem, 2vw, 1.5rem);
    margin: 0 0 8px;
    color: var(--er-fg); font-weight: 500;
}
.er-cookie-modal__lead {
    margin: 0;
    color: var(--er-fg-muted); font-size: .92rem; line-height: 1.55;
}
.er-cookie-modal__body {
    padding: clamp(16px, 2vw, 22px) clamp(20px, 3vw, 28px);
    overflow-y: auto;
    flex: 1 1 auto;
    display: grid; gap: 20px;
}
.er-cookie-cat {
    padding: 14px 16px;
    background: var(--er-bg-light);
    border: 1px solid var(--er-border);
    border-radius: var(--er-radius-sm);
}
.er-cookie-cat__toggle {
    display: flex; align-items: flex-start; gap: 10px;
    cursor: pointer;
    font-weight: 600;
    color: var(--er-fg);
    margin-bottom: 8px;
}
.er-cookie-cat__toggle--locked { cursor: default; opacity: .9; }
.er-cookie-cat__toggle input[type="checkbox"] {
    flex: 0 0 auto; margin: 2px 0 0;
    width: 18px; height: 18px;
    accent-color: var(--er-accent);
}
.er-cookie-cat__name { line-height: 1.35; }
.er-cookie-cat__hint {
    margin: 0 0 8px;
    padding-left: 28px;
    font-size: .88rem; line-height: 1.5;
    color: var(--er-fg);
}
.er-cookie-cat__desc {
    margin: 0 0 6px;
    padding-left: 28px;
    font-size: .84rem; line-height: 1.55;
    color: var(--er-fg-muted);
}
.er-cookie-cat__desc:last-child { margin-bottom: 0; }
.er-cookie-modal__foot {
    padding: clamp(14px, 2vw, 20px) clamp(20px, 3vw, 28px);
    border-top: 1px solid var(--er-border);
    background: var(--er-bg-light);
}
.er-cookie-modal__buttons {
    display: flex; flex-wrap: wrap; gap: 8px;
    margin-bottom: 12px;
}
.er-cookie-modal__buttons .er-btn { flex: 1 1 auto; min-height: 44px; justify-content: center; }
@media (min-width: 640px) {
    .er-cookie-modal__buttons .er-btn { flex: 0 1 auto; }
}
.er-cookie-modal__note {
    margin: 0 0 8px;
    font-size: .78rem; line-height: 1.5;
    color: var(--er-fg-muted);
}
.er-cookie-modal__note:last-child { margin-bottom: 0; }
.er-cookie-modal__note a { color: var(--er-accent-lo); text-decoration: underline; text-underline-offset: 2px; }

/* Не сталкиваемся с mobile sticky-CTA property-page */
@media (max-width: 999px) {
    body.single-property .er-cookie { bottom: calc(78px + env(safe-area-inset-bottom, 0px)); }
}

/* ------------------------------------------------------------------ *
 *  Lightbox — полноэкранный просмотр фото объекта
 * ------------------------------------------------------------------ */
html.er-lightbox-open { overflow: hidden; }
.er-lightbox {
    position: fixed; inset: 0; z-index: 200;
    display: flex; align-items: center; justify-content: center;
    padding: clamp(48px, 6vw, 72px) clamp(12px, 3vw, 40px);
    background: rgba(8,28,57,.92);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}
.er-lightbox[hidden] { display: none; }
.er-lightbox__stage {
    margin: 0;
    max-width: min(1400px, 100%);
    max-height: 100%;
    display: flex; flex-direction: column;
    align-items: center; justify-content: center; gap: 14px;
}
.er-lightbox__img {
    max-width: 100%;
    max-height: calc(100vh - 140px);
    max-height: calc(100dvh - 140px);
    width: auto; height: auto;
    object-fit: contain;
    border-radius: 4px;
    box-shadow: 0 24px 60px rgba(0,0,0,.4);
    opacity: 1;
    transition: opacity .18s ease;
}
.er-lightbox__img.is-load { opacity: .3; }
.er-lightbox__counter {
    color: rgba(255,255,255,.72);
    font-size: .82rem; letter-spacing: .08em; text-transform: uppercase;
    font-weight: 500;
}
.er-lightbox__close,
.er-lightbox__nav {
    position: absolute;
    display: inline-flex; align-items: center; justify-content: center;
    width: 44px; height: 44px;
    border-radius: 50%; border: 0; padding: 0;
    background: rgba(255,255,255,.10);
    color: #fff; cursor: pointer;
    transition: background .18s ease, transform .18s ease;
}
.er-lightbox__close:hover,
.er-lightbox__nav:hover  { background: rgba(255,255,255,.18); }
.er-lightbox__close:active,
.er-lightbox__nav:active { transform: scale(.94); }
.er-lightbox__close { top: 16px; right: 16px; }
.er-lightbox__nav--prev { left: 16px;  top: 50%; transform: translateY(-50%); }
.er-lightbox__nav--next { right: 16px; top: 50%; transform: translateY(-50%); }
.er-lightbox__nav--prev:active { transform: translateY(-50%) scale(.94); }
.er-lightbox__nav--next:active { transform: translateY(-50%) scale(.94); }
@media (min-width: 640px) {
    .er-lightbox__close { top: 24px; right: 24px; width: 48px; height: 48px; }
    .er-lightbox__nav   { width: 52px; height: 52px; }
    .er-lightbox__nav--prev { left: clamp(16px, 3vw, 40px); }
    .er-lightbox__nav--next { right: clamp(16px, 3vw, 40px); }
}
@media (prefers-reduced-motion: reduce) {
    .er-lightbox__img,
    .er-lightbox__close,
    .er-lightbox__nav { transition: none; }
}

/* ------------------------------------------------------------------ *
 *  Property archive filter
 * ------------------------------------------------------------------ */
.er-filter {
    background: var(--er-bg-muted); border: 1px solid var(--er-border);
    border-radius: var(--er-radius-md); padding: clamp(16px, 2vw, 24px);
    margin-bottom: clamp(24px, 3vw, 36px);
}
.er-filter__grid { display: grid; gap: 14px 16px; grid-template-columns: 1fr; }
@media (min-width: 640px)  { .er-filter__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 900px)  { .er-filter__grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1200px) { .er-filter__grid { grid-template-columns: repeat(4, 1fr); } }
.er-filter__field { display: flex; flex-direction: column; gap: 6px; font-size: .82rem; color: var(--er-fg-muted); font-weight: 500; letter-spacing: .02em; }
.er-filter__field span { text-transform: uppercase; letter-spacing: .08em; font-size: .7rem; }
.er-filter input, .er-filter select {
    padding: 12px 14px; border: 1px solid var(--er-border); border-radius: var(--er-radius-sm);
    background: var(--er-bg); font: inherit; color: var(--er-fg); appearance: none;
}
.er-filter select {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' stroke='%23082B60' stroke-width='1.6' fill='none' stroke-linecap='round'/></svg>");
    background-repeat: no-repeat; background-position: right 14px center; padding-right: 38px;
}
.er-filter input:focus, .er-filter select:focus {
    outline: 0; border-color: var(--er-accent); box-shadow: 0 0 0 3px rgba(205,145,56,.16);
}
.er-filter__actions { display: flex; gap: 10px; margin-top: 20px; flex-wrap: wrap; }

/* Property card — район badge */
.er-card--property .er-card__meta { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.er-card--property .er-card__meta::after { content: ""; flex: 1; height: 1px; background: var(--er-border); opacity: .5; margin-left: 4px; }

/* ------------------------------------------------------------------ *
 *  Forms
 * ------------------------------------------------------------------ */
.er-form { display: grid; gap: 12px; position: relative; }
.er-form label { display: flex; flex-direction: column; gap: 6px; font-size: .88rem; color: var(--er-fg-muted); }
.er-form input, .er-form textarea {
    padding: 14px 16px; border: 1px solid var(--er-border); border-radius: var(--er-radius-sm);
    background: var(--er-bg); font: inherit; color: var(--er-fg);
    transition: border-color var(--er-transition), box-shadow var(--er-transition);
    width: 100%;
}
.er-form input:focus, .er-form textarea:focus {
    outline: 0; border-color: var(--er-accent); box-shadow: 0 0 0 3px rgba(205,145,56,.16);
}
.er-form__honey { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden; }
.er-form__consent { color: var(--er-fg-muted); font-size: .8rem; margin: 0; }
.er-form__hint    { color: var(--er-fg-muted); font-weight: 400; }
.er-form__status  { min-height: 0; margin: 0; font-size: .88rem; line-height: 1.4; }
.er-form__status:not(:empty) { min-height: 1.2em; margin-top: 4px; }
.er-form.is-success .er-form__status { color: #2e7d32; }
.er-form.is-error   .er-form__status { color: #c62828; }

/* Stacked label pattern — надёжный, без floating-глюков. */
.er-form--stacked { gap: 14px; }
.er-field { display: flex; flex-direction: column; gap: 6px; }
.er-field > label {
    font-size: .74rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--er-fg-muted);
    font-weight: 600;
    padding-left: 2px;
}
.er-field > input {
    width: 100%;
    padding: 14px 16px;
    border: 1px solid var(--er-border);
    border-radius: var(--er-radius-sm);
    background: var(--er-bg);
    font: inherit;
    color: var(--er-fg);
    line-height: 1.3;
    transition: border-color var(--er-transition), box-shadow var(--er-transition);
    min-height: 52px;
}
.er-field > input::placeholder { color: rgba(91,106,134,0.55); }
.er-field > input:focus {
    outline: 0;
    border-color: var(--er-accent);
    box-shadow: 0 0 0 3px rgba(205,145,56,.16);
}
.er-field > input:not(:placeholder-shown):invalid { border-color: rgba(198,40,40,.55); }

/* Consent checkbox */
.er-consent {
    display: flex; align-items: flex-start; gap: 10px;
    font-size: .82rem; line-height: 1.5;
    color: var(--er-fg-muted); cursor: pointer;
    padding: 4px 0;
}
.er-consent input[type="checkbox"] {
    flex: 0 0 auto;
    margin: 2px 0 0;
    width: 18px; height: 18px;
    accent-color: var(--er-accent);
    cursor: pointer;
}
.er-consent a { color: var(--er-accent-lo); text-decoration: underline; text-underline-offset: 2px; }
.er-consent a:hover { color: var(--er-accent); }

/* Submit button with icon */
.er-form__submit {
    display: inline-flex; align-items: center; justify-content: center;
    gap: 10px; min-height: 52px;
}
.er-form__submit-icon { transition: transform .2s ease; }
.er-form__submit:hover .er-form__submit-icon { transform: translateX(3px); }
.er-form__submit:disabled { opacity: .6; cursor: wait; }
.er-form__submit:disabled .er-form__submit-icon { animation: er-spin .9s linear infinite; }
@keyframes er-spin { to { transform: rotate(360deg); } }

/* Success state — форма превращается в благодарность */
.er-form__success {
    display: none;
    flex-direction: column; align-items: center; text-align: center;
    gap: 8px; padding: 20px 8px 6px; color: var(--er-accent-lo);
}
.er-form__success svg { color: var(--er-accent); }
.er-form__success strong { font-family: var(--er-font-head); font-size: 1.25rem; color: var(--er-fg); }
.er-form__success span { color: var(--er-fg-muted); font-size: .92rem; }
.er-form.is-success .er-field,
.er-form.is-success .er-consent,
.er-form.is-success .er-form__submit,
.er-form.is-success .er-form__status { display: none; }
.er-form.is-success .er-form__success { display: flex; }

@media (max-width: 600px) {
    .er-field input { min-height: 60px; padding: 24px 16px 10px; font-size: 1rem; }
    .er-form__submit { min-height: 56px; font-size: 1rem; }
    .er-consent { font-size: .86rem; }
}

.er-form-wrap {
    background: var(--er-bg); padding: 24px; border-radius: var(--er-radius-md);
    border: 1px solid var(--er-border); box-shadow: var(--er-shadow-sm);
}

/* ------------------------------------------------------------------ *
 *  Sticky CTA (mobile)
 * ------------------------------------------------------------------ */
.er-sticky-cta {
    position: fixed; right: 16px; bottom: 16px; z-index: 40;
    display: inline-flex; align-items: center; gap: 8px;
    background: var(--er-accent); color: var(--er-fg-inv);
    padding: 12px 18px; border-radius: 999px; font-weight: 600;
    box-shadow: 0 10px 30px rgba(180,138,74,.4);
}
.er-sticky-cta:hover { background: var(--er-accent-lo); color: var(--er-fg-inv); }
@media (min-width: 960px) { .er-sticky-cta { display: none; } }

/* ------------------------------------------------------------------ *
 *  Modal
 * ------------------------------------------------------------------ */
.er-modal {
    position: fixed; inset: 0; z-index: 100; display: none;
    align-items: center; justify-content: center; padding: 20px;
}
.er-modal.is-open { display: flex; }
.er-modal__backdrop { position: absolute; inset: 0; background: rgba(11,11,15,.6); backdrop-filter: blur(4px); }
.er-modal__dialog {
    position: relative; background: var(--er-bg); border-radius: var(--er-radius-lg);
    max-width: 480px; width: 100%; padding: 32px; box-shadow: var(--er-shadow-md);
    max-height: 90vh; overflow-y: auto;
    animation: er-modal-in var(--er-transition) both;
}
@keyframes er-modal-in { from { transform: translateY(12px); opacity: 0; } to { transform: none; opacity: 1; } }
.er-modal__close {
    position: absolute; top: 12px; right: 12px; width: 40px; height: 40px; border: 0;
    background: transparent; font-size: 1.6rem; color: var(--er-fg-muted); border-radius: 50%;
}
.er-modal__close:hover { background: var(--er-bg-muted); }
.er-modal__sub { color: var(--er-fg-muted); font-size: .92rem; margin-top: -6px; }

/* ------------------------------------------------------------------ *
 *  Article
 * ------------------------------------------------------------------ */
.er-article__hero { margin: 0 0 24px; border-radius: var(--er-radius-md); overflow: hidden; }
.er-article__content { font-size: 1.05rem; line-height: 1.7; }
.er-article__content h2, .er-article__content h3 { margin-top: 1.5em; }
.er-article__content ul, .er-article__content ol { padding-left: 1.4em; }
.er-article__content blockquote {
    position: relative;
    margin: 2em 0 1.6em; padding: 0 0 0 clamp(28px, 5vw, 56px);
    font-family: var(--er-font-head); font-style: italic;
    font-size: 1.25em; line-height: 1.4; color: var(--er-fg);
}
.er-article__content blockquote::before {
    content: "\201C"; position: absolute; left: -6px; top: -.35em;
    font-family: var(--er-font-head); font-style: normal;
    font-size: 3.2em; line-height: 1; color: var(--er-accent);
}
.er-article__content blockquote cite {
    display: block; margin-top: .6em; font-style: normal; font-size: .78em;
    letter-spacing: .06em; text-transform: uppercase; color: var(--er-fg-muted);
    font-family: var(--er-font-body);
}

/* ------------------------------------------------------------------ *
 *  Breadcrumbs / pagination
 * ------------------------------------------------------------------ */
.er-breadcrumbs { font-size: .85rem; color: var(--er-fg-muted); margin-bottom: 16px; }
.er-breadcrumbs a { color: var(--er-fg-muted); }
.er-breadcrumbs a:hover { color: var(--er-fg); }
.er-breadcrumbs span[aria-hidden] { padding: 0 6px; }

.er-pagination { margin-top: 32px; display: flex; justify-content: center; gap: 6px; }
.er-pagination .page-numbers {
    display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 40px;
    padding: 0 12px; border-radius: var(--er-radius-sm); background: var(--er-bg-muted); color: var(--er-fg);
}
.er-pagination .page-numbers.current { background: var(--er-accent); color: var(--er-fg-inv); }

/* ------------------------------------------------------------------ *
 *  Footer
 * ------------------------------------------------------------------ */
.er-footer { background: var(--er-bg-dark); color: rgba(255,255,255,.86); padding-block: 64px 32px; margin-top: 64px; }
.er-footer h3 { color: var(--er-fg-inv); font-size: 1rem; margin-bottom: 16px; font-family: var(--er-font-body); font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
.er-footer a { color: rgba(255,255,255,.72); }
.er-footer a:hover { color: var(--er-accent-hi); }
.er-footer__grid { display: grid; gap: 32px; grid-template-columns: 1fr; }
@media (min-width: 720px)  { .er-footer__grid { grid-template-columns: 1.4fr 1fr 1fr 1fr; } }
.er-footer__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.er-footer__tagline { color: rgba(255,255,255,.55); font-size: .92rem; margin: 8px 0 16px; }
.er-footer__contacts p { margin: 0 0 8px; }
.er-footer__bottom { border-top: 1px solid rgba(255,255,255,.08); margin-top: 32px; padding-top: 24px; color: rgba(255,255,255,.5); font-size: .85rem; text-align: center; }
.er-footer .er-socials a { color: rgba(255,255,255,.72); }

/* ------------------------------------------------------------------ *
 *  404
 * ------------------------------------------------------------------ */
.er-404__inner { text-align: center; max-width: 640px; margin-inline: auto; }
.er-empty { padding: 32px; background: var(--er-bg-muted); border-radius: var(--er-radius-md); text-align: center; color: var(--er-fg-muted); }

/* ================================================================== *
 *  About page — Samoletova Estate
 * ================================================================== */
.about-page {
    /* local aliases по бренд-гайду */
    --navy:        var(--er-fg);
    --navy-dark:   #081C39;
    --navy-deep:   #081C39;
    --gold:        var(--er-accent);
    --gold-dark:   var(--er-accent-lo);
    --gold-light:  #DFB56F;
    --border-gold: rgba(201,139,53,.42);
    --border-lite: rgba(201,139,53,.24);
    --shadow-soft: 0 16px 40px rgba(8,28,57,.08);

    display: block;
    color: var(--navy);
    margin-top: 0;
}
.about-page { padding-top: 20px; padding-bottom: clamp(20px, 2.6vw, 32px); }
.about-page section { padding-block: 0; }
.about-page section + section { padding-top: 0; }

@media (min-width: 1200px) {
    .about-page {
        width: min(100% - var(--er-gutter) * 2, var(--er-container));
        margin: 0 auto;
        padding-inline: 0;
        box-sizing: border-box;
    }
    .about-intro > .er-container,
    .trust-reasons > .er-container,
    .premium-values > .er-container,
    .objects-geography > .er-container {
        width: 100%;
        max-width: none;
        padding-inline: 0;
        margin: 0;
    }
}
@media (max-width: 1199px) {
    .about-page > section > .er-container {
        width: 100%;
        max-width: none;
        padding-inline: 40px;
    }
}
@media (max-width: 899px) {
    .about-page { margin-top: 0; }
    .about-page > section > .er-container { padding-inline: 20px; }
    .about-intro__button { margin-top: 24px; }
}
@media (max-width: 359px) {
    .about-page > section > .er-container { padding-inline: 14px; }
}

/* ---------- 1. intro (пропорция 720/435/285 fr, шрифты крупные с clamp как hero) ---------- */
.about-intro { padding: 0; }
.about-intro__grid {
    display: grid;
    grid-template-columns: 680fr 420fr 340fr;
    gap: 0;
    align-items: stretch;
}
.about-intro__text {
    box-sizing: border-box;
    width: 100%;
    padding: 27px 29px 27px 0;
    display: flex;
    flex-direction: column;
    min-width: 0;
}
.about-intro__eyebrow {
    margin: 0 0 13px;
    font-size: clamp(11px, .9vw, 13px);
    line-height: 1.3;
    font-weight: 500;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--gold-dark);
}
.about-intro__title {
    max-width: 720px;
    margin: 0;
    font-family: "Prata", Georgia, serif;
    font-size: clamp(27px, 2.25vw, 36px);
    line-height: 1.12;
    font-weight: 400;
    letter-spacing: -.025em;
    color: var(--navy);
}
.about-points {
    max-width: 640px;
    margin: 20px 0 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.about-point {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    column-gap: 13px;
    align-items: start;
}
.about-point__icon {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    color: var(--gold);
}
.about-point__icon svg { width: 23px; height: 23px; }
.about-point__text {
    max-width: 620px;
    margin: 0;
    font-size: clamp(11px, .9vw, 13px);
    line-height: 1.5;
    font-weight: 500;
    letter-spacing: 0;
    color: var(--navy);
    min-width: 0;
}
.about-intro__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 13px;
    min-width: 234px;
    height: 43px;
    margin-top: auto;
    padding: 0 22px;
    border: 1px solid var(--gold);
    border-radius: 6px;
    background: transparent;
    font-size: 11px;
    line-height: 1;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    white-space: nowrap;
    color: var(--gold-dark);
    transition: background var(--er-transition), color var(--er-transition);
    align-self: flex-start;
}
.about-intro__button svg { width: 16px; height: 16px; transition: transform var(--er-transition); }
.about-intro__button:hover { background: var(--gold); color: #fff; }
.about-intro__button:hover svg { transform: translateX(4px); }

.about-intro__portrait {
    position: relative;
    width: 100%;
    height: 100%;
    margin: 0;
    overflow: hidden;
    border-radius: 4px 0 0 4px;
    background: linear-gradient(180deg, #081C39, #081C39);
    min-width: 0;
    -webkit-mask-image: linear-gradient(to right, transparent 0, #000 60px);
            mask-image: linear-gradient(to right, transparent 0, #000 60px);
}
.about-intro__portrait picture,
.about-intro__portrait img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center top;
}
.about-intro__portrait-placeholder {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, #081C39, #081C39);
}
.about-intro__portrait-placeholder svg { width: 100%; height: 100%; }

.about-expertise {
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 27px 16px 22px;
    border: 1px solid var(--gold);
    border-radius: 0 10px 10px 0;
    background: linear-gradient(150deg, #081C39 0%, #081C39 100%);
    color: #fff;
    display: flex;
    flex-direction: column;
    min-width: 0;
}
.about-expertise__title {
    margin: 0 0 18px;
    font-family: "Prata", Georgia, serif;
    font-size: clamp(13px, 1.2vw, 18px);
    line-height: 1.22;
    font-weight: 400;
    letter-spacing: -.01em;
    text-transform: uppercase;
    color: #dfa75d;
}
.about-expertise__items { display: flex; flex-direction: column; flex: 1; }
.expertise-item {
    display: grid;
    grid-template-columns: 25px 1fr;
    column-gap: 9px;
    padding: 13px 0;
    align-items: start;
}
.expertise-item + .expertise-item { border-top: 1px solid rgba(210,154,74,.55); }
.expertise-item:first-child { padding-top: 0; }
.expertise-item:last-child { padding-bottom: 0; }
.expertise-item__icon { width: 25px; height: 25px; color: var(--gold-light); display: grid; place-items: center; flex-shrink: 0; }
.expertise-item__icon svg { width: 20px; height: 20px; }
.expertise-item__icon img { width: 100%; height: 100%; object-fit: contain; }
.expertise-item__text {
    margin: 0;
    font-size: clamp(10px, .8vw, 12px);
    line-height: 1.45;
    font-weight: 400;
    color: #ffffff;
}

/* ---------- shared: section heading with gold rules ---------- */
.section-heading {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    justify-content: center;
    gap: 24px;
    margin: 0;
    height: 56px;
}
.section-heading::before,
.section-heading::after {
    content: "";
    height: 1px;
    background: var(--gold);
    min-width: 32px;
    max-width: 240px;
    justify-self: center;
    width: 100%;
}
.section-heading h2 {
    max-width: 940px;
    margin: 0 auto;
    font-family: "Prata", Georgia, serif;
    font-size: 21.6px;
    line-height: 1.2;
    font-weight: 400;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0;
    color: var(--navy);
    white-space: normal;
}

/* ---------- 2. trust reasons — крупный текст, компактный блок ---------- */
.trust-reasons { min-height: 210px; box-sizing: border-box; margin-top: 58px; }
.trust-reasons > .er-container { min-height: 210px; }
.trust-reasons .section-heading { height: 45px; margin-bottom: 22px; }
.trust-reasons__grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    min-height: 162px;
    margin: 0;
}
.trust-card {
    position: relative;
    box-sizing: border-box;
    padding: 12px 14px 12px;
    text-align: center;
    min-width: 0;
    overflow-wrap: break-word;
}
.trust-card + .trust-card { border-left: 1px solid var(--border-lite); }
.trust-card__icon {
    width: 42px;
    height: 42px;
    margin: 0 auto 8px;
    color: var(--gold);
}
.trust-card__icon svg { width: 100%; height: 100%; }
.trust-card__icon img { width: 100%; height: 100%; object-fit: contain; }
.trust-card__title {
    margin: 0;
    max-width: 100%;
    min-height: calc(2 * 1.25em);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    font-family: "Prata", Georgia, serif;
    font-size: 11.7px;
    line-height: 1.25;
    font-weight: 400;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: -.01em;
    color: var(--navy);
    overflow-wrap: break-word;
}
.trust-card__text {
    max-width: 195px;
    margin: 12px auto 0;
    font-size: 10.5px;
    line-height: 1.45;
    font-weight: 500;
    text-align: center;
    color: var(--navy);
    opacity: .85;
    overflow-wrap: break-word;
}

/* ---------- 3. premium values — компактное фото, крупный текст ---------- */
.premium-values { min-height: 170px; margin-top: 45px; }
.premium-values__layout {
    display: grid;
    grid-template-columns: 400fr 1040fr;
    min-height: 170px;
    border: 1px solid var(--border-lite);
    border-radius: 0;
    overflow: hidden;
    background: rgba(255,255,255,.35);
}
.premium-values__visual {
    position: relative;
    width: 100%;
    min-height: 170px;
    overflow: hidden;
    background: var(--navy-deep);
    min-width: 0;
}
.premium-values__visual img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.premium-values__visual::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(8,28,57,.85) 0%, rgba(8,28,57,.35) 60%, rgba(8,28,57,.15) 100%);
}
.premium-values__visual-title {
    position: absolute;
    top: 18px;
    left: 20px;
    right: 16px;
    z-index: 2;
    max-width: 235px;
    margin: 0;
    font-family: "Prata", Georgia, serif;
    font-size: 16.2px;
    line-height: 1.16;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: .02em;
    color: #dfa75d;
    overflow-wrap: break-word;
}
.premium-values__grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    min-height: 170px;
}
.value-card {
    box-sizing: border-box;
    padding: 36px 10px 18px;
    text-align: center;
    display: grid;
    grid-template-rows: auto auto;
    justify-items: center;
    align-content: start;
    gap: 12px;
    min-width: 0;
}
.value-card__icon { align-self: start; }
.value-card__text { align-self: start; }
.value-card + .value-card { border-left: 1px solid var(--border-lite); }
.value-card__icon {
    width: 40px;
    height: 40px;
    margin: 0;
    color: var(--gold);
    flex-shrink: 0;
}
.value-card__icon svg { width: 100%; height: 100%; }
.value-card__icon img { width: 100%; height: 100%; object-fit: contain; }
.value-card__text {
    max-width: 146px;
    margin: 0 auto;
    font-size: 10.5px;
    line-height: 1.42;
    font-weight: 500;
    text-align: center;
    color: var(--navy);
    overflow-wrap: break-word;
}

/* ---------- 4. objects & geography — увеличенная типографика ---------- */
.objects-geography { min-height: 324px; box-sizing: border-box; margin-top: 50px; }
.objects-geography > .er-container { min-height: 324px; }
.objects-geography__header {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 16px;
    min-height: 65px;
    margin: 0 0 25px;
    padding-inline: 22px;
    box-sizing: border-box;
}
.geography-label {
    display: grid;
    grid-template-columns: 40px 1fr;
    gap: 11px;
    align-items: center;
    justify-self: start;
}
.geography-label__icon { align-self: center; }
.geography-label > div { align-self: center; }
.geography-label__icon {
    width: 40px;
    height: 40px;
    color: var(--gold);
    display: grid;
    place-items: center;
    flex-shrink: 0;
}
.geography-label__icon svg { width: 100%; height: 100%; }
.geography-label__icon img { width: 100%; height: 100%; object-fit: contain; }
.geography-label__eyebrow {
    margin: 0 0 4px;
    font-family: "Prata", Georgia, serif;
    font-size: 12.6px;
    line-height: 1.25;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--gold-dark);
}
.geography-label__text {
    margin: 0;
    font-size: 11.7px;
    line-height: 1.35;
    color: var(--navy);
}
.section-heading--right {
    grid-template-columns: 1fr auto 1fr;
    margin: 0;
    min-height: 72px;
    height: auto;
}
.section-heading--right h2 {
    text-align: center;
    font-size: 21.6px;
    line-height: 1.2;
    white-space: normal;
}

.objects-geography__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    min-height: 140px;
    margin: 0;
}
.property-card {
    box-sizing: border-box;
    display: grid;
    grid-template-columns: 32% 68%;
    width: 100%;
    min-height: 0;
    height: auto;
    overflow: hidden;
    border: 1px solid var(--border-gold);
    border-radius: 14px 0 0 14px;
    background: rgba(255,255,255,.35);
    transition: box-shadow 220ms ease, border-color 220ms ease;
    min-width: 0;
}
.property-card:hover {
    box-shadow: var(--shadow-soft);
    border-color: var(--gold);
}
.property-card__image-wrap {
    position: relative;
    background: linear-gradient(155deg, #081C39 0%, #081C39 100%);
    overflow: hidden;
    height: 100%;
}
.property-card__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.property-card__content {
    padding: 14px 18px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    min-width: 0;
}
.property-card__title {
    margin: 0;
    font-family: "Prata", Georgia, serif;
    font-size: 13px;
    line-height: 1.2;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: .02em;
    white-space: normal;
    color: var(--navy);
    overflow-wrap: break-word;
}
.property-card__description {
    margin: 8px 0 0;
    font-size: 10.2px;
    line-height: 1.4;
    font-weight: 500;
    color: var(--navy);
    opacity: .85;
}
.property-card__list {
    margin: 8px 0 0;
    padding: 0;
    font-size: 10.2px;
    line-height: 1.4;
    font-weight: 500;
    color: var(--navy);
    list-style: none;
}
.property-card__list li {
    position: relative;
    padding: 1px 0 1px 12px;
}
.property-card__list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .6em;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--gold);
}

/* ---------- 5. quote banner — компактное фото, крупный текст ---------- */
.about-quote {
    display: grid;
    grid-template-columns: 520fr 720fr 200fr;
    align-items: stretch;
    min-height: 130px;
    background: var(--navy-deep);
    color: var(--gold-light);
    padding: 0;
    margin-top: 16px;
    margin-bottom: 8px;
}
.about-quote__image { position: relative; overflow: hidden; }
.about-quote__image img { width: 100%; height: 100%; object-fit: cover; opacity: 1; }
.about-quote__image::after { display: none; }
.about-quote__content {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 20px 44px;
    margin: 0;
    border-left: 1px solid rgba(223,181,111,.25);
}
.about-quote__mark {
    width: 43px;
    height: 43px;
    display: grid;
    place-items: center;
    font-family: Georgia, serif;
    font-size: 50px;
    line-height: 1;
    color: #dfa75d;
    align-self: flex-start;
    margin-top: 16px;
}
.about-quote__text {
    max-width: none;
    margin: 0;
    font-family: "Prata", Georgia, serif;
    font-size: 20px;
    line-height: 1.35;
    font-weight: 400;
    color: #dfa75d;
    white-space: normal;
}
.about-quote__illustration {
    display: grid;
    place-items: center;
    padding: 12px;
    color: var(--gold-light);
    opacity: .8;
}
.about-quote__illustration svg,
.about-quote__illustration img { width: 100%; max-width: 180px; max-height: 140px; height: auto; object-fit: contain; }

/* ---------- Desktop 1200+ — крупная типографика, единая для ноутбука 14" и 27"+ мониторов ---------- */
@media (min-width: 1200px) {
    .section-heading h2 { font-size: 24.3px; }
    .section-heading--right h2 { font-size: 24.3px; }
    .trust-card__title { font-size: 13.5px; }
    .trust-card__text { font-size: 12.15px; }
    .premium-values__visual-title { font-size: 20.7px; max-width: 259px; }
    .value-card__text { font-size: 12.15px; max-width: 162px; }
    .property-card__title { font-size: 16px; }
    .property-card__description,
    .property-card__list { font-size: 11.7px; line-height: 1.4; }
    .about-quote__text { font-size: 17px; line-height: 1.3; }
    .about-quote__mark { font-size: 42px; width: 36px; height: 36px; margin-top: 8px; }
    .geography-label__eyebrow { font-size: 14.4px; }
    .geography-label__text { font-size: 13.5px; }
    .expertise-item__text { font-size: 13.5px; line-height: 1.5; }
    .about-expertise__title { font-size: 20px; line-height: 1.15; letter-spacing: -.01em; white-space: normal; }
    .about-intro__button { margin-top: 29px; }

    .trust-reasons, .trust-reasons > .er-container { min-height: 275px; }
    .trust-reasons__grid { min-height: 227px; }
    .trust-card__icon { width: 53px; height: 53px; margin-bottom: 12px; }
    .trust-card { padding: 32px 14px 20px; }
    .trust-card__text { max-width: 227px; margin-top: 12px; }

    .premium-values, .premium-values__layout, .premium-values__visual, .premium-values__grid { min-height: 227px; }
    .value-card { padding: 36px 10px 18px; gap: 12px; }
    .value-card__icon { width: 50px; height: 50px; margin: 0; }

    .objects-geography, .objects-geography > .er-container { min-height: 380px; }
    .objects-geography__grid { min-height: 280px; }
    .property-card { min-height: 280px; }
    .property-card__content { padding: 22px 24px; }
    .geography-label__icon { width: 32px; height: 32px; }
    .geography-label { grid-template-columns: 32px 1fr; gap: 12px; align-items: center; }
    .geography-label > div { align-self: center; }

    .about-quote {
        min-height: 0;
        height: 110px;
        overflow: hidden;
        width: calc(100% + 40px);
        margin-inline: -20px;
        border-radius: 0;
    }
    .about-quote__illustration svg,
    .about-quote__illustration img { max-width: 160px; max-height: 120px; }
}

/* ---------- Планшет 768-1199 — переверстка (стек колонок, крупнее шрифты) ---------- */
@media (max-width: 1199px) {
    .about-page section,
    .about-page section + section { padding-block: clamp(32px, 4vw, 56px); }

    .about-intro__grid {
        display: grid;
        grid-template-columns: 58% 42%;
        grid-template-areas:
            "text portrait"
            "card card";
        gap: 24px;
        height: auto;
        min-height: 0;
    }
    .about-intro__text { grid-area: text; width: auto; min-height: 0; padding: 0; max-width: none; }
    .about-intro__portrait { grid-area: portrait; width: auto; min-height: 480px; }
    .about-expertise { grid-area: card; width: auto; min-height: 0; height: auto; }
    .about-intro__title { max-width: none; font-size: 34px; line-height: 1.12; }
    .about-intro__eyebrow { font-size: 11px; white-space: normal; }
    .about-points { max-width: none; }
    .about-point__text { max-width: none; font-size: 12px; line-height: 1.48; }
    .about-expertise__title { max-width: none; font-size: 19px; }
    .about-expertise__items { display: grid; grid-template-columns: repeat(3, 1fr); }
    .expertise-item__text { max-width: none; font-size: 12px; line-height: 1.5; }

    .trust-reasons { height: auto; }
    .section-heading h2 { font-size: 18px; line-height: 1.3; white-space: normal; max-width: none; }
    .trust-reasons__grid { grid-template-columns: repeat(3, 1fr); height: auto; margin-top: 20px; }
    .trust-card { padding: 20px 18px; }
    .trust-card:nth-child(3n+1) { border-left: 0; }
    .trust-card:nth-child(n+4) { border-top: 1px solid var(--border-lite); }
    .trust-card__title { font-size: 13px; min-height: 0; }
    .trust-card__text { font-size: 11px; line-height: 1.45; max-width: none; }

    .premium-values { height: auto; }
    .premium-values__layout { grid-template-columns: 1fr; height: auto; }
    .premium-values__visual { width: auto; height: 240px; min-height: 240px; }
    .premium-values__visual-title { max-width: none; font-size: 22px; }
    .premium-values__grid { grid-template-columns: repeat(3, 1fr); height: auto; }
    .value-card { padding: 24px 14px; }
    .value-card:nth-child(3n+1) { border-left: 0; }
    .value-card:nth-child(n+4) { border-top: 1px solid var(--border-lite); }
    .value-card__text { max-width: none; font-size: 12px; }

    .objects-geography { height: auto; }
    .objects-geography__header {
        grid-template-columns: minmax(260px, 320px) minmax(0, 1fr);
        gap: 24px; height: auto; margin-bottom: 24px; padding-inline: 0;
    }
    .geography-label__text { font-size: 12px; line-height: 1.4; }
    .section-heading--right h2 { font-size: 18px; white-space: normal; }
    .objects-geography__grid { grid-template-columns: repeat(2, 1fr); height: auto; }
    .objects-geography__grid > .property-card:last-child { grid-column: 1 / -1; grid-template-columns: 30% 70%; }
    .property-card { height: auto; min-height: 220px; grid-template-columns: 42% 58%; width: auto; }
    .property-card__content { padding: 18px 18px; }
    .property-card__title { font-size: 13px; white-space: normal; }
    .property-card__description { font-size: 11px; }
    .property-card__list { font-size: 11px; }

    .about-quote { grid-template-columns: 34% 42% 24%; height: auto; min-height: 190px; }
    .about-quote__text { max-width: none; font-size: 20px; }
    .about-quote__illustration svg,
    .about-quote__illustration img { max-width: 200px; max-height: none; }
}

/* ---------- tablet 1024 ---------- */
@media (max-width: 1023px) {
    .about-expertise__items { display: grid; grid-template-columns: repeat(3, 1fr); }
    .expertise-item + .expertise-item {
        border-top: 0;
        border-left: 1px solid rgba(223,181,111,.4);
    }
    .expertise-item:first-child, .expertise-item:last-child { padding: 14px 0; }

    .objects-geography__grid { grid-template-columns: 1fr; }
    .property-card { min-height: 220px; }
    .property-card:last-child { grid-column: auto; }

    .about-quote { grid-template-columns: 40% 60%; }
    .about-quote__illustration { display: none; }
}

/* ---------- Мобильный 320-599 (крупнее шрифты) ---------- */
@media (max-width: 899px) {
    .about-intro__grid {
        display: flex;
        flex-direction: column;
        gap: 32px;
    }
    .about-intro__eyebrow { font-size: 10px; line-height: 1.3; white-space: normal; }
    .about-intro__title { max-width: none; font-size: clamp(32px, 9.5vw, 40px); line-height: 1.1; }
    .about-points { max-width: none; }
    .about-point__text { max-width: none; font-size: 13px; line-height: 1.5; }
    .about-intro__button { margin-top: 24px !important; align-self: stretch; }
    .about-intro__portrait {
        min-height: 0;
        height: auto;
        aspect-ratio: 9 / 14;
        width: calc(100% + 40px);
        margin-inline: -20px;
        border-radius: 0;
    }
    .about-intro__portrait picture,
    .about-intro__portrait img { height: 100%; }
    .about-expertise { margin: 0; border-radius: 12px; padding: 22px 18px; }
    .about-expertise__title { font-size: 22px; line-height: 1.22; max-width: none; }
    .about-expertise__items { display: flex; flex-direction: column; }
    .expertise-item__text { max-width: none; font-size: 13px; line-height: 1.5; }
    .expertise-item + .expertise-item {
        border-left: 0;
        border-top: 1px solid rgba(223,181,111,.4);
    }

    .section-heading h2 { font-size: 17px; line-height: 1.3; letter-spacing: -.01em; }
    .section-heading::before,
    .section-heading::after { display: none; }
    .section-heading { grid-template-columns: 1fr; }
    .trust-reasons { margin-top: 32px; }
    .trust-reasons .section-heading { margin-bottom: 28px; }
    .trust-reasons__grid { grid-template-columns: 1fr; margin-top: 32px; }
    .trust-card {
        display: grid;
        grid-template-columns: 52px 1fr;
        grid-template-areas:
            "icon title"
            "icon text";
        column-gap: 16px;
        row-gap: 6px;
        align-items: start;
        text-align: left;
        padding: 24px 0;
        border-left: 0 !important;
    }
    .trust-card + .trust-card { border-top: 1px solid var(--border-lite); }
    .trust-card__icon {
        grid-area: icon;
        width: 52px;
        height: 52px;
        margin: 0;
        align-self: start;
    }
    .trust-card__title {
        grid-area: title;
        font-size: 15px;
        line-height: 1.3;
        text-align: left;
        min-height: 0;
    }
    .trust-card__text {
        grid-area: text;
        font-size: 13px;
        line-height: 1.5;
        text-align: left;
        max-width: none;
        margin: 0;
    }

    .premium-values { margin-top: 16px; }
    .premium-values__layout {
        width: calc(100% + 40px);
        margin-inline: -20px;
        grid-template-columns: 1fr;
        border-radius: 0;
        border-left: 0;
        border-right: 0;
    }
    .premium-values__visual { width: 100%; min-height: 220px; aspect-ratio: 16 / 9; height: auto; }
    .premium-values__visual-title { font-size: 20px; top: 18px; left: 20px; right: 16px; max-width: none; }
    .premium-values__grid { grid-template-columns: repeat(3, 1fr); min-height: 0; }
    .value-card { border-left: 0 !important; padding: 20px 8px 18px; gap: 12px; justify-content: flex-start; }
    .value-card:not(:nth-child(3n+1)) { border-left: 1px solid var(--border-lite) !important; }
    .value-card:nth-child(n+4) { border-top: 1px solid var(--border-lite); }
    .value-card__icon { width: 42px; height: 42px; }
    .value-card__text { font-size: 11px; line-height: 1.4; max-width: none; }

    .objects-geography__header { grid-template-columns: 1fr; gap: 18px; }
    .geography-label { grid-template-columns: 26px 1fr; gap: 10px; }
    .geography-label__icon { width: 26px; height: 26px; }
    .section-heading--right h2 { text-align: left; font-size: 20px; line-height: 1.3; white-space: normal; }
    .section-heading--right::before,
    .section-heading--right::after { display: none; }
    .section-heading--right { grid-template-columns: 1fr; }

    .objects-geography__grid {
        grid-template-columns: 1fr;
        gap: 12px;
        width: calc(100% + 40px);
        margin-inline: -20px;
        min-height: 0;
    }
    .property-card {
        grid-template-columns: 140px 1fr;
        min-height: 190px;
        height: 190px;
        border-radius: 0;
        border-left: 0;
        border-right: 0;
        width: 100%;
        align-items: stretch;
        overflow: hidden;
    }
    .property-card__image-wrap { aspect-ratio: auto; height: 190px; width: 140px; }
    .property-card__image { width: 100%; height: 100%; object-fit: cover; display: block; }
    .property-card__content { padding: 16px 18px; display: flex; flex-direction: column; }
    .property-card__title { font-size: 14px; white-space: normal; }
    .property-card__description,
    .property-card__list { font-size: 12px; line-height: 1.5; margin-top: 8px; }
    .property-card__list { padding: 0; }
    .property-card__list li { padding: 2px 0 2px 12px; }
    .property-card:first-child .property-card__list { display: none; }
    .objects-geography__grid > .property-card:last-child {
        grid-template-columns: 140px 1fr;
        grid-column: auto;
    }

    .about-quote {
        grid-template-columns: 1fr auto;
        height: 90px;
        min-height: 0;
        overflow: hidden;
        align-items: center;
    }
    .about-page section.about-quote { padding-block: 0; }
    .about-quote__image { display: none; }
    .about-quote__content {
        padding: 18px 8px 18px 16px;
        border: 0;
        gap: 8px;
    }
    .about-quote__mark { font-size: 26px; width: 16px; height: 16px; margin-top: 2px; }
    .about-quote__text { font-size: 11px; line-height: 1.35; max-width: none; }
    .about-quote__illustration {
        display: grid;
        place-items: center;
        padding: 0 12px;
    }
    .about-quote__illustration img,
    .about-quote__illustration svg { max-width: 60px; max-height: 60px; }
}

@media (max-width: 599px) {
    .about-intro__button { width: 100%; }
}

/* ================================================================== *
 *  Персональные рекомендации — 7 карточек
 * ================================================================== */
.recommendations {
    --rec-navy:        #081C39;
    --rec-navy-deep:   #081C39;
    --rec-card-top:    #081C39;
    --rec-card-bot:    #081C39;
    --rec-gold:        #C88A38;
    --rec-gold-light:  #DFA95C;
    --rec-gold-dark:   #AA6D24;
    --rec-white:       #FFFFFF;
    --rec-text-light:  #F7F5F0;
    --rec-border-gold: rgba(200,138,56,.78);
    --rec-divider:     rgba(222,169,92,.58);

    padding-top: clamp(14px, 1.8vw, 22px);
    padding-bottom: clamp(20px, 2.6vw, 32px);
    background: transparent;
}
.recommendations__container {
    width: min(100% - var(--er-gutter) * 2, var(--er-container));
    padding-inline: 0;
    box-sizing: border-box;
    margin-inline: auto;
}

/* ---------- header ---------- */
.recommendations__header {
    position: relative;
    display: block;
    align-items: center;
    min-height: 240px;
    margin-bottom: clamp(24px, 2vw, 32px);
    padding: clamp(28px, 3.4vw, 48px) clamp(24px, 3vw, 44px);
    border-radius: 10px;
    overflow: hidden;
    isolation: isolate;
    box-sizing: border-box;
}
.recommendations__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
}
.recommendations__bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: right center;
    display: block;
}
.recommendations__heading {
    position: relative;
    z-index: 1;
    max-width: 1040px;
}
.recommendations__eyebrow {
    margin: 0;
    font-size: clamp(13px, 1vw, 18px);
    line-height: 1.2;
    font-weight: 500;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--rec-gold-dark);
}
.recommendations__title {
    margin: 20px 0 0;
    font-family: "Prata", Georgia, serif;
    font-size: clamp(32px, 3.4vw, 54px);
    line-height: 1.05;
    font-weight: 400;
    letter-spacing: -.025em;
    color: var(--rec-navy);
}
.recommendations__subtitle {
    margin: 4px 0 0;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-style: italic;
    font-size: clamp(22px, 2.4vw, 39px);
    line-height: 1.08;
    font-weight: 400;
    color: #B37731;
}
.recommendations__description {
    max-width: 1040px;
    margin: 16px 0 0;
    font-size: clamp(13px, 1vw, 16px);
    line-height: 1.45;
    font-weight: 500;
    color: #081C39;
}
.recommendations__decor {
    position: relative;
    height: 100%;
    min-height: 240px;
    overflow: hidden;
    border-radius: 6px;
}
.recommendations__decor picture,
.recommendations__decor img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: right center;
}
.recommendations__decor-placeholder {
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #f5ecdd, #ead9c0);
}
.recommendations__decor-placeholder svg { width: 100%; height: 100%; }

/* ---------- scroller wrap ---------- */
.recommendations__scroller-wrap {
    position: relative;
    margin-top: 24px;
}
.recommendations__nav {
    position: absolute;
    top: 50%;
    z-index: 3;
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 1px solid var(--rec-gold);
    border-radius: 50%;
    background: rgba(255,255,255,.95);
    color: var(--rec-navy);
    cursor: pointer;
    transform: translateY(-50%);
    transition: background .2s, color .2s, box-shadow .2s, opacity .2s;
    box-shadow: 0 6px 18px rgba(8,28,57,.15);
}
.recommendations__nav svg { width: 22px; height: 22px; }
.recommendations__nav:hover { background: var(--rec-gold); color: #fff; }
.recommendations__nav:disabled { opacity: 0; pointer-events: none; }
.recommendations__nav--prev { left: -22px; }
.recommendations__nav--next { right: -22px; }

/* ---------- horizontal scroller ---------- */
.recommendations__grid {
    display: flex;
    gap: 20px;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding-bottom: 4px;
}
.recommendations__grid::-webkit-scrollbar { display: none; }
.recommendations__grid > .property-recommendation {
    flex: 0 0 calc((100% - 60px) / 4);
    min-width: 240px;
    scroll-snap-align: start;
}

/* ---------- card ---------- */
.property-recommendation {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    border-radius: 8px;
    background: linear-gradient(180deg, var(--rec-card-top) 0%, var(--rec-card-bot) 100%);
    border: 1px solid rgba(8,28,57,.8);
    box-shadow: 0 8px 20px rgba(8,28,57,.1);
    transition: transform 220ms ease, box-shadow 220ms ease;
}
.property-recommendation:hover {
    transform: translateY(-4px);
    box-shadow: 0 15px 32px rgba(8,28,57,.18);
}

.property-recommendation__image {
    position: relative;
    flex: 0 0 auto;
    height: 205px;
    overflow: hidden;
}
.property-recommendation__image picture,
.property-recommendation__image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform 500ms ease;
}
.property-recommendation:hover .property-recommendation__image img { transform: scale(1.035); }
.property-recommendation__image-placeholder {
    width: 100%;
    height: 100%;
    background:
        radial-gradient(circle at 30% 30%, rgba(223,169,92,.28), transparent 60%),
        linear-gradient(160deg, #081C39 0%, #081C39 100%);
}
.property-recommendation__image::after {
    content: "";
    position: absolute;
    inset: 45% 0 0;
    background: linear-gradient(180deg, transparent 0%, rgba(8,28,57,.7) 100%);
    pointer-events: none;
    z-index: 1;
}

.property-recommendation__label {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    max-width: calc(100% - 28px);
    padding: 6px 11px;
    font-family: "Manrope", sans-serif;
    font-size: 11px;
    line-height: 1.2;
    font-weight: 500;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #fff;
}
.property-recommendation__label--gold { background: rgba(191,129,49,.92); }
.property-recommendation__label--navy { background: rgba(8,28,57,.92); }

.property-recommendation__icon {
    position: absolute;
    left: 16px;
    bottom: 14px;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    border: 1px solid rgba(255,255,255,.72);
    border-radius: 50%;
    background: rgba(191,129,49,.82);
    color: #fff;
}
.property-recommendation__icon svg { width: 29px; height: 29px; }

.property-recommendation__body {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    padding: 18px 16px 14px;
}
.property-recommendation__text {
    margin: 0;
    flex: 1;
    font-size: 12px;
    line-height: 1.52;
    font-weight: 400;
    color: var(--rec-text-light);
}
.property-recommendation__price {
    margin: 10px 0 0;
    font-size: 11.5px;
    line-height: 1.35;
    letter-spacing: .02em;
    color: var(--rec-gold-light);
    display: flex;
    align-items: baseline;
    gap: 6px;
    flex-wrap: wrap;
}
.property-recommendation__price span {
    text-transform: uppercase;
    letter-spacing: .1em;
    font-size: 9.5px;
    color: rgba(247,245,240,.62);
    font-weight: 400;
}
.property-recommendation__price strong {
    font-weight: 500;
    color: var(--rec-gold-light);
    font-size: 13px;
}
.property-recommendation__footer {
    margin-top: 14px;
    padding-top: 13px;
    border-top: 1px solid var(--rec-divider);
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.property-recommendation__meta {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    font-size: 11px;
    line-height: 1.2;
    color: #fff;
}
.property-recommendation__location {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-width: 0;
}
.property-recommendation__location svg { width: 14px; height: 14px; color: var(--rec-gold-light); flex: 0 0 auto; }
.property-recommendation__dot {
    display: inline-block;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--rec-gold);
    flex: 0 0 auto;
}
.property-recommendation__area { white-space: nowrap; }

.property-recommendation__button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 100%;
    min-height: 38px;
    padding: 0 12px;
    border: 1px solid #d39a4b;
    border-radius: 4px;
    background: transparent;
    font-family: "Manrope", sans-serif;
    font-size: 11px;
    line-height: 1;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #e9b461;
    transition: background var(--er-transition), color var(--er-transition), transform var(--er-transition);
}
.property-recommendation__button:hover {
    background: var(--rec-gold);
    color: #fff;
}
.property-recommendation__button svg { width: 17px; height: 17px; transition: transform var(--er-transition); }
.property-recommendation__button:hover svg { transform: translateX(3px); }

/* ---------- CTA ---------- */
.recommendations__all-button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(20px, 3vw, 42px);
    width: min(960px, 100%);
    min-height: 64px;
    margin: clamp(24px, 3vw, 32px) auto 0;
    padding: 12px 24px;
    border: 1px solid var(--rec-gold);
    border-radius: 4px;
    background: transparent;
    font-family: "Prata", Georgia, serif;
    font-size: clamp(15px, 1.5vw, 24px);
    line-height: 1.2;
    font-weight: 400;
    color: var(--rec-navy);
    text-align: center;
    transition: background var(--er-transition), color var(--er-transition);
}
.recommendations__all-button svg {
    width: clamp(20px, 1.8vw, 28px);
    height: clamp(20px, 1.8vw, 28px);
    color: var(--rec-gold);
    transition: transform var(--er-transition), color var(--er-transition);
    flex: 0 0 auto;
}
.recommendations__all-button:hover {
    background: var(--rec-gold);
    color: #fff;
}
.recommendations__all-button:hover svg { color: #fff; transform: translateX(4px); }

/* ---------- adaptive ---------- */

@media (max-width: 1199px) {
    .recommendations__grid { gap: 16px; }
    .property-recommendation__image { height: 170px; }
    .property-recommendation__icon { width: 46px; height: 46px; }
    .property-recommendation__icon svg { width: 24px; height: 24px; }
    .property-recommendation__label { font-size: 10px; padding: 5px 9px; min-height: 26px; }
    .property-recommendation__body { padding: 14px 12px 12px; }
    .property-recommendation__button { min-height: 34px; font-size: 10px; }
}

@media (max-width: 1023px) {
    .recommendations__grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 20px;
    }
    .property-recommendation__image { height: 170px; }
    .property-recommendation__text { font-size: 11.5px; }
}

@media (max-width: 899px) {
    .recommendations__header {
        grid-template-columns: minmax(0, 1fr) 260px;
        gap: 20px;
        min-height: 200px;
    }
    .recommendations__decor { min-height: 200px; }
    .property-recommendation__image { height: 160px; }
}

@media (max-width: 767px) {
    .recommendations__grid { grid-template-columns: repeat(3, 1fr); }
    .recommendations__header { grid-template-columns: minmax(0, 1fr) 220px; }
}

@media (max-width: 599px) {
    .recommendations__container { width: 100%; padding-inline: 20px; }
    .recommendations__header {
        position: relative;
        grid-template-columns: 1fr;
        min-height: 186px;
        overflow: hidden;
        gap: 0;
        border-radius: 8px;
        margin-bottom: 16px;
    }
    .recommendations__heading {
        position: relative;
        z-index: 2;
        padding: 20px 16px;
    }
    .recommendations__title { font-size: clamp(30px, 9.5vw, 42px); line-height: .98; }
    .recommendations__title br { display: inline; }
    .recommendations__subtitle { font-size: clamp(20px, 6.5vw, 26px); }
    .recommendations__description { font-size: 12.5px; font-weight: 600; }
    .recommendations__decor {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        width: 60%;
        min-height: 0;
        border-radius: 0;
        pointer-events: none;
        z-index: 1;
    }
    .recommendations__decor::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 2;
        background: linear-gradient(90deg, #f8f0ea 0%, rgba(248,240,234,.86) 24%, rgba(248,240,234,.15) 65%, transparent 100%);
    }

    /* Горизонтальная карточка */
    .recommendations__grid {
        display: flex;
        flex-direction: column;
        gap: 12px;
        margin-top: 16px;
    }
    .property-recommendation {
        display: grid;
        grid-template-columns: 44% 56%;
        min-height: 120px;
        border-radius: 7px;
    }
    .property-recommendation__image {
        height: 100%;
        min-height: 120px;
    }
    .property-recommendation__label {
        top: 8px;
        left: 10px;
        min-height: 22px;
        padding: 4px 7px;
        font-size: 9px;
    }
    .property-recommendation__icon {
        left: 12px;
        bottom: 8px;
        width: 36px;
        height: 36px;
    }
    .property-recommendation__icon svg { width: 20px; height: 20px; }
    .property-recommendation__body {
        padding: 10px 10px 10px 12px;
        justify-content: space-between;
    }
    .property-recommendation__text {
        font-size: 10.5px;
        line-height: 1.35;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
        overflow: hidden;
    }
    .property-recommendation__footer {
        margin-top: 8px;
        padding-top: 8px;
        flex-direction: row;
        align-items: flex-end;
        justify-content: space-between;
        gap: 6px;
    }
    .property-recommendation__meta { font-size: 10px; gap: 5px; }
    .property-recommendation__button {
        width: auto;
        min-width: 108px;
        min-height: 32px;
        font-size: 10px;
        padding: 0 10px;
    }
    .property-recommendation__button svg { width: 14px; height: 14px; }

    .recommendations__all-button {
        min-height: 56px;
        border-radius: 8px;
        font-size: 15px;
        padding: 12px 16px;
    }
    .recommendations__all-button svg { width: 18px; height: 18px; }
}

@media (max-width: 359px) {
    .recommendations__container { width: calc(100% - 24px); }
    .property-recommendation { grid-template-columns: 42% 58%; }
    .property-recommendation__button { min-width: 100px; font-size: 9px; }
    .recommendations__title { font-size: 30px; }
    .recommendations__subtitle { font-size: 19px; }
    .recommendations__description { font-size: 11px; }
}

/* ================================================================== *
 *  Партнёры: застройщики  (er-partners)
 * ================================================================== */
.er-partners {
    /* локальные алиасы бренда — .er-partners вне .about-page, где они объявлены */
    --navy:        var(--er-fg);
    --navy-dark:   #081C39;
    --navy-deep:   #081C39;
    --gold:        var(--er-accent);
    --gold-dark:   var(--er-accent-lo);
    --gold-light:  #DFB56F;
    --border-gold: rgba(201,139,53,.42);
    --border-lite: rgba(201,139,53,.24);

    background: transparent;
    padding: clamp(20px, 2.6vw, 32px) 0;
    color: var(--navy);
}
.er-partners__container {
    width: min(100% - var(--er-gutter) * 2, var(--er-container));
    margin: 0 auto;
}

/* монограмма SL между двумя золотыми линиями (шапка) */
.er-partners__monogram {
    height: 52px;
    margin: 0 auto 18px;
    gap: 22px;
    max-width: 640px;
}
.er-partners__monogram::before,
.er-partners__monogram::after {
    min-width: 40px;
    max-width: 260px;
}
.er-partners__mono-letter {
    font-family: "Prata", "Cormorant Garamond", Georgia, serif;
    font-size: 34px;
    line-height: 1;
    color: var(--gold);
    letter-spacing: 0;
    transform: translateY(-2px);
}
.er-partners__mono-img {
    display: block;
    width: auto;
    height: clamp(36px, 3vw, 48px);
    object-fit: contain;
}

/* заголовок */
.er-partners__title {
    margin: 0 auto;
    font-family: "Prata", "Cormorant Garamond", Georgia, serif;
    font-weight: 400;
    font-size: clamp(30px, 4.2vw, 56px);
    line-height: 1.08;
    letter-spacing: .01em;
    text-transform: uppercase;
    text-align: center;
    color: var(--navy);
}
.er-partners__eyebrow {
    margin: 10px auto 0;
    font-family: var(--er-font-body);
    font-weight: 500;
    font-size: clamp(12px, 1.15vw, 18px);
    line-height: 1.35;
    letter-spacing: .18em;
    text-transform: uppercase;
    text-align: center;
    color: var(--gold-dark);
}

/* панель логотипов */
.er-partners__logos {
    margin-top: clamp(20px, 2vw, 28px);
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    grid-auto-rows: minmax(84px, auto);
    background: transparent;
    border: 1px solid var(--border-lite);
    border-radius: 14px;
    overflow: hidden;
    position: relative;
}
.er-partners__logo {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 86px;
    padding: 12px clamp(10px, 1.2vw, 20px);
    color: var(--gold);
    box-sizing: border-box;
}
/* горизонтальные разделители — не касаются вертикальных краёв */
.er-partners__logo::before {
    content: "";
    position: absolute;
    left: 6%;
    right: 6%;
    top: 0;
    height: 1px;
    background: var(--border-lite);
}
.er-partners__logo:nth-child(-n+5)::before { display: none; }
/* вертикальные разделители — не касаются верх/низ строки */
.er-partners__logo::after {
    content: "";
    position: absolute;
    top: 18%;
    bottom: 18%;
    left: 0;
    width: 1px;
    background: var(--border-lite);
}
.er-partners__logo:nth-child(5n+1)::after { display: none; }
.er-partners__logo img {
    max-width: min(100%, 160px);
    max-height: 62px;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
    filter: none;
}
.er-partners__logo-slot {
    font-family: var(--er-font-body);
    font-weight: 600;
    font-size: 12px;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--gold-dark);
    opacity: .55;
    padding: 8px 14px;
    border: 1px dashed var(--border-lite);
    border-radius: 6px;
    background: rgba(255,255,255,.5);
    white-space: nowrap;
}

/* разделитель «что получают мои доверители» — переиспользуем .section-heading */
.er-partners__divider {
    margin: clamp(28px, 3vw, 44px) auto 0;
    height: 32px;
    max-width: 900px;
}
.section-heading .er-partners__divider-title,
.er-partners__divider .er-partners__divider-title {
    margin: 0;
    font-family: var(--er-font-body);
    font-weight: 500;
    font-size: clamp(13px, 1.15vw, 18px);
    line-height: 1.2;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--gold-dark);
    text-align: center;
    white-space: normal;
}

/* карточки преимуществ — 5 в ряд */
.er-partners__benefits {
    margin-top: clamp(18px, 2vw, 26px);
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: clamp(10px, 1vw, 16px);
    align-items: stretch;
}
.er-benefit {
    display: flex;
    flex-direction: column;
    background: transparent;
    border: 1px solid var(--border-lite);
    border-radius: 14px;
    padding: clamp(14px, 1.2vw, 20px);
    box-sizing: border-box;
    min-height: 240px;
    color: var(--navy);
    min-width: 0;
}
.er-benefit__head {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: flex-start;
    column-gap: 10px;
    margin: 0;
    min-width: 0;
}
.er-benefit__icon {
    width: clamp(40px, 3vw, 48px);
    aspect-ratio: 1 / 1;
    border-radius: 999px;
    background: var(--navy);
    color: var(--gold);
    display: grid;
    place-items: center;
    flex-shrink: 0;
}
.er-benefit__icon svg {
    width: 55%;
    height: 55%;
}
.er-benefit__title {
    margin: 0;
    min-width: 0;
    max-width: 100%;
    font-family: "Prata", "Cormorant Garamond", Georgia, serif;
    font-weight: 400;
    font-size: clamp(10.5px, .82vw, 13px);
    line-height: 1.2;
    letter-spacing: .01em;
    text-transform: uppercase;
    color: var(--navy);
    text-align: left;
    overflow-wrap: normal;
    word-break: keep-all;
    align-self: center;
}
.er-benefit__title::after {
    content: "";
    display: block;
    width: 22px;
    height: 1px;
    background: var(--gold);
    margin-top: 8px;
}
.er-benefit__text {
    margin: clamp(12px, 1.1vw, 16px) 0 0;
    font-family: var(--er-font-body);
    font-weight: 400;
    font-size: clamp(11.5px, .88vw, 13.5px);
    line-height: 1.5;
    color: var(--navy);
    opacity: .88;
    text-align: left;
    overflow-wrap: break-word;
}

/* нижний цитатный баннер */
.er-partners__banner {
    position: relative;
    margin-top: clamp(16px, 1.6vw, 22px);
    height: clamp(150px, 15vw, 180px);
    border-radius: 14px;
    overflow: hidden;
    background: linear-gradient(105deg, #081C39 0%, #081C39 55%, #081C39 100%);
    color: #f2ead9;
    display: grid;
    grid-template-columns: 26% minmax(0, 1fr) 20%;
    align-items: center;
}
.er-partners__banner-city {
    position: relative;
    height: 100%;
    overflow: hidden;
    -webkit-mask-image: linear-gradient(to right, #000 0%, #000 55%, transparent 100%);
            mask-image: linear-gradient(to right, #000 0%, #000 55%, transparent 100%);
}
.er-partners__banner-city img,
.er-partners__banner-city svg {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}
.er-partners__banner-quote {
    margin: 0;
    padding: 0 clamp(12px, 1.6vw, 24px);
    display: flex;
    align-items: flex-start;
    gap: clamp(8px, 1vw, 14px);
    color: #f2ead9;
    position: relative;
    z-index: 2;
}
.er-partners__banner-mark {
    font-family: "Prata", "Cormorant Garamond", Georgia, serif;
    font-size: clamp(40px, 4vw, 56px);
    line-height: .5;
    color: var(--gold);
    align-self: flex-start;
    transform: translateY(14px);
    flex-shrink: 0;
}
.er-partners__banner-text {
    margin: 0;
    font-family: "Prata", "Cormorant Garamond", Georgia, serif;
    font-weight: 400;
    font-size: clamp(14px, 1.35vw, 21px);
    line-height: 1.25;
    letter-spacing: .005em;
    color: #f2ead9;
    white-space: normal;
}
.er-partners__banner-line {
    display: block;
}
.er-partners__banner-accent {
    color: var(--gold-light);
}
.er-partners__banner-arch {
    height: 100%;
    padding: 14px 18px 14px 0;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    color: var(--gold-light);
    opacity: .95;
    box-sizing: border-box;
}
.er-partners__banner-arch svg {
    max-width: 260px;
    width: 100%;
    height: auto;
}

/* ---------- Адаптивность er-partners ---------- */

@media (min-width: 1024px) and (max-height: 820px) {
    .er-partners { padding: clamp(44px, 6vw, 72px) 0; }
    .er-partners__logos { min-height: 220px; }
    .er-benefit { min-height: 200px; }
    .er-partners__banner { height: clamp(140px, 14vw, 168px); }
}

@media (max-width: 1199px) {
    .er-partners__benefits {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 14px;
    }
    .er-benefit:nth-child(4),
    .er-benefit:nth-child(5) {
        grid-column: span 1;
    }
    .er-benefit:nth-child(4) { grid-column: 1 / span 1; grid-column-start: 2; }
    .er-benefit:nth-child(5) { grid-column: 3 / span 1; }
    .er-partners__logos {
        min-height: 0;
        grid-auto-rows: minmax(80px, auto);
    }
    .er-benefit__title { font-size: clamp(13px, 1.4vw, 16px); }
}

@media (max-width: 1023px) {
    .er-partners__benefits {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
    }
    .er-benefit:nth-child(4) { grid-column: auto; grid-column-start: auto; }
    .er-benefit:nth-child(5) { grid-column: auto; }
    .er-partners__logos {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    .er-partners__logo::before { display: none; }
    .er-partners__logo::after { display: none; }
    .er-partners__logo {
        border-top: 1px solid var(--border-lite);
        border-left: 1px solid var(--border-lite);
    }
    .er-partners__logo:nth-child(-n+4) { border-top: 0; }
    .er-partners__logo:nth-child(4n+1) { border-left: 0; }

    .er-partners__banner {
        height: auto;
        grid-template-columns: 1fr;
        grid-template-rows: 120px auto 100px;
        padding: 0;
    }
    .er-partners__banner-city {
        -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 60%, transparent 100%);
                mask-image: linear-gradient(to bottom, #000 0%, #000 60%, transparent 100%);
    }
    .er-partners__banner-quote {
        padding: 16px 20px;
        justify-content: center;
    }
    .er-partners__banner-arch {
        justify-content: center;
        padding: 8px 20px 14px;
    }
    .er-partners__banner-arch svg { max-width: 200px; }
}

@media (max-width: 639px) {
    .er-partners { padding: 48px 0 56px; }
    .er-partners__title { font-size: clamp(28px, 8vw, 40px); }
    .er-partners__eyebrow { font-size: 13px; letter-spacing: .14em; }
    .er-partners__monogram {
        max-width: 320px;
        gap: 16px;
        grid-template-columns: 1fr auto 1fr;
    }
    .er-partners__monogram::before,
    .er-partners__monogram::after {
        display: block;
        content: "";
        height: 1px;
        background: var(--gold);
        min-width: 24px;
        max-width: 120px;
        width: 100%;
        justify-self: center;
    }
    .er-partners__mono-letter { font-size: 28px; }

    .er-partners__logos {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .er-partners__logo {
        border-left: 1px solid var(--border-lite);
        border-top: 1px solid var(--border-lite);
        min-height: 78px;
    }
    .er-partners__logo:nth-child(-n+2) { border-top: 0; }
    .er-partners__logo:nth-child(2n+1) { border-left: 0; }
    .er-partners__logo img { max-height: 48px; }

    .er-partners__divider { max-width: 100%; }
    .er-partners__divider::before,
    .er-partners__divider::after { max-width: 60px; }
    .er-partners__divider-title { font-size: 13px; letter-spacing: .14em; }

    .er-partners__benefits {
        grid-template-columns: 1fr;
        gap: 12px;
    }
    .er-benefit { min-height: 0; }
    .er-benefit__title { font-size: 15px; }
    .er-benefit__text  { font-size: 13.5px; }

    .er-partners__banner {
        grid-template-rows: 130px auto 110px;
        border-radius: 12px;
    }
    .er-partners__banner-text { font-size: 20px; line-height: 1.28; }
    .er-partners__banner-mark { font-size: 44px; transform: translateY(12px); }
}

@media (max-width: 389px) {
    .er-partners__title { font-size: 26px; }
    .er-partners__logos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .er-partners__banner-text { font-size: 18px; }
    .er-benefit__icon { width: 46px; }
}

/* ================================================================== *
 *  Кейсы и отзывы доверителей (er-cases)
 * ================================================================== */
.er-cases {
    /* локальные алиасы бренда */
    --navy:        var(--er-fg);
    --gold:        var(--er-accent);
    --gold-dark:   var(--er-accent-lo);
    --gold-light:  #DFB56F;
    --border-lite: rgba(201,139,53,.24);
    --border-gold: rgba(201,139,53,.42);

    background: transparent;
    padding: clamp(20px, 2.6vw, 32px) 0;
    color: var(--navy);
}
.er-cases__container {
    width: min(100% - var(--er-gutter) * 2, var(--er-container));
    margin: 0 auto;
    box-sizing: border-box;
}

/* intro: two-col — text left, photo right */
.er-cases__intro {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    gap: clamp(32px, 4vw, 68px);
    align-items: center;
    min-width: 0;
}
.er-cases__head { min-width: 0; }
.er-cases__eyebrow {
    margin: 0 0 clamp(20px, 2vw, 32px);
    font-family: var(--er-font-body);
    font-weight: 500;
    font-size: clamp(12px, 1vw, 15px);
    line-height: 1.2;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--gold-dark);
}
.er-cases__title {
    margin: 0;
    font-family: "Prata", "Cormorant Garamond", Georgia, serif;
    font-weight: 400;
    font-size: clamp(32px, 4.2vw, 58px);
    line-height: 1.08;
    letter-spacing: -.01em;
    color: var(--navy);
    text-wrap: balance;
}
.er-cases__lead {
    margin: clamp(20px, 2.2vw, 32px) 0 0;
    font-family: var(--er-font-body);
    font-weight: 400;
    font-size: clamp(13.5px, 1.05vw, 17px);
    line-height: 1.5;
    color: var(--navy);
}
.er-cases__divider {
    display: block;
    width: 48px;
    height: 1px;
    margin-top: clamp(20px, 2vw, 32px);
    background: var(--gold);
}

/* photo */
.er-cases__photo {
    position: relative;
    aspect-ratio: 4 / 3;
    border-radius: 10px;
    overflow: hidden;
    background: var(--er-bg-muted);
}
.er-cases__photo picture,
.er-cases__photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.er-cases__photo-placeholder {
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #f0e1cd 0%, #e0c9a4 100%);
}

/* quote card — bottom */
.er-cases__quote {
    margin-top: clamp(28px, 3vw, 44px);
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: clamp(20px, 2.4vw, 40px);
    padding: clamp(18px, 2vw, 30px) clamp(24px, 2.6vw, 40px);
    border: 1px solid var(--border-gold);
    border-radius: 10px;
    background: transparent;
}
.er-cases__quote-icon {
    width: clamp(80px, 8vw, 116px);
    aspect-ratio: 1 / 1;
    display: grid;
    place-items: center;
    flex-shrink: 0;
    color: var(--gold);
}
.er-cases__quote-icon img,
.er-cases__quote-icon svg {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
}
.er-cases__quote-text {
    margin: 0;
    font-family: "Prata", "Cormorant Garamond", Georgia, serif;
    font-weight: 400;
    font-size: clamp(14.5px, 1.35vw, 21px);
    line-height: 1.55;
    color: var(--navy);
    overflow-wrap: break-word;
}

/* ---------- case cards grid ---------- */
.er-cases__grid {
    margin-top: clamp(32px, 4vw, 56px);
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(16px, 1.6vw, 24px);
    align-items: stretch;
    min-width: 0;
}
.er-case-card {
    position: relative;
    display: flex;
    flex-direction: column;
    background: transparent;
    border-radius: 12px;
    overflow: hidden;
    min-width: 0;
    box-shadow: 0 12px 32px rgba(8,28,57,.08);
}
.er-case-card__photo {
    position: relative;
    aspect-ratio: 16 / 10;
    background: var(--er-bg-muted);
    overflow: hidden;
    border-radius: 12px 12px 0 0;
    isolation: isolate;
}
.er-case-card__photo picture,
.er-case-card__photo img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}
.er-case-card__photo-placeholder {
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #081C39, #081C39);
}
.er-case-card__icon {
    position: absolute;
    top: clamp(14px, 1.4vw, 22px);
    left: clamp(14px, 1.4vw, 22px);
    width: clamp(46px, 4vw, 60px);
    aspect-ratio: 1 / 1;
    z-index: 2;
    display: block;
}
.er-case-card__icon img,
.er-case-card__icon svg {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
}
.er-case-card__body {
    background: #081C39;
    color: #f5eee1;
    padding: clamp(14px, 1.2vw, 20px) clamp(16px, 1.4vw, 22px);
    display: flex;
    flex-direction: column;
    flex: 1;
    border-radius: 0 0 12px 12px;
    min-width: 0;
}
.er-case-card__title {
    margin: 0;
    font-family: "Prata", "Cormorant Garamond", Georgia, serif;
    font-weight: 400;
    font-size: clamp(18px, 1.35vw, 22px);
    line-height: 1.15;
    color: var(--gold-light);
    overflow-wrap: break-word;
    text-wrap: balance;
}
.er-case-card__sub {
    margin: clamp(10px, 1vw, 14px) 0 clamp(14px, 1.2vw, 18px);
    font-family: var(--er-font-body);
    font-weight: 400;
    font-size: clamp(13px, 0.95vw, 15px);
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.78);
    overflow-wrap: break-word;
    flex: 1;
}
@media (max-width: 720px) {
    .er-case-card__sub { font-size: 14px; line-height: 1.5; }
}
.er-case-card__divider {
    display: block;
    width: 36px;
    height: 1px;
    margin: clamp(10px, 1vw, 14px) 0;
    background: var(--gold);
}
.er-case-card__result {
    margin: 0 0 clamp(12px, 1.2vw, 18px);
    font-family: var(--er-font-body);
    font-weight: 400;
    font-size: clamp(12px, 0.9vw, 14px);
    line-height: 1.45;
    color: #ffffff;
    flex: 1;
    overflow-wrap: break-word;
}
.er-case-card__accent {
    color: var(--gold-light);
    font-weight: 700;
}
.er-case-card__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 14px;
    border: 1px solid var(--gold);
    border-radius: 8px;
    background: transparent;
    color: var(--gold-light);
    font-family: var(--er-font-body);
    font-weight: 500;
    font-size: 13px;
    text-decoration: none;
    transition: background 220ms ease, color 220ms ease;
    margin-top: auto;
}
.er-case-card__button svg { width: 14px; height: 14px; }
.er-case-card__button:hover {
    background: var(--gold);
    color: #081C39;
}

/* CTA "Смотреть все кейсы" */
.er-cases__cta-wrap {
    display: flex;
    justify-content: center;
    margin-top: clamp(28px, 3.4vw, 48px);
}
.er-cases__cta {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    padding: 18px clamp(32px, 4vw, 56px);
    background: #081C39;
    color: #ffffff;
    border-radius: 10px;
    font-family: var(--er-font-body);
    font-weight: 600;
    font-size: 14px;
    letter-spacing: .14em;
    text-transform: uppercase;
    text-decoration: none;
    transition: background 220ms ease, transform 220ms ease;
}
.er-cases__cta svg { width: 20px; height: 20px; }
.er-cases__cta:hover {
    background: #081C39;
    transform: translateY(-1px);
}

/* ---------- testimonials ---------- */
.er-testimonials {
    margin-top: clamp(48px, 5vw, 80px);
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 3fr);
    gap: clamp(28px, 3.4vw, 56px);
    align-items: start;
}
.er-testimonials__intro { min-width: 0; }
.er-testimonials__eyebrow {
    margin: 0 0 clamp(18px, 2vw, 28px);
    font-family: var(--er-font-body);
    font-weight: 500;
    font-size: clamp(10.5px, .88vw, 13px);
    line-height: 1.2;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--gold-dark);
    white-space: nowrap;
}
@media (max-width: 389px) {
    .er-testimonials__eyebrow { white-space: normal; }
}
.er-testimonials__title {
    margin: 0;
    font-family: "Prata", "Cormorant Garamond", Georgia, serif;
    font-weight: 400;
    font-size: clamp(19px, 1.95vw, 28px);
    line-height: 1.2;
    letter-spacing: -.005em;
    color: var(--navy);
    text-wrap: balance;
}
.er-testimonials__divider {
    display: block;
    width: 48px;
    height: 1px;
    margin-top: clamp(20px, 2vw, 32px);
    background: var(--gold);
}
.er-testimonials__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(16px, 1.6vw, 24px);
    min-width: 0;
}
.er-testimonial {
    display: flex;
    flex-direction: column;
    padding: clamp(18px, 1.6vw, 24px);
    border: 1px solid var(--border-gold);
    border-radius: 12px;
    background: transparent;
    min-height: 280px;
    min-width: 0;
}
.er-testimonial__mark {
    font-family: "Prata", "Cormorant Garamond", Georgia, serif;
    font-size: clamp(34px, 3.2vw, 44px);
    line-height: .7;
    color: var(--gold);
    display: block;
    margin-bottom: 2px;
}
.er-testimonial__text {
    margin: 0 0 clamp(14px, 1.4vw, 18px);
    font-family: var(--er-font-body);
    font-weight: 500;
    font-size: clamp(13px, 1vw, 15px);
    line-height: 1.55;
    color: var(--navy);
    overflow-wrap: break-word;
    text-align: justify;
    hyphens: auto;
    flex: 1 1 auto;
    max-height: calc(1.55em * 7);
    overflow: hidden;
    position: relative;
    -webkit-mask-image: linear-gradient(180deg, #000 82%, transparent 100%);
    mask-image: linear-gradient(180deg, #000 82%, transparent 100%);
}
.er-testimonial__text > p { margin: 0 0 0.7em; font: inherit; color: inherit; }
.er-testimonial__text > p:last-child { margin-bottom: 0; }
.er-testimonial__author {
    display: flex;
    align-items: center;
    gap: clamp(10px, 1vw, 14px);
    margin: auto 0 0;
    min-width: 0;
    flex: 0 0 auto;
}
.er-testimonial__avatar {
    width: clamp(46px, 3.6vw, 58px);
    aspect-ratio: 1 / 1;
    border-radius: 999px;
    overflow: hidden;
    background: var(--er-bg-muted);
    flex-shrink: 0;
    border: 1px solid var(--border-lite);
}
.er-testimonial__avatar img,
.er-testimonial__avatar picture {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}
.er-testimonial__avatar-placeholder {
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #e0c9a4, #c99e5c);
}
.er-testimonial__author-meta { min-width: 0; }
.er-testimonial__name {
    margin: 0;
    font-family: var(--er-font-body);
    font-weight: 700;
    font-size: clamp(13px, 1vw, 15px);
    line-height: 1.2;
    color: var(--navy);
}
.er-testimonial__role {
    margin: 4px 0 0;
    font-family: var(--er-font-body);
    font-weight: 400;
    font-size: clamp(12px, .92vw, 14px);
    line-height: 1.3;
    color: var(--navy);
    opacity: .7;
}

/* ---------- final quote banner ---------- */
.er-cases__final {
    margin-top: clamp(24px, 2.8vw, 40px);
    display: grid;
    grid-template-columns: 24% minmax(0, 1fr) 40%;
    align-items: center;
    background: linear-gradient(105deg, #081C39 0%, #081C39 60%, #081C39 100%);
    color: #f5eee1;
    border-radius: 12px;
    overflow: hidden;
    min-height: clamp(140px, 13vw, 180px);
}
.er-cases__final-photo {
    position: relative;
    height: 100%;
    overflow: hidden;
    -webkit-mask-image: linear-gradient(to right, #000 0%, #000 55%, rgba(0,0,0,.55) 78%, transparent 100%);
            mask-image: linear-gradient(to right, #000 0%, #000 55%, rgba(0,0,0,.55) 78%, transparent 100%);
}
.er-cases__final-photo picture,
.er-cases__final-photo img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}
.er-cases__final-photo-placeholder {
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #081C39, #081C39);
}
.er-cases__final-quote {
    margin: 0;
    padding: clamp(16px, 1.6vw, 26px) clamp(18px, 2vw, 32px);
    display: flex;
    align-items: flex-start;
    gap: clamp(10px, 1vw, 16px);
    color: var(--gold-light);
}
.er-cases__final-mark {
    font-family: "Prata", "Cormorant Garamond", Georgia, serif;
    font-size: clamp(40px, 4vw, 56px);
    line-height: .6;
    color: var(--gold);
    align-self: flex-start;
    transform: translateY(16px);
    flex-shrink: 0;
}
.er-cases__final-text {
    margin: 0;
    font-family: "Prata", "Cormorant Garamond", Georgia, serif;
    font-weight: 400;
    font-size: clamp(16px, 1.55vw, 24px);
    line-height: 1.28;
    color: var(--gold-light);
}
.er-cases__final-city {
    height: 100%;
    padding: clamp(10px, 1.1vw, 16px) clamp(10px, 1.2vw, 18px);
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--gold-light);
    opacity: .9;
}
.er-cases__final-city img,
.er-cases__final-city svg {
    width: 100%;
    max-width: 620px;
    height: auto;
    display: block;
}

/* ---------- Адаптивность er-cases ---------- */

@media (min-width: 1024px) and (max-height: 820px) {
    .er-cases { padding: clamp(44px, 6vw, 72px) 0; }
    .er-cases__title { font-size: clamp(30px, 3.6vw, 48px); }
}

@media (max-width: 1199px) {
    .er-cases__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .er-testimonials {
        grid-template-columns: 1fr;
        gap: 32px;
    }
    .er-testimonials__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .er-cases__final { grid-template-columns: 22% minmax(0, 1fr) 38%; }
}

@media (max-width: 1023px) {
    .er-cases__intro {
        grid-template-columns: minmax(0, 1fr);
        gap: clamp(24px, 3vw, 36px);
    }
    .er-cases__photo { aspect-ratio: 16 / 10; }
    .er-cases__title { font-size: clamp(32px, 5vw, 48px); }
    .er-cases__quote {
        gap: clamp(16px, 2vw, 28px);
        padding: clamp(16px, 2vw, 24px) clamp(20px, 2.4vw, 32px);
    }
    .er-cases__quote-icon { width: clamp(72px, 10vw, 96px); }
    .er-case-card__title { font-size: clamp(22px, 2.4vw, 28px); }
    .er-case-card__photo { aspect-ratio: 4 / 3; }

    .er-testimonials__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .er-testimonial:nth-child(3) { grid-column: 1 / -1; max-width: 60%; margin: 0 auto; }
    .er-cases__final {
        grid-template-columns: 1fr;
        grid-template-rows: 150px auto 120px;
    }
    .er-cases__final-city img,
    .er-cases__final-city svg { max-width: 400px; }
}

@media (max-width: 639px) {
    .er-cases { padding: 48px 0; }
    .er-cases__eyebrow { font-size: 11.5px; letter-spacing: .14em; margin-bottom: 16px; }
    .er-cases__title { font-size: clamp(28px, 8vw, 38px); }
    .er-cases__lead { font-size: 14px; margin-top: 16px; }
    .er-cases__divider { margin-top: 20px; }
    .er-cases__photo { aspect-ratio: 4 / 3; border-radius: 8px; }
    .er-cases__quote {
        grid-template-columns: 1fr;
        justify-items: center;
        gap: 16px;
        padding: 20px 18px;
        text-align: center;
    }
    .er-cases__quote-icon { width: 76px; }
    .er-cases__quote-text { font-size: 15px; line-height: 1.5; }

    .er-cases__grid { grid-template-columns: 1fr; gap: 16px; }
    .er-case-card__photo { aspect-ratio: 16 / 10; }
    .er-case-card__icon { width: 48px; top: 14px; left: 14px; }
    .er-case-card__title { font-size: 22px; }
    .er-cases__cta { padding: 16px 32px; font-size: 13px; }

    .er-testimonials__title { font-size: clamp(20px, 6vw, 26px); }
    .er-testimonials__grid { grid-template-columns: 1fr; }
    .er-testimonial:nth-child(3) { max-width: none; }
    .er-testimonial { min-height: 0; padding: 20px; }
    .er-cases__final-quote { padding: 20px; }
    .er-cases__final-text { font-size: 18px; }
}

@media (max-width: 389px) {
    .er-cases__title { font-size: 26px; }
    .er-cases__quote-text { font-size: 14px; }
}

/* ================================================================== *
 *  Что получают мои доверители (er-benefits)
 * ================================================================== */
.er-benefits {
    --navy:        var(--er-fg);
    --gold:        var(--er-accent);
    --gold-dark:   var(--er-accent-lo);
    --gold-light:  #DFB56F;
    --border-lite: rgba(201,139,53,.24);
    --border-gold: rgba(201,139,53,.42);

    background: transparent;
    padding: clamp(20px, 2.6vw, 32px) 0;
    color: var(--navy);
}
.er-benefits__container {
    width: min(100% - var(--er-gutter) * 2, var(--er-container));
    margin: 0 auto;
    box-sizing: border-box;
}

/* section title */
.er-benefits__title {
    margin: 0 0 clamp(28px, 3vw, 44px);
    font-family: "Prata", "Cormorant Garamond", Georgia, serif;
    font-weight: 400;
    font-size: clamp(28px, 3.6vw, 48px);
    line-height: 1.1;
    letter-spacing: -.005em;
    color: var(--navy);
    text-align: center;
    text-wrap: balance;
}

/* 5-card grid */
.er-benefits__grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: clamp(14px, 1.4vw, 22px);
    align-items: stretch;
    min-width: 0;
}
.er-benefit-card {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    padding: clamp(22px, 2vw, 32px) clamp(18px, 1.6vw, 26px);
    background: #FBF7F3;
    border: 1px solid var(--border-lite);
    border-radius: 14px;
    text-align: left;
    min-height: 320px;
    min-width: 0;
    box-sizing: border-box;
}
.er-benefit-card__icon {
    width: clamp(56px, 4.4vw, 66px);
    aspect-ratio: 1 / 1;
    background: var(--navy);
    border-radius: 999px;
    display: grid;
    place-items: center;
    margin: 0 auto clamp(14px, 1.4vw, 22px);
    flex-shrink: 0;
    color: var(--gold);
}
.er-benefit-card__icon img,
.er-benefit-card__icon svg {
    width: 58%;
    height: 58%;
    display: block;
    object-fit: contain;
}
.er-benefit-card__title {
    margin: 0 0 clamp(14px, 1.4vw, 20px);
    font-family: "Prata", "Cormorant Garamond", Georgia, serif;
    font-weight: 400;
    font-size: clamp(16px, 1.4vw, 22px);
    line-height: 1.18;
    letter-spacing: 0;
    color: var(--navy);
    text-align: center;
    text-wrap: balance;
    overflow-wrap: break-word;
}
.er-benefit-card__text {
    margin: 0;
    font-family: var(--er-font-body);
    font-weight: 500;
    font-size: clamp(12.5px, 1vw, 14.5px);
    line-height: 1.5;
    color: var(--navy);
    opacity: .88;
    text-align: left;
    overflow-wrap: break-word;
}

/* banner "Доступ к лучшим возможностям рынка" */
.er-benefits__banner {
    position: relative;
    margin-top: clamp(24px, 2.6vw, 40px);
    display: grid;
    grid-template-columns: minmax(200px, 30%) minmax(0, 1fr) minmax(140px, 20%);
    align-items: center;
    background: linear-gradient(105deg, #081C39 0%, #081C39 60%, #081C39 100%);
    color: #f5eee1;
    border-radius: 14px;
    overflow: hidden;
    min-height: clamp(150px, 15vw, 200px);
}
.er-benefits__banner-city {
    height: 100%;
    display: flex;
    align-items: center;
    padding: clamp(12px, 1.6vw, 24px);
    box-sizing: border-box;
    color: var(--gold-light);
    -webkit-mask-image: linear-gradient(to right, #000 0%, #000 70%, rgba(0,0,0,.55) 88%, transparent 100%);
            mask-image: linear-gradient(to right, #000 0%, #000 70%, rgba(0,0,0,.55) 88%, transparent 100%);
}
.er-benefits__banner-city img {
    width: 100%;
    max-width: 380px;
    height: auto;
    display: block;
    object-fit: contain;
}
.er-benefits__banner-quote {
    margin: 0;
    padding: clamp(18px, 2vw, 32px) clamp(14px, 1.6vw, 24px);
    display: flex;
    align-items: flex-start;
    gap: clamp(10px, 1vw, 16px);
    color: var(--gold-light);
    z-index: 2;
    position: relative;
}
.er-benefits__banner-mark {
    font-family: "Prata", "Cormorant Garamond", Georgia, serif;
    font-size: clamp(40px, 4vw, 56px);
    line-height: .55;
    color: var(--gold);
    align-self: flex-start;
    transform: translateY(14px);
    flex-shrink: 0;
}
img.er-benefits__banner-mark,
.er-benefits__banner-mark--img {
    display: block;
    width: clamp(36px, 3vw, 46px);
    height: auto;
    max-height: 40px;
    object-fit: contain;
    font-size: 0;
    line-height: 0;
    color: transparent;
    transform: none;
    margin-top: -6px;
    align-self: flex-start;
    flex: 0 0 auto;
}
.er-benefits__banner-text {
    margin: 0;
    font-family: "Prata", "Cormorant Garamond", Georgia, serif;
    font-weight: 400;
    font-size: clamp(16px, 1.55vw, 24px);
    line-height: 1.28;
    color: var(--gold-light);
}
.er-benefits__banner-line { display: block; }
.er-benefits__banner-accent { color: var(--gold-light); }
.er-benefits__banner-house {
    background: #081C39;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(14px, 1.4vw, 22px);
    height: 100%;
    box-sizing: border-box;
    color: var(--gold);
}
.er-benefits__banner-house img {
    width: 100%;
    max-width: 200px;
    height: auto;
    display: block;
    object-fit: contain;
}

/* ---------- Адаптивность er-benefits ---------- */
@media (min-width: 1024px) and (max-height: 820px) {
    .er-benefits { padding: clamp(44px, 6vw, 72px) 0; }
    .er-benefit-card { min-height: 280px; }
    .er-benefits__banner { min-height: 150px; }
}
@media (max-width: 1199px) {
    .er-benefits__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .er-benefit-card:nth-child(4) { grid-column-start: 1; }
    .er-benefit-card:nth-child(5) { grid-column-start: 3; }
}
@media (max-width: 1023px) {
    .er-benefits__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .er-benefit-card:nth-child(4),
    .er-benefit-card:nth-child(5) { grid-column-start: auto; }
    .er-benefits__banner {
        grid-template-columns: 1fr;
        grid-template-rows: 130px auto 120px;
    }
    .er-benefits__banner-city {
        -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 70%, transparent 100%);
                mask-image: linear-gradient(to bottom, #000 0%, #000 70%, transparent 100%);
        justify-content: center;
    }
    .er-benefits__banner-quote { justify-content: center; padding: 20px; }
}
@media (max-width: 639px) {
    .er-benefits__title { font-size: clamp(26px, 8vw, 36px); }
    .er-benefits__grid { grid-template-columns: 1fr; }
    .er-benefit-card {
        min-height: 0;
        padding: 18px 16px;
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        grid-template-areas:
            "icon title"
            "icon text";
        column-gap: 14px;
        row-gap: 6px;
        align-items: start;
    }
    .er-benefit-card__icon {
        grid-area: icon;
        margin: 0;
        align-self: start;
        width: 52px;
    }
    .er-benefit-card__title {
        grid-area: title;
        margin: 0;
        font-size: 16px;
        line-height: 1.2;
        text-align: left;
    }
    .er-benefit-card__text {
        grid-area: text;
        margin: 0;
        font-size: 13.5px;
        line-height: 1.45;
    }
    .er-benefits__banner-text { font-size: 18px; }
    .er-benefits__banner-mark { font-size: 40px; }
}

/* ================================================================== *
 *  Contacts (er-contacts) — секция «Контакты»
 * ================================================================== */
.er-contacts {
    --navy:        var(--er-fg);
    --gold:        var(--er-accent);
    --gold-dark:   var(--er-accent-lo);
    --gold-light:  #DFB56F;
    --border-lite: rgba(201,139,53,.24);
    --border-gold: rgba(201,139,53,.42);
    --card-bg:     #FBF7F3;

    background: transparent;
    padding: clamp(20px, 2.6vw, 32px) 0;
    color: var(--navy);
}
.er-contacts__container {
    width: min(100% - var(--er-gutter) * 2, var(--er-container));
    margin: 0 auto;
    box-sizing: border-box;
}

/* ---------- 1. Top: intro + hero+form ---------- */
.er-contacts__top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.14fr);
    gap: clamp(24px, 3vw, 48px);
    align-items: start;
}
.er-contacts__intro {
    padding-top: clamp(6px, 1vw, 12px);
}
.er-contacts__eyebrow {
    margin: 0 0 clamp(20px, 2vw, 32px);
    font-family: var(--er-font-body);
    font-weight: 600;
    font-size: 12px;
    letter-spacing: .28em;
    color: var(--gold);
    text-transform: uppercase;
}
.er-contacts__title {
    margin: 0;
    font-family: "Prata", "Cormorant Garamond", Georgia, serif;
    font-weight: 400;
    font-size: clamp(30px, 3.4vw, 48px);
    line-height: 1.1;
    letter-spacing: 0;
    color: var(--navy);
    text-wrap: balance;
}
.er-contacts__divider {
    display: block;
    width: clamp(60px, 6vw, 96px);
    height: 1px;
    background: var(--gold);
    margin: clamp(18px, 2vw, 28px) 0 clamp(18px, 2vw, 28px);
}
.er-contacts__lead {
    margin: 0;
    max-width: 500px;
    font-family: var(--er-font-body);
    font-weight: 500;
    font-size: clamp(13.5px, 1.05vw, 15.5px);
    line-height: 1.6;
    color: var(--navy);
    opacity: .82;
}

/* ---------- 1b. Hero photo + form (по макету: photo слева, form справа) ---------- */
.er-contacts__hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto;
    align-items: stretch;
    gap: 0;
    min-height: clamp(460px, 34vw, 560px);
    position: relative;
}
.er-contacts__hero-photo {
    display: block;
    width: 100%;
    height: 100%;
    min-height: clamp(460px, 34vw, 560px);
    max-height: 620px;
    object-fit: cover;
    border-radius: 18px;
    grid-column: 1 / -1;
    grid-row: 1 / 2;
}
.er-contacts__form {
    grid-column: 1 / -1;
    grid-row: 1 / 2;
    align-self: center;
    justify-self: end;
    width: min(480px, calc(100% - 48px));
    max-width: 480px;
    margin: clamp(20px, 2vw, 32px);
    background: rgba(8, 28, 57, 0.92);
    -webkit-backdrop-filter: blur(6px) saturate(1.05);
            backdrop-filter: blur(6px) saturate(1.05);
    border: 1px solid rgba(223, 181, 111, .18);
    border-radius: 18px;
    padding: clamp(24px, 2.2vw, 32px) clamp(24px, 2.2vw, 30px);
    box-shadow: 0 24px 48px rgba(0, 0, 0, .28);
    display: flex;
    flex-direction: column;
    color: #EEE7D8;
    box-sizing: border-box;
    position: relative;
    z-index: 2;
}
.er-contacts__form-title {
    margin: 0 0 12px;
    font-family: var(--er-font-body);
    font-weight: 600;
    font-size: clamp(14px, 1.15vw, 17px);
    letter-spacing: .22em;
    color: #F5EDD8;
    text-transform: uppercase;
}
.er-contacts__form-sub {
    margin: 0 0 clamp(16px, 1.6vw, 22px);
    font-family: var(--er-font-body);
    font-weight: 400;
    font-size: 13.5px;
    line-height: 1.45;
    color: rgba(238, 231, 216, .78);
}
.er-contacts__form-fields {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 14px;
}
.er-contacts__input {
    width: 100%;
    box-sizing: border-box;
    background: rgba(255, 255, 255, .04);
    border: 1px solid rgba(223, 181, 111, .28);
    border-radius: 10px;
    padding: 13px 14px;
    color: #F5EDD8;
    font-family: var(--er-font-body);
    font-size: 13.5px;
    line-height: 1.3;
    outline: none;
    transition: border-color .18s ease, background-color .18s ease;
}
.er-contacts__input::placeholder {
    color: rgba(238, 231, 216, .55);
}
.er-contacts__input:focus {
    border-color: var(--gold);
    background: rgba(255, 255, 255, .07);
}
.er-contacts__textarea {
    resize: vertical;
    min-height: 74px;
    font-family: var(--er-font-body);
}
.er-contacts__consent {
    display: grid;
    grid-template-columns: 18px 1fr;
    gap: 8px;
    align-items: start;
    margin: 4px 0 14px;
    font-family: var(--er-font-body);
    font-size: 12px;
    line-height: 1.4;
    color: rgba(238, 231, 216, .78);
    cursor: pointer;
}
.er-contacts__consent input[type="checkbox"] {
    width: 16px;
    height: 16px;
    margin: 1px 0 0;
    accent-color: var(--gold);
    cursor: pointer;
}
.er-contacts__consent a {
    color: rgba(238, 231, 216, .78);
    text-decoration: underline;
    text-underline-offset: 2px;
}
.er-contacts__consent a:hover { color: var(--gold-light); }
.er-contacts__submit {
    width: 100%;
    border: 0;
    border-radius: 10px;
    padding: 15px 18px;
    background: var(--gold);
    color: var(--navy);
    font-family: var(--er-font-body);
    font-weight: 600;
    font-size: 13.5px;
    letter-spacing: .22em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background-color .18s ease, transform .18s ease;
}
.er-contacts__submit:hover { background: var(--gold-light); }
.er-contacts__submit:active { transform: translateY(1px); }
.er-contacts__status:not(:empty) {
    margin: 10px 0 0;
    font-size: 12px;
    color: rgba(238, 231, 216, .9);
}

/* ---------- 2. Middle: methods (title+grid) | entrepreneur card ---------- */
/* 2-колоночная композиция; grid с двумя рядами:
   Row 1 (auto) = высота section-title слева
   Row 2 (1fr)  = сетка карточек связи
   Методы занимают оба ряда (title + grid). Карточка ИП — только Row 2,
   поэтому её верх === верх первой карточки связи, а align-self: stretch
   растягивает её до низа Row 2 === низ третьей карточки связи. */
.er-contacts__middle {
    display: grid;
    grid-template-columns: [c1] minmax(0, 1fr) [c2] minmax(0, 1.08fr);
    grid-template-rows: [r1] auto [r2] 1fr;
    column-gap: clamp(24px, 3vw, 42px);
    row-gap: 0;
    margin-top: clamp(28px, 3vw, 42px);
    align-items: stretch;
}
.er-contacts__methods {
    grid-column: c1;
    grid-row: r1 / span 2;
    display: flex;
    flex-direction: column;
    gap: clamp(14px, 1.3vw, 18px);
    min-width: 0;
}
.er-entrepreneur-card {
    grid-column: c2;
    grid-row: r2;
    align-self: stretch;
}
.er-contacts__section-title {
    margin: 0 0 clamp(14px, 1.3vw, 18px);
    font-family: var(--er-font-body);
    font-weight: 600;
    font-size: 12px;
    letter-spacing: .26em;
    color: var(--gold);
    text-transform: uppercase;
    display: flex;
    align-items: center;
    gap: 14px;
}
.er-contacts__section-title::after {
    content: "";
    flex: 1;
    height: 1px;
    background: linear-gradient(to right, var(--gold) 0%, rgba(205,145,56,.35) 55%, transparent 100%);
    min-width: 40px;
}
.er-contacts__methods-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: 1fr;
    gap: 14px;
    flex: 1;
    min-height: 0;
}
.er-contact-card {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    align-items: center;
    gap: 14px;
    padding: 14px 18px;
    background: var(--card-bg);
    border: 1px solid var(--border-lite);
    border-radius: 14px;
    text-decoration: none;
    color: var(--navy);
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.er-contact-card:hover {
    border-color: var(--border-gold);
    box-shadow: 0 10px 22px rgba(8,28,57,.06);
    transform: translateY(-1px);
}
.er-contact-card--disabled { cursor: default; }
.er-contact-card--disabled:hover {
    border-color: var(--border-lite);
    box-shadow: none;
    transform: none;
}
.er-contact-card__icon {
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    border-radius: 999px;
    background: var(--navy);
    color: var(--gold);
    flex-shrink: 0;
}
.er-contact-card__icon img {
    width: 54%;
    height: 54%;
    object-fit: contain;
    display: block;
}
.er-contact-card__body {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}
.er-contact-card__label {
    font-family: var(--er-font-body);
    font-weight: 500;
    font-size: 13.5px;
    color: rgba(8,28,57,.68);
}
.er-contact-card__value {
    font-family: var(--er-font-body);
    font-weight: 600;
    font-size: clamp(12px, .95vw, 13.5px);
    color: var(--gold);
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
    overflow-wrap: anywhere;
    line-height: 1.3;
}
.er-contact-card__value--plain {
    text-decoration: none;
}

/* ---------- 2b. Entrepreneur card ---------- */
/* 2b. Карточка предпринимателя (по ТЗ п. 8–16) */
.er-entrepreneur-card {
    display: flex;
    flex-direction: column;
    padding: clamp(18px, 1.6vw, 24px) clamp(20px, 1.8vw, 26px);
    background: #FFFCF6;
    border: 1px solid var(--border-gold);
    border-radius: 16px;
    box-shadow: 0 4px 18px rgba(8,28,57,.04);
    gap: clamp(14px, 1.4vw, 18px);
    min-width: 0;
    box-sizing: border-box;
}
.er-entrepreneur-card__heading {
    margin: 0;
    font-family: var(--er-font-body);
    font-weight: 600;
    font-size: 13px;
    letter-spacing: .24em;
    color: var(--gold);
    text-transform: uppercase;
}
.er-entrepreneur-card__body {
    display: grid;
    grid-template-columns: 84px minmax(0, 1fr);
    gap: clamp(16px, 1.8vw, 24px);
    align-items: start;
    flex: 1;
    min-width: 0;
}
.er-entrepreneur-card__logo {
    width: 84px;
    height: 84px;
    aspect-ratio: 1 / 1;
    background: var(--navy);
    border: 1.5px solid var(--gold);
    border-radius: 999px;
    display: grid;
    place-items: center;
    padding: 14px;
    box-sizing: border-box;
    flex-shrink: 0;
    align-self: start;
    overflow: hidden;
}
.er-entrepreneur-card__logo img {
    max-width: 68%;
    max-height: 68%;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
    margin: auto;
}
.er-entrepreneur-card__info {
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 0;
    justify-content: center;
}
.er-entrepreneur-card__name {
    margin: 0 0 4px;
    padding-bottom: 12px;
    font-family: "Prata", "Cormorant Garamond", Georgia, serif;
    font-weight: 400;
    font-size: clamp(14px, 1.1vw, 16.5px);
    line-height: 1.35;
    color: var(--navy);
    border-bottom: 1px solid var(--border-lite);
}
.er-entrepreneur-card__facts {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
}
.er-entrepreneur-card__facts li {
    display: grid;
    grid-template-columns: 22px 62px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    padding: 10px 0;
    font-family: var(--er-font-body);
    font-size: 13px;
    color: var(--navy);
    border-top: 1px solid var(--border-lite);
}
.er-entrepreneur-card__facts li:first-child { border-top: 0; }
.er-entrepreneur-card__ico {
    display: inline-grid;
    place-items: center;
    width: 22px;
    height: 22px;
    color: var(--gold);
}
.er-entrepreneur-card__ico img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    display: block;
}
.er-entrepreneur-card__label {
    color: rgba(8,28,57,.62);
    font-weight: 500;
}
.er-entrepreneur-card__val {
    color: var(--navy);
    font-weight: 500;
    overflow-wrap: anywhere;
}

/* ---------- 3. Final navy banner ---------- */
.er-contacts__banner {
    display: grid;
    grid-template-columns: minmax(220px, 22%) minmax(0, 1fr) minmax(240px, 28%);
    align-items: center;
    background: var(--navy);
    border-radius: 18px;
    overflow: hidden;
    margin-top: clamp(28px, 3vw, 44px);
    min-height: clamp(120px, 10vw, 140px);
    color: #EEE7D8;
}
.er-contacts__banner-photo {
    align-self: stretch;
    overflow: hidden;
    min-height: 120px;
}
.er-contacts__banner-photo img {
    width: 100%;
    height: 100%;
    min-height: 120px;
    object-fit: cover;
    display: block;
    -webkit-mask-image: linear-gradient(to right, #000 0%, #000 78%, transparent 100%);
            mask-image: linear-gradient(to right, #000 0%, #000 78%, transparent 100%);
}
.er-contacts__banner-text {
    padding: clamp(14px, 1.6vw, 22px) clamp(14px, 1.6vw, 22px);
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-self: center;
}
.er-contacts__banner-heading {
    margin: 0;
    font-family: "Prata", "Cormorant Garamond", Georgia, serif;
    font-weight: 400;
    font-size: clamp(20px, 1.9vw, 26px);
    line-height: 1.2;
    color: var(--gold-light);
    letter-spacing: .01em;
}
.er-contacts__banner-lead {
    margin: 0;
    font-family: var(--er-font-body);
    font-weight: 500;
    font-size: clamp(13.5px, 1.05vw, 15.5px);
    line-height: 1.4;
    color: rgba(238, 231, 216, .78);
    max-width: 620px;
}
.er-contacts__banner-brand {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: clamp(14px, 1.4vw, 22px);
    padding: clamp(14px, 1.6vw, 22px) clamp(20px, 2vw, 32px);
    border-left: 1px solid rgba(223, 181, 111, .18);
    align-self: stretch;
}
.er-contacts__banner-mono {
    display: block;
    width: auto;
    height: clamp(56px, 5vw, 72px);
    object-fit: contain;
}
.er-contacts__banner-name-block { min-width: 0; }
.er-contacts__banner-name {
    margin: 0 0 4px;
    font-family: "Prata", "Cormorant Garamond", Georgia, serif;
    font-weight: 400;
    font-size: clamp(16px, 1.3vw, 20px);
    letter-spacing: .04em;
    color: var(--gold-light);
}
.er-contacts__banner-role {
    margin: 0;
    font-family: var(--er-font-body);
    font-weight: 500;
    font-size: clamp(10.5px, .9vw, 12px);
    letter-spacing: .18em;
    line-height: 1.35;
    color: rgba(238, 231, 216, .68);
    text-transform: uppercase;
}

/* ---------- Адаптивность er-contacts ---------- */
@media (max-width: 1199px) {
    .er-contacts__top {
        grid-template-columns: minmax(0, 1fr);
        gap: 32px;
    }
    .er-contacts__hero {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto auto;
        min-height: 0;
        gap: 0;
        position: static;
    }
    .er-contacts__hero-photo {
        grid-column: 1;
        grid-row: 1;
        height: 320px;
        min-height: 320px;
        max-height: 320px;
    }
    .er-contacts__form {
        grid-column: 1;
        grid-row: 2;
        justify-self: center;
        align-self: auto;
        width: 100%;
        max-width: 520px;
        margin: -120px auto 0 auto;
        -webkit-backdrop-filter: none;
                backdrop-filter: none;
        background: var(--navy);
    }
    /* ≤1199: middle → одна колонка, обе секции идут вертикально в flow, без grid-row привязки */
    .er-contacts__middle {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto;
        row-gap: clamp(24px, 3vw, 32px);
    }
    .er-contacts__methods {
        grid-column: 1;
        grid-row: auto;
    }
    .er-entrepreneur-card {
        grid-column: 1;
        grid-row: auto;
        align-self: auto;
    }
}
@media (max-width: 1023px) {
    .er-contacts__banner {
        grid-template-columns: 1fr;
        min-height: 0;
    }
    .er-contacts__banner-photo {
        height: 160px;
    }
    .er-contacts__banner-photo img {
        -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 70%, transparent 100%);
                mask-image: linear-gradient(to bottom, #000 0%, #000 70%, transparent 100%);
    }
    .er-contacts__banner-text {
        text-align: center;
        align-items: center;
        padding: 20px 24px 8px;
    }
    .er-contacts__banner-brand {
        border-left: 0;
        border-top: 1px solid rgba(223, 181, 111, .18);
        justify-content: center;
        padding: 18px 24px 22px;
    }
}
@media (max-width: 899px) {
    /* На узких экранах <br> в тексте убираем — браузер сам решает переносы */
    .er-contacts__title br,
    .er-contacts__lead br,
    .er-contacts__banner-lead br { display: none; }
}
@media (max-width: 639px) {
    .er-contacts__methods-grid {
        grid-template-columns: 1fr;
    }
    .er-contact-card {
        grid-template-columns: 48px minmax(0, 1fr);
        gap: 12px;
        padding: 12px 14px;
    }
    .er-contact-card__icon { width: 48px; height: 48px; }
    .er-entrepreneur-card {
        padding: 18px 16px;
        gap: 12px;
    }
    .er-entrepreneur-card__body {
        grid-template-columns: 64px minmax(0, 1fr);
        gap: 14px;
        align-items: start;
    }
    .er-entrepreneur-card__logo {
        width: 64px;
        height: 64px;
        padding: 10px;
    }
    .er-entrepreneur-card__name {
        font-size: 14px;
        padding-bottom: 10px;
    }
    /* facts на мобиле — ico слева на 2 ряда, справа label над value */
    .er-entrepreneur-card__facts li {
        grid-template-columns: 22px minmax(0, 1fr);
        grid-template-areas:
            "ico label"
            "ico value";
        gap: 2px 10px;
        padding: 8px 0;
        font-size: 12.5px;
        text-align: left;
    }
    .er-entrepreneur-card__ico { grid-area: ico; align-self: start; margin-top: 2px; }
    .er-entrepreneur-card__label { grid-area: label; }
    .er-entrepreneur-card__val { grid-area: value; overflow-wrap: anywhere; }
    .er-contacts__form {
        width: 100%;
        padding: 20px 18px;
    }
    .er-contacts__hero-photo { height: 220px; min-height: 220px; }
    .er-contacts__form { margin-top: -80px; }
    .er-contacts__banner-brand {
        grid-template-columns: auto minmax(0, 1fr);
        justify-content: start;
        text-align: left;
    }
}
@media (max-width: 389px) {
    .er-contacts__title { font-size: clamp(24px, 8vw, 32px); }
    .er-contacts__banner-heading { font-size: 18px; }
}

/* ------------------------------------------------------------------ *
 *  Reveal on scroll (fade + translateY, stagger via --er-i)
 *  JS добавляет .er-reveal-ready на <html> + .er-reveal на элементы
 *  → до этого блоки видны и не мигают у пользователей без JS
 * ------------------------------------------------------------------ */
.er-reveal-ready .er-reveal {
    opacity: 0;
    transform: translate3d(0, 20px, 0);
    transition:
        opacity .7s cubic-bezier(.2, .7, .2, 1),
        transform .7s cubic-bezier(.2, .7, .2, 1);
    transition-delay: calc(var(--er-i, 0) * 70ms);
    will-change: opacity, transform;
}
.er-reveal-ready .er-reveal.is-in {
    opacity: 1;
    transform: none;
}

/* ================================================================== *
 *  PAGE: /o-mne/  —  «Обо мне»  (namespace .er-about)
 *  Шаблон page-o-mne.php. Точные размеры — по макету 1440×N.
 *  Ниже 1440 — пропорциональное уменьшение через clamp / min().
 * ================================================================== */
.er-about { color: var(--er-fg); background: var(--er-bg); }
.er-about * { box-sizing: border-box; }
/* контейнер — тот же что на главной (--er-container с media-адаптивом) */

/* ---------- 1. HERO ---------- */
.er-about__hero {
    padding: clamp(48px, 5.5vw, 80px) 0 clamp(48px, 5vw, 72px);
    overflow: hidden;                            /* иллюстрация «уходит за край» справа */
}
/* сетка макета 1440px: [360 portrait] 20gap [520 quote] 20gap [400slot → 520illus+100overflow] */
.er-about__hero-inner {
    position: relative;
    display: grid;
    grid-template-columns:
        clamp(220px, 25vw, 360px)                /* портрет */
        minmax(0, 520px)                         /* цитата */
        1fr;                                     /* слот иллюстрации */
    column-gap: clamp(12px, 1.4vw, 20px);
    align-items: start;
}

.er-about__intro { display: flex; flex-direction: column; align-items: flex-start; width: 100%; max-width: 360px; }
.er-about__portrait {
    margin: 0 0 clamp(20px, 1.9vw, 28px);
    border-radius: 8px;
    overflow: hidden;
    background: var(--er-bg-muted);
    width: 100%;
    max-width: 360px;
    height: 224px;
}
.er-about__portrait img { display: block; width: 100%; height: 100%; object-fit: cover; }
.er-about__name {
    margin: 0 0 12px;
    font-family: "Prata", "Cormorant Garamond", Georgia, "Times New Roman", serif;
    font-weight: 400;
    font-size: clamp(1.75rem, 2.4vw + .2rem, 2.5rem);   /* ~40px @1440 */
    line-height: .95;
    color: var(--er-fg);
    letter-spacing: -.02em;
}
.er-about__role {
    margin: 0 0 clamp(18px, 1.6vw, 24px);
    font-size: clamp(.72rem, .78vw, .82rem);         /* ужато чтобы 2-я строка помещалась целиком */
    font-weight: 600;
    letter-spacing: .10em;
    text-transform: uppercase;
    color: var(--er-accent);
    line-height: 1.4;
    max-width: none;
    white-space: normal;
}
.er-about__role br + * { white-space: nowrap; }      /* «по премиальной недвижимости Москвы» не переносится */
.er-about__lede {
    margin: 0 0 clamp(22px, 2vw, 28px);
    font-size: clamp(.94rem, 1vw, 1rem);
    line-height: 1.55;
    color: var(--er-fg);
    max-width: none;                                  /* расширено — тянется во всю intro колонку */
}
.er-about__stats {
    margin: 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    padding: clamp(18px, 1.6vw, 22px) 0;              /* только вертикальный padding */
    border-top: 1px solid var(--er-border);           /* только верхняя и нижняя линии */
    border-bottom: 1px solid var(--er-border);
    border-radius: 0;                                  /* без скругления, без окантовки */
    background: transparent;
    width: 100%;
    max-width: 420px;                                  /* группа шире для воздуха */
    min-height: clamp(128px, 10.4vw, 150px);
}
.er-about__stat {
    text-align: center;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: clamp(6px, .7vw, 10px);
    padding: clamp(6px, .8vw, 10px) clamp(14px, 1.8vw, 24px);   /* больше горизонт. воздуха */
}
.er-about__stat + .er-about__stat::before {
    content: "";
    position: absolute; left: 0; top: 16%; bottom: 16%;
    width: 1px; background: var(--er-border);
}
.er-about__stat-icon {
    display: block;
    margin: 0;
    width: clamp(40px, 3.4vw, 52px);              /* крупнее — 40-52 px для PNG в круге */
    height: clamp(40px, 3.4vw, 52px);
}
.er-about__stat-icon img,
.er-about__stat-icon svg { display: block; width: 100%; height: 100%; object-fit: contain; }
.er-about__stat dt {
    margin: 0;
    font-family: "Prata", "Cormorant Garamond", Georgia, serif;
    font-weight: 400;
    font-size: clamp(2.4rem, 3vw, 3.4rem);           /* ~40-54 px — крупные цифры */
    color: var(--er-fg);                              /* navy как у разделителей */
    line-height: 1;
    letter-spacing: -.02em;
}
.er-about__stat dt {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.er-about__stat dt span {
    font-size: .7em;
    line-height: 1;
    margin-left: 3px;
    vertical-align: baseline;
    align-self: center;                       /* «+» по центру относительно цифры */
    position: relative;
    top: -.02em;
}
.er-about__stat dd {
    margin: 0;
    font-size: clamp(.62rem, .68vw, .74rem);         /* ~11-12 px */
    letter-spacing: .09em;
    text-transform: uppercase;
    color: var(--er-fg-muted);
    line-height: 1.3;
    padding-top: 2px;                                 /* небольшой доп. воздух перед подписью */
}

.er-about__quote-wrap {
    position: relative;
    padding-top: 0;
    max-width: 100%;
    min-width: 0;
}
.er-about__quote { margin: 0 0 clamp(24px, 2.8vw, 40px); }
.er-about__quote-lede { position: relative; z-index: 1; margin: 0; max-width: 520px; }

/* иллюстрация — третья колонка grid, шире своего слота → уходит за правый край */
.er-about__hero-decor {
    align-self: start;
    margin-top: -160px;
    margin-right: clamp(-80px, -6vw, -20px);
    pointer-events: none;
}
.er-about__hero-decor img {
    display: block;
    width: clamp(380px, 36vw, 540px);
    max-width: none;
    height: auto;
    opacity: .96;
}
.er-about__quote p {
    margin: 0;
    font-family: "Prata", "Cormorant Garamond", Georgia, serif;
    font-weight: 400;
    font-size: clamp(26px, 3.4vw, 50px);
    line-height: 1.02;
    letter-spacing: -.012em;
    color: var(--er-fg);
    max-width: none;
    word-break: keep-all;                           /* не ломать слова, только по <br> */
}
.er-about__quote em {
    font-style: normal;
    color: var(--er-accent);
    text-transform: uppercase;
    font-weight: 500;
}
.er-about__quote .q {
    color: var(--er-accent);
    font-weight: 500;
    display: inline-block;
    transform: translateY(-.02em);
    padding: 0 .06em;
}

.er-about__quote-lede {
    margin: 0 0 clamp(20px, 2vw, 28px);
    max-width: 520px;
    font-size: clamp(15px, 1.05vw, 17px);        /* body 15-17 px */
    line-height: 1.5;
    color: var(--er-fg);
}
.er-about__quote-lede::before {
    content: "";
    display: block;
    width: 88px;
    height: 1px;
    background: var(--er-border);
    margin: 0 0 clamp(18px, 1.6vw, 26px);
}
.er-about__quote-lede em {
    font-style: italic;
    font-family: var(--er-font-head);
}


/* ---------- 2. Разделитель ---------- */
.er-about__divider { padding-top: 4px; padding-bottom: clamp(12px, 1.5vw, 20px); }
.er-about__divider .er-container {
    display: flex;
    align-items: center;
    gap: clamp(14px, 2vw, 28px);
    justify-content: center;
}
.er-about__divider-line {
    flex: 1 1 auto;
    max-width: 42%;
    height: 1px;
    background: var(--er-border);
}
.er-about__divider-label {
    flex: 0 0 auto;
    font-family: "Prata", Georgia, serif;
    font-style: normal;
    font-weight: 400;
    font-size: 21.6px;
    letter-spacing: 0;
    text-transform: uppercase;
    color: var(--er-accent);
    white-space: nowrap;
}

/* второй разделитель — тот же формат, но текст navy + короткие боковые линии */
.er-about__divider--navy-text .er-about__divider-label { color: var(--er-fg); }
.er-about__divider--left .er-container { justify-content: flex-start; }
.er-about__divider--navy-text .er-about__divider-line {
    flex: 0 0 auto;
    width: clamp(60px, 10vw, 160px);
    max-width: none;
}

/* ---------- 3. Q&A трёхколоночный (карточки в gold-рамке) ---------- */
.er-about__qa { padding: clamp(10px, 1vw, 16px) 0 clamp(32px, 4vw, 64px); }
.er-about__qa-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));   /* 3 × ~400 px @1440 */
    gap: clamp(20px, 2.8vw, 40px);
    align-items: stretch;
}
.er-qa {
    padding: clamp(4px, .6vw, 8px) 0;                /* без внутренних полей — контент на общем фоне */
    border: 0;
    border-radius: 0;
    background: transparent;
    display: grid;
    grid-template-columns: clamp(52px, 4.5vw, 64px) 1fr;
    column-gap: clamp(14px, 1.4vw, 22px);
    row-gap: clamp(12px, 1.4vw, 20px);
    align-items: start;
    height: 100%;
}
.er-qa__icon {
    grid-column: 1;
    grid-row: 1;
    width: clamp(52px, 4.5vw, 64px);          /* иконка 64 px по макету */
    height: clamp(52px, 4.5vw, 64px);
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.er-qa__question {
    grid-column: 2;
    grid-row: 1;
    margin: 0;
    font-family: var(--er-font-body);
    font-weight: 600;
    font-size: clamp(15px, 1.35vw, 21px);      /* 26 px @1440 — но 21 читается лучше */
    line-height: 1.4;
    color: var(--er-fg);
    letter-spacing: -.003em;
}
.er-qa__author,
.er-qa__answer {
    grid-column: 1 / -1;                       /* на всю ширину карточки, ниже icon+question */
}
.er-qa__author {
    margin: clamp(4px, .5vw, 8px) 0 clamp(6px, .8vw, 10px);
    font-family: "Prata", "Cormorant Garamond", Georgia, serif;
    font-weight: 400;
    font-style: normal;
    font-size: clamp(18px, 1.35vw, 22px);      /* «Лолита:» ~24 px @1440 */
    color: var(--er-accent);
    letter-spacing: -.005em;
}
.er-qa__answer {
    margin: 0;
    font-size: clamp(14px, 1.05vw, 17px);      /* 20 px @1440 */
    line-height: 1.6;
    color: var(--er-fg);
}
.er-qa__icon img { display: block; width: 100%; height: 100%; object-fit: contain; }
.er-qa__question {
    margin: 0 0 clamp(12px, 1.2vw, 16px);
    font-family: var(--er-font-body);
    font-weight: 600;
    font-size: clamp(.95rem, 1.02vw, 1.02rem);
    line-height: 1.5;
    color: var(--er-fg);
    letter-spacing: -.002em;
}
.er-qa__author {
    margin: 0 0 6px;
    font-family: var(--er-font-head);
    font-weight: 600;
    font-style: italic;
    font-size: 1rem;
    color: var(--er-accent);
}
.er-qa__answer {
    margin: 0;
    font-size: .94rem;
    line-height: 1.65;
    color: var(--er-fg);
}

/* ---------- 4. Опыт — 3 колонки: [icon+вопрос] | line | [Лолита+ответ] + декор ---------- */
.er-about__exp { padding: clamp(24px, 3vw, 48px) 0 clamp(48px, 5vw, 80px); position: relative; }
.er-about__exp-grid {
    display: grid;
    grid-template-columns:
        minmax(240px, 1fr)                   /* вопрос */
        1px                                  /* вертикальная линия */
        minmax(260px, 1.2fr)                 /* ответ */
        minmax(0, 1fr);                      /* пустое место под absolute-декор */
    column-gap: clamp(24px, 3vw, 48px);
    align-items: start;
    position: relative;
}
.er-about__exp-decor {
    position: absolute;
    right: clamp(-24px, -1vw, 0px);
    top: clamp(-80px, -6vw, -20px);          /* поднимаем выше, но остаёмся в пределах секции */
    width: clamp(280px, 30%, 460px);
    margin: 0;
    pointer-events: none;
    z-index: 1;
}
.er-about__exp-decor img { display: block; width: 100%; height: auto; opacity: .95; max-width: none; }
.er-about__exp-question {
    display: grid;
    grid-template-columns: clamp(60px, 5.6vw, 80px) 1fr;    /* иконка 80 px по макету */
    column-gap: clamp(16px, 1.6vw, 24px);
    align-items: start;
}
.er-about__exp-question .er-qa__icon {
    width: clamp(60px, 5.6vw, 80px);
    height: clamp(60px, 5.6vw, 80px);
}
.er-about__exp-question .er-qa__question { margin: 0; }
.er-about__exp .er-qa__author { margin-top: 0; }
.er-about__exp .er-qa__answer { line-height: 1.55; }
.er-about__exp-line {
    align-self: stretch;
    width: 1px;
    background: var(--er-border);
    min-height: 100%;
}
.er-about__exp-answer .er-qa__author { margin-top: 0; }
.er-about__exp-decor {
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    pointer-events: none;
}
.er-about__exp-decor img {
    display: block;
    width: 100%;
    max-width: 460px;
    height: auto;
    opacity: .95;
}

/* ---------- 5. CTA ---------- */
.er-about__cta {
    padding: clamp(40px, 5vw, 80px) 0 clamp(56px, 6vw, 96px);
    text-align: center;
    background:
        radial-gradient(ellipse at 50% 100%, rgba(205,145,56,.08), transparent 65%),
        var(--er-bg);
    border-top: 1px solid var(--er-border);
}
.er-about__cta-inner { max-width: 720px; margin-inline: auto; }
.er-about__cta-title {
    margin: 0 0 clamp(12px, 1.4vw, 20px);
    font-family: var(--er-font-head);
    font-weight: 500;
    font-size: clamp(1.8rem, 3vw, 2.8rem);
    line-height: 1.15;
    color: var(--er-fg);
    letter-spacing: -.008em;
}
.er-about__cta-title em {
    font-style: normal;
    color: var(--er-accent);
    font-family: var(--er-font-head);
}
.er-about__cta-lede {
    margin: 0 0 clamp(24px, 2.4vw, 32px);
    font-size: 1.02rem;
    line-height: 1.6;
    color: var(--er-fg-muted);
}
.er-about__cta-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
}

/* ---------- Адаптив: 1200- ---------- */
@media (max-width: 1199px) {
    .er-about__hero-inner {
        grid-template-columns:
            clamp(200px, 24%, 300px)
            minmax(0, 1fr)
            clamp(240px, 30%, 360px);
        gap: clamp(12px, 1.6vw, 20px);
    }
    .er-about__hero-decor { margin-right: clamp(-60px, -5vw, -20px); }
    .er-about__hero-decor img { width: clamp(280px, 32vw, 420px); }
}

/* ---------- Адаптив: 900- ---------- */
@media (max-width: 899px) {
    .er-about__hero-inner {
        grid-template-columns: 1fr;
        gap: clamp(28px, 4vw, 40px);
    }
    .er-about__intro {
        display: grid;
        grid-template-columns: minmax(180px, 260px) 1fr;
        column-gap: clamp(20px, 3vw, 32px);
        align-items: start;
        max-width: 100%;
    }
    .er-about__portrait { grid-row: 1 / span 4; margin-bottom: 0; }
    .er-about__name { margin-top: 0; }
    .er-about__stats {
        grid-column: 1 / -1;
        max-width: 100%;
    }
    .er-about__lede { max-width: 100%; }

    .er-about__quote-wrap { max-width: 100%; }
    .er-about__quote p { font-size: clamp(24px, 4.4vw, 44px); max-width: 100%; }
    .er-about__hero-decor {
        margin-right: 0;
        display: flex;
        justify-content: center;
    }
    .er-about__hero-decor img { width: 100%; max-width: 480px; margin-inline: auto; }

    .er-about__qa-grid { grid-template-columns: 1fr; gap: clamp(28px, 4vw, 40px); }

    .er-about__exp-grid {
        grid-template-columns: 1fr;
        gap: clamp(20px, 3vw, 32px);
        column-gap: 0;
    }
    .er-about__exp-line { display: none; }   /* вертикальная линия скрывается */
    .er-about__exp-decor { order: 99; }
    .er-about__exp-decor { justify-self: center; }
    .er-about__exp-decor img { max-width: 360px; }

    .er-about__divider .er-container { gap: 14px; }
    .er-about__divider-line { max-width: none; }
}

/* ---------- Адаптив: 600- ---------- */
@media (max-width: 599px) {
    .er-about__hero { padding: 32px 0 24px; }
    .er-about__intro {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .er-about__portrait { max-width: 220px; margin-inline: auto; }
    .er-about__name {
        text-align: center;
        font-size: clamp(1.8rem, 8vw, 2.2rem);
    }
    .er-about__role { text-align: center; margin-inline: auto; }
    .er-about__lede { text-align: center; }
    .er-about__stats { margin-inline: auto; }
    .er-about__stat dt { font-size: 1.5rem; }
    .er-about__stat dd { font-size: .62rem; }

    .er-about__quote p {
        font-size: clamp(1.4rem, 7vw, 2rem);
        max-width: none;
    }
    .er-about__quote-lede { font-size: .96rem; }

    .er-about__divider-label {
        white-space: normal;
        text-align: center;
        font-size: .74rem;
    }
    .er-about__divider .er-container { gap: 10px; }

    .er-qa__question { font-size: .95rem; }
    .er-qa__answer { font-size: .92rem; }

    .er-about__hero-decor img { max-width: 100%; }
    .er-about__exp-decor img { max-width: 360px; }

    .er-about__cta-title { font-size: clamp(1.6rem, 6.8vw, 2rem); }
}

/* ================================================================== *
 *  PAGE /o-mne/ — DESKTOP PIXEL-PERFECT OVERRIDES (1280+)
 *  Макет: 1440×900, внешние поля 60px, рабочая ширина 1320px
 * ================================================================== */

/* --- Hero & Q&A: контейнер 1320px с 60px полями --- */
@media (min-width: 1280px) {
    .er-about__hero .er-container,
    .er-about__exp .er-container {
        width: min(calc(100% - 120px), 1320px);
    }

    /* Hero секция: уменьшить top-padding чтобы портрет стартовал ~40px сверху */
    .er-about__hero {
        padding-top: 40px;
        padding-bottom: 48px;
    }

    /* Сетка героя: 360px | 24px gap | 560px | 24px gap | 1fr */
    .er-about__hero-inner {
        grid-template-columns: 360px 560px 1fr;
        column-gap: 24px;
        align-items: start;
    }

    /* Цитата: Cormorant Garamond italic — референс 76-84px, italic уже Prata */
    .er-about__quote p {
        font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif;
        font-style: italic;
        font-weight: 500;
        font-size: 56px;
        line-height: 1.0;
        letter-spacing: -.018em;
    }

    /* Статистика: 3 × 100px с 24px gap */
    .er-about__stats {
        grid-template-columns: repeat(3, 100px);
        gap: 24px;
        max-width: 348px;
        width: 348px;
    }
    .er-about__stat + .er-about__stat::before {
        left: -12px;
    }

    /* Иллюстрация: 520×760px, сдвинута левее */
    .er-about__hero-decor {
        align-self: start;
        margin-right: 0;
        margin-left: -90px;
        pointer-events: none;
    }
    .er-about__hero-decor img {
        width: 520px;
        height: 760px;
        object-fit: contain;
        max-width: none;
        display: block;
    }

    /* Q&A карточки: 3 × 400px, gap 40px */
    .er-about__qa .er-container {
        width: min(calc(100% - 160px), 1280px);
    }
    .er-about__qa-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 40px;
        justify-content: center;
    }

    /* Иконки в карточках: 64px, gap до вопроса 20px */
    .er-qa__icon {
        width: 64px;
        height: 64px;
    }
    .er-about__qa .er-qa {
        grid-template-columns: 64px 1fr;
        column-gap: 20px;
        row-gap: 16px;
    }

    /* Иконка и размер в секции опыт: 80px */
    .er-about__exp-question .er-qa__icon {
        width: 80px;
        height: 80px;
    }

    /* Декоративная иллюстрация опыт: 220×220 */
    .er-about__exp-decor {
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .er-about__exp-decor img {
        width: 320px;
        max-width: 320px;
        height: 320px;
        object-fit: contain;
    }
}

/* --- Q&A карточки: рамка и скругление (24px padding по референсу) --- */
.er-qa {
    border: 1px solid var(--er-border);
    border-radius: 12px;
    padding: 24px;
    background: var(--er-bg);
}

/* Вопрос в Q&A карточке — по пропорциям референса */
.er-about__qa .er-qa__question,
.er-about__qa-grid .er-qa__question {
    font-size: 13px;
    line-height: 1.55;
    letter-spacing: -.005em;
    margin: 0 0 16px;
    font-weight: 600;
}

/* Лолита в карточке: ~22px Cormorant italic */
.er-about__qa .er-qa__author {
    font-size: 15px;
    margin: 0 0 6px;
}

/* Ответ в карточке: 15px */
.er-about__qa .er-qa__answer {
    font-size: 13px;
    line-height: 1.65;
}

/* --- Разделитель: линия—ромб—линия под цитатой --- */
.er-about__quote-sep {
    display: flex;
    align-items: center;
    gap: 16px;
    margin: clamp(18px, 2vw, 28px) 0;
}
.er-about__quote-sep::before,
.er-about__quote-sep::after {
    content: "";
    flex: 1 1 0;
    height: 1px;
    background: var(--er-border);
}
.er-about__quote-sep-diamond {
    display: block;
    flex-shrink: 0;
    width: 9px;
    height: 9px;
    background: transparent;
    border: 1.5px solid var(--er-accent);
    transform: rotate(45deg);
}

/* Убрать старую pseudo-линию над lede — теперь есть явный разделитель */
.er-about__quote-lede::before { display: none; }


/* ================================================================== *
 *  PAGE /o-mne/  —  ДОБАВЛЕНО 31.07: Q&A #5-10
 *  Секции: .er-about__premium  (Как распознать настоящий премиум)
 *          .er-about__market   (Независимый взгляд на рынок)
 *  Reference-макет: 1440×N, decor + head + grid 4/2 колонки
 * ================================================================== */

/* ---------- общий diamond-разделитель (тонкая линия — ромб — линия) ---------- */
.er-about__divider--diamond .er-container {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(20px, 3vw, 40px);
    padding: clamp(24px, 4vw, 44px) 0;
}
.er-about__divider--diamond .er-about__divider-line {
    flex: 1 1 auto;
    height: 1px;
    max-width: 520px;
    background: rgba(205,145,56,0.55);
}
.er-about__divider-diamond {
    width: 10px; height: 10px;
    background: var(--er-accent);
    transform: rotate(45deg);
    flex: 0 0 auto;
}

/* diamond mini под заголовками секций */
.er-about__diamond {
    display: block;
    width: 8px; height: 8px;
    background: var(--er-accent);
    transform: rotate(45deg);
    margin: 18px 0 20px;
}

/* ---------- 6.1  БЛОК «Как распознать настоящий премиум» ---------- */
.er-about__premium {
    padding: clamp(48px, 6vw, 88px) 0 clamp(20px, 3vw, 40px);
    background: var(--er-bg);
}

.er-about__premium-head {
    display: grid;
    grid-template-columns:
        clamp(120px, 12%, 180px)   /* декор здание */
        minmax(0, 1.15fr)          /* title (шире, чтобы «настоящий премиум» не резался) */
        minmax(0, 1fr);            /* hero photo */
    align-items: start;
    column-gap: clamp(20px, 2.4vw, 40px);
    padding-bottom: clamp(32px, 4vw, 56px);
}
.er-about__premium-decor {
    grid-column: 1;
    align-self: start;
}
.er-about__premium-decor img,
.er-about__premium-decor picture {
    display: block;
    width: 100%;
    height: auto;
    max-width: 200px;
}
.er-about__premium-title-wrap {
    grid-column: 2;
    padding-top: clamp(8px, 1.5vw, 24px);
}
.er-about__premium-title {
    font-family: "Prata", "Cormorant Garamond", Georgia, serif;
    font-weight: 400;
    font-size: clamp(2rem, 3.6vw, 3.4rem);
    line-height: 1.1;
    letter-spacing: -0.01em;
    color: var(--er-fg);
    margin: 0;
}
.er-about__premium-title em {
    font-style: italic;
    color: var(--er-accent-lo);
    font-weight: 400;
}
.er-about__premium-lede {
    margin: 0;
    max-width: 32ch;
    font-size: clamp(.94rem, 1vw, 1.02rem);
    line-height: 1.55;
    color: var(--er-fg-muted);
}
.er-about__premium-photo {
    grid-column: 3;
    margin: 0;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 12px 32px rgba(8,28,57,0.14);
}
.er-about__premium-photo img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 10;
    object-fit: cover;
}

/* --- Q&A grid ---------------------------------------------- */
.er-about__premium-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    column-gap: clamp(24px, 2.4vw, 40px);
    row-gap: clamp(32px, 3vw, 48px);
    padding: clamp(24px, 3vw, 40px) 0 clamp(32px, 4vw, 56px);
    align-items: start;     /* карточки — natural высоты, без пустот */
}

/* --- одна карточка Q&A (premium + market общие) ------------ */
.er-premium-qa {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
    color: var(--er-fg);
}
.er-premium-qa__icon {
    width: clamp(56px, 5vw, 76px);
    height: clamp(56px, 5vw, 76px);
    margin-bottom: 4px;
}
.er-premium-qa__icon img,
.er-premium-qa__icon picture {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.er-premium-qa__question {
    font-family: "Prata", "Cormorant Garamond", Georgia, serif;
    font-weight: 400;
    font-size: clamp(1.05rem, 1.15vw, 1.2rem);
    line-height: 1.32;
    color: var(--er-fg);
    margin: 0 0 4px;
    letter-spacing: -0.005em;
}
.er-premium-qa__author {
    font-family: var(--er-font-body);
    font-weight: 600;
    font-size: .88rem;
    color: var(--er-accent-lo);
    margin: 4px 0 6px;
    letter-spacing: 0.01em;
}
.er-premium-qa__answer {
    font-family: var(--er-font-body);
    font-size: clamp(.9rem, 0.95vw, .96rem);
    line-height: 1.6;
    color: var(--er-fg-muted);
    margin: 0 0 .8em;
}
.er-premium-qa__answer:last-of-type { margin-bottom: 0; }

.er-premium-qa__photo {
    margin: 24px 0 0;       /* воздух между текстом и фото, без auto-растяжки */
    border-radius: 4px;
    overflow: hidden;
    box-shadow: 0 6px 18px rgba(8,28,57,0.10);
}
.er-premium-qa__photo img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
}


/* ---------- 6.2  БЛОК «Независимый взгляд на рынок» ---------- */
.er-about__market {
    padding: clamp(24px, 3vw, 40px) 0 clamp(48px, 6vw, 88px);
    background: var(--er-bg);
}

.er-about__market-head {
    display: grid;
    grid-template-columns:
        clamp(120px, 12%, 180px)
        minmax(0, 1.15fr)
        minmax(0, 1fr);
    align-items: start;
    column-gap: clamp(20px, 2.4vw, 40px);
    padding-bottom: clamp(28px, 3.5vw, 48px);
}
.er-about__market-decor {
    grid-column: 1;
    align-self: start;
}
.er-about__market-decor img,
.er-about__market-decor picture {
    display: block;
    width: 100%;
    height: auto;
    max-width: 180px;
}
.er-about__market-title-wrap {
    grid-column: 2;
    padding-top: clamp(8px, 1.5vw, 24px);
}
.er-about__market-title {
    font-family: "Prata", "Cormorant Garamond", Georgia, serif;
    font-weight: 400;
    font-size: clamp(2rem, 3.6vw, 3.4rem);
    line-height: 1.1;
    letter-spacing: -0.01em;
    color: var(--er-fg);
    margin: 0;
}
.er-about__market-title em {
    font-style: italic;
    color: var(--er-accent-lo);
    font-weight: 400;
}
.er-about__market-lede {
    margin: 0;
    max-width: 34ch;
    font-size: clamp(.94rem, 1vw, 1.02rem);
    line-height: 1.55;
    color: var(--er-fg-muted);
}
.er-about__market-photo {
    grid-column: 3;
    margin: 0;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 12px 32px rgba(8,28,57,0.14);
}
.er-about__market-photo img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

/* market grid: [side-photo | Q9 | Q10 | side-decor] */
.er-about__market-grid {
    display: grid;
    grid-template-columns:
        clamp(180px, 18%, 260px)
        minmax(0, 1fr)
        minmax(0, 1fr)
        clamp(180px, 18%, 260px);
    column-gap: clamp(28px, 2.6vw, 48px);
    row-gap: clamp(32px, 3vw, 48px);
    align-items: start;
}
.er-about__market-side--photo {
    margin: 0;
    border-radius: 4px;
    overflow: hidden;
    align-self: stretch;
    max-height: 620px;
    box-shadow: 0 8px 22px rgba(8,28,57,0.12);
}
.er-about__market-side--photo img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 480px;
    object-fit: cover;
}
.er-about__market-side--decor {
    align-self: end;
    justify-self: end;
    max-width: 260px;
}
.er-about__market-side--decor img,
.er-about__market-side--decor picture {
    display: block;
    width: 100%;
    height: auto;
}

.er-premium-qa--wide .er-premium-qa__question {
    font-size: clamp(1.1rem, 1.2vw, 1.28rem);
    line-height: 1.34;
}
.er-premium-qa--wide .er-premium-qa__answer {
    font-size: clamp(.93rem, 0.98vw, 1rem);
}


/* ---------- Адаптив premium/market ---------- */
@media (max-width: 1199px) {
    .er-about__premium-head,
    .er-about__market-head {
        grid-template-columns:
            clamp(100px, 12%, 160px)
            minmax(0, 1fr)
            minmax(0, 1.1fr);
        column-gap: clamp(18px, 2vw, 32px);
    }
    .er-about__premium-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .er-about__market-grid {
        grid-template-columns: clamp(140px, 16%, 220px) minmax(0, 1fr) minmax(0, 1fr) clamp(140px, 16%, 220px);
    }
    .er-about__market-side--photo img { min-height: 380px; }
}

@media (max-width: 899px) {
    .er-about__premium-head,
    .er-about__market-head {
        grid-template-columns: 1fr;
        row-gap: clamp(20px, 3vw, 32px);
    }
    .er-about__premium-decor,
    .er-about__market-decor {
        max-width: 160px;
        justify-self: start;
    }
    .er-about__premium-photo,
    .er-about__market-photo { grid-column: 1; }
    /* На моб фото photo становятся выше — 3:2 вместо 16:10/16:9 → крупнее визуально */
    .er-about__premium-photo img,
    .er-about__market-photo img {
        aspect-ratio: 3 / 2;
    }
}
@media (max-width: 599px) {
    .er-about__premium-photo img,
    .er-about__market-photo img {
        aspect-ratio: 4 / 3;
    }

    .er-about__market-grid {
        grid-template-columns: 1fr;
    }
    .er-about__market-side--photo,
    .er-about__market-side--decor { display: none; }
}

@media (max-width: 599px) {
    .er-about__premium-grid { grid-template-columns: 1fr; }
    .er-about__premium-title,
    .er-about__market-title { font-size: clamp(1.7rem, 7.4vw, 2.4rem); }
    .er-about__diamond { margin: 14px 0 16px; }

    .er-about__premium-decor,
    .er-about__market-decor { max-width: 120px; }
}


/* ================================================================== *
 *  About /o-mne/ — секции 10-11 (Q11-Q16)
 *  .er-about__choice   (Искусство точного выбора, Q11-13)
 *  .er-about__capital  (Недвижимость как капитал, Q14-16 + pills)
 * ================================================================== */

/* ---------- 10.1  ИСКУССТВО ТОЧНОГО ВЫБОРА ---------- */
.er-about__choice {
    padding: clamp(20px, 2vw, 32px) 0 clamp(40px, 5vw, 72px);
    background: var(--er-bg);
}
.er-about__choice-head {
    text-align: left;
    max-width: 720px;
    margin: 0 0 clamp(32px, 4vw, 56px);
}
.er-about__choice-eyebrow,
.er-about__capital-eyebrow {
    display: block;
    font-family: "Manrope", system-ui, sans-serif;
    font-size: clamp(.72rem, .82vw, .82rem);
    font-weight: 600;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--er-accent);
    margin: 0 0 clamp(16px, 2vw, 22px);
}
.er-about__choice-title {
    font-family: "Prata", "Cormorant Garamond", Georgia, serif;
    font-weight: 400;
    font-size: clamp(2rem, 3.6vw, 3.4rem);
    line-height: 1.05;
    color: var(--er-text);
    margin: 0;
    letter-spacing: -.005em;
}
.er-about__choice-title em {
    font-style: italic;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-weight: 500;
    color: var(--er-accent);
}
.er-about__choice-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
}

/* single Q&A row: icon | text | photo (3 zones horizontal, как в макете) */
.er-choice-qa {
    display: grid;
    grid-template-columns:
        minmax(0, 1.35fr)             /* left (icon+text) */
        minmax(0, 1fr);               /* photo */
    column-gap: clamp(32px, 3vw, 56px);
    align-items: start;
}
.er-choice-qa__left {
    display: grid;
    grid-template-columns:
        clamp(72px, 6vw, 96px)        /* icon */
        minmax(0, 1fr);               /* text */
    column-gap: clamp(20px, 2vw, 32px);
    align-items: start;
    border-top: 1px solid rgba(205,145,56,0.28);
    padding-top: clamp(28px, 3.4vw, 44px);
}
.er-choice-qa:first-child .er-choice-qa__left { border-top: 0; padding-top: 0; }

.er-choice-qa__icon {
    grid-column: 1;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    width: clamp(72px, 6vw, 96px);
    height: clamp(72px, 6vw, 96px);
    flex: 0 0 auto;
    margin: 0;
    padding-top: clamp(4px, .5vw, 8px);
}
.er-choice-qa__icon img,
.er-choice-qa__icon picture {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.er-choice-qa__body {
    grid-column: 2;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding-top: clamp(4px, .6vw, 10px);
}

.er-choice-qa__question {
    font-family: "Cormorant Garamond", Georgia, serif;
    font-weight: 600;
    font-size: clamp(1.5rem, 1.9vw, 2rem);
    line-height: 1.2;
    color: var(--er-accent);
    margin: 0 0 clamp(14px, 1.6vw, 18px);
    letter-spacing: -.01em;
}
.er-choice-qa__author {
    font-family: "Cormorant Garamond", Georgia, serif;
    font-style: italic;
    font-weight: 500;
    font-size: clamp(.98rem, 1.05vw, 1.06rem);
    color: var(--er-accent);
    margin: 0 0 clamp(8px, 1vw, 12px);
}
.er-choice-qa__answer {
    font-family: "Manrope", system-ui, sans-serif;
    font-size: clamp(.92rem, .98vw, .98rem);
    line-height: 1.62;
    color: rgba(8,28,57,0.82);
    margin: 0 0 clamp(10px, 1.2vw, 14px);
}
.er-choice-qa__answer:last-of-type { margin-bottom: 0; }

.er-choice-qa__photo {
    grid-column: 2;
    margin: 0;
    border-radius: 4px;
    overflow: hidden;
    box-shadow: 0 20px 50px -28px rgba(8,28,57,0.28);
    align-self: start;
}
.er-choice-qa__photo img,
.er-choice-qa__photo picture {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    object-position: center;
}


/* ---------- 11.1  НЕДВИЖИМОСТЬ КАК КАПИТАЛ ---------- */
.er-about__capital {
    padding: clamp(56px, 6.5vw, 96px) 0 clamp(56px, 6.5vw, 96px);
    background: linear-gradient(180deg, var(--er-bg) 0%, #F1E9DE 100%);
    position: relative;
}
/* 2 колонки: title слева, hero фото справа (как в макете) */
.er-about__capital-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr);
    column-gap: clamp(28px, 3vw, 56px);
    align-items: center;
    margin: 0 0 clamp(48px, 5.5vw, 80px);
}
.er-about__capital-head-text {
    padding-right: clamp(0px, 1.5vw, 20px);
}
.er-about__capital-title {
    font-family: "Prata", "Cormorant Garamond", Georgia, serif;
    font-weight: 400;
    font-size: clamp(2rem, 3.6vw, 3.4rem);
    line-height: 1.05;
    color: var(--er-text);
    margin: 0;
    letter-spacing: -.005em;
}
.er-about__capital-title em {
    font-style: italic;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-weight: 500;
    color: var(--er-accent);
}

.er-about__capital-hero {
    margin: 0;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 30px 80px -30px rgba(8,28,57,0.34);
}
.er-about__capital-hero img,
.er-about__capital-hero picture {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    object-position: center 55%;
}

.er-about__capital-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(28px, 3vw, 48px);
    align-items: start;
    margin-bottom: clamp(48px, 5.5vw, 80px);
}
.er-capital-qa {
    padding-right: clamp(4px, 1vw, 12px);
}
.er-capital-qa__icon {
    width: clamp(56px, 5.4vw, 74px);
    height: clamp(56px, 5.4vw, 74px);
    margin: 0 0 clamp(16px, 1.8vw, 22px);
}
.er-capital-qa__icon img,
.er-capital-qa__icon picture {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.er-capital-qa__question {
    font-family: "Cormorant Garamond", Georgia, serif;
    font-weight: 500;
    font-size: clamp(1.14rem, 1.35vw, 1.4rem);
    line-height: 1.28;
    color: var(--er-text);
    margin: 0 0 clamp(14px, 1.6vw, 20px);
    letter-spacing: -.002em;
}
.er-capital-qa__author {
    font-family: "Cormorant Garamond", Georgia, serif;
    font-style: italic;
    font-weight: 500;
    font-size: clamp(.98rem, 1.08vw, 1.06rem);
    color: var(--er-accent);
    margin: 0 0 clamp(8px, 1vw, 12px);
}
.er-capital-qa__answer {
    font-family: "Manrope", system-ui, sans-serif;
    font-size: clamp(.92rem, .98vw, .98rem);
    line-height: 1.62;
    color: rgba(8,28,57,0.82);
    margin: 0;
}

/* ---------- 11.2  PILLS (нижняя полоса преимуществ) ---------- */
.er-about__pills {
    list-style: none;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(16px, 2vw, 40px);
    padding: clamp(28px, 3.5vw, 44px) 0 0;
    margin: 0;
    border-top: 1px solid rgba(205,145,56,0.28);
}
.er-about__pill {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: clamp(10px, 1.2vw, 16px);
}
.er-about__pill-icon {
    width: clamp(32px, 3vw, 40px);
    height: clamp(32px, 3vw, 40px);
    flex: 0 0 auto;
    opacity: .9;
}
.er-about__pill-icon img,
.er-about__pill-icon picture {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.er-about__pill-label {
    font-family: "Manrope", system-ui, sans-serif;
    font-size: clamp(.78rem, .88vw, .9rem);
    font-weight: 500;
    line-height: 1.35;
    color: rgba(8,28,57,0.82);
    max-width: 210px;
}


/* ---------- responsive ---------- */
@media (max-width: 1099px) {
    .er-about__capital-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: clamp(24px, 3vw, 36px);
    }
    .er-about__capital-grid .er-capital-qa:last-child {
        grid-column: 1 / -1;
        max-width: 640px;
    }
    .er-about__pills {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: clamp(20px, 2.4vw, 32px);
    }
    /* choice-cards: photo уходит вниз (icon + text в 2 колонки сверху, photo в full-width под) */
    .er-choice-qa {
        grid-template-columns: clamp(56px, 8vw, 72px) minmax(0, 1fr);
        row-gap: clamp(20px, 3vw, 28px);
    }
    .er-choice-qa__photo {
        grid-column: 1 / -1;
    }
    .er-choice-qa__photo img { aspect-ratio: 21 / 10; }
}
@media (max-width: 767px) {
    /* capital-head в 1 колонку: title сверху, фото снизу */
    .er-about__capital-head {
        grid-template-columns: 1fr;
        row-gap: clamp(24px, 4vw, 36px);
    }
    .er-about__capital-hero img { aspect-ratio: 16 / 10; }
}
@media (max-width: 599px) {
    .er-about__choice-title,
    .er-about__capital-title { font-size: clamp(1.7rem, 7.4vw, 2.4rem); }
    .er-about__capital-grid {
        grid-template-columns: 1fr;
    }
    .er-about__capital-grid .er-capital-qa:last-child {
        grid-column: 1;
        max-width: none;
    }
    .er-about__pills {
        grid-template-columns: 1fr 1fr;
    }
    .er-about__pill { align-items: flex-start; text-align: left; }
    .er-about__pill-label { max-width: none; }
    /* choice-cards на мобилке: иконка над текстом */
    .er-choice-qa {
        grid-template-columns: 1fr;
        row-gap: clamp(16px, 3vw, 22px);
    }
    .er-choice-qa__icon {
        grid-column: 1;
    }
    .er-choice-qa__body {
        grid-column: 1;
        padding-top: 0;
    }
    .er-choice-qa__photo {
        grid-column: 1;
    }
}


/* ================================================================== *
 *  About /o-mne/ — секции 13-14 (Q17-Q23)
 *  .er-about__location  (Москва. Ценность локации, Q17-19)
 *  .er-about__mistakes  (Ошибки состоятельных покупателей, Q20-23)
 * ================================================================== */

/* ---------- 13.1  МОСКВА. ЦЕННОСТЬ ЛОКАЦИИ ---------- */
.er-about__location {
    padding: clamp(56px, 6.5vw, 96px) 0 clamp(56px, 6.5vw, 96px);
    background: #F1EADF;
}

/* head: SL моно + title слева (в одну строку), hero фото справа.
   Grid синхронизирован с .er-about__location-grid (1fr:1fr + тот же column-gap),
   чтобы левый край loc-hero совпал с левым краем правой колонки Q&A ниже. */
.er-about__location-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: clamp(32px, 4vw, 72px);
    align-items: center;
    margin: 0 0 clamp(40px, 4.5vw, 64px);
}
.er-about__location-title-wrap {
    display: flex;
    align-items: center;
    gap: clamp(18px, 2.2vw, 32px);
    padding-bottom: 0;
}
.er-about__location-mono {
    display: block;
    flex-shrink: 0;
    margin: 0;
}
.er-about__location-mono img {
    display: block;
    width: clamp(56px, 5vw, 72px);
    height: auto;
    opacity: .95;
}
.er-about__location-title {
    font-family: "Prata", "Cormorant Garamond", Georgia, serif;
    font-weight: 400;
    font-size: clamp(1.9rem, 3.2vw, 3rem);
    line-height: 1.08;
    color: var(--er-text);
    margin: 0;
    letter-spacing: -.005em;
}
.er-about__location-title em {
    font-style: italic;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-weight: 500;
    color: var(--er-text);
}
.er-about__location-hero {
    margin: 0;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 24px 60px -30px rgba(8,28,57,0.28);
}
.er-about__location-hero img {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    object-position: center 60%;
}

/* main grid: 2 columns (left+right containers) + Q19 wide */
.er-about__location-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: clamp(32px, 4vw, 72px);
    row-gap: clamp(32px, 4vw, 56px);
    align-items: start;
}
/* каждая колонка растёт независимо → tabs всегда сразу под Q17, pills под Q18 */
.er-about__location-col {
    display: flex;
    flex-direction: column;
    gap: clamp(20px, 2.4vw, 32px);
    min-width: 0;
}

/* Q&A cards Q17/Q18 */
.er-location-qa {
    display: grid;
    grid-template-columns: minmax(140px, 40%) minmax(0, 1fr);
    column-gap: clamp(20px, 2vw, 32px);
    align-items: start;
}
/* Q18: фото слева, текст справа (в DOM body идёт первым — для reading order) */
.er-location-qa--q18 .er-location-qa__photo { order: -1; }
.er-location-qa__photo {
    margin: 0;
    border-radius: 4px;
    overflow: hidden;
    box-shadow: 0 20px 50px -28px rgba(8,28,57,0.24);
}
.er-location-qa__photo img {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}
.er-location-qa__body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
.er-location-qa__num {
    font-family: "Cormorant Garamond", Georgia, serif;
    font-style: italic;
    font-weight: 500;
    font-size: clamp(1.6rem, 2vw, 2rem);
    line-height: 1;
    color: var(--er-text);
    margin: 0 0 clamp(10px, 1.2vw, 16px);
}
.er-location-qa__question {
    font-family: "Cormorant Garamond", Georgia, serif;
    font-weight: 700;
    font-size: clamp(1.05rem, 1.2vw, 1.22rem);
    line-height: 1.28;
    color: var(--er-text);
    margin: 0 0 clamp(12px, 1.4vw, 16px);
    letter-spacing: -.002em;
}
.er-location-qa__author {
    font-family: "Cormorant Garamond", Georgia, serif;
    font-style: italic;
    font-weight: 500;
    font-size: clamp(.95rem, 1vw, 1.02rem);
    color: var(--er-accent);
    margin: 0 0 clamp(10px, 1.1vw, 14px);
}
.er-location-qa__answer {
    font-family: "Manrope", system-ui, sans-serif;
    font-size: clamp(.88rem, .94vw, .96rem);
    line-height: 1.6;
    color: rgba(8,28,57,0.82);
    margin: 0;
}

/* tabs strip (Q17) — 7 icons horizontal, внутри левой колонки */
.er-location-tabs {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: clamp(8px, 1vw, 16px);
    align-items: start;
}
.er-location-tab {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: clamp(6px, .8vw, 10px);
}
.er-location-tab__icon {
    width: clamp(36px, 3.6vw, 48px);
    height: clamp(36px, 3.6vw, 48px);
    display: block;
}
.er-location-tab__icon img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    opacity: .92;
}
.er-location-tab__icon--placeholder img {
    opacity: .35;
}
.er-location-tab__label {
    font-family: "Manrope", system-ui, sans-serif;
    font-size: clamp(.66rem, .74vw, .74rem);
    line-height: 1.28;
    color: rgba(8,28,57,0.72);
    letter-spacing: .01em;
}

/* answer текст под tabs (внутри левой колонки) */
.er-location-qa__answer--under-tabs {
    font-family: "Manrope", system-ui, sans-serif;
    font-size: clamp(.88rem, .94vw, .96rem);
    line-height: 1.62;
    color: rgba(8,28,57,0.82);
    margin: 0;
    padding-top: clamp(12px, 1.6vw, 20px);
    border-top: 1px solid rgba(205,145,56,0.24);
}

/* 3 pills (Q18, внутри правой колонки) */
.er-location-pills {
    list-style: none;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(12px, 1.4vw, 20px);
    padding: 0;
    margin: 0;
}
.er-location-pill {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: clamp(8px, 1vw, 12px);
    padding: clamp(14px, 1.6vw, 20px);
    background: transparent;
    border: 1px solid rgba(205,145,56,0.28);
    border-radius: 4px;
}
.er-location-pill__icon {
    width: clamp(28px, 2.8vw, 36px);
    height: clamp(28px, 2.8vw, 36px);
    display: block;
    opacity: .92;
}
.er-location-pill__icon img { display: block; width: 100%; height: 100%; object-fit: contain; }
.er-location-pill__icon--placeholder img { opacity: .35; }
.er-location-pill__text {
    font-family: "Manrope", system-ui, sans-serif;
    font-size: clamp(.8rem, .86vw, .88rem);
    line-height: 1.4;
    color: rgba(8,28,57,0.82);
}

/* Q19 — wide (full width) */
.er-location-qa--q19 {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: auto minmax(0, 1.5fr) auto minmax(0, 1fr);
    column-gap: clamp(20px, 2.4vw, 40px);
    align-items: center;
    padding-top: clamp(24px, 3vw, 40px);
    border-top: 1px solid rgba(205,145,56,0.24);
}
.er-location-qa--q19 .er-location-qa__num {
    grid-column: 1;
    margin: 0;
    font-size: clamp(2rem, 2.4vw, 2.4rem);
}
.er-location-qa__q19-body { grid-column: 2; }
.er-location-qa__q19-body .er-location-qa__question { margin-bottom: clamp(8px, 1vw, 12px); }
.er-location-qa__q19-body .er-location-qa__author { margin: 0; }
.er-location-qa__q19-vs {
    grid-column: 3;
    width: clamp(80px, 8vw, 120px);
    height: clamp(80px, 8vw, 120px);
    flex: 0 0 auto;
}
.er-location-qa__q19-vs img { display: block; width: 100%; height: 100%; object-fit: contain; }
.er-location-qa__answer--q19 {
    grid-column: 4;
    align-self: center;
}


/* ---------- 14.1  ОШИБКИ СОСТОЯТЕЛЬНЫХ ПОКУПАТЕЛЕЙ ---------- */
.er-about__mistakes {
    padding: clamp(56px, 6.5vw, 96px) 0 clamp(56px, 6.5vw, 96px);
    background: linear-gradient(180deg, var(--er-bg) 0%, #F1E9DE 100%);
    border-top: 1px solid rgba(205,145,56,0.24);
}

.er-about__mistakes-head {
    display: flex;
    align-items: flex-start;
    gap: clamp(20px, 2.4vw, 32px);
    margin: 0 0 clamp(40px, 5vw, 64px);
}
.er-about__mistakes-mono img {
    display: block;
    width: clamp(56px, 5vw, 72px);
    height: auto;
    opacity: .95;
}
.er-about__mistakes-title {
    font-family: "Prata", "Cormorant Garamond", Georgia, serif;
    font-weight: 400;
    font-size: clamp(1.7rem, 2.8vw, 2.6rem);
    line-height: 1.12;
    color: var(--er-text);
    margin: 0;
    letter-spacing: -.005em;
    overflow-wrap: break-word;
    hyphens: auto;
}
.er-about__mistakes-title em {
    font-style: italic;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-weight: 500;
    color: var(--er-text);
}

/* 3 колонки Q20/21/22 */
.er-about__mistakes-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(28px, 3vw, 48px);
    margin: 0 0 clamp(48px, 5vw, 72px);
}
.er-mistake-qa {
    display: flex;
    flex-direction: column;
    gap: clamp(14px, 1.6vw, 20px);
}
.er-mistake-qa__num {
    font-family: "Cormorant Garamond", Georgia, serif;
    font-style: italic;
    font-weight: 500;
    font-size: clamp(1.6rem, 1.9vw, 1.9rem);
    line-height: 1;
    color: var(--er-text);
    margin: 0;
}
.er-mistake-qa__question {
    font-family: "Cormorant Garamond", Georgia, serif;
    font-weight: 500;
    font-size: clamp(1rem, 1.15vw, 1.15rem);
    line-height: 1.28;
    color: var(--er-text);
    margin: 0;
    letter-spacing: -.002em;
}
.er-mistake-qa__author {
    font-family: "Cormorant Garamond", Georgia, serif;
    font-style: italic;
    font-weight: 500;
    font-size: clamp(.94rem, 1vw, 1.02rem);
    color: var(--er-accent);
    margin: 0;
}
.er-mistake-qa__body {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: clamp(16px, 1.6vw, 22px);
    align-items: start;
}
.er-mistake-qa__photo {
    margin: 0;
    border-radius: 4px;
    overflow: hidden;
    box-shadow: 0 20px 50px -28px rgba(8,28,57,0.28);
}
.er-mistake-qa__photo img {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}
.er-mistake-qa__text {
    display: flex;
    flex-direction: column;
    gap: clamp(10px, 1.2vw, 14px);
}
.er-mistake-qa__answer {
    font-family: "Manrope", system-ui, sans-serif;
    font-size: clamp(.82rem, .88vw, .9rem);
    line-height: 1.55;
    color: rgba(8,28,57,0.82);
    margin: 0;
}
.er-mistake-qa__pill {
    display: flex;
    align-items: flex-start;
    gap: clamp(10px, 1.2vw, 14px);
    padding: clamp(14px, 1.6vw, 18px);
    background: transparent;
    border: 1px solid rgba(205,145,56,0.28);
    border-radius: 4px;
    margin-top: auto;
}
.er-mistake-qa__pill-icon {
    width: clamp(28px, 2.6vw, 34px);
    height: clamp(28px, 2.6vw, 34px);
    flex: 0 0 auto;
    display: block;
    opacity: .92;
}
.er-mistake-qa__pill-icon img { display: block; width: 100%; height: 100%; object-fit: contain; }
.er-mistake-qa__pill-text {
    font-family: "Manrope", system-ui, sans-serif;
    font-size: clamp(.8rem, .88vw, .9rem);
    font-weight: 500;
    line-height: 1.4;
    color: var(--er-text);
}

/* Q23 wide row */
.er-mistake-q23 {
    display: grid;
    grid-template-columns: minmax(220px, 26%) minmax(0, 1fr);
    column-gap: clamp(24px, 2.8vw, 44px);
    row-gap: clamp(20px, 2.4vw, 32px);
    padding-top: clamp(32px, 4vw, 56px);
    border-top: 1px solid rgba(205,145,56,0.24);
    align-items: start;
}
/* outros + final — full width под фото/content-строкой */
.er-mistake-q23 > .er-mistake-q23__outro,
.er-mistake-q23 > .er-mistake-q23__final {
    grid-column: 1 / -1;
}
.er-mistake-q23__photo {
    margin: 0;
    border-radius: 4px;
    overflow: hidden;
    box-shadow: 0 30px 70px -30px rgba(8,28,57,0.34);
}
.er-mistake-q23__photo img {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}
.er-mistake-q23__content {
    display: flex;
    flex-direction: column;
    gap: clamp(18px, 2vw, 28px);
}
.er-mistake-q23__header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    column-gap: clamp(14px, 1.6vw, 20px);
    align-items: start;
}
.er-mistake-q23__num {
    font-family: "Cormorant Garamond", Georgia, serif;
    font-style: italic;
    font-weight: 500;
    font-size: clamp(1.6rem, 2vw, 2rem);
    line-height: 1;
    color: var(--er-text);
    margin: 0;
}
.er-mistake-q23__question {
    font-family: "Cormorant Garamond", Georgia, serif;
    font-weight: 500;
    font-size: clamp(1.05rem, 1.2vw, 1.22rem);
    line-height: 1.28;
    color: var(--er-text);
    margin: 0 0 clamp(6px, .8vw, 10px);
    letter-spacing: -.002em;
}
.er-mistake-q23__author {
    font-family: "Cormorant Garamond", Georgia, serif;
    font-style: italic;
    font-weight: 500;
    font-size: clamp(.95rem, 1vw, 1.02rem);
    color: var(--er-accent);
    margin: 0;
}

.er-mistake-q23__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(16px, 2vw, 28px);
}
.er-mistake-q23__item {
    display: flex;
    flex-direction: column;
    gap: clamp(10px, 1.2vw, 14px);
}
.er-mistake-q23__item-icon {
    width: clamp(28px, 2.6vw, 34px);
    height: clamp(28px, 2.6vw, 34px);
    display: block;
    opacity: .92;
}
.er-mistake-q23__item-icon img { display: block; width: 100%; height: 100%; object-fit: contain; }
.er-mistake-q23__item-text {
    font-family: "Manrope", system-ui, sans-serif;
    font-size: clamp(.8rem, .86vw, .88rem);
    line-height: 1.5;
    color: rgba(8,28,57,0.82);
    margin: 0;
}

.er-mistake-q23__outro {
    font-family: "Manrope", system-ui, sans-serif;
    font-size: clamp(.86rem, .92vw, .94rem);
    line-height: 1.6;
    color: rgba(8,28,57,0.82);
    margin: 0;
}

.er-mistake-q23__final {
    display: flex;
    align-items: flex-start;
    gap: clamp(12px, 1.4vw, 18px);
    padding: clamp(16px, 1.8vw, 22px);
    background: rgba(255,255,255,0.6);
    border: 1px solid rgba(205,145,56,0.34);
    border-radius: 4px;
    margin-top: clamp(6px, .8vw, 12px);
}
.er-mistake-q23__final-icon {
    width: clamp(32px, 3vw, 40px);
    height: clamp(32px, 3vw, 40px);
    flex: 0 0 auto;
    display: block;
    opacity: .95;
}
.er-mistake-q23__final-icon img { display: block; width: 100%; height: 100%; object-fit: contain; }
.er-mistake-q23__final-text {
    font-family: "Manrope", system-ui, sans-serif;
    font-size: clamp(.86rem, .92vw, .94rem);
    line-height: 1.5;
    color: rgba(8,28,57,0.85);
    margin: 0;
}


/* ---------- responsive: LOCATION + MISTAKES ---------- */
@media (max-width: 1099px) {
    .er-about__location-grid {
        grid-template-columns: 1fr;
    }
    .er-location-tabs {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    .er-location-pills {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .er-location-qa--q19 {
        grid-template-columns: auto minmax(0, 1fr);
        row-gap: clamp(12px, 1.6vw, 20px);
    }
    .er-location-qa__q19-vs {
        grid-column: 1 / -1;
        margin: 0 auto;
    }
    .er-location-qa__answer--q19 {
        grid-column: 1 / -1;
    }

    .er-about__mistakes-grid {
        grid-template-columns: 1fr;
        gap: clamp(28px, 3.4vw, 40px);
    }
    .er-mistake-qa__body {
        grid-template-columns: minmax(200px, 260px) minmax(0, 1fr);
    }

    .er-mistake-q23 {
        grid-template-columns: 1fr;
        row-gap: clamp(20px, 2.4vw, 32px);
    }
    .er-mistake-q23__photo {
        max-width: 420px;
        margin: 0 auto;
    }
    .er-mistake-q23__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 767px) {
    .er-about__location-head {
        grid-template-columns: 1fr;
        row-gap: clamp(20px, 3vw, 28px);
    }
    .er-location-tabs {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .er-location-pills {
        grid-template-columns: 1fr;
    }
    .er-mistake-qa__body {
        grid-template-columns: 1fr;
    }
    .er-mistake-qa__photo {
        max-width: 360px;
    }
    .er-mistake-q23__header {
        grid-template-columns: 1fr;
        row-gap: 8px;
    }
    .er-mistake-q23__grid {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 599px) {
    .er-about__location-title,
    .er-about__mistakes-title { font-size: clamp(1.5rem, 6.8vw, 2rem); }
    .er-location-tabs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}


/* ================================================================== *
 *  15. СТАНДАРТЫ ПРЕМИАЛЬНОГО СЕРВИСА (.er-about__standards)
 *  16. ДОМ КАК МЕСТО СИЛЫ (.er-home-power)
 * ================================================================== */

/* ---------- 15. СТАНДАРТЫ ПРЕМИАЛЬНОГО СЕРВИСА ---------- */
.er-about__standards {
    padding: clamp(56px, 6.5vw, 96px) 0 clamp(56px, 6.5vw, 96px);
    background: #F1EADF;
}

/* head: title слева, hero фото справа. Grid как у .er-about__location-head — 1fr:1fr */
.er-standards__head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: clamp(32px, 4vw, 72px);
    align-items: center;
    margin: 0 0 clamp(40px, 4.5vw, 64px);
}
.er-standards__title-wrap {
    padding-bottom: 0;
}
.er-standards__title {
    font-family: "Prata", "Cormorant Garamond", Georgia, serif;
    font-weight: 400;
    font-size: clamp(1.7rem, 2.9vw, 2.75rem);
    line-height: 1.12;
    color: var(--er-text);
    margin: 0;
    letter-spacing: -.005em;
}
.er-standards__title em {
    font-style: italic;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-weight: 500;
    color: var(--er-text);
}
.er-standards__hero {
    margin: 0;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 24px 60px -30px rgba(8,28,57,0.28);
}
.er-standards__hero img {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    object-position: center 55%;
}

/* 3-item Q&A grid (24/25/26) — subgrid для выравнивания author/answer по строкам между 3 карточками */
.er-standards__qa-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-rows: auto auto auto;    /* row 1: header (icon+question), row 2: author, row 3: answer */
    column-gap: clamp(24px, 3vw, 48px);
    row-gap: clamp(10px, 1.2vw, 16px);
    margin: 0 0 clamp(32px, 4vw, 56px);
}
.er-standards-qa {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-rows: subgrid;
    grid-row: 1 / -1;                      /* каждая карточка занимает все 3 строки родителя */
    column-gap: clamp(14px, 1.6vw, 22px);
    padding: 0;
}
.er-standards-qa__icon {
    grid-column: 1;
    grid-row: 1;
    width: clamp(60px, 5.5vw, 78px);
    height: clamp(60px, 5.5vw, 78px);
    display: block;
    opacity: .95;
    align-self: center;
}
.er-standards-qa__icon img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.er-standards-qa__question {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    font-family: "Manrope", "Cormorant Garamond", Georgia, serif;
    font-weight: 800;
    font-size: clamp(1.05rem, 1.25vw, 1.24rem);
    line-height: 1.28;
    color: var(--er-text);
    margin: 0;
    letter-spacing: -.008em;
}
.er-standards-qa__num {
    /* «24.» теперь inline внутри h3 — наследует шрифт/жирность/цвет от .er-standards-qa__question */
    font: inherit;
    color: inherit;
    margin-right: .25em;
}
.er-standards-qa__author {
    grid-column: 1 / -1;
    grid-row: 2;
    align-self: start;
}
.er-standards-qa__answer {
    grid-column: 1 / -1;
    grid-row: 3;
    align-self: start;
}
.er-standards-qa__author {
    font-family: "Cormorant Garamond", Georgia, serif;
    font-style: italic;
    font-weight: 500;
    font-size: clamp(.95rem, 1vw, 1.02rem);
    color: var(--er-accent);
    margin: 0 0 clamp(10px, 1.1vw, 14px);
}
.er-standards-qa__answer {
    font-family: "Manrope", system-ui, sans-serif;
    font-size: clamp(.85rem, .9vw, .92rem);
    line-height: 1.6;
    color: rgba(8,28,57,0.82);
    margin: 0;
}

/* 3-photos row */
.er-standards__photos {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: clamp(16px, 2vw, 28px);
}
.er-standards__photo {
    margin: 0;
    border-radius: 4px;
    overflow: hidden;
    box-shadow: 0 20px 50px -28px rgba(8,28,57,0.28);
}
.er-standards__photo img {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 3 / 2;
    object-fit: cover;
}

/* ---------- 16. ДОМ КАК МЕСТО СИЛЫ ---------- */
.er-home-power {
    padding: clamp(56px, 6.5vw, 96px) 0 clamp(56px, 6.5vw, 96px);
    background: var(--er-bg);
}
.er-home-power__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
    column-gap: clamp(36px, 4.5vw, 72px);
    align-items: start;
    margin: 0 0 clamp(40px, 4.5vw, 64px);
}
.er-home-power__side {
    display: flex;
    flex-direction: column;
    gap: clamp(24px, 2.8vw, 40px);
    position: sticky;
    top: clamp(80px, 8vw, 120px);
}
.er-home-power__side-head {
    display: flex;
    align-items: center;
    gap: clamp(18px, 2.2vw, 28px);
}
.er-home-power__title {
    font-family: "Prata", "Cormorant Garamond", Georgia, serif;
    font-weight: 400;
    font-size: clamp(1.9rem, 3.2vw, 3rem);
    line-height: 1.08;
    color: var(--er-text);
    margin: 0;
    letter-spacing: -.005em;
}
.er-home-power__side-icon {
    display: block;
    flex-shrink: 0;
    width: clamp(64px, 5.8vw, 84px);
    height: clamp(64px, 5.8vw, 84px);
    opacity: .95;
    transform: rotate(-12deg);
    transform-origin: 50% 50%;
}
.er-home-power__side-icon img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.er-home-power__hero {
    margin: 0;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 30px 70px -30px rgba(8,28,57,0.34);
}
.er-home-power__hero img {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    object-position: center 50%;
}
.er-home-power__hero--secondary img {
    aspect-ratio: 4 / 3;
    object-position: center 55%;
}

.er-home-power__qa-list {
    display: flex;
    flex-direction: column;
    gap: clamp(28px, 3.4vw, 48px);
}
/* Grid: иконка слева (row 1), question справа, author+answer full-width под ними */
.er-home-power-qa {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    column-gap: clamp(16px, 1.8vw, 24px);
    row-gap: clamp(6px, .8vw, 12px);
    padding-bottom: clamp(20px, 2.4vw, 32px);
    border-bottom: 1px solid rgba(205,145,56,0.24);
}
.er-home-power-qa:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}
.er-home-power-qa__icon {
    grid-column: 1;
    grid-row: 1;
    width: clamp(64px, 5.8vw, 84px);
    height: clamp(64px, 5.8vw, 84px);
    display: block;
    opacity: .95;
    align-self: center;
}
.er-home-power-qa__icon img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.er-home-power-qa__question {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    font-family: "Manrope", "Cormorant Garamond", Georgia, serif;
    font-weight: 800;
    font-size: clamp(1.05rem, 1.3vw, 1.35rem);
    line-height: 1.28;
    color: var(--er-text);
    margin: 0;
    letter-spacing: -.008em;
}
.er-home-power-qa__author,
.er-home-power-qa__answer {
    grid-column: 1 / -1;
}
.er-home-power-qa__author {
    font-family: "Cormorant Garamond", Georgia, serif;
    font-style: italic;
    font-weight: 500;
    font-size: clamp(.95rem, 1vw, 1.02rem);
    color: var(--er-accent);
    margin: 0 0 clamp(10px, 1.1vw, 14px);
}
.er-home-power-qa__answer {
    font-family: "Manrope", system-ui, sans-serif;
    font-size: clamp(.88rem, .94vw, .96rem);
    line-height: 1.65;
    color: rgba(8,28,57,0.86);
    margin: 0;
}
.er-home-power-qa__answer + .er-home-power-qa__answer {
    margin-top: clamp(10px, 1.2vw, 14px);
}

/* Финальный банер */
.er-home-power__banner {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    column-gap: clamp(24px, 3vw, 48px);
    align-items: center;
    padding: clamp(28px, 3.4vw, 44px) clamp(24px, 3vw, 40px);
    border-top: 1px solid rgba(205,145,56,0.34);
    border-bottom: 1px solid rgba(205,145,56,0.34);
}
.er-home-power__banner-icon {
    display: block;
    width: clamp(84px, 7.5vw, 120px);
    height: clamp(84px, 7.5vw, 120px);
    opacity: .95;
    flex-shrink: 0;
}
.er-home-power__banner-icon img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.er-home-power__banner-text {
    font-family: "Cormorant Garamond", Georgia, serif;
    font-style: italic;
    font-weight: 500;
    font-size: clamp(1.2rem, 1.6vw, 1.65rem);
    line-height: 1.5;
    color: var(--er-text);
    text-align: center;
    margin: 0;
}

/* -------------- Адаптив стандартов и home-power -------------- */
@media (max-width: 1023px) {
    .er-standards__head {
        grid-template-columns: 1fr;
        row-gap: clamp(24px, 3vw, 36px);
    }
    .er-home-power__grid {
        grid-template-columns: 1fr;
        row-gap: clamp(32px, 4vw, 48px);
    }
    .er-home-power__side {
        position: static;
    }
    .er-home-power__hero img {
        aspect-ratio: 16 / 10;
    }
}
@media (max-width: 767px) {
    .er-standards__qa-grid {
        grid-template-columns: 1fr;
        grid-template-rows: none;         /* отключаем subgrid-rows на моб — каждая карточка сама себе */
        row-gap: clamp(28px, 4vw, 40px);
    }
    .er-standards-qa {
        grid-template-rows: auto;
        grid-row: auto;                   /* сбрасываем span, карточки идут одна под другой */
    }
    .er-standards__photos {
        grid-template-columns: 1fr;
        row-gap: clamp(14px, 2vw, 20px);
    }
    .er-home-power__banner {
        grid-template-columns: 1fr;
        row-gap: clamp(14px, 2vw, 20px);
        justify-items: center;
    }
    .er-home-power__banner-text {
        text-align: center;
    }
}
@media (max-width: 599px) {
    .er-standards__title {
        font-size: clamp(1.4rem, 6vw, 1.85rem);
    }
    .er-home-power__title {
        font-size: clamp(1.5rem, 6.8vw, 2rem);
    }
    .er-home-power__banner-text br { display: none; }
}


/* ================================================================== *
 *  17. В ЗАВЕРШЕНИЕ РАЗГОВОРА (.er-closing) + navy финальный banner
 * ================================================================== */
.er-closing {
    padding: clamp(56px, 6.5vw, 96px) 0 0;
    background: var(--er-bg);
}
.er-closing__inner {
    position: relative;
    display: grid;
    grid-template-columns: minmax(180px, 22%) minmax(0, 1fr);
    column-gap: clamp(32px, 4vw, 64px);
    align-items: start;
}
/* Вертикальная gold-ветка декор внутри левой колонки, чуть под заголовком */
.er-closing__decor {
    position: absolute;
    left: 0;
    top: clamp(300px, 24vw, 420px);
    width: clamp(240px, 26vw, 380px);
    opacity: .55;
    pointer-events: none;
    display: block;
    z-index: 0;
    transform: rotate(-18deg);
    transform-origin: 0 50%;
}
.er-closing__decor img {
    display: block;
    width: 100%;
    height: auto;
}
.er-closing__head {
    grid-column: 1;
    grid-row: 1;
    margin: 0;
    padding-right: clamp(8px, 1vw, 16px);
}
.er-closing__title {
    font-family: "Prata", "Cormorant Garamond", Georgia, serif;
    font-weight: 400;
    font-size: clamp(1.7rem, 2.9vw, 2.75rem);
    line-height: 1.12;
    color: var(--er-text);
    margin: 0;
    letter-spacing: -.005em;
}

/* 3-колоночный grid — одна общая gold-окантовка вокруг всех 3 карточек */
.er-closing__grid {
    grid-column: 2;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-rows: auto auto auto auto;    /* num | question | photo | tip */
    column-gap: clamp(24px, 3vw, 44px);
    row-gap: clamp(14px, 1.6vw, 22px);
    margin: 0 0 clamp(56px, 7vw, 96px);
    padding: clamp(24px, 3vw, 40px);
    border: 1px solid rgba(205,145,56,0.34);
    border-radius: 6px;
    background: transparent;
}
.er-closing-card {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: 1 / -1;
    row-gap: clamp(14px, 1.6vw, 22px);
    padding: 0;
    border: 0;
    background: transparent;
}

/* Круг с номером */
.er-closing-card__num {
    grid-row: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: clamp(44px, 4.2vw, 56px);
    height: clamp(44px, 4.2vw, 56px);
    border: 1px solid rgba(205,145,56,0.75);
    border-radius: 50%;
    font-family: "Prata", "Cormorant Garamond", Georgia, serif;
    font-weight: 400;
    font-size: clamp(1.3rem, 1.65vw, 1.75rem);
    line-height: 1;
    color: var(--er-accent);
    justify-self: start;
}
.er-closing-card__question {
    grid-row: 2;
    font-family: "Manrope", "Cormorant Garamond", Georgia, serif;
    font-weight: 800;
    font-size: clamp(1rem, 1.2vw, 1.2rem);
    line-height: 1.28;
    color: var(--er-text);
    margin: 0;
    letter-spacing: -.008em;
    align-self: start;
}
.er-closing-card__photo {
    grid-row: 3;
    margin: 0;
    border-radius: 4px;
    overflow: hidden;
    box-shadow: 0 22px 55px -30px rgba(8,28,57,0.32);
}
.er-closing-card__photo img {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    object-position: center 50%;
}
.er-closing-card__tip {
    grid-row: 4;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    column-gap: clamp(12px, 1.4vw, 18px);
    align-items: start;
    padding: 0;
    border: 0;
    background: transparent;
}
.er-closing-card__tip-icon {
    width: clamp(32px, 3vw, 42px);
    height: clamp(32px, 3vw, 42px);
    display: block;
    opacity: .95;
    flex-shrink: 0;
}
.er-closing-card__tip-icon img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.er-closing-card__tip-text {
    font-family: "Manrope", system-ui, sans-serif;
    font-size: clamp(.82rem, .88vw, .9rem);
    line-height: 1.55;
    color: rgba(8,28,57,0.82);
    margin: 0;
}
.er-closing-card__tip-text strong {
    font-weight: 700;
    color: var(--er-text);
    letter-spacing: .02em;
}

/* Финальный navy banner на всю ширину — вне er-container чтобы не резался */
.er-closing__banner {
    background: #081C39;
    color: #F1EADF;
    padding: clamp(40px, 5vw, 72px) clamp(20px, 4vw, 60px);
    margin: 0;
}
.er-closing__banner-inner {
    max-width: 1400px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    column-gap: clamp(24px, 3.5vw, 56px);
    align-items: center;
}
.er-closing__banner-icon {
    display: block;
    width: clamp(140px, 15vw, 240px);
    height: clamp(140px, 15vw, 240px);
    opacity: .55;
    filter: brightness(0.9);
    flex-shrink: 0;
}
.er-closing__banner-icon img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.er-closing__banner-quote {
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: clamp(10px, 1.2vw, 16px);
}
.er-closing__banner-quote-mark {
    display: block;
    width: clamp(44px, 4vw, 60px);
    height: clamp(44px, 4vw, 60px);
    opacity: .95;
    align-self: flex-start;
}
.er-closing__banner-quote-mark img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.er-closing__banner-text {
    font-family: "Prata", "Cormorant Garamond", Georgia, serif;
    font-weight: 400;
    font-size: clamp(1.15rem, 1.7vw, 1.75rem);
    line-height: 1.5;
    color: #F1EADF;
    margin: 0;
    letter-spacing: -.005em;
    text-align: center;
}
.er-closing__banner-text em {
    font-family: "Cormorant Garamond", Georgia, serif;
    font-style: italic;
    color: #DFB56F;
}

/* Адаптив финального блока */
@media (max-width: 1023px) {
    .er-closing__inner {
        grid-template-columns: 1fr;
        row-gap: clamp(24px, 3vw, 40px);
    }
    .er-closing__head,
    .er-closing__grid,
    .er-closing__decor {
        grid-column: 1;
    }
    .er-closing__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: none;
    }
    .er-closing-card {
        grid-template-rows: auto;
        grid-row: auto;
    }
    .er-closing__decor {
        display: none;
    }
}
@media (max-width: 767px) {
    .er-closing__grid {
        grid-template-columns: 1fr;
    }
    .er-closing__banner-inner {
        grid-template-columns: 1fr;
        row-gap: clamp(18px, 3vw, 28px);
        justify-items: center;
    }
    .er-closing__banner-icon {
        width: clamp(70px, 22vw, 120px);
        height: clamp(70px, 22vw, 120px);
    }
}
@media (max-width: 599px) {
    .er-closing__title {
        font-size: clamp(1.4rem, 6vw, 1.85rem);
    }
    .er-closing__banner-text br { display: none; }
}


/* ================================================================== *
 *  18. БЛОГ (page-blog.php) — hero + 3 секции-карусели + navy banner
 * ================================================================== */
.er-blog {
    background: var(--er-bg);
}

/* --- Hero --- */
.er-blog-hero {
    padding: clamp(56px, 7vw, 96px) 0 clamp(32px, 4vw, 56px);
    text-align: center;
}
.er-blog-hero__title {
    font-family: "Prata", "Cormorant Garamond", Georgia, serif;
    font-weight: 400;
    font-size: clamp(2.6rem, 6vw, 5rem);
    line-height: 1;
    letter-spacing: .04em;
    color: var(--er-text);
    margin: 0 0 clamp(14px, 1.8vw, 22px);
    text-transform: uppercase;
}
.er-blog-hero__subtitle {
    font-family: "Manrope", system-ui, sans-serif;
    font-size: clamp(.9rem, 1vw, 1rem);
    line-height: 1.5;
    color: var(--er-accent);
    max-width: 640px;
    margin: 0 auto;
    letter-spacing: .02em;
}

/* --- Секция --- */
.er-blog-section {
    padding: clamp(32px, 4vw, 56px) 0;
}
.er-blog-section__grid {
    display: grid;
    grid-template-columns: minmax(220px, 22%) minmax(0, 1fr);
    column-gap: clamp(32px, 4vw, 64px);
    align-items: start;
    padding: clamp(24px, 3vw, 40px);
    border: 1px solid rgba(205,145,56,0.34);
    border-radius: 6px;
    background: transparent;
}
.er-blog-section__side {
    display: flex;
    flex-direction: column;
    gap: clamp(14px, 1.6vw, 22px);
    padding-top: clamp(6px, .8vw, 12px);
}
.er-blog-section__title {
    font-family: "Prata", "Cormorant Garamond", Georgia, serif;
    font-weight: 400;
    font-size: clamp(1.05rem, 1.4vw, 1.45rem);
    line-height: 1.15;
    color: var(--er-text);
    margin: 0;
    letter-spacing: .12em;
    text-transform: uppercase;
    position: relative;
    padding-bottom: clamp(10px, 1.2vw, 14px);
}
.er-blog-section__title::after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: clamp(40px, 4vw, 56px);
    height: 1.5px;
    background: var(--er-accent);
}
.er-blog-section__desc {
    font-family: "Manrope", system-ui, sans-serif;
    font-size: clamp(.82rem, .88vw, .9rem);
    line-height: 1.6;
    color: rgba(8,28,57,0.72);
    margin: 0;
}
.er-blog-section__cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 22px;
    border: 1px solid rgba(205,145,56,0.6);
    border-radius: 4px;
    background: transparent;
    color: var(--er-accent);
    font-family: "Manrope", system-ui, sans-serif;
    font-size: .8rem;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    text-decoration: none;
    transition: background .2s ease, color .2s ease;
    align-self: flex-start;
    margin-top: clamp(4px, .8vw, 10px);
}
.er-blog-section__cta:hover {
    background: var(--er-accent);
    color: #fff;
}
.er-blog-section__cta svg {
    width: 16px; height: 16px;
}

/* --- Карусель --- */
.er-blog-carousel {
    position: relative;
    min-width: 0;
}
.er-blog-carousel__scroller {
    display: flex;
    gap: clamp(14px, 1.6vw, 22px);
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding: 4px 0;
}
.er-blog-carousel__scroller::-webkit-scrollbar { display: none; }

.er-blog-carousel__nav {
    position: absolute;
    top: 38%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 1px solid rgba(205,145,56,0.4);
    background: var(--er-bg);
    color: var(--er-accent);
    cursor: pointer;
    z-index: 2;
    transition: background .2s ease, color .2s ease, opacity .2s ease;
}
.er-blog-carousel__nav svg { width: 20px; height: 20px; }
.er-blog-carousel__nav:hover:not([disabled]) {
    background: var(--er-accent);
    color: #fff;
}
.er-blog-carousel__nav[disabled] {
    opacity: .28;
    cursor: default;
}
.er-blog-carousel__nav--prev { left: -18px; }
.er-blog-carousel__nav--next { right: -18px; }

/* --- Карточка --- */
.er-blog-card {
    flex: 0 0 calc((100% - 4 * clamp(14px, 1.6vw, 22px)) / 5);
    min-width: 200px;
    scroll-snap-align: start;
}
.er-blog-card__link {
    display: block;
    color: inherit;
    text-decoration: none;
}
.er-blog-card__photo {
    position: relative;
    margin: 0 0 12px;
    border-radius: 4px;
    overflow: hidden;
    box-shadow: 0 12px 30px -18px rgba(8,28,57,0.28);
}
.er-blog-card__photo img {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    transition: transform .4s ease;
    will-change: transform;
}
.er-blog-card__link:hover .er-blog-card__photo img {
    transform: scale(1.035);
}
/* Во время скролла — гасим все hover-transitions/transforms (иначе GPU жуёт кадры) */
.er-is-scrolling .er-blog-card__photo img,
.er-is-scrolling .property-recommendation__image img,
.er-is-scrolling .er-benefit-card,
.er-is-scrolling .er-case-card,
.er-is-scrolling .trust-card,
.er-is-scrolling .value-card,
.er-is-scrolling .er-testimonial {
    transition: none !important;
    transform: none !important;
}
.er-is-scrolling .er-blog-card__link,
.er-is-scrolling .property-recommendation {
    pointer-events: none;
}
.er-blog-card__play {
    position: absolute;
    left: 50%; top: 50%;
    transform: translate(-50%, -50%);
    width: 48px; height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,0.92);
    color: var(--er-accent);
    border-radius: 50%;
    pointer-events: none;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}
.er-blog-card__play svg { width: 22px; height: 22px; margin-left: 2px; }
.er-blog-card__duration {
    position: absolute;
    right: 8px; bottom: 8px;
    padding: 3px 8px;
    background: rgba(8,28,57,0.82);
    color: #F1EADF;
    font-family: "Manrope", system-ui, sans-serif;
    font-size: .72rem;
    font-weight: 600;
    border-radius: 3px;
    letter-spacing: .02em;
}
.er-blog-card__body {
    padding: 0 2px;
}
.er-blog-card__cat {
    display: block;
    font-family: "Manrope", system-ui, sans-serif;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--er-accent);
    margin-bottom: 6px;
}
.er-blog-card__title {
    font-family: "Manrope", "Cormorant Garamond", Georgia, serif;
    font-weight: 700;
    font-size: clamp(.85rem, .95vw, .98rem);
    line-height: 1.32;
    color: var(--er-text);
    margin: 0 0 8px;
    letter-spacing: -.005em;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.er-blog-card__date {
    font-family: "Manrope", system-ui, sans-serif;
    font-size: .72rem;
    color: rgba(8,28,57,0.55);
    letter-spacing: .02em;
}

/* --- Финальный navy banner --- */
.er-blog-banner {
    position: relative;
    margin-top: clamp(40px, 5vw, 72px);
    overflow: hidden;
    color: #F1EADF;
    min-height: clamp(180px, 22vw, 300px);
    display: flex;
    align-items: center;
}
.er-blog-banner__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 60%;
    z-index: 0;
    filter: brightness(0.55);
}
.er-blog-banner__bg + .er-blog-banner__inner,
.er-blog-banner__inner {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    column-gap: clamp(24px, 3.5vw, 56px);
    padding: clamp(32px, 4vw, 56px) clamp(16px, 3vw, 40px);
}
.er-blog-banner__mono {
    display: flex;
    align-items: center;
    justify-content: center;
    width: clamp(56px, 6vw, 88px);
    height: clamp(56px, 6vw, 88px);
    background: #081C39;
    border: 1px solid rgba(223,181,111,0.5);
    border-radius: 50%;
}
.er-blog-banner__mono img {
    display: block;
    width: 60%; height: auto;
    filter: brightness(0) invert(1) sepia(1) hue-rotate(20deg) saturate(2);
    opacity: .92;
}
.er-blog-banner__quote {
    font-family: "Prata", "Cormorant Garamond", Georgia, serif;
    font-weight: 400;
    font-size: clamp(1.05rem, 1.6vw, 1.65rem);
    line-height: 1.5;
    color: #F1EADF;
    margin: 0;
    text-align: center;
    letter-spacing: -.005em;
    padding-left: clamp(60px, 10vw, 180px);
}
.er-blog-banner__quote em {
    font-family: "Cormorant Garamond", Georgia, serif;
    font-style: italic;
    color: #DFB56F;
}
.er-blog-banner__branches {
    display: block;
    width: clamp(120px, 14vw, 220px);
    opacity: .55;
    filter: brightness(0) sepia(1) hue-rotate(15deg) saturate(4);
}
.er-blog-banner__branches img {
    display: block; width: 100%; height: auto;
}

/* --- Адаптив блога --- */
@media (max-width: 1199px) {
    .er-blog-card {
        flex: 0 0 calc((100% - 3 * clamp(14px, 1.6vw, 22px)) / 4);
    }
}
@media (max-width: 899px) {
    .er-blog-section__grid {
        grid-template-columns: 1fr;
        row-gap: clamp(20px, 3vw, 32px);
    }
    .er-blog-section__side {
        padding-top: 0;
    }
    .er-blog-card {
        flex: 0 0 calc((100% - 2 * clamp(14px, 1.6vw, 22px)) / 3);
    }
    .er-blog-carousel__nav--prev { left: 4px; }
    .er-blog-carousel__nav--next { right: 4px; }
    .er-blog-banner__inner {
        grid-template-columns: 1fr;
        row-gap: 18px;
        justify-items: center;
    }
}
@media (max-width: 599px) {
    .er-blog-card {
        flex: 0 0 82%;
    }
    .er-blog-hero__title {
        font-size: clamp(2rem, 12vw, 3rem);
    }
}


/* ================================================================== *
 *  19. АРТИКЛ (single.php) — макет одной статьи блога
 * ================================================================== */
.er-article {
    background: var(--er-bg);
    padding: clamp(24px, 3vw, 40px) 0 clamp(56px, 7vw, 96px);
}
.er-article .er-container {
    /* наследует общий .er-container (совпадает по ширине с header/footer) */
}

/* Хлебные крошки */
.er-article__breadcrumbs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    font-family: "Manrope", system-ui, sans-serif;
    font-size: .82rem;
    color: rgba(8,28,57,0.55);
    margin: 0 0 clamp(24px, 3vw, 40px);
}
.er-article__breadcrumbs a {
    color: rgba(8,28,57,0.72);
    text-decoration: none;
    transition: color .2s ease;
}
.er-article__breadcrumbs a:hover { color: var(--er-accent); }
.er-article__breadcrumbs svg { width: 12px; height: 12px; opacity: .55; }
.er-article__breadcrumbs span[aria-current] {
    color: var(--er-text);
    font-weight: 500;
}

/* Header (категория + title + meta) */
.er-article__header {
    margin: 0 0 clamp(24px, 3vw, 36px);
}
.er-article__cat {
    font-family: "Manrope", system-ui, sans-serif;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--er-accent);
    margin: 0 0 clamp(14px, 1.8vw, 20px);
}

/* eyebrow-anchor: ссылка внутри категории под H1 */
.er-article__cat a { color: inherit; text-decoration: none; transition: opacity .2s ease; }
.er-article__cat a:hover { opacity: .7; }
.er-article__cat span { opacity: .5; margin: 0 4px; font-weight: 400; }

.er-article__title {
    font-family: "Cormorant Garamond", Georgia, serif;
    font-weight: 400;
    font-size: clamp(1.8rem, 3.6vw, 3.2rem);
    line-height: 1.12;
    color: var(--er-text);
    margin: 0 0 clamp(20px, 2.4vw, 32px);
    letter-spacing: -.005em;
}
.er-article__meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}
.er-article__meta-left {
    display: flex;
    align-items: center;
    gap: clamp(12px, 1.4vw, 20px);
    color: rgba(8,28,57,0.72);
}
.er-article__meta-item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: "Manrope", system-ui, sans-serif;
    font-size: .88rem;
}
.er-article__meta-item svg { width: 16px; height: 16px; opacity: .7; }
.er-article__meta-sep { color: rgba(8,28,57,0.35); font-weight: 300; }
.er-article__share {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 22px;
    border: 1px solid rgba(205,145,56,0.55);
    border-radius: 999px;
    background: transparent;
    color: var(--er-accent);
    font-family: "Manrope", system-ui, sans-serif;
    font-size: .85rem;
    font-weight: 500;
    cursor: pointer;
    transition: background .2s ease, color .2s ease;
}
.er-article__share:hover {
    background: var(--er-accent);
    color: #fff;
}
.er-article__share svg { width: 16px; height: 16px; }

.er-article__hr {
    border: 0;
    border-top: 1px solid rgba(205,145,56,0.32);
    margin: 0 0 clamp(24px, 3vw, 36px);
}

/* Интро */
.er-article__intro {
    font-family: "Manrope", system-ui, sans-serif;
    font-size: clamp(.95rem, 1.05vw, 1.05rem);
    line-height: 1.65;
    color: rgba(8,28,57,0.86);
    margin: 0 0 clamp(28px, 3.6vw, 48px);
    max-width: 900px;
}

/* Верхняя галерея — 1..5 фото в ряд, aspect 3/4 */
.er-article__top-gallery {
    display: grid;
    gap: clamp(10px, 1.2vw, 18px);
    margin: 0 0 clamp(32px, 4vw, 56px);
}
.er-article__top-gallery--1 { grid-template-columns: minmax(0, 1fr); }
.er-article__top-gallery--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.er-article__top-gallery--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.er-article__top-gallery--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.er-article__top-gallery--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.er-article__top-photo {
    margin: 0;
    border-radius: 4px;
    overflow: hidden;
    box-shadow: 0 18px 40px -24px rgba(8,28,57,0.32);
}
.er-article__top-photo img,
.er-article__top-photo .er-article__top-img {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 3 / 4;
    object-fit: cover;
}

/* Тело статьи */
.er-article__body {
    font-family: "Manrope", system-ui, sans-serif;
    font-size: clamp(.92rem, 1vw, 1rem);
    line-height: 1.72;
    color: rgba(8,28,57,0.86);
    /* защита от long word overflow — на случай 10к символов без пробелов */
    overflow-wrap: break-word;
    word-wrap: break-word;
    hyphens: auto;
}
.er-article__body::after {
    content: "";
    display: block;
    clear: both;
}
.er-article__body p {
    margin: 0 0 clamp(14px, 1.5vw, 20px);
    max-width: 620px;
}
.er-article__body h2 {
    clear: both;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-weight: 400;
    font-size: clamp(1.3rem, 1.8vw, 1.75rem);
    line-height: 1.2;
    color: var(--er-text);
    margin: clamp(28px, 3.4vw, 44px) 0 clamp(14px, 1.6vw, 20px);
    padding-top: clamp(14px, 1.6vw, 18px);
    position: relative;
    max-width: 620px;
    letter-spacing: -.005em;
}
.er-article__body h2::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 36px;
    height: 2px;
    background: var(--er-accent);
}
.er-article__body h3 {
    clear: both;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-weight: 400;
    font-size: clamp(1.15rem, 1.4vw, 1.4rem);
    color: var(--er-text);
    margin: clamp(22px, 2.6vw, 32px) 0 clamp(10px, 1.2vw, 14px);
    max-width: 620px;
}
.er-article__body ul,
.er-article__body ol {
    margin: 0 0 clamp(14px, 1.5vw, 20px);
    padding-left: 22px;
    max-width: 620px;
}
.er-article__body ul { list-style: none; padding-left: 0; }
.er-article__body ul li {
    position: relative;
    padding-left: 22px;
    margin-bottom: 6px;
}
.er-article__body ul li::before {
    content: "•";
    position: absolute;
    left: 0;
    top: 0;
    color: var(--er-accent);
    font-weight: 700;
}
.er-article__body a {
    color: var(--er-accent);
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
}

/* Inline image справа — двухколоночный layout секции.
   Юзер в редакторе ставит выравнивание фото «вправо». */
.er-article__body img.alignright,
.er-article__body figure.alignright,
.er-article__body .wp-block-image.alignright {
    float: right;
    width: 44%;
    max-width: 480px;
    margin: 0 0 clamp(16px, 2vw, 28px) clamp(24px, 3vw, 40px);
    border-radius: 4px;
    overflow: hidden;
}
.er-article__body img.alignleft,
.er-article__body figure.alignleft,
.er-article__body .wp-block-image.alignleft {
    float: left;
    width: 44%;
    max-width: 480px;
    margin: 0 clamp(24px, 3vw, 40px) clamp(16px, 2vw, 28px) 0;
    border-radius: 4px;
    overflow: hidden;
}
.er-article__body img.aligncenter,
.er-article__body figure.aligncenter,
.er-article__body .wp-block-image.aligncenter {
    display: block;
    margin: clamp(24px, 3vw, 40px) auto;
    max-width: 100%;
    border-radius: 4px;
}
.er-article__body figure img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 4px;
}
.er-article__body figcaption {
    font-size: .78rem;
    color: rgba(8,28,57,0.55);
    text-align: center;
    padding: 6px 0 0;
}

/* Финальная цитата — обычный <blockquote> в редакторе.
   clear:right — не залипает под alignright-фото (кейс шаблона «Статьи»),
   но обтекает alignleft-картинку, вставая в свободную правую колонку. */
.er-article__body blockquote {
    clear: right;
    background: #F1EADF;
    border: 1px solid rgba(205,145,56,0.24);
    border-radius: 4px;
    padding: clamp(22px, 2.8vw, 36px) clamp(24px, 3vw, 40px) clamp(22px, 2.8vw, 36px) clamp(56px, 6vw, 78px);
    margin: clamp(32px, 4vw, 56px) 0 clamp(24px, 3vw, 40px);
    position: relative;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-style: italic;
    font-weight: 400;
    font-size: clamp(1rem, 1.2vw, 1.2rem);
    line-height: 1.55;
    color: var(--er-text);
    max-width: 900px;
}
.er-article__body blockquote::before {
    content: "\201C";
    position: absolute;
    left: clamp(16px, 2vw, 28px);
    top: clamp(8px, 1.2vw, 16px);
    font-family: "Prata", Georgia, serif;
    font-size: clamp(2.4rem, 4vw, 4rem);
    color: var(--er-accent);
    line-height: 1;
    font-style: normal;
}
.er-article__body blockquote p:last-child { margin-bottom: 0; }

/* Адаптив статьи */
@media (max-width: 899px) {
    .er-article__top-gallery--5 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .er-article__top-gallery--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .er-article__body img.alignright,
    .er-article__body img.alignleft,
    .er-article__body figure.alignright,
    .er-article__body figure.alignleft,
    .er-article__body .wp-block-image.alignright,
    .er-article__body .wp-block-image.alignleft {
        float: none;
        width: 100%;
        max-width: 100%;
        margin: clamp(18px, 2vw, 24px) 0;
    }
    .er-article__body p,
    .er-article__body h2,
    .er-article__body h3,
    .er-article__body ul,
    .er-article__body ol { max-width: none; }
}
@media (max-width: 599px) {
    .er-article__top-gallery--5,
    .er-article__top-gallery--4,
    .er-article__top-gallery--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .er-article__meta {
        flex-direction: column;
        align-items: flex-start;
    }
    .er-article__title { font-size: clamp(1.5rem, 7vw, 2.2rem); }
}


/* ------------------------------------------------------------------ *
 *  Section divider  (линия — ромб — линия)
 * ------------------------------------------------------------------ */
.er-section-divider {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: 4px clamp(24px, 4vw, 64px);
    background: transparent;
}
.er-section-divider__line {
    flex: 1;
    height: 0.5px;
    background: transparent;
}
.er-section-divider__line:first-child {
    background: linear-gradient(to right, transparent 0%, rgba(205,145,56,.45) 100%);
}
.er-section-divider__line:last-child {
    background: linear-gradient(to left, transparent 0%, rgba(205,145,56,.45) 100%);
}
.er-section-divider__diamond {
    display: block;
    width: 9px;
    height: 9px;
    background: var(--er-accent);
    transform: rotate(45deg);
    flex: 0 0 auto;
}
.er-about__quote-wrap .er-section-divider {
    max-width: 430px;
    padding-left: 0;
    padding-right: 0;
}


/* ------------------------------------------------------------------ *
 *  Reduced motion
 * ------------------------------------------------------------------ */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
    .er-reveal-ready .er-reveal { opacity: 1 !important; transform: none !important; }
}


/* --- Widths для параграфов и H2/H3 внутри статьи (align=wide/full) --- */
.er-article__body p.alignwide,
.er-article__body h2.alignwide,
.er-article__body h3.alignwide,
.er-article__body ul.alignwide,
.er-article__body ol.alignwide { max-width: 900px !important; }

.er-article__body p.alignfull,
.er-article__body h2.alignfull,
.er-article__body h3.alignfull,
.er-article__body ul.alignfull,
.er-article__body ol.alignfull { max-width: none !important; }


/* --- Видео-плеер для рубрики «Видео» --- */
.er-article__video {
    position: relative;
    margin: 0 0 clamp(32px, 4vw, 56px);
    background: #081C39;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 30px 80px -40px rgba(8,28,57,0.5);
}
.er-article__video::before {
    content: "";
    display: block;
    padding-top: 56.25%; /* 16:9 */
}
.er-article__video iframe,
.er-article__video video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}

/* --- eyebrow с только одной категорией «ВИДЕООБЗОРЫ» --- */
.er-article__meta-item svg { width: 16px; height: 16px; opacity: .7; }

/* --- Карточки «Топ-N проекта» (block pattern samoletova/video-top-cards).
   Scoped под .er-cards--top чтобы не перекрывать .er-cards--3 (архив объектов). --- */
.er-cards--top {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(14px, 1.6vw, 22px);
    margin: clamp(20px, 2.4vw, 32px) 0 clamp(32px, 4vw, 48px);
}
.er-cards--top .er-card {
    background: #fff;
    border: 1px solid rgba(205, 145, 56, 0.22);
    border-radius: 8px;
    text-decoration: none;
}
.er-cards--top .er-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 24px 40px -28px rgba(8,28,57,0.35);
}
.er-cards--top .er-card__photo {
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #F1EADF;
}
.er-cards--top .er-card__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.er-cards--top .er-card__body { padding: 14px 16px 18px; gap: 6px; }
.er-cards--top .er-card__title {
    font-family: "Manrope", system-ui, sans-serif;
    font-size: .95rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: #081C39;
    margin: 0;
}
.er-cards--top .er-card__location {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: "Manrope", system-ui, sans-serif;
    font-size: .78rem;
    color: rgba(8,28,57,0.68);
    margin: 0;
}
.er-cards--top .er-card__location svg { width: 12px; height: 12px; color: #CD9138; }
.er-cards--top .er-card__desc {
    font-family: "Manrope", system-ui, sans-serif;
    font-size: .82rem;
    line-height: 1.5;
    color: rgba(8,28,57,0.75);
    margin: 6px 0 0;
}
@media (max-width: 899px) {
    .er-cards--top { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 499px) {
    .er-cards { grid-template-columns: 1fr; }
}


/* Обработка WP-обёртки <div class="wp-block-image"><figure class="alignright">…</figure></div>
   когда align попадает на внутренний figure, а не на div. */
.er-article__body div.wp-block-image:has(> figure.alignright) {
    float: right !important;
    width: 44%;
    max-width: 480px;
    margin: 0 0 clamp(16px, 2vw, 28px) clamp(24px, 3vw, 40px);
    border-radius: 4px;
}
.er-article__body div.wp-block-image:has(> figure.alignleft) {
    float: left !important;
    width: 44%;
    max-width: 480px;
    margin: 0 clamp(24px, 3vw, 40px) clamp(16px, 2vw, 28px) 0;
    border-radius: 4px;
}
.er-article__body div.wp-block-image:has(> figure.alignright) > figure,
.er-article__body div.wp-block-image:has(> figure.alignleft) > figure {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
}


/* p/ul после float-image растягиваются на всё оставшееся место */
.er-article__body div.wp-block-image:has(> figure.alignright) ~ p,
.er-article__body div.wp-block-image:has(> figure.alignleft) ~ p,
.er-article__body div.wp-block-image:has(> figure.alignright) ~ ul,
.er-article__body div.wp-block-image:has(> figure.alignleft) ~ ul,
.er-article__body figure.alignright + p,
.er-article__body figure.alignleft + p,
.er-article__body figure.alignright + ul,
.er-article__body figure.alignleft + ul {
    max-width: none !important;
}

/* blockquote вплотную к alignleft-картинке: BFC → цитата встаёт в правую
   колонку рядом с картинкой, а не под всем блоком. max-width снят, чтобы
   блок не отталкивался вниз в поисках 900px места.
   Только `+` (adjacent) — не задевать далёкие цитаты в конце статьи. */
.er-article__body figure.alignleft + blockquote,
.er-article__body figure.alignleft + p + blockquote,
.er-article__body figure.alignleft + ul + blockquote,
.er-article__body div.wp-block-image:has(> figure.alignleft) + blockquote,
.er-article__body div.wp-block-image:has(> figure.alignleft) + p + blockquote,
.er-article__body div.wp-block-image:has(> figure.alignleft) + ul + blockquote {
    display: flow-root;
    max-width: none !important;
}

/* ================================================================== *
 *  Partners page — /partnery/
 * ================================================================== */
.er-section--partners { padding-top: clamp(24px, 3vw, 48px); }
.er-section--partners .er-breadcrumbs { margin-bottom: clamp(24px, 3vw, 48px); }

/* Hero */
.er-partners-hero {
    display: grid;
    gap: clamp(24px, 4vw, 48px);
    grid-template-columns: minmax(0, 1fr);
    align-items: center;
    margin-bottom: clamp(40px, 5vw, 72px);
}
@media (min-width: 900px) {
    .er-partners-hero { grid-template-columns: minmax(320px, 0.75fr) minmax(0, 1.5fr); }
}
.er-partners-hero__text { max-width: 460px; }
.er-partners-hero__title {
    font-family: var(--er-font-head);
    font-size: clamp(2.4rem, 6vw, 4.4rem);
    line-height: 1;
    margin: 0;
    color: var(--er-fg);
    letter-spacing: -.01em;
}
.er-partners-hero__rule {
    display: block; width: 44px; height: 2px;
    background: var(--er-accent); margin: 20px 0 22px;
}
.er-partners-hero__lead {
    margin: 0; color: var(--er-fg-muted);
    font-size: clamp(.94rem, 1.6vw, 1rem);
    line-height: 1.6;
    max-width: 380px;
}
.er-partners-hero__illu {
    width: 100%;
    max-width: 100%;
    justify-self: stretch;
    margin-right: calc(var(--er-gutter) * -0.4);
}
@media (max-width: 899px) {
    .er-partners-hero__illu { margin-right: 0; max-width: 640px; margin-inline: auto; }
}
.er-partners-hero__illu svg,
.er-partners-hero__illu img { width: 100%; height: auto; display: block; }
.er-partners-hero__illu picture { display: block; }

/* Facts bar */
.er-facts-bar {
    list-style: none; margin: 0 0 clamp(48px, 6vw, 80px); padding: clamp(20px, 2.5vw, 32px) clamp(16px, 2.5vw, 32px);
    display: grid; gap: 20px 24px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    background: transparent;
    border: 1px solid var(--er-border);
    border-radius: var(--er-radius-md);
}
@media (min-width: 620px)  { .er-facts-bar { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1000px) { .er-facts-bar { grid-template-columns: repeat(5, minmax(0, 1fr)); } }

.er-facts-bar li {
    display: flex; align-items: center; gap: 14px;
    min-width: 0;
}
.er-facts-bar__icon {
    flex: 0 0 auto;
    width: 46px; height: 46px;
    border-radius: 50%;
    background: var(--er-bg-muted);
    color: var(--er-accent);
    display: inline-flex; align-items: center; justify-content: center;
}
.er-facts-bar__icon--img {
    width: 56px; height: 56px;
    background: transparent;
}
.er-facts-bar__icon--img picture,
.er-facts-bar__icon--img img {
    display: block;
    width: 100%; height: 100%;
    object-fit: contain;
}
.er-facts-bar__text {
    display: flex; flex-direction: column; gap: 2px; min-width: 0;
}
.er-facts-bar__text strong {
    font-family: var(--er-font-head);
    font-size: clamp(.94rem, 1.4vw, 1rem);
    color: var(--er-fg); font-weight: 500;
    line-height: 1.2;
}
.er-facts-bar__text small {
    color: var(--er-fg-muted);
    font-size: .78rem;
    line-height: 1.35;
}

/* Divider с монограммой */
.er-partners-divider {
    display: flex; align-items: center; gap: 20px;
    margin: 0 auto clamp(28px, 4vw, 56px);
    max-width: 460px;
}
.er-partners-divider__line { flex: 1; height: 1px; background: var(--er-border); }
.er-partners-divider__mark { flex: 0 0 auto; display: inline-flex; }

/* Grid партнёров */
.er-partners-grid {
    list-style: none; margin: 0 0 clamp(48px, 6vw, 80px); padding: 0;
    display: grid; gap: clamp(10px, 1.4vw, 16px);
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (min-width: 520px)  { .er-partners-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 800px)  { .er-partners-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .er-partners-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); } }

.er-partners-card {
    display: grid;
    grid-template-rows: 1fr auto;
    height: 100%;
    padding: clamp(16px, 2vw, 22px) clamp(14px, 1.8vw, 20px);
    background: transparent;
    border: 1px solid var(--er-border);
    border-radius: var(--er-radius-sm);
    color: var(--er-fg);
    text-decoration: none;
    transition: transform var(--er-transition), border-color var(--er-transition), box-shadow var(--er-transition);
    min-height: 140px;
}
a.er-partners-card:hover {
    transform: translateY(-2px);
    border-color: var(--er-accent);
    box-shadow: 0 12px 24px -18px rgba(180,138,74,.35);
}
.er-partners-card__logo {
    display: flex; align-items: center; justify-content: center;
    min-height: 56px; padding: 8px 0 14px;
}
.er-partners-card__logo img {
    max-width: 100%; max-height: 56px; height: auto;
    object-fit: contain;
}
.er-partners-card__nameplate {
    width: 100%;
    display: flex; align-items: center; justify-content: center;
    min-height: 44px;
    padding: 6px 4px;
}
.er-partners-card__nameplate span {
    font-family: var(--er-font-head);
    font-size: clamp(.92rem, 1.4vw, 1.06rem);
    letter-spacing: .04em;
    color: var(--er-fg);
    text-align: center;
    line-height: 1.15;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.er-partners-card__foot {
    display: flex; align-items: center; justify-content: space-between;
    gap: 8px;
    padding-top: clamp(10px, 1.5vw, 14px);
    border-top: 1px solid var(--er-border);
}
.er-partners-card__name {
    font-size: clamp(.74rem, 1.2vw, .82rem);
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--er-fg-muted);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0; flex: 1;
}
.er-partners-card__arrow {
    color: var(--er-accent);
    flex: 0 0 auto;
    display: inline-flex;
    transition: transform var(--er-transition);
}
a.er-partners-card:hover .er-partners-card__arrow { transform: translateX(3px); }

/* Promo band */
.er-partners-promo {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: clamp(16px, 2.5vw, 28px);
    padding: clamp(20px, 3vw, 36px) clamp(20px, 3vw, 40px);
    background: transparent;
    border: 1px solid var(--er-border);
    border-radius: var(--er-radius-md);
    margin-bottom: clamp(32px, 4vw, 48px);
    overflow: hidden;
}
@media (max-width: 720px) {
    .er-partners-promo { grid-template-columns: minmax(0, 1fr); gap: 12px; }
}
.er-partners-promo__icon {
    width: 66px; height: 66px;
    border-radius: 50%;
    background: var(--er-bg-muted);
    display: inline-flex; align-items: center; justify-content: center;
    flex: 0 0 auto;
}
.er-partners-promo__icon--img {
    /* Картинка 320x148 (aspect ~2.16:1) — контейнер под ту же пропорцию, чтобы не мельчила */
    width: clamp(110px, 12vw, 160px);
    height: clamp(51px, 5.6vw, 74px);
    background: transparent;
    border-radius: 0;
}
.er-partners-promo__icon--img picture,
.er-partners-promo__icon--img img {
    display: block;
    width: 100%; height: 100%;
    object-fit: contain;
}
.er-partners-promo__text { min-width: 0; }
.er-partners-promo__text h2 {
    font-family: var(--er-font-head);
    font-size: clamp(1.1rem, 2.2vw, 1.5rem);
    margin: 0 0 6px;
    color: var(--er-fg);
    font-weight: 400;
}
.er-partners-promo__text p {
    margin: 0;
    color: var(--er-fg-muted);
    font-size: clamp(.88rem, 1.5vw, .95rem);
    line-height: 1.55;
    max-width: 640px;
}
.er-partners-promo__leaf {
    position: relative;
    width: clamp(60px, 7vw, 100px); height: auto;
    display: none;
    flex: 0 0 auto;
}
.er-partners-promo__leaf svg,
.er-partners-promo__leaf picture,
.er-partners-promo__leaf img { width: 100%; height: auto; display: block; }
.er-partners-promo__leaf--l { transform: scaleX(-1); }
@media (min-width: 700px) { .er-partners-promo__leaf { display: block; } }

/* Финальный тёмный баннер */
.er-section--partners-banner {
    padding: 0 !important;
    margin-top: 0;
}
.er-partners-banner {
    position: relative;
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: clamp(16px, 3vw, 32px);
    padding: clamp(28px, 4vw, 56px) clamp(20px, 3vw, 44px);
    background:
        linear-gradient(90deg, rgba(8,28,57,0.92) 0%, rgba(8,28,57,0.68) 45%, rgba(8,28,57,0.15) 75%, transparent 100%),
        image-set(
            url("../img/partners/banner-moscow.webp") type("image/webp"),
            url("../img/partners/banner-moscow.jpg") type("image/jpeg")
        );
    background-size: cover;
    background-position: center right;
    background-repeat: no-repeat;
    border-radius: var(--er-radius-md);
    color: var(--er-fg-inv);
    overflow: hidden;
    min-height: clamp(160px, 22vw, 220px);
}
.er-partners-banner > * { position: relative; z-index: 1; }
.er-partners-banner__brand {
    display: inline-flex;
    padding-left: clamp(0px, 4vw, 40px);
    flex: 0 0 auto;
}
.er-partners-banner__brand svg,
.er-partners-banner__brand img { width: clamp(48px, 6vw, 60px); height: auto; display: block; }
.er-partners-banner__text {
    margin: 0;
    font-family: var(--er-font-head);
    font-size: clamp(.95rem, 2vw, 1.4rem);
    line-height: 1.35;
    letter-spacing: .05em;
    text-align: left;
    min-width: 0;
    color: var(--er-fg-inv);
    text-shadow: 0 1px 6px rgba(0,0,0,.35);
}
.er-partners-banner__text strong {
    font-weight: 500;
    color: var(--er-accent-hi);
}
@media (max-width: 720px) {
    .er-partners-banner {
        background:
            linear-gradient(180deg, rgba(8,28,57,0.85) 0%, rgba(8,28,57,0.55) 55%, rgba(8,28,57,0.25) 100%),
            image-set(
                url("../img/partners/banner-moscow.webp") type("image/webp"),
                url("../img/partners/banner-moscow.jpg") type("image/jpeg")
            );
        background-size: cover;
        background-position: center bottom;
        min-height: 240px;
        padding: 24px 20px;
    }
    .er-partners-banner__brand { padding-left: 0; }
}

/* ================================================================ *
 *  Catalog: Property archive (макет «Недвижимость / Трофейный люкс»)
 *  Префикс .er-cat-* — не пересекается с legacy .er-property__* / .er-cards
 * ================================================================ */
:root {
    /* Палитра по ТЗ каталога Трофейный люкс — приглушённые premium-тона */
    --er-cat-navy:      #081C39;   /* основной фон блока (deep navy, spec) */
    --er-cat-navy-2:    #081C39;
    --er-cat-navy-3:    #10243D;
    --er-cat-gold:      #B89A62;   /* шампанское золото (spec) */
    --er-cat-gold-soft: #C1A66F;   /* soft-вариант для заголовков на dark */
    --er-cat-gold-dim:  rgba(184,154,98,0.36);
    --er-cat-line:      rgba(184,154,98,0.28);
    --er-cat-onnavy:    #F5F2ED;   /* основной светлый текст (spec) */
    --er-cat-onnavy-mu: #B8B2AA;   /* второстепенный (spec) */
    --er-cat-card:      #EFEAE4;   /* фон карточки (spec) */
}

.er-cat { padding-top: 40px; }
.er-cat__topbar { padding: 8px 0 24px; }
.er-cat .er-breadcrumbs { margin-bottom: 22px; }
.er-cat__head { margin-bottom: 28px; }
.er-cat__title {
    font: var(--er-fw-head) clamp(52px, 6.4vw, 88px)/1.02 var(--er-font-head);
    color: var(--er-fg);
    margin: 0 0 14px;
    letter-spacing: -.005em;
}
.er-cat__lead {
    font: 400 clamp(14px, 1.05vw, 16px)/1.55 var(--er-font-body);
    color: var(--er-fg-muted);
    max-width: 620px;
    margin: 0;
}

/* Фильтр — тёмно-синий контейнер (ТЗ: radius 4-6px) */
.er-cat-filter {
    background: var(--er-cat-navy);
    border-radius: 5px;
    padding: 18px 20px;
    margin: 8px 0 28px;
    color: var(--er-cat-onnavy);
    box-shadow: 0 2px 12px rgba(8,28,57,0.10);
}
.er-cat-filter__row {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 14px;
}
.er-cat-filter .er-cat-filter__row--bottom,
.er-cat-filter__row--bottom {
    margin-top: 18px;
    grid-template-columns: 1fr auto !important;
    align-items: center;
    gap: 24px;
}
.er-cat-filter__field {
    position: relative;
    display: block;
}
.er-cat-filter__field select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    width: 100%;
    padding: 14px 40px 14px 14px;
    background: transparent;
    border: 1px solid var(--er-cat-gold);
    border-radius: 4px;
    color: var(--er-cat-onnavy);
    font: 500 14px/1.4 var(--er-font-body);
    letter-spacing: .01em;
    cursor: pointer;
    transition: border-color var(--er-transition), background-color var(--er-transition);
}
.er-cat-filter__field select:hover,
.er-cat-filter__field select:focus-visible {
    border-color: var(--er-cat-gold-soft);
    background: rgba(184,154,98,0.08);
    outline: none;
}
.er-cat-filter__field select option {
    background: var(--er-cat-navy-2);
    color: var(--er-cat-onnavy);
}
.er-cat-filter__field svg {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--er-cat-gold);
    pointer-events: none;
}

/* Активные чипы */
.er-cat-filter__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    min-height: 30px;
    align-items: center;
}
.er-cat-filter__chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    background: transparent;
    border: 1px solid rgba(184,154,98,0.36);
    border-radius: 4px;
    color: var(--er-cat-onnavy);
    font: 500 13px/1.2 var(--er-font-body);
    letter-spacing: .01em;
}
.er-cat-filter__chip-x {
    background: none;
    border: none;
    padding: 2px;
    cursor: pointer;
    color: var(--er-cat-gold);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: color var(--er-transition);
}
.er-cat-filter__chip-x:hover { color: var(--er-cat-gold-soft); }

.er-cat-filter__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 24px;
}
.er-cat-filter__clear {
    color: var(--er-cat-gold);
    font: 500 14px/1 var(--er-font-body);
    text-decoration: underline;
    text-decoration-color: var(--er-cat-gold);
    text-underline-offset: 4px;
    padding: 6px 4px;
    transition: color var(--er-transition);
}
.er-cat-filter__clear:hover { color: var(--er-cat-gold-soft); }
.er-cat-filter__submit {
    padding: 14px 32px;
    background: var(--er-cat-gold);
    border: none;
    border-radius: 4px;
    color: #FFFFFF;
    font: 500 14px/1.2 var(--er-font-body);
    letter-spacing: .01em;
    white-space: nowrap;
    cursor: pointer;
    transition: background var(--er-transition), transform var(--er-transition);
}
.er-cat-filter__submit:hover {
    background: var(--er-cat-gold-soft);
    transform: translateY(-1px);
}

/* Мульти-дропдаун (Формат / Готовность) — визуально зеркалит .er-cat-filter__field select, открывается панелью с чекбоксами. */
.er-cat-filter__multi { position: relative; }
.er-cat-filter__multi-toggle {
    appearance: none;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    width: 100%;
    padding: 14px 40px 14px 14px;
    background: transparent;
    border: 1px solid var(--er-cat-gold);
    border-radius: 4px;
    color: var(--er-cat-onnavy);
    font: 500 14px/1.4 var(--er-font-body);
    letter-spacing: .01em;
    text-align: left;
    cursor: pointer;
    transition: border-color var(--er-transition), background-color var(--er-transition);
    position: relative;
}
.er-cat-filter__multi-toggle:hover,
.er-cat-filter__multi-toggle:focus-visible,
.er-cat-filter__multi-toggle.is-active {
    border-color: var(--er-cat-gold-soft);
    background: rgba(184,154,98,0.08);
    outline: none;
}
.er-cat-filter__multi-toggle svg {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--er-cat-gold);
    pointer-events: none;
    transition: transform var(--er-transition);
}
.er-cat-filter__multi-toggle[aria-expanded="true"] svg {
    transform: translateY(-50%) rotate(180deg);
}
.er-cat-filter__multi-label {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.er-cat-filter__multi-panel {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    z-index: 40;
    max-height: 320px;
    overflow-y: auto;
    padding: 8px;
    background: var(--er-cat-navy-2);
    border: 1px solid rgba(184,154,98,0.4);
    border-radius: 6px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.28);
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.er-cat-filter__multi-panel[hidden] { display: none; }
.er-cat-filter__multi-option {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    color: var(--er-cat-onnavy);
    font: 500 13px/1.3 var(--er-font-body);
    cursor: pointer;
    border-radius: 4px;
    transition: background-color var(--er-transition);
    position: relative;
}
.er-cat-filter__multi-option:hover { background: rgba(184,154,98,0.12); }
.er-cat-filter__multi-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
    width: 0;
    height: 0;
}
.er-cat-filter__multi-check {
    flex: 0 0 auto;
    width: 16px;
    height: 16px;
    border: 1px solid var(--er-cat-gold);
    border-radius: 3px;
    background: transparent;
    position: relative;
    transition: background var(--er-transition), border-color var(--er-transition);
}
.er-cat-filter__multi-option input:checked + .er-cat-filter__multi-check {
    background: var(--er-cat-gold);
    border-color: var(--er-cat-gold);
}
.er-cat-filter__multi-option input:checked + .er-cat-filter__multi-check::after {
    content: "";
    position: absolute;
    left: 4px;
    top: 1px;
    width: 4px;
    height: 8px;
    border-right: 1.6px solid #fff;
    border-bottom: 1.6px solid #fff;
    transform: rotate(45deg);
}
.er-cat-filter__multi-text { flex: 1 1 auto; }
@media (max-width: 720px) {
    .er-cat-filter__multi-panel { max-height: 260px; }
}


/* Toolbar (счётчик + сортировка) */
.er-cat__toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 0 40px;
}
.er-cat__count {
    font: 400 clamp(20px, 1.9vw, 28px)/1.2 var(--er-font-head);
    color: var(--er-fg);
    margin: 0;
    letter-spacing: -.005em;
}
.er-cat__sort {
    display: flex;
    align-items: center;
    gap: 14px;
    font: 500 12px/1.4 var(--er-font-body);
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--er-fg-muted);
    position: relative;
}
.er-cat__sort-btn {
    background: none;
    border: none;
    padding: 0 0 4px;
    color: var(--er-fg);
    font: 500 12px/1.4 var(--er-font-body);
    letter-spacing: .04em;
    text-transform: uppercase;
    cursor: pointer;
    border-bottom: 1px solid var(--er-border-navy);
    display: inline-flex;
    align-items: center;
    gap: 12px;
    transition: color var(--er-transition), border-color var(--er-transition);
}
.er-cat__sort-btn:hover { color: var(--er-accent); border-color: var(--er-accent); }
.er-cat__sort-btn svg {
    color: var(--er-accent);
    transition: transform var(--er-transition);
}
.er-cat__sort-btn[aria-expanded="true"] svg { transform: rotate(180deg); }
.er-cat__sort-list {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    min-width: 240px;
    margin: 0;
    padding: 6px 0;
    list-style: none;
    background: #fff;
    border: 1px solid var(--er-border-navy);
    border-radius: 4px;
    box-shadow: 0 12px 28px rgba(8, 28, 57, 0.14);
    z-index: 30;
    text-transform: none;
    letter-spacing: normal;
}
.er-cat__sort-list[hidden] { display: none; }
.er-cat__sort-opt { margin: 0; padding: 0; }
.er-cat__sort-opt a {
    display: block;
    padding: 9px 16px;
    font: 400 13px/1.4 var(--er-font-body);
    color: var(--er-fg);
    text-decoration: none;
    transition: background var(--er-transition), color var(--er-transition);
}
.er-cat__sort-opt a:hover {
    background: rgba(184, 154, 98, 0.08);
    color: var(--er-accent);
}
.er-cat__sort-opt.is-active a {
    color: var(--er-accent);
    font-weight: 500;
}

/* Блок ЖК: dark navy radial gradient — весь блок целиком на тёмном фоне (макет 1в1) */
.er-cat__list { position: relative; }
.er-cat-block {
    position: relative;
    margin: 0;
    isolation: isolate;
    overflow: visible;
    background: var(--er-cat-navy);
}
.er-cat-block__inner {
    position: relative;
    overflow: visible;
}
.er-cat-block {
    --er-cat-hero-h: clamp(420px, 36vw, 680px);
    --er-cat-overlap-ratio: 0.18;
}
@media (min-width: 1600px) {
    .er-cat-block { --er-cat-hero-h: clamp(560px, 40vw, 780px); --er-cat-overlap-ratio: 0.5; }
}
@media (min-width: 1920px) {
    .er-cat-block { --er-cat-hero-h: clamp(780px, 48vw, 980px); --er-cat-overlap-ratio: 0.66; }
}
@media (min-width: 2560px) {
    .er-cat-block { --er-cat-hero-h: clamp(760px, 38vw, 960px); --er-cat-overlap-ratio: 0.7; }
}
.er-cat-block__hero {
    position: relative;
    width: 100%;
    height: var(--er-cat-hero-h);
    overflow: hidden;
    background: var(--er-cat-navy);
    isolation: isolate;
}
.er-cat-block__hero img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.er-cat-block__hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(8,28,57,0.72) 0%, rgba(8,28,57,0.32) 32%, rgba(8,28,57,0) 58%),
                linear-gradient(180deg, rgba(8,28,57,0) 55%, rgba(8,28,57,0.55) 100%);
    pointer-events: none;
}
.er-cat-block__hero--placeholder {
    background: linear-gradient(135deg, #081C39 0%, #081C39 100%);
}

/* Info-overlay: чистый текст поверх затемнённого hero, БЕЗ plate */
.er-cat-block__intro {
    position: absolute;
    left: max(var(--er-gutter), calc((100vw - var(--er-container)) / 2));
    top: clamp(24px, 3vw, 44px);
    /* Прижимаем нижний край intro на фиксированное расстояние от overlap-линии,
       чтобы CTA-кнопка у всех карточек оказалась на одной высоте
       и зазор до наплывающих лот-картинок был одинаковый. */
    bottom: calc(var(--er-cat-hero-h) * var(--er-cat-overlap-ratio) + 32px);
    max-width: clamp(340px, 38vw, 560px);
    padding: 0;
    background: transparent;
    border: none;
    box-shadow: none;
    color: var(--er-cat-onnavy);
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}
.er-cat-block__title {
    font: 400 clamp(20px, 1.9vw, 24px)/1.35 var(--er-font-body);
    color: var(--er-cat-gold-soft);
    margin: 0 0 14px;
    letter-spacing: .005em;
}
.er-cat-block__loc {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: var(--er-cat-onnavy);
    font: 500 14px/1.4 var(--er-font-body);
    margin: 0 0 18px;
    letter-spacing: .01em;
}
.er-cat-block__pin { color: var(--er-cat-gold); flex: 0 0 14px; }
.er-cat-block__dot {
    width: 5px; height: 5px; border-radius: 50%;
    background: var(--er-cat-gold);
    display: inline-block;
}
.er-cat-block__desc {
    color: var(--er-cat-onnavy);
    font: 400 14px/1.55 var(--er-font-body);
    margin: 0 0 22px;
}
.er-cat-block__legacy-price {
    color: var(--er-cat-gold-soft);
    font: 500 22px/1.2 var(--er-font-head);
    margin: 0 0 20px;
}
.er-cat-block__legacy-price strong { font-weight: 600; }
.er-cat-block__cta {
    display: inline-block;
    padding: 12px 28px;
    background: transparent;
    border: 1px solid var(--er-cat-gold);
    border-radius: 3px;
    color: var(--er-cat-gold-soft);
    font: 500 12px/1.2 var(--er-font-body);
    letter-spacing: .06em;
    text-transform: uppercase;
    text-decoration: none;
    transition: background var(--er-transition), color var(--er-transition);
}
.er-cat-block__cta:hover { background: var(--er-cat-gold); color: var(--er-cat-navy); }

/* Секция «Доступные лоты» — overlap на нижнюю часть hero (макет: карточки поверх фото) */
.er-cat-block__container {
    padding: 0;
    width: min(100% - var(--er-gutter) * 2, var(--er-container));
    margin-top: calc(var(--er-cat-hero-h) * var(--er-cat-overlap-ratio) * -1);
    margin-left: max(var(--er-gutter), calc((100vw - var(--er-container)) / 2));
    margin-right: 0;
    margin-bottom: 0;
    background: transparent;
    position: relative;
    z-index: 2;
}
.er-cat-block__container > .er-container {
    width: 100%;
    max-width: none;
    padding: 0;
    margin: 0;
}
.er-cat-block__lots-title {
    font: italic 400 clamp(28px, 3.2vw, 44px)/1.15 var(--er-font-head);
    color: var(--er-cat-gold-soft);
    margin: 0 0 28px;
    padding-left: 4px;
    letter-spacing: -.005em;
    text-shadow: 0 2px 12px rgba(8,28,57,0.55);
}


/* ─────────────────────────────────────────────────────────────
   Готовые изображения-лоты (юзерские макеты «ЛОТ №1»…).
   Замена системе .er-cat-lots для тех ЖК, где заполнено
   постмета _er_lot_images. Один макет в ряд, ширина контейнера.
   ───────────────────────────────────────────────────────────── */
.er-cat-block__lot-images {
    display: flex;
    flex-wrap: nowrap;
    gap: clamp(16px, 1.8vw, 28px);
    width: 100%;
    align-items: stretch;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: none;
    scroll-behavior: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 10px; /* воздух под золотой scrollbar */
    scrollbar-width: thin;
    scrollbar-color: rgba(205, 145, 56, 0.85) transparent;
}
.er-cat-block__lot-images::-webkit-scrollbar {
    height: 6px;
}
.er-cat-block__lot-images::-webkit-scrollbar-track {
    background: transparent;
}
.er-cat-block__lot-images::-webkit-scrollbar-thumb {
    background: rgba(205, 145, 56, 0.85);
    border-radius: 4px;
}
.er-cat-block__lot-images::-webkit-scrollbar-thumb:hover {
    background: rgba(205, 145, 56, 1);
}
.er-cat-block__lot-images > .er-cat-block__lot-image {
    flex: 0 0 clamp(280px, 42vw, 560px);
    /* snap disabled — smooth scroll via RAF */
}
.er-cat-block__lot-image {
    margin: 0;
    background: var(--er-cat-card, #FAF3E4);
    border: 1px solid rgba(184, 154, 98, 0.18);
    border-radius: 4px;
    overflow: hidden;
    box-shadow: 0 4px 18px rgba(8, 28, 57, 0.10);
    transition: box-shadow var(--er-transition), transform var(--er-transition);
}
.er-cat-block__lot-image__link {
    display: block;
    color: inherit;
    text-decoration: none;
    cursor: pointer;
    outline: none;
}
.er-cat-block__lot-image__link:focus-visible {
    outline: 2px solid var(--er-cat-gold, #CD9138);
    outline-offset: 3px;
}
.er-cat-block__lot-image:hover {
    box-shadow: 0 8px 28px rgba(8, 28, 57, 0.18);
    transform: translateY(-2px);
}
.er-cat-block__lot-image img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
}

@media (max-width: 899px) {
    /* На мобилке — вертикальный столбик, без горизонтального скролла */
    .er-cat-block__lot-images {
        flex-direction: column;
        flex-wrap: nowrap;
        gap: 14px;
        overflow-x: visible;
        overflow-y: visible;
        scroll-snap-type: none;
        padding-bottom: 0;
        scrollbar-width: auto;
        /* Растягиваем контейнер на всю ширину viewport (full-bleed) */
        width: 100vw;
        max-width: 100vw;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
        padding-inline: 8px;
        box-sizing: border-box;
    }
    .er-cat-block__lot-images::-webkit-scrollbar { display: none; }
    .er-cat-block__lot-images > .er-cat-block__lot-image {
        flex: 0 0 auto;
        width: 100%;
        scroll-snap-align: none;
    }
    .er-cat-block__lot-image  { border-radius: 3px; }
    .er-cat-block__lot-image:hover { transform: none; }
}

/* Разделитель между секциями ЖК — визуальная симметрия: расстояние (карточки → ромб) = (ромб → заголовок след. ЖК).
   Info-plate следующего блока имеет top:~56px внутри hero, значит padding-bottom меньше на этот offset. */
.er-cat-block__divider {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 36px 40px;
    color: var(--er-cat-gold);
    position: relative;
}
.er-cat-block__divider svg {
    flex: 0 0 auto;
    width: 28px;
    height: 28px;
    display: block;
}
.er-cat-block__divider::before,
.er-cat-block__divider::after {
    content: "";
    flex: 1 1 auto;
    height: 1px;
    background: rgba(184, 154, 98, 0.75);
    margin: 0;
}
.er-cat-block:last-child .er-cat-block__divider { display: none; }
.er-cat-block:last-child { padding-bottom: clamp(40px, 4vw, 72px); }

/* Grid лотов (светлые карточки на dark navy) */
.er-cat-lots {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(16px, 1.4vw, 24px);
}
.er-cat-lot {
    background: var(--er-cat-card);
    border: 1px solid rgba(184,154,98,0.12);
    border-radius: 4px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    box-shadow: 0 2px 10px rgba(8,28,57,0.08);
    transition: box-shadow var(--er-transition);
}
.er-cat-lot:hover {
    box-shadow: 0 4px 16px rgba(8,28,57,0.14);
}
.er-cat-lot__media {
    aspect-ratio: 16 / 10;
    background: #F5F0E8;
    border-radius: 3px;
    overflow: hidden;
    margin-bottom: 18px;
    border: 1px solid rgba(184,154,98,0.12);
}
.er-cat-lot__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.er-cat-lot__media--plan img { object-fit: contain; padding: 6px; background: #F5F0E8; }
.er-cat-lot__media-placeholder {
    background: linear-gradient(135deg, #F5F0E8 0%, #E5DBC8 100%);
    width: 100%; height: 100%;
}
.er-cat-lot__specs {
    list-style: none;
    margin: 0 0 22px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
    color: var(--er-fg);
    font: 500 14px/1.4 var(--er-font-body);
}
.er-cat-lot__row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding: 9px 0;
    border-bottom: 1px solid rgba(184,154,98,0.22);
}
.er-cat-lot__row:last-child { border-bottom: none; }
.er-cat-lot__row-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #6E6A62;
    font-weight: 400;
}
.er-cat-lot__row-value {
    color: var(--er-cat-navy);
    font-weight: 500;
    text-align: right;
}
.er-cat-lot__icon { color: var(--er-cat-gold); flex: 0 0 14px; width: 14px; height: 14px; }
.er-cat-lot__pricebox {
    padding-top: 18px;
    border-top: 1px solid rgba(184,154,98,0.32);
    margin-top: auto;
}
.er-cat-lot__price-label {
    color: #8A8479;
    font: 500 13px/1 var(--er-font-body);
    margin: 0 0 8px;
}
.er-cat-lot__price {
    color: var(--er-cat-navy);
    font: 500 clamp(24px, 2.2vw, 28px)/1.05 var(--er-font-head);
    margin: 0 0 6px;
    letter-spacing: -.005em;
}
.er-cat-lot__ppsm {
    color: var(--er-fg-muted);
    font: 400 13px/1.3 var(--er-font-body);
    margin: 0;
}

/* Wide screens 1600+ — proportional shrink of lot cards on catalog archive */
@media (min-width: 1600px) {
    .er-cat-lots {
        grid-template-columns: repeat(3, minmax(0, 360px));
        justify-content: center;
        margin: 0 auto;
        gap: 20px;
    }
    .er-cat-lot { padding: 14px; }
    .er-cat-lot__media { margin-bottom: 12px; aspect-ratio: 16 / 11; }
    .er-cat-lot__specs { font-size: 12.5px; margin-bottom: 14px; }
    .er-cat-lot__row { padding: 6px 0; }
    .er-cat-lot__pricebox { padding-top: 12px; }
    .er-cat-lot__price { font-size: 20px; }
}

/* Laptops 1200-1599: lift lot cards closer to hero + slightly smaller */
@media (min-width: 1200px) and (max-width: 1599px) {
    .er-cat-block { --er-cat-overlap-ratio: 0.5; }
    .er-cat-lots {
        grid-template-columns: repeat(3, minmax(0, 340px));
        justify-content: center;
        margin: 0 auto;
        gap: 18px;
    }
    .er-cat-lot { padding: 14px; }
    .er-cat-lot__media { margin-bottom: 12px; aspect-ratio: 16 / 11; }
    .er-cat-lot__specs { font-size: 12.5px; margin-bottom: 14px; }
    .er-cat-lot__row { padding: 6px 0; }
    .er-cat-lot__pricebox { padding-top: 12px; }
    .er-cat-lot__price { font-size: 20px; }
}
@media (min-width: 2200px) {
    .er-cat-lots { grid-template-columns: repeat(3, minmax(0, 380px)); }
}

.er-cat__empty {
    padding: 80px var(--er-gutter);
    text-align: center;
    color: var(--er-fg-muted);
    font: 400 16px/1.5 var(--er-font-body);
}

/* ========= Адаптив ========= */
@media (max-width: 1399px) {
    .er-cat-filter__row { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 1199px) {
    .er-cat-filter__row { grid-template-columns: repeat(3, 1fr); }
    .er-cat-block__container { padding: 0 var(--er-gutter) 0; }
    .er-cat-block__lots-title { margin: 0 0 24px; }
    .er-cat-block__divider { padding: 84px 0 40px; }
}
@media (max-width: 899px) {
    .er-cat-filter__row { grid-template-columns: repeat(2, 1fr); gap: 12px; }
    .er-cat-filter__row--bottom { grid-template-columns: 1fr; gap: 16px; }
    .er-cat-filter__actions { justify-content: flex-end; }
    .er-cat-filter__submit { flex: 1 1 auto; text-align: center; }
    .er-cat-lots { grid-template-columns: repeat(2, 1fr); gap: 24px; }
    .er-cat-block { --er-cat-hero-h: clamp(360px, 55vw, 500px); }
    .er-cat-block__container { padding: 0 var(--er-gutter) 0; }
    .er-cat-block__lots-title { margin: 0 0 20px; font-size: 30px; }
    .er-cat-block__divider { padding: 68px 0 32px; }
    .er-cat__toolbar { flex-direction: column; align-items: flex-start; gap: 10px; padding-bottom: 28px; }
}
@media (max-width: 599px) {
    .er-cat { padding-top: 24px; }
    .er-cat-filter { padding: 16px; border-radius: 14px; }
    .er-cat-filter__row { grid-template-columns: 1fr; gap: 10px; }
    .er-cat-filter__field select { padding: 12px 36px 12px 12px; }
    .er-cat-filter__submit { padding: 14px 20px; width: 100%; }
    .er-cat-filter__clear { align-self: flex-start; }
    .er-cat-filter__actions { flex-direction: column; align-items: stretch; gap: 12px; }
    .er-cat-block { margin-bottom: 64px; }
    .er-cat-block__hero { position: relative; height: auto; min-height: 260px; inset: auto; }
    .er-cat-block__hero::after { display: none; }
    .er-cat-block__container { margin-top: 0; padding: 32px var(--er-gutter) 0; }
    .er-cat-block { --er-cat-hero-h: 260px; }
    .er-cat-block__divider { padding: 36px 0; }
    .er-cat-block__intro { max-width: none; padding-top: 0; }
    .er-cat-block__lots-title {
        margin: 0 0 20px;
        font-size: 26px;
        text-shadow: none;
    }
    .er-cat-lots { grid-template-columns: 1fr; gap: 20px; }
    .er-cat-lot { padding: 16px; }
    .er-cat-lot__price { font-size: 24px; }
    .er-cat-lot__media { aspect-ratio: 16 / 10; margin-bottom: 16px; }
    .er-cat-lot__specs { font-size: 13px; }
    .er-cat-block__divider::before,
    .er-cat-block__divider::after { flex-basis: 80px; margin: 0 12px; }
}

/* ================================================================== *
 *  6b. Полезная информация, подкаст и Удивительная Москва
 *  Сверстано под макет клиента (stitch_ui_layout_implementation) 2026-08-23.
 *  Стек тем: Prata (заголовки) + Manrope (body), gold #CD9138 + navy #081C39.
 * ================================================================== */
.er-info {
    padding-block: clamp(20px, 2.6vw, 32px);
    background: transparent;
}
.er-info__container {
    width: min(100% - var(--er-gutter) * 2, var(--er-container));
    margin-inline: auto;
    box-sizing: border-box;
}

/* --- Header --- */
.er-info__header {
    text-align: center;
    max-width: none;
    margin: 0 auto clamp(32px, 4vw, 56px);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(10px, 1.2vw, 18px);
}
.er-info__monogram {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: min(240px, 60%);
    margin-bottom: 6px;
}
.er-info__monogram-line {
    flex: 1;
    height: 1px;
    background: rgba(205, 145, 56, 0.5);
}
.er-info__monogram-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 999px;
    border: 1px solid var(--er-accent);
    background: var(--er-bg);
    font-family: "Prata", Georgia, serif;
    font-style: italic;
    font-size: 18px;
    color: var(--er-accent);
    letter-spacing: -0.02em;
}
.er-info__title {
    margin: 0;
    font-family: "Prata", "Cormorant Garamond", Georgia, serif;
    font-weight: 400;
    /* Размер как у остальных секционных заголовков (er-cases, er-benefits) —
       крупный Prata caps. Ляжет в 2 строки, это допустимо. 2026-08-23. */
    font-size: clamp(24px, 3.4vw, 46px);
    line-height: 1.1;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: var(--er-fg);
    text-wrap: balance;
}
@media (max-width: 899px) {
    .er-info__title { font-size: clamp(22px, 6vw, 34px); }
}
.er-info__lead-accent {
    margin: 8px 0 0;
    font-family: var(--er-font-body);
    font-weight: 500;
    font-size: clamp(11px, 0.9vw, 13px);
    line-height: 1.4;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--er-accent-lo);
}
.er-info__lead {
    margin: 0;
    font-family: var(--er-font-body);
    font-size: clamp(13px, 1vw, 15px);
    line-height: 1.55;
    color: rgba(8,28,57,0.7);
    max-width: 760px;
}

/* --- Grid --- */
.er-info__grid {
    display: grid;
    grid-template-columns: 1fr 1.1fr 1fr;
    gap: clamp(16px, 1.6vw, 26px);
    align-items: stretch;
}

/* --- Общая карточка --- */
.er-info-card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: clamp(20px, 2vw, 32px);
    padding: clamp(20px, 2vw, 32px);
    border: 1px solid var(--er-accent);
    border-radius: 18px;
    background: transparent;
    box-sizing: border-box;
}
.er-info-card__body {
    display: flex;
    flex-direction: column;
    gap: clamp(14px, 1.4vw, 22px);
    min-width: 0;
}
.er-info-card__title {
    margin: 0;
    font-family: "Prata", "Cormorant Garamond", Georgia, serif;
    font-weight: 400;
    font-size: clamp(18px, 1.5vw, 24px);
    line-height: 1.15;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--er-fg);
}
.er-info-card__underline {
    display: block;
    width: 48px;
    height: 1px;
    background: var(--er-accent);
    margin-top: -6px;
}
.er-info-card__lead {
    margin: 0;
    font-family: var(--er-font-body);
    font-size: clamp(12.5px, 1vw, 14.5px);
    line-height: 1.55;
    color: rgba(8,28,57,0.72);
}

/* --- CTA внизу карточки (dark navy + gold text) --- */
.er-info-card__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 14px 22px;
    background: var(--er-navy-dark);
    color: var(--er-accent);
    font-family: var(--er-font-body);
    font-weight: 500;
    font-size: clamp(11px, 0.95vw, 13px);
    letter-spacing: 0.14em;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 10px;
    transition: background var(--er-transition), transform var(--er-transition);
    align-self: stretch;
}
.er-info-card__cta svg {
    width: 18px;
    height: 18px;
    color: var(--er-accent);
    transition: transform var(--er-transition);
}
.er-info-card__cta:hover {
    background: #081C39;
    transform: translateY(-1px);
}
.er-info-card__cta:hover svg { transform: translateX(3px); }

/* --- Column 1: pills --- */
.er-info-pills {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.er-info-pill {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 8px 14px;
    border: 1px solid var(--er-accent);
    border-radius: 6px;
    width: fit-content;
    max-width: 100%;
    background: transparent;
}
.er-info-pill__icon {
    display: inline-flex;
    color: var(--er-accent);
    flex-shrink: 0;
}
.er-info-pill__icon svg { width: 20px; height: 20px; }
.er-info-pill__text {
    font-family: var(--er-font-body);
    font-weight: 500;
    font-size: clamp(12px, 0.95vw, 14px);
    color: var(--er-fg);
    letter-spacing: 0.02em;
}

/* --- Column 2: podcast card --- */
.er-info-podcast {
    position: relative;
    display: block;
    aspect-ratio: 16 / 9;
    border-radius: 14px;
    overflow: hidden;
    background: #081C39;
    text-decoration: none;
    isolation: isolate;
}
.er-info-podcast picture,
.er-info-podcast img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    z-index: 0;
}
.er-info-podcast::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(120deg, rgba(8,28,57,0.72) 0%, rgba(8,28,57,0.35) 100%);
    z-index: 1;
}
.er-info-podcast__overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    padding: clamp(14px, 1.8vw, 22px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 4px;
}
.er-info-podcast__label {
    margin: 0;
    font-family: var(--er-font-body);
    font-weight: 600;
    font-size: 11px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--er-accent);
}
.er-info-podcast__title {
    margin: 4px 0 0;
    font-family: "Prata", "Cormorant Garamond", Georgia, serif;
    font-weight: 400;
    font-size: clamp(16px, 1.5vw, 22px);
    line-height: 1.1;
    letter-spacing: 0.02em;
    color: #ffffff;
    text-transform: uppercase;
}
.er-info-podcast__author {
    margin: 6px 0 0;
    font-family: var(--er-font-body);
    font-size: 11.5px;
    color: rgba(255, 255, 255, 0.75);
}
.er-info-podcast__play {
    position: absolute;
    right: clamp(12px, 1.5vw, 18px);
    bottom: clamp(12px, 1.5vw, 18px);
    z-index: 3;
    width: clamp(36px, 3vw, 44px);
    height: clamp(36px, 3vw, 44px);
    display: grid;
    place-items: center;
    border: 2px solid var(--er-accent);
    border-radius: 999px;
    color: var(--er-accent);
    background: rgba(8,28,57,0.5);
    transition: background var(--er-transition), color var(--er-transition);
}
.er-info-podcast:hover .er-info-podcast__play {
    background: var(--er-accent);
    color: #fff;
}
.er-info-podcast__play svg { width: 14px; height: 14px; margin-left: 2px; }

/* --- Column 2: buttons row --- */
.er-info-card__buttons {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}
.er-info-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 10px;
    border-radius: 8px;
    font-family: var(--er-font-body);
    font-weight: 600;
    font-size: 11px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    text-decoration: none;
    text-align: center;
    white-space: nowrap;
    min-width: 0;
    transition: background var(--er-transition), color var(--er-transition);
}
.er-info-btn svg { width: 12px; height: 12px; }
.er-info-btn--primary {
    background: var(--er-accent);
    color: #fff;
    border: 1px solid var(--er-accent);
}
.er-info-btn--primary:hover { background: var(--er-accent-lo); border-color: var(--er-accent-lo); }
.er-info-btn--outline {
    background: transparent;
    color: var(--er-accent);
    border: 1px solid var(--er-accent);
}
.er-info-btn--outline:hover { background: var(--er-accent); color: #fff; }

/* --- Column 2: socials row --- */
.er-info-card__socials {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: clamp(14px, 1.6vw, 24px);
    padding-top: 4px;
}
.er-info-social {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--er-fg);
    font-family: var(--er-font-body);
    font-weight: 500;
    font-size: 13px;
    text-decoration: none;
    transition: color var(--er-transition);
}
.er-info-social:hover { color: var(--er-accent); }
.er-info-social__badge {
    display: inline-grid;
    place-items: center;
    width: 26px;
    height: 26px;
    background: #000;
    color: #fff;
    border-radius: 6px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.02em;
}
/* Brand icons — PNG assets with WebP progressive enhancement */
.er-info-social__badge--icon {
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    border-radius: 0;
    width: 24px;
    height: 24px;
}
.er-info-social__badge--vk {
    background-image: image-set(
        url('../img/socials/social-vk.webp') type('image/webp'),
        url('../img/socials/social-vk.png') type('image/png')
    );
    background-image: -webkit-image-set(
        url('../img/socials/social-vk.webp') type('image/webp'),
        url('../img/socials/social-vk.png') type('image/png')
    );
}
.er-info-social__badge--dzen {
    background-image: image-set(
        url('../img/socials/social-dzen.webp') type('image/webp'),
        url('../img/socials/social-dzen.png') type('image/png')
    );
    background-image: -webkit-image-set(
        url('../img/socials/social-dzen.webp') type('image/webp'),
        url('../img/socials/social-dzen.png') type('image/png')
    );
}
.er-info-social__badge--youtube,
.er-info-social__badge--yt {
    background-image: image-set(
        url('../img/socials/social-youtube.webp') type('image/webp'),
        url('../img/socials/social-youtube.png') type('image/png')
    );
    background-image: -webkit-image-set(
        url('../img/socials/social-youtube.webp') type('image/webp'),
        url('../img/socials/social-youtube.png') type('image/png')
    );
}

/* --- Column 3: photos grid --- */
.er-info-photos {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: 1fr 1fr;
    grid-template-areas:
        "a a b"
        "c d d";
    gap: 8px;
    min-height: 260px;
}
.er-info-photos__item {
    display: block;
    background: linear-gradient(135deg, rgba(205, 145, 56, 0.12), rgba(8,28,57,0.14));
    border-radius: 12px;
    background-size: cover;
    background-position: center;
    height: 100%; min-height: 0;
}
.er-info-photos__item--a { grid-area: a; }
.er-info-photos__item--b { grid-area: b; }
.er-info-photos__item--c { grid-area: c; }
.er-info-photos__item--d { grid-area: d; }

.er-info-photos__item--a { background-image: image-set(url("../img/moscow/moscow-a-mansion.webp") type("image/webp"), url("../img/moscow/moscow-a-mansion.jpg") type("image/jpeg")); background-image: -webkit-image-set(url("../img/moscow/moscow-a-mansion.webp") 1x); }
.er-info-photos__item--b { background-image: image-set(url("../img/moscow/moscow-b-facade.webp") type("image/webp"), url("../img/moscow/moscow-b-facade.jpg") type("image/jpeg")); }
.er-info-photos__item--c { background-image: image-set(url("../img/moscow/moscow-c-highrise.webp") type("image/webp"), url("../img/moscow/moscow-c-highrise.jpg") type("image/jpeg")); }
.er-info-photos__item--d { background-image: image-set(url("../img/moscow/moscow-d-alley.webp") type("image/webp"), url("../img/moscow/moscow-d-alley.jpg") type("image/jpeg")); }


/* --- Adaptive --- */
@media (max-width: 1023px) {
    .er-info__grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
}
@media (max-width: 639px) {
    .er-info__title { font-size: clamp(20px, 6vw, 26px); }
    .er-info-card { padding: 20px; }
    .er-info-card__buttons { grid-template-columns: 1fr; }
    .er-info-card__socials { justify-content: flex-start; }
}


/* Футер-баннер info-блока: тёмно-синий, монограмма SL слева, gold заголовок,
   белый подзаголовок. По макету stitch (2026-08-23). */
.er-info-footer {
    margin-top: clamp(32px, 4vw, 56px);
    display: block;
    padding: clamp(36px, 4.5vw, 56px) clamp(24px, 3vw, 48px);
    background: linear-gradient(105deg, #081C39 0%, #081C39 60%, #081C39 100%);
    border-radius: 22px;
    color: #fff;
    box-shadow: 0 30px 80px -40px rgba(8,28,57,0.55);
    position: relative;
    overflow: hidden;
    text-align: center;
}
.er-info-footer__monogram {
    display: flex;
    align-items: center;
    justify-content: center;
    width: clamp(72px, 6vw, 96px);
    height: clamp(72px, 6vw, 96px);
    margin: 0;
    border-radius: 999px;
    border: 2px solid var(--er-accent);
    background: transparent;
    overflow: hidden;
    position: relative;
    z-index: 2;
    flex-shrink: 0;
}
.er-info-footer__center {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(20px, 2.4vw, 40px);
    max-width: 900px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}
.er-info-footer__monogram--quotes {
    width: auto;
    height: clamp(34px, 3vw, 44px);
    border-radius: 0;
    border: 0;
    overflow: visible;
    background: transparent;
    align-self: flex-start;
    margin-top: clamp(-16px, -1.2vw, -10px);
}
.er-info-footer__monogram--quotes img {
    width: auto;
    height: 100%;
    object-fit: contain;
    display: block;
}

.er-info-footer__monogram img {
    display: block;
    width: auto;
    height: 68%;
    object-fit: contain;
}
.er-info-footer__text {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    max-width: 820px;
    margin: 0;
    text-align: left;
}
.er-info-footer__title {
    margin: 0;
    font-family: "Prata", "Cormorant Garamond", Georgia, serif;
    font-weight: 400;
    font-size: clamp(18px, 2.1vw, 30px);
    line-height: 1.15;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--er-accent-hi);
    white-space: nowrap;
}
.er-info-footer__sub {
    margin: 0;
    font-family: "Prata", "Cormorant Garamond", Georgia, serif;
    font-weight: 400;
    font-size: clamp(13px, 1.1vw, 17px);
    line-height: 1.3;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #fff;
}
.er-info-footer__spacer {
    width: clamp(56px, 5vw, 72px);
    flex-shrink: 0;
}

.er-info-footer__photo {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 30%;
    max-width: 440px;
    background-size: cover;
    background-repeat: no-repeat;
    pointer-events: none;
    z-index: 1;
    opacity: 0.82;
}
.er-info-footer__photo--skyline {
    left: 0;
    background-image: image-set(url("../img/footer/footer-skyline.webp") type("image/webp"), url("../img/footer/footer-skyline.jpg") type("image/jpeg"));
    background-position: left center;
    -webkit-mask-image: linear-gradient(to right, #000 0%, #000 22%, transparent 78%);
            mask-image: linear-gradient(to right, #000 0%, #000 22%, transparent 78%);
}
.er-info-footer__photo--notebook {
    right: 0;
    background-image: image-set(url("../img/footer/footer-notebook.webp") type("image/webp"), url("../img/footer/footer-notebook.jpg") type("image/jpeg"));
    background-position: right center;
    -webkit-mask-image: linear-gradient(to left, #000 0%, #000 22%, transparent 78%);
            mask-image: linear-gradient(to left, #000 0%, #000 22%, transparent 78%);
}
@media (max-width: 899px) {
    .er-info-footer__photo { width: 34%; opacity: 0.55; }
    .er-info-footer__photo--skyline {
        -webkit-mask-image: linear-gradient(to right, #000 0%, transparent 92%);
                mask-image: linear-gradient(to right, #000 0%, transparent 92%);
    }
    .er-info-footer__photo--notebook {
        -webkit-mask-image: linear-gradient(to left, #000 0%, transparent 92%);
                mask-image: linear-gradient(to left, #000 0%, transparent 92%);
    }
}
@media (max-width: 559px) {
    .er-info-footer__photo { display: none; }
}

@media (max-width: 639px) {
    .er-info-footer__center { flex-direction: column; gap: clamp(12px, 3vw, 18px); }
    .er-info-footer__text { max-width: 100%; align-items: center; }
    .er-info-footer__title { white-space: normal; font-size: clamp(16px, 5.2vw, 22px); }
}


/* ============================================================ *
 *  Blog articles — visual cleanup (2026-08-22)
 *  1) убираем пустые <p></p> из шаблона (мусор);
 *  2) ограничиваем высоту боковых плавающих фото по max-height,
 *     чтобы они укладывались в 2-3 абзаца первой секции и не
 *     торчали за её пределы (иначе "пустые полосы" справа/слева).
 *  Пропорции фото сохраняем (aspect-ratio НЕ форсим) — только
 *  ограничиваем высоту и обрезаем по object-fit:cover, если
 *  картинка слишком вытянутая.
 * ============================================================ */

/* 1. Пустые параграфы из старого шаблона (после wp:gallery) */
.er-article__body p:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
}
.er-article__body p:has(> br:only-child) {
    display: none !important;
    margin: 0 !important;
}

/* 2. Обёртка боковой картинки — ограничение высоты, чтобы не
 *    торчала за первую секцию текста. 320px ≈ 3-4 абзаца. */
.er-article__body figure.alignright,
.er-article__body figure.alignleft,
.er-article__body div.wp-block-image:has(> figure.alignright),
.er-article__body div.wp-block-image:has(> figure.alignleft) {
    max-height: 320px;
    overflow: hidden;
    border-radius: 4px;
}

/* 3. Изображение внутри обёртки заполняет её без искажений
 *    (лишнее по вертикали обрезается сверху/снизу). */
.er-article__body figure.alignright > img,
.er-article__body figure.alignleft > img,
.er-article__body div.wp-block-image:has(> figure.alignright) img,
.er-article__body div.wp-block-image:has(> figure.alignleft) img {
    width: 100%;
    height: 320px;
    object-fit: cover;
    object-position: center;
    display: block;
    border-radius: 4px;
}

/* 4. Галерея alignright/alignleft — 1-2 фото в колонку, каждое
 *    высотой ~200px (чтобы 2 фото + gap ≈ 420px, тоже впишется). */
.er-article__body .wp-block-gallery.alignright,
.er-article__body .wp-block-gallery.alignleft {
    float: right;
    width: 44%;
    max-width: 480px;
    margin: 0 0 clamp(16px, 2vw, 28px) clamp(24px, 3vw, 40px);
    display: flex;
    flex-direction: column;
    gap: clamp(10px, 1vw, 14px);
    max-height: none;
    overflow: visible;
}
.er-article__body .wp-block-gallery.alignleft {
    float: left;
    margin: 0 clamp(24px, 3vw, 40px) clamp(16px, 2vw, 28px) 0;
}
.er-article__body .wp-block-gallery.alignright > figure,
.er-article__body .wp-block-gallery.alignleft > figure {
    margin: 0;
    width: 100%;
    max-height: 200px;
    overflow: hidden;
    border-radius: 4px;
}
.er-article__body .wp-block-gallery.alignright img,
.er-article__body .wp-block-gallery.alignleft img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    object-position: center;
    display: block;
    border-radius: 4px;
}

/* 5. Одиночная картинка в галерее — можно 320px в высоту */
.er-article__body .wp-block-gallery.alignright:has(> figure:only-child) > figure,
.er-article__body .wp-block-gallery.alignleft:has(> figure:only-child) > figure {
    max-height: 320px;
}
.er-article__body .wp-block-gallery.alignright:has(> figure:only-child) img,
.er-article__body .wp-block-gallery.alignleft:has(> figure:only-child) img {
    height: 320px;
}

/* 6. Мобилка: сбрасываем float, картинки в один ряд полной ширины */
@media (max-width: 899px) {
    .er-article__body figure.alignright,
    .er-article__body figure.alignleft,
    .er-article__body div.wp-block-image:has(> figure.alignright),
    .er-article__body div.wp-block-image:has(> figure.alignleft) {
        max-height: none;
        overflow: visible;
    }
    .er-article__body figure.alignright > img,
    .er-article__body figure.alignleft > img,
    .er-article__body div.wp-block-image:has(> figure.alignright) img,
    .er-article__body div.wp-block-image:has(> figure.alignleft) img {
        height: auto;
        max-height: 70vw;
        object-fit: cover;
    }
    .er-article__body .wp-block-gallery.alignright,
    .er-article__body .wp-block-gallery.alignleft {
        float: none;
        width: 100%;
        max-width: 100%;
        margin: clamp(18px, 2vw, 24px) 0;
        flex-direction: row;
        flex-wrap: wrap;
    }
    .er-article__body .wp-block-gallery.alignright > figure,
    .er-article__body .wp-block-gallery.alignleft > figure {
        flex: 1 1 calc(50% - 8px);
        max-height: 50vw;
    }
    .er-article__body .wp-block-gallery.alignright img,
    .er-article__body .wp-block-gallery.alignleft img {
        height: auto;
        max-height: 50vw;
    }
}


/* ============================================================ *
 *  Front-page fixes (2026-08-23)
 *  – section-divider: линии видимее (1px + большая opacity), макс.
 *    ширина, чтобы gradient не растворялся на широких мониторах;
 *  – .property-recommendation__labels: контейнер для 2+ тегов
 *    на одной карточке (Базовый премиум + Премиум и т.п.);
 *  – кейсы: hero-фото уменьшено по высоте, quote-плашка сдвинута
 *    вверх с overlay-наездом на нижнюю кромку фото (по макету).
 * ============================================================ */

/* 1. Section divider — заметные линии по бокам ромба */
.er-section-divider__line {
    height: 1px !important;
    max-width: 240px;
}
.er-section-divider__line:first-child {
    background: linear-gradient(to right, transparent 0%, rgba(205,145,56,.75) 100%) !important;
}
.er-section-divider__line:last-child {
    background: linear-gradient(to left, transparent 0%, rgba(205,145,56,.75) 100%) !important;
}

/* 2. Несколько label-тегов на одной карточке */
.property-recommendation__labels {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 2;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    max-width: calc(100% - 24px);
}
.property-recommendation__labels .property-recommendation__label {
    position: static;
    top: auto;
    left: auto;
    z-index: auto;
}

/* Золотая точка в конце «Реальные кейсы и результаты» (2026-08-23). */
.er-cases__title::after {
    content: "";
    color: var(--er-accent);
    font-family: inherit;
}

/* 3. Кейсы: фото ниже + quote наезжает на его нижнюю кромку */
@media (min-width: 900px) {
    .er-cases__intro {
        grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
        align-items: start;
    }
}
.er-cases__photo {
    aspect-ratio: 16 / 9;
    max-height: 460px;
}
@media (max-width: 899px) {
    .er-cases__intro {
        grid-template-columns: 1fr !important;
        align-items: stretch;
        gap: 18px;
    }
    .er-cases__head { order: 1; }
    .er-cases__photo { order: 2; aspect-ratio: 16 / 10; max-height: 260px; margin-top: 4px; }
}
@media (min-width: 1200px) {
    .er-cases__photo { aspect-ratio: 16 / 9; max-height: 500px; }
}
.er-cases__quote {
    margin-top: clamp(-64px, -4vw, -32px);
    position: relative;
    z-index: 2;
    background: var(--er-bg);
    box-shadow: 0 24px 60px -32px rgba(8,28,57,0.28);
    /* Левая кромка на месте, правая сжата ~14% (2026-08-23). */
    max-width: 86%;
    margin-left: 0;
    margin-right: auto;
}
@media (max-width: 899px) {
    .er-cases__quote {
        margin-top: clamp(-40px, -6vw, -24px);
        max-width: 100%;
    }
    .er-cases__photo { aspect-ratio: 4/3; max-height: none; }
}

/* Кнопка «Читать все отзывы» — стиль как .recommendations__all-button
   (широкая прозрачная плашка, gold border, Prata navy текст, gold arrow).
   2026-08-23. */
.er-testimonials__cta-wrap {
    grid-column: 1 / -1;
    display: flex;
    justify-content: center;
    margin-top: clamp(24px, 3vw, 40px);
}
.er-testimonials__cta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(20px, 3vw, 42px);
    width: min(960px, 100%);
    min-height: 64px;
    padding: 12px 24px;
    border: 1px solid var(--er-accent);
    border-radius: 4px;
    background: transparent;
    /* Шрифт как у eyebrow «Обратная связь доверителей»: Manrope 500 uppercase gold-dark. */
    font-family: var(--er-font-body);
    font-size: clamp(12px, 1.05vw, 15px);
    line-height: 1.2;
    font-weight: 500;
    color: var(--er-accent-lo);
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: .14em;
    transition: background var(--er-transition), color var(--er-transition);
}
.er-testimonials__cta svg {
    width: clamp(20px, 1.8vw, 28px);
    height: clamp(20px, 1.8vw, 28px);
    color: var(--er-accent);
    transition: transform var(--er-transition), color var(--er-transition);
    flex: 0 0 auto;
}
.er-testimonials__cta:hover {
    background: var(--er-accent);
    color: #fff;
    transform: none;
}
.er-testimonials__cta:hover svg { color: #fff; transform: translateX(4px); }


/* ═══════════════════════════════════════════════════════════════════════
   SINGLE-CASE — детальная страница кейса (шаблон single-case.php)
   Стилистика: dark-navy hero + cream-body + gold-акценты (в тон архива).
   ═══════════════════════════════════════════════════════════════════════ */
.er-case-page {
    background: #FAF7F0;
    color: #17233A;
    padding-bottom: 80px;
}
.er-case-page .er-container {
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 24px;
    width: 100%;
    box-sizing: border-box;
}
.er-case-page h1, .er-case-page h2, .er-case-page h3 { font-family: var(--er-font-head, serif); font-weight: 400; }

/* Крошки */
.er-case-breadcrumbs {
    padding: 22px 0 8px;
    font: 400 13px/1.4 var(--er-font-body, sans-serif);
    color: #6a7385;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}
.er-case-breadcrumbs a { color: #6a7385; text-decoration: none; transition: color .2s; }
.er-case-breadcrumbs a:hover { color: var(--er-cat-gold, #B89A62); }
.er-case-breadcrumbs__back { margin-left: auto; color: var(--er-cat-gold, #B89A62) !important; font-weight: 500; }

/* HERO */
.er-case-hero {
    background: var(--er-cat-navy, #081C39);
    color: #F5EEDD;
    margin: 20px 0 0;
    border-radius: 6px;
    overflow: hidden;
}
.er-case-hero__grid {
    display: grid;
    grid-template-columns: 1fr 1.15fr;
    gap: 0;
    align-items: stretch;
    padding: 0;
    max-width: 1240px;
    margin: 0 auto;
}
.er-case-hero__text {
    padding: 48px 48px 56px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.er-case-hero__number {
    color: var(--er-cat-gold-soft, #C7A876);
    font: 500 12px/1 var(--er-font-body, sans-serif);
    letter-spacing: .18em;
    text-transform: uppercase;
    margin-bottom: 18px;
}
.er-case-hero__title {
    font: 400 clamp(28px, 3.4vw, 42px)/1.22 var(--er-font-head, serif);
    color: #F5EEDD;
    margin: 0 0 20px;
    letter-spacing: -.005em;
}
.er-case-hero__intro {
    font: 400 15px/1.6 var(--er-font-body, sans-serif);
    color: rgba(245, 238, 221, 0.78);
    margin: 0;
    max-width: 460px;
}
.er-case-hero__image {
    margin: 0;
    min-height: 100%;
    display: flex;
    overflow: hidden;
}
.er-case-hero__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* METRICS */
.er-case-metrics { padding: 44px 0 8px; }
.er-case-metrics__row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    align-items: end;
}
.er-case-metric {
    padding: 8px 4px 20px;
    border-bottom: 1px solid rgba(184, 154, 98, 0.35);
}
.er-case-metric__value {
    font: 400 clamp(28px, 2.6vw, 34px)/1.1 var(--er-font-head, serif);
    color: var(--er-cat-gold, #B89A62);
    margin-bottom: 6px;
}
.er-case-metric__label {
    font: 400 13px/1.4 var(--er-font-body, sans-serif);
    color: #6a7385;
}

/* SECTIONS (общее) */
.er-case-section { padding: 52px 0 8px; }
.er-case-section__title {
    font: 400 clamp(22px, 2.2vw, 28px)/1.25 var(--er-font-head, serif);
    color: #17233A;
    margin: 0 0 22px;
    display: flex;
    align-items: baseline;
    gap: 12px;
}
.er-case-section__title span {
    color: var(--er-cat-gold, #B89A62);
    font-weight: 400;
    font-size: 0.95em;
}
.er-case-section__title--plain span { display: none; }
.er-case-section__body { font: 400 15px/1.65 var(--er-font-body, sans-serif); color: #3d4a63; }
.er-case-section__body p { margin: 0 0 12px; }
.er-case-section__body p:last-child { margin-bottom: 0; }
.er-case-section__grid {
    display: grid;
    grid-template-columns: 1.15fr 1fr;
    gap: 44px;
    align-items: start;
}
.er-case-section__image { margin: 0; border-radius: 4px; overflow: hidden; }
.er-case-section__image img { display: block; width: 100%; height: auto; object-fit: cover; }

/* FEATURES (6 карточек) */
.er-case-features {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px 40px;
    margin-top: 8px;
}
.er-case-feature { padding: 0; }
.er-case-feature__icon {
    color: var(--er-cat-gold, #B89A62);
    margin-bottom: 12px;
    display: inline-flex;
}
.er-case-feature__title {
    font: 500 15px/1.35 var(--er-font-body, sans-serif);
    color: #17233A;
    margin: 0 0 8px;
}
.er-case-feature__text {
    font: 400 13.5px/1.55 var(--er-font-body, sans-serif);
    color: #5a6478;
    margin: 0;
}

/* LEGEND под reason-map */
.er-case-legend { list-style: none; padding: 0; margin: 20px 0 0; font: 400 13px/1.5 var(--er-font-body, sans-serif); color: #5a6478; }
.er-case-legend li { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 10px; }
.er-case-legend__dot { flex: 0 0 10px; width: 10px; height: 10px; border-radius: 50%; margin-top: 6px; }
.er-case-legend__dot--gold { background: var(--er-cat-gold, #B89A62); }
.er-case-legend__dot--navy { background: var(--er-cat-navy, #081C39); }

/* FINALISTS — таблица 3 колонки */
.er-case-finalists {
    display: block;
    background: #fff;
    border-radius: 4px;
    padding: 24px 28px;
    margin-top: 8px;
    box-shadow: 0 2px 10px rgba(8,28,57,0.05);
}
.er-case-finalists__head,
.er-case-finalists__images,
.er-case-finalists__row {
    display: grid;
    grid-template-columns: 160px repeat(3, 1fr);
    gap: 20px;
    align-items: start;
}
.er-case-finalists__head { padding-bottom: 12px; border-bottom: 1px solid rgba(184, 154, 98, 0.25); }
.er-case-finalist__title {
    font: 500 13px/1 var(--er-font-body, sans-serif);
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--er-cat-gold, #B89A62);
}
.er-case-finalists__images { padding: 16px 0; }
.er-case-finalist__img { margin: 0; border-radius: 3px; overflow: hidden; aspect-ratio: 16/10; background: #f0eadb; }
.er-case-finalist__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.er-case-finalists__row {
    padding: 14px 0;
    border-top: 1px solid rgba(8,28,57,0.06);
    font: 400 13px/1.5 var(--er-font-body, sans-serif);
    color: #3d4a63;
}
.er-case-finalists__row-label { color: #8b93a3; font-weight: 500; }
.er-case-finalists__row-cell { color: #17233A; }

/* CONCLUSION + QUOTE */
.er-case-conclusion {
    display: grid;
    grid-template-columns: 1.15fr 1fr;
    gap: 44px;
    align-items: start;
}
.er-case-quote {
    background: transparent;
    border-left: 2px solid var(--er-cat-gold, #B89A62);
    padding: 16px 22px;
    margin: 44px 0 0;
    font: italic 400 17px/1.55 var(--er-font-head, serif);
    color: #17233A;
    position: relative;
}
.er-case-quote__mark {
    color: var(--er-cat-gold, #B89A62);
    font: 400 42px/0.6 var(--er-font-head, serif);
    display: inline-block;
    vertical-align: -0.15em;
    margin-right: 4px;
}
.er-case-quote__mark--end { margin-left: 4px; margin-right: 0; }
.er-case-quote p { margin: 0; display: inline; }

/* LOLITA COMMENT — dark navy strip */
.er-case-section--lolita { padding-top: 60px; }
.er-case-lolita {
    background: var(--er-cat-navy, #081C39);
    color: #F5EEDD;
    padding: 38px 40px;
    border-radius: 6px;
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 40px;
    align-items: start;
}
.er-case-lolita__title {
    font: 400 24px/1.2 var(--er-font-head, serif);
    color: #F5EEDD;
    margin: 0;
}
.er-case-lolita__text {
    font: 400 14.5px/1.65 var(--er-font-body, sans-serif);
    color: rgba(245, 238, 221, 0.82);
}
.er-case-lolita__text p { margin: 0 0 10px; }
.er-case-lolita__text p:last-child { margin-bottom: 0; }

/* OTHER CASES */
.er-case-section--others { padding-top: 60px; }
/* --- Simplified article body (single-case v2) --- */
.er-case-article { padding-block: clamp(32px, 4vw, 56px); }
.er-case-article__container {
    max-width: 780px;
    margin-inline: auto;
    padding-inline: clamp(16px, 3vw, 24px);
}
.er-case-article p {
    margin: 0 0 1.1em;
    color: var(--er-fg);
    font-size: clamp(15px, 1.05vw, 17px);
    line-height: 1.7;
}
.er-case-article__h2 {
    margin: 2em 0 0.6em;
    font-family: var(--er-font-display, "Prata", serif);
    font-size: clamp(22px, 2.1vw, 28px);
    line-height: 1.25;
    color: var(--er-fg);
    font-weight: 400;
    letter-spacing: -0.005em;
}
.er-case-article__h2:first-child { margin-top: 0; }
@media (max-width: 640px) {
    .er-case-article { padding-block: 32px; }
    .er-case-article p { font-size: 15.5px; line-height: 1.65; }
    .er-case-article__h2 { font-size: 22px; margin: 1.6em 0 0.5em; }
}

.er-case-others__title {
    font: 400 clamp(22px, 2.2vw, 28px)/1.25 var(--er-font-head, serif);
    color: #17233A;
    margin: 0 0 22px;
}
.er-case-others {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}
.er-case-other {
    display: grid;
    grid-template-columns: 220px 1fr;
    background: #fff;
    border-radius: 4px;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    box-shadow: 0 2px 10px rgba(8,28,57,0.05);
    transition: transform .2s, box-shadow .2s;
}
.er-case-other:hover { transform: translateY(-2px); box-shadow: 0 8px 22px rgba(8,28,57,0.12); }
.er-case-other__image { background: #f0eadb; aspect-ratio: 4/3; overflow: hidden; }
.er-case-other__image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.er-case-other__body { padding: 20px 22px; display: flex; flex-direction: column; justify-content: center; gap: 6px; }
.er-case-other__number { font: 500 11px/1 var(--er-font-body, sans-serif); letter-spacing: .16em; text-transform: uppercase; color: var(--er-cat-gold, #B89A62); }
.er-case-other__title { font: 400 16px/1.35 var(--er-font-head, serif); color: #17233A; margin: 0; }
.er-case-other__cta { font: 500 12px/1.2 var(--er-font-body, sans-serif); color: var(--er-cat-gold, #B89A62); letter-spacing: .04em; margin-top: 4px; }

/* CTA STRIP */
.er-case-cta-strip {
    background: #EDE1C7;
    margin-top: 60px;
    padding: 24px 0;
}
.er-case-cta-strip__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}
.er-case-cta-strip__text { margin: 0; font: 400 16px/1.4 var(--er-font-body, sans-serif); color: #17233A; }
.er-case-cta-strip__btn {
    padding: 12px 28px;
    background: var(--er-cat-navy, #081C39);
    color: #F5EEDD;
    text-decoration: none;
    font: 500 13px/1 var(--er-font-body, sans-serif);
    letter-spacing: .05em;
    border-radius: 3px;
    transition: background .2s;
}
.er-case-cta-strip__btn:hover { background: #1B3057; }

/* Адаптив */
@media (max-width: 1100px) {
    .er-case-hero__grid { grid-template-columns: 1fr; }
    .er-case-hero__text { padding: 36px 32px 40px; }
    .er-case-hero__image { min-height: 300px; }
    .er-case-section__grid { grid-template-columns: 1fr; gap: 28px; }
    .er-case-section__image { max-height: 380px; }
    .er-case-conclusion { grid-template-columns: 1fr; gap: 28px; }
    .er-case-quote { margin-top: 20px; }
    .er-case-lolita { grid-template-columns: 1fr; gap: 20px; padding: 30px 28px; }
    .er-case-features { grid-template-columns: repeat(2, 1fr); gap: 28px; }
    .er-case-metrics__row { grid-template-columns: repeat(2, 1fr); }
    .er-case-others { grid-template-columns: 1fr; }
    .er-case-finalists__head,
    .er-case-finalists__images,
    .er-case-finalists__row { grid-template-columns: 130px repeat(3, 1fr); gap: 12px; }
}
@media (max-width: 720px) {
    .er-case-page { padding-bottom: 40px; }
    .er-case-hero__text { padding: 28px 22px 32px; }
    .er-case-features { grid-template-columns: 1fr; }
    .er-case-metrics__row { grid-template-columns: 1fr 1fr; gap: 12px; }
    .er-case-finalists { padding: 16px; overflow-x: auto; }
    .er-case-finalists__head,
    .er-case-finalists__images,
    .er-case-finalists__row { grid-template-columns: 100px repeat(3, minmax(140px, 1fr)); }
    .er-case-other { grid-template-columns: 120px 1fr; }
    .er-case-cta-strip__inner { flex-direction: column; align-items: flex-start; }
    .er-case-cta-strip__btn { width: 100%; text-align: center; box-sizing: border-box; }
    .er-case-breadcrumbs__back { margin-left: 0; width: 100%; margin-top: 4px; }
}

/* --- Optical divider offset: benefits (dark banner) → info (light) --- */
.er-benefits + .er-section-divider {
    margin-top: -14px;
    margin-bottom: 14px;
}

/* --- Lead modal (single-case «Получить консультацию») --- */
.er-lead-modal[hidden] { display: none !important; }
.er-lead-modal {
    position: fixed; inset: 0; z-index: 9999;
    display: flex; align-items: center; justify-content: center;
    padding: clamp(12px, 3vw, 24px);
    animation: er-lead-modal-in 220ms ease-out both;
}
@keyframes er-lead-modal-in { from { opacity: 0; } to { opacity: 1; } }
.er-lead-modal__backdrop {
    position: absolute; inset: 0;
    background: rgba(8, 28, 57, 0.72);
    backdrop-filter: blur(4px);
    cursor: pointer;
}
.er-lead-modal__panel {
    position: relative;
    width: min(480px, 100%);
    max-height: calc(100vh - 32px);
    overflow-y: auto;
    background: rgba(8, 28, 57, 0.98);
    border: 1px solid rgba(223, 181, 111, .22);
    border-radius: 12px;
    box-shadow: 0 20px 60px rgba(0,0,0,0.4);
    animation: er-lead-modal-slide 260ms cubic-bezier(.2,.7,.2,1) both;
}
@keyframes er-lead-modal-slide { from { transform: translateY(24px); opacity: 0; } to { transform: none; opacity: 1; } }
.er-lead-modal__close {
    position: absolute; top: 12px; right: 12px;
    width: 36px; height: 36px;
    display: inline-flex; align-items: center; justify-content: center;
    background: transparent; border: 0; padding: 0;
    color: #F7EFE8; cursor: pointer;
    border-radius: 999px;
    transition: background .15s ease;
    z-index: 2;
}
.er-lead-modal__close:hover { background: rgba(255,255,255,.08); }
.er-lead-modal__close svg { width: 20px; height: 20px; }

/* Форма в модалке — переиспользуем стили .er-contacts__form, но убираем внешние отступы */
.er-lead-modal .er-contacts__form.er-contacts__form--modal {
    position: static;
    margin: 0;
    padding: clamp(28px, 4vw, 40px) clamp(20px, 3vw, 32px);
    background: transparent;
    border: 0;
    box-shadow: none;
    backdrop-filter: none;
    max-width: none;
    width: 100%;
    color: #fff;
}
@media (max-width: 480px) {
    .er-lead-modal { padding: 0; align-items: flex-end; }
    .er-lead-modal__panel { border-radius: 12px 12px 0 0; max-height: 92vh; }
}

/* --- Mobile fixes /o-mne/ 2026-09-04 --- */
@media (max-width: 767px) {
    /* 1. Опыт: фото бумажник+кофе — 50% меньше */
    .er-about__exp-decor img { max-width: 200px !important; width: 200px; }

    /* 2/3. premium-hero / market-hero — full-width, крупнее */
    body .er-about__premium .er-about__premium-head,
    body .er-about__market .er-about__market-head { grid-template-columns: 1fr !important; row-gap: 20px !important; display: flex !important; flex-direction: column !important; }
    .er-about__premium-photo,
    .er-about__market-photo { width: 100%; grid-column: 1 !important; }
    .er-about__premium-photo img,
    .er-about__market-photo img {
        width: 100% !important;
        max-width: 100% !important;
        aspect-ratio: 4 / 3;
        object-fit: cover;
    }

    /* 4. Choice-QA (Искусство точного выбора Q11-13) — читаемее */
    .er-about__choice-title { font-size: clamp(1.8rem, 7.5vw, 2.4rem); line-height: 1.15; }
    .er-choice-qa { grid-template-columns: 1fr !important; row-gap: 16px; }
    .er-choice-qa__left { grid-template-columns: 60px 1fr; column-gap: 14px; padding-top: 22px; }
    .er-choice-qa__icon { width: 60px; height: 60px; }
    .er-choice-qa__body { grid-column: 1 / -1; padding-top: 6px; }
    .er-choice-qa__question { font-size: 1.05rem; line-height: 1.35; }
    .er-choice-qa__answer { font-size: 0.94rem; line-height: 1.55; }
    .er-choice-qa__photo { grid-column: 1 !important; margin-top: 4px; }
    .er-choice-qa__photo img { aspect-ratio: 4 / 3 !important; width: 100%; }

    /* 5. Location Q17 (Ценность локации) — pills крупнее, hero-фото full-width */
    .er-about__location-title { font-size: clamp(1.7rem, 7vw, 2.2rem); line-height: 1.15; }
    .er-about__location-hero img { aspect-ratio: 4 / 3; width: 100%; }
    .er-location-pills {
        grid-template-columns: 1fr 1fr !important;
        gap: 10px !important;
    }
    .er-location-pill { padding: 10px 12px; gap: 8px; }
    .er-location-pill__icon { width: 30px; height: 30px; }
    .er-location-pill__text { font-size: 12px; line-height: 1.25; }
}

/* --- Mobile /aktualnye-obekty/: increase lot PNG macros for readability --- */
@media (max-width: 767px) {
    .er-cat-block__lot-images {
        gap: 20px !important;
        padding: 0 !important;
    }
    .er-cat-block__lot-image {
        margin: 0 !important;
        width: 100% !important;
        max-height: 260px !important;
        overflow: hidden !important;
        aspect-ratio: 16 / 10 !important;
    }
    .er-cat-block__lot-image img,
    .er-cat-block__lot-image__link img {
        width: 100% !important;
        height: 100% !important;
        max-height: 260px !important;
        object-fit: cover !important;
        object-position: center !important;
    }
}
