/* Shared rhythm for the association and Edulife landing pages. */
#main:has(.hero) { --section-space: 48px; --card-gap: 20px; }
#main:has(.hero) .wrap { padding-block: var(--section-space); }
#main:has(.hero) > .wrap + .wrap { padding-top: 0; }
#main:has(.hero) .section-heading { margin-bottom: 24px; }
#main:has(.hero) .course-grid,
#main:has(.hero) .steps { gap: var(--card-gap); }
#main:has(.hero) .about { gap: 36px; }
#main:has(.hero) .pathways { padding-block: 24px; }
#main:has(.hero) .compact-members { padding: 28px; margin-bottom: 40px; }
#main:has(.hero) .contact { padding-block: 40px; }
.category-text-card li { word-break: keep-all; overflow-wrap: break-word; }
/* Restrained backgrounds distinguish the education sections. */
#main:has(.hero) > .service-categories {
  background: #f3f6ef;
  box-shadow: 0 0 0 100vmax #f3f6ef;
  clip-path: inset(0 -100vmax);
}
#main:has(.hero) > .professional-section,
#main:has(.hero) > .about {
  background: #f1f5f7;
  box-shadow: 0 0 0 100vmax #f1f5f7;
  clip-path: inset(0 -100vmax);
}
#main:has(.hero) > #curriculum,
#main:has(.hero) > .professional-section,
#main:has(.hero) > #process,
#main:has(.hero) > .about { padding-block: var(--section-space); }
#main:has(.hero) > #tools { background: #fff; }
#main:has(.hero) .category-text-card { background: #163648; }
#main:has(.hero) .category-text-card:nth-child(even) { background: #355c45; }
#main:has(.hero) .compact-members { background: #f3f6ef; border-color: #dce5d5; margin-top: var(--section-space); }
@media(max-width:760px) {
  #main:has(.hero) { --section-space: 32px; --card-gap: 16px; }
  #main:has(.hero) .section-heading { margin-bottom: 20px; }
  #main:has(.hero) .about { gap: 24px; }
  #main:has(.hero) .compact-members { padding: 22px; margin-bottom: 32px; }
  #main:has(.hero) .contact { padding-block: 32px; }
  .life-audiences-mobile { padding-block: 28px; }
}
