/*
 * Final compact rhythm layer.
 *
 * Every public content section gets one small, predictable inset.  Previous
 * page styles often stacked 70–118px section padding with another large
 * margin on headings/actions, which looked like an empty screen between
 * blocks on desktop and UHD displays.
 */
:root {
  --section-space: clamp(18px, 1.35vw, 24px);
  --section-space-tight: clamp(14px, 1vw, 18px);
}

body.page .section,
body.page .page--format-landing .section {
  padding-block: var(--section-space);
}

body.page--home .mock-home-fold + .section--formats,
body.page--home .section--formats + .section--process,
body.page--home .section--quick-estimate,
body.page--home .section--checklist,
body.page--home .section--budget {
  padding-block: var(--section-space);
}

.section-heading,
.clients-section-heading,
.partner-heading,
.mock-offices__heading {
  margin-bottom: clamp(16px, 1.25vw, 20px);
}

.section-action {
  margin-top: clamp(12px, 1vw, 16px);
}

.section--checklist .checklist-panel {
  gap: clamp(22px, 3vw, 42px);
  padding-block: 0;
}

.process-layout,
.quiz-shell,
.brief-quiz-shell,
.article-detail__layout,
.clients-reviews__panel {
  gap: clamp(22px, 3vw, 42px);
}

.service-story,
.article-detail,
.clients-directory,
.clients-reviews,
.partner-audiences,
.partner-benefits,
.partner-workflow {
  padding-block: var(--section-space);
}

.service-story__heading {
  margin-bottom: clamp(20px, 2vw, 28px);
}

.partner-benefits > .partner-shell > h2 {
  margin-bottom: 20px;
}

.partner-terms {
  padding: 0 0 var(--section-space);
}

.clients-final,
.partner-final {
  padding-bottom: var(--section-space);
}

.mock-offices {
  padding-block: var(--section-space);
}

.cases-listing,
.cases-focus {
  padding-block: var(--section-space-tight);
}

.article-detail__aside,
.brief-help,
.partner-terms__panel {
  padding: clamp(22px, 2vw, 30px);
}

.cta-panel {
  min-height: 0;
  padding: clamp(24px, 2.5vw, 36px);
}

.brief-hero {
  padding-block: clamp(30px, 3vw, 46px);
}

.site-footer__top {
  padding-block: 30px;
}

@media (max-width: 760px) {
  :root {
    --section-space: 18px;
    --section-space-tight: 14px;
  }

  .section-heading,
  .clients-section-heading,
  .partner-heading,
  .mock-offices__heading {
    margin-bottom: 16px;
  }

  .cta-panel {
    padding: 22px 18px;
  }
}
