:root{
  --ink:#0E2A2E; --ink-2:#13403D; --teal:#1E5E59; --night:#0b2124; --gold:#c9a86a;
  --clay:#82653a; --clay-d:#6a5030; --sun:#F0C36D; /* --clay/-d: фирменная латунь логотипа (#8a6d3b), затемнена до WCAG AA (4.69:1 на sand, 5.41:1 текст на кнопке) */
  --sand:#F4EEE2; --sand-2:#EBE3D4; --paper:#fff;
  --text:#15302c; --muted:#5f6f6b; --line:#e2dac9;
  --r:24px; --r-sm:14px;
  --night:#0b2124; --gold:#c9a86a; --cream:#e9e4d8;
  --shadow:0 26px 60px -28px rgba(14,42,46,.5);
  --shadow-s:0 14px 34px -22px rgba(14,42,46,.45);
  --disp:'Bricolage Grotesque',system-ui,sans-serif; --sans:'Inter',system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--text);background:var(--sand);line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4{font-family:var(--disp);line-height:1.04;font-weight:700;color:var(--ink);letter-spacing:-.02em}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.wrap{width:min(1200px,92vw);margin:0 auto}
.eyebrow{font-size:.76rem;letter-spacing:.22em;text-transform:uppercase;color:var(--clay);font-weight:700;margin-bottom:.7rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--sans);font-weight:600;font-size:.97rem;padding:.9rem 1.6rem;border-radius:999px;border:0;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s}
.btn-primary{background:var(--clay);color:#fff;box-shadow:0 14px 28px -12px rgba(130,101,58,.8)}
.btn-primary:hover{transform:translateY(-2px);background:var(--clay-d)}
.btn-ghost{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.4);backdrop-filter:blur(6px)}
.btn-ghost:hover{background:rgba(255,255,255,.26)}
.btn-ink{background:var(--ink);color:#fff}
.btn-ink:hover{transform:translateY(-2px);background:var(--ink-2)}
.btn-sm{padding:.6rem 1.1rem;font-size:.88rem}
.btn-wide{width:100%}
.section{padding:72px 0}
.shead{max-width:660px;margin-bottom:42px}
.shead.center{margin:0 auto 42px;text-align:center}
.shead h2{font-size:clamp(2rem,4.4vw,3.2rem)}
.shead p{color:var(--muted);margin-top:.8rem;font-size:1.05rem}

/* header */
.hdr{position:fixed;inset:0 0 auto 0;z-index:70;display:flex;align-items:center;justify-content:space-between;padding:18px clamp(16px,4vw,52px);transition:.3s}
.hdr.solid{background:rgba(244,238,226,.92);backdrop-filter:blur(14px);box-shadow:0 8px 30px -22px #000;border-bottom:1px solid rgba(138,109,59,.16);padding-top:12px;padding-bottom:12px}
.brand{display:flex;align-items:center;gap:.6rem;color:#fff;flex:0 0 auto}
.hdr.solid .brand,.hdr.solid .nav a,.hdr.solid .h-phone{color:var(--ink)}
.brand-logo{height:54px;width:auto;max-width:none;display:block;flex:0 0 auto}
.hdr:not(.solid) .brand-logo{filter:drop-shadow(0 2px 10px rgba(0,0,0,.55))}
footer .brand-logo{height:58px}
@media(max-width:520px){.brand-logo{height:44px}}
/* Логотип: тёмный фон (поверх hero) → dark-bg вариант; светлый фон (.solid) → light-bg. Без filter-хаков. */
.brand-logo--light{display:none}
.hdr.solid .brand-logo--dark{display:none}
.hdr.solid .brand-logo--light{display:block}
.nav{display:flex;gap:1.25rem}
.nav a{color:rgba(255,255,255,.92);font-weight:500;font-size:.9rem}
.nav a:hover{color:var(--sun)}
.hdr.solid .nav a:hover{color:var(--clay)}
.hactions{display:flex;align-items:center;gap:1rem}
.h-phone{color:#fff;font-weight:600;font-size:.93rem}
/* мессенджеры и почта в шапке: поверх hero — светлые, на светлой «solid» — чернильные */
.hsoc{display:flex;align-items:center;gap:.5rem}
.hsoc-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;flex:0 0 auto;color:#fff;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.34);transition:background .2s,border-color .2s,color .2s}
.hsoc-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.hsoc-btn:hover{background:var(--clay);border-color:var(--clay);color:#fff}
.hdr.solid .hsoc-btn{color:var(--ink);background:rgba(138,109,59,.07);border-color:rgba(138,109,59,.34)}
.hdr.solid .hsoc-btn:hover{background:var(--clay);border-color:var(--clay);color:#fff}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}
.burger span{width:26px;height:2px;background:#fff;border-radius:2px}
.hdr.solid .burger span{background:var(--ink)}

/* hero */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;color:#fff;overflow:hidden}
.hero-slides{position:absolute;inset:0;z-index:0}
.hero-slides .slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.6s ease;animation:kburn 18s ease-in-out infinite}
.hero-slides .slide.on{opacity:1}
@keyframes kburn{0%{transform:scale(1.04)}100%{transform:scale(1.16)}}
.hero::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(7,20,22,.6) 0%,rgba(7,20,22,.12) 28%,rgba(7,20,22,.36) 55%,rgba(7,20,22,.74) 78%,rgba(7,20,22,.96) 100%)}
.hero-in{position:relative;z-index:2;width:100%;padding:120px 0 46px}
.hero h1{color:#fff;font-size:clamp(2.5rem,6vw,5rem);max-width:17ch;letter-spacing:-.03em;line-height:1.02;text-shadow:0 6px 44px rgba(0,0,0,.42)}
.hero-sub{max-width:46ch;margin:1.3rem 0 0;font-size:1.12rem;color:rgba(238,233,222,.96);text-shadow:0 2px 18px rgba(0,0,0,.6)}
.hero-eye{color:var(--sun);font-weight:700;display:inline-flex;align-items:center;gap:14px;text-shadow:0 2px 14px rgba(0,0,0,.65)}
.hero-eye::before{content:"";width:40px;height:1px;background:rgba(201,168,106,.7)}
.hero-badges{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1.4rem}
.hero-badges span{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(6px);padding:.4rem .9rem;border-radius:999px;font-size:.85rem;font-weight:500}
.search{margin-top:2.2rem;background:rgba(248,244,237,.93);backdrop-filter:blur(16px);border:1px solid rgba(138,109,59,.28);border-radius:18px;padding:14px;display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;box-shadow:0 30px 60px -30px rgba(0,0,0,.55);max-width:760px}
.search .f{display:flex;flex-direction:column;gap:.3rem;flex:1;min-width:130px}
.search label{font-size:.72rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;padding-left:4px}
.search input,.search select{padding:.7rem .8rem;border:1px solid var(--line);border-radius:12px;font-family:var(--sans);font-size:.95rem;color:var(--ink);background:var(--sand)}
.search .btn{height:46px;white-space:nowrap}
.scroll-hint{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);z-index:2;color:rgba(255,255,255,.7);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;animation:bob 2s infinite}
@keyframes bob{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,7px)}}

/* marquee */
.strip{background:var(--night);color:#fff;overflow:hidden;padding:16px 0}
.strip-track{display:flex;gap:3rem;white-space:nowrap;animation:marq 28s linear infinite;font-family:var(--disp);font-weight:600;font-size:1.05rem;letter-spacing:-.01em}
.strip-track span{opacity:.92;display:inline-flex;align-items:center;gap:.6rem}
.strip-track span::before{content:"◆";color:var(--sun);font-size:.7rem}
@keyframes marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* houses */
.homes{background:var(--sand)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.hcard{position:relative;background:var(--paper);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-s);border:1px solid var(--line);display:flex;flex-direction:column;transition:transform .28s,box-shadow .28s;cursor:pointer}
.hcard:hover{transform:translateY(-7px);box-shadow:var(--shadow);border-color:rgba(138,109,59,.4)}
.hc-img{position:relative;aspect-ratio:16/11;overflow:hidden}
.hc-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.hcard:hover .hc-img img{transform:scale(1.07)}
.hc-tag{position:absolute;top:13px;left:13px;background:rgba(11,33,36,.9);color:var(--gold);font-size:.74rem;font-weight:600;padding:.36rem .72rem;border-radius:999px;backdrop-filter:blur(4px);border:1px solid rgba(201,168,106,.3)}
.hc-free{position:absolute;bottom:13px;left:13px;background:rgba(255,255,255,.94);color:var(--teal);font-size:.74rem;font-weight:700;padding:.34rem .7rem;border-radius:999px;display:flex;align-items:center;gap:.35rem}
.hc-free i{width:7px;height:7px;border-radius:50%;background:#27a060;display:inline-block}
/* Дом занят на весь горизонт бронирования — зелёная точка тут обманывала бы */
.hc-free--none{color:var(--muted)}
.hc-free--none i{background:#c0b49c}
.hc-body{padding:20px 22px 24px;display:flex;flex-direction:column;flex:1}
.hc-body h3{font-size:1.5rem}
.hc-sub{color:var(--muted);font-size:.92rem;margin:.35rem 0 .9rem}
.amen{display:flex;flex-wrap:wrap;gap:.45rem .9rem;margin-bottom:1.1rem;font-size:.82rem;color:var(--text)}
.amen span{display:inline-flex;align-items:center;gap:.32rem}
.hc-foot{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:14px;border-top:1px solid var(--sand-2)}
.hc-price b{font-family:var(--disp);font-size:1.5rem;color:var(--ink);white-space:nowrap}
.hc-price small{display:block;font-size:.72rem;color:var(--muted);white-space:nowrap}
.hc-foot .btn{flex-shrink:0}
/* Клик по всей карточке ловит обработчик в app.js (bindCardClicks), а не растянутый слой
   в CSS: так поведение не зависит от того, обновились стили в браузере гостя или нет.
   Заодно вернулось выделение текста мышью — невидимый слой поверх карточки его съедал. */

/* шахматка */
.board-sec{background:linear-gradient(180deg,var(--sand) 0%,var(--sand-2) 100%)}
.btoolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:18px}
.mnav{display:flex;align-items:center;gap:.7rem}
.mnav button{width:42px;height:42px;border-radius:13px;border:1px solid var(--line);background:#fff;cursor:pointer;font-size:1.1rem;color:var(--ink);transition:.2s}
.mnav button:hover:not(:disabled){background:var(--clay);color:#fff;border-color:var(--clay)}
.mnav button:disabled{opacity:.35;cursor:not-allowed}
.mlabel{font-family:var(--disp);font-size:1.4rem;font-weight:700;min-width:210px;text-align:center;text-transform:capitalize}
.gfilter{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--muted)}
.gfilter select{padding:.55rem .85rem;border-radius:11px;border:1px solid var(--line);background:#fff;font-family:var(--sans);font-size:.9rem;cursor:pointer;color:var(--ink)}
.legend{display:flex;gap:1.3rem;flex-wrap:wrap;margin-bottom:14px;font-size:.84rem;color:var(--muted)}
.legend i{width:16px;height:16px;border-radius:5px;display:inline-block;vertical-align:-3px;margin-right:.4rem}
.lg-free{background:#dff0df;border:1px solid #b9ddb9}.lg-busy{background:repeating-linear-gradient(45deg,#e6ded0,#e6ded0 4px,#d8cfbd 4px,#d8cfbd 8px)}.lg-sel{background:var(--clay)}.lg-today{background:#fff;border:2px solid var(--teal)}
.bwrap{overflow-x:auto;border-radius:var(--r);background:#fff;box-shadow:0 34px 70px -40px rgba(11,33,36,.55);border:1px solid rgba(138,109,59,.2)}
table.board{border-collapse:collapse;width:100%;min-width:820px}
.board th,.board td{text-align:center;font-size:.82rem}
.board thead th{position:sticky;top:0;background:#fff;z-index:3;padding:11px 0 9px;border-bottom:1px solid var(--line);color:var(--muted);font-weight:600}
.board thead th .wd{display:block;font-size:.64rem;text-transform:uppercase;opacity:.7}
.board thead th.we{color:var(--clay)}
.hcell{position:sticky;left:0;background:#fff;z-index:2;text-align:left;padding:13px 16px;border-right:1px solid var(--line);border-bottom:1px solid var(--sand-2);min-width:200px;box-shadow:6px 0 12px -10px rgba(0,0,0,.22)}
.hcell .n{font-family:var(--disp);font-weight:700;font-size:1.05rem;color:var(--ink)}
.hcell .m{font-size:.74rem;color:var(--muted);margin-top:2px}
.hcell .p{font-size:.82rem;color:var(--clay);font-weight:700;margin-top:4px}
.board tbody tr:hover .hcell{background:#fcfaf5}
.day{width:60px;height:50px;border-bottom:1px solid var(--sand-2);border-right:1px solid #f2ece1;cursor:pointer;transition:background .12s;text-align:center;vertical-align:middle;position:relative}
.day .pr{font-size:.58rem;font-weight:700;color:var(--teal);font-family:var(--sans);white-space:nowrap}
.day.sel .pr,.day.sel-edge .pr,.day.in-range .pr{color:#3a2406}
.day.free{background:#e2f1e2}.day.free:hover{background:#c9e7c9}
.day.busy{background:repeating-linear-gradient(45deg,#ebe3d5,#ebe3d5 4px,#ded4c2 4px,#ded4c2 8px);cursor:not-allowed}
.day.today{box-shadow:inset 0 0 0 2px var(--teal)}
.day.sel,.day.sel-edge{background:var(--clay)!important}
.day.in-range{background:var(--sun)!important}
.day.we.free{background:#d8edd2}
.day.pend{background:#fbe9c7}.day.pend:hover{background:#f6dca6}.day.pend .pr{color:#9a6a1f}
.day.pend::after{content:"";position:absolute;top:4px;right:5px;width:5px;height:5px;border-radius:50%;background:var(--clay)}
.lg-pend{background:#fbe9c7;border:1px solid #eccf93}
.mcal .c.pend{background:#fbe9c7}.mcal .c.pend b{color:#9a6a1f}.mcal .c.pend{position:relative}
.mcal .c.pend::after{content:"";position:absolute;top:5px;right:6px;width:5px;height:5px;border-radius:50%;background:var(--clay)}
.selbar{margin-top:18px;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;background:var(--night);color:#fff;border:1px solid rgba(201,168,106,.28);border-radius:var(--r);padding:18px 26px;box-shadow:var(--shadow-s);opacity:0;transform:translateY(10px);transition:.3s;pointer-events:none}
.selbar.show{opacity:1;transform:none;pointer-events:auto}
.selbar .sum{font-family:var(--disp);font-size:1.5rem;color:var(--sun)}
.selbar b{color:var(--sun)}
.selbar .clr{background:none;border:1px solid rgba(255,255,255,.4);color:#fff;border-radius:999px;padding:.6rem 1rem;cursor:pointer;font-size:.85rem}

/* activities */
.acts{background:var(--night);color:#fff}
.acts .shead h2{color:#fff}.acts .shead p{color:rgba(255,255,255,.8)}
.agrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.acard{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;box-shadow:var(--shadow-s)}
.acard img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.acard:hover img{transform:scale(1.08)}
.acard::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(8,24,26,.85))}
.acard .cap{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:20px}
.acard .cap h4{color:#fff;font-size:1.3rem}
.acard .cap p{color:rgba(255,255,255,.82);font-size:.86rem;margin-top:.25rem}

/* reviews */
.revs{background:var(--sand)}
.rscroll{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(320px,1fr);gap:20px;overflow-x:auto;padding:6px 2px 18px;scroll-snap-type:x mandatory}
.rcard{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px;box-shadow:var(--shadow-s);scroll-snap-align:start;display:flex;flex-direction:column}
.stars{color:var(--clay);font-size:1rem;letter-spacing:2px;margin-bottom:.7rem}
.rcard p{font-size:.97rem;color:var(--text);flex:1}
.rmeta{display:flex;align-items:center;gap:.7rem;margin-top:1.1rem}
.ravatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--teal),var(--sun));color:#fff;display:grid;place-items:center;font-family:var(--disp);font-weight:700}
.rmeta b{display:block;font-size:.92rem}.rmeta span{font-size:.78rem;color:var(--muted)}
.rsrc{text-align:center;margin-top:22px;font-size:.9rem;color:var(--muted)}

/* directions */
.dir{background:var(--sand-2)}
.dir-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:42px;align-items:center}
.dir-map{border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);border:6px solid #fff}
.dir-steps{list-style:none;display:flex;flex-direction:column;gap:1.1rem}
.dir-steps li{display:flex;gap:1rem;align-items:flex-start}
.dir-steps .num{flex:0 0 auto;width:38px;height:38px;border-radius:12px;background:var(--ink);color:#fff;display:grid;place-items:center;font-family:var(--disp);font-weight:700}
.dir-steps h4{font-size:1.05rem;margin-bottom:.1rem}
.dir-steps p{font-size:.92rem;color:var(--muted)}

/* faq */
.faq-list{max-width:840px;margin:0 auto}
.faq-i{background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);margin-bottom:12px;overflow:hidden}
.faq-q{width:100%;text-align:left;background:none;border:0;padding:19px 24px;font-size:1.04rem;font-weight:600;color:var(--ink);cursor:pointer;display:flex;justify-content:space-between;gap:1rem;font-family:var(--sans)}
.faq-q .pm{color:var(--clay);font-size:1.3rem;transition:transform .25s;line-height:1}
.faq-i.open .pm{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s}
.faq-a p{padding:0 24px 19px;color:var(--muted);font-size:.95rem}

/* lead */
.lead{background:var(--night);color:#fff;position:relative;overflow:hidden}
.lead::before{content:"";position:absolute;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,rgba(130,101,58,.5),transparent 70%);top:-160px;right:-120px}
.lead-box{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.lead-box h2{color:#fff;font-size:clamp(2rem,3.8vw,2.9rem)}
.lead-box p{color:rgba(255,255,255,.85);margin-top:.8rem}
.lform{background:#fff;border-radius:var(--r);padding:30px;box-shadow:var(--shadow)}
.lform label{display:block;font-size:.78rem;font-weight:700;color:var(--muted);margin-bottom:.35rem;text-transform:uppercase;letter-spacing:.05em}
.field{width:100%;padding:.85rem 1rem;border:1px solid var(--line);border-radius:12px;font-family:var(--sans);font-size:.98rem;margin-bottom:1rem;color:var(--ink);background:var(--sand)}
.field:focus{outline:none;border-color:var(--teal);background:#fff}
.lmini{font-size:.76rem;color:var(--muted);text-align:center;margin-top:.7rem}

/* footer */
footer{background:#08191B;color:rgba(255,255,255,.78);padding:54px 0 30px;border-top:3px solid var(--clay)}
.fgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:32px;margin-bottom:30px}
footer h4{color:#fff;margin-bottom:.85rem;font-size:1.05rem}
footer a{color:rgba(255,255,255,.78)}footer a:hover{color:var(--sun)}
.flinks{display:flex;flex-direction:column;gap:.5rem;font-size:.92rem}
.fsoc{display:flex;gap:.6rem;margin-top:14px}
.soc-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:rgba(201,168,106,.12);border:1px solid rgba(201,168,106,.42);color:var(--gold);transition:background .2s,color .2s,border-color .2s}
.soc-btn:hover{background:var(--clay);border-color:var(--clay);color:#fff}
.soc-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
/* У знака MAX своя система координат (viewBox на 340 единиц вместо 24), поэтому толщину
   линии пересчитываем: 24 в его координатах — это те же ~1,3 px на экране, что и у соседей.
   Оставь 1.7 — и он нарисовался бы волоском. */
.hsoc-btn .ic-max,.soc-btn .ic-max{stroke-width:24}
.fbot{border-top:1px solid rgba(201,168,106,.16);padding-top:20px;font-size:.82rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:.6rem;opacity:.75}
.fbot a{text-decoration:underline;text-underline-offset:3px}

/* modal */
.ov{position:fixed;inset:0;background:rgba(8,20,22,.65);backdrop-filter:blur(5px);z-index:100;display:none;align-items:center;justify-content:center;padding:18px}
.ov.show{display:flex}
.modal{background:var(--sand);border-radius:var(--r);width:min(900px,100%);max-height:94vh;overflow:auto;box-shadow:var(--shadow);animation:pop .25s}
.modal.sm{width:min(460px,100%)}
@keyframes pop{from{transform:scale(.95);opacity:0}to{transform:none;opacity:1}}
.mclose{position:sticky;top:0;float:right;background:rgba(255,255,255,.9);border:0;width:38px;height:38px;border-radius:50%;font-size:1.4rem;cursor:pointer;color:var(--ink);z-index:5;margin:12px 12px 0 0}
.mgal{position:relative}
.mgal-main{aspect-ratio:16/10;background:#ddd;overflow:hidden}
.mgal-main img{width:100%;height:100%;object-fit:cover}
.mgal-thumbs{display:flex;gap:8px;padding:10px 18px;overflow-x:auto;background:#fff}
.mgal-thumbs img{width:78px;height:58px;object-fit:cover;border-radius:9px;cursor:pointer;opacity:.6;flex:0 0 auto;transition:.2s}
.mgal-thumbs img.on{opacity:1;outline:2px solid var(--clay)}
.mcontent{padding:22px 28px 28px}
.mcontent h3{font-size:1.9rem}
.mtags{display:flex;flex-wrap:wrap;gap:.45rem .9rem;margin:.8rem 0 1.1rem;font-size:.85rem;color:var(--text)}
.mtags span{display:inline-flex;align-items:center;gap:.32rem}
.mcal-head{display:flex;align-items:center;justify-content:space-between;margin:1.4rem 0 .8rem}
.mcal-head .mlabel{min-width:auto;font-size:1.15rem}
.mcal{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);padding:12px}
.mcal .dow{text-align:center;font-size:.7rem;color:var(--muted);font-weight:600;text-transform:uppercase;padding-bottom:4px}
.mcal .c{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;border-radius:9px;font-size:.86rem;cursor:pointer;transition:.12s}
.mcal .c b{font-weight:700;font-size:.58rem;color:var(--teal);font-family:var(--sans)}
.mcal .c.sel b,.mcal .c.sel-edge b{color:#fff}.mcal .c.in-range b{color:#3a2406}
.mcal .c.empty{cursor:default}
.mcal .c.free{background:#e2f1e2;color:var(--ink)}.mcal .c.free:hover{background:#c9e7c9}
.mcal .c.busy{background:repeating-linear-gradient(45deg,#ebe3d5,#ebe3d5 4px,#ded4c2 4px,#ded4c2 8px);color:#b3a890;cursor:not-allowed}
.mcal .c.today{box-shadow:inset 0 0 0 2px var(--teal)}
.mcal .c.sel,.mcal .c.sel-edge{background:var(--clay)!important;color:#fff}
.mcal .c.in-range{background:var(--sun)!important;color:var(--ink)}
.msum{margin-top:16px;background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);padding:14px 18px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.6rem}
.msum .t{font-family:var(--disp);font-size:1.35rem;color:var(--ink)}
.msum .lbl{font-size:.85rem;color:var(--muted)}
.bsummary{background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);padding:16px 18px;margin-bottom:18px}
.bsummary .row{display:flex;justify-content:space-between;padding:6px 0;font-size:.95rem}
.bsummary .row span{color:var(--muted)}.bsummary .row b{color:var(--ink)}
.bsummary .tot{border-top:1px dashed var(--line);margin-top:6px;padding-top:10px}
.bsummary .tot b{font-family:var(--disp);font-size:1.4rem}
.modal .field{background:#fff}
.success{text-align:center;padding:22px 4px}
.success .ok{width:66px;height:66px;border-radius:50%;background:#e2f1e2;color:#27a060;display:grid;place-items:center;font-size:2rem;margin:0 auto 14px}
.success .ok--fail{background:#fdeaea;color:#c0392b}
/* поле-ловушка для ботов: убрано с глаз, но остаётся в DOM и в форме */
.hp-field{position:absolute!important;left:-9999px;top:auto;width:1px;height:1px;opacity:0;pointer-events:none}

/* sticky mobile cta */
.sticky-cta{position:fixed;left:14px;right:14px;bottom:14px;z-index:65;display:none}
.sticky-cta .btn{width:100%;box-shadow:0 16px 36px -12px rgba(130,101,58,.9)}

.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s,transform .7s}
.reveal.in{opacity:1;transform:none}

/* custom icons */
.ic{width:1.05em;height:1.05em;flex:0 0 auto;vertical-align:-.15em;color:var(--teal)}
.chip .ic,.hc-tag .ic{color:inherit}
.chip.on .ic{color:#fff}
.amen .ic,.mtags .ic,.feat-base span .ic{color:var(--teal)}
.ft-feat .ic{color:var(--teal)}

/* hero badges accent dot */
.hero-badges span{display:inline-flex;align-items:center}
.hero-badges span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--sun);display:inline-block;margin-right:.5rem;flex:0 0 auto}

/* what's included */
.what{background:var(--sand-2)}
.feat-base{background:#fff;border:1px solid rgba(138,109,59,.18);border-radius:var(--r-sm);padding:16px 18px;margin-bottom:16px;font-size:.9rem;line-height:2.1}
.feat-base b{color:var(--ink);font-family:var(--disp)}
.feat-base span{display:inline-flex;align-items:center;gap:.35rem;background:rgba(138,109,59,.09);color:var(--ink);border:1px solid rgba(138,109,59,.16);border-radius:999px;padding:.28rem .78rem;margin:.15rem .25rem}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:14px}
.chip{display:inline-flex;align-items:center;gap:.3rem;background:#fff;border:1px solid var(--line);color:var(--text);border-radius:999px;padding:.5rem .9rem;font-family:var(--sans);font-size:.86rem;cursor:pointer;transition:.18s}
.chip:hover{border-color:var(--clay)}
.chip.on{background:var(--clay);color:#fff;border-color:var(--clay)}
.chip.reset{background:transparent;border-style:dashed;color:var(--clay-d)}
.feat-count{font-size:.92rem;color:var(--muted);margin-bottom:14px;font-weight:600}
.ft-wrap{overflow-x:auto;border-radius:var(--r);background:#fff;box-shadow:0 34px 70px -40px rgba(11,33,36,.5);border:1px solid rgba(138,109,59,.2)}
table.ft{border-collapse:collapse;width:100%;min-width:680px}
.ft th,.ft td{padding:12px 10px;text-align:center;font-size:.9rem;border-bottom:1px solid var(--sand-2)}
.ft thead th{position:sticky;top:0;background:#fff;z-index:2;font-family:var(--disp);font-weight:700;color:var(--ink);font-size:.98rem;border-bottom:2px solid var(--sand-2)}
.ft .ft-feat{position:sticky;left:0;background:#fff;z-index:1;text-align:left;min-width:200px;font-weight:500;color:var(--text);box-shadow:6px 0 12px -10px rgba(0,0,0,.18)}
.ft thead .ft-feat{z-index:3}
.ft tbody tr:hover td{background:#fcfaf5}
.ft .yes{color:#27a060;font-weight:800;font-size:1.05rem}
.ft .no{color:#cdbfa6}
.ft th.dim,.ft td.dim{opacity:.32}

@media(max-width:1300px){ .h-phone{display:none} }
@media(max-width:1080px){
  .nav{display:none} .burger{display:flex}
  .nav.open{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:var(--sand);padding:18px 26px;gap:1rem;box-shadow:var(--shadow-s)}
  .nav.open a{color:var(--ink)}
}
@media(max-width:980px){
  .grid,.agrid{grid-template-columns:repeat(2,1fr)}
  .dir-grid,.lead-box{grid-template-columns:1fr;gap:30px}
  .fgrid{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .nav,.h-phone,.h-mail{display:none}   /* на телефоне в шапке остаются только мессенджеры: почта и телефон есть в подвале */
  /* Шапка на телефоне не помещалась в экран — бургер уезжал за правый край и меню было не открыть.
     Логотип мельче, отступы плотнее, «Забронировать» убрана: внизу для этого есть липкая кнопка. */
  .hdr .brand-logo{height:40px}
  .hactions{gap:.6rem}
  .hdr .hactions > .btn{display:none}
  .burger{display:flex}
  .nav.open{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:var(--sand);padding:18px 26px;gap:1rem;box-shadow:var(--shadow-s)}
  .nav.open a{color:var(--ink)}
  .section{padding:64px 0}
  .grid,.agrid,.fgrid{grid-template-columns:1fr}
  .sticky-cta{display:block}
  .hero-in{padding-bottom:90px}
  /* шахматка на мобиле — крупнее тач-цели, заметнее липкая колонка */
  .hcell{min-width:140px;padding:10px 12px}
  .hcell .n{font-size:.95rem}
  .day{width:54px;height:54px}
  .day .pr{font-size:.62rem}
  .mcal .c{min-height:46px}
  .selbar{flex-direction:column;align-items:stretch;gap:.7rem}
  .selbar > div:last-child{display:flex;justify-content:space-between;gap:.6rem}
  .lead-box{padding-top:8px}
}

/* === Доработки 2.0: a11y, видео, дефицит, апселл, доступность === */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .reveal{opacity:1;transform:none}
  .hero-slides .slide{animation:none}
}

/* skip-link + видимый focus */
.skip-link{position:absolute;left:-9999px;top:0;background:var(--clay);color:#fff;padding:.7rem 1rem;border-radius:0 0 12px 0;z-index:200;font-weight:700}
.skip-link:focus{left:0}
:focus-visible{outline:3px solid var(--clay);outline-offset:2px;border-radius:8px}
.btn:focus-visible,.chip:focus-visible{outline-offset:3px}
.day:focus-visible,.mcal .c:focus-visible{outline:3px solid var(--clay);outline-offset:-3px;position:relative;z-index:2}

/* hero видео-фон (включается data-hero-video="1") */
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}

/* плашка дефицита в карточке (Феликс) */
.hc-scarcity{display:inline-flex;align-items:center;gap:.4rem;background:#fdebd6;color:#9a4f10;font-size:.8rem;font-weight:600;padding:.32rem .7rem;border-radius:999px;margin:-.4rem 0 .9rem;align-self:flex-start}
.hc-scarcity span{color:var(--clay);font-size:.7rem;line-height:1}

/* апселл на экране успеха брони */
.upsell{margin-top:1.2rem;background:#fff;border:1px dashed var(--line);border-radius:var(--r-sm);padding:14px 16px;text-align:left}
.upsell-h{font-weight:700;color:var(--ink);margin-bottom:.5rem;font-family:var(--disp)}
.upsell .ups{display:flex;align-items:center;gap:.6rem;padding:.4rem 0;font-size:.92rem;color:var(--text);cursor:pointer}
.upsell .ups input{width:18px;height:18px;accent-color:var(--clay)}

/* подпись «открыть карту» поверх миниатюры карты */
/* ===== Модуль бронирования (Вариант A): поиск по датам → свободные дома ===== */
.bk-panel{background:#fff;border:1px solid rgba(138,109,59,.22);border-radius:var(--r);padding:22px;box-shadow:0 40px 84px -46px rgba(11,33,36,.55)}
.bk-search{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;background:var(--sand);border:1px solid var(--line);border-radius:16px;padding:12px}
.bk-search .f{display:flex;flex-direction:column;gap:.3rem;flex:1;min-width:120px}
.bk-search label{font-size:.62rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;padding-left:4px}
.bk-search input,.bk-search select{padding:.72rem .8rem;border:1px solid var(--line);border-radius:12px;font-family:var(--sans);font-size:.95rem;color:var(--ink);background:#fff}
.bk-search input:focus,.bk-search select:focus{outline:none;border-color:var(--clay);box-shadow:0 0 0 3px rgba(138,109,59,.15)}
.bk-search .btn{height:47px;white-space:nowrap}
.bk-summary{margin:18px 2px 16px;color:var(--ink);font-size:1rem}
.bk-summary b{color:var(--clay)}
.bk-results{display:flex;flex-direction:column;gap:14px}
.bk-res{display:grid;grid-template-columns:240px 1fr auto;gap:22px;background:#fff;border:1px solid rgba(138,109,59,.18);border-radius:16px;overflow:hidden;transition:transform .25s,box-shadow .25s}
.bk-res:hover{transform:translateY(-3px);box-shadow:0 30px 60px -40px rgba(11,33,36,.5)}
/* Фото и название — кнопки, открывающие карточку дома. Сбрасываем всё «кнопочное»,
   чтобы они выглядели ровно как раньше, но ловили клик и работали с клавиатуры. */
.bk-ph{position:relative;min-height:180px;background-size:cover;background-position:center;border:0;padding:0;width:100%;display:block;cursor:pointer;font:inherit;color:inherit}
.bk-name{background:none;border:0;padding:0;font:inherit;color:inherit;text-align:left;cursor:pointer}
.bk-name:hover{color:var(--clay)}
.bk-ph:focus-visible,.bk-name:focus-visible{outline:3px solid var(--clay);outline-offset:2px}
.bk-res:hover .bk-name{color:var(--clay)}
.bk-free{position:absolute;top:12px;left:12px;background:rgba(255,255,255,.94);color:#1c7a45;font-size:.72rem;font-weight:700;padding:.28rem .6rem;border-radius:999px;display:flex;align-items:center;gap:.35rem}
.bk-free i{width:7px;height:7px;border-radius:50%;background:#27a060;display:inline-block}
.bk-mid{padding:20px 0;display:flex;flex-direction:column;justify-content:center}
.bk-mid h3{font-size:1.4rem}
.bk-badge{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--clay);margin-top:.25rem}
.bk-specs{display:flex;gap:16px;flex-wrap:wrap;color:var(--muted);font-size:.86rem;margin:.7rem 0 .5rem}
.bk-amen{color:var(--text);font-size:.82rem;line-height:1.5}
.bk-price{padding:20px 22px 20px 0;text-align:right;display:flex;flex-direction:column;justify-content:center;min-width:200px}
.bk-pn{font-size:.78rem;color:var(--muted)}
.bk-pn b{font-family:var(--disp);font-size:1.4rem;color:var(--ink)}
.bk-tot{font-size:.86rem;color:var(--ink);margin:.35rem 0 .85rem}
.bk-tot b{color:var(--clay)}
.bk-price .btn{white-space:nowrap}
.bk-empty{padding:26px;text-align:center;color:var(--muted)}
@media(max-width:720px){
  .bk-res{grid-template-columns:1fr}
  .bk-ph{min-height:190px}
  .bk-mid{padding:16px 18px 0}
  .bk-price{padding:0 18px 18px;text-align:left;align-items:flex-start;min-width:0}
}
.dir-map a{position:relative;display:block;color:#fff}
.dir-map-tag{position:absolute;left:14px;bottom:14px;background:rgba(14,42,46,.92);color:#fff;font-size:.82rem;font-weight:600;padding:.5rem .9rem;border-radius:999px;backdrop-filter:blur(4px)}

/* ============================================================
   Люкс-доводка v2: модуль бронирования, отзывы, FAQ, модалка,
   раздел «Окрестности». Только визуальный слой — классы/логика те же.
   ============================================================ */

/* --- Модуль бронирования (шахматка) --- */
.btoolbar{margin-bottom:22px}
.mnav{background:#fff;border:1px solid rgba(138,109,59,.22);border-radius:999px;padding:5px;gap:.3rem;box-shadow:var(--shadow-s)}
.mnav button{width:40px;height:40px;border-radius:50%;border:0;background:transparent;color:var(--ink)}
.mnav button:hover:not(:disabled){background:var(--clay);color:#fff}
.mlabel{font-size:1.3rem}
.gfilter select{border:1px solid rgba(138,109,59,.28);border-radius:999px;padding:.6rem 1.05rem}
.gfilter select:focus{outline:none;border-color:var(--clay);box-shadow:0 0 0 3px rgba(138,109,59,.16)}
.legend{gap:.7rem}
.legend span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:.34rem .78rem;display:inline-flex;align-items:center;color:var(--text)}
.board-panel{background:#fff;border:1px solid rgba(138,109,59,.22);border-radius:var(--r);padding:20px 22px 24px;box-shadow:0 40px 84px -46px rgba(11,33,36,.55)}
.board-panel .btoolbar{margin-bottom:16px}
.board-panel .legend{margin-bottom:14px}
.board-panel .bwrap{border:0;box-shadow:none;background:transparent;border-radius:0;border-top:1px solid rgba(138,109,59,.14);padding-top:2px}
.board-panel .selbar{margin-top:16px}
.board tbody tr:nth-of-type(even) .hcell{background:#faf6ee}
.board thead th{background:linear-gradient(180deg,#fbf8f1,#f5efe3);border-bottom:1px solid rgba(138,109,59,.22)}
.board thead th.we{color:var(--clay)}
.hcell{background:#fdfbf6}
.board tbody tr:hover .hcell{background:#f7f1e6}
.day .pr,.hcell .p,.hc-price b,.selbar .sum,.msum .t,.bsummary .tot b,.pdist{font-variant-numeric:tabular-nums}

/* --- Отзывы --- */
.revs .rcard{border:1px solid rgba(138,109,59,.18);border-top:3px solid var(--clay);position:relative;padding-top:30px}
.revs .rcard::before{content:"\201C";position:absolute;top:6px;right:22px;font-family:Georgia,serif;font-size:3.6rem;line-height:1;color:rgba(138,109,59,.22);pointer-events:none}
.ravatar{background:linear-gradient(135deg,var(--clay),var(--gold))}
.stars{color:var(--clay)}

/* --- FAQ --- */
.faq-i{border:1px solid rgba(138,109,59,.18);transition:border-color .2s,box-shadow .2s}
.faq-i:hover{border-color:rgba(138,109,59,.42)}
.faq-i.open{border-color:var(--clay);box-shadow:0 18px 42px -30px rgba(11,33,36,.55)}

/* --- Модалка дома --- */
.modal{border:1px solid rgba(138,109,59,.22);box-shadow:0 50px 100px -40px rgba(11,33,36,.7)}
.mcontent h3{letter-spacing:-.02em}
.mtags .ic{color:var(--clay)}
.msum{border:1px solid rgba(138,109,59,.2);background:#fdfbf6}
.msum .t{color:var(--clay)}
.bsummary{border:1px solid rgba(138,109,59,.18)}
.bsummary .tot b{color:var(--clay)}
.mgal-thumbs img.on{outline-color:var(--clay)}

/* --- Раздел «Окрестности» --- */
.around{background:var(--sand)}
.around-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pcard{background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--clay);border-radius:var(--r);padding:24px 24px 26px;box-shadow:var(--shadow-s);transition:transform .28s,box-shadow .28s;display:flex;flex-direction:column}
.pcard:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.pcard-top{display:flex;justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.8rem}
.pcat{font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--clay);font-weight:700}
.pdist{font-size:.76rem;color:var(--muted);background:rgba(138,109,59,.09);border:1px solid rgba(138,109,59,.18);border-radius:999px;padding:.2rem .62rem;white-space:nowrap}
.pcard h3{font-size:1.42rem;margin-bottom:.45rem}
.pcard p{font-size:.92rem;color:var(--muted);line-height:1.55}
@media(max-width:980px){.around-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.around-grid{grid-template-columns:1fr}}

/* ===== Hero: центрированная композиция + читаемость логотипа ===== */
.hero{align-items:center}
.hero::before{content:"";position:absolute;inset:0;z-index:1;background:radial-gradient(ellipse 76% 66% at 50% 46%,rgba(6,17,19,.62) 0%,rgba(6,17,19,.18) 55%,transparent 78%)}
.hero-in{padding:110px 0 92px;text-align:center;max-width:900px;margin:0 auto}
.hero-eye{justify-content:center}
.hero-eye::after{content:"";width:40px;height:1px;background:rgba(201,168,106,.7)}
.hero h1{margin-left:auto;margin-right:auto;max-width:20ch}
.hero-sub{margin-left:auto;margin-right:auto}
.search{margin-left:auto;margin-right:auto}
/* Логотип поверх hero: тёмный скрим шапки для контраста + компактный лого без подписи */
.brand-logo{height:48px}
@media(max-width:520px){.brand-logo{height:46px}}
.hdr:not(.solid)::before{content:"";position:absolute;inset:0 0 auto 0;height:150px;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(5,14,16,.62) 0%,rgba(5,14,16,.28) 45%,transparent 100%)}
.hdr:not(.solid) .brand-logo{filter:drop-shadow(0 3px 12px rgba(0,0,0,.85))}
footer .brand-logo{height:58px}

/* ===== Кликабельные карточки «Окрестности» ===== */
a.pcard{text-decoration:none;color:inherit;cursor:pointer}
.pmore{margin-top:auto;padding-top:.9rem;font-size:.82rem;font-weight:700;color:var(--clay);letter-spacing:.01em}
a.pcard:hover .pmore{text-decoration:underline}

/* ===== Подстраницы (окрестности, новости) ===== */
.subhdr{position:sticky;top:0;z-index:70;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:14px clamp(16px,4vw,52px);background:rgba(244,238,226,.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(138,109,59,.2)}
.subhdr .brand-logo{height:44px}
.subhdr .brand{color:var(--ink)}
.breadcrumb{font-size:.85rem;color:var(--muted);margin-bottom:1.5rem}
.breadcrumb a{color:var(--clay);font-weight:600}
.breadcrumb a:hover{text-decoration:underline}
.breadcrumb span{color:var(--ink)}
.place-hero .eyebrow{margin-bottom:.5rem}
.place-hero h1{font-size:clamp(2.2rem,5vw,3.4rem);color:var(--ink);letter-spacing:-.02em;line-height:1.05}
.place-lead{font-size:1.18rem;color:var(--text);max-width:66ch;margin:1.1rem 0 1.4rem}
.place-body{max-width:66ch}
.place-body p{margin-bottom:1rem;color:var(--text)}
.place-note{background:#fff;border:1px solid rgba(138,109,59,.2);border-left:3px solid var(--clay);border-radius:12px;padding:16px 18px;margin:1.8rem 0;max-width:66ch}
.place-note b{color:var(--ink)}
.place-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.6rem}
.place-stub{margin-top:1.4rem;font-size:.85rem;color:var(--muted);font-style:italic}

/* ===== Новости ===== */
.news-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}
.ncard{background:#fff;border:1px solid rgba(138,109,59,.18);border-top:3px solid var(--clay);border-radius:var(--r);padding:22px 24px;box-shadow:var(--shadow-s);display:flex;flex-direction:column}
.ncard-top{display:flex;justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.7rem}
.ntag{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--clay);font-weight:700}
.ndate{font-size:.78rem;color:var(--muted);font-variant-numeric:tabular-nums}
.ncard h3{font-size:1.3rem;color:var(--ink);margin-bottom:.5rem}
.ncard p{font-size:.94rem;color:var(--text);line-height:1.55}
.ncard .nlink{margin-top:.9rem;font-size:.86rem;font-weight:700;color:var(--clay)}
.news-empty{padding:30px;text-align:center;color:var(--muted)}

/* Заглушка карты посёлка (до финальной карты) */
.dir-map-stub{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-height:300px;background:linear-gradient(160deg,#fff,var(--sand));padding:44px;text-align:center}
.dir-map-stub img{height:auto;width:min(240px,68%);opacity:.94}
.dir-map-cap{font-size:.9rem;color:var(--muted);max-width:44ch}
/* Карта посёлка под карточками домов: шире, чем заглушка в «Как добраться», и с отступом */
.poselok-map{margin-top:32px}
/* Цены — не переносить символ валюты на другую строку */
.bk-pn b,.bk-tot,.msum .t,.bsummary .tot b{white-space:nowrap}
/* Плотнее стыки одинаковых по тону секций */
.around{padding-bottom:52px}
.revs{padding-top:52px}

/* ===== Скролл-интеграции: прогресс-бар чтения + счётчики ===== */
.scroll-progress{position:fixed;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--clay),var(--gold));transform:scaleX(0);transform-origin:0 50%;z-index:200;will-change:transform;pointer-events:none}
.stats-band{background:var(--sand-2);padding:46px 0;border-top:1px solid rgba(138,109,59,.14);border-bottom:1px solid rgba(138,109,59,.14)}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}
.stat{display:flex;flex-direction:column;gap:.35rem}
.stat-num{font-family:var(--disp);font-weight:700;font-size:clamp(2rem,4.6vw,3.1rem);color:var(--clay);line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.stat-lbl{font-size:.86rem;color:var(--muted);letter-spacing:.02em}
@media(max-width:640px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:30px 20px}}

/* Вращающаяся печать-монограмма «В» в углу hero (крутится от скролла) */
.hero-seal{position:fixed;z-index:60;right:clamp(16px,3vw,40px);bottom:clamp(16px,3.5vh,32px);width:118px;height:118px;display:block;line-height:0;filter:drop-shadow(0 8px 22px rgba(0,0,0,.35))}
.hero-seal:hover{transform:scale(1.07)}
.hero-seal-svg{width:100%;height:100%;display:block;will-change:transform}
.hero-seal:focus-visible{outline:3px solid var(--sun);outline-offset:4px;border-radius:50%}
@media(max-width:900px){.hero-seal{display:none}}

/* Параллакс hero-фона (фон отстаёт от скролла) + саморисующаяся линия */
.hero-slides{top:-16%;height:132%;bottom:auto;will-change:transform}
.draw-line{display:block;width:min(440px,74%);height:auto;margin:12px 0 2px}
.draw-line path{stroke:var(--clay)}

/* h2-«как h4» в подвале */
.fh{color:#fff;margin-bottom:.85rem;font-size:1.05rem;font-family:var(--disp);font-weight:700;letter-spacing:-.01em}

/* контраст текста легенды */
.legend{color:#3a4a47}
