/* ===== Проекты — доп. стили (empty-state + детальная) ===== */
.empty-state {
  text-align: center;
  padding: var(--s16) var(--s4);
  display: flex; flex-direction: column; align-items: center;
  gap: var(--s4);
}
.empty-state[hidden] { display: none; }
.empty-icon {
  width: 80px; height: 80px;
  border-radius: 50%;
  background: var(--bg-elevated);
  display: grid; place-items: center;
  color: var(--text-muted);
}
.empty-state h3 {
  font-size: 22px; font-weight: 700;
  margin: 0;
}
.empty-state p {
  font-size: 14px; color: var(--text-muted);
  max-width: 360px;
}
.article-detail-wrap { max-width: 900px; }
.ad-cover { border-radius: var(--r-xl); overflow:hidden; border:1px solid var(--border); }
.ad-cover img { width:100%; height:auto; display:block; }
.ad-content { font-size:16px; line-height:1.75; color:var(--text-soft); }
.ad-content p { margin-bottom: var(--s4); }
.ad-content h2,.ad-content h3 { color:var(--text); font-weight:700; margin:var(--s6) 0 var(--s3); }
.ad-content ul,.ad-content ol { margin:0 0 var(--s4) var(--s5); }
.ad-content li { margin-bottom: var(--s2); }
.ad-content img { max-width:100%; height:auto; border-radius:var(--r-lg); margin:var(--s4) 0; }
.proj-block { margin-top: var(--s6); }
.proj-gallery { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--s3); }
.proj-gallery-item { aspect-ratio:4/3; border-radius:var(--r-lg); overflow:hidden; border:1px solid var(--border); display:block; }
.proj-gallery-item img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .3s; }
.proj-gallery-item:hover img { transform:scale(1.05); }
@media (max-width:720px){ .proj-gallery { grid-template-columns:1fr 1fr; } }
