.analysis-section { margin-top:76px; }
.analysis-heading { display:flex; align-items:end; justify-content:space-between; gap:24px; margin:0 0 25px; }
.analysis-heading h2 { font-size:clamp(26px,2.5vw,38px); line-height:1.15; letter-spacing:-.045em; margin:0; }
.analysis-heading p { color:#687587; font-size:15px; line-height:1.6; margin:10px 0 0; max-width:760px; }
.analysis-heading .eyebrow { margin-bottom:11px; }
.analysis-count { color:#687587; font-size:14px; font-weight:700; white-space:nowrap; padding-bottom:5px; }
.analysis-select { min-width:270px; }
.analysis-select label { margin-bottom:8px; }
.chart-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.chart-card { min-width:0; overflow:hidden; border-radius:20px; }
.chart-card.chart-wide { grid-column:1 / -1; }
.chart-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:25px 27px 7px; }
.chart-head h3 { font-size:18px; letter-spacing:-.03em; margin:0; color:#263042; }
.chart-head p { margin:7px 0 0; color:#788497; font-size:14px; line-height:1.5; }
.chart-body { min-height:260px; padding:10px 22px 22px; position:relative; }
.chart-body svg { display:block; width:100%; height:auto; min-height:210px; overflow:visible; }
.chart-body svg text { font-family:'Plus Jakarta Sans',sans-serif; fill:#58677b; font-size:15px; }
.chart-body svg .chart-value { fill:#334155; font-weight:700; }
.chart-body svg .chart-gridline { stroke:#e9edf1; stroke-width:1; }
.chart-body svg .chart-axis { stroke:#c9d1da; stroke-width:1; }
.chart-body svg [data-tip] { cursor:crosshair; }
.chart-body svg [data-tip]:focus { outline:2px solid #c22b39; outline-offset:3px; }
.chart-empty { min-height:220px; display:grid; place-items:center; text-align:center; color:#7a8696; padding:24px; font-size:14px; line-height:1.6; }
.chart-note { display:flex; flex-wrap:wrap; gap:10px 18px; margin:8px 5px 0; color:#667489; font-size:14px; line-height:1.5; }
.chart-note span { display:inline-flex; gap:6px; align-items:center; }
.chart-note i { display:inline-block; width:9px; height:9px; border-radius:50%; background:var(--swatch,#c22b39); }
.chart-tip { position:fixed; z-index:10000; pointer-events:none; max-width:300px; padding:11px 14px; border-radius:10px; background:#1d2635; color:#fff; font:600 14px/1.5 'Plus Jakarta Sans',sans-serif; box-shadow:0 14px 35px #18213133; opacity:0; transform:translateY(4px); transition:opacity .12s,transform .12s; white-space:pre-line; }
.chart-tip.on { opacity:1; transform:translateY(0); }
.driver-metrics { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:11px; margin:0 0 18px; }
.driver-metric { background:#fff; border:1px solid #e5e9ee; border-radius:16px; padding:19px 20px; }
.driver-metric span { display:block; color:#718094; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; margin-bottom:8px; }
.driver-metric strong { color:#233047; font-size:21px; font-variant-numeric:tabular-nums; letter-spacing:-.03em; }
.driver-metric small { display:block; color:#778497; font-size:13px; margin-top:5px; }
.duel-controls { display:grid; grid-template-columns:1fr auto 1fr; gap:18px; align-items:end; padding:23px 27px; margin:0 0 18px; border-radius:18px; }
.duel-controls select { max-width:100%; }
.duel-versus { color:#c02d3b; font-weight:800; letter-spacing:.1em; padding-bottom:15px; }
.duel-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-bottom:18px; }
.duel-card { background:#fff; border:1px solid #e5e9ee; border-radius:16px; padding:20px; min-height:106px; }
.duel-card span { display:block; text-transform:uppercase; letter-spacing:.05em; color:#738094; font-size:12px; font-weight:800; margin-bottom:9px; }
.duel-card strong { color:#263042; font-size:16px; line-height:1.35; }
.duel-card p { margin:7px 0 0; color:#687587; font-size:14px; line-height:1.5; }
.duel-a { color:#c02d3b; }
.duel-b { color:#315f99; }
.chart-action { cursor:pointer!important; }
.chart-action:hover { filter:brightness(.86); }
@media(max-width:900px) {
  .chart-grid { grid-template-columns:1fr; }
  .chart-card.chart-wide { grid-column:auto; }
  .driver-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .duel-summary { grid-template-columns:1fr; }
  .analysis-heading { align-items:start; flex-direction:column; }
  .analysis-select { width:100%; max-width:400px; }
}
@media(max-width:560px) {
  .analysis-section { margin-top:55px; }
  .chart-head { padding:21px 20px 5px; }
  .chart-body { padding:7px 15px 18px; min-height:210px; overflow-x:auto; }
  .chart-body svg { min-width:600px; }
  .driver-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .driver-metric { padding:16px; }
  .duel-controls { grid-template-columns:1fr; gap:10px; padding:19px; }
  .duel-versus { padding:0; text-align:center; }
}
