/* Audience routes share the existing typography, palette, and page chrome. */
.audience-section { padding-block: 65px 75px; }
.audience-label, .home-work-grid .audience-label { font: 11px/1.5 'IBM Plex Mono', monospace; color: var(--home-accent); margin-bottom: 20px; }
.audience-grid article { display: flex; flex-direction: column; }
.audience-link { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding-top: 28px; margin-top: auto; font: 13px/1.5 'Space Grotesk', sans-serif; color: var(--home-accent); text-underline-offset: 5px; }
.sector-hero .h-line .h-italic { min-height: 0; }
.sector-hero .h-sub { margin-top: 25px; }
.sector-hero .hero-status { max-width: 450px; line-height: 1.7; }
.process-steps { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-block: 1px solid var(--border-strong); padding: 0; }
.process-steps li { padding: 30px; border-right: 1px solid var(--border-strong); }
.process-steps li:first-child { padding-left: 0; }
.process-steps li:last-child { padding-right: 0; border-right: 0; }
.process-steps h3 { font: 400 30px/1.2 'EB Garamond', serif; margin: 20px 0 16px; }
.process-steps p { font: 15px/1.75 'Space Grotesk', sans-serif; color: var(--cream-dim); }
.bank-work-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bank-work-grid article:nth-child(2n) { border-right: 0; padding-right: 0; }
.bank-work-grid article:nth-child(2n+1) { padding-left: 0; }
.bank-work-grid article:nth-child(-n+2) { border-bottom: 1px solid var(--border-strong); }
@media (max-width: 760px) {
  .process-steps, .bank-work-grid { grid-template-columns: 1fr; }
  .process-steps li, .process-steps li:first-child, .process-steps li:last-child { padding: 25px 0; border-right: 0; border-bottom: 1px solid var(--border-strong); }
  .process-steps li:last-child { border-bottom: 0; }
  .bank-work-grid article:nth-child(n) { padding: 25px 0; }
  .sector-hero .h-line .h-italic { min-height: 0; }
}

/* Four audience routes remain readable as two balanced rows. */
.audience-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.audience-grid article:nth-child(2n) { border-right: 0; padding-right: 0; }
.audience-grid article:nth-child(2n+1) { padding-left: 0; }
.audience-grid article:nth-child(-n+2) { border-bottom: 1px solid var(--border-strong); }
@media (max-width: 760px) {
  .audience-grid { grid-template-columns: 1fr; }
  .audience-grid article:nth-child(n) { padding: 25px 0; border-right: 0; }
}
