/* Additional pages and quick category access; existing slide design is unchanged. */
.home-categories { padding: 42px 0 64px; background: #fff; }
.home-categories-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 22px; }
.home-categories-heading h2 { margin: 6px 0 0; color: #123554; font-size: clamp(1.5rem, 3vw, 2rem); line-height: 1.2; letter-spacing: -.035em; }
.home-categories-heading > a { color: #1769aa; font-weight: 700; white-space: nowrap; padding: 10px 0; }
.home-categories-heading > a span { margin-left: 8px; }
.home-categories-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
/* Generated promotional artwork; titles stay selectable and accessible. */
.home-category-link { position: relative; display: block; aspect-ratio: 3 / 2; overflow: hidden; container-type: inline-size; border-radius: 8px; background: #08314c; color: #fff; text-decoration: none; isolation: isolate; }
.home-category-link img { display: block; width: 100%; height: 100%; object-fit: cover; }
.home-category-link::after { content: ""; position: absolute; z-index: 0; inset: 0; background: linear-gradient(90deg, rgba(3, 25, 43, .18), transparent 58%); pointer-events: none; }
.home-category-kicker { position: absolute; z-index: 1; top: 11%; left: 6%; font-size: clamp(9px, 2.6cqw, 12px); letter-spacing: .13em; font-weight: 700; color: #85ddd3; }
.home-category-title { position: absolute; z-index: 1; top: 25%; left: 6%; max-width: 46%; font-size: clamp(21px, 6.6cqw, 30px); line-height: 1.12; letter-spacing: -.025em; font-weight: 750; text-shadow: 0 1px 8px rgba(0, 20, 35, .25); }
.home-category-cta { position: absolute; z-index: 1; bottom: 13%; left: 6%; display: inline-flex; align-items: center; gap: 10px; min-height: 34px; padding: 8px 11px; background: #fff; color: #0d3a59; border-radius: 4px; font-size: clamp(11px, 3.25cqw, 14px); line-height: 1.2; font-weight: 700; }
.home-category-cta span { font-size: 1.25em; }
.home-category-link:hover .home-category-cta { background: #d7f5ef; }
.home-category-link:focus-visible, .home-categories-heading > a:focus-visible { outline: 3px solid #1769aa; outline-offset: 4px; }
.section-page-heading { background: #f4f7fa; padding: 34px 0 36px; border-bottom: 1px solid #e4e9f2; }
.section-page-heading h1 { margin: 12px 0 8px; color: #123554; font-size: clamp(2rem, 4vw, 2.8rem); letter-spacing: -.035em; line-height: 1.15; }
.section-page-heading p { margin: 0; color: #546b7d; }
.page-backlink { color: #1769aa; font-size: .9rem; }
.section-page .benefits { margin-top: 0; padding: 32px 0 0; }
.section-page .institutional-section { padding-top: 58px; }
.section-page .contact-section { padding-block: 52px; }
@media (max-width: 780px) {
  .home-categories { padding: 28px 0 42px; }
  .home-categories-heading { align-items: start; gap: 10px; }
  .home-categories-heading > a { font-size: .86rem; }
  .home-categories-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .section-page-heading { padding: 24px 0 28px; }
  .section-page .benefits { padding-top: 24px; }
  .section-page .institutional-section { padding-top: 38px; }
}
@media (max-width: 360px) {
  .home-categories-heading { display: block; }
  .home-categories-heading > a { display: inline-block; margin-top: 8px; }

}

@media (max-width: 540px) {
  .home-categories-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .home-categories-heading { align-items: start; flex-wrap: wrap; }
}
