/* A shared, purely decorative separator between content sections. */
.section-divider-before,
.section-divider-after {
  position: relative;
}

.section-divider-before::before,
.section-divider-after::after {
  content: "";
  position: absolute;
  left: 50%;
  width: 60px;
  height: 1px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, transparent 0%, #b8912e 50%, transparent 100%);
  pointer-events: none;
}

.section-divider-before::before { top: 0; }
.section-divider-after::after { bottom: 0; }

.systems.section-divider-before::before,
.systems.section-divider-after::after,
.site-footer.section-divider-before::before { content: none; }

.values.section-divider-after { border-bottom: 0; }
.systems.section-divider-before,
.story-facts.section-divider-before { border-block: 0; }
.site-footer.section-divider-before,
.price-page .price-packages.section-divider-before { border-top: 0; }
.client-portal-layout.section-divider-after { border-bottom: 0; }

/* Halve the surrounding section spacing, rather than moving the divider. */
:root {
  --divider-section-space: 4rem;
  --divider-story-space: clamp(2rem, 3.5vw, 3.5rem);
}

.values.section-divider-after .value { padding-bottom: 1.3rem; }
.values.section-divider-after + .section,
.section.section-divider-before,
.client-portal + .pricing {
  padding-top: var(--divider-section-space);
}

.about#om,
.founder-story,
.client-portal,
.partners {
  padding-bottom: var(--divider-section-space);
}

.client-portal-layout.section-divider-after { padding-bottom: 2rem; }
.about-lower .systems.section-divider-before {
  margin-top: 3.5rem;
  padding-block: 1rem;
}

.story-page .story-hero:has(+ .story-facts) { padding-bottom: 2.5rem; }
.story-facts.section-divider-before { padding-block: .8rem; }
.story-page .story-facts + .story-section {
  padding-top: var(--divider-story-space);
}
.story-page main > .story-section:last-child {
  padding-bottom: var(--divider-story-space);
}

.price-page .price-hero:has(+ .price-packages) { padding-bottom: 2rem; }
.price-page .price-packages.section-divider-before { padding-top: 2.25rem; }
.site-footer.section-divider-before .footer-grid { padding-top: 1.3rem; }
.policy { padding-bottom: 3.5rem; }

@media (max-width: 900px) {
  .client-portal-layout.section-divider-after { padding-bottom: 1.5rem; }
}

@media (max-width: 780px) {
  :root {
    --divider-section-space: 2.75rem;
    --divider-story-space: 2rem;
  }
  .values.section-divider-after .value { padding-bottom: 1.8rem; }
  .values.section-divider-after .value:last-child {
    padding-bottom: .9rem;
    border-bottom: 0;
  }
  .services.section.section-divider-before { padding-top: 2.25rem; }
  .story-page .story-hero:has(+ .story-facts) { padding-bottom: 1.5rem; }
}

@media (max-width: 768px) {
  .values.section-divider-after::after { display: none; }
}

@media (max-width: 760px) {
  .policy { padding-bottom: 2.5rem; }
}

@media (max-width: 600px) {
  .price-page .price-packages.section-divider-before { padding-top: 1.75rem; }
}

/* Compact partner section; preserve existing type and logo sizes. */
.section.partners { padding-top: 4rem; padding-bottom: 2rem; }
@media (max-width: 780px) {
  .section.partners { padding-top: 2.75rem; padding-bottom: 1.375rem; }
}

/* Bring the home pricing photograph closer to the top of its section. */
.client-portal + .pricing { padding-top:0; }
