/* Страницы кейсов: дополняют /blog/blog.css (токены и шапка оттуда).
   При правках менять версию в ссылке: cases.css?v=N -> ?v=N+1 (в tools/build-cases.mjs). */

.case__lead {
  font-size: 19px;
  line-height: 1.6;
  color: var(--text-muted);
  margin: 0 0 28px;
  max-width: 680px;
}

.case__cover {
  aspect-ratio: 16 / 7;
  max-width: 100%;
  margin: 0 0 28px;
  border-radius: var(--radius);
  background-size: cover;
  background-position: center 35%;
  background-color: var(--bg-dark);
}

.case__stats { margin: 0 0 36px; }

.case__facts {
  display: grid;
  gap: 12px;
  margin: 0 0 8px;
  padding: 20px 24px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
}
.case__facts div { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 16px; }
.case__facts dt { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--text-dim); padding-top: 3px; }
.case__facts dd { margin: 0; color: var(--text-body); font-size: 16px; line-height: 1.55; }

.case__shots { display: grid; gap: 20px; margin: 8px 0 32px; }
.case__shots figure { margin: 0; }
.case__shots img { width: 100%; border-radius: 10px; border: 1px solid var(--border); }
.case__shots figcaption { font-size: 13px; color: var(--text-muted); margin-top: 8px; }

/* Сетка карточек кейсов: хаб /cases/ и блок «Другие кейсы» */
.case-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 20px;
}
.case-tile {
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: var(--radius);
  overflow: hidden;
  border: 1px solid var(--border);
  color: var(--text-body);
  transition: transform .2s ease, box-shadow .2s ease;
}
.case-tile:hover { transform: translateY(-3px); box-shadow: 0 14px 34px rgba(0, 0, 0, .10); color: var(--text-body); }
.case-tile__cover { aspect-ratio: 16 / 10; background-size: cover; background-position: center 35%; background-color: var(--bg-dark); }
.case-tile__body { padding: 18px 20px 22px; display: grid; gap: 10px; }
.case-tile__tag { justify-self: start; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--accent); }
.case-tile h3 { margin: 0; font-size: 17px; line-height: 1.3; color: var(--bg-dark); text-wrap: balance; }
.case-tile dl { margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.case-tile dt { font-size: 12px; color: var(--text-dim); }
.case-tile dd { margin: 2px 0 0; font-size: 17px; font-weight: 800; color: var(--accent); font-variant-numeric: tabular-nums; }

.cases-hub { padding: 24px 0 80px; background: var(--bg-light); }
.cases-hub .case__lead { margin-top: 12px; }
.cases-hub__group { font-size: 24px; color: var(--bg-dark); margin: 44px 0 18px; display: flex; align-items: baseline; gap: 10px; }
.cases-hub__group span { font-size: 15px; font-weight: 700; color: var(--accent); }

@media (max-width: 600px) {
  .case__facts div { grid-template-columns: minmax(0, 1fr); gap: 2px; }
  .case__lead { font-size: 17px; }
}
@media (prefers-reduced-motion: reduce) { .case-tile { transition: none; } }

/* Страница «Об основателе» (/about) */
.about__hero { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: 36px; align-items: end; margin-bottom: 32px; }
.about__photo { width: 100%; height: auto; border-radius: var(--radius); aspect-ratio: 4 / 5; object-fit: cover; }
.about__stats { margin: 0 0 36px; }
@media (max-width: 760px) {
  .about__hero { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .about__photo { max-width: 420px; }
}
