#t12-main { scroll-margin-top: 3rem; }
#t12-main:focus { outline: 3px solid #147276; outline-offset: -3px; }
#main-content.t12-portal-main { background: #fdfcf5; color: #263e46; font-family: Montserrat,sans-serif; padding: clamp(28px,5vw,72px) 6vw; }
.t12-portal-main > #t12-main { max-width: 1280px; margin: auto; }
.t12-portal-main h1 { color: #263e46; font: 800 clamp(32px,4vw,56px)/1.15 Montserrat,sans-serif; margin: 30px 0; }
.t12-portal-content { min-width: 0; }
.t12-contact-form .t12-field-error { color: #8d2929; font-size: 14px; margin: 8px 0 0; }
.t12-contact-form .t12-field-errors { color: #8d2929; font-weight: 700; margin: 12px 0; }
.t12-contact-form [aria-invalid="true"] { border: 2px solid #8d2929 !important; }

.t12-portal-main .t12-service-path { display: flex; flex-wrap: wrap; gap: 10px; font-size: 14px; }
.t12-portal-main .t12-service-path a { color: #263e46; font-weight: 700; text-decoration: underline; }

.t12-contact-form .t12-field-error:not([hidden]) { display: block; }

/* Long category names must reflow on narrow screens without shrinking type. */
.t12-collection-heading h1 { hyphens: auto; overflow-wrap: anywhere; }

/* Keep the longest topic legible between the scroll controls at 320px. */
@media (max-width:359px) {
  .t12-topic-bar { padding: 2px; gap: 2px; }
  .t12-topic-arrow { width: 32px; }
  .t12-topic-links a { padding-left: 8px; padding-right: 8px; }
}
