/* Scoped public marketing presentation; plan data and Sync remain unchanged. */
.family-card-link,
.family-card-link:visited,
.family-card-link:hover {
  color:inherit; text-decoration:none; cursor:pointer;
}
.family-card-link:focus-visible {
  outline:3px solid var(--accent,#0b2942); outline-offset:5px;
  box-shadow:0 14px 36px rgba(8,40,68,.16);
}
.family-card-link .family-button { pointer-events:none; padding-inline:10px; text-align:center; }
.payday-section-centered { text-align:center; }
.payday-section-centered .payday-centered-copy { max-width:920px; margin-inline:auto; }
.payday-section-centered h2 { max-width:880px; margin-inline:auto; }
.payday-section-centered p { max-width:800px; margin:22px auto 0; line-height:1.7; }
@media(prefers-reduced-motion:reduce) {
  .family-card-link { transition:none; }
  .family-card-link:hover { transform:none; }
}

/* Set 24: compact homepage cards; pricing remains on the actual plan pages. */
.home-plan-categories { padding-bottom:28px; }
.home-plan-categories .family-grid { align-items:start; }
.home-plan-categories .family-card { min-height:0; }
.home-plan-categories .family-card-body p { flex:none; margin:8px 0 16px; }
.home-plan-categories .family-button { margin-top:0; }
.home-plan-categories + .payday-section-centered { padding-top:28px; }

/* A single centered employer-setup card, with the existing sign-in close below. */
.employer-process-centered { padding:52px 0 36px; }
.employer-process-centered .employer-process-container { max-width:820px; }
.employer-process-centered .employer-steps-card { padding:clamp(20px,4vw,36px); }
.employer-process-centered .employer-steps-card h2 { margin:0; text-align:center; }
.employer-process-centered .employer-steps li > div { min-width:0; }
.employer-setup-actions { display:flex; justify-content:center; margin-top:24px; }
.employer-setup-actions .button { max-width:100%; text-align:center; }
.employer-account-signin { margin:20px 0 0; text-align:center; }
.employer-account-signin .button { max-width:100%; text-align:center; }

/* The five representative benefits no longer reserve space for number badges. */
.broker-benefits-unnumbered .broker-benefit h3 { margin-top:0; }

/* One balanced application card, rather than a detached heading and empty box. */
.broker-application-cta-centered {
  max-width:800px; margin-inline:auto; padding:clamp(24px,4vw,44px);
  border-top:5px solid var(--orange); text-align:center;
  background:linear-gradient(135deg,#f6fbff,#fff8ef);
}
.broker-application-cta-centered .section-head { max-width:none; margin:0 0 22px; }
.broker-application-cta-centered .eyebrow { margin:0 0 10px; }
.broker-application-cta-centered h2 { margin:0; font-size:clamp(1.8rem,4vw,3rem); line-height:1.12; }
.broker-application-cta-centered .button { max-width:100%; text-align:center; line-height:1.4; }
@media(max-width:620px) {
  .home-plan-categories { padding-bottom:22px; }
  .home-plan-categories + .payday-section-centered { padding-top:24px; }
  .employer-process-centered { padding:36px 0 28px; }
  .employer-process-centered .employer-steps li { grid-template-columns:34px minmax(0,1fr); gap:10px; padding:12px; }
}

/* Set 25: matched, unnumbered benefit cards. Keep longer explanations left-aligned. */
.employer-benefits-unnumbered .employer-benefit,
.broker-benefits-unnumbered .broker-benefit {
  min-width:0;
  padding:clamp(20px,2.2vw,28px);
}
.employer-benefits-unnumbered .employer-benefit h3,
.broker-benefits-unnumbered .broker-benefit h3 {
  margin:0 0 14px;
  text-align:center;
  text-wrap:balance;
  line-height:1.35;
  overflow-wrap:break-word;
}
.employer-benefits-unnumbered .employer-benefit p,
.broker-benefits-unnumbered .broker-benefit p {
  margin:0;
  line-height:1.65;
}

/* Set 27: remove oversized section gaps only where requested. */
.home-plan-categories { padding-top:32px; }
.home-plan-categories + .payday-section-centered { padding-bottom:32px; }
.broker-benefits-section { padding-top:32px; padding-bottom:28px; }
.broker-steps-compact { padding-top:32px; padding-bottom:32px; }
.broker-application-section { padding-top:28px; }
@media(max-width:620px) {
  .home-plan-categories { padding-top:24px; }
  .home-plan-categories + .payday-section-centered { padding-bottom:26px; }
  .broker-benefits-section { padding-top:26px; padding-bottom:24px; }
  .broker-steps-compact { padding-top:26px; padding-bottom:26px; }
  .broker-application-section { padding-top:24px; }
}

/* Set 28: targeted marketing-page spacing. Do not change the shared logo/header
   or carry these compact hero rules into plan pages and enrollment screens. */
.home-hero-compact { min-height:0; }
.home-hero-compact .hero-grid { padding-top:24px; align-items:start; }
.broker-hero { padding-top:24px; }
.broker-hero-grid { align-items:start; }

/* Close the combined hero-bottom / section-top gap above the plan directory. */
.plan-directory-hero { padding-bottom:12px; }
.plan-directory-hero h1 { margin-bottom:0; }
.plan-directory-hero + .section { padding-top:20px; }

/* Keep the employer-benefit block comfortably separated, without stacking
   the large default section paddings on both sides of each boundary. */
.employer-hero { padding-bottom:24px; }
.employer-hero .hero-disclosure { margin-bottom:0; }
.employer-benefits-section { padding-top:24px; padding-bottom:24px; }
.employer-benefits-section + .employer-process-centered { padding-top:24px; }
@media(max-width:620px) {
  .home-hero-compact .hero-grid { padding-top:20px; }
  .broker-hero { padding-top:20px; }
  .plan-directory-hero + .section { padding-top:16px; }
  .employer-hero { padding-bottom:20px; }
  .employer-benefits-section { padding-top:20px; padding-bottom:20px; }
  .employer-benefits-section + .employer-process-centered { padding-top:20px; }
}
