/* Shared contrast for page introductions; the home hero keeps its existing design. */
body[class]:not(.ksl-page-index) main .ksl-dark-hero[class] {
  background: #102d43;color: #fff;border-color: #ffffff30;
}
body[class]:not(.ksl-page-index) main .ksl-dark-hero[class] :is(h1,h2,h1 span,.ar-eyebrow,.rr-eyebrow,.sr-eyebrow,.case-detail-kicker) { color: #fff; }
body[class]:not(.ksl-page-index) main .ksl-dark-hero[class] :is(p,.ar-breadcrumb,.ar-credentials li,.ar-hero-photo figcaption span,.fq-shortcuts > span,.sr-mode legend) { color: #d5e0e9; }
body[class]:not(.ksl-page-index) main .ksl-dark-hero[class] :is(.ar-text-link,.rr-text-link,.fq-shortcuts a,.corp-purpose-link) { color: #fff; }
body[class]:not(.ksl-page-index) main .ksl-dark-hero[class] :is(.ar-primary,.rr-primary,.sr-primary,.fq-search-submit) { border-color: #fff;background: #fff;color: #102d43; }
body[class]:not(.ksl-page-index) main .ksl-dark-hero[class] :is(.ar-primary,.rr-primary,.sr-primary,.fq-search-submit):hover { border-color: #d5e0e9;background: #d5e0e9;color: #102d43; }
body[class]:not(.ksl-page-index) main .ksl-dark-hero[class] :is(.ar-breadcrumb a,.ar-hero-photo figcaption) { color: #fff;border-color: #ffffff60; }
/* These compact page headings stay close to their search/list/form. */
body[class]:not(.ksl-page-index) main .ksl-dark-hero[class]:is(.kr-heading,.cr-page-heading,.lr-heading,.legal-heading,.page-head,.ksl-page-head) { padding: 28px 32px; }
body[class]:not(.ksl-page-index) main .ksl-dark-hero[class].rr-hero { padding: 30px 32px; }
body[class]:not(.ksl-page-index) main .ksl-dark-hero[class].fq-hero { padding-block: 28px; }
body[class]:not(.ksl-page-index) main .ksl-dark-hero[class].sr-intro { padding: 28px 24px; }
body[class]:not(.ksl-page-index) main .ksl-dark-hero[class] .sr-mode label { border-color: #ffffff70;color: #fff; }
body[class]:not(.ksl-page-index) main .ksl-dark-hero[class] .sr-mode label:has(input:checked) { border-color: #fff;background: #fff;color: #102d43; }
/* Explanatory diagrams remain white with dark text. */
body[class]:not(.ksl-page-index) main .ksl-dark-hero[class] .ksl-flow-graphic { color: #102d43; }
body[class]:not(.ksl-page-index) main .ksl-dark-hero[class] .ksl-flow-graphic[class] p { color: #60717d; }
/* Corporate purpose choices use the same contrast and keep their selection visible. */
body[class]:not(.ksl-page-index) main .ksl-dark-hero[class] .corp-purpose-options button { border-color: #ffffff70;background: transparent;color: #fff; }
body[class]:not(.ksl-page-index) main .ksl-dark-hero[class] .corp-purpose-options button[aria-selected=true] { border-color: #fff;background: #fff;color: #102d43; }
body[class]:not(.ksl-page-index) main .ksl-dark-hero[class] .corp-purpose-results { border-color: #ffffff40;background: #ffffff08; }
body[class]:not(.ksl-page-index) main .ksl-dark-hero[class] .case-decision-badge { border-color: #ffffff70;background: transparent;color: #fff; }
body[class]:not(.ksl-page-index) main .ksl-dark-hero[class] .kr-page-badge { border-color: #ffffff70;background: transparent;color: #fff; }
@media (max-width: 640px) {
  body[class]:not(.ksl-page-index) main .ksl-dark-hero[class]:is(.kr-heading,.cr-page-heading,.lr-heading,.legal-heading,.page-head,.ksl-page-head,.rr-hero) { padding: 24px 20px; }
  body[class]:not(.ksl-page-index) main .ksl-dark-hero[class].sr-intro { padding: 24px 18px; }
  body[class]:not(.ksl-page-index) main .ksl-dark-hero[class].fq-hero { padding-block: 24px; }
}

/* Three explicit next destinations after the page's work is complete. */
body[class] .ksl-site-resources { padding: 40px 0;background: #f6f6f3;border-top: 1px solid #d9e3ed;color: #102d43; }
body[class] .ksl-site-resources__inner { width: 100%;max-width: calc(var(--ksl-max) + 2 * var(--ksl-gutter));margin-inline: auto;padding-inline: var(--ksl-gutter); }
body[class] .ksl-site-resources header p { margin: 0 0 8px;color: #60717d;font-size: 14px; }
body[class] .ksl-site-resources h2 { margin: 0;font: 750 clamp(22px,2.3vw,30px)/1.4 var(--font-sans);letter-spacing: -.035em; }
body[class] .ksl-site-resources__links { display: grid;grid-template-columns: repeat(3,minmax(0,1fr));gap: 16px;margin-top: 24px; }
body[class] .ksl-site-resource { display: flex;align-items: center;gap: 16px;min-width: 0;min-height: 112px;padding: 22px;border: 1px solid #c5d0d9;border-radius: 6px;background: #fff;color: #102d43;transition: background-color 150ms,border-color 150ms; }
body[class] .ksl-site-resource:hover { border-color: #2464a0;background: #f1f5f8; }
body[class] .ksl-site-resource:focus-visible { outline: 3px solid #78adf4;outline-offset: 4px; }
body[class] .ksl-site-resource--primary { border-color: #102d43;background: #102d43;color: #fff; }
body[class] .ksl-site-resource--primary:hover { border-color: #2464a0;background: #2464a0; }
body[class] .ksl-site-resource__icon { flex: none; }
body[class] .ksl-site-resource svg { display: block;width: 26px;height: 26px; }
body[class] .ksl-site-resource strong { display: block;font-size: 19px;font-weight: 700;line-height: 1.5; }
body[class] .ksl-site-resource small { display: block;margin-top: 6px;color: #344653;font-size: 14px;line-height: 1.6;word-break: keep-all; }
body[class] .ksl-site-resource--primary small { color: #d5e0e9; }
body[class] .ksl-site-resource__arrow { flex: none;margin-left: auto;font-size: 23px; }
@media (max-width: 992px) {
  body[class] .ksl-site-resources__links { gap: 10px; }
  body[class] .ksl-site-resource { flex-wrap: wrap;gap: 10px;padding: 18px; }
  body[class] .ksl-site-resource > span:nth-child(2) { flex: 1 1 100%;order: 1; }
}
@media (max-width: 640px) {
  body[class] .ksl-site-resources { padding-block: 28px; }
  body[class] .ksl-site-resources__links { grid-template-columns: minmax(0,1fr);margin-top: 20px; }
  body[class] .ksl-site-resource { flex-wrap: nowrap;gap: 14px;min-height: 96px;padding: 18px; }
  body[class] .ksl-site-resource > span:nth-child(2) { flex: 1;order: 0; }
  body[class] .ksl-site-resource strong { font-size: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  body[class] .ksl-site-resource { transition: none; }
}
