/* ── layout ── */
.ri{max-width:1100px;margin:0 auto;padding:20px 24px 80px;}
.ri-head{margin-bottom:32px;}
.ri-title{font-size:20px;font-weight:800;color:var(--text-0);margin:0;}
.ri-sub{font-size:11px;color:var(--text-3);margin:3px 0 0;}

/* ── hero strip ── */
.ri-hero{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--bg-2);border-radius:12px;overflow:hidden;margin-bottom:32px;}
.ri-hero-cell{background:var(--bg-1);padding:20px 18px;text-align:center;}
.ri-hero-num{font-size:32px;font-weight:900;line-height:1;font-variant-numeric:tabular-nums;}
.ri-hero-lbl{font-size:10px;color:var(--text-3);margin-top:5px;text-transform:uppercase;letter-spacing:.4px;font-weight:600;}
.ri-hero-inc{font-size:11px;font-weight:700;color:var(--red);margin-top:2px;}

/* ── section frames ── */
.ri-sec{margin-bottom:28px;}
.ri-sec-head{display:flex;align-items:center;gap:8px;margin-bottom:10px;}
.ri-sec-title{font-size:13px;font-weight:700;color:var(--text-0);letter-spacing:.2px;}
.ri-sec-icon{font-size:16px;line-height:1;flex-shrink:0;}
.ri-badge{font-size:9px;font-weight:700;padding:2px 7px;border-radius:8px;}
.ri-badge-r{background:var(--red-soft);color:var(--red);}
.ri-badge-g{background:var(--green-soft);color:var(--green);}
.ri-badge-y{background:var(--yellow-soft);color:var(--yellow);}
.ri-badge-b{background:rgba(59,130,246,.12);color:var(--accent);}

/* ── cards ── */
.ri-g{display:grid;gap:10px;}
.ri-g2{grid-template-columns:1fr 1fr;}
.ri-g3{grid-template-columns:1fr 1fr 1fr;}
.ri-g4{grid-template-columns:1fr 1fr 1fr 1fr;}
.ri-c{background:var(--bg-1);border:none;border-radius:12px;padding:12px 14px;}
.ri-c-title{font-size:9px;text-transform:uppercase;letter-spacing:.6px;color:var(--text-3);font-weight:700;margin-bottom:6px;}
.ri-wide{grid-column:1/-1;}

/* ── key-value rows ── */
.ri-r{display:flex;justify-content:space-between;align-items:baseline;padding:3px 0;font-size:12px;}
.ri-r+.ri-r{border-top:1px solid var(--bg-2);}
.ri-r-l{color:var(--text-2);}
.ri-r-l .ri-ico{font-size:11px;margin-right:3px;display:inline-block;width:16px;text-align:center;}
.ri-r-v{font-weight:700;color:var(--text-0);font-variant-numeric:tabular-nums;text-align:right;}

/* ── card accent borders ── */
.ri-c-war{}
.ri-c-ver{}
.ri-c-econ{}
.ri-c-poll{}
.ri-c-front{}

/* ── bar charts ── */
.ri-bars{display:flex;align-items:flex-end;gap:2px;height:56px;}
.ri-bar{flex:1;border-radius:8px 2px 0 0;min-width:3px;opacity:.75;transition:opacity .1s;}
.ri-bar:hover{opacity:1;}

/* ── dividers ── */
.ri-div{height:1px;background:var(--bg-2);margin:28px 0;}

/* ── footnotes ── */
.ri-fn{font-size:9px;color:var(--text-3);margin-top:4px;line-height:1.5;}
.ri-fn a{color:var(--text-3);text-decoration:underline dotted;}

/* ── table ── */
.ri-tbl{width:100%;font-size:11px;border-collapse:collapse;}
.ri-tbl th{text-align:left;padding:5px 8px;color:var(--text-3);font-weight:700;border-bottom:1px solid var(--bg-2);}
.ri-tbl td{padding:4px 8px;font-variant-numeric:tabular-nums;border-bottom:1px solid var(--bg-2);}
.ri-tbl tr:last-child td{border:none;}
.ri-tbl .dim{color:var(--text-3);font-size:10px;font-weight:400;}

/* ── big number ── */
.ri-big{font-size:28px;font-weight:900;line-height:1;}
.ri-big-sub{font-size:10px;color:var(--text-3);margin:2px 0 8px;}

/* ── responsive ── */
@media(max-width:900px){.ri-hero{grid-template-columns:repeat(2,1fr);}.ri-g3,.ri-g4{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.ri-hero{grid-template-columns:1fr;}.ri-g2,.ri-g3,.ri-g4{grid-template-columns:1fr;}}
