:root{
  --black:#111111; --obsidian:#232323; --graphite:#434343;
  --dolomite:#e3e3e3; --statuario:#f7f7f7; --brass:#c1a376;
  --serif:'Noto Serif Display',Georgia,serif;
  /* Вводный абзац (.lead) набран отдельной антиквой — выбор Анджелины 23.09.2026,
     вариант B из сравнения qa/shrifty-sravnenie.html. Заголовки и цена остаются
     на Noto Serif Display: менялся только вводный абзац. Source Serif спокойнее
     по контрасту штрихов и лучше читается длинным текстом. */
  --serif-text:'Source Serif 4',Georgia,serif;
  --sans:'Manrope','Helvetica Neue',Arial,sans-serif;
}
*{box-sizing:border-box}
body{margin:0;background:var(--statuario);color:var(--black);font-family:var(--sans);
  font-weight:300;font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased}
.wrap{max-width:1240px;margin:0 auto;padding:0 2.5rem}
.wrap.narrow,.narrow{max-width:44rem}
.center{text-align:center}
.label{font-size:.68rem;letter-spacing:.26em;text-transform:uppercase;color:var(--graphite);font-weight:400;display:block}
.label.light{color:rgba(255,255,255,.6)}
h1{font-family:var(--serif);font-weight:300;font-size:clamp(2rem,4.4vw,3.4rem);line-height:1.12;margin:.6rem 0 0}
h2{font-family:var(--serif);font-weight:300;font-size:clamp(1.7rem,3.2vw,2.7rem);line-height:1.2;margin:.7rem 0 0}
/* h3 — мелкий заголовок: подзаголовки карточек, шагов, разделов на странице
   объекта. Набран НЕ антиквой, в отличие от h1/h2, и это решение Анджелины
   от 24.09.2026 после сравнения пяти вариантов (qa/shrifty-temnyj-blok.html).
   Причина: Noto Serif Display — дисплейная антиква, нарисована для крупного
   кегля, и на 18 px её волосяные штрихи истончаются до невидимости, особенно
   белым по чёрному. Крупным заголовкам она по-прежнему идёт, мелким — нет.
   Кегль чуть меньше прежнего (1,15 вместо 1,24 rem): гротеск того же размера
   выглядит крупнее антиквы. */
h3{font-family:var(--sans);font-weight:600;font-size:1.15rem;line-height:1.36;letter-spacing:.005em;margin:0 0 .6rem}
.lead{font-family:var(--serif-text);font-weight:400;font-size:clamp(1.2rem,2vw,1.65rem);line-height:1.55;margin:1.4rem 0 0}
.muted{color:var(--graphite);margin:1.3rem 0 0}
.dark .muted,.dark p{color:rgba(255,255,255,.72)}
/* Светлое на тёмном оптически тоньше, чем тёмное на светлом: одно и то же
   Manrope 300 на чёрном выглядит выцветшим, хотя по формуле контраста
   проходит. Поэтому на тёмных секциях основной текст набираем 400. */
.dark p,.dark li,.dark .muted{font-weight:400}
.dark strong{color:#fff}

/* ── ФОТО: обесцвечено, цвет при наведении ── */
.ph{overflow:hidden;border-radius:10px;background:var(--dolomite)}
.ph img{width:100%;height:280px;object-fit:cover;display:block;
  filter:grayscale(1) contrast(1.02);
  transition:filter .7s cubic-bezier(.2,.7,.3,1),transform .9s cubic-bezier(.2,.7,.3,1)}
.ph:hover img,a:hover .ph img{filter:grayscale(0) saturate(1.02);transform:scale(1.03)}
.ph.tall img{height:440px}

/* ── ШАПКА САЙТА ── */
header{position:sticky;top:0;z-index:30;background:rgba(247,247,247,.94);
  backdrop-filter:blur(12px);border-bottom:1px solid var(--dolomite)}
header .wrap{display:flex;align-items:center;justify-content:space-between;gap:2rem;height:76px}
.mark{display:flex;align-items:center;gap:.8rem;text-decoration:none;color:var(--black)}
.mark img{width:42px;height:42px;display:block}
.mark-t{display:flex;flex-direction:column;line-height:1.1}
.mark-t b{font-family:var(--serif);font-weight:400;font-size:1rem;letter-spacing:.28em}
/* Разрядка «International» подобрана так, чтобы слово совпадало по ширине с «BELLAVISTA»
   (просьба Анджелины 23.09.2026). Значение своё для каждого размера: соотношение кеглей
   двух строк в шапке, на телефоне и в подвале разное, одним числом не обойтись.
   Считано по замеру в браузере — ширина первой строки минус набор второй без разрядки,
   делённое на число промежутков. nowrap обязателен: с такой разрядкой слово иначе
   переносится. Отрицательный margin съедает висящий пробел после последней буквы,
   иначе блок логотипа шире самих букв и выравнивание по правому краю врёт. */
.mark-t i{font-style:normal;font-size:.6rem;letter-spacing:.567em;margin-right:-.567em;white-space:nowrap;
  text-transform:uppercase;color:var(--graphite);margin-top:.18em}
nav{display:flex;gap:2rem}
nav a{color:var(--graphite);text-decoration:none;font-size:.74rem;letter-spacing:.16em;
  text-transform:uppercase;padding-bottom:3px;border-bottom:1px solid transparent;transition:.25s}
nav a:hover{color:var(--black)}
nav a.on{color:var(--black);border-bottom-color:var(--brass)}

/* ── ОБЛОЖКА по брендбуку: вордмарк обрезан краем фото ── */
.hero{position:relative;background:var(--black);overflow:hidden}
.hero-photo img{width:100%;height:clamp(400px,66vh,660px);object-fit:cover;display:block;
  filter:grayscale(1) brightness(.72) contrast(1.05);transition:filter 1s cubic-bezier(.2,.7,.3,1)}
.hero:hover .hero-photo img{filter:grayscale(0) brightness(.78) saturate(1.05)}
.hero-mark{position:absolute;left:0;right:0;bottom:-.14em;display:flex;justify-content:center;pointer-events:none}
.hero-mark span{font-family:var(--serif);font-weight:300;color:#fff;line-height:.86;
  font-size:clamp(3rem,13vw,11rem);letter-spacing:.03em;white-space:nowrap}
.strap{background:var(--statuario);border-bottom:1px solid var(--dolomite)}
.strap .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.strap-i{padding:1.5rem 1rem;border-left:1px solid var(--dolomite);display:flex;flex-direction:column}
.strap-i:first-child{border-left:none}
.strap-i span{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--graphite);line-height:1.7}
.strap-i span:first-child{color:var(--black)}

/* ── ШАПКА ВНУТРЕННЕЙ СТРАНИЦЫ ── */
.phead{position:relative;background:var(--black);overflow:hidden}
.phead-photo img{width:100%;height:clamp(240px,38vh,380px);object-fit:cover;display:block;
  filter:grayscale(1) brightness(.5);transition:filter 1s}
.phead:hover .phead-photo img{filter:grayscale(0) brightness(.58)}
.phead-body{position:absolute;inset:auto 0 0 0;padding:0 0 2.6rem}
.phead-body h1{color:#fff}

section{padding:6rem 0}
section.tight{padding:3.4rem 0}
section.dark{background:var(--black);color:rgba(255,255,255,.75)}
section.dark h2,section.dark h3{color:#fff}
section.dark .label{color:rgba(255,255,255,.42)}
section.tinted{background:#efefee}

.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;text-align:center}
.stat-n{font-family:var(--serif);font-size:clamp(1.5rem,3vw,2.4rem);color:var(--brass);line-height:1.2}
.stat-l{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-top:.3rem}

.tri{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:3rem}
.tri-i{text-decoration:none;color:inherit;display:block}
.tri-i h3{margin-top:1.4rem}
.tri-i p{color:var(--graphite);margin:0 0 .9rem;font-size:.94rem}
.more{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--brass)}

.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:3rem 2.4rem;margin-top:3.4rem}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:2.6rem 2.2rem;margin-top:3rem}
.step-n,.q-n{font-family:var(--serif);font-size:1.4rem;color:var(--brass);display:block;margin-bottom:.7rem}
.step p,.card p{margin:0;font-size:.93rem;color:var(--graphite)}
.dark .step p,.dark .card p{color:rgba(255,255,255,.78);line-height:1.7}
.card h3{font-size:1.06rem}

