.kb-page { --kb-ink: #19352d; --kb-muted: #52655f; --kb-accent: #bd4d2b; --kb-paper: #f5f3ed; color: var(--kb-ink); background: #fcfbf8; padding-bottom: 4rem; font-family: system-ui, -apple-system, "Segoe UI", sans-serif; }
.kb-page .btn { font-family: inherit; }
.kb-page .kb-hero, .kb-page .kb-article { padding-top: 2rem; }
.kb-page .kb-breadcrumb { display: flex; flex-wrap: wrap; gap: .7rem; font-size: .88rem; color: var(--kb-muted); margin-bottom: 3rem; }
.kb-page a { color: var(--kb-ink); text-underline-offset: .2em; }
.kb-page a:focus-visible, .kb-page input:focus-visible, .kb-page button:focus-visible { outline: 3px solid var(--kb-accent); outline-offset: 4px; }
.kb-page .kb-eyebrow { display: block; color: var(--kb-accent); font-size: .76rem; font-weight: 750; letter-spacing: .1em; line-height: 1.6; margin-bottom: 1rem; text-transform: uppercase; }
.kb-page h1 { font-size: clamp(2.25rem, 4.4vw, 4rem); font-weight: 650; line-height: 1.12; letter-spacing: -.035em; max-width: 1000px; margin-bottom: 1.5rem; }
.kb-page .kb-intro { max-width: 720px; font-size: 1.18rem; line-height: 1.8; color: var(--kb-muted); }
.kb-page .kb-search { max-width: 750px; margin: 2rem 0 3.5rem; }
.kb-page .kb-search label { display: block; font-weight: 650; margin-bottom: .65rem; }
.kb-page .kb-search-row { display: flex; gap: .7rem; }
.kb-page .kb-search input[type=search] { min-width: 0; flex: 1; border: 1px solid #93a19b; border-radius: .35rem; padding: .85rem; background: white; }
.kb-page .kb-library-heading { display: flex; flex-wrap: wrap; gap: 1rem; align-items: baseline; justify-content: space-between; }
.kb-page .kb-library-heading h2 { font-size: 1.65rem; }
.kb-page .kb-library-heading > span { color: var(--kb-muted); }
.kb-page .kb-categories { display: flex; flex-wrap: wrap; gap: .6rem; margin: 1rem 0 2rem; }
.kb-page .kb-categories a { border: 1px solid #b8c1bb; padding: .55rem 1rem; border-radius: 2rem; text-decoration: none; }
.kb-page .kb-categories a span { margin-left: .4rem; }
.kb-page .kb-categories a.is-active { background: var(--kb-ink); color: white; border-color: var(--kb-ink); }
.kb-page .kb-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.15rem; }
.kb-page .kb-card { display: flex; flex-direction: column; padding: 1.75rem; background: var(--kb-paper); border: 1px solid #e3e5dc; border-radius: .45rem; }
.kb-page .kb-card h3 { font-size: 1.55rem; line-height: 1.3; margin-bottom: 1rem; }
.kb-page .kb-card h3 a { text-decoration: none; }
.kb-page .kb-card h3 a:hover { text-decoration: underline; }
.kb-page .kb-card > p:not(.kb-eyebrow) { color: var(--kb-muted); line-height: 1.75; }
.kb-page .kb-read { display: flex; justify-content: space-between; font-weight: 650; padding-top: 1.5rem; margin-top: auto; }
.kb-page .kb-next { display: flex; gap: 2rem; justify-content: space-between; align-items: center; background: #e8eee7; padding: 2rem; border-radius: .45rem; margin-top: 3rem; }
.kb-page .kb-next h2 { font-size: 1.4rem; margin: 0 0 .7rem; }
.kb-page .kb-next p { color: var(--kb-muted); margin-bottom: 0; }
.kb-page .kb-next > a { flex-shrink: 0; }
.kb-page .btn-dark { color: white; }
.kb-page .kb-article { max-width: 920px; }
.kb-page .kb-article h1 { font-size: clamp(2.15rem, 4.2vw, 3.5rem); }
.kb-page .kb-article-meta { color: var(--kb-muted); font-size: .93rem; margin-bottom: 2rem; }
.kb-page .kb-answer { border-left: 4px solid var(--kb-accent); background: var(--kb-paper); padding: 1.5rem; margin-bottom: 2.5rem; }
.kb-page .kb-answer .kb-eyebrow { margin-bottom: .5rem; }
.kb-page .kb-answer p { font-size: 1.17rem; line-height: 1.8; margin: 0; }
.kb-page .kb-body { font-size: 1.08rem; line-height: 1.85; overflow-wrap: anywhere; }
.kb-page .kb-body h2 { font-size: 1.7rem; margin: 2.5rem 0 1rem; line-height: 1.35; }
.kb-page .kb-body h3 { font-size: 1.3rem; margin-top: 1.6rem; }
.kb-page .kb-body li { margin-bottom: .55rem; }
.kb-page .kb-body table { width: 100%; border-collapse: collapse; margin: 1.5rem 0; font-size: .96rem; }
.kb-page .kb-body th, .kb-page .kb-body td { text-align: left; padding: .85rem; border: 1px solid #c8d2ca; vertical-align: top; }
.kb-page .kb-body th { background: #e8eee7; }
.kb-page .kb-body blockquote { background: var(--kb-paper); padding: 1rem 1.25rem; border-left: 3px solid var(--kb-accent); }
.kb-page .kb-body blockquote p:last-child { margin: 0; }
.kb-page .kb-sources { margin-top: 3rem; border-top: 1px solid #c8d2ca; padding-top: 2rem; }
.kb-page .kb-sources h2, .kb-page .kb-related h2 { font-size: 1.45rem; }
.kb-page .kb-sources li, .kb-page .kb-related li { margin-bottom: .7rem; }
.kb-page .kb-sources p { font-size: .9rem; color: var(--kb-muted); line-height: 1.7; }
.kb-page .kb-related { margin: 2.5rem 0; }
.kb-page .kb-empty { padding: 2rem; background: var(--kb-paper); }
@media (max-width: 900px) { .kb-page .kb-grid { grid-template-columns: 1fr; } .kb-page .kb-next { flex-direction: column; align-items: flex-start; } }
@media (max-width: 575px) { .kb-page .kb-breadcrumb { margin-bottom: 2rem; } .kb-page .kb-card, .kb-page .kb-next { padding: 1.25rem; } .kb-page .kb-search-row { flex-direction: column; } .kb-page .kb-body table { font-size: .85rem; } .kb-page .kb-body th, .kb-page .kb-body td { padding: .5rem; } }
