/* Scoped to the knowledge module. Shared brand CSS/header/footer remain untouched. */
.knowledge-page { --kb-ink:#103432; --kb-muted:#4b6461; --kb-line:#cbdad4; --kb-paper:#f3f7f3; --kb-accent:#ff8b46; }
.kb-main { color:var(--kb-ink); background:#fff; font-size:16px; line-height:1.65; }
.kb-main *, .kb-skip { box-sizing:border-box; }
.kb-main a { color:#185b4e; text-underline-offset:4px; }
.kb-main :is(a,button,input,select,summary):focus-visible,.kb-skip:focus-visible { outline:3px solid #bc561e; outline-offset:4px; }
.kb-skip { position:fixed; left:16px; top:-100px; z-index:200; padding:12px 18px; color:#103432; background:white; }
.kb-skip:focus { top:12px; }
.kb-nav { display:flex; flex-wrap:wrap; gap:8px; padding-top:20px; padding-bottom:20px; }
.kb-nav a { padding:9px 16px; border:1px solid transparent; border-radius:12px; font-size:14px; font-weight:650; text-decoration:none; }
.kb-nav a:hover { background:#eaf2ed; }
.kb-nav a[aria-current] { color:#fff; background:var(--kb-ink); }
.kb-intro { padding:48px 0 42px; border-block:1px solid var(--kb-line); background-color:var(--kb-paper); background-image:linear-gradient(#10343205 1px,transparent 1px),linear-gradient(90deg,#10343205 1px,transparent 1px); background-size:28px 28px; }
.kb-main .kb-eyebrow { color:#4b665d; font-size:12px; font-weight:750; text-transform:uppercase; letter-spacing:.12em; margin:0 0 14px; }
.kb-main h1 { color:var(--kb-ink); font-size:clamp(30px,3.6vw,52px); line-height:1.1; letter-spacing:-.035em; max-width:880px; margin:0 0 20px; }
.kb-lead { max-width:760px; color:var(--kb-muted); font-size:18px; margin:0 0 28px; }
.kb-search { max-width:1040px; }
.kb-search label { display:block; font-size:14px; font-weight:650; margin-bottom:7px; }
.kb-search-row { display:flex; gap:10px; }
.kb-search :is(input,select) { min-width:0; width:100%; min-height:50px; padding:12px 14px; border:1px solid #a6bbb2; border-radius:12px; background:#fff; color:var(--kb-ink); font:inherit; font-size:16px; }
.kb-search input::placeholder { color:#62756f; opacity:1; }
.kb-main .kb-button { flex-shrink:0; min-height:50px; border:0; border-radius:12px; padding:12px 24px; color:#102d29; background:var(--kb-accent); font:inherit; font-weight:750; cursor:pointer; }
.kb-main .kb-button:hover { background:#ff9c63; }
.kb-filters { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:18px; }
.kb-hint { color:var(--kb-muted); font-size:13px; margin:14px 0 0; }
.kb-results { padding-top:42px; padding-bottom:64px; }
.kb-result-heading { display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin-bottom:22px; }
.kb-main h2 { font-size:24px; line-height:1.25; letter-spacing:-.02em; margin:0; }
.kb-count { flex-shrink:0; color:var(--kb-muted); font-size:14px; }
.kb-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.kb-card { display:flex; flex-direction:column; padding:24px; border:1px solid var(--kb-line); border-radius:20px; min-width:0; background:#fff; }
.kb-card:hover { border-color:#6c9182; }
.kb-card .kb-meta { color:var(--kb-muted); font-size:12px; margin:0 0 16px; }
.kb-card h3 { font-size:21px; line-height:1.3; margin:0 0 14px; letter-spacing:-.02em; }
.kb-card h3 a { color:var(--kb-ink); text-decoration:none; }
.kb-card h3 a:hover { text-decoration:underline; }
.kb-card p { margin:0 0 18px; color:var(--kb-muted); font-size:15px; }
.kb-card .kb-read { padding-top:14px; margin-top:auto; font-size:14px; font-weight:700; }
.kb-answer { margin-bottom:14px; }
.kb-answer summary { cursor:pointer; font-weight:650; color:#185b4e; }
.kb-answer p { padding-top:12px; }
.kb-empty { background:var(--kb-paper); border:1px solid var(--kb-line); border-radius:20px; padding:28px; }
.kb-empty h3 { font-size:22px; margin:0 0 10px; }
.kb-empty p { color:var(--kb-muted); margin:0 0 10px; }
.kb-pagination { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:24px; margin-top:30px; }
.kb-pagination a { padding:10px 14px; border:1px solid var(--kb-line); border-radius:12px; }
.kb-article { padding-top:24px; padding-bottom:64px; max-width:920px; }
.kb-breadcrumb { color:var(--kb-muted); font-size:14px; margin-bottom:32px; }
.kb-breadcrumb span { padding:0 12px; }
.kb-date { font-size:13px; color:var(--kb-muted); margin-bottom:24px; }
.kb-short { padding:24px 28px; background:var(--kb-paper); border:1px solid var(--kb-line); border-left:4px solid #d67b40; border-radius:16px; margin-bottom:32px; }
.kb-short strong { font-size:14px; color:#315b4f; }
.kb-short p { margin:8px 0 0; font-size:18px; }
.kb-prose { max-width:74ch; overflow-wrap:anywhere; }
.kb-prose :is(h1,h2,h3) { font-size:24px; margin:30px 0 14px; line-height:1.3; }
.kb-prose p { margin:0 0 18px; }
.kb-prose :is(ul,ol) { padding-left:24px; margin-bottom:20px; }
.kb-prose li { margin:8px 0; }
.kb-prose blockquote { padding:16px 22px; background:var(--kb-paper); border-left:3px solid #749b85; margin:20px 0; }
.kb-prose pre { overflow:auto; padding:16px; background:var(--kb-paper); border-radius:12px; }
.kb-prose table { display:block; overflow:auto; border-collapse:collapse; max-width:100%; }
.kb-prose :is(th,td) { border:1px solid var(--kb-line); padding:10px; text-align:left; }
.kb-sources,.kb-related { margin-top:32px; padding-top:28px; border-top:1px solid var(--kb-line); }
.kb-sources h2,.kb-related h2 { font-size:22px; }
.kb-sources ul,.kb-related ul { padding-left:20px; }
.kb-sources li,.kb-related li { margin:10px 0; overflow-wrap:anywhere; }
.kb-sources p { font-size:14px; color:var(--kb-muted); }
.kb-back { padding-top:20px; }
.kb-sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.kb-demo { margin:0; padding:10px 20px; text-align:center; font-size:13px; color:#49351c; background:#fff1cd; }
@media(max-width:1000px) { .kb-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:640px) {
  .kb-main .brand-shell { width:100%; padding-left:20px; padding-right:20px; }
  .kb-nav { gap:4px; }.kb-nav a { padding:8px 10px; font-size:13px; }
  .kb-intro { padding:30px 0; }.kb-lead { font-size:16px; }
  .kb-search-row { flex-direction:column; }.kb-filters { grid-template-columns:1fr; gap:12px; }
  .kb-grid { grid-template-columns:1fr; }.kb-card { padding:22px; }
  .kb-result-heading { flex-direction:column; gap:10px; }.kb-results { padding-top:30px; }
  .kb-short { padding:20px; }.kb-short p { font-size:16px; }
  .kb-main h2 { font-size:22px; }.kb-prose :is(h2,h3) { font-size:21px; }
}
@media(prefers-reduced-motion:reduce) { .kb-main * { scroll-behavior:auto; transition:none; } }
