:root {
  --kbw-ink: #1f2428;
  --kbw-muted: #666b70;
  --kbw-line: #d9d6cf;
  --kbw-soft: #f6f4ef;
  --kbw-paper: #fff;
  --kbw-accent: #6a352c;
  --kbw-accent-soft: #f1e7e2;
  --kbw-positive: #285f3f;
  --kbw-positive-soft: #e8f1eb;
  --kbw-warn: #785b13;
  --kbw-warn-soft: #f6efd8;
  --kbw-danger: #7a2d2d;
  --kbw-danger-soft: #f4e3e3;
  --kbw-radius: 10px;
  --kbw-shadow: 0 8px 26px rgba(25, 24, 21, .06);
}
.kbw-page .site-content, .kbw-page #content { overflow: visible; }
.kbw-shell { color: var(--kbw-ink); background: var(--kbw-paper); }
.kbw-container { width: min(1120px, calc(100% - 32px)); margin: 0 auto; padding: 26px 0 70px; }
.kbw-breadcrumbs { display:flex; flex-wrap:wrap; gap:7px; font-size:.9rem; color:var(--kbw-muted); margin:0 0 28px; }
.kbw-breadcrumbs a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
.kbw-hero { max-width: 880px; padding: 28px 0 34px; }
.kbw-eyebrow { margin:0 0 8px; color:var(--kbw-accent); font-size:.78rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.kbw-hero h1, .kbw-page-head h1, .kbw-claim h1 { margin:.08em 0 .28em; line-height:1.06; font-size:clamp(2.15rem, 5vw, 4.25rem); letter-spacing:-.035em; }
.kbw-page-head h1, .kbw-claim h1 { font-size:clamp(2rem, 4vw, 3.35rem); }
.kbw-lead, .kbw-page-head > p:last-child { max-width:760px; color:#484d51; font-size:clamp(1.05rem, 1.7vw, 1.25rem); line-height:1.6; }
.kbw-search-form { margin-top:28px; }
.kbw-search-form label:first-child { display:block; margin-bottom:8px; font-weight:650; }
.kbw-search-row { display:flex; gap:10px; }
.kbw-search-row input { min-width:0; flex:1; border:1px solid #aaa69e; border-radius:8px; padding:13px 14px; font:inherit; color:inherit; background:#fff; }
.kbw-search-row input:focus { outline:3px solid rgba(106,53,44,.18); border-color:var(--kbw-accent); }
.kbw-search-row button { border:0; border-radius:8px; padding:12px 22px; background:var(--kbw-accent); color:#fff; font:inherit; font-weight:700; cursor:pointer; }
.kbw-search-row button:hover { filter:brightness(.92); }
.kbw-stat-strip { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--kbw-line); border-radius:var(--kbw-radius); margin:8px 0 52px; background:var(--kbw-soft); }
.kbw-stat-strip > div { padding:20px; border-right:1px solid var(--kbw-line); }
.kbw-stat-strip > div:last-child { border-right:0; }
.kbw-stat-strip strong { display:block; font-size:1.65rem; line-height:1.1; }
.kbw-stat-strip span { display:block; margin-top:5px; color:var(--kbw-muted); font-size:.92rem; }
.kbw-section { margin:52px 0; }
.kbw-section-head { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:20px; }
.kbw-section h2, .kbw-info-panel h2 { margin:0; font-size:clamp(1.4rem,2.6vw,2rem); line-height:1.18; }
.kbw-text-link { color:var(--kbw-accent); font-weight:650; text-decoration:none; }
.kbw-text-link:hover { text-decoration:underline; }
.kbw-card-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.kbw-card { display:flex; flex-direction:column; min-height:210px; border:1px solid var(--kbw-line); border-radius:var(--kbw-radius); padding:19px; background:#fff; box-shadow:var(--kbw-shadow); }
.kbw-card h3 { margin:12px 0 10px; font-size:1.12rem; line-height:1.35; }
.kbw-card h3 a { color:inherit; text-decoration:none; }
.kbw-card h3 a:hover { color:var(--kbw-accent); text-decoration:underline; text-underline-offset:3px; }
.kbw-card p { margin:0 0 14px; color:var(--kbw-muted); line-height:1.55; }
.kbw-card-meta { margin-top:auto; display:flex; justify-content:space-between; gap:10px; color:var(--kbw-muted); font-size:.82rem; }
.kbw-badge { display:inline-flex; align-items:center; width:max-content; border-radius:999px; padding:5px 9px; font-size:.78rem; font-weight:750; }
.kbw-badge--confirmed { color:var(--kbw-positive); background:var(--kbw-positive-soft); }
.kbw-badge--hypothesis { color:var(--kbw-warn); background:var(--kbw-warn-soft); }
.kbw-badge--disputed, .kbw-badge--tradition { color:var(--kbw-danger); background:var(--kbw-danger-soft); }
.kbw-badge--rejected { color:#4d4d4d; background:#ececec; }
.kbw-two-col { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.kbw-start-here { padding:26px; border:1px solid var(--kbw-line); border-radius:var(--kbw-radius); background:var(--kbw-soft); }
.kbw-start-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.kbw-start-steps article { display:flex; align-items:flex-start; gap:13px; }
.kbw-start-steps article > span { display:grid; place-items:center; flex:0 0 34px; height:34px; border-radius:50%; color:#fff; background:var(--kbw-accent); font-weight:750; }
.kbw-start-steps h3 { margin:2px 0 6px; font-size:1.05rem; }
.kbw-start-steps p { margin:0; color:var(--kbw-muted); line-height:1.6; }
.kbw-info-panel { background:var(--kbw-soft); border-left:4px solid var(--kbw-accent); padding:25px; }
.kbw-info-panel p:last-child { margin-bottom:0; color:var(--kbw-muted); line-height:1.62; }
.kbw-empty { padding:20px; border:1px dashed #bcb6ab; border-radius:8px; color:var(--kbw-muted); background:var(--kbw-soft); }
.kbw-page-head { max-width:780px; margin:20px 0 24px; }
.kbw-search-form--compact { max-width:900px; padding:18px; background:var(--kbw-soft); border:1px solid var(--kbw-line); border-radius:var(--kbw-radius); }
.kbw-filter-row { display:flex; flex-wrap:wrap; gap:10px 18px; border:0; padding:14px 0 0; margin:0; }
.kbw-filter-row legend { width:100%; font-weight:700; font-size:.88rem; margin-bottom:3px; }
.kbw-filter-row label { margin:0; font-weight:400; }
.kbw-search-meta { margin:24px 0 10px; color:var(--kbw-muted); }
.kbw-result-list { max-width:900px; }
.kbw-result { padding:20px 4px; border-bottom:1px solid var(--kbw-line); }
.kbw-result:first-child { border-top:1px solid var(--kbw-line); }
.kbw-result-type { color:var(--kbw-accent); font-size:.77rem; font-weight:750; text-transform:uppercase; letter-spacing:.07em; }
.kbw-result h2 { margin:6px 0; font-size:1.2rem; }
.kbw-result h2 a { color:inherit; text-decoration:none; }
.kbw-result h2 a:hover { color:var(--kbw-accent); text-decoration:underline; }
.kbw-result p { margin:0; color:var(--kbw-muted); line-height:1.55; }
.kbw-claim { max-width:960px; }
.kbw-claim-header { max-width:860px; padding:18px 0 24px; }
.kbw-claim-id { color:var(--kbw-muted); font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:.86rem; }
.kbw-claim-summary { font-size:1.15rem; line-height:1.65; color:#3f4448; }
.kbw-claim-facts { display:flex; flex-wrap:wrap; gap:10px 20px; margin:22px 0 0; padding:15px 0; border-top:1px solid var(--kbw-line); border-bottom:1px solid var(--kbw-line); }
.kbw-claim-facts div { min-width:150px; }
.kbw-claim-facts dt { color:var(--kbw-muted); font-size:.78rem; text-transform:uppercase; letter-spacing:.05em; }
.kbw-claim-facts dd { margin:3px 0 0; font-weight:650; }
.kbw-claim-section { margin:34px 0; }
.kbw-claim-section > h2 { font-size:1.35rem; margin:0 0 13px; }
.kbw-note-list { margin:0; padding-left:20px; line-height:1.62; }
.kbw-source-list { display:grid; gap:12px; }
.kbw-source { border:1px solid var(--kbw-line); border-radius:8px; padding:16px; }
.kbw-source-title { font-weight:700; }
.kbw-source-meta { display:flex; flex-wrap:wrap; gap:8px 16px; margin-top:8px; color:var(--kbw-muted); font-size:.88rem; }
.kbw-source-locator { display:inline-block; margin-top:10px; padding:5px 8px; background:var(--kbw-soft); font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:.82rem; }
.kbw-related { display:flex; flex-wrap:wrap; gap:8px; }
.kbw-related a { display:inline-flex; border:1px solid var(--kbw-line); border-radius:999px; padding:7px 10px; color:inherit; text-decoration:none; }
.kbw-related a:hover { border-color:var(--kbw-accent); color:var(--kbw-accent); }
.kbw-loading, .kbw-muted { color:var(--kbw-muted); }
.kbw-error { padding:16px; border-left:4px solid var(--kbw-danger); background:var(--kbw-danger-soft); }
@media (max-width:820px) {
  .kbw-card-grid { grid-template-columns:1fr 1fr; }
  .kbw-stat-strip { grid-template-columns:1fr 1fr; }
  .kbw-stat-strip > div:nth-child(2) { border-right:0; }
  .kbw-stat-strip > div:nth-child(-n+2) { border-bottom:1px solid var(--kbw-line); }
  .kbw-two-col { grid-template-columns:1fr; }
  .kbw-start-steps { grid-template-columns:1fr; gap:16px; }
}
@media (max-width:560px) {
  .kbw-container { width:min(100% - 22px,1120px); padding-top:18px; }
  .kbw-search-row { flex-direction:column; }
  .kbw-search-row button { width:100%; }
  .kbw-card-grid { grid-template-columns:1fr; }
  .kbw-section-head { align-items:flex-start; flex-direction:column; }
  .kbw-start-here { padding:20px; }
  .kbw-stat-strip { grid-template-columns:1fr; }
  .kbw-stat-strip > div { border-right:0; border-bottom:1px solid var(--kbw-line); }
  .kbw-stat-strip > div:last-child { border-bottom:0; }
}
@media (prefers-reduced-motion: reduce) { * { scroll-behavior:auto !important; transition:none !important; } }
.kbw-topic-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.kbw-topic-card { border:1px solid var(--kbw-line); border-radius:var(--kbw-radius); padding:18px; background:var(--kbw-soft); }
.kbw-topic-card h3 { margin:0 0 9px; font-size:1.1rem; line-height:1.35; }
.kbw-topic-card h3 a { color:inherit; text-decoration:none; }
.kbw-topic-card h3 a:hover { color:var(--kbw-accent); text-decoration:underline; }
.kbw-topic-card p { margin:0; color:var(--kbw-muted); line-height:1.55; }
.kbw-topic-card .kbw-topic-intro { margin-bottom:12px; color:#484d51; }
.kbw-topic-summary { border-top:1px solid var(--kbw-line); padding-top:11px; }
.kbw-topic-summary strong { color:var(--kbw-accent); font-size:.82rem; }
.kbw-topic-summary p { margin-top:5px; }
.kbw-object { max-width:980px; }
.kbw-object-header { max-width:880px; padding:18px 0 24px; }
.kbw-object-header h1 { margin:.08em 0 .28em; line-height:1.08; font-size:clamp(2rem,4vw,3.35rem); letter-spacing:-.03em; }
.kbw-synthesis { max-width:850px; padding:22px; border-left:4px solid var(--kbw-accent); background:var(--kbw-soft); }
.kbw-synthesis p { margin:0; line-height:1.7; }
.kbw-object-claims { display:grid; gap:10px; }
.kbw-mini-claim { border-bottom:1px solid var(--kbw-line); padding:14px 0 16px; }
.kbw-mini-claim h3 { margin:8px 0 4px; font-size:1.08rem; line-height:1.4; }
.kbw-mini-claim h3 a { color:inherit; text-decoration:none; }
.kbw-mini-claim h3 a:hover { color:var(--kbw-accent); text-decoration:underline; }
.kbw-mini-claim p { margin:0; color:var(--kbw-muted); line-height:1.55; }
.kbw-more { margin-top:14px; border:1px solid var(--kbw-accent); border-radius:8px; padding:9px 14px; background:#fff; color:var(--kbw-accent); font:inherit; font-weight:700; cursor:pointer; }
.kbw-more:hover { background:var(--kbw-accent-soft); }
.kbw-source-note { max-width:820px; }
@media (max-width:820px) { .kbw-topic-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:560px) { .kbw-topic-grid { grid-template-columns:1fr; } }
