@charset "utf-8";

:root{
  --бумага:#F4F0E7;--бумага2:#EDE8DC;--лист:#FCFAF5;--лист2:#E9E3D5;
  --линия:#D8CFBB;--линия2:#C5BBA4;--текст:#23201A;--тише:#6D6659;--совсем-тихо:#8A8274;
  --медь:#A25A33;--медь-ярче:#C2703F;--медь-тень:rgba(162,90,51,.09);--тьма:#211D17;
  --рх:clamp(20px,4vw,64px);
  /* Шрифт заголовков внутренних страниц. Имена те же, что на главной, чтобы
     район задавал вид одной записью в паспорте, а не двумя. Засечки просят
     и другой вес, и другой трекинг, и кегль крупнее: узкие буквы при том же
     размере читаются мельче. */
  --витраж:"Unbounded","Onest",sans-serif;
  --витраж-вес:300;
  --витраж-трек:-.03em;
  --витраж-крупнее:1;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--бумага);color:var(--текст);
  font-family:"Onest",system-ui,-apple-system,sans-serif;font-size:15.5px;line-height:1.62;
  -webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit;color:inherit}
:focus-visible{outline:1px solid var(--медь);outline-offset:2px}
.цифры{font-variant-numeric:tabular-nums}
h1,h2,h3,.антиква{font-family:var(--витраж);font-weight:var(--витраж-вес);
  letter-spacing:var(--витраж-трек);text-wrap:balance;margin:0}
img{max-width:100%;display:block}