.timeline{margin-top:3rem;display:grid;gap:2.4rem;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.step{border-top:1px solid var(--dolomite);padding-top:1.4rem}
.dark .step{border-top-color:rgba(255,255,255,.14)}

.props{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:3rem}
.prop{text-decoration:none;color:inherit;display:block}
.prop-place{margin:1.3rem 0 .4rem}
.prop-foot{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;
  border-top:1px solid var(--dolomite);padding-top:.8rem}
.prop-price{font-family:var(--serif);font-size:1.12rem}
.prop-meta{font-size:.78rem;color:var(--graphite)}

.filters{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1rem}
.chip{border:1px solid var(--dolomite);border-radius:999px;padding:.55rem 1.3rem;
  font-size:.8rem;color:var(--graphite);background:#fff;cursor:pointer;transition:.25s}
.chip:hover{border-color:var(--brass);color:var(--black)}

.places{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:2.6rem}
.place{border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:.55rem 1.4rem;
  font-size:.82rem;color:rgba(255,255,255,.7)}
.strip{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin-top:3rem}
.strip .ph img{height:180px}

.two{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.founder{display:grid;grid-template-columns:1.2fr .8fr;gap:4rem;align-items:center}
.quote{font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:clamp(1.15rem,1.9vw,1.5rem);line-height:1.6;margin:1.4rem 0 0}
.attrib{margin-top:1.6rem;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--graphite)}
.seal{justify-self:center}
.seal img{width:min(230px,60vw);display:block}

.ticks{margin:1.6rem 0 0;padding:0;list-style:none}
.ticks li{position:relative;padding-left:1.5rem;margin-bottom:.7rem;color:var(--graphite);font-size:.94rem}
.ticks li::before{content:'';position:absolute;left:0;top:.72em;width:8px;height:1px;background:var(--brass)}
.ticks.light li{color:rgba(255,255,255,.62)}

.tablewrap{overflow-x:auto;margin-top:2.6rem}
table{width:100%;border-collapse:collapse;font-size:.92rem;min-width:34rem}
th{text-align:left;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--graphite);font-weight:400;padding:0 1rem .8rem 0;border-bottom:1px solid var(--black)}
td{padding:.95rem 1rem .95rem 0;border-bottom:1px solid var(--dolomite);color:var(--graphite)}
td:first-child{color:var(--black)}

.deals{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;margin-top:3rem}
.deal{border-top:1px solid var(--dolomite);padding-top:1.3rem}
.deal-v{font-family:var(--serif);font-size:1.7rem;color:var(--brass)}
.deal-n{margin-top:.5rem;font-size:.94rem}
.deal-t{font-size:.78rem;color:var(--graphite);margin-top:.3rem}

.qs{display:grid;grid-template-columns:repeat(3,1fr);gap:2.4rem;margin-top:3rem}
.q p{margin:0;font-size:.95rem;color:var(--graphite)}

.contact-list{display:grid;gap:.7rem;margin-top:2rem}
.contact-list a{color:var(--black);text-decoration:none;font-size:1.05rem}
.contact-list a:hover{color:var(--brass)}
.offices{display:grid;gap:1.6rem;margin-top:3rem}
.offices p{margin:.4rem 0 0;font-size:.9rem}
.form{display:grid;gap:.9rem;align-content:start}
.form input,.form textarea,.form select{width:100%;padding:.95rem 1.1rem;border:1px solid var(--dolomite);
  background:#fff;font-family:var(--sans);font-size:.92rem;font-weight:300;color:var(--black)}
.form textarea{min-height:120px;resize:vertical}
.form input:focus,.form textarea:focus,.form select:focus{outline:none;border-color:var(--brass)}
.btn{display:inline-block;margin-top:1rem;padding:1rem 2.8rem;border:1px solid var(--brass);
  background:transparent;color:var(--brass);font-family:var(--sans);font-size:.74rem;
  letter-spacing:.22em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:.3s}
.btn:hover{background:var(--brass);color:#fff}
.dark .btn:hover{color:var(--black)}
section .center .btn{margin-top:3rem}

footer{background:var(--obsidian);color:rgba(255,255,255,.45);padding:3.4rem 0;font-size:.8rem}
.foot{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2.5rem}
footer a{color:rgba(255,255,255,.6);text-decoration:none;display:block;margin-bottom:.4rem}
footer a:hover{color:var(--brass)}
.foot-brand{font-family:var(--serif);letter-spacing:.28em;color:#fff;font-size:1rem;display:flex;flex-direction:column;line-height:1.15}
.foot-brand i{font-style:normal;font-family:var(--sans);font-size:.62rem;letter-spacing:.529em;
  margin-right:-.529em;white-space:nowrap;
  text-transform:uppercase;color:rgba(255,255,255,.5);margin-top:.25em}

.page{display:none}
.page.on{display:block}

@media(max-width:980px){
  .grid4,.qs,.deals,.tri,.props,.stats{grid-template-columns:repeat(2,1fr)}
  .grid3{grid-template-columns:repeat(2,1fr)}
  .two,.founder{grid-template-columns:1fr;gap:2.5rem}
  .foot{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .wrap{padding:0 1.3rem}
  section{padding:3.6rem 0}
  nav{display:none}
  .strap .wrap{grid-template-columns:repeat(2,1fr)}
  .strap-i:nth-child(3){border-left:none}
  .grid4,.grid3,.qs,.deals,.tri,.props{grid-template-columns:1fr}
  .stats{grid-template-columns:repeat(2,1fr);gap:2rem}
  .strip{grid-template-columns:repeat(2,1fr)}
  .foot{grid-template-columns:1fr}
  .ph.tall img{height:300px}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* ── переключатель языков ── */
.langs{display:flex;gap:.15rem;align-items:center}
.langs button{background:none;border:none;cursor:pointer;font-family:var(--sans);
  font-size:.68rem;letter-spacing:.14em;color:var(--graphite);padding:.35rem .5rem;
  border-bottom:1px solid transparent;transition:.2s}
.langs button:hover{color:var(--black)}
.langs button.on{color:var(--black);border-bottom-color:var(--brass)}
@media(max-width:640px){
  header .wrap{height:auto;padding-top:.8rem;padding-bottom:.8rem;flex-wrap:wrap;gap:.6rem}
  .langs{margin-left:auto}
  .langs button{padding:.3rem .35rem;font-size:.64rem}
}

/* ── партнёрства: только в подвале (решение 2026-09-13 — из шапки PCD убран) ── */
.affs{padding-bottom:2.4rem;margin-bottom:2.4rem;border-bottom:1px solid rgba(255,255,255,.1)}
.affs-row{display:flex;flex-wrap:wrap;gap:3.5rem;margin-top:1.4rem;align-items:center}
.aff-i{display:flex;align-items:center;gap:1rem}
.aff-i span{font-size:.8rem;color:rgba(255,255,255,.55);max-width:14rem;line-height:1.5}
.aff-pcd{height:64px;width:auto;display:block;filter:brightness(0) invert(1);opacity:.85}
.aff-brick{height:56px;width:auto;display:block}

@media(max-width:640px){
  .affs-row{gap:2rem;flex-direction:column;align-items:flex-start}
}

/* ── счётчик каталога: публичное + закрытое ── */
.counter{text-align:center;margin:0 0 3.2rem}
.cnt-row{display:flex;align-items:baseline;justify-content:center;gap:1.6rem;flex-wrap:wrap}
.cnt-i{display:flex;align-items:baseline;gap:.6rem;text-decoration:none;color:inherit}
.cnt-n{font-family:var(--serif);font-size:clamp(1.8rem,3.6vw,2.8rem);line-height:1}
.cnt-l{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--graphite)}
.cnt-plus{font-family:var(--serif);font-size:1.5rem;color:var(--brass)}
.cnt-res .cnt-n,.cnt-res .cnt-l{color:var(--brass)}
.cnt-res{border-bottom:1px solid transparent;transition:border-color .25s}
.cnt-res:hover{border-bottom-color:var(--brass)}
.cnt-tot{margin-top:1rem;font-size:.9rem;color:var(--graphite)}
.cnt-tot b{font-family:var(--serif);font-weight:400;font-size:1.1rem;color:var(--black)}
.cnt-note{margin:.5rem 0 0;font-size:.84rem;color:var(--graphite);font-style:italic}
.dark .cnt-l,.dark .cnt-tot,.dark .cnt-note{color:rgba(255,255,255,.55)}
.dark .cnt-tot b{color:#fff}

/* ── закрытая зона: текст + форма доступа ── */
.off{display:grid;grid-template-columns:1fr 1fr;gap:4.5rem;align-items:center}
.off-big{margin-top:2.4rem;display:flex;align-items:baseline;gap:.8rem}
.off-big span{font-family:var(--serif);font-size:clamp(3rem,7vw,5.2rem);line-height:1;color:var(--brass)}
.off-big em{font-style:normal;font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(255,255,255,.5);max-width:8em;line-height:1.4}
.off-form input{background:transparent;border-color:rgba(255,255,255,.22);color:#fff}
.off-form input::placeholder{color:rgba(255,255,255,.42)}
.off-form input:focus{border-color:var(--brass)}
.off-two{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.off-form .btn{justify-self:start}
.off-note{margin:.6rem 0 0;font-size:.76rem;color:rgba(255,255,255,.4);line-height:1.55}
@media(max-width:900px){ .off{grid-template-columns:1fr;gap:2.6rem} .off-two{grid-template-columns:1fr} }

/* ── поисковая строка: пять полей в ряд, как центр главной ── */
.search{background:var(--black);padding:1.5rem 0}
.search-row{display:grid;grid-template-columns:repeat(4,1fr) auto;gap:.7rem;align-items:end}
.sfield{display:flex;flex-direction:column;gap:.35rem}
.sfield label{font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.45)}
.sfield select{appearance:none;-webkit-appearance:none;background:transparent;color:#fff;
  border:1px solid rgba(255,255,255,.22);padding:.8rem 2.2rem .8rem .9rem;font-family:var(--sans);
  font-size:.86rem;font-weight:300;cursor:pointer;border-radius:0;
  background-image:linear-gradient(45deg,transparent 50%,var(--brass) 50%),linear-gradient(135deg,var(--brass) 50%,transparent 50%);
  background-position:calc(100% - 16px) 55%,calc(100% - 11px) 55%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}
.sfield select:focus{outline:none;border-color:var(--brass)}
.sfield select option{background:var(--obsidian);color:#fff}
.sbtn{background:var(--brass);color:var(--black);border:1px solid var(--brass);padding:.8rem 2rem;
  font-family:var(--sans);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;cursor:pointer;transition:.25s}
.sbtn:hover{background:transparent;color:var(--brass)}
.search-meta{display:flex;justify-content:space-between;align-items:center;margin-top:.9rem;gap:1rem;flex-wrap:wrap}
.search-meta .found{font-size:.8rem;color:rgba(255,255,255,.55)}
.search-meta .found b{font-family:var(--serif);font-weight:400;color:var(--brass);font-size:1.05rem;margin-right:.3rem}
.sreset{background:none;border:none;color:rgba(255,255,255,.45);font-family:var(--sans);font-size:.7rem;
  letter-spacing:.16em;text-transform:uppercase;cursor:pointer;padding:0}
.sreset:hover{color:#fff}

/* ── коллекции по образу жизни ── */
.colls{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;margin-top:3rem}
.coll{position:relative;display:block;overflow:hidden;border-radius:10px;text-decoration:none;
  color:#fff;background:var(--black);aspect-ratio:4/3}
.coll img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:grayscale(1) brightness(.55);transition:filter .7s cubic-bezier(.2,.7,.3,1),transform .9s cubic-bezier(.2,.7,.3,1)}
.coll:hover img{filter:grayscale(0) brightness(.62);transform:scale(1.04)}
.coll-body{position:absolute;inset:auto 0 0 0;padding:1.5rem 1.6rem;display:flex;
  justify-content:space-between;align-items:flex-end;gap:1rem}
.coll-name{font-family:var(--serif);font-size:1.4rem;line-height:1.2}
.coll-n{font-family:var(--serif);font-size:2rem;color:var(--brass);line-height:1}
.coll-see{display:block;font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-top:.35rem}

/* ── цена по запросу и валюта ── */
.prop-price.por{font-family:var(--sans);font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--brass)}
.cur{display:flex;gap:.1rem;padding-left:1rem;border-left:1px solid var(--dolomite)}
.cur button{background:none;border:none;cursor:pointer;font-family:var(--sans);font-size:.66rem;
  letter-spacing:.1em;color:var(--graphite);padding:.3rem .4rem;border-bottom:1px solid transparent;transition:.2s}
.cur button:hover{color:var(--black)}
.cur button.on{color:var(--black);border-bottom-color:var(--brass)}
.cur-note{font-size:.62rem;color:var(--graphite);margin-top:.35rem;font-style:italic}

.prop[hidden]{display:none!important}
.empty{grid-column:1/-1;text-align:center;color:var(--graphite);padding:3rem 1rem;font-size:.95rem}

@media(max-width:980px){
  .search-row{grid-template-columns:repeat(2,1fr)}
  .sbtn{grid-column:1/-1}
  .colls{grid-template-columns:repeat(2,1fr)}
  .cur{display:none}
}
@media(max-width:640px){
  .search-row{grid-template-columns:1fr}
  .colls{grid-template-columns:1fr}
}

.coll-big{grid-row:span 2;aspect-ratio:auto}
@media(max-width:640px){.coll-big{grid-row:auto;aspect-ratio:4/3}}

/* ══════════ Шапка v2 ══════════
   Две строки. Служебная (валюта, языки) прокручивается вместе со страницей,
   основная (логотип + меню) липкая. Логотип крупнее и никогда не сжимается:
   как только пункты меню перестают помещаться рядом с ним, меню уходит
   в бургер. Порог считает скрипт по реальной ширине — у русских и немецких
   пунктов она разная, фиксированный брейкпоинт это не ловит. */
.util{background:var(--statuario);border-bottom:1px solid var(--dolomite)}
.util .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:auto;
  padding-top:.4rem;padding-bottom:.4rem;flex-wrap:nowrap}
.util-r{display:flex;align-items:center;margin-left:auto}
.util .cur{display:flex;border-left:none;padding-left:0}
.util .langs{margin-left:.7rem;padding-left:.7rem;border-left:1px solid var(--dolomite)}

header{position:sticky;top:0;z-index:40;background:rgba(247,247,247,.96);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--dolomite)}
header .wrap{display:flex;align-items:center;justify-content:space-between;gap:2rem;height:auto;
  padding-top:.95rem;padding-bottom:.95rem;flex-wrap:nowrap}
header .mark{flex-shrink:0;gap:1rem}
header .mark img{width:64px;height:64px}
header .mark-t b{font-size:1.4rem;letter-spacing:.26em}
header .mark-t i{font-size:.64rem;letter-spacing:.903em;margin-right:-.903em;margin-top:.3em}
header nav{display:flex;flex-wrap:nowrap;white-space:nowrap;gap:clamp(1.1rem,1.9vw,2.1rem);min-width:0}
header .burger{display:none}

.burger{width:46px;height:46px;flex-shrink:0;align-items:center;justify-content:center;flex-direction:column;
  gap:6px;background:none;border:1px solid var(--dolomite);cursor:pointer;padding:0;position:relative}
.burger i{display:block;width:20px;height:1px;background:var(--black);transition:transform .3s}
header.open .burger i:nth-of-type(1){transform:translateY(3.5px) rotate(45deg)}
header.open .burger i:nth-of-type(2){transform:translateY(-3.5px) rotate(-45deg)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* свёрнутое меню — ставит скрипт */
header.compact nav{display:none}
header.compact .burger{display:flex}
header.compact.open nav{display:flex;flex-direction:column;align-items:stretch;gap:0;position:absolute;
  left:0;right:0;top:100%;background:var(--statuario);border-bottom:1px solid var(--dolomite);
  padding:.3rem 2.5rem 1.1rem;box-shadow:0 20px 30px -26px rgba(0,0,0,.4)}
header.compact.open nav a{padding:.95rem 0;border-bottom:1px solid var(--dolomite);font-size:.8rem}
header.compact.open nav a:last-child{border-bottom:none}

/* страховка до того, как отработал скрипт: ниже 1100px меню свёрнуто всегда */
@media(max-width:1100px){
  header nav{display:none}
  header .burger{display:flex}
  header.open nav{display:flex;flex-direction:column;align-items:stretch;gap:0;position:absolute;
    left:0;right:0;top:100%;background:var(--statuario);border-bottom:1px solid var(--dolomite);
    padding:.3rem 2.5rem 1.1rem;box-shadow:0 20px 30px -26px rgba(0,0,0,.4)}
  header.open nav a{padding:.95rem 0;border-bottom:1px solid var(--dolomite);font-size:.8rem}
  header.open nav a:last-child{border-bottom:none}
}
@media(max-width:640px){
  .util .cur{display:none}
  .util .langs{border-left:none;padding-left:0;margin-left:0}
  header .wrap{gap:1rem;padding-top:.7rem;padding-bottom:.7rem}
  header .mark{gap:.7rem}
  header .mark img{width:50px;height:50px}
  header .mark-t b{font-size:1.1rem;letter-spacing:.2em}
  header .mark-t i{font-size:.56rem;letter-spacing:.66em;margin-right:-.66em}
  header.open nav,header.compact.open nav{padding:.2rem 1.3rem 1rem}
}
@media(max-width:380px){
  header .mark img{width:44px;height:44px}
  header .mark-t b{font-size:.96rem;letter-spacing:.16em}
  header .mark-t i{font-size:.52rem;letter-spacing:0.528em;margin-right:-0.528em}
  .util .langs button{padding:.3rem .28rem}
}

/* полоса под обложкой: на самых узких экранах длинные русские и немецкие
   слова заглавными («МЕЖДУНАРОДНОЕ») не влезали в колонку и распирали страницу */
.strap-i span{overflow-wrap:anywhere}

/* командные фото — вертикальные, 4:5 рядом с текстом; на планшете в одну колонку
   ограничены по высоте, чтобы кадр не занимал экран целиком */
.ph.port img{height:auto;aspect-ratio:4/5;max-height:680px;object-position:50% 40%}

/* цифры в тёмной полосе: на 320px «€1M–5M+» и немецкое «QUALIFIZIERTE KONTAKTE»
   не помещались в колонку, сетка распирала страницу на 6px */
.stat{min-width:0}
@media(max-width:380px){
  .stats{gap:1.6rem .8rem}
  .stat-n{font-size:1.3rem}
  .stat-l{letter-spacing:.08em;overflow-wrap:anywhere}
}

/* ══════════ Читаемость v2 (2026-09-13) ══════════
   Просьба Ангелины: шрифты, которые легче читать. Gilroy из брендбука платный; тонкий
   Outfit 300 заменён на Manrope — та же геометрия, но выше строчные буквы и плотнее штрих.
   Заголовки — тот же Noto Serif Display, вес 400 вместо 300. Мелкие подписи крупнее,
   светлый текст на тёмном фоне контрастнее. */
body{font-weight:400;line-height:1.72}
h1,h2,.lead,.quote{font-weight:400}
.label{font-size:.72rem;font-weight:500;letter-spacing:.2em}
nav a{font-size:.78rem;font-weight:500;letter-spacing:.12em}
.muted{color:#3a3a3a}
.step p,.card p,.tri-i p,.q p,.ticks li{font-size:.98rem;color:#3a3a3a}
.dark .muted,.dark p{color:rgba(255,255,255,.8)}
.dark .step p,.dark .card p,.ticks.light li{color:rgba(255,255,255,.78)}
section.dark .label,.label.light{color:rgba(255,255,255,.7)}
.stat-l{color:rgba(255,255,255,.74);font-size:.78rem}
.prop-meta{font-size:.84rem}
.form input,.form textarea,.form select{font-weight:400;font-size:.95rem}
.btn{font-weight:600;font-size:.76rem}
.sfield label{color:rgba(255,255,255,.72);font-size:.64rem;font-weight:500}
.sfield select{font-weight:400}
.search-meta .found{color:rgba(255,255,255,.8)}
.off-note{color:rgba(255,255,255,.64)}
.aff-i span{color:rgba(255,255,255,.8)}
footer{color:rgba(255,255,255,.68)}
footer a{color:rgba(255,255,255,.84)}
.coll-see{color:rgba(255,255,255,.82)}
.cnt-note{font-size:.92rem}
.langs button,.cur button{font-weight:500}

/* внутристраничные якоря (#casi, #valutazione, #riservata) не прячутся под липкой шапкой */
.page [id]{scroll-margin-top:104px}

/* ══════════ Лендинг «Собственникам» ══════════
   Цель страницы — заявка на оценку: CTA в обложке, после шагов, в конце. */
.o-hero{position:relative;background:var(--black);color:#fff;overflow:hidden}
.o-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:grayscale(1) brightness(.4);transition:filter 1s cubic-bezier(.2,.7,.3,1)}
.o-hero:hover>img{filter:grayscale(0) brightness(.46)}
.o-hero .wrap{position:relative;padding-top:clamp(4.5rem,11vh,7.5rem);padding-bottom:clamp(4rem,9vh,6rem)}
.o-hero h1{color:#fff;max-width:16em;font-size:clamp(2.1rem,4.6vw,3.6rem)}
.o-hero .lead{color:rgba(255,255,255,.88);max-width:34em}
.o-cta{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2.2rem}
.o-cta .btn{margin-top:0}
.btn.solid{background:var(--brass);color:var(--black)}
.btn.solid:hover{background:transparent;color:var(--brass)}
.btn.ghost-light{border-color:rgba(255,255,255,.55);color:#fff}
.btn.ghost-light:hover{background:#fff;color:var(--black)}

.proof{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
.proof-n{font-family:var(--serif);font-size:clamp(1.6rem,2.8vw,2.3rem);color:var(--brass);line-height:1.15}
.proof-l{margin:.45rem 0 0;font-size:.9rem;color:#3a3a3a;line-height:1.5}

.o-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:1.6rem;margin-top:3rem}
.o-step{border-top:2px solid var(--brass);padding-top:1.2rem}
.o-step .n{font-family:var(--serif);color:var(--brass);font-size:1.5rem}
.o-step h3{margin:.35rem 0 .55rem;font-size:1.15rem}
.o-step p{margin:0;font-size:.95rem;color:#3a3a3a}
.center-cta{text-align:center;margin-top:2.8rem}
.center-cta .btn{margin-top:0}

.cases{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;margin-top:3rem;align-items:start}
.case{background:#fff;border:1px solid var(--dolomite);border-radius:10px;overflow:hidden}
.case .ph{border-radius:0}
.case .ph img{height:240px}
.case-b{padding:1.4rem 1.5rem 1.6rem;display:flex;flex-direction:column;gap:.65rem}
.case h3{margin:0}
.case-d{margin:0;font-size:.94rem;color:#3a3a3a}
.case-kv{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;border-top:1px solid var(--dolomite);padding-top:.9rem;margin-top:.2rem}
.case-kv b{display:block;font-family:var(--serif);font-weight:400;font-size:1.35rem;color:var(--brass);line-height:1.2}
.case-kv span{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--graphite)}
.case-buyer{margin:0;font-size:.94rem;color:#3a3a3a}
.case-buyer .label{margin-bottom:.15rem}
.case-key{margin:0;font-size:.94rem;border-left:2px solid var(--brass);padding-left:.8rem;color:var(--black)}
.case.textual{background:var(--obsidian);border-color:var(--obsidian);color:#fff}
.case.textual h3,.case.textual .case-key{color:#fff}
.case.textual .case-d,.case.textual .case-buyer{color:rgba(255,255,255,.8)}
.case.textual .label,.case.textual .case-kv span{color:rgba(255,255,255,.62)}
.case.textual .case-kv{border-top-color:rgba(255,255,255,.14)}
.case.wide{grid-column:1/-1}
.case.wide .case-b{display:grid;grid-template-columns:1.2fr 1fr;column-gap:3rem;align-items:start}

.buyers{display:grid;grid-template-columns:1.15fr .85fr;gap:4rem;align-items:center}
.buyers .counter{margin:0}

.faq{margin-top:2.4rem;max-width:52rem}
.faq details{border-top:1px solid var(--dolomite);padding:1.15rem 0}
.faq details:last-child{border-bottom:1px solid var(--dolomite)}
/* Вопрос в аккордеоне — тот же мелкий заголовок, что h3, поэтому и набран так же
   (решение от 24.09.2026). Он длиннее заголовка карточки, отсюда больший интерлиньяж. */
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem;
  font-family:var(--sans);font-weight:600;font-size:1.06rem;line-height:1.45}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';color:var(--brass);font-family:var(--sans);font-size:1.4rem;line-height:1}
.faq details[open] summary::after{content:'–'}
.faq details p{margin:.8rem 0 0;color:#3a3a3a;max-width:44rem}

.two-f{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.off-form select{background:transparent;border-color:rgba(255,255,255,.22);color:#fff}
.off-form select option{color:var(--black)}
.off-form input[type=number]{-moz-appearance:textfield}
.chk{display:flex;gap:.7rem;align-items:flex-start;font-size:.86rem;color:rgba(255,255,255,.78);line-height:1.5;cursor:pointer}
.chk input{width:auto;margin:.25rem 0 0;accent-color:var(--brass)}
.dark .contact-list a{color:#fff}
.dark .contact-list a:hover{color:var(--brass)}

@media(max-width:1100px){ .o-steps{grid-template-columns:repeat(3,1fr)} }
@media(max-width:980px){
  .proof{grid-template-columns:repeat(2,1fr)}
  .cases{grid-template-columns:repeat(2,1fr)}
  .buyers{grid-template-columns:1fr;gap:2.6rem}
  .case.wide .case-b{grid-template-columns:1fr}
}
@media(max-width:640px){
  .o-steps,.cases{grid-template-columns:1fr}
  .proof{gap:1.4rem}
  .two-f{grid-template-columns:1fr}
}

/* ══════════ Каталог on-market и страница объекта ══════════ */
.cat-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 2rem;
  margin:2.4rem 0 0;padding:1rem 0;border-top:1px solid var(--dolomite);border-bottom:1px solid var(--dolomite)}
.cat-count{margin:0;font-size:.95rem;color:#3a3a3a}
.cat-count b{font-family:var(--serif);font-weight:400;font-size:1.15rem;color:var(--black)}
.cat-ctls{display:flex;gap:1.2rem;flex-wrap:wrap}
.cat-ctl{display:flex;align-items:center;gap:.6rem;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--graphite);font-weight:500}
.cat-ctl select{font-family:var(--sans);font-size:.9rem;padding:.55rem 2rem .55rem .8rem;border:1px solid var(--dolomite);
  background:#fff;color:var(--black);appearance:none;-webkit-appearance:none;border-radius:0;letter-spacing:0;text-transform:none;cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,var(--brass) 50%),linear-gradient(135deg,var(--brass) 50%,transparent 50%);
  background-position:calc(100% - 14px) 55%,calc(100% - 9px) 55%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}
#grid{margin-top:2rem}
.noimg{height:280px;display:flex;align-items:center;justify-content:center;border-radius:10px;
  background:repeating-linear-gradient(135deg,#ecebea 0 12px,#e5e4e2 12px 24px);
  color:var(--graphite);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase}
.noimg.big{height:clamp(260px,50vw,560px)}
.pager{display:flex;justify-content:center;align-items:center;gap:.6rem;flex-wrap:wrap;margin-top:3rem}
.pager button{font-family:var(--sans);font-size:.86rem;min-width:2.6rem;height:2.6rem;padding:0 .9rem;
  border:1px solid var(--dolomite);background:#fff;color:var(--black);cursor:pointer}
.pager button:hover:not(:disabled){border-color:var(--brass)}
.pager button.on{background:var(--black);border-color:var(--black);color:#fff}
.pager button:disabled{opacity:.35;cursor:default}
.pg-nums{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}
.pg-gap{padding:0 .3rem;color:var(--graphite)}

.det-top{padding-top:2rem}
.det-back{display:inline-block;font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:var(--graphite);
  text-decoration:none;margin-bottom:1.4rem;font-weight:500}
.det-back:hover{color:var(--brass)}
.det-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1.4rem 2rem;flex-wrap:wrap}
.det-head h1{margin:.4rem 0 0;font-size:clamp(1.8rem,3.6vw,2.8rem);max-width:22em}
.det-ref{margin:.5rem 0 0;font-size:.86rem;color:var(--graphite)}
.det-price{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap}
.det-price .prop-price{font-size:clamp(1.4rem,2.6vw,2rem);color:var(--black)}
.det-price .prop-price.por{font-size:.86rem}
.det-price .btn{margin-top:0}
.det-top .film{margin-top:1.4rem}
.det-top .det-head{margin-top:1.8rem}
.det-main img{height:clamp(260px,52vw,600px)}
.det-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:.6rem;margin-top:.6rem}
.det-thumbs img{width:100%;height:110px;object-fit:cover;border-radius:6px;display:block}
.det-body{display:grid;grid-template-columns:1.5fr 1fr;gap:4rem;align-items:start}
.det-body>*{min-width:0}   /* таблица квартир прокручивается внутри, а не распирает страницу */
.det-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:1rem;padding-bottom:1.6rem;
  border-bottom:1px solid var(--dolomite);margin-bottom:.4rem}
.det-facts b{display:block;font-family:var(--serif);font-weight:400;font-size:1.5rem}
.det-facts span{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--graphite)}
.det-body h3{margin:1.6rem 0 .8rem}
.chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.chips li{border:1px solid var(--dolomite);border-radius:999px;padding:.4rem 1rem;font-size:.88rem;background:#fff}
.det-desc{margin:0;color:#3a3a3a}
.cat-note{font-size:.84rem;color:var(--graphite);font-style:italic;margin:0 0 .6rem}
.visit{position:sticky;top:112px;background:var(--black);color:#fff;padding:2rem;border-radius:10px}
.visit h2{color:#fff;margin:0;font-size:1.7rem}
.visit .muted{color:rgba(255,255,255,.8);margin:.8rem 0 1.2rem;font-size:.95rem}
.visit input,.visit select,.visit textarea{background:transparent;border-color:rgba(255,255,255,.24);color:#fff}
.visit input::placeholder,.visit textarea::placeholder{color:rgba(255,255,255,.52)}
.visit select option{color:var(--black)}
.visit input[type=date]{color-scheme:dark}
.visit .fld{display:flex;flex-direction:column;gap:.3rem}
.visit .fld span{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.68)}
.visit .btn{justify-self:start;margin-top:.4rem}
@media(max-width:980px){
  .det-body{grid-template-columns:1fr;gap:2.4rem}
  .visit{position:static}
  .det-thumbs{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:640px){
  .cat-bar{flex-direction:column;align-items:flex-start}
  .det-thumbs{grid-template-columns:repeat(2,1fr)}
  .noimg{height:240px}
}

/* ══════════ Карусель в карточке, галерея, планировки, лайтбокс, лендинг новостройки ══════════ */
.cat-toggle{display:flex;align-items:center;gap:.5rem;font-size:.86rem;color:#3a3a3a;cursor:pointer}
.cat-toggle input{accent-color:var(--brass);width:16px;height:16px;margin:0}
.prop-link{display:block;text-decoration:none;color:inherit}
a.noimg{position:relative;text-decoration:none}

.car{position:relative}
.car-track{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.car-track::-webkit-scrollbar{display:none}
.ph.car{aspect-ratio:3/2}
.ph.car .car-track{height:100%}
.car-track>.fit{flex:0 0 100%;height:100%;scroll-snap-align:start;scroll-snap-stop:always}
.ph.car img,.ph.car:hover img{transform:none}
.props a.noimg{height:auto;aspect-ratio:3/2}

/* рамка без обрезки: фото целиком, прижато к верху, поля — размытая копия того же снимка (catalog-ui.js → fit) */
.fit{position:relative;display:block;overflow:hidden;background:#cfc8bd}
.fit>img,.ph .fit>img{display:block;width:100%;height:100%;-webkit-user-drag:none}
.fit>.fit-img{position:relative;object-fit:contain;object-position:50% 0}
.fit.cover>.fit-img{object-fit:cover;object-position:50% 50%}
.fit.cover.tall-crop>.fit-img{object-position:50% 38%}
.fit>.fit-bg{position:absolute;inset:0;object-fit:cover;filter:blur(18px) brightness(.78) saturate(1.1);transform:scale(1.2)}
.ph .fit>.fit-bg,.ph.car:hover .fit>.fit-bg{transform:scale(1.2);transition:none;filter:grayscale(1) blur(18px) brightness(.78)}
.ph:hover .fit>.fit-bg,a:hover .ph .fit>.fit-bg{filter:blur(18px) brightness(.78) saturate(1.1)}
.car-btn,.gal-btn,.lb-btn{position:absolute;top:50%;border:none;border-radius:50%;background:rgba(255,255,255,.92);
  cursor:pointer;box-shadow:0 2px 12px rgba(0,0,0,.2);transition:opacity .25s,background .2s}
.car-btn{width:38px;height:38px;margin-top:-19px;opacity:0}
.car-btn::before,.gal-btn::before,.lb-btn::before{content:'';position:absolute;left:50%;top:50%;width:9px;height:9px;
  border-top:1.5px solid var(--black);border-right:1.5px solid var(--black)}
.car-btn.prev,.gal-btn.prev,.lb-btn.prev{left:.8rem}
.car-btn.next,.gal-btn.next,.lb-btn.next{right:.8rem}
.car-btn.prev::before,.gal-btn.prev::before,.lb-btn.prev::before{transform:translate(-30%,-50%) rotate(-135deg)}
.car-btn.next::before,.gal-btn.next::before,.lb-btn.next::before{transform:translate(-70%,-50%) rotate(45deg)}
.car:hover .car-btn,.car-btn:focus-visible{opacity:1}
.car-btn:hover,.gal-btn:hover,.lb-btn:hover{background:#fff}
.car-count,.gal-count{position:absolute;bottom:.7rem;background:rgba(17,17,17,.62);color:#fff;font-size:.72rem;
  letter-spacing:.06em;padding:.22rem .6rem;border-radius:999px;pointer-events:none}
.car-count{right:.7rem}
.car-count b,.gal-count b{font-weight:500}
.badge-new{position:absolute;left:.7rem;top:.7rem;background:var(--brass);color:var(--black);font-size:.62rem;
  letter-spacing:.14em;text-transform:uppercase;font-weight:600;padding:.32rem .7rem;border-radius:999px;pointer-events:none}
@media(hover:none){ .car-btn{opacity:1;width:34px;height:34px;margin-top:-17px} }

/* рамка галереи — в пропорциях фото объекта (--ar из catalog-ui.js); по высоте экрана ограничиваем ширину,
   а не высоту, чтобы пропорции рамки не ломались и не появлялись поля */
/* ── лента фото объекта, как у Sotheby's: одна высота, у каждого фото свои пропорции, ничего не обрезано ── */
.film{--h:clamp(300px,64vh,640px);--pad:max(2.5rem,calc((100vw - 1240px) / 2 + 2.5rem))}
.film-track{position:relative;display:flex;gap:8px;height:var(--h);overflow-x:auto;overflow-y:hidden;outline:none;
  padding:0 var(--pad);scroll-padding:0 var(--pad);scroll-snap-type:x mandatory;scrollbar-width:none}
.film-track::-webkit-scrollbar{display:none}
.film-track::after{content:'';flex:0 0 1px}
.film-track figure{flex:0 0 auto;height:100%;max-width:calc(100vw - 2 * var(--pad));margin:0;scroll-snap-align:start;
  background:transparent;overflow:hidden}
.film-track img{display:block;width:100%;height:100%;object-fit:contain;cursor:zoom-in;-webkit-user-drag:none}
.film-bar{display:flex;justify-content:flex-start;align-items:center;gap:.8rem;flex-wrap:wrap;margin-top:1rem}
.film-nav{display:inline-flex;align-items:stretch;border:1px solid var(--brass)}
.film-btn{position:relative;width:78px;height:46px;border:none;background:none;cursor:pointer}
.film-btn::before{content:'';position:absolute;left:18px;right:18px;top:50%;height:1px;background:var(--black)}
.film-btn::after{content:'';position:absolute;top:50%;width:8px;height:8px;border:solid var(--black);border-width:1px 1px 0 0;margin-top:-4px}
.film-btn.prev::after{left:19px;transform:rotate(-135deg)}
.film-btn.next::after{right:19px;transform:rotate(45deg)}
.film-btn:hover::before{background:var(--brass)}
.film-btn:hover::after{border-color:var(--brass)}
.film-nav .gal-count{position:static;display:flex;align-items:center;padding:0 1rem;background:none;border-radius:0;transform:none;
  border-left:1px solid var(--brass);border-right:1px solid var(--brass);color:var(--black);font-size:.78rem;letter-spacing:.14em;white-space:nowrap}
.film-nav .gal-count b{font-weight:500;margin-right:.35em}
.film-nav .gal-count i{font-style:normal;margin-left:.35em}
.film-all{display:inline-flex;align-items:center;gap:.65rem;height:48px;padding:0 1.25rem;border:1px solid var(--brass);background:none;
  font:inherit;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--black);cursor:pointer}
.film-all:hover{background:var(--brass)}
.film-all i,.lb-gridbtn::before{display:inline-block;width:12px;height:12px;
  background:linear-gradient(currentColor 0 0) 0 0/5px 5px no-repeat,linear-gradient(currentColor 0 0) 7px 0/5px 5px no-repeat,
    linear-gradient(currentColor 0 0) 0 7px/5px 5px no-repeat,linear-gradient(currentColor 0 0) 7px 7px/5px 5px no-repeat}
@media(max-width:640px){
  .film{--h:calc((100vw - 2.5rem) / 1.5);--pad:1.25rem}   /* кадр 3:2 — ровно на ширину экрана */
  .film-btn{width:56px}
  .film-bar{justify-content:space-between}
}

.plans{display:grid;gap:1.4rem}
.plan-unit .label{margin-bottom:.5rem}
.plan-imgs{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.8rem}
.plan{padding:.6rem;background:#fff;border:1px solid var(--dolomite);border-radius:8px;cursor:zoom-in;transition:border-color .2s}
.plan:hover{border-color:var(--brass)}
.plan img{width:100%;height:220px;object-fit:contain;display:block}
.plan-req{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1.1rem 1.4rem;
  border:1px dashed var(--brass);border-radius:10px}
.plan-req p{margin:0;color:#3a3a3a}
.plan-req .btn{margin-top:0}

.lb{position:fixed;inset:0;z-index:100;background:rgba(10,10,10,.95);display:flex;align-items:center;justify-content:center}
.lb[hidden]{display:none}
.lb img{max-width:92vw;max-height:86vh;object-fit:contain}
.lb-btn{width:50px;height:50px;margin-top:-25px}
.lb-btn[hidden]{display:none}
.lb-x{position:absolute;top:1rem;right:1rem;width:46px;height:46px;border:none;border-radius:50%;background:rgba(255,255,255,.92);cursor:pointer}
.lb-x::before,.lb-x::after{content:'';position:absolute;left:50%;top:50%;width:18px;height:1.5px;background:var(--black)}
.lb-x::before{transform:translate(-50%,-50%) rotate(45deg)}
.lb-x::after{transform:translate(-50%,-50%) rotate(-45deg)}
.lb-count{position:absolute;bottom:1.2rem;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.82);font-size:.84rem}
html.lb-open{overflow:hidden}

.nb-hero{position:relative;background:var(--black);color:#fff;overflow:hidden;min-height:clamp(440px,74vh,740px);display:flex;align-items:flex-end}
.nb-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.62)}
.nb-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.25) 0,rgba(0,0,0,0) 35%,rgba(0,0,0,.72) 100%)}
.nb-hero .wrap{position:relative;z-index:1;width:100%;padding-top:5rem;padding-bottom:3.2rem}
.nb-hero h1{color:#fff;max-width:18em;font-size:clamp(2rem,4.8vw,3.8rem)}
.nb-hero .label{color:rgba(255,255,255,.82)}
.det-back.light{color:rgba(255,255,255,.8)}
.nb-sub{margin:.7rem 0 0;color:rgba(255,255,255,.88)}
.nb-price{margin-top:1.3rem}
.nb-price .prop-price{color:#fff;font-size:clamp(1.4rem,2.6vw,2rem)}
.nb-price .prop-price.por{font-size:.9rem}
.nb-hero .o-cta{margin-top:1.8rem}
.nb-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.4rem}
.nb-facts b{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(1.3rem,2.2vw,1.8rem);color:var(--brass);line-height:1.25}
.nb-facts span{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.units{margin-top:.4rem}
.units td a{color:var(--brass);text-decoration:none;white-space:nowrap}
.units tr.on td{background:#f3eee6;color:var(--black)}
.units .here{font-size:.78rem;color:var(--graphite);white-space:nowrap}
@media(max-width:640px){
  .gal-btn{width:38px;height:38px;margin-top:-19px}
  .nb-hero{min-height:clamp(420px,80vh,640px)}
}
@media(max-width:380px){
  .strap-i{padding:1.1rem .6rem}
  .strap-i span{font-size:.6rem;letter-spacing:.08em}
}

/* ══════════ Заявка и WhatsApp в каждом разделе, лендинги «Servizi» ══════════ */
.wa-row{display:flex;flex-wrap:wrap;gap:.5rem}
.wa{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .95rem;border-radius:999px;border:1px solid rgba(18,140,74,.45);
  color:#0f7a41;background:#fff;text-decoration:none;font-size:.82rem;font-weight:500;letter-spacing:.02em;
  transition:background .2s,color .2s,border-color .2s;white-space:nowrap}
.wa svg{width:16px;height:16px;fill:currentColor;flex:none}
.wa small{font-size:.74rem;opacity:.72;margin-left:.15rem;letter-spacing:0}
.wa:hover,.wa:focus-visible{background:#25D366;border-color:#25D366;color:#fff}
.dark .wa,.o-hero .wa,.nb-hero .wa,.visit .wa{background:transparent;color:#fff;border-color:rgba(255,255,255,.42)}
.dark .wa:hover,.o-hero .wa:hover,.nb-hero .wa:hover,.visit .wa:hover{background:#25D366;border-color:#25D366;color:#fff}
.cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:.9rem 1.2rem;margin-top:1.8rem}
.cta-row .btn{margin-top:0}
.center-cta .cta-row{justify-content:center}
.wa-l{display:block;margin:1.8rem 0 .7rem}
.visit .wa-l{margin:1.4rem 0 .6rem;color:rgba(255,255,255,.68)}
.visit .wa-row .wa{padding:.45rem .8rem;font-size:.78rem}
.lead-sec .contact-list{margin-top:1.6rem}
.lead-sec .contact-list a{color:#fff}
.lead-sec textarea{min-height:96px}
.det-price .wa-row{flex-basis:100%}
.o-steps.o-steps3{grid-template-columns:repeat(3,1fr)}
.srv-hero .det-back{display:inline-block;margin-bottom:1.4rem}
.srv-pain{max-width:46em}
.srv-ticks{margin-top:2.4rem}
.srv-ticks .card{border-top:2px solid var(--brass);padding-top:1.1rem}
.srv-ticks .card .n{font-family:var(--serif);color:var(--brass);font-size:1.4rem}
.srv-ticks .card p{margin:.5rem 0 0;color:#3a3a3a}
.srv-reg{margin-top:2.2rem;padding-top:1.4rem;border-top:1px solid var(--dolomite)}
.srv-reg p{margin:.4rem 0 0;color:var(--graphite)}
.srv-two .ticks{margin-top:1.2rem}
.paths4{display:grid;grid-template-columns:repeat(4,1fr);gap:1.8rem;margin-top:2.6rem}
.path4 .ph img{height:190px}
.path4 h3{margin:1.2rem 0 .7rem}
.path4 ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--dolomite)}
.path4 li a{display:block;padding:.8rem 0;border-bottom:1px solid var(--dolomite);text-decoration:none;color:inherit}
.path4 li b{display:block;font-weight:500;font-size:.95rem;line-height:1.35}
.path4 li span{display:block;font-size:.84rem;color:var(--graphite);margin-top:.2rem;line-height:1.45}
.path4 li a:hover b{color:var(--brass)}
.rent-sec[hidden]{display:none!important}
/* короткий питч с призывом в начале страницы (главная, каталог, контакты) */
.pitch-sec{padding-top:clamp(3rem,6vw,4.5rem)}
.pitch{max-width:62rem}
.pitch-h{font-size:clamp(1.8rem,3.6vw,2.9rem);margin-top:.6rem}
.pitch .lead{max-width:46em}
/* плавающая кнопка WhatsApp — на всех страницах */
.wa-fab{position:fixed;right:1.1rem;bottom:1.1rem;z-index:90}
.wa-fab-btn{display:flex;align-items:center;gap:.55rem;border:none;border-radius:999px;background:#25D366;color:#fff;
  padding:.8rem 1.15rem;font:500 .86rem var(--sans);letter-spacing:.02em;box-shadow:0 6px 24px rgba(0,0,0,.22);cursor:pointer}
.wa-fab-btn svg{width:22px;height:22px;fill:#fff}
.wa-fab-panel{position:absolute;right:0;bottom:calc(100% + .7rem);width:min(310px,calc(100vw - 2.2rem));background:#fff;color:var(--black);
  border-radius:14px;box-shadow:0 14px 44px rgba(0,0,0,.22);padding:1.1rem 1.1rem 1.2rem}
.wa-fab-panel p{margin:0 0 .8rem;font-size:.88rem;color:#3a3a3a}
.wa-fab-panel .wa-row{flex-direction:column}
.wa-fab-panel .wa{justify-content:flex-start}
.wa-fab-form{display:block;margin-top:.9rem;font-size:.84rem;color:var(--brass);text-decoration:none;background:none;border:none;padding:0;cursor:pointer;font-family:var(--sans)}
html.lb-open .wa-fab{display:none}
@media(max-width:1100px){ .paths4{grid-template-columns:repeat(2,1fr)} }
@media(max-width:900px){ .o-steps.o-steps3{grid-template-columns:1fr} }
@media(max-width:640px){
  .paths4{grid-template-columns:1fr}
  .wa-fab-btn span{display:none}
  .wa-fab-btn{padding:.9rem}
  .cta-row .btn{width:100%;text-align:center}
}
/* ── каталог по странам: переключатель Италия / Швейцария и лендинг #svizzera ── */
.co-strip{background:var(--black);border-bottom:1px solid rgba(255,255,255,.08)}
.co-tabs{display:flex;flex-wrap:wrap;gap:.5rem;padding-top:.9rem;padding-bottom:.9rem}
.co-tabs a{display:inline-flex;align-items:baseline;gap:.6rem;padding:.55rem 1.15rem;border:1px solid rgba(255,255,255,.25);
  color:rgba(255,255,255,.85);text-decoration:none;font-size:.76rem;letter-spacing:.14em;text-transform:uppercase}
.co-tabs a b{font-family:var(--serif);font-weight:400;font-size:1.02rem;letter-spacing:0;color:var(--brass)}
.co-tabs a:hover{border-color:var(--brass);color:#fff}
.co-tabs a.on{background:var(--brass);border-color:var(--brass);color:var(--black)}
.co-tabs a.on b{color:var(--black)}
.ch-by{display:flex;align-items:center;gap:1rem;margin:1.1rem 0 1.3rem;color:rgba(255,255,255,.8);font-size:.74rem;
  letter-spacing:.14em;text-transform:uppercase}
.ch-by img{height:46px;width:auto;flex:none}
.ch-by b{display:block;margin-top:.2rem;font-weight:600;font-size:1rem;letter-spacing:.04em;text-transform:none;color:#fff}
.ch-brick-logo{display:flex;align-items:center;justify-content:center;min-height:240px;padding:3rem;background:var(--black)}
.ch-brick-logo img{width:70%;max-width:280px;height:auto}
a.aff-i{text-decoration:none}
a.aff-i:hover span{color:#fff}

/* лайтбокс: сетка «все фото» — каждое в своих пропорциях */
/* колонки — во внутреннем блоке: у многоколоночного блока с фиксированной высотой лишние колонки уезжают вправо */
.lb-grid{position:absolute;inset:0;overflow-y:auto;padding:4.6rem max(4vw,1rem) 3rem}
.lb-cols{columns:3 300px;column-gap:10px}
.lb.grid{background:#0e0e0e}
.lb-grid[hidden]{display:none}
.lb-grid button{display:block;width:100%;margin:0 0 10px;padding:0;border:none;background:#222;cursor:zoom-in;break-inside:avoid}
.lb-grid img{display:block;width:100%;height:100%;object-fit:cover}
.lb-grid button:not([style]) img{height:auto}
.lb.grid>img,.lb.grid .lb-btn,.lb.grid .lb-count{display:none}
.lb-x{z-index:2}
.lb-gridbtn{position:absolute;top:1rem;right:4.4rem;z-index:2;width:46px;height:46px;border:none;border-radius:50%;
  background:rgba(255,255,255,.92);color:var(--black);cursor:pointer}
.lb-gridbtn[hidden]{display:none}
.lb-gridbtn::before{content:'';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}
.lb.grid .lb-gridbtn{background:var(--brass)}

/* ══════════ Избранное посетителя и анкета после заявки ══════════ */
.prop{position:relative}
.fav-btn{position:absolute;right:.7rem;top:.7rem;z-index:2;width:2.3rem;height:2.3rem;padding:0;
  display:flex;align-items:center;justify-content:center;border:none;border-radius:999px;cursor:pointer;
  background:rgba(17,17,17,.5);backdrop-filter:blur(2px);transition:background .2s}
.fav-btn:hover{background:rgba(17,17,17,.72)}
.fav-btn svg{width:1.15rem;height:1.15rem;fill:none;stroke:#fff;stroke-width:1.7;transition:fill .2s,stroke .2s}
.fav-btn.on svg{fill:var(--brass);stroke:var(--brass)}
/* на странице объекта — обычная кнопка с подписью, не иконка поверх фото */
.fav-btn.fav-big{position:static;width:auto;height:auto;gap:.5rem;padding:1rem 1.6rem;border-radius:0;
  border:1px solid var(--brass);background:none;font-family:var(--sans);font-weight:600;font-size:.76rem;
  letter-spacing:.06em;text-transform:uppercase;color:var(--black)}
.fav-btn.fav-big:hover{background:rgba(193,163,118,.12)}
.fav-btn.fav-big svg{stroke:var(--brass)}
.o-cta .fav-btn.fav-big,.nb-hero .fav-btn.fav-big{color:#fff;border-color:rgba(255,255,255,.5)}
.o-cta .fav-btn.fav-big svg,.nb-hero .fav-btn.fav-big svg{stroke:#fff}
.o-cta .fav-btn.fav-big.on svg,.nb-hero .fav-btn.fav-big.on svg{fill:var(--brass);stroke:var(--brass)}

.fav-link{display:flex;align-items:center;gap:.35rem;padding-right:.9rem;margin-right:.3rem;
  border-right:1px solid var(--dolomite);text-decoration:none;color:var(--graphite)}
.fav-link svg{width:.95rem;height:.95rem;fill:var(--brass);stroke:var(--brass);stroke-width:1.5}
.fav-link b{font-size:.72rem;font-weight:600}
.fav-link[hidden]{display:none}

.fav-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1.6rem 0 1rem;
  padding-bottom:.8rem;border-bottom:1px solid var(--dolomite);font-size:.8rem;color:var(--graphite)}
.fav-bar b{font-size:1.05rem;color:var(--black)}
.fav-clear{background:none;border:none;cursor:pointer;font-family:var(--sans);font-size:.72rem;
  letter-spacing:.06em;text-transform:uppercase;color:var(--graphite);border-bottom:1px solid var(--dolomite)}
.fav-clear:hover{color:var(--black);border-bottom-color:var(--brass)}
.fav-empty{max-width:46rem}
.fav-empty .btn{margin-top:1.4rem}

/* поле-ловушка: человек его не видит, бот заполняет и выдаёт себя */
.hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0}

.lead-note{margin:.6rem 0 0;font-size:.78rem;color:var(--graphite)}
.lead-note.err{color:#9d4b3d}
.lead-done h3{margin:0 0 .4rem;font-size:1.32rem}
.lead-done .muted{margin:0 0 1.2rem}
.quiz h4{margin:.4rem 0 .2rem;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--graphite)}
.q-set{margin:0;padding:0;border:none;display:flex;flex-wrap:wrap;gap:.5rem}
.q-set legend{padding:0 0 .4rem;font-size:.78rem;color:var(--graphite)}
.q-opt{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .9rem;border:1px solid var(--dolomite);
  border-radius:999px;font-size:.8rem;cursor:pointer}
.q-opt:hover{border-color:var(--brass)}
.q-opt input{margin:0;accent-color:var(--brass)}
.q-cta{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.q-cta .btn{margin-top:.4rem}
.q-skip{border:none;background:none;padding:0;color:var(--graphite);text-transform:none;letter-spacing:0;
  font-size:.8rem;cursor:pointer}
.q-skip:hover{color:var(--black)}

/* анкета внутри тёмных блоков (форма заявки и форма визита) */
.lead-sec .lead-done h3,.visit .lead-done h3{color:#fff}
.lead-sec .lead-done .muted,.lead-sec .quiz h4,.lead-sec .q-set legend,.lead-sec .lead-note,
.visit .lead-done .muted,.visit .quiz h4,.visit .q-set legend,.visit .lead-note{color:rgba(255,255,255,.72)}
.lead-sec .q-opt,.visit .q-opt{border-color:rgba(255,255,255,.28);color:#fff}
.lead-sec .q-opt:hover,.visit .q-opt:hover{border-color:var(--brass)}
.lead-sec .q-skip,.visit .q-skip{color:rgba(255,255,255,.72)}
.lead-sec .q-skip:hover,.visit .q-skip:hover{color:#fff}
.lead-sec .lead-note.err,.visit .lead-note.err{color:#e8a89b}

/* ══════════ Витрина проданных объектов («Владельцам») ══════════ */
.prop.sold h3{font-size:1.06rem;line-height:1.34;margin:.3rem 0 0}
.prop.sold .ph{position:relative}
.badge-sold{position:absolute;left:.7rem;top:.7rem;padding:.3rem .7rem;border-radius:999px;
  background:rgba(17,17,17,.72);color:#fff;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;
  pointer-events:none}
.prop.sold .prop-foot{margin-top:.7rem}
.prop.sold .prop-price{color:var(--graphite);font-size:1rem}

/* ══════════ Окружение объекта: расстояния и чем живёт зона ══════════ */
.loc{margin-top:2.2rem}
.loc h3{margin-bottom:.6rem}
.loc-zone{margin:0 0 1.4rem;color:var(--graphite);line-height:1.7;max-width:44rem}
.loc-cols{display:grid;grid-template-columns:1fr 1fr;gap:2rem 3rem}
.loc-cols .label{display:block;margin-bottom:.7rem;padding-bottom:.5rem;border-bottom:1px solid var(--dolomite)}
.loc-row{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.42rem 0;
  border-bottom:1px solid rgba(227,227,227,.55);font-size:.86rem}
.loc-row:last-child{border-bottom:none}
.loc-k{color:var(--graphite);white-space:nowrap}
.loc-v{text-align:right}
.loc-v i{font-style:normal;color:var(--graphite);font-size:.78rem}
.loc-note{margin:1.2rem 0 0;font-size:.72rem;line-height:1.5;color:var(--graphite);max-width:40rem}
.loc .btn{margin-top:1.1rem}
/* уровень цен — не в колонках, а отдельной строкой во всю ширину: это про район целиком */
.loc-price{margin-top:1.3rem;padding-top:.9rem;border-top:1px solid var(--dolomite);border-bottom:none;font-size:.92rem}
.loc-price .loc-v i{display:block;margin-top:.15rem}
/* короткие тезисы проекта на лендинге новостройки (highlights из CRM) */
.nb-hl{list-style:none;margin:0 0 1.4rem;padding:0;display:flex;flex-direction:column;gap:.45rem;max-width:44rem}
.nb-hl li{position:relative;padding-left:1.1rem;line-height:1.6}
.nb-hl li::before{content:'';position:absolute;left:0;top:.62em;width:5px;height:5px;background:var(--brass);border-radius:50%}
@media (max-width:760px){
  .loc-cols{grid-template-columns:1fr;gap:1.6rem}
  .loc-row{font-size:.82rem}
}

/* Цена оценки: не сноска и не баннер. Названная цифра работает, только если
   её видно раньше кнопки, — поэтому рамкой, но в цветах блока, без крика. */
.val-price{margin:1.1rem 0 0;padding:.85rem 1rem;border:1px solid rgba(255,255,255,.22);
  border-left:2px solid var(--brass);border-radius:0 8px 8px 0;font-size:.92rem;
  color:rgba(255,255,255,.86);font-weight:400;max-width:34rem}
