/* Design tokens — единственный активный набор публичного сайта.
   Другие :root в этом файле удалены: раньше их было три (тёмно-синий,
   лазурный и green-neutral), и какой токен побеждает, зависело от порядка
   строк. Здесь одно объявление и одно правило: любой цвет интерфейса берётся
   отсюда. Шкала --brand-* — тот же зелёный ряд, что раньше назывался
   --azure-* и вводил в заблуждение: имена синие, значения зелёные. */
:root {
  --primary: #143a32;          /* заголовки, футер, тёмный текст бренда */
  --primary-hover: #0d2d27;
  --secondary: #1d735a;        /* действие: primary-кнопки, акцентные метки */
  --secondary-strong: #10503f; /* тёмный акцент для текстовых ссылок на светлом */
  --brand-50: #f4f8f5;
  --brand-100: #e8f2ed;
  --brand-200: #c9ddd4;
  --brand-500: #4b9478;
  --brand-600: #2d7a61;
  --brand-700: #1d6b54;
  --brand-800: #14503f;
  --background: #fcfdfb;
  --surface: #f2f6f3;
  --surface-soft: #eef5f4;     /* спокойный фон карточек будущих сервисов */
  --surface-warm: #f6f2ea;     /* тёплая полоса: блок о компании, правовые страницы */
  --surface-muted: #e8f1ec;
  --border: #d4e1db;
  --text: #20332e;
  --text-muted: #5a6d66;
  --focus: #147a65;
  --success: #217a58;
  --emergency: #a73337;        /* аварийная служба: единственная не-зелёная роль */
  --emergency-hover: #82272b;
  --emergency-surface: #fff4f2;
  --emergency-border: #efc3bd;
  --container: 1180px;
  --radius: 16px;
  --shadow: 0 14px 40px rgba(20, 58, 50, .10);
  color: var(--text);
  background: var(--background);
  /* Системный стек: Inter в проекте не поставляется и никогда не грузился —
     объявлять его значило обещать шрифт, которого нет. */
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-synthesis: none;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:0;font-size:16px;line-height:1.55;background:var(--background);color:var(--text)}img{display:block;max-width:100%;height:auto}a{color:var(--primary);text-underline-offset:.18em}a:hover{color:var(--primary-hover)}button,input,select{font:inherit}button,input,select,a{touch-action:manipulation}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.container{width:min(var(--container),calc(100% - 48px));margin-inline:auto}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.skip-link{position:fixed;z-index:200;left:16px;top:12px;padding:10px 14px;background:var(--primary);color:#fff;border-radius:8px;transform:translateY(-180%)}.skip-link:focus{transform:none}.preview-banner{padding:10px 20px;background:#fff2cc;color:#654500;text-align:center;border-bottom:1px solid #e1c77c;font-weight:650;font-size:.92rem}.site-header{position:relative;z-index:50;border-bottom:1px solid var(--border);background:rgba(255,255,255,.98)}.header-inner{min-height:78px;display:flex;align-items:center;gap:24px}.brand{display:inline-flex;align-items:center;gap:11px;color:var(--primary);text-decoration:none;font-size:1.5rem;font-weight:780;letter-spacing:-.03em;white-space:nowrap}.brand-mark{display:inline-grid;grid-template-columns:repeat(3,7px);align-items:end;gap:3px;width:28px;height:32px;padding:4px;border-left:2px solid var(--secondary);border-bottom:2px solid var(--secondary);transform:skewY(-8deg)}.brand-mark i{display:block;background:var(--primary)}.brand-mark i:nth-child(1){height:12px}.brand-mark i:nth-child(2){height:21px}.brand-mark i:nth-child(3){height:28px}.desktop-nav{margin-left:auto}.desktop-nav ul,.mobile-nav ul{margin:0;padding:0;list-style:none}.desktop-nav ul{display:flex;align-items:center;gap:2px 18px}.desktop-nav a{display:inline-flex;min-height:44px;align-items:center;color:var(--text);text-decoration:none;border-bottom:2px solid transparent;font-size:.94rem}.desktop-nav a[aria-current=page]{color:var(--primary);border-color:var(--primary);font-weight:700}.appeal-disabled{max-width:170px;min-height:44px;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:#eef1f5;color:#778391;cursor:not-allowed;font-size:.82rem;line-height:1.2}.menu-toggle{display:none;width:46px;height:46px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--primary);place-items:center}.menu-toggle i,.menu-toggle i::before,.menu-toggle i::after{display:block;width:23px;height:3px;background:currentColor;border-radius:3px;content:"";transition:.2s}.menu-toggle i::before{transform:translateY(-7px)}.menu-toggle i::after{transform:translateY(4px)}.menu-toggle[aria-expanded=true] i{background:transparent}.menu-toggle[aria-expanded=true] i::before{transform:translateY(0) rotate(45deg)}.menu-toggle[aria-expanded=true] i::after{transform:translateY(-3px) rotate(-45deg)}.mobile-nav{position:absolute;left:0;right:0;top:78px;padding:12px 24px 24px;background:#fff;border-bottom:1px solid var(--border);box-shadow:var(--shadow)}.mobile-nav[hidden]{display:none}.mobile-nav ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.mobile-nav a{display:flex;min-height:48px;align-items:center;text-decoration:none;border-bottom:1px solid var(--border)}
.home-hero{overflow:hidden;border-bottom:1px solid var(--border)}.home-hero-grid{min-height:555px;display:grid;grid-template-columns:minmax(0,.88fr) minmax(430px,1.12fr);align-items:center;gap:32px;padding-block:58px 28px}.home-hero-grid>*{min-width:0}.home-hero h1{max-width:670px;margin:0 0 22px;color:var(--primary);font-size:clamp(2.8rem,5.4vw,5rem);line-height:.97;letter-spacing:-.057em}.home-hero p{max-width:620px;margin:0 0 28px;color:var(--text-muted);font-size:clamp(1.08rem,2vw,1.32rem)}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:11px 18px;border:1px solid transparent;border-radius:8px;text-decoration:none;font-weight:700}.button.primary{background:var(--primary);color:#fff}.button.primary:hover{background:var(--primary-hover)}.button.secondary{border-color:var(--border);background:#fff;color:var(--primary)}.hero-art{display:block;min-width:0;max-width:100%;align-self:end}.quick-actions{border-bottom:1px solid var(--border)}.quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.quick-grid a{min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px 25px;color:var(--text);text-decoration:none;border-left:1px solid var(--border);font-weight:700}.quick-grid a:last-child{border-right:1px solid var(--border)}.quick-grid strong{color:var(--secondary);font-size:1.2rem}.quick-grid a:hover{background:var(--surface)}
.page-hero{padding-block:46px 38px;border-bottom:1px solid var(--border)}.page-hero h1{max-width:950px;margin:0;color:var(--primary);font-size:clamp(2.7rem,5vw,4.4rem);line-height:1;letter-spacing:-.045em}.page-hero>div>p{max-width:820px;margin:20px 0 0;color:var(--text-muted);font-size:1.15rem}.breadcrumbs{margin-bottom:22px}.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none;color:var(--text-muted);font-size:.92rem}.breadcrumbs li+li::before{content:"/";margin-right:7px;color:#9ba6b4}.breadcrumbs a{color:inherit}.section{padding-block:72px}.section-soft{background:var(--surface)}.section-head{display:grid;gap:12px;margin-bottom:30px}.section-head h2{margin:0;color:var(--primary);font-size:clamp(2rem,3.7vw,3.1rem);line-height:1.05;letter-spacing:-.037em}.section-head p{max-width:720px;margin:0;color:var(--text-muted);font-size:1.05rem}.section-link{margin:30px 0 0}.text-link{display:inline-flex;align-items:center;gap:8px;font-weight:700}.ui-icon-arrow{width:1.05em;height:1.05em;transition:transform .18s ease}a:hover>.ui-icon-arrow,a:hover .ui-icon-arrow{transform:translateX(3px)}.alert{display:flex;gap:16px;padding:18px 20px;border:1px solid #b7d5e8;border-radius:var(--radius);background:#edf7fc;color:var(--primary)}.alert strong{flex:0 0 auto}.status-badge{display:inline-flex;align-items:center;min-height:29px;padding:4px 9px;border-radius:6px;font-size:.76rem;font-weight:750;line-height:1.2}.status-warning{background:#fff1cd;color:#6d4800;border:1px solid #dec27b}.status-danger{background:#fde7e7;color:#8f2020;border:1px solid #e5aaaa}.status-muted{background:#e9eef3;color:#536171;border:1px solid #cad4de}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--border)}.service-card{min-width:0;padding:28px 28px 30px 0;border-bottom:1px solid var(--border)}.service-card:not(:nth-child(3n+1)){padding-left:28px;border-left:1px solid var(--border)}.service-card>span:first-child{display:block;color:var(--secondary);font-weight:780}.service-card h2,.service-card h3{color:var(--primary)}.service-card h2{margin:12px 0;font-size:1.45rem}.service-card h3{margin:22px 0 5px;font-size:.9rem;text-transform:uppercase;letter-spacing:.04em}.service-card p{color:var(--text-muted)}.service-grid.large{grid-template-columns:repeat(2,minmax(0,1fr))}.service-grid.large .service-card:not(:nth-child(3n+1)){padding-left:0;border-left:0}.service-grid.large .service-card:nth-child(even){padding-left:30px;border-left:1px solid var(--border)}
.house-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}.house-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.house-card{min-width:0;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:#fff;box-shadow:0 5px 20px rgba(11,45,92,.04)}.house-card .media-frame,.house-card .media-placeholder{border:0;border-radius:0;min-height:0}.house-card-body{padding:20px;display:flex;flex:1;flex-direction:column;align-items:flex-start}.house-card h2{margin:15px 0 8px;color:var(--primary);font-size:1.35rem}.house-card p{margin:0 0 18px;color:var(--text-muted)}.house-card .text-link{margin-top:auto}
/* ── Media frame ──────────────────────────────────────────────────────────
   Единственное определение кадра. Пропорцию задаёт --media-frame-ratio,
   который переопределяют модификаторы; фиксированных высот и повторных
   объявлений .media-frame в других таблицах больше нет, поэтому результат
   не зависит от порядка подключения CSS. */
.media-frame{position:relative;margin:0;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);aspect-ratio:var(--media-frame-ratio,16/9)}
.media-frame picture{display:block;height:100%}
.media-frame img{display:block;width:100%;height:100%;object-fit:cover}
/* --media-max-width приходит из данных фотографии: кадр с этим модификатором
   никогда не рисует снимок крупнее его собственного разрешения. */
