.chart-wrap.tall{height:380px}
.rr-controls{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:0 0 14px}
.seg{display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;border-radius:12px;background:var(--surface);border:1px solid var(--border)}
.seg button{font:inherit;font-size:13px;font-weight:600;color:var(--muted);background:none;border:0;padding:7px 12px;border-radius:9px;cursor:pointer;white-space:nowrap}
.seg button:hover{color:var(--text)}
.seg button[aria-selected="true"]{background:var(--accent-soft);color:var(--link)}
.seg button:focus-visible{outline:2px solid var(--accent-2);outline-offset:1px}
.rr-clock{list-style:none;margin:0;padding:0;display:grid;gap:0;border-left:2px solid var(--border);margin-left:8px}
.rr-clock li{position:relative;padding:8px 0 10px 22px;color:var(--muted);font-size:14.5px;line-height:1.5}
.rr-clock li::before{content:"";position:absolute;left:-7px;top:13px;width:12px;height:12px;border-radius:50%;background:var(--surface);border:2px solid var(--accent-6)}
.rr-clock li.k::before{background:var(--accent);border-color:var(--accent)}
.rr-clock li.g::before{background:var(--accent-4);border-color:var(--accent-4)}
.rr-clock time{display:inline-block;min-width:118px;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}
.rr-clock b{color:var(--text)}
.tbl-card{padding:0;overflow:hidden}
.tbl-scroll{overflow-x:auto}
.rr-table{width:100%;border-collapse:collapse;font-size:13.5px;font-variant-numeric:tabular-nums}
.rr-table th,.rr-table td{padding:9px 12px;text-align:right;border-bottom:1px solid var(--border);white-space:nowrap}
.rr-table th:first-child,.rr-table td:first-child{text-align:left}
.rr-table thead th{font-size:12px;font-weight:700;color:var(--muted);background:var(--surface-2);position:sticky;top:0}
.rr-table tr.ev td{background:var(--surface-2);font-weight:700;color:var(--text);text-align:left;font-size:12.5px;letter-spacing:.02em}
.rr-table td.dim{color:var(--faint)}
.rr-table td small{color:var(--muted);font-size:11.5px;margin-left:3px}
.rr-table tbody tr:not(.ev):hover td{background:var(--accent-soft)}
.rr-table tr.sel td:first-child{box-shadow:inset 3px 0 0 var(--accent)}
.rr-table td .up{color:var(--pos);font-weight:600}.rr-table td .dn{color:var(--neg);font-weight:600}
.flags li{line-height:1.55}
code{font-size:.92em;background:var(--surface-2);padding:1px 5px;border-radius:5px}
@media (max-width:640px){.chart-wrap.tall{height:320px}.rr-clock time{display:block;min-width:0}.seg button{padding:6px 9px;font-size:12.5px}.rr-table th,.rr-table td{padding:8px 9px}}
@media (max-width:640px){.rr-controls{flex-direction:column;align-items:stretch}.seg{display:flex}.seg button{flex:1 1 auto}}
.gapc .label{font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-4)}
.gapc .gt{font-weight:700;font-variant-numeric:tabular-nums;margin:4px 0 2px}
.gapc .gnum{font-size:30px;font-weight:700;letter-spacing:-.02em}
.gapc .gnum small{font-size:14px;color:var(--muted);font-weight:600;margin-left:6px}
.gapc .gfoot{font-size:12.5px;color:var(--muted);margin:2px 0 10px}
.glist{margin:0;padding:0;list-style:none;display:grid;gap:6px;font-size:13px;color:var(--muted);border-top:1px solid var(--border);padding-top:10px}
.glist b{color:var(--text)}
@media (max-width:1000px){.gapc{grid-column:span 12}}
.ba-title{margin:0 0 12px;font-size:16px}
.ba-tbl td:first-child{white-space:normal}
#depth3d{margin-top:28px}
.d3-stage{height:min(64vh,600px);min-height:400px}
#d3{position:absolute;inset:0;overflow:hidden}
#d3 canvas{display:block;touch-action:none;cursor:grab}
#d3 canvas:active{cursor:grabbing}
.graph-legend .sq{width:12px;height:10px;border-radius:2px;flex:none;background:color-mix(in srgb,var(--accent-5) 35%,transparent);border:1px solid var(--accent-5)}
.graph-legend .sq.gap{background:color-mix(in srgb,var(--accent-4) 30%,transparent);border-color:var(--accent-4)}
.d3-title{position:absolute;left:14px;top:12px;font-size:13px;font-weight:700;color:var(--text);background:color-mix(in srgb,var(--surface) 78%,transparent);border:1px solid var(--border);border-radius:10px;padding:6px 10px;pointer-events:none}
#depth3d .graph-tools .seg{background:var(--surface-2)}
@media (max-width:640px){.d3-stage{height:62vh}#depth3d .graph-tools{width:100%}#depth3d .graph-tools .seg{flex:1}}
.term.open::after{content:attr(data-def);position:absolute;left:0;top:calc(100% + 6px);width:max-content;max-width:260px;background:var(--text);color:var(--bg);font-size:12.5px;font-weight:500;line-height:1.45;padding:8px 10px;border-radius:8px;z-index:40;box-shadow:var(--shadow);white-space:normal;text-transform:none;letter-spacing:0}
@media (max-width:720px){.term.open::after{position:fixed;left:16px;right:16px;top:auto;bottom:16px;max-width:none;width:auto}}
.term:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px;border-radius:3px}
.eyebrow .term{text-transform:none;letter-spacing:.02em}
.subtitle .term,.lead .term,.kpi .term{border-bottom-width:1.5px}
.kpis .kpi{overflow:visible}
.kpis .kpi::after{border-radius:var(--radius) var(--radius) 0 0}
@media (max-width:640px){
  .d3-stage{height:auto;min-height:0;display:flex;flex-direction:column}
  #d3{position:relative;inset:auto;height:56vh;min-height:340px;order:1}
  .d3-title{position:static;order:0;margin:8px;font-size:11.5px;font-weight:600}
  #d3Legend{order:2}
  #d3Loading{height:56vh}
}
/* before/after redesign */
.ba-grid{align-items:stretch}
.ba-card{display:flex;flex-direction:column}
.split{display:flex;align-items:stretch;gap:0;flex:1}
.pane{flex:1;min-width:0;display:flex;flex-direction:column}
.pane.wide{flex:3}.pane.narrow{flex:1.25}
.pane-lab{font-size:11.5px;font-weight:700;color:var(--muted);letter-spacing:.02em;margin:0 0 4px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.split .chart-wrap{height:320px}
.brk{flex:none;width:14px;margin:22px 2px 34px;background:repeating-linear-gradient(135deg,transparent 0 4px,var(--border) 4px 6px);border-radius:3px}
.cap{margin:12px 0 0;font-size:14px;line-height:1.55;color:var(--text)}
.cap .k{color:var(--muted)}
.ba-scale{margin:-6px 0 12px;font-size:13px;color:var(--muted)}
.ba-legend{list-style:none;display:flex;flex-wrap:wrap;gap:8px 18px;margin:4px 0 16px;padding:0;font-size:12.5px;color:var(--muted)}
.ba-legend li{display:flex;align-items:center;gap:7px}
.ba-legend i{display:inline-block;flex:none}
.lg-line{width:18px;height:3px;border-radius:2px;background:var(--text)}
.lg-band{width:18px;height:10px;border-radius:2px;background:color-mix(in srgb,var(--accent) 25%,transparent);border-top:1.5px solid var(--accent);border-bottom:1.5px solid var(--accent-5)}
.lg-dot{width:10px;height:10px;border-radius:50%;background:color-mix(in srgb,var(--accent-2) 30%,transparent);border:1.5px solid var(--accent-2)}
.lg-tri{width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:10px solid color-mix(in srgb,var(--accent-2) 70%,transparent)}
.lg-sq{width:9px;height:9px;border:1.5px solid var(--accent-6)}
.lg-gap{width:14px;height:10px;background:color-mix(in srgb,var(--accent-4) 30%,transparent);border:1px solid var(--accent-4)}
.lg-rel{width:2px;height:12px;border-left:2px dashed var(--accent-5)}
@media (max-width:1000px){.ba-card{grid-column:span 12}}
@media (max-width:640px){.split .chart-wrap{height:270px}.pane.narrow{flex:1.4}.pane-lab{font-size:10.5px;margin-left:2px}.brk{width:10px;margin:22px 1px 30px}.cap{font-size:13.5px}}
/* distilled layout */
.rr-hero{padding-bottom:0}
.takeaway{font-size:clamp(17px,2.1vw,21px)!important;color:var(--text)!important;font-weight:600;max-width:900px!important;margin-top:4px!important}
.kpis3{grid-template-columns:repeat(3,1fr)!important}
@media (max-width:640px){.kpis3{grid-template-columns:1fr 1fr!important}.kpis3 .kpi:last-child{grid-column:span 2}}
.caveat{margin:-6px 0 0;padding:9px 12px;border-left:3px solid var(--accent-4);background:color-mix(in srgb,var(--accent-4) 10%,transparent);border-radius:0 10px 10px 0;font-size:13.5px;color:var(--muted)}
.caveat b{color:var(--text)}
.details-block h2{margin-bottom:12px}
.rr-det{border:1px solid var(--border);border-radius:14px;background:var(--surface);margin:0 0 10px;padding:0 16px}
.rr-det>summary{cursor:pointer;list-style:none;padding:14px 0;font-weight:700;font-size:15px;display:flex;align-items:center;gap:10px}
.rr-det>summary::-webkit-details-marker{display:none}
.rr-det>summary::before{content:"+";display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--accent-soft);color:var(--link);font-weight:800;flex:none}
.rr-det[open]>summary::before{content:"−"}
.rr-det>summary:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px;border-radius:6px}
.rr-det[open]{padding-bottom:16px}
.rr-det .card{box-shadow:none}
.det-p{margin:0 0 12px;color:var(--muted);font-size:14px}
#depth3d{margin-top:20px}
/* plain-English callout */
.plain{margin:18px 0 4px;padding:18px 22px 16px;border:1px solid color-mix(in srgb,var(--accent-2) 35%,var(--border));border-left:4px solid var(--accent-2);border-radius:14px;background:color-mix(in srgb,var(--accent-2) 7%,var(--surface));max-width:none}
.plain h2{margin:0 0 10px;font-size:17px;letter-spacing:-.01em}
.plain ul{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:8px 28px}
.plain li{position:relative;padding-left:18px;font-size:14.5px;line-height:1.5;color:var(--muted)}
.plain li::before{content:"";position:absolute;left:2px;top:.6em;width:7px;height:7px;border-radius:50%;background:var(--accent-2)}
.plain li b{color:var(--text)}
@media (max-width:760px){.plain{padding:16px}.plain ul{grid-template-columns:1fr}}
.ba-hint{margin:0 0 6px;font-size:13.5px;color:var(--muted)}
.ba-hint b{color:var(--text)}
#depth3d{margin-top:22px}
#depth3d + section#ba, #depth3d ~ #ba{margin-top:8px}
