/* Case studies: exactly two vertical spaces — inside blocks vs between blocks */
:root {
  --cs-space-in: 16px;
  --cs-space-out: 32px;
}

/* Between major blocks in the main column */
.cs-body {
  gap: var(--cs-space-out);
}

/* Label + block = one outer unit, inner spacing only */
.cs-stack {
  display: flex;
  flex-direction: column;
  gap: var(--cs-space-in);
  width: 100%;
  max-width: 720px;
}

.cs-body > .cs-stack {
  max-width: 720px;
}

/* Inside text sections */
.cs-section {
  gap: var(--cs-space-in);
}

.cs-section p + p,
.cs-section .cs-lead + p,
.cs-lead {
  margin: 0;
}

.cs-section-title {
  padding: 0;
}

/* Inside callouts, figures, impact cells, quote pair items */
.callout,
.img-slot,
.ba-item,
.quote-contract-item,
.impact-block {
  gap: var(--cs-space-in);
}

.callout-text,
.roadmap-note {
  margin: 0;
  padding: 0;
}

.impact-block {
  display: flex;
  flex-direction: column;
}

.impact-block-label,
.impact-num,
.impact-note,
.impact-list {
  margin: 0;
}

.impact-list {
  display: flex;
  flex-direction: column;
  gap: var(--cs-space-in);
}

.impact-list li {
  margin: 0;
}

/* Inside multi-column media / roadmap rows (not vertical page rhythm) */
.cs-body > .cs-placeholder-row,
.cs-body > .widget-row,
.quote-contract-pair,
.roadmap-row,
.cs-placeholder {
  gap: var(--cs-space-in);
}

@media (max-width: 768px) {
  :root {
    --cs-space-in: 14px;
    --cs-space-out: 28px;
  }
}
