/* Scoped knowledge-bank presentation; the shared header, footer and settings stay intact. */
.knowledge-page, .knowledge-detail { --container: 80rem; }
.knowledge-page h1, .knowledge-page h2, .knowledge-page h3, .knowledge-detail h1 { letter-spacing: -.035em; }
.knowledge-page h2 { font-size: clamp(1.55rem, 2.4vw, 2rem); margin: 0; line-height: 1.2; }
.kb-hero, .kb-help { background: #fff8ed; }
.kb-hero { padding-block: 2.6rem 2.25rem; }
.kb-hero-copy { max-width: 56rem; margin-inline: auto; }
.kb-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(16rem, 23rem); gap: 2rem; align-items: center; }
.kb-hero-grid .kb-hero-copy { margin: 0; min-width: 0; }
.kb-hero-visual { margin: 0; align-self: center; }
.kb-hero-visual img { display: block; width: 100%; height: auto; }
.kb-hero h1 { font-size: clamp(2rem, 4vw, 3.35rem); line-height: 1.08; margin: .5rem 0 .8rem; }
.kb-hero .lead { font-size: 1.125rem; line-height: 1.55; max-width: 48rem; margin: 0 0 1.1rem; }
.kb-search-field { display: flex; align-items: center; gap: .8rem; padding: .4rem .4rem .4rem 1.2rem; border: 1px solid #bdcfda; border-radius: 1.15rem; background: #fff; }
.kb-search-field > .icon { color: var(--teal); flex-shrink: 0; }
.kb-search-field input { width: 100%; min-width: 0; min-height: 3rem; padding: .65rem 0; border: 0; border-radius: .3rem; background: transparent; box-shadow: none; color: var(--navy); font-size: 1rem; }
.kb-search-field input::placeholder { color: var(--muted); opacity: 1; }
.kb-search-field .button { flex-shrink: 0; min-height: 3rem; }
.knowledge-page .button:hover { transform: none; }
.kb-search > small { display: block; margin-top: .45rem; color: var(--muted); font-size: .875rem; }
.kb-suggestions { display: flex; gap: .5rem; align-items: center; flex-wrap: wrap; margin-top: .8rem; }
.kb-suggestions > span { font-size: .875rem; font-weight: 650; }
.kb-suggestions .filter-pill { border: 1px solid #ccdae3; border-radius: 999px; min-height: 2.75rem; padding: .45rem .8rem; background: #fff; font-size: .875rem; cursor: pointer; }
.kb-section { padding-block: 2rem; }
.kb-section-heading { display: flex; align-items: center; justify-content: space-between; gap: .7rem 1.5rem; margin-bottom: 1.1rem; }
.kb-section-heading p { margin: .35rem 0 0; color: var(--muted); line-height: 1.5; }
.kb-section-heading > div { min-width: 0; }
.kb-section-heading > .text-link { max-width: 100%; flex-shrink: 1; font-size: .875rem; }
.kb-topic-grid, .kb-quick-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; }
.kb-topic, .kb-help-option { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: start; gap: .85rem; padding: 1rem; border: 1px solid #dbe5ec; border-radius: .85rem; color: var(--navy); text-decoration: none; background: #f7fbfd; }
.kb-topic strong, .kb-help-option strong { display: block; font-size: 1rem; line-height: 1.35; }
.kb-topic small, .kb-help-option small { display: block; margin-top: .4rem; font-size: .875rem; line-height: 1.45; color: var(--muted); }
.kb-topic > .icon { width: 1.1rem; height: 1.1rem; margin-top: .65rem; color: var(--teal); }
.kb-icon { display: inline-grid; place-items: center; flex-shrink: 0; width: 2.8rem; height: 2.8rem; border-radius: .8rem; background: #e6f5fc; color: #006a99; }
.kb-icon .icon { width: 1.6rem; height: 1.6rem; }
.kb-tone-mint { background: #f5fbf8; }
.kb-tone-mint .kb-icon { background: #e2f5ec; color: #16704e; }
.kb-tone-sand { background: #fffbf5; }
.kb-tone-sand .kb-icon { background: #fff0d8; color: #965508; }
.kb-quick { background: #eef8fc; }
.kb-quick-question { display: flex; flex-direction: column; justify-content: space-between; gap: 1rem; min-height: 8rem; padding: 1.15rem; border: 1px solid #d4e2eb; border-radius: .85rem; background: #fff; color: var(--navy); text-decoration: none; }
.kb-quick-question > strong { font-size: 1rem; line-height: 1.45; }
.kb-quick-question > span { display: flex; justify-content: space-between; align-items: center; gap: .7rem; color: var(--teal-dark); }
.kb-quick-question small { font-size: .8rem; font-weight: 750; letter-spacing: .025em; }
.kb-quick-question .icon { flex-shrink: 0; }
.kb-explorer-grid { display: grid; grid-template-columns: 16.5rem minmax(0, 1fr); align-items: start; gap: 1.15rem; }
.kb-topic-nav { position: relative; padding: .35rem; border: 1px solid #dbe5ec; border-radius: .8rem; min-width: 0; }
.kb-topic-nav form { margin: 0; }
.kb-topic-link { display: flex; align-items: center; width: 100%; min-height: 2.9rem; gap: .65rem; padding: .45rem .65rem; color: var(--navy); background: #fff; border: 1px solid transparent; border-radius: .6rem; text-decoration: none; text-align: left; font-size: .875rem; line-height: 1.35; cursor: pointer; }
.kb-topic-link .kb-icon { width: 1.8rem; height: 1.8rem; border-radius: .5rem; }
.kb-topic-link .icon { width: 1.15rem; height: 1.15rem; }
.kb-count { display: inline-grid; place-items: center; min-width: 1.6rem; min-height: 1.6rem; padding-inline: .25rem; margin-left: auto; border-radius: 999px; font-size: .75rem; background: #f0f5f8; color: #395d75; }
.kb-topic-link.is-active { background: var(--teal); color: #fff; font-weight: 700; }
.kb-topic-link.is-active :is(.kb-icon, .kb-count) { background: #006779; color: #fff; }
.kb-question-panel { min-width: 0; padding: 1.15rem; border: 1px solid #cbdde7; border-radius: .9rem; }
.kb-panel-heading { display: flex; align-items: center; gap: .85rem; margin-bottom: .9rem; }
.kb-panel-heading > div { flex: 1; min-width: 0; }
.kb-panel-heading h3 { font-size: 1.3rem; line-height: 1.25; margin: 0; }
.kb-panel-heading p { margin: .25rem 0 0; color: var(--muted); font-size: .875rem; line-height: 1.45; }
.kb-panel-heading > .text-link { margin-left: auto; max-width: 12rem; font-size: .875rem; }
.kb-question-list { display: grid; gap: .55rem; list-style: none; margin: 0; padding: 0; }
.kb-question-row { display: flex; align-items: center; gap: .8rem; min-height: 5rem; padding: .7rem; border: 1px solid #dde7ed; border-radius: .75rem; color: var(--navy); text-decoration: none; }
.kb-question-row .kb-icon { width: 2.4rem; height: 2.4rem; border-radius: .65rem; }
.kb-question-row .kb-icon .icon { width: 1.35rem; height: 1.35rem; }
.kb-question-copy { flex: 1; min-width: 0; }
.kb-question-copy strong { display: block; font-size: 1rem; line-height: 1.4; }
.kb-question-copy small { display: block; margin-top: .25rem; font-size: .875rem; line-height: 1.45; color: var(--muted); }
.kb-read, .kb-help-link { display: inline-flex; align-items: center; gap: .5rem; color: #006ca4; font-size: .875rem; font-weight: 700; }
.kb-read { flex-shrink: 0; }
.kb-read .icon { width: 1.15rem; height: 1.15rem; }
.kb-question-copy .kb-result-category { color: var(--teal-dark); font-weight: 700; }
.kb-all-questions { margin-top: .6rem; font-size: .875rem; }
.kb-pagination { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: .6rem; margin-top: 1rem; }
.kb-pagination > span { margin-right: auto; color: var(--muted); font-size: .875rem; }
.kb-pagination form { margin: 0; }
.kb-empty { padding: 1rem .1rem; }
.kb-empty h4 { margin: 0; font-size: 1.1rem; }
.kb-empty-links { display: flex; gap: .5rem 1rem; flex-wrap: wrap; }
.kb-help-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.kb-help-option { grid-template-columns: auto minmax(0, 1fr); background: #fff; }
.kb-help-link { margin-top: .5rem; min-height: 2rem; }
.kb-error, .kb-load-error { color: var(--navy); border-left: 3px solid var(--teal); padding: .6rem .8rem; background: #eef8fc; }
.knowledge-page :is(.kb-topic, .kb-help-option, .kb-quick-question, .kb-question-row, .kb-suggestions button):hover { background: #edf8fb; border-color: #779eaf; }
.kb-topic-link:not(.is-active):hover { background: #edf8fb; border-color: #accbd8; }
#kb-explorer-title:focus { outline: 0; }
[data-kb-explorer][aria-busy="true"] { opacity: .65; }
.knowledge-detail .kb-hero-copy { max-width: 56rem; margin-inline: 0; }
.knowledge-detail .kb-hero h1 { font-size: clamp(2rem, 3.6vw, 3rem); line-height: 1.15; }
.knowledge-detail .back-link { display: inline-flex; min-height: 2.75rem; align-items: center; margin-bottom: .5rem; }
.kb-article-layout { display: grid; grid-template-columns: minmax(0, 52rem) minmax(14rem, 1fr); gap: 2.5rem; align-items: start; }
.kb-article { line-height: 1.75; }
.kb-article > :first-child { margin-top: 0; }
.kb-article h2 { font-size: 1.5rem; margin-top: 1.5rem; }
.kb-article :is(p, li) { max-width: 70ch; }
.kb-article-aside { background: #eef8fc; padding: 1.3rem; border-radius: .85rem; }
.kb-article-aside h2 { font-size: 1.3rem; }
.kb-article-aside .text-link { display: flex; min-height: 2.75rem; }
.kb-related { max-width: 52rem; margin-top: 2rem; }
.kb-related h2 { font-size: 1.5rem; }
@media (max-width: 70rem) {
    .kb-topic-grid, .kb-quick-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .kb-section-heading { flex-wrap: wrap; }
    .kb-explorer-grid { grid-template-columns: 14rem minmax(0, 1fr); }
    .kb-panel-heading { flex-wrap: wrap; }
    .kb-panel-heading > .text-link { margin: 0; max-width: none; }
    .kb-question-row { display: grid; grid-template-columns: auto minmax(0, 1fr); }
    .kb-read { grid-column: 2; }
}
@media (max-width: 48rem) {
    .kb-hero { padding-block: 1.75rem; }
    .kb-hero h1 br { display: none; }
    .kb-section { padding-block: 1.5rem; }
    .kb-explorer-grid, .kb-article-layout { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
    .kb-topic-nav { display: flex; gap: .35rem; overflow-x: auto; padding: .4rem; }
    .kb-topic-nav form { display: contents; }
    .kb-topic-link { flex: 0 0 auto; width: auto; white-space: nowrap; }
    .kb-help-grid { grid-template-columns: minmax(0, 1fr); }
    .kb-panel-heading { display: grid; grid-template-columns: auto minmax(0, 1fr); }
    .kb-panel-heading > .text-link { grid-column: 1 / -1; }
}
@media (max-width: 60rem) {
    .kb-hero-grid { display: block; }
    .kb-hero-visual { display: block; width: min(100%, 21rem); margin: 1.25rem auto 0; }
}
@media (max-width: 36rem) {
    .kb-topic-grid, .kb-quick-grid { grid-template-columns: minmax(0, 1fr); }
    .kb-search-field { flex-wrap: wrap; padding: .6rem; gap: .5rem; border-radius: .85rem; }
    .kb-search-field input { width: calc(100% - 2rem); flex: 1; }
    .kb-search-field .button { flex: 1 0 100%; }
    .kb-question-panel { padding: .85rem; }
    .kb-quick-question { min-height: 6rem; }
}
html[data-text-size="200"] :is(.kb-topic-grid, .kb-quick-grid, .kb-explorer-grid, .kb-help-grid, .kb-article-layout) { grid-template-columns: minmax(0, 1fr); }
html[data-text-size="200"] .kb-hero-grid { display: block; }
html[data-text-size="200"] .kb-hero-visual { display: none; }
html.display-contrast .knowledge-page .kb-topic-link.is-active { border: 3px solid #111 !important; text-decoration: underline; }
@media (prefers-reduced-motion: reduce) { .knowledge-page * { scroll-behavior: auto; } }
