.site-content-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.site-content-card{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:24px;border:1px solid var(--border);border-radius:14px;background:#fff}.site-content-card h3{margin:.65rem 0 .4rem;font-size:1.3rem;overflow-wrap:anywhere}.site-content-card p{margin:.4rem 0}.site-content-card .text-link{margin-top:auto;padding-top:14px}.site-content-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:#596b61;font-size:.85rem}.site-content-type,.site-content-important{display:inline-flex;align-items:center;min-height:30px;padding:4px 9px;border-radius:999px;background:#e8f2ec;color:#1a5737;font-weight:700}.site-content-important{background:#fff0c7;color:#725000}.site-content-houses{font-weight:700;color:#40584a}.site-content-status{margin:16px 0;padding:14px 16px;border-radius:9px;background:#eef5f1}.site-content-error{background:#fff4e6}.site-content-filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 24px}.site-content-filters button{min-height:48px;padding:10px 18px;border:1px solid #1b6540;border-radius:8px;background:#fff;color:#174d32;font:inherit;font-weight:700}.site-content-filters button[aria-pressed=true]{background:#185e3b;color:#fff}.site-content-detail{max-width:850px;padding:clamp(20px,5vw,48px);border:1px solid #d9e3dd;border-radius:16px;background:#fff}.site-content-detail h2{font-size:clamp(1.8rem,4vw,3rem);overflow-wrap:anywhere}.site-content-body{font-size:1.08rem}.site-content-body a{overflow-wrap:anywhere}.site-content-detail img{display:block;max-width:100%;height:auto;margin:24px 0;border-radius:12px}.site-content-back{display:block;margin-top:28px}.site-content-card[hidden],[data-site-content-detail][hidden],[data-site-content-list-view][hidden]{display:none!important}
@media(max-width:900px){.site-content-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.site-content-grid{grid-template-columns:1fr}.site-content-card{padding:20px}.site-content-filters>*{flex:1 1 calc(50% - 8px)}.site-content-detail{padding:20px}}
.house-facts { display: grid; grid-template-columns: minmax(200px,.8fr) minmax(0,1.2fr); margin: 0; border-top: 1px solid var(--border); }
.house-facts dt, .house-facts dd { margin: 0; padding: 16px 0; border-bottom: 1px solid var(--border); }
.house-facts dt { color: var(--text-muted); }
.house-facts dd { font-weight: 700; overflow-wrap: anywhere; }
.house-public-gallery { margin-top: 24px; }
.house-public-gallery a { display: block; min-height: 48px; }
.house-public-gallery img { width: 100%; aspect-ratio: 3 / 2; border-radius: 10px; object-fit: cover; }
.site-content-filter-empty { max-width: 720px; padding: 17px 19px; border: 1px solid var(--border); border-radius: 11px; background: #f7faf8; }
.site-content-filter-empty h2 { margin: 0; color: var(--primary); font-size: 1.08rem; line-height: 1.3; }
.site-content-filter-empty p { margin: 5px 0 0; color: var(--text-muted); }
.site-content-filter-empty[hidden] { display: none !important; }
.site-content-news-section.site-content-filter-is-empty { padding-bottom: 32px; }
@media (max-width: 760px) { .house-facts { grid-template-columns: 1fr; } .house-facts dt { padding-bottom: 4px; border-bottom: 0; } .house-facts dd { padding-top: 0; } }
@media (max-width: 620px) { .site-content-news-section.site-content-filter-is-empty { padding-bottom: 28px; } }

/* S1.4d: own publications stay formal; external city items get a calm,
   image-free editorial rhythm made from project-owned CSS and line icons. */
.site-content-card--own{border-top:4px solid var(--secondary)}
.site-content-card--city{overflow:hidden;padding:0;border-color:#d4dfe2;background:#fff;box-shadow:0 8px 24px rgba(35,67,71,.055)}
.city-card-visual{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;width:100%;min-height:144px;overflow:hidden;border-bottom:1px solid rgba(61,91,96,.12);color:#315e68;background:linear-gradient(145deg,#e5f0f0 0%,#d6e6e7 100%)}
.city-card-visual::before{content:"";position:absolute;z-index:-1;inset:auto -34px -66px auto;width:160px;height:160px;border:26px solid rgba(255,255,255,.34);border-radius:50%}
.city-card-visual::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(115deg,transparent 48%,rgba(255,255,255,.28) 48% 50%,transparent 50% 72%,rgba(255,255,255,.2) 72% 74%,transparent 74%)}
.city-card-visual--green{color:#2f6450;background:linear-gradient(145deg,#e6f1e9 0%,#d5e7dc 100%)}
.city-card-visual--blue{color:#315d78;background:linear-gradient(145deg,#e5eef4 0%,#d4e4ed 100%)}
.city-card-icon{display:block;width:68px;height:68px;filter:drop-shadow(0 5px 10px rgba(27,67,73,.08))}
.city-card-stream-label{position:absolute;top:14px;left:16px;padding:5px 9px;border:1px solid rgba(49,83,89,.15);border-radius:999px;background:rgba(255,255,255,.7);font-size:.72rem;font-weight:800;letter-spacing:.055em;text-transform:uppercase}
.site-content-card-body{display:flex;flex:1;flex-direction:column;align-items:flex-start;width:100%;min-width:0;padding:21px 23px 23px}
.site-content-card--city .site-content-type{background:#e8eef0;color:#294f59}
.site-content-card--city h3{display:-webkit-box;min-height:5.05rem;margin:.7rem 0 .45rem;overflow:hidden;font-size:1.25rem;line-height:1.34;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.site-content-card--city .site-content-summary{display:-webkit-box;overflow:hidden;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:4}
.site-content-source{margin-top:auto!important;padding-top:17px;color:var(--text-muted);font-size:.86rem;line-height:1.45}
.site-content-source+.text-link{margin-top:0;padding-top:9px}
.site-content-card h3{max-width:100%}
.site-content-card p{overflow-wrap:anywhere}
.site-content-status:not([hidden]){max-width:720px;margin:0 0 18px}
[data-house-content-empty] .empty-state{margin-top:16px}

@media(max-width:760px){
  .site-content-filters{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .site-content-filters button{min-width:0;padding-inline:12px;overflow-wrap:anywhere}
  .site-content-card{padding:20px 18px}
  .site-content-card--city{padding:0}
  .city-card-visual{min-height:108px}
  .city-card-icon{width:52px;height:52px}
  .city-card-stream-label{top:10px;left:12px;font-size:.68rem}
  .site-content-card-body{padding:18px 18px 20px}
  .site-content-card h3{font-size:1.2rem}
  .site-content-card--city h3{min-height:0;-webkit-line-clamp:4}
  .site-content-card--city .site-content-summary{-webkit-line-clamp:3}
}

@media(max-width:420px){.site-content-filters{grid-template-columns:1fr}}

/* S1.4b: адресные incidents — отдельный информационный класс, не новости УК. */
.utility-incidents{background:#f7f9f7}
.utility-incidents-eyebrow{margin:0 0 6px;color:var(--text-muted);font-size:.82rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.utility-incident-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.utility-incident-card{min-width:0;padding:22px;border:1px solid var(--border);border-left:4px solid #b4862e;border-radius:14px;background:#fff}
.utility-incident-card h3{margin:.75rem 0 .45rem;font-size:1.25rem;overflow-wrap:anywhere}
.utility-incident-card p{margin:.45rem 0;overflow-wrap:anywhere}
.utility-incident-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.utility-incident-status,.utility-incident-badge{display:inline-flex;align-items:center;min-height:30px;padding:4px 9px;border-radius:999px;font-size:.84rem;font-weight:800}
.utility-incident-status--upcoming{background:#fff0c7;color:#725000}
.utility-incident-status--active{background:#dceee4;color:#145535}
.utility-incident-status--completed{background:#e8ecea;color:#44524b}
.utility-incident-status--information,.utility-incident-badge{background:#e5edf0;color:#304f5d}
.utility-incident-time{font-weight:800;color:var(--text)}
.utility-incident-contractor,.utility-incident-source,.utility-incident-attribution,.utility-incident-disclaimer{font-size:.9rem;color:var(--text-muted)}
.utility-incident-attribution{font-weight:700}
.utility-incident-disclaimer{margin-top:12px!important}
.home-utility-incidents{padding:24px 0;background:#f7f9f7}
.home-utility-incidents-card{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 24px;border:1px solid var(--border);border-left:4px solid #b4862e;border-radius:14px;background:#fff}
.home-utility-incidents-card h2{margin:0;font-size:clamp(1.35rem,3vw,1.8rem)}
.home-utility-incidents-card p:not(.utility-incidents-eyebrow){margin:.45rem 0 0}
.home-utility-incidents-card .button{min-height:48px;flex:0 0 auto}

@media(max-width:760px){
  .utility-incident-list{grid-template-columns:1fr}
  .utility-incident-card{padding:20px 18px}
  .home-utility-incidents-card{align-items:flex-start;flex-direction:column;padding:20px 18px}
  .home-utility-incidents-card .button{width:100%}
}

/* Работы по дому.
   Карточки той же сетки и тех же токенов, что и остальной контент сайта:
   раздел новый, визуальная система прежняя. Ширина колонок задана в
   `minmax(0, 1fr)` — иначе длинное название работы растянуло бы колонку и
   страница поехала бы вбок на телефоне. */
.house-works-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(280px, 100%), 1fr));
  gap: 20px;
}
.house-work-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--border, #d9e2dd);
  border-radius: 14px;
  background: #fff;
}
.house-work-media { display: block; background: #f2f5f3; }
.house-work-media img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.house-work-body { display: grid; gap: 8px; padding: 16px 18px 18px; }
.house-work-body h3 { margin: 0; font-size: 1.05rem; line-height: 1.3; overflow-wrap: anywhere; }
.house-work-body h3 a { color: inherit; text-decoration: none; }
.house-work-body h3 a:hover, .house-work-body h3 a:focus-visible { text-decoration: underline; }

/* Состояние работы — первое, что читает житель. */
.house-work-status {
  margin: 0;
  align-self: start;
  padding: 4px 10px;
  border-radius: 999px;
  background: #eef4f0;
  color: #2f5d47;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .02em;
}
.house-work-status--in_progress { background: #fff4e2; color: #8a5a12; }
.house-work-status--planned { background: #eef2fb; color: #37507f; }
.house-work-status--completed { background: #eaf5ee; color: #2f6b45; }

/* Адрес дома в карточке общей витрины: на странице дома он известен из
   заголовка, а в списке по всем домам — нет. */
.house-work-house { margin: 0; font-size: .92rem; }
.house-work-house a { color: var(--text-muted, #5d6b64); text-decoration: none; }
.house-work-house a:hover, .house-work-house a:focus-visible { text-decoration: underline; }

.house-work-period { margin: 0; color: var(--text-muted, #5d6b64); font-size: .92rem; }
.house-work-teaser { margin: 0; overflow-wrap: anywhere; }
.house-work-more { margin: 4px 0 0; }
.house-works-more { margin: 24px 0 0; }

.house-work-detail { display: grid; gap: 18px; max-width: 900px; }
.house-work-hero { margin: 0; }
.house-work-hero img { display: block; width: 100%; height: auto; border-radius: 14px; }
.house-work-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(220px, 100%), 1fr));
  gap: 12px;
}
.house-work-gallery img { display: block; width: 100%; height: auto; border-radius: 10px; }
