/* Shared case editorial styles, based on Figal / Portfolio 30:22523.
   Product demos, research tables and image interiors retain their own styles. */
.case-editorial {
  --case-reading: 545px;
  --editorial-ink: #000;
  --editorial-heading: #9f9f9f;
  --editorial-line: #e2e2e2;
  --editorial-soft: #f6f6f7;
}
:root[data-theme=dark] .case-editorial {
  --editorial-ink: #fff;
  --editorial-heading: #aaa;
  --editorial-line: #333336;
  --editorial-soft: #202022;
}
.case-editorial .chapter {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin: 48px 0 0;
  padding: 0;
  color: var(--editorial-ink);
}
.case-editorial .chapter > header { margin: 0; width: 100%; }
.case-editorial .chapter > header .eyebrow,
.case-editorial .hero > .eyebrow {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  font: 400 13px/26px "Geist", sans-serif;
  letter-spacing: 0;
  color: var(--editorial-heading);
}
.case-editorial .chapter > header .eyebrow::after,
.case-editorial .hero > .eyebrow::after {
  content: "";
  flex: 1;
  border-top: 1px solid var(--editorial-line);
}
.case-editorial .hero > .eyebrow { margin-bottom: 16px; }
.case-editorial .case-topic {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 0;
  min-width: 0;
}
/* Separate topics more than the content within each topic (16px chapter gap + 16px). */
.case-editorial .chapter > .case-topic + .case-topic { margin-top: 16px; }
.case-editorial .chapter > header h2,
.case-editorial .case-topic > h3,
.case-editorial .case-topic > h4,
.case-editorial .solution-copy > h3 {
  margin: 0;
  max-width: none;
  font: 400 16px/26px "Geist", sans-serif;
  letter-spacing: 0;
  color: var(--editorial-heading);
}
.case-editorial .hero-intro,
.case-editorial .chapter > header > .intro,
.case-editorial .chapter > p,
.case-editorial .case-topic > p,
.case-editorial .research-evidence > p,
.case-editorial .qa-record > p,
.case-editorial .solution-copy > p:not(.eyebrow),
.case-editorial .outcomes p,
.case-editorial .research-findings,
.case-editorial .reflection-list,
.case-editorial .reflection-list li,
.case-editorial .poc-steps {
  margin: 0;
  max-width: none;
  font: 400 16px/26px "Geist", sans-serif;
  letter-spacing: 0;
  color: var(--editorial-ink);
}

.case-editorial .chapter > header { display: grid; gap: 12px; }
.case-editorial .hero-intro { margin-top: 16px; }
.case-editorial .case-topic > .case-figure,
.case-editorial .case-topic > .case-gallery { margin-block: 0; }
.case-editorial .case-list,
.case-editorial .case-process { margin: 0; padding-left: 22px; color: var(--editorial-ink); font: 400 16px/26px "Geist", sans-serif; }
.case-editorial .case-list li,
.case-editorial .case-process li { margin: 0; padding-left: 4px; }
.case-editorial .case-list li + li,
.case-editorial .case-process li + li { margin-top: 8px; }
.case-editorial .case-roles { margin: 0; }
.case-editorial .case-roles > div { padding: 16px 0; border-color: var(--editorial-line); }
.case-editorial .case-roles > div:last-child { padding-bottom: 0; }
.case-editorial .case-roles dt { color: var(--editorial-ink); }
.case-editorial .case-roles dd { margin-top: 8px; color: var(--editorial-ink); font: 400 16px/26px "Geist", sans-serif; }
.case-editorial .chapter > header > .intro strong,
.case-editorial .case-topic > p strong,
.case-editorial .case-list strong,
.case-editorial .case-process strong { color: inherit; }