.метка-макета{background:var(--лист2);border-bottom:1px solid var(--линия);
  padding:7px var(--рх);font-size:11px;letter-spacing:.09em;text-transform:uppercase;
  color:var(--совсем-тихо);display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.метка-макета b{color:var(--медь);font-weight:500}
.метка-макета.выкл{background:#F0E4DC;border-bottom-color:#DCC4B4}
.метка-макета.выкл b{color:#8C3A18}
/* Полоса открытой витрины: тише макетной, без слова «Образец» — просто
   дата сверки и источник, чтобы человек видел свежесть цифр. */
.метка-макета.живая{background:var(--лист);color:var(--совсем-тихо);text-transform:none;
  letter-spacing:.02em;font-size:11.5px}

.шапка{position:sticky;top:0;z-index:60;background:rgba(244,240,231,.9);
  backdrop-filter:blur(14px);border-bottom:1px solid var(--линия)}
.шапка-внутри{padding:0 var(--рх);height:64px;display:flex;align-items:center;gap:34px}
.знак{display:flex;align-items:center;gap:12px;flex:0 1 auto;flex-wrap:wrap;max-width:100%}
.знак svg{height:34px;width:auto;display:block}
.знак .разделитель{width:1px;height:22px;background:var(--линия2)}
.знак .домен{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--тише)}
.знак-слово .домен{font-size:13px;letter-spacing:.18em;color:var(--текст,#2A2620);font-weight:500}
.шапка .знак-дом{flex-wrap:nowrap;gap:12px;min-width:0;color:var(--текст,#2A2620)}
.знак-дом .дом-имя{font-size:16px;font-weight:700;line-height:1.2;white-space:nowrap}
.знак-дом .дом-чей{font-size:14px;line-height:1.2;color:var(--тише);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.знак-дом .разделитель{flex:0 0 1px;height:18px}
.меню{display:flex;gap:26px;font-size:12.5px;color:var(--тише);margin-left:6px}
.меню a:hover,.меню a.тек{color:var(--текст)}
.шапка-право{margin-left:auto;display:flex;align-items:center;gap:20px}
.телефон{font-size:13px;white-space:nowrap}
/* Трубка — тот же ход, что на главной витрины: на узком экране номер словами
   уходит, а звонок остаётся. Шапка страницы дома приклеена сверху, значит
   трубка на виду всю дорогу, а не только на первом экране. */
.трубка{display:none;align-items:center;justify-content:center;width:38px;height:38px;
  border:1px solid var(--линия2);border-radius:10px;color:var(--текст);flex:0 0 auto}
.трубка:hover{border-color:var(--медь);color:var(--медь-ярче)}
.трубка svg{width:18px;height:18px;display:block}
.кнопка{border:1px solid var(--линия2);background:transparent;color:var(--текст);
  padding:9px 18px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;
  transition:border-color .2s,background .2s,color .2s;display:inline-block}
.кнопка:hover{border-color:var(--медь);color:var(--медь-ярче)}
.кнопка.залитая{background:var(--медь);border-color:var(--медь);color:#FFF7F0;font-weight:500}
.кнопка.залитая:hover{background:var(--медь-ярче);border-color:var(--медь-ярче)}
@media (max-width:860px){.меню,.телефон{display:none}.трубка{display:flex}}
@media (max-width:520px){
  .шапка-внутри{gap:14px}
  .шапка .знак{flex-wrap:nowrap;gap:9px;min-width:0}
  .шапка .знак svg{height:27px}
  .шапка .знак .домен{font-size:10px;letter-spacing:.12em;white-space:nowrap}
  .шапка .кнопка{padding:8px 13px;font-size:10px;letter-spacing:.1em}
  .шапка .трубка{width:33px;height:33px}
}

/* Длинное имя района рядом со знаком не помещается на телефоне, и шапка
   раздвигала всю страницу дома: у «Адмиралтейского района» ряд требовал 397
   точек при экране в 390, страницу можно было утащить вбок пальцем. Подпись
   рядом со знаком убираем — район человек читает и в крошках, и в заголовке.
   Сам знак не трогаем: ни формы, ни пропорций, только размер целиком.
   Порог тот же, что на главной витрины. Заведено 6 сентября 2026. */
@media (max-width:560px){
  /* С 9 октября 2026 район рядом со знаком на телефоне не прячем, а
     переносим в две строки: «Петроградская / сторона». Без подписи шапка
     страницы дома выглядела пустой (слова Константина 9 октября 2026). */
  .шапка .знак .разделитель{height:26px}
  .шапка .знак .домен{white-space:normal;line-height:1.25;font-size:9.5px;
    letter-spacing:.1em;max-width:118px;min-width:0;overflow:hidden}
  .шапка-право{gap:8px}
  /* Страховка на случай длинных имён: ряд шапки не раздвигает страницу
     ни при каком районе — уступает знак, а не кнопки, по которым нажимают. */
  .шапка-внутри{max-width:100%;overflow:hidden}
  .шапка .знак{flex:0 1 auto;min-width:0}
  .шапка .знак-слово .домен{font-size:11px;letter-spacing:.12em;max-width:150px}
}
/* ТЕЛЕФОН_ТОЛЬКО_ЗНАК. На телефоне в шапке списков и статей стоит один
   знак, крупно: название района рядом не помещалось и обрезалось, а сам
   знак выходил мелким. Слова Константина 10 октября 2026. */
@media (max-width:520px){
  .шапка .знак:not(.знак-слово):not(.знак-дом) .разделитель,
  .шапка .знак:not(.знак-слово):not(.знак-дом) .домен{display:none}
  .шапка .знак:not(.знак-слово):not(.знак-дом) svg{height:38px}
  .шапка .знак-дом{flex-direction:column;align-items:flex-start;gap:1px;flex:1 1 0}
  .шапка .знак-дом .разделитель{display:none}
  .знак-дом .дом-имя{font-size:14px;max-width:100%;overflow:hidden;text-overflow:ellipsis}
  .знак-дом .дом-чей{font-size:11.5px;max-width:100%}
}

.крошки{padding:20px var(--рх) 0;font-size:12px;color:var(--совсем-тихо);
  display:flex;gap:8px;flex-wrap:wrap}
.крошки a:hover{color:var(--медь)}
.крошки .раздел{color:var(--линия2)}

.подвал{background:var(--тьма);color:#CFC7B8;margin-top:90px;padding:56px var(--рх) 40px}
.подвал-верх{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:34px}
.подвал .столбец-имя{font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:#8A8274;margin-bottom:14px}
.подвал .столбец a{display:block;font-size:13.5px;padding:5px 0;color:#CFC7B8}
.подвал .столбец a:hover{color:#FFF7F0}
.подвал-низ{display:flex;justify-content:space-between;gap:34px;flex-wrap:wrap;
  align-items:center;padding-top:32px;margin-top:32px;border-top:1px solid #3A342A}
.подвал .мелко{font-size:11.5px;color:#9A9285;max-width:52ch}
.подвал .знак .разделитель{background:#4A4438}
.подвал .знак .домен{color:#9A9285}

/* — согласие под формой, ответ формы, плашка про куки — */
.согласие{display:flex;flex-direction:column;gap:9px;margin:14px 0 2px;text-align:left}
.ск{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:11.5px;
  line-height:1.55;color:var(--тише);-webkit-tap-highlight-color:transparent}
.согласие .ск input[type=checkbox]{appearance:none;-webkit-appearance:none;
  flex:0 0 16px;width:16px;min-width:16px;height:16px;
  margin:2px 0 0;padding:0;border:1px solid var(--линия2);border-radius:2px;background:var(--лист);
  cursor:pointer;position:relative;transition:border-color .2s,background .2s}
.ск>span{min-width:0}
.ск input:checked{background:var(--медь);border-color:var(--медь)}
.ск input:checked::after{content:"";position:absolute;left:5px;top:2px;width:4px;height:8px;
  border:solid #FFF7F0;border-width:0 2px 2px 0;transform:rotate(42deg)}
.ск a{color:var(--медь);border-bottom:1px solid var(--линия2)}
.ск.второстепенно{color:var(--совсем-тихо)}
/* Короткая форма первого экрана: те же две галочки, но плотнее и короче
   текстом. Полный текст занимал пять строк, форма переставала помещаться в
   экран, и человек не видел ни квадратиков, ни ответа формы — жал кнопку и
   считал, что сайт сломан. */
.согласие.кратко{gap:6px;margin:10px 0 0}
.согласие.кратко .ск{font-size:10.5px;line-height:1.4}
.согласие.кратко .ск input[type=checkbox]{flex:0 0 14px;width:14px;min-width:14px;height:14px}
.согласие.кратко .ск input:checked::after{left:4px;top:1px;width:4px;height:7px}
/* не поставил обязательную — подсвечиваем сам квадратик, а не ругаемся текстом */
.ск input.ошибка{border-color:#C0492B;background:rgba(192,73,43,.12);animation:ск-тряс .4s}
@keyframes ск-тряс{25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}
@media (prefers-reduced-motion:reduce){.ск input.ошибка{animation:none}}
input.ошибка{border-color:#C0492B}
.ответ{margin:11px 0 0;font-size:12px;line-height:1.55;display:none}
.ответ.виден{display:block}
.ответ.да{color:var(--медь)}
.ответ.нет{color:#B04A28}
.ловушка{position:absolute!important;left:-9999px!important;width:1px!important;
  height:1px!important;opacity:0!important;pointer-events:none}

/* согласие строкой — там, где галочка съела бы половину короткой формы */
.согласие-строкой{margin:9px 0 0;font-size:10px;line-height:1.4;color:var(--совсем-тихо)}
.согласие-строкой a{color:inherit;border-bottom:1px solid var(--линия2)}

/* Плашка про куки светлая на всех страницах, как на главной: белое матовое
   стекло, тёмный текст, кнопки с тонкой рамкой. Тёмная плашка с медью
   осталась только на старых страницах домов и выбивалась из светлой витрины
   (Константин: «никаких тёмных плашек и светлого на чёрном», 4 октября 2026).
   Цвет ссылки задан прямо здесь: тон «куки-ссылка» из паспорта района
   подобран под тёмный фон и на светлом не читается.
   Нижний край плашку двигает техничка.js: если внизу экрана стоит своя
   приклеенная полоса (кнопка «Свободные квартиры», «Покажите квартиры»),
   плашка встаёт над ней и кнопку не закрывает. Отсюда переход по bottom. */
.куки-плашка{position:fixed;left:0;right:0;bottom:0;z-index:200;display:flex;align-items:center;
  justify-content:center;gap:18px;flex-wrap:wrap;padding:13px var(--рх);
  background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  color:#3A3F44;border-top:1px solid rgba(20,30,30,.08);box-shadow:0 -6px 24px rgba(40,30,18,.10);
  transform:translateY(115%);
  transition:transform .4s cubic-bezier(.22,.61,.36,1),bottom .25s ease}
.куки-плашка.видна{transform:none}
.куки-плашка p{margin:0;font-size:12px;line-height:1.5;max-width:60ch}
.куки-плашка a{color:#5E3F4F;border-bottom:1px solid rgba(150,103,127,.4)}
.куки-плашка button{flex:0 0 auto;background:transparent;border:1px solid rgba(30,35,40,.25);
  color:#1E2328;border-radius:10px;padding:9px 20px;font-size:11px;letter-spacing:.12em;
  text-transform:uppercase;cursor:pointer;transition:background .2s}
.куки-плашка button:hover{background:rgba(30,35,40,.06)}
.куки-кнопки{display:flex;gap:8px;flex:0 0 auto}
.куки-плашка button.куки-нет{background:transparent;border-color:rgba(30,35,40,.25);color:#1E2328}
.куки-плашка button.куки-нет:hover{background:rgba(30,35,40,.06)}
/* На телефоне плашка — тонкая строка над нижней панелью, а не второй этаж
   поверх страницы. Раньше она занимала пятую часть экрана и стояла ровно там,
   куда человек тянется пальцем за кнопкой заявки. Короткий текст, мелкий
   шрифт. Кнопки высотой 44 точки: в 32 палец промахивался. */
@media (max-width:760px){
  .куки-плашка{gap:10px;padding:7px 14px;flex-wrap:nowrap;align-items:center;
    bottom:calc(var(--низ-панели,0px) + env(safe-area-inset-bottom));
    justify-content:space-between;box-shadow:0 -4px 16px rgba(40,30,18,.10)}
  .куки-плашка p{font-size:10.5px;line-height:1.35;max-width:none}
  .куки-плашка p .длинно{display:none}
  .куки-плашка button{min-height:44px;padding:7px 12px;font-size:10px;letter-spacing:.04em}
  .куки-кнопки{gap:6px}
}
/* Телефон: всё, во что тычут пальцем, — не меньше 44 точек.
   Круглые кнопки шапки («Позвонить», «Telegram», «Разделы») в шапке ужаты
   до 33–34, чтобы ряд влезал. Вид их не трогаем: нажимаемое поле расширено
   прозрачным слоем поверх кнопки до 44×44. Так же тонкие точки слайдера
   («Кадр 1–5», полоска в 2 точки) и тихая ссылка «Посмотреть, что свободно
   в доме». Обычные кнопки (шапка журнала, нижняя полоса дома) просто
   получают высоту 44. Правила стоят в начале страницы, поэтому селекторы
   усилены «html body». */
@media (max-width:860px){
  html body .трубка,html body .св-значок,html body .бургер{position:relative}
  html body .трубка::after,html body .св-значок::after,html body .бургер::after{content:"";
    position:absolute;left:50%;top:50%;width:44px;height:44px;transform:translate(-50%,-50%)}
  html body .дом-макет .герой__точка{position:relative}
  html body .дом-макет .герой__точка::after{content:"";position:absolute;left:-9px;right:-9px;
    top:-21px;bottom:-21px}
  html body .дом-макет .герой__тихий-ход{position:relative}
  html body .дом-макет .герой__тихий-ход::after{content:"";position:absolute;left:0;right:0;
    top:50%;height:44px;transform:translateY(-50%)}
  html body .кнопка{min-height:44px;align-content:center}
}
/* Пустая подпись кадра на первом экране дома: у кадра без подписи
   оставался серый квадратик 18×10 над «← Все дома на карте». */
html body .дом-макет .герой__подпись:empty{display:none}
/* Сравнение двух домов: в заголовке «Дом А или Дом Б» слово «или» вклеено
   без пробелов, и строка «Petrogradskaya или Коллекционер» не переносилась —
   на телефоне правый дом обрезался. Слово «или» — отдельный блок в строке,
   по краям которого строка может переломиться. Длинное название без
   пробелов, если всё же не влезет, переносится по буквам. */
html body .дом-макет .герой--пара h1 em{display:inline-block}
html body .дом-макет .герой h1{overflow-wrap:break-word}
/* Страница квартиры на телефоне: колонка сетки раздувалась по самой широкой
   вещи внутри (таблица лотов, клетки с ценой) и страница уезжала вбок на
   30–45 точек. Колонке разрешено сжиматься до ширины экрана, клетки цифр
   тоже, а таблица лотов при нехватке места листается внутри себя. */
@media (max-width:980px){
  html body .кв-верх,html body .кв-дом{grid-template-columns:minmax(0,1fr)}
  html body .кв-верх>*,html body .кв-дом>*{min-width:0}
  html body .кв-цифры{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:600px){
  html body .кв-цифры div{padding:16px 14px}
  html body .кв-цифры b{overflow-wrap:break-word}
  html body .кв-лоты{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
  html body .кв-лоты th,html body .кв-лоты td{padding-right:10px}
}
@media (prefers-reduced-motion:reduce){.куки-плашка{transition:none}}

:root{--медь:#2A2621;--медь-ярче:#453F37;--медь-тень:rgba(42,38,33,.09);--витраж:"Playfair Display",Georgia,serif;--витраж-вес:500;--витраж-трек:-.012em;--витраж-крупнее:1.1;--блик-бег:пробег-блика;--куки-ссылка:#CFC6B6;--куки-черта:rgba(207,198,182,.45);--зов:#96677F;--зов-ярче:#B084A2;--вуаль-карты:26%;}
.полотно{max-width:1240px;margin:0 auto;padding:0 var(--рх)}

.выключен{margin:22px 0 0;padding:20px 24px;background:#F7EAE2;border:1px solid #DCC4B4;
  display:flex;gap:16px;align-items:flex-start}
.выключен .точка{width:9px;height:9px;border-radius:50%;background:#B14A22;margin-top:7px;flex:0 0 auto}
.выключен b{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;
  color:#8C3A18;margin-bottom:5px}
.выключен p{margin:0;font-size:14px;color:#6E4534;max-width:74ch}

.шапка-проекта{padding:46px 0 0}
.над{font-size:11px;letter-spacing:.17em;text-transform:uppercase;color:var(--медь);
  margin-bottom:18px;display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.над .точка-раздела{width:3px;height:3px;border-radius:50%;background:var(--линия2)}
.шапка-проекта h1{font-size:calc(clamp(36px,5.6vw,68px) * var(--витраж-крупнее));line-height:1}
.шапка-проекта .лид{max-width:60ch;margin:24px 0 0;font-size:19px;color:var(--тише);line-height:1.55}

/* Факты о доме стояли таблицей в рамке — четыре клетки с перегородками.
   Рамка спорила с первым экраном, где всё живёт прямо на бумаге. Оставляем
   две волосяные линии сверху и снизу, между фактами — воздух. */
.табло{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
  gap:26px 40px;border:0;border-top:1px solid var(--линия);
  border-bottom:1px solid var(--линия);background:transparent;
  margin-top:46px;padding:28px 0}
.табло div{padding:0;border:0}
.табло b{display:block;font-family:var(--витраж);font-weight:var(--витраж-вес);
  font-size:28px;letter-spacing:-.03em;line-height:1.15;overflow-wrap:break-word}
/* «Краснопресненская» — одно слово в 17 знаков: переносить негде, и оно
   наезжало на соседний столбец. Длинным значениям даём шрифт помельче. */
.табло .длинное b{font-size:19px;line-height:1.25}
.табло span{display:block;margin-top:10px;font-size:10.5px;color:var(--совсем-тихо);
  letter-spacing:.15em;text-transform:uppercase;line-height:1.4}
.табло .медью b{color:var(--медь)}
/* На телефоне четыре факта в столбик занимали целый экран, и человек
   прокручивал их вместо того, чтобы читать. Ставим два на два. */
@media (max-width:760px){.табло{grid-template-columns:repeat(2,1fr);
    gap:22px 20px;margin-top:30px;padding:22px 0}
  .табло div{padding:0;border:0}
  .табло b{font-size:21px}
  .табло .длинное b{font-size:16px}
  .табло span{margin-top:7px;font-size:9.5px}}

/* Кадры лежали впритык, каждый в своей рамке: получалась плитка, а не
   фотографии. Рамки снимаем, между кадрами даём столько же воздуха, сколько
   в каталоге, а высоту задаём пропорцией — тогда кадр не обрезается по-разному
   на разной ширине окна. */
.полоса-фото{display:grid;gap:22px;margin-top:46px;grid-template-columns:repeat(3,1fr)}
.кадр-кнопка{position:relative;padding:0;border:0;background:var(--бумага2);
  cursor:zoom-in;overflow:hidden;display:block;font:inherit;color:inherit}
.кадр-кнопка img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;
  transition:transform .6s cubic-bezier(.2,.7,.3,1)}
.кадр-кнопка:hover img{transform:scale(1.03)}
.кадр-кнопка:first-child img{aspect-ratio:16/7}
.кадр-кнопка:first-child{grid-column:1 / -1}
.ещё-кадры{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:rgba(20,18,14,.46);color:#fff;font-size:14px;letter-spacing:.04em}
@media (max-width:760px){
  /* Фотографии — лента, которую листают пальцем. Столбиком из четырёх кадров
     они занимали тысячу точек прокрутки и отодвигали рассказ о доме. */
  .полоса-фото{display:flex;grid-template-columns:none;gap:10px;margin:26px 0 0;
    overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;
    -webkit-overflow-scrolling:touch}
  .полоса-фото::-webkit-scrollbar{display:none}
  .кадр-кнопка{flex:0 0 86%;scroll-snap-align:start}
  .кадр-кнопка:first-child{grid-column:auto}
  .кадр-кнопка img,.кадр-кнопка:first-child img{height:auto;aspect-ratio:4/3}
  .ещё-кадры{font-size:12px}
  /* Порядок на первом экране: имя, строчка о доме, кадр — и только потом цифры.
     Человек с телефона решает по картинке, а не по табличке. */
  .полотно > article{display:flex;flex-direction:column}
  .полотно > article > *{order:5}
  .полотно > article > .шапка-проекта{order:1}
  .полотно > article > .полоса-фото{order:2}
  .полотно > article > .табло{order:3}
  .шапка-проекта{padding-bottom:18px}
}

/* ——— просмотр кадра во весь экран ——— */
.лупа{position:fixed;inset:0;z-index:90;background:rgba(18,16,12,.94);
  display:flex;align-items:center;justify-content:center;padding:46px 68px}
.лупа[hidden]{display:none}
.лупа img{max-width:100%;max-height:100%;object-fit:contain;display:block}
.лупа button{position:absolute;background:none;border:none;color:#F4F0E7;cursor:pointer;
  font:400 34px/1 'Onest',sans-serif;padding:14px 18px;opacity:.72;transition:opacity .2s}
.лупа button:hover{opacity:1}
.лупа .закрыть{top:8px;right:12px;font-size:26px}
.лупа .влево{left:4px;top:50%;transform:translateY(-50%)}
.лупа .вправо{right:4px;top:50%;transform:translateY(-50%)}
.лупа .счёт{position:absolute;bottom:16px;left:0;right:0;text-align:center;
  color:#C9C1B1;font-size:12px;letter-spacing:.08em}
@media (max-width:700px){.лупа{padding:52px 34px}}

.разворот{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.85fr);
  gap:64px;margin-top:70px;align-items:start}
@media (max-width:960px){.разворот{grid-template-columns:1fr;gap:40px}}

.рассказ p{margin:0 0 22px;font-size:17.5px;line-height:1.66;max-width:66ch}
.рассказ.без-буквицы p:first-child::first-letter{font:inherit;float:none;margin:0;color:inherit}
.рассказ p:first-child::first-letter{font-family:var(--витраж);font-weight:var(--витраж-вес);
  font-size:52px;line-height:.86;float:left;margin:5px 12px 0 0;color:var(--медь)}

/* Главы шли одна за другой почти без паузы, и длинная страница читалась
   сплошняком. Расстояние между разделами больше, чем внутри раздела, —
   тогда глаз сам понимает, где кончилось одно и началось другое. */
.глава{margin-top:70px}
.глава h2{font-size:clamp(22px,2.8vw,31px);padding-bottom:16px;
  border-bottom:1px solid var(--линия)}
.глава .пояс{margin:16px 0 0;font-size:14px;color:var(--совсем-тихо);max-width:62ch}

.перечень{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));
  gap:0;margin-top:22px;border-top:1px solid var(--линия)}
.перечень div{padding:13px 4px 13px 18px;border-bottom:1px solid var(--линия);
  font-size:14px;position:relative;color:var(--тише)}
.перечень div::before{content:"";position:absolute;left:0;top:20px;width:7px;height:1px;
  background:var(--медь)}

.лоты{margin-top:24px;border-top:1px solid var(--линия2)}
.лот{display:grid;grid-template-columns:minmax(0,2fr) 1fr 1fr minmax(0,1.2fr);gap:16px;
  padding:16px 0;border-bottom:1px solid var(--линия);align-items:baseline}
.лот .имя{font-size:15px}
.лот .мелочь{font-size:12.5px;color:var(--совсем-тихо);margin-top:3px}
.лот .колонка{font-size:13.5px;color:var(--тише)}
.лот .цена{font-family:var(--витраж);font-weight:var(--витраж-вес);font-size:17px;
  letter-spacing:-.02em;text-align:right}
@media (max-width:700px){.лот{grid-template-columns:1fr 1fr}.лот .цена{text-align:left}}

/* Три колонки, а не «сколько влезет»: ячеек в блоке шесть, и они ложатся
   ровно 3×2. При «auto-fit» последний ряд оставался с пустой клеткой, а
   цифры внутри узких колонок ломались посреди значения. */
.рынок{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 36px;
  margin-top:28px;padding-top:26px;background:transparent;border:0;
  border-top:1px solid var(--линия)}
.рынок div{background:transparent;padding:0}
.рынок b{display:block;font-family:var(--витраж);font-weight:var(--витраж-вес);
  font-size:clamp(19px,2.2vw,24px);letter-spacing:-.02em;font-variant-numeric:tabular-nums;
  /* Значение живёт одной строкой. Длинному диапазону лучше стать мельче,
     чем разъехаться: цифра, разорванная посередине, читается как две. */
  white-space:nowrap;overflow-wrap:normal}
.рынок .медью b{color:var(--медь)}
.рынок span{display:block;margin-top:6px;font-size:11.5px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--совсем-тихо)}
.снято{margin:14px 0 0;font-size:12.5px;color:var(--совсем-тихо)}
@media (max-width:980px){.рынок{grid-template-columns:1fr 1fr}}
@media (max-width:700px){.рынок{gap:22px 20px}
  .рынок b{font-size:clamp(17px,4.6vw,21px)}}

/* ——— Разделы страницы дома ————————————————————————————————————————————
   Утверждённый макет строит страницу не колонкой с боковиком, а лентой
   полноширинных разделов: у каждого свой номер, крупный заголовок и своя
   сетка. Соседние разделы отличаются фоном, чтобы граница читалась. */
.проект-раздел{padding:76px 0}
.проект-раздел--лист{background:var(--лист)}
.проект-раздел--тьма{background:var(--тьма);color:var(--бумага)}
.проект-нутро{max-width:1240px;margin:0 auto;padding:0 var(--рх)}
.проект-шляпа{display:flex;align-items:flex-end;gap:32px;margin-bottom:38px;flex-wrap:wrap}
.проект-шляпа .номер{font-size:11px;letter-spacing:.2em;color:var(--медь);font-weight:500;
  padding-bottom:10px}
.проект-шляпа h2{font-family:var(--витраж);font-weight:var(--витраж-вес);
  font-size:clamp(28px,3.4vw,46px);line-height:1.08;letter-spacing:var(--витраж-трек);
  flex:1;min-width:260px;margin:0}
.проект-шляпа .сбоку{font-size:14px;line-height:1.55;color:var(--тише);max-width:38ch;
  padding-bottom:8px}
.проект-раздел--тьма .проект-шляпа .сбоку{color:rgba(244,240,231,.62)}
.проект-оговорка{margin:18px 0 0;font-size:12.5px;line-height:1.55;color:var(--совсем-тихо);
  max-width:78ch}

/* Цифры дома: четыре ячейки в одну линию, разделённые волосяной сеткой. */
.проект-цифры{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--линия);
  border:1px solid var(--линия)}
.проект-цифра{background:var(--лист);padding:30px 26px}
.проект-цифра b{display:block;font-family:var(--витраж);font-weight:var(--витраж-вес);
  font-size:clamp(24px,2.4vw,34px);line-height:1.1;letter-spacing:var(--витраж-трек)}
.проект-цифра .что{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--медь);margin-top:12px}
.проект-цифра .ещё{display:block;font-size:13px;color:var(--тише);margin-top:8px}

/* Рассказ и список фактов рядом. */
.проект-о{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:start}
.проект-о .текст p{margin:0 0 20px;font-size:17px;line-height:1.7}
.проект-о .текст p:first-child{font-family:var(--витраж);font-weight:var(--витраж-вес);
  font-size:clamp(21px,2vw,26px);line-height:1.42;letter-spacing:var(--витраж-трек);
  color:var(--текст)}
.проект-список{list-style:none;margin:0;padding:0;border-top:1px solid var(--линия)}
.проект-список li{display:flex;justify-content:space-between;gap:24px;padding:15px 0;
  border-bottom:1px solid var(--линия);font-size:15px}
.проект-список span{color:var(--тише)}
.проект-список b{font-weight:500;text-align:right}

/* Галерея: шесть колонок, первый кадр широкий. */
.проект-галерея{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.проект-кадр{margin:0;position:relative;cursor:zoom-in;overflow:hidden;background:var(--линия);
  border:0;padding:0;display:block;width:100%}
.проект-кадр.широкий{grid-column:span 4}
.проект-кадр.узкий{grid-column:span 2}
.проект-кадр.средний{grid-column:span 3}
.проект-кадр img{width:100%;height:100%;object-fit:cover;aspect-ratio:3/2;display:block;
  transition:transform .8s ease}
.проект-кадр:hover img{transform:scale(1.03)}
.проект-кадр .развернуть{position:absolute;left:0;right:0;bottom:0;padding:14px 18px;
  font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#fff;text-align:right;
  background:linear-gradient(to top,rgba(13,12,11,.72),rgba(13,12,11,0));
  opacity:0;transition:opacity .3s}
.проект-кадр:hover .развернуть{opacity:1}

/* Квартиры: таблица типов и форма рядом. */
.проект-планировки{display:grid;grid-template-columns:1.55fr .45fr;gap:48px;align-items:start}
.проект-типы{width:100%;border-collapse:collapse}
.проект-типы th{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--тише);
  font-weight:500;text-align:left;padding:0 16px 14px 0;border-bottom:1px solid var(--линия)}
.проект-типы td{padding:22px 16px 22px 0;border-bottom:1px solid var(--линия);vertical-align:middle}
.проект-типы .имя{font-family:var(--витраж);font-weight:var(--витраж-вес);font-size:24px;
  letter-spacing:var(--витраж-трек)}
.проект-типы .метры{font-size:16px;white-space:nowrap}
.проект-типы .цена{font-size:17px;font-weight:500;white-space:nowrap}
.проект-типы .цена span{display:block;font-size:12px;font-weight:400;color:var(--тише);margin-top:5px}
.проект-типы .метр{font-size:14px;color:var(--тише);white-space:nowrap}
.проект-типы .ход{text-align:right}
.проект-типы .ход a{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--медь)}
.проект-лоты{margin-top:34px;border-top:1px solid var(--линия)}
.проект-лоты .строка{display:grid;grid-template-columns:1.6fr .7fr 1fr .9fr;gap:20px;
  align-items:center;padding:15px 0;border-bottom:1px solid var(--линия);font-size:14px}
.проект-лоты .строка .чем{color:var(--тише);font-size:12.5px;margin-top:4px}
.проект-лоты .строка .деньги{text-align:right;font-weight:500;white-space:nowrap}
.проект-лоты h3{font-family:var(--витраж);font-weight:var(--витраж-вес);font-size:22px;
  letter-spacing:var(--витраж-трек);margin:0 0 4px;border:0}

/* Сервис плитками. */
.проект-удобства{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(3,1fr);gap:1px;background:var(--линия);
  border:1px solid var(--линия)}
.проект-удобства li{background:var(--лист);padding:24px 22px;font-size:15px;line-height:1.5}

/* Место: список ориентиров и карточка адреса. */
.проект-место{display:grid;grid-template-columns:1fr 360px;border:1px solid var(--линия)}
.проект-место .слева{padding:32px 34px;background:var(--лист)}
.проект-место .бок{padding:32px 30px;border-left:1px solid var(--линия);background:var(--лист);
  display:flex;flex-direction:column}
.проект-место .адрес{font-family:var(--витраж);font-weight:var(--витраж-вес);font-size:24px;
  line-height:1.25;letter-spacing:var(--витраж-трек)}
.проект-место .район{font-size:13px;color:var(--тише);margin-top:8px}
.проект-место .путь{margin:24px 0 0;font-size:15px;line-height:1.6}
.проект-рядом{list-style:none;margin:0;padding:0;border-top:1px solid var(--линия)}
.проект-рядом li{padding:13px 0;border-bottom:1px solid var(--линия);font-size:14.5px;
  line-height:1.5}

/* Кто строит. */
.проект-кто{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:center}
.проект-кто .кадр img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}
.проект-кто h3{font-family:var(--витраж);font-weight:var(--витраж-вес);font-size:34px;
  letter-spacing:var(--витраж-трек);margin:0}
.проект-кто .цифры{display:flex;gap:44px;margin-top:30px;flex-wrap:wrap}
.проект-кто .цифры b{display:block;font-family:var(--витраж);font-weight:var(--витраж-вес);
  font-size:32px;letter-spacing:var(--витраж-трек)}
.проект-кто .цифры span{font-size:12px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--тише)}

/* Соседние дома. */
.проект-соседи{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}

/* Заявка на тёмном. */
.проект-заявка{display:grid;grid-template-columns:1fr 460px;gap:64px;align-items:center}
.проект-заявка h2{font-family:var(--витраж);font-weight:var(--витраж-вес);
  font-size:clamp(30px,3.6vw,50px);line-height:1.08;letter-spacing:var(--витраж-трек);margin:0}
.проект-заявка .текст{margin-top:20px;font-size:17px;line-height:1.6;
  color:rgba(244,240,231,.72);max-width:46ch}
.проект-заявка .пункты{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:12px}
.проект-заявка .пункты li{display:flex;gap:12px;font-size:15px;line-height:1.5;
  color:rgba(244,240,231,.82)}
.проект-заявка .пункты li:before{content:"";width:5px;height:5px;background:var(--медь-ярче);
  margin-top:9px;flex:none}

@media (max-width:1000px){
  .проект-о,.проект-кто,.проект-заявка,.проект-планировки{grid-template-columns:1fr;gap:36px}
  .проект-место{grid-template-columns:1fr}
  .проект-место .бок{border-left:0;border-top:1px solid var(--линия)}
  .проект-удобства{grid-template-columns:repeat(2,1fr)}
  .проект-соседи{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:760px){
  .проект-раздел{padding:48px 0}
  .проект-шляпа{gap:14px;margin-bottom:26px}
  .проект-цифры{grid-template-columns:1fr 1fr}
  .проект-цифра{padding:22px 18px}
  .проект-галерея{grid-template-columns:repeat(2,1fr);gap:10px}
  .проект-кадр.широкий,.проект-кадр.узкий,.проект-кадр.средний{grid-column:span 2}
  .проект-кадр:nth-child(n+2){grid-column:span 1}
  .проект-кадр .развернуть{opacity:1;
    background:linear-gradient(to top,rgba(13,12,11,.8),rgba(13,12,11,0))}
  .проект-типы thead{display:none}
  .проект-типы,.проект-типы tbody,.проект-типы tr,.проект-типы td{display:block;width:100%}
  .проект-типы tr{border-bottom:1px solid var(--линия);padding:18px 0}
  .проект-типы td{border:0;padding:3px 0}
  .проект-типы .ход{text-align:left;margin-top:10px}
  .проект-удобства{grid-template-columns:1fr}
  .проект-соседи{grid-template-columns:1fr}
  .проект-лоты .строка{grid-template-columns:1fr auto;gap:8px}
  .проект-лоты .строка .колонка{color:var(--тише);font-size:12.5px}
  .проект-место .слева,.проект-место .бок{padding:24px 20px}
}

.проект-ниже{margin-top:52px}
.проект-раздел .глава:first-child,.проект-раздел .связки:first-child{margin-top:0;
  padding-top:0;border-top:0}
.проект-раздел .глава{margin-top:52px}
.проект-раздел .связки{margin-top:48px}
.проект-раздел .полка{margin-top:0}
.проект-планировки .заявка{position:sticky;top:calc(var(--высота-шапки,64px) + 74px)}
.проект-место.один-столбец{grid-template-columns:1fr}
.проект-место.один-столбец .бок{border-left:0}
.проект-лоты .имя-лота{font-size:15px}
.проект-раздел--тьма .заявка{color:var(--текст)}

.проект-раздел{scroll-margin-top:calc(var(--высота-шапки,64px) + 68px)}
.проект-планировки{grid-template-columns:1fr minmax(340px,400px)}
.проект-удобства{background:transparent;border:0;gap:0}
.проект-удобства li{border:1px solid var(--линия);margin:-1px 0 0 -1px}

/* Поздние правки стоят после общих медиа-правил, поэтому одноколоночность
   на узком экране повторяем здесь — иначе форма вылезает за край телефона. */
@media (max-width:1000px){
  .проект-планировки{grid-template-columns:1fr}
}
/* Лента разделов на телефоне не влезает целиком — даём её листать пальцем. */
.лента-дома .ссылки{overflow-x:auto;white-space:nowrap;scrollbar-width:none;
  -webkit-overflow-scrolling:touch}
.лента-дома .ссылки::-webkit-scrollbar{display:none}
@media (max-width:760px){
  .лента-дома .нутро{gap:16px}
  .лента-дома .право .цена{display:none}
}

/* ——— Первый экран дома: утверждённый вид карточки проекта ——————————————
   Кадр во весь экран, поверх него имя, цена и два действия. Сам кадр не
   гасим целиком — затемняем только полосы сверху и снизу, там, где лежит
   текст: дом должен быть виден, он и продаёт. */
.герой-дома{position:relative;height:calc(100svh - var(--высота-шапки,64px));min-height:560px;display:flex;
  align-items:flex-end;overflow:hidden;background:#16161A;margin-top:-1px}
.герой-дома .кадры{position:absolute;inset:0}
.герой-дома .кадры img{position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;opacity:0;transition:opacity 1.4s ease}
.герой-дома .кадры img.виден{opacity:1}
.герой-дома .вуаль-верх{position:absolute;left:0;right:0;top:0;height:240px;
  background:linear-gradient(180deg,rgba(13,12,11,.6),rgba(13,12,11,0));pointer-events:none}
.герой-дома .вуаль-низ{position:absolute;left:0;right:0;bottom:0;height:72%;
  background:linear-gradient(0deg,rgba(13,12,11,.94),rgba(13,12,11,.72) 32%,rgba(13,12,11,.32) 62%,rgba(13,12,11,0));
  pointer-events:none}
.герой-дома .нутро{position:relative;width:100%;max-width:1240px;margin:0 auto;
  padding:0 var(--рх) 56px;color:#F6F2EA}
.герой-дома .крошки{padding:0;margin:0 0 26px;font-size:12.5px;color:rgba(246,242,234,.7)}
.герой-дома .крошки a{color:rgba(246,242,234,.72)}
.герой-дома .крошки a:hover{color:#fff}
.герой-дома .крошки .раздел{color:rgba(246,242,234,.4)}
.герой-дома .шапочка{font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(246,242,234,.9);display:flex;gap:12px;flex-wrap:wrap;align-items:center;
  margin-bottom:20px}
.герой-дома .шапочка .точка-раздела{width:3px;height:3px;border-radius:50%;
  background:rgba(246,242,234,.45)}
.герой-дома h1{font-family:var(--витраж);font-weight:var(--витраж-вес);
  font-size:clamp(40px,6vw,76px);line-height:1.02;letter-spacing:-.02em;margin:0;
  color:#FBF8F2;max-width:18ch}
.герой-дома .лид{margin:20px 0 0;font-size:18px;line-height:1.55;max-width:56ch;
  color:rgba(246,242,234,.82)}
.герой-дома .ряд{display:flex;align-items:flex-end;gap:44px;flex-wrap:wrap;margin-top:34px}
.герой-дома .цена{font-family:var(--витраж);font-weight:var(--витраж-вес);
  font-size:clamp(28px,3.4vw,42px);letter-spacing:-.02em;line-height:1;color:#FBF8F2}
.герой-дома .цена span{display:block;margin-top:9px;font-family:"Onest",sans-serif;
  font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(246,242,234,.78)}
.герой-дома .мелочи{display:flex;gap:34px;flex-wrap:wrap;padding-bottom:4px}
.герой-дома .мелочь b{display:block;font-size:15px;color:#FBF8F2;font-weight:400}
.герой-дома .мелочь span{display:block;margin-top:7px;font-size:10.5px;letter-spacing:.15em;
  text-transform:uppercase;color:rgba(246,242,234,.72)}
.герой-дома .ходы{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.герой-дома .кнопка{border-color:rgba(246,242,234,.4);color:#FBF8F2;padding:14px 26px;
  font-size:11px}
.герой-дома .кнопка:hover{border-color:#fff;color:#fff}
.герой-дома .кнопка.залитая{background:var(--зов,var(--медь));border-color:var(--зов,var(--медь));
  color:#FFF7F0}
.герой-дома .кнопка.залитая:hover{background:var(--зов-ярче,var(--медь-ярче));
  border-color:var(--зов-ярче,var(--медь-ярче))}
/* Точки смены кадров. Их видно только тогда, когда кадров больше одного. */
.герой-дома .точки{position:absolute;right:var(--рх);bottom:58px;display:flex;gap:9px}
.герой-дома .точки button{width:7px;height:7px;border-radius:50%;padding:0;border:0;
  background:rgba(246,242,234,.38);cursor:pointer;transition:background .3s}
.герой-дома .точки button.тут{background:#FBF8F2}
@media (max-width:760px){
  .герой-дома{height:calc(92svh - var(--высота-шапки,52px));min-height:500px}
  .герой-дома .нутро{padding-bottom:38px}
  .герой-дома h1{font-size:clamp(32px,9vw,44px);max-width:none}
  .герой-дома .лид{font-size:15.5px;margin-top:14px}
  .герой-дома .ряд{gap:24px;margin-top:24px}
  .герой-дома .мелочи{gap:22px}
  .герой-дома .ходы{margin-top:22px;gap:8px}
  .герой-дома .ходы .кнопка{flex:1 1 auto;text-align:center;padding:13px 14px}
  .герой-дома .точки{bottom:auto;top:82px;right:var(--рх)}
}

/* Под первым экраном полотно должно начинаться с воздухом, а якоря разделов —
   не заезжать под шапку и липкую полосу: вместе они занимают 122 точки. */
.герой-дома ~ .полотно{padding-top:56px}
body:has(.герой-дома){padding-bottom:78px}
#о-доме,#галерея,#квартиры,#внутри,#соседи,#заявка{scroll-margin-top:calc(var(--высота-шапки,64px) + 68px)}
@media (max-width:760px){
  .герой-дома ~ .полотно{padding-top:34px}
  #о-доме,#галерея,#квартиры,#внутри,#соседи,#заявка{scroll-margin-top:calc(var(--высота-шапки,52px) + 58px)}
}

/* ——— Липкая полоса разделов ————————————————————————————————————————————
   Держится под шапкой сайта: человек, ушедший вниз на две тысячи точек,
   всё равно видит цену и может вернуться к любому разделу. */
.лента-дома{position:sticky;top:var(--высота-шапки,64px);z-index:40;background:rgba(244,240,231,.92);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--линия)}
.лента-дома .нутро{max-width:1240px;margin:0 auto;padding:0 var(--рх);height:58px;
  display:flex;align-items:center;gap:30px}
.лента-дома .ссылки{display:flex;gap:26px;font-size:12.5px;color:var(--тише);
  overflow-x:auto;scrollbar-width:none}
.лента-дома .ссылки::-webkit-scrollbar{display:none}
.лента-дома .ссылки a{white-space:nowrap}
.лента-дома .ссылки a:hover{color:var(--текст)}
.лента-дома .ссылки a.тут{color:var(--медь)}
.лента-дома .право{margin-left:auto;display:flex;align-items:center;gap:20px}
.лента-дома .цена{font-family:var(--витраж);font-weight:var(--витраж-вес);font-size:17px;
  letter-spacing:-.02em;white-space:nowrap}
@media (max-width:900px){.лента-дома .право{display:none}}
@media (max-width:760px){.лента-дома .нутро{height:50px}
  .лента-дома .ссылки{gap:20px;font-size:12px}}

/* ——— Нижняя полоса с ценой ————————————————————————————————————————————
   Появляется, когда первый экран уехал: цена и кнопка всегда под рукой. */
.полоска-дома{position:fixed;left:0;right:0;bottom:0;z-index:55;
  background:rgba(22,22,26,.96);color:#F6F2EA;transform:translateY(101%);
  transition:transform .4s cubic-bezier(.2,.7,.3,1)}
.полоска-дома.видна{transform:none}
.полоска-дома .нутро{max-width:1240px;margin:0 auto;padding:14px var(--рх);
  display:flex;align-items:center;gap:24px}
.полоска-дома .цена{font-family:var(--витраж);font-weight:var(--витраж-вес);font-size:20px;
  letter-spacing:-.02em}
.полоска-дома .цена span{display:block;font-family:"Onest",sans-serif;font-size:10px;
  letter-spacing:.14em;text-transform:uppercase;color:rgba(246,242,234,.55);margin-top:4px}
.полоска-дома .имя{font-size:13.5px;color:rgba(246,242,234,.8)}
.полоска-дома .ходы{margin-left:auto;display:flex;gap:10px}
.полоска-дома .кнопка{border-color:rgba(246,242,234,.35);color:#F6F2EA;padding:11px 20px}
.полоска-дома .кнопка:hover{border-color:#fff;color:#fff}
@media (max-width:760px){.полоска-дома .имя{display:none}
  .полоска-дома .нутро{padding:10px var(--рх);gap:14px}
  .полоска-дома .цена{font-size:17px}
  .полоска-дома .кнопка{padding:10px 14px;font-size:10px}}

.сбоку{position:sticky;top:84px;align-self:start}
.карточка{background:transparent;border:0;border-top:1px solid var(--линия2);
  padding:22px 0 0}
.карточка h3{font-size:12px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--совсем-тихо);font-family:"Onest",sans-serif;font-weight:500;margin-bottom:16px}
.строчка{display:flex;justify-content:space-between;gap:16px;padding:11px 0;
  border-bottom:1px solid var(--линия);font-size:13.5px;align-items:baseline}
.строчка:last-of-type{border-bottom:none}
.строчка .что{color:var(--совсем-тихо);flex:0 0 auto}
.строчка .как{text-align:right;color:var(--текст)}
.строчка.сверка{border-top:1px solid var(--линия);margin-top:6px;padding-top:13px}
.строчка.сверка .как{color:var(--тише);font-size:13px}

.карточка.широкая{position:static;top:auto;margin-top:34px;padding:22px 0 0}
.карточка.широкая .строчка{padding:14px 0;font-size:14px}
.карточка.широкая .строчка .как{max-width:64%;text-align:right}
@media (max-width:640px){
  .карточка.широкая .строчка{flex-direction:column;gap:4px}
  .карточка.широкая .строчка .как{max-width:100%;text-align:left}
}

.вопросы{margin-top:22px;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
  gap:0;border-top:1px solid var(--линия)}
.вопрос{padding:18px 22px 18px 0;border-bottom:1px solid var(--линия)}
.вопрос b{display:block;font-size:14.5px;font-weight:500;margin-bottom:6px}
.вопрос p{margin:0;font-size:13.5px;line-height:1.55;color:var(--тише)}

.заявка{background:var(--лист2);border:1px solid var(--линия);padding:26px;margin-top:18px}
.заявка .заголовок{font-size:19px;font-family:var(--витраж);font-weight:var(--витраж-вес);
  letter-spacing:-.03em;line-height:1.2}
.заявка .пояснение{margin:9px 0 18px;font-size:13px;color:var(--тише)}
.заявка input{width:100%;padding:12px 14px;background:var(--лист);border:1px solid var(--линия2);
  font-size:14px;margin-bottom:10px}
.заявка button{width:100%;padding:13px;background:var(--медь);border:1px solid var(--медь);
  color:#FFF7F0;font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:500;
  cursor:pointer;transition:background .2s}
.заявка button:hover{background:var(--медь-ярче)}
.заявка .мелко{margin:12px 0 0;font-size:11px;color:var(--совсем-тихо);line-height:1.45}
.заявка.готово .нутро{display:none}
.заявка .спасибо{display:none;font-size:14px;line-height:1.5}
.заявка.готово .спасибо{display:block}

/* Соседние дома стояли карточками в рамках — так же, как раньше выглядел
   каталог. Дом должен выглядеть одинаково везде, поэтому здесь тот же приём:
   кадр, имя, строчка, цена — и никакой коробки. */
.соседи{margin-top:100px;padding-top:36px;border-top:1px solid var(--линия)}
.соседи h2{font-size:clamp(22px,2.7vw,30px)}
.полка{display:grid;grid-template-columns:repeat(3,1fr);gap:46px 28px;margin-top:32px}
.сосед{background:transparent;border:0;padding:0;overflow:visible;
  display:flex;flex-direction:column;transition:transform .4s cubic-bezier(.2,.7,.3,1)}
.сосед:hover{background:transparent;transform:translateY(-4px)}
.сосед-кадр{display:block;aspect-ratio:4/3;overflow:hidden;border:0;
  background:var(--бумага2)}
.сосед-кадр img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.сосед:hover .сосед-кадр img{transform:scale(1.04)}
.сосед-тело{display:flex;flex-direction:column;gap:9px;padding:18px 0 0;flex:1}
@media (max-width:900px){.полка{grid-template-columns:1fr 1fr;gap:36px 22px}}
@media (max-width:600px){.полка{grid-template-columns:1fr;gap:34px}
  .соседи{margin-top:70px}}
.соседи__все{display:inline-flex;align-items:center;gap:10px;margin-top:40px;
  font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--медь);
  border-bottom:1px solid var(--линия);padding-bottom:7px;transition:color .3s}
.соседи__все:hover{color:var(--медь-ярче)}
.сосед .тип{font-size:10.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--совсем-тихо)}
.сосед h3{font-size:21px;font-weight:400;line-height:1.2}
.сосед p{margin:0;font-size:13px;color:var(--тише);line-height:1.5}
.сосед .низ{margin-top:auto;padding-top:13px;border-top:1px solid var(--линия);
  font-size:13.5px;color:var(--медь);font-variant-numeric:tabular-nums}

/* ——— перелинковка: подборки и журнал ——— */
.связки{margin-top:86px;padding-top:32px;border-top:1px solid var(--линия)}
/* Связка, стоящая отдельным разделом страницы дома, получает отступ от раздела;
   свой верхний отступ и черта давали над ней пустоту в двести точек. */
.раздел>.нутро-макета>.связки:first-child{margin-top:0;padding-top:0;border-top:0}
.связки h2{font-size:clamp(19px,2.2vw,24px)}
.связки .пояс{margin:9px 0 0;font-size:14.5px;color:var(--тише);max-width:66ch}
.чипсы{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.чип{display:inline-block;padding:8px 15px;border:1px solid var(--линия2);font-size:12.5px;
  color:var(--тише);transition:border-color .2s,color .2s,background .2s;background:var(--лист)}
.чип:hover{border-color:var(--медь);color:var(--медь)}
.чип b{font-weight:500;color:var(--текст)}
.полка-статей{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:0;
  margin-top:18px;border-top:1px solid var(--линия)}
.полка-статей a{display:block;padding:17px 20px 17px 0;border-bottom:1px solid var(--линия)}
.полка-статей .р{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--медь);
  margin-bottom:7px}
.полка-статей .з{font-size:16px;line-height:1.35}
.полка-статей .о{margin-top:6px;font-size:13px;color:var(--тише);line-height:1.5}
.полка-статей a:hover .з{color:var(--медь)}

/* ——— реквизиты рекламы строящегося дома ——— */
.реквизиты{margin-top:44px;padding-top:20px;border-top:1px solid var(--линия)}
.реквизиты p{margin:0;font-size:12.5px;line-height:1.6;color:var(--совсем-тихо);max-width:78ch}
section.реквизиты a{color:var(--совсем-тихо);text-decoration:underline;text-underline-offset:2px}
section.реквизиты a:hover{color:var(--медь)}

/* ——— страница списка ——— */
/* Дома шли текстовыми прямоугольниками: рамка, имя, две строки — на общей
   витрине рядом с кадрами это читалось как таблица остатков, а не как дома.
   Теперь карточка такая же, как в каталоге на первом экране: кадр сверху,
   текст прямо на бумаге, воздух вместо рамок. Первые два дома крупнее —
   иначе башня на 379 метров весит на странице столько же, сколько самый
   скромный корпус. */
/* ——— поиск по списку домов ———
   Список длинный, и человек, который пришёл за одним домом, до этого дня
   листал его глазами. Поле фильтрует плитки прямо на странице: ключи лежат
   на каждой плитке, ходить на сервер не нужно. */
.искать{position:relative;display:flex;align-items:center;gap:10px;
  border:1px solid var(--линия2,#C5BBA4);background:var(--лист,#FCFAF5);
  padding:0 14px;margin:26px 0 0;max-width:520px;transition:border-color .2s,background .2s}
.искать:focus-within{border-color:var(--медь,#A25A33);background:#FFFDF8}
.искать svg{width:17px;height:17px;flex:0 0 auto;color:var(--тише,#6D6659)}
.искать input{flex:1;min-width:0;border:0;background:none;font:inherit;font-size:14.5px;
  color:var(--текст,#23201A);padding:14px 0;outline:none}
.искать input::placeholder{color:var(--совсем-тихо,#8C8577)}
.искать input::-webkit-search-cancel-button{display:none}
.искать-стереть{border:0;background:none;cursor:pointer;font:inherit;font-size:19px;
  line-height:1;color:var(--тише,#6D6659);padding:6px 2px}
.искать-стереть:hover{color:var(--медь,#A25A33)}
.искать-итог{font-size:12.5px;color:var(--тише,#6D6659);margin:10px 0 0}
.искать-итог b{color:var(--текст,#23201A);font-weight:500}
.искать-пусто{margin:26px 0 0;padding:22px;border:1px solid var(--линия,#E4DCCB);
  background:var(--лист,#FCFAF5);font-size:14px;color:var(--тише,#6D6659);max-width:520px}
.искать-пусто b{display:block;font-family:var(--витраж);font-weight:400;font-size:18px;
  color:var(--текст,#23201A);margin-bottom:6px}
.дом-плитка[hidden]{display:none}
@media (max-width:700px){
  .искать{max-width:none}
  .искать input{font-size:16px;padding:12px 0}
}
/* ——— страница всех домов по замечаниям Константина 8 октября 2026 ———
   Шапка короче, цифры одной строкой, поле поиска и плитки скруглены, как
   на главной; подборки на телефоне лентой, а не стеной кнопок. */
.шапка-списка{padding-top:26px}
.шапка-списка .над{margin-bottom:12px}
.шапка-списка .лид{margin-top:12px!important;font-size:17px!important}
.табло-строкой{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 22px;margin-top:20px;
  font-size:14.5px;color:var(--тише)}
.табло-строкой span{white-space:nowrap}
.табло-строкой b{font-family:var(--вр-гротеск,var(--витраж));font-weight:600;letter-spacing:-.03em;
  font-size:22px;color:var(--текст);font-variant-numeric:lining-nums}
.без-комиссии{display:inline-flex;align-items:center;gap:10px;margin-top:16px;padding:6px 16px 6px 6px;
  border-radius:999px;background:var(--бумага2,#F4F5F7);font-size:14px;color:var(--текст)}
.без-комиссии b{display:inline-block;padding:4px 10px;border-radius:999px;background:#fff;
  font-family:var(--вр-гротеск,var(--витраж));font-weight:600;font-size:13.5px;color:var(--медь);
  box-shadow:0 1px 4px rgba(40,30,18,.08)}
.глава.все-дома{margin-top:34px}
.глава.все-дома h2{padding-bottom:0;border-bottom:0}
.искать{border-radius:999px!important;background:#fff!important;padding:0 8px 0 18px!important;
  box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 8px 24px rgba(40,30,18,.08);max-width:560px}
.искать-голос{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;
  width:38px;height:38px;border:0;border-radius:50%;background:var(--бумага2,#F4F5F7);
  color:var(--текст);cursor:pointer;padding:0}
.искать-голос svg{width:19px;height:19px;color:inherit}
.искать-голос.слушаю{background:var(--медь);color:#fff;animation:слушаю 1.2s ease-in-out infinite}
@keyframes слушаю{50%{box-shadow:0 0 0 7px rgba(150,103,127,.18)}}
.искать-голос[hidden],.искать-стереть[hidden]{display:none}
.сроки-списка{display:flex;gap:8px;margin-top:14px;overflow-x:auto;scrollbar-width:none;
  -webkit-overflow-scrolling:touch}
.сроки-списка::-webkit-scrollbar{display:none}
.сроки-списка .срок-кн{display:inline-flex;align-items:baseline;gap:7px;padding:9px 16px;cursor:pointer;
  white-space:nowrap;flex:0 0 auto;border-radius:999px;border:1px solid var(--линия2);background:#fff;
  font:inherit;font-size:13.5px}
.сроки-списка .срок-кн b{font-weight:500;color:var(--текст)}
.сроки-списка .срок-кн .сколько{font-variant-numeric:tabular-nums;font-size:12px;color:var(--совсем-тихо)}
.сроки-списка .срок-кн:hover{border-color:var(--медь)}
.сроки-списка .срок-кн.выбран{background:var(--медь);border-color:var(--медь)}
.сроки-списка .срок-кн.выбран b,.сроки-списка .срок-кн.выбран .сколько{color:#fff}
.дом-плитка{background:#fff;border-radius:22px;overflow:hidden;
  box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 14px 36px rgba(40,30,18,.10)}
.дом-кадр{border-radius:0}
.дом-плитка .дом-тело{padding:16px 18px 18px}
.чип{border-radius:999px;padding:8px 15px;background:#fff}
.чип span{margin-left:7px;color:var(--совсем-тихо);font-variant-numeric:tabular-nums}
@media (max-width:680px){
  .шапка-списка{padding-top:16px}
  .шапка-списка h1{font-size:32px!important}
  .шапка-списка .лид{font-size:15.5px!important;margin-top:8px!important}
  .табло-строкой{gap:4px 16px;margin-top:14px;font-size:13.5px}
  .табло-строкой b{font-size:19px}
  .без-комиссии{margin-top:12px;font-size:13.5px}
  .глава.все-дома{margin-top:26px}
  .свод{margin-top:20px!important;gap:22px!important}
  .подборки-лентой{margin-top:52px;padding-top:24px}
  .подборки-лентой .чипсы{display:grid;grid-auto-flow:column;grid-template-rows:repeat(3,auto);
    grid-auto-columns:max-content;gap:8px;overflow-x:auto;scrollbar-width:none;
    margin:16px calc(-1 * 20px) 0;padding:2px 20px 6px;scroll-padding:0 20px;
    -webkit-overflow-scrolling:touch}
  .подборки-лентой .чипсы::-webkit-scrollbar{display:none}
}
.свод{display:grid;grid-template-columns:repeat(6,1fr);gap:52px 28px;margin-top:30px}
.дом-плитка{grid-column:span 2;display:flex;flex-direction:column;
  transition:transform .4s cubic-bezier(.2,.7,.3,1)}
.дом-плитка:hover{transform:translateY(-4px)}
.дом-плитка.крупный{grid-column:span 3}
.дом-кадр{aspect-ratio:4/3;overflow:hidden;background:var(--бумага2);position:relative}
.лента-старта{position:absolute;z-index:2;top:30px;left:-42px;width:190px;padding:7px 0;text-align:center;transform:rotate(-45deg);background:#C8102E;color:#fff;font-size:11px;line-height:1;font-weight:700;letter-spacing:.1em;text-transform:uppercase;box-shadow:0 2px 8px rgba(0,0,0,.25);pointer-events:none}
.дом-плитка.крупный .дом-кадр{aspect-ratio:16/9}
.дом-кадр img{width:100%;height:100%;object-fit:cover;transition:.5s}
.дом-плитка:hover .дом-кадр img{transform:scale(1.03)}
.дом-кадр.пусто{display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:4px;color:var(--совсем-тихо);font-size:12px;text-align:center}
.дом-тело{padding:18px 0 0;display:flex;flex-direction:column;gap:8px;flex:1}
.дом-класс{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--медь)}
.дом-плитка h3{font-size:23px;font-weight:400;margin:0;line-height:1.15}
.дом-плитка.крупный h3{font-size:31px}
.дом-где{font-size:12px;color:var(--тише)}
.дом-плитка p{margin:0;font-size:12.5px;color:var(--тише);line-height:1.5;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.дом-плитка.крупный p{font-size:14px;-webkit-line-clamp:2}
/* Диапазон вроде «94 млн ₽ – 1,25 млрд ₽» в узкую колонку не влезает.
   Пусть тогда уезжает на свою строку целиком, а не ломается посередине. */
.дом-низ{margin-top:auto;padding-top:13px;border-top:1px solid var(--линия);
  display:flex;justify-content:space-between;gap:4px 12px;align-items:baseline;
  flex-wrap:wrap;font-size:12px;color:var(--совсем-тихо)}
.дом-низ .цена{font-size:16px;color:var(--текст);font-variant-numeric:tabular-nums;
  margin-left:auto;white-space:nowrap}
.дом-плитка.крупный .дом-низ .цена{font-size:19px}
.дом-звать{margin-top:11px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--медь);opacity:.85;transition:opacity .2s ease}
.дом-плитка:hover .дом-звать{opacity:1}
@media (max-width:1180px){
  .свод{grid-template-columns:repeat(4,1fr);gap:42px 24px}
  .дом-плитка.крупный{grid-column:span 4}
  .дом-плитка.крупный h3{font-size:27px}
}
@media (max-width:680px){
  .свод{grid-template-columns:1fr;gap:34px}
  .дом-плитка,.дом-плитка.крупный{grid-column:span 1}
  .дом-плитка h3,.дом-плитка.крупный h3{font-size:20px}
  .дом-плитка.крупный .дом-кадр{aspect-ratio:4/3}
  .дом-плитка.крупный p{font-size:12.5px}
  .дом-низ .цена,.дом-плитка.крупный .дом-низ .цена{font-size:15px}
}
.свод-строками{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin-top:26px}
.строка-свода{background:var(--лист);border:1px solid var(--линия);padding:22px;
  display:flex;flex-direction:column;gap:8px;min-height:176px}
a.строка-свода:hover{background:#FFFDF8;border-color:var(--линия2)}
.строка-свода.скрыт{background:transparent;border-style:dashed}
.строка-свода .верх{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.строка-свода h3{font-size:18px;font-weight:400}
.строка-свода .класс{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--совсем-тихо);white-space:nowrap}
.строка-свода p{margin:0;font-size:13px;color:var(--тише);line-height:1.5}
.строка-свода .низ{margin-top:auto;padding-top:12px;display:flex;justify-content:space-between;
  gap:12px;font-size:12px;color:var(--совсем-тихо);align-items:baseline}
.строка-свода .цена{color:var(--медь);font-variant-numeric:tabular-nums}
.причина{font-size:12px;color:#8C3A18;line-height:1.45;margin-top:auto;padding-top:12px}

.дом-макет{--медь:var(--зов,#B0755A); --медь-свет:var(--зов-ярче,#C28B71); --графит:#16161A; --крем:#F4F1EC;
  --бумага:#FAF8F5; --тень:#0D0C0B; --серый:#6E6A64; --линия:#E2DCD3;}
.дом-макет *{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:64px}
.дом-макет{margin:0;background:var(--бумага);color:var(--графит);
  font:400 17px/1.62 'Museo Sans Cyrl','Helvetica Neue',Arial,sans-serif;
  -webkit-font-smoothing:antialiased}
.дом-макет img{display:block;max-width:100%}
.дом-макет a{color:inherit;text-decoration:none}
.дом-макет h1, .дом-макет h2, .дом-макет h3{margin:0;font-weight:400}
.дом-макет .антиква{font-family:'Cormorant Garamond',Georgia,serif;font-weight:300;letter-spacing:.005em}
.дом-макет .надпись{font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:500}
.дом-макет .нутро-макета{width:min(1440px,100% - 96px);margin:0 auto}
@media(max-width:900px){
.дом-макет .нутро-макета{width:calc(100% - 40px)}
}
.дом-макет .герой{position:relative;height:100svh;min-height:600px;overflow:hidden;background:#0D0C0B}
.дом-макет .герой__кадр{position:absolute;inset:0;opacity:0;transition:opacity 1.1s ease}
.дом-макет .герой__кадр.виден{opacity:1}
.дом-макет .герой__кадр img{width:100%;height:100%;object-fit:cover}
.дом-макет .герой__верх{position:absolute;left:0;right:0;top:0;height:150px;pointer-events:none;
  background:linear-gradient(rgba(13,12,11,.52),rgba(13,12,11,0))}
.дом-макет .герой__низ{position:absolute;left:0;right:0;bottom:0;height:62%;pointer-events:none;
  background:linear-gradient(to top,rgba(13,12,11,.94) 0%,rgba(13,12,11,.86) 18%,rgba(13,12,11,.62) 40%,rgba(13,12,11,.3) 64%,rgba(13,12,11,0) 100%)}
.дом-макет .герой__лево{position:absolute;left:0;top:0;bottom:0;width:100%;pointer-events:none;
  background:linear-gradient(100deg,rgba(13,12,11,.5) 0%,rgba(13,12,11,.24) 30%,rgba(13,12,11,.08) 62%,rgba(13,12,11,0) 100%)}
.дом-макет .герой__нутро{position:absolute;left:0;right:0;bottom:0;padding-bottom:40px;color:#fff;
  text-shadow:0 1px 18px rgba(13,12,11,.5)}
.дом-макет .герой__строка{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:22px}
.дом-макет .герой__шапочка{display:flex;align-items:baseline;gap:16px;color:rgba(255,255,255,.85)}
.дом-макет .герой__шапочка .надпись{color:var(--медь-свет)}
.дом-макет .герой__крошки{font-size:12px;color:rgba(255,255,255,.75)}
.дом-макет .герой__крошки a:hover{color:#fff}
.дом-макет .герой h1{font-family:'Cormorant Garamond',Georgia,serif;font-weight:300;
  font-size:clamp(34px,4.4vw,64px);line-height:1.04;margin:10px 0 0;max-width:19ch;text-wrap:balance}
.дом-макет .герой__кто{margin-top:10px;font-size:15px;color:rgba(255,255,255,.82)}
.дом-макет .герой__ряд{display:flex;align-items:flex-end;gap:38px;flex-wrap:wrap;margin-top:26px}
.дом-макет .герой__цена{font-family:'Cormorant Garamond',Georgia,serif;font-size:40px;line-height:1;white-space:nowrap}
.дом-макет .герой__цена span{display:block;font-family:'Museo Sans Cyrl',sans-serif;font-size:13px;
  letter-spacing:.04em;color:rgba(255,255,255,.72);margin-top:8px}
.дом-макет .герой__ходы{display:flex;gap:12px;flex-wrap:wrap;margin-left:auto}
/* Цены у дома нет — блока цены на странице нет, и ходы встают на её место,
   а не висят у правого края над пустотой. «Надпись А» 20 сентября 2026. */
.дом-макет .герой__ряд--без-цены .герой__ходы{margin-left:0}
.дом-макет .кнопка{display:inline-flex;align-items:center;gap:12px;height:52px;padding:0 28px;
  font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;
  border:1px solid transparent;cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.дом-макет .кнопка svg{width:24px;height:8px;flex:none}
.дом-макет .кнопка--медь{background:var(--медь);color:#fff}
.дом-макет .кнопка--медь:hover{background:var(--медь-свет)}
.дом-макет .кнопка--стекло{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.45);backdrop-filter:blur(4px)}
.дом-макет .кнопка--стекло:hover{background:#fff;color:var(--графит);border-color:#fff}
.дом-макет .кнопка--контур{border-color:var(--линия);color:var(--графит);background:transparent}
.дом-макет .кнопка--контур:hover{border-color:var(--медь);color:var(--медь)}
.дом-макет .герой__счёт{display:flex;gap:8px;flex:none}
.дом-макет .герой__точка{width:26px;height:2px;background:rgba(255,255,255,.34);border:0;padding:0;cursor:pointer;transition:background .3s}
.дом-макет .герой__точка.живая{background:#fff}
.дом-макет .герой__подпись{font-size:12px;letter-spacing:.02em;color:rgba(255,255,255,.9)}
.дом-макет .лента{position:sticky;top:0;z-index:50;background:rgba(250,248,245,.97);border-bottom:1px solid var(--линия);
  backdrop-filter:blur(8px)}
.дом-макет .лента__нутро{width:min(1440px,100% - 96px);margin:0 auto;display:flex;align-items:center;gap:28px;height:64px}
.дом-макет .лента__ссылки{display:flex;gap:26px;overflow-x:auto;scrollbar-width:none}
.дом-макет .лента__ссылки::-webkit-scrollbar{display:none}
.дом-макет .лента__ссылки--тесно{gap:11px}
.дом-макет .лента__ссылки--тесно a{font-size:10.5px;letter-spacing:.02em}
/* Одиннадцати разделам полосы не хватает даже поджатыми. Срок сдачи из
   правого края убираем: он крупно стоит на первом экране и повторён в
   разделе про стройку, а цена и кнопка остаются на месте. */
.дом-макет .лента--тесно .лента__цифра span{display:none}
.дом-макет .лента__ссылки a{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--серый);
  white-space:nowrap;padding:4px 0;border-bottom:1px solid transparent;transition:color .25s,border-color .25s}
.дом-макет .лента__ссылки a:hover, .дом-макет .лента__ссылки a.тут{color:var(--графит);border-color:var(--медь)}
.дом-макет .лента__цена{margin-left:auto;display:flex;align-items:center;gap:20px;white-space:nowrap}
.дом-макет .лента__цифра{font-size:14px;font-weight:500}
.дом-макет .лента__цифра span{color:var(--серый);font-weight:400;margin-left:8px}
.дом-макет .лента__ход{height:40px;padding:0 22px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  background:var(--медь);color:#fff;display:inline-flex;align-items:center}
.дом-макет .лента__ход:hover{background:var(--медь-свет)}
@media(max-width:1180px){
.дом-макет .лента__цифра span{display:none}
}
@media(max-width:900px){
.дом-макет .лента__цена{display:none}
.дом-макет .лента__нутро{width:calc(100% - 40px);height:54px}
}
.дом-макет .раздел{padding:44px 0}
.дом-макет .раздел--крем{background:var(--крем)}
.дом-макет .раздел--графит{background:var(--графит);color:var(--крем)}
.дом-макет .шляпа{display:flex;align-items:flex-end;gap:28px;margin-bottom:34px;flex-wrap:wrap}
.дом-макет .шляпа__номер{font-size:11px;letter-spacing:.2em;color:var(--медь);font-weight:500}
.дом-макет .шляпа h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(28px,3.4vw,46px);line-height:1.08;flex:1;min-width:260px}
.дом-макет .шляпа__сбоку{font-size:14px;color:var(--серый);max-width:38ch}
/* Метка над пояснением: без неё жирная строка слипалась со следующей
   фразой в одно предложение. Правило было в утверждённой пробе и
   потерялось при переносе — вернули 7 сентября 2026. */
.дом-макет .шляпа__метка{display:block;margin-bottom:6px;font-size:11.5px;letter-spacing:.09em;
  text-transform:uppercase;color:var(--медь);font-weight:600}
.дом-макет .раздел--графит .шляпа__сбоку{color:rgba(244,241,236,.62)}
.дом-макет .цифры{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--линия);border:1px solid var(--линия)}
.дом-макет .цифры--3{grid-template-columns:repeat(3,1fr)}
/* Две цифры и одна: правила не было, и они стояли в сетке на четыре места
   с пустой серой половиной справа. Рассказа о доме нет: список шёл справа над
   пустотой. Замечание Константина 2 октября 2026 на Noble Row. */
.дом-макет .цифры--2{grid-template-columns:repeat(2,1fr)}
.дом-макет .цифры--1{grid-template-columns:1fr}
.дом-макет .о-дома__текст:empty{display:none}
.дом-макет .о-дома:has(>.о-дома__текст:empty){grid-template-columns:1fr}
.дом-макет .цифра{background:var(--бумага);padding:30px 26px}
.дом-макет .цифра b{display:block;font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;font-size:34px;line-height:1.1}
.дом-макет .цифра__что{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--медь);margin-top:10px}
.дом-макет .цифра__ещё{display:block;font-size:13px;color:var(--серый);margin-top:8px}
.дом-макет .оговорка{font-size:12px;color:var(--серый);margin-top:14px;max-width:88ch}
.дом-макет .о-дома{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:start}
.дом-макет .о__текст p,.дом-макет .о-дома__текст p{margin:0 0 20px;font-size:18px;line-height:1.7;color:#3A3733}
.дом-макет .о__текст p:first-child,.дом-макет .о-дома__текст p:first-child{font-family:'Cormorant Garamond',Georgia,serif;font-size:26px;line-height:1.42;color:var(--графит)}
.дом-макет .о__список,.дом-макет .о-дома__список{list-style:none;margin:0;padding:0;border-top:1px solid var(--линия)}
.дом-макет .о__список li,.дом-макет .о-дома__список li{display:flex;justify-content:space-between;gap:24px;padding:15px 0;border-bottom:1px solid var(--линия);font-size:15px}
.дом-макет .о__список b,.дом-макет .о-дома__список b{font-weight:500;text-align:right}
.дом-макет .о__доводы{list-style:none;margin:30px 0 0;padding:0;display:grid;gap:1px;background:var(--линия);border:1px solid var(--линия)}
.дом-макет .о__доводы li{background:var(--бумага);display:flex;gap:18px;align-items:baseline;padding:18px 22px}
.дом-макет .о__доводы b{font-family:'Cormorant Garamond',Georgia,serif;font-size:26px;font-weight:400;color:var(--медь);
  white-space:nowrap;min-width:104px;line-height:1}
.дом-макет .о__доводы span{font-size:14px;line-height:1.55;color:#3A3733}
.дом-макет .о__список span,.дом-макет .о-дома__список span{color:var(--серый)}
.дом-макет .галерея{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.дом-макет .кадр{margin:0;position:relative;cursor:zoom-in;overflow:hidden;background:var(--линия)}
.дом-макет .кадр--широкий{grid-column:span 4}
.дом-макет .кадр--узкий{grid-column:span 2}
.дом-макет .кадр--средний{grid-column:span 3}
.дом-макет .кадр--полный{grid-column:span 6}
.дом-макет .кадр--полный img{aspect-ratio:21/9}
.дом-макет .кадр img{width:100%;height:100%;object-fit:cover;aspect-ratio:3/2;transition:transform .8s ease}
.дом-макет .кадр:hover img{transform:scale(1.03)}
.дом-макет .кадр figcaption{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;
  gap:16px;padding:14px 18px;font-size:12px;color:#fff;
  background:linear-gradient(to top,rgba(13,12,11,.72),rgba(13,12,11,0));opacity:0;transition:opacity .3s}
.дом-макет .кадр:hover figcaption{opacity:1}
.дом-макет .кадр__лупа{letter-spacing:.14em;text-transform:uppercase;font-size:10px;color:var(--медь-свет)}
.дом-макет .планировки{display:grid;grid-template-columns:1.55fr .45fr;gap:48px;align-items:start}
.дом-макет .типы{width:100%;border-collapse:collapse}
.дом-макет .типы th{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--серый);
  font-weight:500;text-align:left;padding:0 16px 14px 0;border-bottom:1px solid var(--линия)}
.дом-макет .типы td{padding:22px 16px 22px 0;border-bottom:1px solid var(--линия);vertical-align:middle}
/* Пришли из каталога с конкретной квартиры — показываем, какая это строка.
   Подсветка гаснет сама, стоит перейти в другое место страницы. */
.дом-макет .типы tr{scroll-margin-top:96px}
.дом-макет .типы tr:target{background:var(--медь-тень)}
.дом-макет .типы tr:target td:first-child{box-shadow:inset 2px 0 0 var(--медь)}
.дом-макет .тип__имя{font-family:'Cormorant Garamond',Georgia,serif;font-size:24px}
.дом-макет .тип__метры{font-size:16px;white-space:nowrap}
.дом-макет .тип__цена{font-size:17px;font-weight:500;white-space:nowrap}
.дом-макет .тип__цена span{display:block;font-size:12px;font-weight:400;color:var(--серый);margin-top:5px}
.дом-макет .тип__метр{font-size:14px;color:var(--серый);white-space:nowrap}
.дом-макет .тип__ход{text-align:right}
.дом-макет .ссылка-ход{display:inline-flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--медь);white-space:nowrap}
.дом-макет .ссылка-ход svg{width:22px;height:8px;transition:transform .3s}
.дом-макет .ссылка-ход:hover svg{transform:translateX(4px)}
.дом-макет .форма{position:sticky;top:88px;background:var(--графит);color:var(--крем);padding:34px 30px}
.дом-макет .форма--светлая{background:var(--бумага);color:var(--графит);border:1px solid var(--линия)}
.дом-макет .форма h3{font-family:'Cormorant Garamond',Georgia,serif;font-size:26px;line-height:1.2}
.дом-макет .форма__зачем{font-size:14px;color:rgba(244,241,236,.66);margin:12px 0 24px}
.дом-макет .форма--светлая .форма__зачем{color:var(--серый)}
.дом-макет .поле{width:100%;height:50px;background:transparent;border:1px solid rgba(244,241,236,.26);
  color:inherit;padding:0 16px;font:inherit;font-size:15px;margin-bottom:12px}
.дом-макет .форма--светлая .поле{border-color:var(--линия)}
.дом-макет .поле:focus{outline:none;border-color:var(--медь-свет)}
.дом-макет .поле::placeholder{color:rgba(244,241,236,.42)}
.дом-макет .форма--светлая .поле::placeholder{color:#A7A199}
.дом-макет .форма .кнопка{width:100%;justify-content:center;margin-top:6px;padding:0 14px;letter-spacing:.1em}
.дом-макет .согласие{font-size:11px;line-height:1.5;color:rgba(244,241,236,.5);margin-top:14px}
.дом-макет .форма--светлая .согласие{color:var(--серый)}
.дом-макет .форма__довод{display:flex;gap:12px;margin-top:22px;padding-top:20px;border-top:1px solid rgba(244,241,236,.16);
  font-size:13px;line-height:1.5;color:rgba(244,241,236,.78)}
.дом-макет .форма--светлая .форма__довод{border-color:var(--линия);color:#3A3733}
.дом-макет .форма__довод b{color:var(--медь-свет);font-weight:500;white-space:nowrap;font-size:17px;line-height:1.2}
.дом-макет .форма--светлая .форма__довод b{color:var(--медь)}
.дом-макет .условия{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.дом-макет .оплата{display:flex;gap:10px;margin-bottom:34px}
.дом-макет .оплата__полоса{height:4px;background:var(--медь);opacity:.35}
.дом-макет .оплата__шаг:first-child .оплата__полоса{opacity:1}
.дом-макет .оплата__шаг:nth-child(2) .оплата__полоса{opacity:.7}
.дом-макет .оплата__доля{font-family:'Cormorant Garamond',Georgia,serif;font-size:30px;margin-top:14px}
.дом-макет .оплата__когда{font-size:12px;color:var(--серый);letter-spacing:.02em}
.дом-макет .раздел--графит .оплата__когда{color:rgba(244,241,236,.6)}
.дом-макет .строки{list-style:none;margin:0;padding:0}
.дом-макет .строки li{display:flex;justify-content:space-between;gap:24px;padding:15px 0;border-bottom:1px solid rgba(244,241,236,.14);font-size:15px}
.дом-макет .строки li span{color:rgba(244,241,236,.6)}
.дом-макет .строки li b{font-weight:500;text-align:right}
.дом-макет .довод{background:color-mix(in srgb,var(--медь) 13%,transparent);border-left:2px solid var(--медь);padding:22px 26px;margin-top:30px;font-size:15px;line-height:1.6}
.дом-макет .довод b{color:var(--медь-свет);font-weight:500}
.дом-макет .удобства{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fill,minmax(228px,1fr));gap:14px}
.дом-макет .удобство{background:var(--бумага);border:1px solid var(--линия);
  display:flex;flex-direction:column;align-items:flex-start;gap:20px;
  padding:26px 24px 24px;min-height:158px;font-size:16.5px;line-height:1.32;
  transition:border-color .2s ease,box-shadow .2s ease}
.дом-макет .удобство:hover{border-color:var(--медь);box-shadow:0 8px 26px rgba(13,12,11,.07)}
.дом-макет .удобство__знак{width:54px;height:54px;flex:none;display:flex;
  align-items:center;justify-content:center;border-radius:50%;
  border:1px solid var(--линия);background:#fff;color:var(--медь)}
.дом-макет .удобство__знак svg{width:27px;height:27px}
.дом-макет .удобство__имя{margin-top:auto}
@media(max-width:560px){
.дом-макет .удобства{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.дом-макет .удобство{min-height:132px;padding:20px 18px;font-size:15px;gap:14px}
.дом-макет .удобство__знак{width:44px;height:44px}
.дом-макет .удобство__знак svg{width:23px;height:23px}
}
.дом-макет .место{display:grid;grid-template-columns:1fr 340px;gap:0;border:1px solid var(--линия)}
.дом-макет #карта{height:560px;background:var(--крем);z-index:1}
.дом-макет .место__бок{padding:32px 30px;border-left:1px solid var(--линия);display:flex;flex-direction:column}
/* Рассказ о районе стоит рядом с картой, поэтому колонка шире обычной. */
.дом-макет .место--рассказ{grid-template-columns:1fr 470px}
/* Карта тянется на всю высоту рассказа. Заведено 7 сентября 2026: рассказ о
   районе длиннее карты, и под картой оставалось пустое поле в двести с лишним
   точек. Соотношение сторон здесь снимаем, высоту задаёт соседняя колонка. */
@media (min-width:901px){
.дом-макет .место--рассказ{align-items:stretch}
.дом-макет .место--рассказ .место__карта{aspect-ratio:auto;align-self:stretch;
  height:100%;max-height:min(820px,calc(100vh - 110px));position:sticky;top:80px}
}
.дом-макет .место__рассказ{margin-top:22px;padding-top:20px;border-top:1px solid var(--линия)}
.дом-макет .место__рассказ>*:first-child{margin-top:0}
.дом-макет .место__рассказ p{margin:16px 0 0;font-size:16px;line-height:1.6;color:var(--тише)}
.дом-макет .место__рассказ .авт-пункты{margin:0;max-width:none;gap:9px}
.дом-макет .место__рассказ .авт-пункты li{font-size:15.5px;line-height:1.5}
.дом-макет .место__адрес{font-family:'Cormorant Garamond',Georgia,serif;font-size:24px;line-height:1.25}
.дом-макет .место__район{font-size:13px;color:var(--серый);margin-top:8px}
.дом-макет .рядом{list-style:none;margin:26px 0 0;padding:0;border-top:1px solid var(--линия)}
.дом-макет .рядом li{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--линия);
  font-size:14px}
.дом-макет .рядом__путь{color:var(--серый);white-space:nowrap;font-variant-numeric:tabular-nums}
.дом-макет .место__низ{margin-top:auto;padding-top:26px;display:flex;flex-direction:column;gap:10px}
.дом-макет .место__низ a{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--медь);
  display:inline-flex;align-items:center;gap:10px}
.дом-макет .место__низ a svg{width:22px;height:8px}
.дом-макет .карта__подсказка{font-size:12px;color:var(--серый);margin-top:14px}
.дом-макет .карта-короб{position:relative}
.дом-макет .leaflet-container{font:inherit;background:var(--крем)}
.дом-макет .leaflet-control-attribution{font-size:10px;background:rgba(250,248,245,.86)}
.дом-макет .leaflet-control-attribution a{color:var(--медь)}
.дом-макет .leaflet-bar a{color:var(--графит);border-bottom-color:var(--линия)}
.дом-макет .знак-дома{display:block;width:64px;height:64px;padding:3px;background:#fff;
  box-shadow:0 4px 16px rgba(13,12,11,.34)}
.дом-макет .знак-дома img{display:block;width:100%;height:100%;object-fit:cover}
.дом-макет .знак-дома::after{content:"";position:absolute;left:50%;bottom:-7px;width:12px;height:12px;
  transform:translateX(-50%) rotate(45deg);background:#fff;
  box-shadow:3px 3px 8px rgba(13,12,11,.18)}
.дом-макет .знак-дома{position:relative}
.дом-макет .подпись-дома.leaflet-tooltip{font-size:12px;font-weight:500;letter-spacing:.04em;
  text-transform:uppercase;padding:4px 11px;border:0;border-radius:0;
  background:var(--графит);color:var(--крем);box-shadow:0 3px 12px rgba(13,12,11,.3)}
.дом-макет .подпись-дома.leaflet-tooltip::before{display:none}
.дом-макет .знак-рядом{display:flex;align-items:center;justify-content:center;
  width:30px;height:30px;border-radius:50%;background:#fff;
  border:1.5px solid currentColor;box-shadow:0 2px 8px rgba(13,12,11,.28)}
.дом-макет .знак-рядом svg{width:16px;height:16px;fill:none;stroke:currentColor;
  stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.дом-макет .знак-рядом.метро{color:var(--графит)}
.дом-макет .знак-рядом.вода{color:#5A7E86}
.дом-макет .знак-рядом.город{color:var(--медь)}
.дом-макет .leaflet-marker-icon:hover .знак-рядом{transform:scale(1.1);transition:transform .1s}
.дом-макет .подпись-рядом.leaflet-tooltip{font-size:12px;line-height:1.35;padding:5px 10px;
  border:1px solid var(--линия);border-radius:0;background:var(--бумага);
  color:var(--графит);box-shadow:0 4px 14px rgba(13,12,11,.16);white-space:nowrap}
.дом-макет .подпись-рядом b{font-weight:500}
.дом-макет .подпись-рядом.leaflet-tooltip-top::before{border-top-color:var(--линия)}
.дом-макет .карта-слои{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.дом-макет .слой-карты{display:inline-flex;align-items:center;gap:8px;cursor:pointer;
  font-family:inherit;font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  padding:9px 14px;background:transparent;border:1px solid var(--линия);color:var(--серый);
  transition:color .18s,border-color .18s,background .18s}
.дом-макет .слой-карты svg{width:15px;height:15px;flex:none;fill:none;stroke:currentColor;
  stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;opacity:.5}
.дом-макет .слой-карты .сколько{font-variant-numeric:tabular-nums;opacity:.6;letter-spacing:0}
.дом-макет .слой-карты:hover{color:var(--графит);border-color:var(--серый)}
.дом-макет .слой-карты.горит{color:var(--графит);border-color:var(--графит);background:#fff}
.дом-макет .слой-карты.горит svg{opacity:1}
.дом-макет .слой-карты.всё{color:var(--медь);border-style:dashed}
.дом-макет .слой-карты.всё.горит{color:var(--медь);border-style:solid;border-color:var(--медь);background:transparent}
.дом-макет .слой-карты.школы svg, .дом-макет .знак-рядом.школы{color:#4f7a8c}
.дом-макет .слой-карты.сады svg, .дом-макет .знак-рядом.сады{color:#b0714f}
.дом-макет .слой-карты.здоровье svg, .дом-макет .знак-рядом.здоровье{color:#b1524f}
.дом-макет .слой-карты.аптеки svg, .дом-макет .знак-рядом.аптеки{color:#9c5b8a}
.дом-макет .слой-карты.магазины svg, .дом-макет .знак-рядом.магазины{color:#855e4b}
.дом-макет .слой-карты.торговые svg, .дом-макет .знак-рядом.торговые{color:#6f6a9c}
.дом-макет .слой-карты.кафе svg, .дом-макет .знак-рядом.кафе{color:#c07a2c}
.дом-макет .слой-карты.спорт svg, .дом-макет .знак-рядом.спорт{color:#3f639a}
.дом-макет .слой-карты.парки svg, .дом-макет .знак-рядом.парки{color:#4d7a3c}
.дом-макет .слой-карты.культура svg, .дом-макет .знак-рядом.культура{color:#6b4fa0}
.дом-макет .слой-карты.площадки svg, .дом-макет .знак-рядом.площадки{color:#c25f8a}
.дом-макет .слой-карты.транспорт svg, .дом-макет .знак-рядом.транспорт{color:#16161A}
.дом-макет .слой-карты.пляжи svg, .дом-макет .знак-рядом.пляжи{color:#5A7E86}
@media (max-width:900px){
.дом-макет .карта-слои{flex-wrap:nowrap;overflow-x:auto;gap:6px;padding-bottom:4px;
    scrollbar-width:none;-webkit-overflow-scrolling:touch}
.дом-макет .карта-слои::-webkit-scrollbar{display:none}
.дом-макет .слой-карты{flex:none;padding:8px 12px}
}
.дом-макет .карта-намёк{position:absolute;left:14px;top:14px;z-index:400;pointer-events:none;
  font-size:11px;letter-spacing:.04em;line-height:1;padding:7px 12px;
  background:rgba(250,248,245,.94);color:var(--серый);
  box-shadow:0 2px 8px rgba(13,12,11,.14);transition:opacity .2s}
.дом-макет .карта-намёк.тихо{opacity:.6}
.дом-макет .карта-намёк{max-width:calc(100% - 90px)}
@media (hover:none){
.дом-макет .карта-намёк{display:none}
}
@media (max-width:640px){
.дом-макет .карта-намёк{display:none}
}
.дом-макет .стройка{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(244,241,236,.16);
  border:1px solid rgba(244,241,236,.16)}
.дом-макет .веха{background:var(--графит);padding:28px 24px}
.дом-макет .веха b{display:block;font-family:'Cormorant Garamond',Georgia,serif;font-size:26px;font-weight:400}
.дом-макет .веха span{display:block;font-size:13px;color:rgba(244,241,236,.6);margin-top:10px}
.дом-макет .веха--было b{color:var(--медь-свет)}
.дом-макет .готовность{margin-top:36px}
.дом-макет .готовность__шкала{height:3px;background:rgba(244,241,236,.18);position:relative}
.дом-макет .готовность__часть{position:absolute;left:0;top:0;bottom:0;background:var(--медь)}
.дом-макет .готовность__подпись{display:flex;justify-content:space-between;font-size:12px;color:rgba(244,241,236,.6);margin-top:12px}
.дом-макет .кто{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:center}
.дом-макет .кто__кадр img{width:100%;aspect-ratio:4/5;object-fit:cover}
.дом-макет .кто__цифры{display:flex;gap:44px;margin-top:30px;flex-wrap:wrap}
.дом-макет .кто__цифра b{display:block;font-family:'Cormorant Garamond',Georgia,serif;font-size:32px}
.дом-макет .кто__цифра span{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--серый)}
.дом-макет .соседи{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.дом-макет .сосед__кадр{overflow:hidden;background:var(--линия)}
.дом-макет .сосед__кадр img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .8s}
.дом-макет .сосед:hover .сосед__кадр img{transform:scale(1.04)}
.дом-макет .сосед__низ{padding:20px 2px 0}
.дом-макет .сосед__имя{font-family:'Cormorant Garamond',Georgia,serif;font-size:22px}
.дом-макет .сосед__кто{font-size:13px;color:var(--серый);margin-top:6px}
.дом-макет .сосед__цена{margin-top:14px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--медь);
  display:flex;align-items:center;gap:10px}
.дом-макет .сосед__цена svg{width:22px;height:8px;transition:transform .3s}
.дом-макет .сосед:hover .сосед__цена svg{transform:translateX(4px)}
/* «Рядом»: под заголовком стояла пустота в сотню точек и черта. Это
   отступ и рамка старого списка соседей из общего стиля страниц, макету
   они не нужны. Текст карточки стоял впритык к краю: у скруглённого угла
   первая цифра цены резалась, низ цены обрезала сама карточка. Даём тексту
   поле внутри карточки. Слова Константина 9 октября 2026: «превью кривые,
   цена обрезается». */
.дом-макет .соседи{margin-top:0;padding-top:0;border-top:0}
.дом-макет .сосед{overflow:hidden}
.дом-макет .сосед__низ{padding:20px 22px 22px}
.дом-макет .сосед__цена{line-height:1.4;padding-bottom:2px}
.дом-макет .зов{display:grid;grid-template-columns:1fr 460px;gap:64px;align-items:center}
.дом-макет .зов h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(30px,3.6vw,50px);line-height:1.08}
.дом-макет .зов__текст{margin-top:20px;font-size:17px;color:rgba(244,241,236,.72);max-width:46ch}
.дом-макет .зов__пункты{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:12px}
.дом-макет .зов__пункты li{display:flex;gap:12px;font-size:15px;color:rgba(244,241,236,.82)}
.дом-макет .зов__пункты li:before{content:'';width:5px;height:5px;background:var(--медь);margin-top:9px;flex:none}
.дом-макет .полоска{position:fixed;left:0;right:0;bottom:0;z-index:55;background:rgba(22,22,26,.97);color:#fff;
  backdrop-filter:blur(8px);transform:translateY(105%);transition:transform .4s ease}
.дом-макет .полоска.видна{transform:none}
.дом-макет .полоска__нутро{width:min(1440px,100% - 96px);margin:0 auto;display:flex;align-items:center;gap:26px;height:70px}
.дом-макет .полоска__цена{font-family:'Cormorant Garamond',Georgia,serif;font-size:26px;white-space:nowrap}
.дом-макет .полоска__цена span{font-family:'Museo Sans Cyrl',sans-serif;font-size:12px;color:rgba(255,255,255,.6);margin-left:12px}
.дом-макет .полоска__ходы{margin-left:auto;display:flex;gap:12px}
.дом-макет .полоска .кнопка{height:44px;padding:0 22px}
.дом-макет .лупа{position:fixed;inset:0;z-index:90;background:rgba(13,12,11,.94);display:none;
  align-items:center;justify-content:center;flex-direction:column;gap:20px;padding:40px}
.дом-макет .лупа.открыта{display:flex}
.дом-макет .лупа img{max-width:100%;max-height:82vh;object-fit:contain}
.дом-макет .лупа__подпись{font-size:13px;color:rgba(255,255,255,.7)}
.дом-макет .лупа__закрыть{position:absolute;top:26px;right:32px;width:40px;height:40px;border:1px solid rgba(255,255,255,.4);
  background:transparent;color:#fff;font-size:22px;cursor:pointer;line-height:1}
.дом-макет .лупа__шаг{position:absolute;top:50%;width:52px;height:52px;margin-top:-26px;border:1px solid rgba(255,255,255,.35);
  background:transparent;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}
.дом-макет .лупа__шаг svg{width:26px;height:8px}
.дом-макет .лупа__шаг--лево{left:26px}
.дом-макет .лупа__шаг--право{right:26px}
@media(max-width:900px){
.дом-макет{font-size:16px}
.дом-макет .герой{height:92svh;min-height:540px}
.дом-макет .герой__низ{height:60%;background:linear-gradient(to top,rgba(13,12,11,.94) 0%,rgba(13,12,11,.86) 22%,rgba(13,12,11,.55) 48%,rgba(13,12,11,.16) 74%,rgba(13,12,11,0) 100%)}
.дом-макет .герой__лево{width:100%;background:linear-gradient(120deg,rgba(13,12,11,.28) 0%,rgba(13,12,11,.1) 55%,rgba(13,12,11,0) 100%)}
.дом-макет .герой__нутро{padding-bottom:26px}
.дом-макет .герой__крошки{display:none}
.дом-макет .герой h1{font-size:clamp(27px,7.4vw,34px);max-width:none;line-height:1.1}
.дом-макет .герой__ряд{gap:18px;margin-top:20px}
.дом-макет .герой__цена{font-size:27px}
.дом-макет .герой__ходы{margin-left:0;width:100%}
.дом-макет .герой__ходы .кнопка{flex:1;justify-content:center;padding:0 10px;height:48px;font-size:10px;letter-spacing:.06em;text-align:center}
.дом-макет .герой__ходы .кнопка svg{display:none}
.дом-макет .герой__строка{margin-bottom:16px}
.дом-макет .герой__подпись{font-size:11px}
.дом-макет .раздел{padding:36px 0}
.дом-макет .шляпа{margin-bottom:30px;gap:14px}
.дом-макет .цифры{grid-template-columns:1fr 1fr}
.дом-макет .цифры--1{grid-template-columns:1fr}
.дом-макет .о-дома, .дом-макет .условия, .дом-макет .кто, .дом-макет .зов, .дом-макет .планировки{grid-template-columns:1fr;gap:34px}
.дом-макет .галерея{grid-template-columns:repeat(2,1fr);gap:10px}
.дом-макет .кадр--широкий, .дом-макет .кадр--узкий, .дом-макет .кадр--средний, .дом-макет .кадр--полный{grid-column:span 2}
.дом-макет .кадр--полный img{aspect-ratio:16/9}
.дом-макет .кадр:nth-child(n+4){grid-column:span 1}
/* В ладони кадры идут парами, и при чётном их числе последний оставался
   половинкой с пустотой справа — ряд читался как недогруженная страница.
   Последний кадр в такой паре растягиваем на всю ширину. */
.дом-макет .кадр:nth-child(n+4):nth-child(even):last-child{grid-column:span 2}
.дом-макет .кадр figcaption{opacity:1;background:linear-gradient(to top,rgba(13,12,11,.8),rgba(13,12,11,0))}
.дом-макет .типы thead{display:none}
.дом-макет .типы, .дом-макет .типы tbody, .дом-макет .типы tr, .дом-макет .типы td{display:block;width:100%}
.дом-макет .типы tr{border-bottom:1px solid var(--линия);padding:20px 0}
.дом-макет .типы td{border:0;padding:3px 0}
.дом-макет .тип__ход{text-align:left;margin-top:12px}
.дом-макет .форма{position:static}
.дом-макет .удобство{flex-basis:44%;min-width:0}
.дом-макет .место{grid-template-columns:1fr;min-width:0}
/* Кадр карты держал соотношение сторон и не давал себя сузить: на телефоне
   он требовал 376 точек, и вся страница дома ехала вбок — до правки её можно
   было утащить пальцем на 77 точек при экране в 320. Разрешаем кадру сжиматься
   по ширине экрана; высоту держит min-height, картинка внутри лежит
   absolute и просто подрезается по краям, как и задумано. 6 сентября 2026. */
.дом-макет .место__карта{min-width:0}
.дом-макет #карта{height:400px}
.дом-макет .метка:not(.метка--свой) .метка__имя{display:none}
.дом-макет .место__бок{border-left:0;border-top:1px solid var(--линия);padding:24px 20px}
.дом-макет .стройка{grid-template-columns:1fr 1fr}
.дом-макет .соседи{grid-template-columns:1fr}
.дом-макет .полоска__нутро{width:calc(100% - 24px);height:64px;gap:12px}
.дом-макет .полоска__цена{font-size:19px}
.дом-макет .полоска__цена span{display:none}
.дом-макет .полоска .кнопка{padding:0 16px;font-size:10px;letter-spacing:.1em}
.дом-макет .лупа__шаг{display:none}
}

/* Нижняя полоска на телефоне. Цена, «Фотографии» и «Свободные квартиры»
   вместе требуют около 456 точек, а на экране в 390 полоске отведено 366:
   ряд не помещался и раздвигал всю страницу дома — её можно было утащить
   вбок пальцем. Убираем из полоски «Фотографии»: галерея и так открывается
   выше по странице, а главный ход — «Свободные квартиры» — остаётся на месте
   и жмётся пальцем так же легко. Заведено 6 сентября 2026. */
@media(max-width:560px){
.дом-макет .полоска__нутро{min-width:0;overflow:hidden}
.дом-макет .полоска__ходы{min-width:0;flex:0 1 auto}
.дом-макет .полоска .кнопка--стекло{display:none}
.дом-макет .полоска__цена{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}
.дом-макет .cls-1, .дом-макет .cls-2{fill:var(--лого,#C28B71)}
.дом-макет .cls-2{fill-rule:evenodd}
.дом-макет .cls-1, .дом-макет .cls-2{fill:var(--лого,#C28B71)}
.дом-макет .cls-2{fill-rule:evenodd}
.дом-макет .развороты{display:flex;flex-direction:column;gap:96px;margin-top:64px}
.дом-макет .разворот{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.дом-макет .разворот--справа .разворот__слово{order:2}
.дом-макет .разворот__кадр img{width:100%;height:auto;display:block;border-radius:2px}
.дом-макет .разворот__кадр figcaption{margin-top:12px;font-size:13px;color:var(--серый)}
.дом-макет .разворот h3{font-size:30px;line-height:1.25;margin-bottom:18px}
.дом-макет .разворот p{margin:0 0 14px}
.дом-макет .разворот ul{list-style:none;padding:0;margin:22px 0 0}
.дом-макет .разворот ul li{position:relative;padding-left:26px;margin-bottom:10px;font-size:16px}
.дом-макет .разворот ul li:before{content:'';position:absolute;left:0;top:9px;width:12px;height:2px;background:var(--медь)}
@media(max-width:900px){
.дом-макет .разворот{grid-template-columns:1fr;gap:26px}
.дом-макет .разворот--справа .разворот__слово{order:0}
}
.дом-макет .доводы-плитки{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.14);
  margin-top:56px;border:1px solid rgba(255,255,255,.14)}
.дом-макет .довод-плитка{background:var(--графит);padding:30px 26px;min-height:190px}
.дом-макет .довод-плитка b{display:block;font-weight:400;font-size:20px;margin-bottom:12px}
.дом-макет .довод-плитка span{font-size:15px;line-height:1.55;color:rgba(255,255,255,.66)}
@media(max-width:1000px){
.дом-макет .доводы-плитки{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
.дом-макет .доводы-плитки{grid-template-columns:1fr}
}
.дом-макет .планировки{display:grid;grid-template-columns:1.55fr 1fr;gap:56px;align-items:start;margin-top:52px}
@media(max-width:1000px){
.дом-макет .планировки{grid-template-columns:1fr;gap:34px}
}
.дом-макет .планы-верх{display:flex;justify-content:space-between;align-items:baseline;gap:24px;
  flex-wrap:wrap;margin-top:44px;padding-bottom:14px;border-bottom:1px solid var(--линия)}
.дом-макет .назад-к-квартирам{font-size:14px;color:var(--медь);text-decoration:none;border-bottom:1px solid transparent}
.дом-макет .назад-к-квартирам:hover{border-bottom-color:var(--медь)}
.дом-макет .планы-подсказка{font-size:13px;color:var(--серый)}
.дом-макет .планы{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:28px}
@media(max-width:1000px){
.дом-макет .планы{grid-template-columns:repeat(3,1fr);gap:14px}
}
@media(max-width:640px){
.дом-макет .планы{grid-template-columns:repeat(2,1fr)}
}
.дом-макет .план{margin:0;background:#fff;border:1px solid var(--линия);padding:12px;cursor:zoom-in;
  position:relative;transition:border-color .2s}
.дом-макет .план:hover{border-color:var(--медь)}
.дом-макет .план--под-катом{display:none}
.дом-макет .план img{width:100%;height:auto;aspect-ratio:430/380;object-fit:contain;background:#fff}
.дом-макет .план figcaption{margin-top:8px;font-size:12px;line-height:1.4;color:var(--серый);text-align:center}
.дом-макет .план__лупа{display:block;margin-top:4px;letter-spacing:.14em;text-transform:uppercase;
  font-size:9px;color:var(--медь);opacity:0;transition:opacity .2s}
.дом-макет .план:hover .план__лупа{opacity:1}
.дом-макет .планы-низ{display:flex;gap:16px;flex-wrap:wrap;align-items:center;margin-top:36px}
@media(max-width:640px){
.дом-макет .планы-низ .кнопка{width:100%;text-align:center;justify-content:center}
}
.дом-макет .лупа--план img{background:#fff;padding:28px;max-height:78vh}
.дом-макет .назад-на-карту{display:inline-flex;align-items:center;gap:9px;margin-bottom:18px;
  padding:10px 18px;border:1px solid rgba(255,255,255,.45);border-radius:999px;color:#fff;text-decoration:none;
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  background:rgba(13,12,11,.32);backdrop-filter:blur(8px);transition:background .2s,border-color .2s}
.дом-макет .назад-на-карту:hover{background:var(--медь);border-color:var(--медь)}
/* Ходы на карту стали кнопками: карта разворачивается здесь же. Внешне
   ничего не меняется — браузерный вид кнопки сбрасываем. */
.дом-макет button.назад-на-карту,.дом-макет button.полоска__назад{
  cursor:pointer;font-family:inherit;line-height:inherit}
.дом-макет button.полоска__назад{background:none;border:0;padding:0}
.дом-макет .герой__крошки a{color:inherit;text-decoration:none;border-bottom:1px solid transparent}
.дом-макет .герой__крошки a:hover{border-bottom-color:currentColor}
.дом-макет .место__на-карту{margin-top:22px;display:inline-flex}
.дом-макет .полоска__назад{display:inline-flex;align-items:center;gap:8px;margin-right:22px;
  color:rgba(255,255,255,.72);text-decoration:none;font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;white-space:nowrap;transition:color .2s}
.дом-макет .полоска__назад:hover{color:var(--медь)}
@media(max-width:700px){
.дом-макет .полоска__назад span{display:none}
.дом-макет .полоска__назад{margin-right:12px;font-size:15px}
}
.дом-макет .ипотека{list-style:none;padding:0;margin:0 0 28px;display:grid;grid-template-columns:1fr 1fr;gap:1px;
  background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.14)}
.дом-макет .ипотека li{background:var(--графит);padding:26px 24px}
.дом-макет .ипотека b{display:block;font-weight:400;font-size:19px;margin-bottom:10px;color:var(--медь-свет)}
.дом-макет .ипотека span{font-size:15px;line-height:1.55;color:rgba(255,255,255,.66)}
@media(max-width:700px){
.дом-макет .ипотека{grid-template-columns:1fr}
}
.дом-макет .удобства--инж{display:grid;grid-template-columns:repeat(2,1fr);gap:28px 44px;list-style:none;
  padding:0;margin-top:52px;background:none;border:0}
@media(max-width:800px){
.дом-макет .удобства--инж{grid-template-columns:1fr}
}
.дом-макет .инж{display:flex;gap:18px;align-items:flex-start}
.дом-макет .инж b{display:block;font-weight:400;font-size:19px;margin-bottom:8px}
.дом-макет .инж p{margin:0;font-size:15.5px;line-height:1.55;color:var(--серый)}
.дом-макет .инж__клиенту{margin-top:10px!important;padding-left:14px;border-left:2px solid var(--медь);
  color:var(--графит)!important;font-size:15px!important}
.дом-макет .место--без-карты{grid-template-columns:1fr 1.4fr!important}
.дом-макет .место__карта{position:relative;overflow:hidden;aspect-ratio:1/.72;
background:var(--бумага);min-height:320px}
.дом-макет .место__карта img{position:absolute;max-width:none;height:auto;
transform:translateZ(0)}
/* Кружок посреди кадра не отвечал на вопрос «где дом»: рядом стояли
   такие же дома, а подписи не было вовсе. Теперь на подошве дома стоит
   булавка с его именем, а края кадра уходят в дымку — глаз идёт в центр. */
.дом-макет .место__дымка{position:absolute;inset:0;pointer-events:none;
background:radial-gradient(ellipse 42% 52% at 50% 50%,rgba(244,241,236,0) 0%,
rgba(244,241,236,0) 52%,rgba(244,241,236,.5) 76%,rgba(244,241,236,.82) 100%)}
.дом-макет .место__метка{position:absolute;left:50%;top:50%;transform:translate(-50%,0);
display:flex;flex-direction:column;align-items:center;pointer-events:none;z-index:2}
.дом-макет .место__имя{position:absolute;bottom:34px;white-space:nowrap;
background:var(--медь);color:#fff;font-size:12.5px;font-weight:500;
letter-spacing:.06em;text-transform:uppercase;padding:8px 15px;
box-shadow:0 6px 20px rgba(13,12,11,.28)}
.дом-макет .место__имя::after{content:"";position:absolute;left:50%;bottom:-5px;
width:10px;height:10px;transform:translateX(-50%) rotate(45deg);background:var(--медь)}
/* Кружок с фасадом дома. Белое кольцо отделяет кадр от карты, тень держит
   его над рисунком: без них тёмный фасад сливался с кварталом. */
.дом-макет .место__кружок{position:absolute;bottom:30px;width:64px;height:64px;
border-radius:50%;overflow:hidden;background:var(--лист);
box-shadow:0 0 0 3px #fff,0 0 0 4px rgba(150,103,127,.35),0 8px 22px rgba(13,12,11,.32)}
.дом-макет .место__кружок img{width:100%;height:100%;object-fit:cover;display:block}
.дом-макет .место__ножка{position:absolute;bottom:9px;width:2px;height:26px;
background:var(--медь);opacity:.9}
.дом-макет .место__точка{position:absolute;bottom:-7px;width:15px;height:15px;
border-radius:50%;background:var(--медь);border:3px solid #fff;
box-shadow:0 0 0 5px rgba(150,103,127,.20),0 0 0 13px rgba(150,103,127,.09),
0 3px 12px rgba(13,12,11,.35)}
.дом-макет .авт-место{display:grid;grid-template-columns:1.15fr 1fr;gap:34px;
align-items:start;margin:26px 0 8px}
.дом-макет .авт-место__карта .место__карта{border:1px solid var(--линия);
aspect-ratio:1/.82;min-height:340px}
.дом-макет .авт-место__текст>*:first-child{margin-top:0}
@media(max-width:900px){
.дом-макет .авт-место{grid-template-columns:1fr;gap:22px}
.дом-макет .авт-место__карта .место__карта{min-height:300px}
}
/* Карта стояла жёстким прямоугольником, а текст рядом бывает длиннее — под
   картой зияла пустота в треть блока. На широком экране отпускаем высоту:
   карта тянется ровно на столько, сколько занял текст справа. Ниже 340 не
   сжимается, выше 600 не растёт — иначе у самых длинных рассказов карта
   выходила во весь рост человека. 7 сентября 2026. */
.дом-макет .место__шире{position:absolute;left:20px;bottom:20px;display:inline-flex;
align-items:center;gap:8px;height:40px;padding:0 18px;background:rgba(250,248,245,.94);
border:1px solid var(--линия);font-size:12px;letter-spacing:.08em;
text-transform:uppercase;color:var(--чернила);text-decoration:none}
.дом-макет .место__шире:hover{background:#fff}
.дом-макет button.место__шире{cursor:pointer;font-family:inherit}
/* Пока карта едет, на месте стоит вырезка из листа: пустое серое окно на
   треть экрана читалось бы как поломка. Приехала — вырезка гаснет. */
.дом-макет .место__рамка{position:absolute;inset:0;width:100%;height:100%;
border:0;opacity:0;transition:opacity .5s ease;z-index:1}
/* Плоская карта города — то, что человек видит в окошке. Объёмная приезжает
   только по кнопке, и показываем её лишь в развороте. */
.дом-макет .место__лист{position:absolute;inset:0;z-index:1;
opacity:0;transition:opacity .5s ease;background:var(--бумага)}
.дом-макет .место__карта.готова .место__лист{opacity:1}
.дом-макет .место__карта--во-весь .место__лист,
.дом-макет .место__карта--во-весь .место__намёк{display:none}
/* Объёмная карта живёт только в развороте. Свернули — она не просто уходит
   с глаз, а прячется целиком: невидимый, но живой рисунок продолжал бы
   крутиться и греть телефон. */
.дом-макет .место__карта--во-весь.объём .место__рамка{opacity:1}
.дом-макет .место__карта:not(.место__карта--во-весь) .место__рамка{display:none}
.дом-макет .место__карта.готова .место__подложка,
.дом-макет .место__карта.готова .место__дымка,
.дом-макет .место__карта.готова .место__метка:not(.место__метка--живая){
opacity:0;transition:opacity .45s ease}
/* Пока карта едет, окно ровное: булавка над пустым полем читалась бы как
   ошибка. Появляются вместе — карта и метка на ней. */
.дом-макет .место__карта--живая[data-ш]:not(.готова) .место__метка{opacity:0}
/* Булавка на живой карте. */
.дом-макет .место__метка--живая{position:relative;left:auto;top:auto;
transform:none;width:0;height:0}
.дом-макет .место__метка--живая .место__имя,
.дом-макет .место__метка--живая .место__кружок,
.дом-макет .место__метка--живая .место__ножка,
.дом-макет .место__метка--живая .место__точка{left:50%;transform:translateX(-50%)}
/* Намёк про колесо. Пока не нажали, колесо прокручивает страницу, а не карту:
   иначе человек застревает в карте на полпути вниз. */
.дом-макет .место__намёк{position:absolute;left:14px;top:14px;z-index:3;
pointer-events:none;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;
padding:7px 12px;background:rgba(250,248,245,.94);border:1px solid var(--линия);
color:var(--серый);transition:opacity .25s ease}
.дом-макет .место__карта:not(.готова) .место__намёк{opacity:0}
.дом-макет .место__намёк.тихо{opacity:0}
@media (hover:none){.дом-макет .место__намёк{display:none}}
/* Собственные стили движка карты не должны спорить с макетом. */
.дом-макет .место__лист .leaflet-container{font-family:inherit;background:var(--бумага)}
.дом-макет .место__лист .leaflet-control-attribution{font-size:10px}
.дом-макет .место__лист .leaflet-control-zoom a{color:var(--чернила)}
.дом-макет .место__карта--живая .место__шире{z-index:3}
.дом-макет .место__карта--во-весь{position:fixed;inset:0;z-index:120;
aspect-ratio:auto!important;min-height:0!important;border:0!important;
width:auto;height:auto;background:var(--бумага)}
body.карта-развёрнута{overflow:hidden}
/* Развернули карту — кнопка выхода переезжает наверх справа. Внизу слева её
   закрывала плашка про куки, и человек оставался в карте без видимого выхода:
   свернуть можно было только клавишей, о которой никто не знает. */
.дом-макет .место__карта--во-весь .место__шире{top:142px;right:24px;left:auto;bottom:auto;
z-index:130;box-shadow:0 6px 24px rgba(20,18,16,.16)}
@media (max-width:860px){
.дом-макет .место__карта--во-весь .место__шире{top:14px;right:12px}
}
.дом-макет .место__шире svg{width:14px;height:14px}
.дом-макет .планировки--пришлём{grid-template-columns:1fr .8fr}
.дом-макет .пришлём h3{font-size:26px;margin:0 0 22px}
.дом-макет .пришлём ul{list-style:none;margin:0 0 26px;padding:0;
border-top:1px solid var(--линия)}
.дом-макет .пришлём li{display:grid;grid-template-columns:200px 1fr;gap:24px;
padding:18px 0;border-bottom:1px solid var(--линия)}
.дом-макет .пришлём li b{font-weight:500}
.дом-макет .пришлём li span{color:var(--серый)}
@media(max-width:900px){
.дом-макет .место__карта{aspect-ratio:1/.85}
.дом-макет .планировки--пришлём{grid-template-columns:1fr}
.дом-макет .пришлём li{grid-template-columns:1fr;gap:4px}
}
.дом-макет .вокруг{display:grid;grid-template-columns:repeat(2,1fr);gap:34px;margin-top:30px}
.дом-макет .вокруг--один{grid-template-columns:1fr;max-width:none}
/* Плашка из статьи внизу раздела: своя рамка у неё уже есть, второй раз
   обводить и отбивать сверху не надо. */
.дом-макет .вокруг__столб--честно .авт-честно{margin:0;max-width:none}
.дом-макет .вокруг__столб--честно .авт-честно li{padding:7px 0 7px 20px}
.дом-макет .вокруг__столб b{display:block;font-weight:400;font-size:15px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--медь);margin-bottom:14px}
.дом-макет .вокруг__столб ul{list-style:none;padding:0;margin:0}
.дом-макет .вокруг__столб li{font-size:15.5px;line-height:1.5;padding:7px 0;border-bottom:1px solid var(--линия)}
@media(max-width:800px){
.дом-макет .вокруг{grid-template-columns:1fr}
}
.дом-макет .тип__сколько{display:block;font-size:13px;color:var(--серый);margin-top:4px}
.дом-макет .источник{margin-top:14px;font-size:13.5px;color:var(--серый)}

/* ── Одна полоса меню вместо двух ────────────────────────────────────────
   Шапка витрины липла сверху, а под ней липла лента разделов дома: при
   чтении страницы человек всё время видел две полосы одну под другой.
   Теперь шапка уезжает, как только листают вниз, и возвращается от первого
   же движения вверх. Лента дома при этом подтягивается к самому верху. */
body:has(.дом-макет) .шапка{position:fixed;left:0;right:0;top:0;
  transition:transform .28s ease;will-change:transform}
body:has(.дом-макет).шапка-ушла .шапка{transform:translateY(-100%)}
body:has(.дом-макет) .дом-макет{padding-top:64px}
body.шапка-ушла{--шапка-верх:0px}

/* ── Мостик между оболочкой витрины и макетом ─────────────────────────────
   Шапка витрины липнет сверху и занимает 64 пикселя. Макет рисовался под
   свою прозрачную шапку, поэтому первый экран и лента разделов сдвигаются
   на её высоту — иначе лента уезжает под шапку, а герой выдаёт лишнюю
   прокрутку в один экран. */
.дом-макет .герой{height:calc(100svh - 64px)}
.дом-макет .лента{top:var(--шапка-верх,64px);transition:top .28s ease}
html{scroll-padding-top:128px}
.дом-макет .герой--без-кадров{background:linear-gradient(160deg,#26262C,#0D0C0B)}
.дом-макет .место--один{grid-template-columns:1fr!important}
.дом-макет .стройка--две{grid-template-columns:repeat(2,1fr)}
.дом-макет .заявка .спасибо{margin-top:16px;font-size:14px}
.дом-макет .заявка .ск{display:flex;gap:10px;align-items:flex-start;margin-top:10px}
.дом-макет .заявка .ск input{margin-top:3px}
.дом-макет h3.антиква{font-family:'Cormorant Garamond',Georgia,serif;font-size:26px;
  font-weight:400;margin:34px 0 14px}
.дом-макет .кнопка svg{width:18px;height:18px}
.дом-макет .сосед__цена svg{width:18px;height:18px}
@media(max-width:900px){.дом-макет .герой__счёт{flex-wrap:wrap;justify-content:flex-end}}
/* В макете «место без карты» стоит в две колонки с пометкой !important —
   на телефоне из-за неё страница ехала вбок. */
@media(max-width:900px){.дом-макет .место--без-карты{grid-template-columns:1fr!important}}
/* Ячейки сеток не должны распирать страницу длинным числом или адресом. */
.дом-макет .цифра,.дом-макет .место>*,.дом-макет .вокруг__столб,
.дом-макет .удобство,.дом-макет .сосед{min-width:0;overflow-wrap:anywhere}
/* У витрины разделитель крошек носит имя «раздел» — то же имя, что у
   полноширинных разделов макета. Возвращаем ему вид простой косой черты. */
.дом-макет span.раздел{display:inline;padding:0;background:none}

/* Кадр карты в разделе «Место» держал соотношение сторон 1 к 0,85 при
   наименьшей высоте в 320 точек. Из этой пары браузер считал ширину: 320
   делить на 0,85 даёт 376 точек, и кадр распирал страницу дома на любом
   телефоне — при экране в 320 её можно было утащить пальцем на 77 точек.
   На телефоне соотношение отпускаем и задаём высоту прямо: кадр идёт по
   ширине экрана, картинка внутри лежит слоем и подрезается по краям, как
   и была задумана. Заведено 6 сентября 2026. */
@media(max-width:560px){
.дом-макет .место__карта,
.дом-макет .авт-место__карта .место__карта{aspect-ratio:auto;min-height:0;height:300px}
}

/* ——— замечания Константина по странице дома, 9 октября 2026: отступы, лупа, лента, плитки, карта, чипы, вопросы, соседи ——— */

/* ══ Замечания Константина по странице дома на телефоне, 9 октября 2026 ══
   Касается только страницы дома: у неё обёртка «дом-макет дом-страница».
   Квартиры, подборки и сравнения носят ту же «дом-макет», их не задеваем. */

/* 1. Между разделами на телефоне стояло по 104 точки пустоты, местами 183
   и 311. «Смысла нет, место теряем на сайте». От конца раздела до заголовка
   следующего теперь не больше 48. */
@media(max-width:900px){
.дом-макет.дом-страница main > .раздел{padding:24px 0}
.дом-макет.дом-страница .шляпа{margin-bottom:20px}
.дом-макет.дом-страница #подробно > .нутро-макета > :first-child,
.дом-макет.дом-страница #подробно .авторское > :first-child{margin-top:0}
.дом-макет.дом-страница .соседи__все,.дом-макет.дом-страница .весь-каталог{margin-top:20px}
}

/* 3. Лента разделов на телефоне. Шапка уезжает, лента держится сверху. Пунктов
   больше, чем влезает в ширину: лента листается вбок, правый край мягко
   тает, а нужный пункт сам выезжает в середину. */
@media(max-width:900px){
.дом-макет.дом-страница .лента__нутро{width:100%;height:50px}
.дом-макет.дом-страница .лента__ссылки{gap:22px;padding:0 20px;width:100%;height:100%;align-items:center;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 14px,#000 calc(100% - 34px),transparent);
  mask-image:linear-gradient(90deg,transparent 0,#000 14px,#000 calc(100% - 34px),transparent)}
.дом-макет.дом-страница .лента__ссылки a,
.дом-макет.дом-страница .лента__ссылки--тесно a{font-size:12px!important;letter-spacing:.06em;padding:10px 0}
}

/* 2 и 4. Просмотр фотографий: один на всю страницу. Листается пальцем и
   стрелками по кадрам своего раздела, щипок и двойное касание увеличивают. */
.дом-макет .лупа{position:fixed;inset:0;z-index:1000;background:#0d0c0b;display:none;
  flex-direction:column;align-items:stretch;justify-content:stretch;gap:0;padding:0;overscroll-behavior:contain}
.дом-макет .лупа.открыта{display:flex}
.дом-макет .лупа__сцена{flex:1;min-height:0;position:relative;display:flex;align-items:center;
  justify-content:center;overflow:hidden;touch-action:none;padding:64px 88px 6px;user-select:none;-webkit-user-select:none}
.дом-макет .лупа .лупа__кадр{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;
  transform-origin:50% 50%;will-change:transform;-webkit-user-drag:none;cursor:zoom-in;border-radius:0}
.дом-макет .лупа.увеличено .лупа__кадр{cursor:grab}
.дом-макет .лупа .лупа__кадр.плавно{transition:transform .26s ease,opacity .26s ease}
.дом-макет .лупа__низ{flex:none;display:flex;gap:14px;align-items:baseline;justify-content:center;
  padding:12px 20px calc(18px + env(safe-area-inset-bottom));color:rgba(255,255,255,.74);font-size:13px;line-height:1.45;text-align:center}
.дом-макет .лупа__счёт{flex:none;color:#fff;font-variant-numeric:tabular-nums;letter-spacing:.05em}
.дом-макет .лупа__счёт:empty{display:none}
.дом-макет .лупа__подпись{max-width:62ch;font-size:13px;color:rgba(255,255,255,.74)}
.дом-макет .лупа__закрыть{z-index:2;top:calc(14px + env(safe-area-inset-top));right:16px;width:44px;height:44px;
  border:0;border-radius:50%;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;
  font-size:26px;line-height:1;transition:background .2s}
.дом-макет .лупа__шаг{z-index:2;border:0;border-radius:50%;background:rgba(255,255,255,.12);transition:background .2s}
.дом-макет .лупа__закрыть:hover,.дом-макет .лупа__шаг:hover{background:rgba(255,255,255,.24)}
.дом-макет .лупа--один .лупа__шаг{display:none}
.дом-макет .лупа__шаг svg{width:24px;height:24px}
@media(max-width:900px){
.дом-макет .лупа__сцена{padding:64px 0 4px}
.дом-макет .лупа__шаг{display:none}
}
html.лупа-открыта,html.лупа-открыта body{overflow:hidden}
.дом-макет.дом-страница figure.авт-кадр img,.дом-макет.дом-страница figure.панорама img,
.дом-макет.дом-страница figure.бок-кадр img{cursor:zoom-in}

/* 6. «Что внутри»: карточки со скруглением и тенью, как остальные карточки
   витрины. Ряд ровный: последняя плитка растягивается на свободное место,
   дыр в конце нет. У плитки с рендером застройщика вместо значка кадр. */
.дом-макет.дом-страница .удобства{display:flex;flex-wrap:wrap;gap:14px}
.дом-макет.дом-страница .удобство{flex:1 1 calc(25% - 11px);min-width:0;border:0;border-radius:22px;
  background:#fff;box-shadow:var(--вр-тень,0 14px 36px rgba(40,30,18,.10));overflow:hidden;
  padding:24px 22px 22px;min-height:150px;gap:18px}
.дом-макет.дом-страница .удобство:hover{border-color:transparent}
.дом-макет.дом-страница .удобство__знак{border:0;background:color-mix(in srgb,var(--медь) 11%,#fff)}
.дом-макет.дом-страница .удобство--кадр{padding:0;gap:0;cursor:zoom-in}
.дом-макет.дом-страница .удобство__кадр{margin:0;width:100%;aspect-ratio:4/3;overflow:hidden;background:var(--линия)}
.дом-макет.дом-страница .удобство__кадр img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.дом-макет.дом-страница .удобство--кадр:hover .удобство__кадр img{transform:scale(1.04)}
.дом-макет.дом-страница .удобство--кадр .удобство__имя{margin-top:0;padding:16px 20px 18px}
/* Общая картинка там, где у застройщика рендера нет: на кадре тихая подпись
   «так может выглядеть», чтобы её не приняли за снимок этого дома. */
.дом-макет.дом-страница .удобство__кадр{position:relative}
.дом-макет.дом-страница .удобство__пример{position:absolute;left:10px;bottom:10px;padding:5px 10px;
  border-radius:999px;background:rgba(20,17,14,.62);color:#fff;font-size:12px;line-height:1.2;
  letter-spacing:.01em;pointer-events:none}
/* На широком экране кадры одной высоты, а не одной пропорции: в ряду из трёх
   плитки шире, чем в ряду из четырёх, и при общей пропорции ряды выходили
   разной высоты. */
@media(min-width:901px){
.дом-макет.дом-страница .удобство__кадр{aspect-ratio:auto;height:clamp(170px,14.5vw,230px)}
}
@media(max-width:900px){
.дом-макет.дом-страница .удобство{flex-basis:calc(50% - 7px)}
}
@media(max-width:560px){
.дом-макет.дом-страница .удобства{gap:10px}
.дом-макет.дом-страница .удобство{flex-basis:calc(50% - 5px);min-height:128px;padding:18px 16px;border-radius:18px}
.дом-макет.дом-страница .удобство--кадр{padding:0}
.дом-макет.дом-страница .удобство--кадр .удобство__имя{padding:12px 14px 14px}
.дом-макет.дом-страница .удобство__пример{left:8px;bottom:8px;padding:4px 8px;font-size:11px}
/* Нечётная последняя плитка идёт во всю ширину: кадр у неё ниже, иначе она
   вдвое выше соседних. */
.дом-макет.дом-страница .удобство--кадр:last-child:nth-child(odd) .удобство__кадр{aspect-ratio:2.4/1}
}

/* 7. Превью карты на телефоне: снаружи стояла квадратная бежевая подложка,
   внутри скруглённая карта, и в углах торчал серый уголок. Скругляем саму
   подложку и режем всё по её краю. */
.дом-макет .место__карта{border-radius:22px;overflow:hidden;background:transparent;
  clip-path:inset(0 round 22px);isolation:isolate}
.дом-макет .место__карта > *,.дом-макет .место__карта .окрест__живая,
.дом-макет .место__карта .окр-рамка{border-radius:inherit}
/* Рамка вокруг карты и адреса оставалась квадратной при скруглённой карте
   внутри. Скругляем рамку целиком, карта внутри неё идёт до края рамки. */
.дом-макет .место{border-radius:22px;overflow:hidden;overflow:clip}
.дом-макет .место > .место__карта{border-radius:0;clip-path:none}

/* 8. Кнопки подбора в листе ожидания (студия, этаж, окна) скругляем,
   как остальные кнопки страницы. */
.дом-макет .ож-чип{border-radius:13px!important}

/* 9. «Частые вопросы»: подзаголовки стояли далеко от заголовка раздела, черта
   была двойной, ответы открыты сплошной стеной. Теперь группы ближе, вопросы
   раскрываются по нажатию, ответ выезжает плавно. */
.дом-макет.дом-страница #вопросы-цены .глава{margin-top:22px}
.дом-макет.дом-страница #вопросы-цены .глава:first-of-type{margin-top:0}
.дом-макет.дом-страница #вопросы-цены .глава h2{padding-bottom:12px;border-bottom:0;margin:0}
.дом-макет.дом-страница #вопросы .вопросы{margin-top:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:40px;row-gap:0;align-items:start;border-top:1px solid var(--линия)}
.дом-макет.дом-страница #вопросы .вопрос{display:grid;grid-template-rows:auto 0fr;padding:0;
  border-bottom:1px solid var(--линия);transition:grid-template-rows .28s ease}
.дом-макет.дом-страница #вопросы .вопрос.открыт{grid-template-rows:auto 1fr}
.дом-макет.дом-страница #вопросы .вопрос b{position:relative;display:block;margin:0;padding:16px 40px 16px 0;
  cursor:pointer;font-size:15px;line-height:1.4;-webkit-tap-highlight-color:transparent}
.дом-макет.дом-страница #вопросы .вопрос b::after{content:"";position:absolute;right:6px;top:50%;width:11px;height:11px;
  margin-top:-7px;border-right:1.6px solid var(--медь);border-bottom:1.6px solid var(--медь);
  transform:rotate(45deg);transition:transform .28s ease}
.дом-макет.дом-страница #вопросы .вопрос.открыт b::after{transform:rotate(225deg);margin-top:-2px}
.дом-макет.дом-страница #вопросы .вопрос b:focus-visible{outline:2px solid var(--медь);outline-offset:2px}
.дом-макет.дом-страница #вопросы .вопрос p{min-height:0;overflow:hidden;margin:0;padding:0;font-size:14px;line-height:1.55}
.дом-макет.дом-страница #вопросы .вопрос p::after{content:"";display:block;height:16px}
.дом-макет.дом-страница #цены p{margin-top:10px}
@media(max-width:900px){
.дом-макет.дом-страница #вопросы .вопросы{grid-template-columns:1fr}
.дом-макет.дом-страница #вопросы .вопрос b{font-size:14.5px;padding:14px 36px 14px 0}
}

/* 10. «Рядом»: карточки одной высоты, цена прижата к низу и не режется. */
.дом-макет.дом-страница .соседи{align-items:stretch}
.дом-макет.дом-страница .сосед{display:flex;flex-direction:column;height:100%}
.дом-макет.дом-страница .сосед__кадр{flex:none;aspect-ratio:4/3}
.дом-макет.дом-страница .сосед__кадр img{height:100%}
.дом-макет.дом-страница .сосед__низ{flex:1;display:flex;flex-direction:column;padding:18px 20px 20px}
.дом-макет.дом-страница .сосед__цена{margin-top:auto;padding-top:14px;flex-wrap:wrap;row-gap:4px;line-height:1.35;overflow:visible}
@media(max-width:900px) and (min-width:561px){
.дом-макет.дом-страница .соседи{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
}
@media(max-width:560px){
.дом-макет.дом-страница .соседи{gap:14px}
.дом-макет.дом-страница .сосед__кадр{aspect-ratio:16/10}
.дом-макет.дом-страница .сосед__имя{font-size:21px}
}
.дом-макет .соседи__все svg{width:18px;height:18px;flex:none}
@media(max-width:900px){.дом-макет.дом-страница #подробно .авторское{padding-top:0}}
.дом-макет.дом-страница .соседи__все{white-space:nowrap}
