:root{--navy:#0b1220;--navy-2:#161f33;--navy-line:#1f2a44;--brand:#2a9d8f;--brand-dk:#0d5c6e;--brand-soft:#e6f4f2;
--ink:#0f172a;--muted:#5b6472;--soft:#7a8493;--line:#d9dfe8;--line-2:#eef1f6;--bg:#f4f6fa;--surface:#fff;
--pos:#0f8a3b;--pos-soft:#e6f4ea;--neg:#c62828;--neg-soft:#fcebea;--warn:#b7791f;--warn-soft:#fff4d6;
--radius:10px;--max:1200px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
font-size:15px;line-height:1.55;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}
a{color:var(--brand-dk);text-decoration:none}a:hover{text-decoration:underline}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
.content{padding-bottom:40px}
/* header */
.hdr{background:var(--navy);color:#e8edf5;border-bottom:1px solid var(--navy-line)}
.hdr .wrap{display:flex;align-items:center;gap:14px;min-height:60px;flex-wrap:wrap;padding-top:6px;padding-bottom:6px}
.brand{font-family:Georgia,"Times New Roman",serif;font-size:19px;font-weight:700;color:#fff;white-space:nowrap;letter-spacing:.2px}
.brand:hover{text-decoration:none}.brand span{color:var(--brand)}
.nav{display:flex;gap:2px;flex-wrap:wrap;flex:1;min-width:0}
.nav a{color:#c7d0df;padding:7px 10px;border-radius:6px;font-size:13.5px;font-weight:500;white-space:nowrap}
.nav a:hover{background:var(--navy-2);color:#fff;text-decoration:none}.nav a.on{color:#fff;background:var(--navy-2)}
.hdr .cs-search{margin:0;max-width:250px;flex:1 1 180px}
.hdr .cs-search input{padding:8px 12px;font-size:13.5px;border-radius:8px;background:var(--navy-2);border:1px solid #2a3650;color:#fff}
.hdr .cs-search input::placeholder{color:#8e9ab0}
.hdr .cs-search input:focus{border-color:var(--brand);box-shadow:none}
.btn{display:inline-block;padding:9px 16px;border-radius:8px;background:var(--brand);color:#fff;font-weight:600;font-size:14px;border:1px solid var(--brand);line-height:1.3;white-space:nowrap}
.btn:hover{text-decoration:none;background:#23877b;border-color:#23877b}
.btn-ghost{background:transparent;color:var(--brand-dk)}.btn-ghost:hover{background:var(--brand-soft);color:var(--brand-dk)}
.btn-dark{background:var(--navy);border-color:var(--navy)}.btn-dark:hover{background:#1b2740;border-color:#1b2740}
.hdr .btn{padding:7px 14px;font-size:13.5px}
/* page head */
.page-head{padding:26px 0 16px}
.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--soft);font-weight:600}
h1{font-size:30px;line-height:1.2;margin:6px 0 6px;font-weight:700;letter-spacing:-.01em}
.meta{color:var(--muted);font-size:14px}.meta b{color:var(--ink);font-weight:600}
.crumb{font-size:13px;color:var(--soft)}.crumb a{color:var(--muted)}
h2{font-size:17px;margin:28px 0 10px;letter-spacing:-.005em;line-height:1.3}
h3{font-size:15px;margin:16px 0 6px}
.h-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.h-row h2{margin-bottom:10px}.h-row .more{font-size:13.5px;white-space:nowrap}
/* cards and grids */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px}
.card>h2:first-child,.card>h3:first-child{margin-top:0}
.card-t{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--soft);font-weight:600;margin-bottom:10px}
.grid{display:grid;gap:16px}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:24px;align-items:start}
.layout-r{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
.rail>*+*{margin-top:16px}
.rail h2{margin-top:0}
/* stats */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}
.stat .n{font-size:26px;font-weight:700;line-height:1.1;letter-spacing:-.01em}
.stat .l{font-size:11.5px;color:var(--muted);margin-top:6px;text-transform:uppercase;letter-spacing:.05em}
.stats-dark .stat{background:transparent;border-color:var(--navy-line)}.stats-dark .stat .n{color:#fff}.stats-dark .stat .l{color:#9aa6ba}
/* tables */
.tbl-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}
table.tbl{width:100%;border-collapse:collapse;font-size:14px}
.tbl th{position:sticky;top:0;background:#f8fafc;color:var(--muted);font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap;z-index:1}
.tbl td{padding:10px 12px;border-bottom:1px solid var(--line-2);vertical-align:top}
.tbl tr:last-child td{border-bottom:0}.tbl tbody tr:hover td{background:#fbfcfd}
.tbl .r,.tbl th.r{text-align:right}.tbl .c,.tbl th.c{text-align:center}.tbl .nw{white-space:nowrap}
.tbl .sub{color:var(--muted);font-size:13px;margin-top:2px}
.tbl .num{font-weight:600}
.tk{font-weight:700;color:var(--brand-dk)}
.tbl-note{color:var(--soft);font-size:12.5px;margin:8px 2px 0}
/* badges and colour */
.badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap;line-height:1.5}
.b-pos{background:var(--pos-soft);color:var(--pos)}.b-neg{background:var(--neg-soft);color:var(--neg)}
.b-warn{background:var(--warn-soft);color:var(--warn)}.b-mute{background:var(--line-2);color:var(--muted)}
.pos{color:var(--pos)}.neg{color:var(--neg)}.warn{color:var(--warn)}.mute{color:var(--muted)}.ok{color:var(--brand-dk)}
/* score tiles */
.scores{display:flex;gap:10px;flex-wrap:wrap}
.score{flex:1;min-width:120px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px}
.score .v{font-size:22px;font-weight:700;line-height:1.15;letter-spacing:-.01em}
.score .k{font-size:11.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-top:4px}
.card .scores{margin:0}.card .score{background:#f8fafc}
/* call-sheet cards */
.rcard{display:block;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;color:var(--ink);height:100%}
.rcard:hover{text-decoration:none;border-color:var(--brand);box-shadow:0 4px 16px rgba(11,18,32,.06)}
.rcard .top{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:12.5px;color:var(--muted)}
.rcard .nm{font-weight:700;font-size:16px;margin:4px 0 6px;color:var(--ink);line-height:1.3}
.rcard .hl{font-size:13.5px;color:var(--muted);line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.rcard .sc{display:flex;gap:18px;margin-top:12px;padding-top:10px;border-top:1px solid var(--line-2);font-size:12px;color:var(--soft);text-transform:uppercase;letter-spacing:.04em}
.rcard .sc b{font-size:15px;display:block;letter-spacing:0;text-transform:none}
/* notes, prose, locked box */
.note{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--brand);padding:12px 16px;border-radius:0 8px 8px 0;color:var(--muted);font-size:14px}
.prose p{margin:0 0 12px}.prose ul,.prose ol{padding-left:20px;margin:0 0 12px}.prose li{margin:5px 0}
.lede{font-size:17px;line-height:1.55}
.locked{background:#f8fafc;border:1px solid var(--line);border-left:3px solid var(--brand);border-radius:var(--radius);padding:18px 20px}
.locked-h{font-weight:700;font-size:15.5px}.locked-b{color:var(--muted);margin:6px 0 14px;font-size:14px}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:5px 12px;font-size:13px;font-weight:600}
.chip.warn{color:var(--warn);border-color:var(--warn)}
.links a{display:block;padding:7px 0;border-bottom:1px solid var(--line-2);font-size:14px}
.links a:last-child{border-bottom:0}
.links a .d{display:block;color:var(--soft);font-size:12.5px;font-weight:400}
/* hero (landing) */
.hero{background:var(--navy);color:#fff;padding:44px 0 40px;border-bottom:1px solid var(--navy-line)}
.hero h1{font-size:38px;margin:0 0 8px;color:#fff;letter-spacing:-.015em}
.hero p{color:#b6c1d4;max-width:680px;font-size:16.5px;margin:0 0 20px}
.hero .cs-search{max-width:600px;margin:0 0 24px}
.hero .cs-search input{padding:13px 16px;font-size:15px;border-radius:10px;border:0}
/* pricing */
.price{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px;display:flex;flex-direction:column}
.price.hi{border:2px solid var(--brand)}
.price .pn{font-weight:700;font-size:15px}.price .pp{font-size:28px;font-weight:700;margin:4px 0 0;letter-spacing:-.01em}
.price .ps{color:var(--muted);font-size:13px;margin-bottom:12px}
.price ul{padding-left:18px;margin:0 0 16px;font-size:14px;flex:1}.price li{margin:5px 0}
.price .pnote{color:var(--soft);font-size:12.5px;margin-top:10px}
/* footer */
.ftr{color:var(--muted);font-size:13px;line-height:1.55}
.ftr .fnav{display:flex;gap:4px 16px;flex-wrap:wrap;margin-bottom:12px;font-size:13.5px}
.ftr a{color:var(--brand-dk)}
/* responsive */
@media(max-width:960px){.layout,.layout-r{grid-template-columns:1fr}.g3,.g4{grid-template-columns:repeat(2,1fr)}.hero h1{font-size:30px}}
@media(max-width:600px){.g2,.g3,.g4{grid-template-columns:1fr}h1{font-size:24px}.wrap{padding:0 16px}.hero{padding:30px 0 26px}.hero h1{font-size:26px}.nav a{padding:6px 8px;font-size:13px}}
/* ---- US Lender Metrics additions (same tokens as Call Sheet Daily) ---- */
.hdr .lm-search{margin:0;max-width:250px;flex:1 1 180px}
.lm-search{position:relative;max-width:600px}
.lm-search input{width:100%;padding:13px 16px;font-size:15px;border-radius:10px;border:0;font-family:inherit;color:var(--ink);background:#fff}
.hdr .lm-search input{padding:8px 12px;font-size:13.5px;border-radius:8px;background:var(--navy-2);border:1px solid #2a3650;color:#fff}
.hdr .lm-search input::placeholder{color:#8e9ab0}
.lm-search input:focus{outline:none;box-shadow:0 0 0 3px rgba(42,157,143,.25)}
.lm-list{list-style:none;margin:4px 0 0;padding:0;position:absolute;z-index:50;width:100%;min-width:280px;background:#fff;border:1px solid #e5e9ee;border-radius:10px;box-shadow:0 8px 24px rgba(10,61,77,.14);max-height:360px;overflow-y:auto;display:none}
.lm-list.open{display:block}
.lm-list li{padding:9px 14px;cursor:pointer;font-size:14px;display:flex;justify-content:space-between;gap:12px;color:var(--ink)}
.lm-list li .k{color:var(--soft);font-size:12px;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}
.lm-list li.active,.lm-list li:hover{background:#f0f7f6}
.hero .lm-search{margin:0 0 24px}
.chart{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px 10px}
.chart svg{display:block;width:100%;height:auto}
.chart .ax{fill:var(--soft);font-size:11px;font-family:Inter,system-ui,sans-serif}
.chart .vl{fill:var(--ink);font-size:11.5px;font-weight:600;font-family:Inter,system-ui,sans-serif}
.chart .grid-l{stroke:var(--line-2);stroke-width:1}
.chart .bar{fill:var(--brand)}.chart .bar.part{fill:#9fd3cc}
.chart .bar:hover{fill:var(--brand-dk)}
.cbar{display:flex;align-items:center;gap:8px;justify-content:flex-end}
.cbar i{display:block;height:8px;border-radius:0 4px 4px 0;background:var(--brand);min-width:2px}
.states{display:grid;grid-template-columns:repeat(4,1fr);gap:0 20px}
.states a{display:flex;justify-content:space-between;padding:8px 2px;border-bottom:1px solid var(--line-2);font-size:14px;color:var(--ink)}
.states a span{color:var(--soft);font-size:12.5px}
.states a:hover{color:var(--brand-dk)}
.band-t{font-weight:700;font-size:14px;margin-bottom:2px}.band-s{color:var(--muted);font-size:12.5px;margin-bottom:8px}
.mini{list-style:none;padding:0;margin:0;font-size:13.5px}.mini li{display:flex;justify-content:space-between;gap:10px;padding:5px 0;border-bottom:1px solid var(--line-2)}
.mini li:last-child{border-bottom:0}.mini li b{font-weight:600;white-space:nowrap}
.kv{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:0 12px;font-size:14px}
.kv div{padding:7px 0;border-bottom:1px solid var(--line-2)}.kv div:nth-child(even){text-align:right;font-weight:600}
.kv div:nth-last-child(-n+2){border-bottom:0}
.filter{max-width:360px;margin:0 0 12px}
.filter input{width:100%;padding:9px 12px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:14px}
.filter input:focus{outline:none;border-color:var(--brand)}
.btn[aria-disabled=true]{opacity:.7;cursor:default}
@media(max-width:960px){.states{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.states{grid-template-columns:repeat(2,1fr)}.hdr .lm-search{max-width:none;flex-basis:100%}}