.media-frame--cap{max-width:var(--media-max-width,none)}
.media-frame .status-badge{position:absolute;left:12px;bottom:12px;max-width:calc(100% - 24px)}
.media-frame--flush{border:0;border-radius:0}
.media-frame--house{--media-frame-ratio:519/379}
.media-frame--article{--media-frame-ratio:16/10}
.media-frame--detail{margin-bottom:28px}
.media-frame--hero{--media-frame-ratio:519/379}
.media-placeholder{min-height:260px;display:grid;place-items:center;padding:24px;border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(145deg,#e7edf3,#f8fafc);color:var(--text-muted);text-align:center}.filter-panel{display:grid;grid-template-columns:1.25fr .85fr .7fr;gap:18px;padding:22px;background:var(--surface);border-radius:var(--radius)}.filter-panel label{display:grid;gap:8px;color:var(--primary);font-weight:700}.filter-panel input,.filter-panel select{width:100%;min-height:48px;padding:10px 13px;border:1px solid #bfc9d5;border-radius:8px;background:#fff;color:var(--text)}.results-count{margin:24px 0;color:var(--text-muted);font-weight:650}.empty-state{padding:26px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text-muted)}.empty-state-block{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:start;max-width:720px;text-align:left}.empty-state-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--brand-100);color:var(--brand-700)}.empty-state-icon .ui-icon{width:24px;height:24px}.empty-state-title{margin:0;color:var(--primary);font-size:1.12rem;font-weight:750;line-height:1.3}.empty-state-text{margin:6px 0 0;color:var(--text-muted)}.empty-state-action{margin:12px 0 0}.empty-state h2{margin:0;color:var(--primary)}.house-detail-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:44px;align-items:center}.house-detail-grid>div{min-width:0}.house-detail-grid h2{margin:22px 0 12px;color:var(--primary);font-size:2.2rem}.feature-rail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--border)}.feature-rail article{padding:24px 24px 24px 0;border-bottom:1px solid var(--border)}.feature-rail article+article{padding-left:24px;border-left:1px solid var(--border)}.feature-rail h3{margin:0 0 10px;color:var(--primary)}.feature-rail p{color:var(--text-muted)}
.house-card[hidden],.empty-state[hidden]{display:none!important}
.article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.article-card{display:flex;flex-direction:column;min-width:0;border-top:4px solid var(--secondary);border-bottom:1px solid var(--border);background:#fff}.article-card .media-frame{border:0;border-radius:0}.article-card-body{display:flex;flex:1;flex-direction:column;padding:24px 2px}.article-card h2{margin:14px 0 10px;color:var(--primary);font-size:1.45rem}.article-card p{color:var(--text-muted)}.article-card .text-link{margin-top:auto}.article-meta{display:flex;flex-wrap:wrap;align-items:center;gap:9px 12px;color:var(--text-muted);font-size:.9rem}.category-rail{display:flex;flex-wrap:wrap;gap:12px 28px;padding:16px 0 28px;border-top:1px solid var(--border);color:var(--text-muted)}.article-detail{max-width:880px;margin:auto}.article-detail>.media-frame{margin-bottom:28px}.article-detail>p{font-size:1.14rem}.article-detail .alert{margin-top:30px}.document-list{border-top:1px solid var(--border)}.document-row{display:grid;grid-template-columns:minmax(0,1.4fr) .55fr .65fr minmax(180px,.65fr);gap:18px;align-items:center;padding:20px 0;border-bottom:1px solid var(--border)}.document-row h2{margin:0;color:var(--primary);font-size:1.06rem;overflow-wrap:anywhere}.document-row p{margin:5px 0 0;color:var(--text-muted);font-size:.9rem}.document-row button{min-height:44px;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:#eef1f5;color:#778391;cursor:not-allowed;font-size:.86rem}.split-copy{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px}.split-copy p{font-size:1.08rem;color:var(--text-muted)}.check-list{margin:0;padding:0;list-style:none}.check-list li{padding:12px 0 12px 22px;border-bottom:1px solid var(--border);position:relative}.check-list li::before{content:"";position:absolute;left:1px;top:20px;width:9px;height:9px;border:2px solid var(--secondary);transform:rotate(45deg)}.fact-list{margin:0;border-top:1px solid var(--border)}.fact-list>div{display:grid;grid-template-columns:240px minmax(0,1fr);gap:24px;padding:18px 0;border-bottom:1px solid var(--border)}.fact-list dt{color:var(--text-muted)}.fact-list dd{margin:0;color:var(--primary);font-weight:650;overflow-wrap:anywhere}.fact-list .status-badge{margin-left:8px}.residents-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:34px;border-top:1px solid var(--border)}.residents-list article{display:grid;grid-template-columns:55px minmax(0,1fr);gap:0 18px;padding:24px 28px 24px 0;border-bottom:1px solid var(--border)}.residents-list article:nth-child(even){padding-left:28px;border-left:1px solid var(--border)}.residents-list span{grid-row:1/3;color:var(--secondary);font-weight:800}.residents-list h2{margin:0;color:var(--primary);font-size:1.25rem}.residents-list p{margin:8px 0 0;color:var(--text-muted)}.faq-list{max-width:920px}.faq-list details{border-bottom:1px solid var(--border)}.faq-list summary{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--primary);cursor:pointer;font-size:1.15rem;font-weight:720;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:"+";font-size:1.7rem;font-weight:400}.faq-list details[open] summary::after{content:"−"}.faq-list details>div{padding:0 54px 20px 0;color:var(--text-muted)}.contact-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--border)}.contact-card{min-width:0;padding:24px 30px 26px 0;border-bottom:1px solid var(--border)}.contact-card:nth-child(even){padding-left:30px;border-left:1px solid var(--border)}.contact-category{margin:0;color:var(--secondary);font-weight:780;font-size:.82rem;letter-spacing:.04em}.contact-card h2{margin:8px 0 12px;color:var(--primary);font-size:1.3rem;overflow-wrap:anywhere}.contact-card>p:not(.contact-category){color:var(--text-muted)}.map-placeholder{margin-top:46px;padding:48px;border:1px solid var(--border);background:repeating-linear-gradient(135deg,#f6f8fa,#f6f8fa 18px,#edf2f6 18px,#edf2f6 36px);text-align:center}.map-placeholder h2{color:var(--primary)}.error-state strong{display:block;color:var(--secondary);font-size:clamp(5rem,14vw,9rem);line-height:1;font-weight:850}.error-state p{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.site-footer{background:var(--primary);color:#fff}.footer-grid{min-height:180px;display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center}.brand-footer{color:#fff}.brand-footer .brand-mark{border-color:#6ac4b4}.brand-footer .brand-mark i{background:#fff}.footer-grid p{max-width:480px;color:#d4e4dd}.footer-grid nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:16px 28px}.site-footer a{color:#fff}.legal-line{padding:18px 0 24px;border-top:1px solid rgba(255,255,255,.22);color:#d4e4dd;font-size:.9rem}
@media(max-width:1100px){.desktop-nav,.header-inner>.appeal-disabled{display:none}.menu-toggle{display:grid;margin-left:auto}.home-hero-grid{grid-template-columns:minmax(0,1fr) minmax(350px,.9fr)}.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-grid a:nth-child(even){border-right:1px solid var(--border)}.quick-grid a:nth-child(n+3){border-top:1px solid var(--border)}.house-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-rail{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-rail article:nth-child(3){padding-left:0;border-left:0}.article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.container{width:min(var(--container),calc(100% - 32px))}.preview-banner{font-size:.82rem}.header-inner{min-height:68px}.mobile-nav{top:68px}.mobile-nav ul{grid-template-columns:1fr}.home-hero-grid{min-height:0;grid-template-columns:1fr;gap:16px;padding-block:42px 24px}.home-hero h1{font-size:clamp(2.55rem,12vw,4rem)}.home-hero p{font-size:1.08rem}.hero-art{order:2}.hero-actions .button{flex:1 1 150px}.quick-grid{gap:10px;padding-block:12px}.quick-grid a{min-height:76px;padding:13px 14px;border:1px solid var(--border)!important;border-radius:8px}.section{padding-block:52px}.service-grid,.service-grid.large,.house-grid,.house-grid.compact,.article-grid,.split-copy,.residents-list,.contact-list{grid-template-columns:1fr}.service-card,.service-card:not(:nth-child(3n+1)),.service-grid.large .service-card:nth-child(even){padding:24px 0;border-left:0}.house-detail-grid{grid-template-columns:1fr;gap:28px}.feature-rail{grid-template-columns:1fr}.feature-rail article,.feature-rail article+article,.feature-rail article:nth-child(3){padding:22px 0;border-left:0}.filter-panel{grid-template-columns:1fr}.document-row{grid-template-columns:1fr;gap:7px;padding:23px 0}.document-row button{width:100%}.fact-list>div{grid-template-columns:1fr;gap:5px}.residents-list article,.residents-list article:nth-child(even),.contact-card,.contact-card:nth-child(even){padding:22px 0;border-left:0}.map-placeholder{padding:34px 20px}.footer-grid{grid-template-columns:1fr;padding-block:36px}.footer-grid nav{justify-content:flex-start}.page-hero{padding-block:38px 30px}.page-hero h1{font-size:clamp(2.45rem,11vw,3.8rem)}}
@media(max-width:430px){.container{width:min(var(--container),calc(100% - 24px))}.brand{font-size:1.32rem}.quick-grid{grid-template-columns:1fr}.home-hero h1{font-size:2.55rem}.button{width:100%}.hero-actions .text-link{width:100%;text-align:center}.house-grid{grid-template-columns:1fr}.article-grid{grid-template-columns:1fr}.alert{flex-direction:column;gap:5px}.status-badge{max-width:100%;white-space:normal}.fact-list .status-badge{margin:6px 0 0}.mobile-nav{padding-inline:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Stage 48.2E: azure editorial refinement. Layout and breakpoints remain unchanged. */
/* Лазурный :root удалён на S1.1.3: все его переменные переопределялись ниже. */
a{color:var(--secondary-strong)}a:hover{color:var(--primary)}
:focus-visible{outline-color:var(--focus);box-shadow:0 0 0 5px rgba(20,58,50,.14)}
.skip-link{background:var(--brand-700)}.preview-banner{background:var(--brand-100);color:var(--primary);border-bottom-color:var(--brand-200)}
.site-header{border-bottom-color:var(--border);box-shadow:inset 0 3px 0 var(--brand-500),0 1px 0 rgba(20,58,50,.06)}.brand-mark{border-color:var(--brand-500)}.brand-mark i{background:var(--primary)}
.desktop-nav a{position:relative;padding-inline:8px;border-radius:8px}.desktop-nav a:hover{background:var(--brand-50);color:var(--brand-800)}.desktop-nav a[aria-current=page]{background:var(--brand-50);color:var(--brand-800);border-color:var(--brand-500)}
.appeal-disabled{border-color:#bcdbe7;background:var(--brand-50);color:#647784}.menu-toggle{border-color:var(--brand-700);background:var(--brand-50);color:var(--brand-800)}.menu-toggle:hover{background:var(--brand-100)}
.mobile-nav{border-bottom:3px solid var(--brand-500)}.mobile-nav a:hover,.mobile-nav a[aria-current=page]{background:var(--brand-50);color:var(--brand-800);box-shadow:inset 3px 0 0 var(--brand-500)}
.home-hero{background:linear-gradient(112deg,#fff 0 48%,var(--brand-50) 100%)}.home-hero h1,.page-hero h1{color:var(--primary)}.hero-art img{filter:saturate(1.08) contrast(1.02)}
.button{transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease}.button:hover{transform:translateY(-1px)}
.button.primary{background:var(--brand-700);box-shadow:0 8px 18px rgba(20,58,50,.22)}.button.primary:hover{background:var(--brand-800);box-shadow:0 10px 22px rgba(20,58,50,.26)}
.button.secondary{border-color:var(--brand-200);background:var(--brand-50);color:var(--brand-800)}.button.secondary:hover{border-color:var(--brand-500);background:var(--brand-100)}
.text-link{color:var(--secondary-strong)}.text-link:hover{color:var(--primary)}
.quick-actions{background:#fff}.quick-grid a{transition:background-color .18s ease,color .18s ease,box-shadow .18s ease}.quick-grid strong{color:var(--brand-700)}.quick-grid a:hover{background:var(--brand-50);box-shadow:inset 0 -3px 0 var(--brand-500)}
.page-hero{background:linear-gradient(90deg,#fff 0 72%,var(--brand-50) 100%)}.section{background:#fff}.section-soft{background:var(--surface)}
.section-head h2::after{display:block;width:46px;height:4px;margin-top:13px;border-radius:4px;background:var(--brand-500);content:""}
.alert{border-color:var(--brand-200);border-left:5px solid var(--brand-500);background:var(--brand-50);color:var(--primary);box-shadow:0 8px 22px rgba(20,58,50,.07)}
.status-muted{border-color:var(--brand-200);background:var(--brand-100);color:var(--brand-800)}
.status-confirmed{border:1px solid var(--brand-200);background:var(--brand-100);color:var(--brand-800)}
.service-card{transition:background-color .18s ease,box-shadow .18s ease}.service-card>span:first-child,.residents-list span,.contact-category{color:var(--brand-700)}.service-card:hover{background:var(--brand-50);box-shadow:inset 0 3px 0 var(--brand-500)}
.house-card{border-color:#bcdbe7;box-shadow:0 8px 24px rgba(20,58,50,.08);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.house-card:hover{transform:translateY(-3px);border-color:var(--brand-200);box-shadow:0 15px 34px rgba(20,58,50,.16)}
.house-card .media-frame{background:var(--brand-50)}.house-card .text-link{display:inline-flex;align-items:center;min-height:38px;padding:7px 10px;margin-left:-10px;border-radius:7px}.house-card .text-link:hover{background:var(--brand-100)}
.filter-panel{border:1px solid var(--brand-200);background:var(--brand-50);box-shadow:0 10px 28px rgba(20,58,50,.08)}.filter-panel input,.filter-panel select{border-color:var(--border)}.filter-panel input:hover,.filter-panel select:hover{border-color:var(--brand-500)}.filter-panel input:focus,.filter-panel select:focus{border-color:var(--brand-700)}.results-count{color:var(--brand-800)}
.article-card{border-top-color:var(--brand-500)}.article-card:hover .text-link{color:var(--brand-800)}.check-list li::before{border-color:var(--brand-500)}
.feature-rail article,.residents-list article,.contact-card{transition:background-color .18s ease,box-shadow .18s ease}.feature-rail article:hover,.residents-list article:hover,.contact-card:hover{background:var(--brand-50);box-shadow:inset 3px 0 0 var(--brand-500)}
.faq-list summary::after{color:var(--brand-700)}.faq-list details[open]{background:linear-gradient(90deg,var(--brand-50),transparent 72%)}.faq-list details[open] summary{color:var(--brand-800)}
.map-placeholder{border-color:var(--brand-200);background:repeating-linear-gradient(135deg,var(--brand-50),var(--brand-50) 18px,#e7f6fa 18px,#e7f6fa 36px)}
.site-footer{border-top:4px solid var(--brand-500);background:var(--primary)}.brand-footer .brand-mark{border-color:var(--brand-200)}.site-footer a:hover{color:var(--brand-200)}
.footer-email{display:inline-flex;margin-top:6px;color:var(--brand-200);font-weight:750;text-underline-offset:.2em}.contact-card h2 a{color:var(--brand-800)}
.house-card{position:relative}.house-card-hit{position:absolute;z-index:4;inset:0;border-radius:inherit}.house-card-hit:focus-visible{outline:4px solid var(--brand-700);outline-offset:4px}.house-card>*:not(.house-card-hit){pointer-events:none}.house-card .text-link{color:var(--brand-800)}
.media-placeholder{border-color:var(--brand-200);background:linear-gradient(145deg,var(--brand-100),var(--brand-50));color:var(--brand-800);font-weight:700;gap:12px;line-height:1.45}.ui-icon{display:block;width:1.25em;height:1.25em;flex:0 0 auto}.media-placeholder .ui-icon{width:46px;height:46px;color:var(--brand-700);opacity:.92}.house-card .media-placeholder{min-height:150px;padding:18px}.house-main-photo.media-placeholder{min-height:260px}.media-placeholder span{display:block;max-width:20rem}
.house-detail-grid{align-items:start}.house-gallery{min-width:0}.house-gallery:focus-visible{border-radius:var(--radius)}.house-main-photo{width:100%;min-height:0;--media-frame-ratio:16/9;box-shadow:0 16px 36px rgba(20,58,50,.12)}.house-thumbnails{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.house-thumbnails button{min-width:0;padding:3px;border:2px solid transparent;border-radius:9px;background:#fff;cursor:pointer}.house-thumbnails button[aria-current=true]{border-color:var(--brand-700)}.house-thumbnails img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:5px}
.house-characteristics{margin:0;border-top:1px solid var(--brand-200)}.house-characteristics>div{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr);gap:24px;padding:18px 0;border-bottom:1px solid var(--border)}.house-characteristics dt{color:var(--text-muted)}.house-characteristics dd{margin:0;color:var(--primary);font-weight:700;overflow-wrap:anywhere}.information-pending{margin:0;color:var(--text-muted)}.information-pending-large{padding:26px;border:1px dashed var(--brand-200);border-radius:var(--radius);background:var(--brand-50);font-size:1.08rem}.house-long-copy{max-width:880px;font-size:1.08rem}.house-resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--brand-200)}.house-resource-grid article{min-width:0;padding:26px 28px 28px 0;border-bottom:1px solid var(--border)}.house-resource-grid article:nth-child(even){padding-left:28px;border-left:1px solid var(--border)}.house-resource-grid h3{margin:0 0 12px;color:var(--primary);font-size:1.35rem}.house-resource-grid p{color:var(--text-muted)}.house-resource-list{margin:0;padding-left:20px}.house-resource-list li+li{margin-top:8px}.house-back{margin:30px 0 0}
.section-note{margin:0 0 22px;color:var(--text-muted);font-size:1rem;line-height:1.55}.compact-section{padding-block:26px}.compact-section .section-head{margin-bottom:18px}.empty-state-compact{max-width:760px;margin-inline:auto;padding:13px 18px}.empty-state-compact p{margin:0;font-size:1rem;line-height:1.55}.service-card p,.house-card p,.contact-card>p:not(.contact-category),.footer-grid p,.legal-line{font-size:1rem;line-height:1.55}.status-badge,.article-meta,.document-row p{font-size:.86rem}.contact-card small{font-size:.88rem;line-height:1.45;color:var(--text-muted)}
@media(max-width:760px){.home-hero{background:linear-gradient(180deg,#fff 0 58%,var(--brand-50) 100%)}.quick-grid a:hover{box-shadow:inset 4px 0 0 var(--brand-500)}}
@media(max-width:760px){.house-main-photo{--media-frame-ratio:4/3}.house-thumbnails{grid-template-columns:repeat(3,minmax(0,1fr))}.house-characteristics{border-top:0}.house-characteristics>div{grid-template-columns:1fr;gap:5px;margin-bottom:10px;padding:15px;border:1px solid var(--brand-200);border-radius:10px;background:var(--brand-50)}.house-resource-grid{grid-template-columns:1fr}.house-resource-grid article,.house-resource-grid article:nth-child(even){padding:22px 0;border-left:0}.house-back .button{width:100%}.compact-section{padding-block:22px}.house-card .media-placeholder{min-height:138px}.house-main-photo.media-placeholder{min-height:220px}}

/* Stage 48.2E internal pages refinement */
.fact-status-text{display:inline-flex;margin-left:8px;color:var(--text-muted);font-size:.9rem;font-weight:600}.fact-pending dd{color:var(--text-muted)}.fact-confirmed dd{color:var(--primary)}.load-more-panel{display:flex;justify-content:center;margin-top:28px}.load-more-panel [hidden]{display:none!important}
.service-card-grid{gap:22px;border-top:0}.service-card-grid .service-card,.service-card-grid .service-card:nth-child(even),.service-card-grid .service-card:not(:nth-child(3n+1)){padding:24px;border:1px solid var(--brand-200);border-radius:8px;background:#fff;box-shadow:0 7px 20px rgba(20,58,50,.05)}.service-card-grid .service-card:hover{border-color:var(--brand-500);box-shadow:0 12px 28px rgba(20,58,50,.12),inset 0 3px 0 var(--brand-500)}
.residents-card-grid{gap:18px;border-top:0}.residents-card-grid article,.residents-card-grid article:nth-child(even){display:grid;grid-template-columns:48px minmax(0,1fr);padding:22px;border:1px solid var(--brand-200);border-radius:8px;background:#fff}.residents-card-grid article:nth-child(even){border-left:1px solid var(--brand-200)}.residents-card-grid .text-link{grid-column:2;margin-top:10px}.residents-card-grid span{grid-row:1/4}
.residents-card-grid article:last-child:nth-child(odd){grid-column:1/-1}
.document-tools{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(170px,.7fr) minmax(170px,.7fr) auto;gap:14px;align-items:end;padding:18px;border:1px solid var(--brand-200);border-radius:8px;background:var(--brand-50);box-shadow:0 10px 28px rgba(20,58,50,.08)}.document-tools label{display:grid;gap:7px;color:var(--primary);font-weight:700}.document-tools input,.document-tools select{width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text)}.document-tools .button{min-height:46px;white-space:nowrap}.document-groups{display:grid;gap:14px}.document-group{border:1px solid var(--brand-200);border-radius:8px;background:#fff;overflow:hidden}.document-group[hidden]{display:none}.document-group summary{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:58px;padding:14px 18px;color:var(--primary);font-weight:800;cursor:pointer;list-style:none;background:var(--brand-50)}.document-group summary::-webkit-details-marker{display:none}.document-group summary strong{display:inline-flex;align-items:center;justify-content:center;min-width:34px;min-height:28px;padding:2px 8px;border:1px solid var(--brand-200);border-radius:999px;background:#fff;color:var(--brand-800);font-size:.9rem}.document-group .document-list{border-top:1px solid var(--brand-200)}.document-row{grid-template-columns:minmax(0,1.2fr) minmax(100px,.4fr) minmax(120px,.5fr) minmax(110px,.45fr) minmax(150px,.55fr);padding:16px 18px}.document-row[hidden]{display:none!important}.document-preview-status{display:inline-flex;align-items:center;min-height:29px;color:var(--text-muted);font-size:.9rem;font-weight:650}.document-row button{background:#fff;color:var(--text-muted)}.news-empty{margin:0 0 24px}.news-archive-grid{grid-template-columns:minmax(0,520px)}.contact-compact-grid{gap:18px;border-top:0}.contact-compact-grid .contact-card,.contact-compact-grid .contact-card:nth-child(even){padding:22px;border:1px solid var(--brand-200);border-radius:8px;background:#fff}.contact-compact-grid .contact-card:nth-child(even){border-left:1px solid var(--brand-200)}.map-placeholder-compact{margin-top:22px;padding:24px;background:var(--brand-50);text-align:left}.map-placeholder-compact p{margin-bottom:0;color:var(--text-muted)}
@media(max-width:900px){.document-tools{grid-template-columns:1fr 1fr}.document-tools .button{width:auto}.document-row{grid-template-columns:1fr 1fr;gap:8px}.document-row>div{grid-column:1/-1}.document-row button{grid-column:1/-1;width:100%}}
@media(max-width:760px){.service-card-grid,.residents-card-grid,.contact-compact-grid{grid-template-columns:1fr}.residents-card-grid article,.residents-card-grid article:nth-child(even){grid-template-columns:42px minmax(0,1fr);padding:18px}.document-tools{grid-template-columns:1fr}.document-row{grid-template-columns:1fr}.document-group summary{align-items:flex-start}.news-archive-grid{grid-template-columns:1fr}.map-placeholder-compact{text-align:left}.fact-status-text{display:block;margin:6px 0 0}}
@media(max-width:760px){.residents-card-grid article:last-child:nth-child(odd){grid-column:auto}}
/* Stage 48.2I: owner-approved public contacts */
.footer-contacts{display:flex;flex-wrap:wrap;gap:6px 20px;color:#d4e4dd;font-style:normal}.footer-contacts span,.footer-contacts a{overflow-wrap:anywhere}.contact-card{display:flex;flex-direction:column;align-items:flex-start}.contact-card h2{margin-bottom:18px;font-size:clamp(1.45rem,2.2vw,1.8rem)}.contact-link-row{display:grid;grid-template-columns:minmax(130px,.65fr) minmax(0,1fr);gap:12px;width:100%;margin:0;padding:9px 0;border-top:1px solid var(--border)}.contact-link-row>span{color:var(--text-muted);font-size:.9rem}.contact-link-row>a{font-size:1.06rem;font-weight:750;overflow-wrap:anywhere}.contact-appointment{margin:0 0 16px;color:var(--primary);font-weight:700}.contact-schedule{width:100%;margin-top:20px}.contact-schedule h3{margin:0 0 8px;color:var(--primary);font-size:1rem}.contact-schedule dl{margin:0;border-top:1px solid var(--border)}.contact-schedule dl>div{display:grid;grid-template-columns:minmax(150px,.9fr) minmax(0,1fr);gap:16px;padding:10px 0;border-bottom:1px solid var(--border)}.contact-schedule dt{color:var(--text-muted)}.contact-schedule dd{margin:0;color:var(--primary);font-weight:700}.contact-schedule dd span,.contact-schedule dd small{display:block}.contact-schedule dd small{margin-top:2px;color:var(--text-muted);font-size:.85rem;font-weight:500}.map-placeholder p{font-size:1.08rem;line-height:1.65}@media(max-width:760px){.contact-link-row{grid-template-columns:1fr;gap:3px}.contact-schedule dl>div{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:10px}.footer-contacts{display:grid;gap:7px}}@media(max-width:360px){.contact-schedule dl>div{grid-template-columns:1fr;gap:2px}.contact-card h2{font-size:1.4rem}.contact-link-row>a{font-size:1rem}}


/* Stage 48.2I-WEB-CONTACTS-YANDEX-WIDGET-01 */
.contacts-map{margin-top:30px}.contacts-map h2{margin:0 0 10px;color:var(--primary)}.contacts-map__address{margin:0 0 16px;color:var(--text-muted);font-size:1.08rem;line-height:1.6}.contacts-map__frame{width:100%;height:420px;overflow:hidden;border:1px solid var(--brand-200);border-radius:var(--radius);background:var(--brand-50);box-shadow:0 14px 34px rgba(20,58,50,.1)}.contacts-map__frame iframe{display:block;width:100%;height:100%;border:0}.contacts-map__fallback{margin:14px 0 0;padding:14px 16px;border:1px solid var(--brand-200);border-radius:8px;background:var(--brand-50);color:var(--text-muted);line-height:1.55}.contacts-map[data-widget-state="loaded"] .contacts-map__fallback{display:none}.contacts-map__actions{margin:16px 0 0}.contacts-map__actions .button{width:auto}@media(max-width:900px){.contacts-map__frame{height:380px}}@media(max-width:760px){.contacts-map{margin-top:24px}.contacts-map__frame{height:320px}.contacts-map__actions .button{width:100%}}

/* Stage 48.2I-WEB-NEW-HOUSES-PROMO-01 */
.home-promo{padding-block:78px;border-block:1px solid var(--brand-200);background:linear-gradient(180deg,var(--brand-50),#fff)}.home-promo-head{display:block;max-width:920px;margin-bottom:0}.home-promo-head h2{margin:0;color:var(--primary);font-size:clamp(2.15rem,4.1vw,3.45rem);line-height:1.05;letter-spacing:-.037em}.home-promo-head h2::after{display:block;width:54px;height:4px;margin-top:15px;border-radius:4px;background:var(--brand-500);content:""}.home-promo-head p{max-width:820px;margin:18px 0 0;color:var(--text-muted);font-size:1.2rem;line-height:1.7}.promo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:36px}.promo-card{min-width:0;padding:26px;border:1px solid var(--brand-200);border-radius:var(--radius);background:#fff;box-shadow:0 10px 26px rgba(20,58,50,.07)}.promo-card:last-child{grid-column:span 2}.promo-card-index{display:inline-flex;align-items:center;justify-content:center;min-width:42px;min-height:34px;padding:4px 10px;border-radius:999px;background:var(--brand-100);color:var(--brand-800);font-weight:800}.promo-card h3{margin:18px 0 10px;color:var(--primary);font-size:1.4rem;line-height:1.25}.promo-card p,.promo-honest p,.promo-cta>p{margin:0;color:var(--text-muted);font-size:1.125rem;line-height:1.7}.promo-honest{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr);gap:34px;margin-top:26px;padding:30px;border:1px solid var(--brand-200);border-left:5px solid var(--brand-500);border-radius:var(--radius);background:var(--brand-50)}.promo-honest h3,.promo-cta h3{margin:0;color:var(--primary);font-size:clamp(1.65rem,2.8vw,2.25rem);line-height:1.2}.promo-honest p+p{margin-top:14px}.promo-cta{margin-top:26px;padding:32px;border:1px solid var(--brand-200);border-radius:var(--radius);background:#fff;box-shadow:0 12px 30px rgba(20,58,50,.08)}.promo-cta>p{max-width:900px;margin-top:13px}.promo-contact-details{display:flex;flex-wrap:wrap;gap:10px 30px;margin-top:22px;padding-top:20px;border-top:1px solid var(--border)}.promo-contact-details p{margin:0;color:var(--primary);font-size:1.125rem;line-height:1.65}.promo-contact-details a{color:var(--brand-800);font-weight:800}.promo-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.promo-actions .button{min-height:52px;padding-inline:22px;font-size:1.05rem}
@media(max-width:1100px){.promo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.promo-card:last-child{grid-column:1/-1}}
@media(max-width:760px){.home-promo{padding-block:54px}.home-promo-head p{font-size:1.0625rem;line-height:1.65}.promo-grid{grid-template-columns:1fr;gap:14px;margin-top:28px}.promo-card,.promo-honest,.promo-cta{padding:22px}.promo-card:last-child{grid-column:auto}.promo-card p,.promo-honest p,.promo-cta>p,.promo-contact-details p{font-size:1.0625rem}.promo-honest{grid-template-columns:1fr;gap:12px;margin-top:18px}.promo-cta{margin-top:18px}.promo-contact-details{display:grid;gap:8px}.promo-actions{display:grid;grid-template-columns:1fr}.promo-actions .button{width:100%;min-height:52px}.promo-actions .promo-phone-button{border-color:var(--brand-800);background:var(--brand-800);color:#fff;box-shadow:0 8px 18px rgba(20,58,50,.22)}}

/* Stage 48.2I-WEB-HOMEPAGE-CLARITY-01 */
.home-page{font-size:17px;line-height:1.58}.home-page .home-hero-grid{min-height:500px;padding-block:42px 24px}.hero-phones{display:grid;gap:5px;margin:0 0 22px}.hero-phones p{margin:0;font-size:18px;color:var(--text)}.hero-phones a{font-weight:750}.hero-phone-primary{font-size:1.18em}.hero-secondary-links{display:flex;flex-wrap:wrap;gap:12px 25px;margin-top:18px}.urgent-compact{padding-block:18px}.media-placeholder small{display:block;margin-top:7px;font-size:15px}.home-promo-compact{padding-block:58px}.home-promo-compact .promo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.home-promo-compact .promo-card:last-child{grid-column:auto}.final-contact{background:var(--surface)}.final-contact h2{margin:0;color:var(--primary);font-size:clamp(2rem,3.7vw,3.1rem)}.final-contact>div>p{max-width:850px;font-size:18px}.final-contact-details{display:flex;flex-wrap:wrap;gap:8px 28px}.final-contact-details p{margin:0;font-size:17px}.home-page .button{min-height:48px}.new-houses-full{border-top:0}@media(max-width:760px){body,.home-page{font-size:17px}.home-promo-compact .promo-grid{grid-template-columns:1fr}.urgent-compact{padding-block:14px}.final-contact-details{display:grid}.site-footer,.legal-line{font-size:15px}}

/* Stage 48.2I-WEB-HOMEPAGE-CLARITY-01 QA corrections */
.home-page .house-grid.compact{grid-auto-rows:1fr}
.home-page .house-grid.compact .house-card{height:100%}

/* Stage 48.2I important-block typography QA */
.urgent-compact .alert{font-size:18px;line-height:1.55}

/* Stage 48.2I mobile control target QA */
.menu-toggle{min-width:48px;min-height:48px}

/* Stage 48.2I-WEB-EMERGENCY-CONTACTS-01 — owner-approved 24/7 contacts */
.emergency-section{padding-block:34px;scroll-margin-top:96px}
.emergency-panel{padding:30px;border:1px solid var(--brand-200);border-left:6px solid var(--brand-600);border-radius:var(--radius);background:var(--brand-50);box-shadow:0 10px 28px rgba(20,58,50,.08)}
.emergency-heading{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}
.emergency-heading h2{margin:0;color:var(--primary);font-size:clamp(1.8rem,3vw,2.45rem)}
.emergency-badge{display:inline-flex;align-items:center;min-height:36px;padding:6px 13px;border-radius:999px;background:var(--brand-800);color:#fff;font-size:15px;font-weight:800;letter-spacing:.02em}
.emergency-intro,.emergency-note{max-width:920px;margin:18px 0 0;color:var(--text);font-size:18px;line-height:1.58}
.emergency-phone-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;margin-top:22px}
.emergency-phone-grid p{display:grid;gap:7px;margin:0;padding:20px;border:1px solid var(--brand-200);border-radius:10px;background:#fff}
.emergency-phone-grid span{color:var(--text-muted);font-size:15px;font-weight:700}
.emergency-phone-grid a{color:var(--brand-800);font-size:clamp(1.35rem,2.6vw,1.75rem);font-weight:820;line-height:1.25;text-decoration-thickness:2px;text-underline-offset:4px;overflow-wrap:anywhere}
@media(max-width:760px){.emergency-section{padding-block:22px;scroll-margin-top:78px}.emergency-panel{padding:22px 18px}.emergency-phone-grid{grid-template-columns:1fr}.emergency-intro,.emergency-note{font-size:17px}.emergency-phone-grid p{padding:18px}}

.staff-login-link{display:inline-flex;min-height:44px;align-items:center;margin:0 0 8px;padding:6px 2px;color:#fff;font-weight:700;text-underline-offset:.22em}.staff-login-link:hover{color:var(--brand-200);text-decoration-thickness:2px}.staff-login-link:focus-visible{border-radius:6px}

.documents-empty,.documents-error{margin:0}.public-document-list{display:grid;gap:14px}.public-document-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;padding:24px;border:1px solid var(--brand-200);border-radius:10px;background:#fff;box-shadow:0 8px 24px rgba(20,58,50,.06)}.public-document-card h2{margin:7px 0 8px;color:var(--primary);font-size:clamp(1.2rem,2vw,1.45rem);overflow-wrap:anywhere}.public-document-card p{margin:5px 0}.public-document-category{color:var(--brand-800);font-size:.84rem;font-weight:800;letter-spacing:.03em}.public-document-date,.public-document-file-meta{color:var(--text-muted);font-size:.93rem}.public-document-description{max-width:760px;color:var(--text)}.public-document-download{min-width:170px;min-height:48px;text-align:center}.document-tools[hidden],.results-count[hidden],.documents-empty[hidden],.documents-error[hidden],[data-documents-no-results][hidden]{display:none!important}
@media(max-width:760px){.public-document-card{grid-template-columns:1fr;gap:16px;padding:20px}.public-document-download{width:100%}.documents-empty{padding-inline:18px}}

/* S1.1.1 — unified green-neutral public visual system */
/* Токены этого слоя подняты в канонический :root в начале файла. */
body { background: var(--background); color: var(--text); }
.preview-banner { padding-block: 8px; border-color: #c7dfe6; background: #e9f4f7; color: #31555e; font-weight: 600; }
.site-header { border-color: var(--border); background: rgba(252, 253, 251, .97); }
.brand { color: var(--primary); }
.brand-mark { border-color: var(--secondary); }
.brand-mark i { background: var(--primary); }
.desktop-nav a { color: #2d413b; }
.desktop-nav a[aria-current=page] { border-color: var(--secondary); color: var(--primary); }
.header-home-actions { display: flex; align-items: center; margin-left: 2px; }
.header-home-actions .header-resident-link { min-height: 44px; padding: 8px 13px; border-color: #aac9bb; background: transparent; color: var(--primary); font-size: .88rem; }
.mobile-home-actions { display: grid; gap: 10px; padding-top: 16px; }
.mobile-home-actions .button { width: 100%; }
.button { border-radius: 999px; }
.button.primary { background: var(--secondary); }
.button.primary:hover { background: var(--primary); }
.button.secondary { border-color: #bdd1c8; color: var(--primary); }
.page-hero { padding-block: 30px 30px; border-color: var(--border); background: linear-gradient(135deg, #f4f8f4, #eef5f2 64%, #f8f3ea); }
.page-hero h1 { max-width: 900px; color: var(--primary); font-size: clamp(2.7rem, 4.5vw, 3.8rem); line-height: 1.03; }
.page-hero > div > p { margin-top: 12px; color: var(--text-muted); }
.breadcrumbs { margin-bottom: 14px; }
.section { padding-block: 64px; }
.section-head h2 { color: var(--primary); font-size: clamp(2rem, 3.3vw, 2.8rem); }
.site-footer { border-top: 3px solid #5b9f83; background: #143a32; }
.footer-grid p,
.legal-line { color: #d4e4dd; }
.brand-footer .brand-mark { border-color: #9ccab7; }
/* Карточка адреса без фотографии. Пустого медиа-прямоугольника нет: вместо
   него короткая пометка сверху, а ссылка прижата к низу — карточка занимает
   всю высоту ряда осмысленно, а не выглядит укороченной. */
.house-card--text { padding: 24px; background: linear-gradient(145deg, #fff, #f4f8f5); }
.house-card--text .house-card-body { padding: 0; }
.house-card--text .text-link { margin-top: auto; }
.house-card-symbol { display: flex; align-items: center; gap: 10px; margin: 0 0 16px; color: var(--secondary); font-size: .84rem; font-weight: 750; }
.house-card-symbol-mark { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: var(--brand-100); }
.house-card-symbol-mark .ui-icon { width: 21px; height: 21px; color: currentColor; }
[data-cms-documents-section][hidden] { display: none !important; }

@media(max-width:1100px) {
  .header-home-actions { display: none; }
}

@media(max-width:760px) {
  .page-hero { padding-block: 26px 24px; }
  .page-hero h1 { font-size: clamp(2.3rem, 10vw, 3.1rem); }
  .section { padding-block: 50px; }
  .house-card--text { padding: 20px 18px; }
}

/* ── Паспорт дома (S1.2.1) ────────────────────────────────────────────────
   Новые компоненты страницы дома. Каждый селектор объявлен здесь один раз и
   нигде больше не переопределяется; цвета — только из общего набора токенов. */
.house-hero-badge{display:inline-flex;align-items:center;margin:14px 0 0;padding:7px 14px;border-radius:999px;background:var(--brand-100);color:var(--brand-800);font-size:.9rem;font-weight:750}
.house-intro{display:flex;flex-direction:column;min-width:0}
/* Когда у дома ещё нет собственного описания, в колонке остаются только
   кнопки — центрируем их по фотографии, чтобы блок не выглядел брошенным. */
.house-intro--actions-only{align-self:center}
.house-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.house-actions .button{min-height:52px;padding-inline:22px}
.house-actions-note{margin:12px 0 0;color:var(--text-muted);font-size:.95rem}
.house-management{display:grid;gap:8px;max-width:640px;padding:24px 26px;border:1px solid var(--border);border-radius:var(--radius);background:#fff}
.house-management p{margin:0}
.house-management-org{color:var(--primary);font-size:1.35rem;font-weight:800}
.house-management-since{color:var(--text-muted)}
.house-sources{padding-block:34px}
.house-sources h2{margin:0 0 10px;color:var(--primary);font-size:1.15rem}
.house-sources-list{margin:0;color:var(--text-muted);font-size:.95rem}
.house-sources-checked{margin:6px 0 0;color:var(--text-muted);font-size:.9rem}

@media(max-width:760px){
  .house-actions .button{width:100%}
  .house-management{padding:20px 18px}
}
