/* Week 3's optional editorial features use the existing recap palette and type. */
.numbers-feature{margin-top:56px;scroll-margin-top:calc(var(--nav-height) + 24px)}
.numbers-feature .numbers-subheading{margin-top:0}
.feature-caption{display:flex;align-items:center;gap:14px;font-size:.875rem;font-weight:750;line-height:1.5}
.feature-caption .team-badge,.feature-table .team-badge,.schedule-pair .team-badge{font-size:.875rem;white-space:nowrap;min-width:56px;min-height:36px}
.feature-spotlight{background:var(--green);color:var(--paper);border:1px solid #35503e;border-radius:12px;padding:28px;margin-bottom:24px}
.feature-spotlight .feature-caption{color:#c3d2ba}
.feature-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:26px 0}
.feature-stat strong{display:block;font-size:clamp(2rem,4vw,3rem);line-height:1.15;font-weight:850;letter-spacing:-.035em;font-variant-numeric:tabular-nums}
.feature-stat>span{display:block;font-size:.875rem;line-height:1.45;margin-top:10px;color:var(--muted)}
.feature-spotlight .feature-stat strong{color:var(--lime)}
.feature-spotlight .feature-stat>span{color:#c3d2ba}
.feature-spotlight>p{margin:0;padding-top:20px;border-top:1px solid #35503e;font-size:1.125rem;line-height:1.65;max-width:760px}
.feature-table-wrap{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fcfdf7}
.feature-table{table-layout:fixed;font-size:1rem;width:100%}
.feature-table th,.feature-table td{padding:14px 20px;text-align:right;border-bottom:1px solid var(--line);line-height:1.45}
.feature-table th:first-child,.feature-table td:first-child{width:22%;text-align:left}
.feature-table thead th{color:var(--muted);font-size:.875rem;font-weight:700;background:#eef2e6}
.feature-table tbody tr:last-child>*{border-bottom:0}
.feature-table tbody tr:hover{background:#f1f5e8}
.feature-table th:nth-child(2){text-align:right}
.feature-table td{font-variant-numeric:tabular-nums}
.schedule-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:24px 0}
.schedule-pair>div{border:1px solid var(--line);border-radius:10px;padding:24px;background:#f9faf5}
.schedule-pair .feature-stat{margin-top:18px}
.schedule-pair p{font-size:1rem;color:var(--muted);margin:18px 0 0;line-height:1.6}
.feature-method{margin-top:20px;font-size:1rem;color:var(--muted);line-height:1.7}
.feature-method summary{font-size:.875rem;font-weight:750;cursor:pointer;padding:12px 0;min-height:44px;color:var(--ink)}
.feature-method p{max-width:800px;margin:12px 0}
.trend-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.trend-card{border:1px solid var(--line);border-radius:10px;padding:24px;background:#fcfdf7;min-width:0}
.trend-card .feature-stat{margin-top:24px}
.trend-up .feature-stat strong{color:#365e20}.trend-down .feature-stat strong{color:#a23838}
.trend-card p{font-size:1rem;line-height:1.65;margin:18px 0 0}.trend-baseline{color:var(--muted)}
.score-spark{display:block;width:100%;height:80px;margin:18px 0 8px;color:#47722e}
.score-spark polyline{fill:none;stroke:currentColor;stroke-width:3;stroke-linejoin:round}.score-spark circle{fill:currentColor}
.spark-labels{display:flex;justify-content:space-between;gap:8px;font-size:.875rem;font-variant-numeric:tabular-nums}
.spark-labels span{text-align:center;min-width:0}.spark-labels strong,.spark-labels small{display:block}.spark-labels small{font-size:.875rem;color:var(--muted);margin-top:4px}
.coaching-note{border-left:3px solid #739846;padding:6px 24px;margin:0 0 24px;background:#edf1e5}
.coaching-note p{font-size:1rem;line-height:1.7;margin:14px 0}.coaching-note strong{color:#365e20}
.model-review{background:#e6eddc;border-bottom:1px solid var(--line)}
.audit-stats{border-top:1px solid #c4d0b8;border-bottom:1px solid #c4d0b8;margin-bottom:24px}
.feature-roast{font-size:1.125rem;line-height:1.7;margin:0 0 24px;max-width:760px}
.audit-hit{color:#365e20;font-weight:750}.audit-miss{color:#a23838;font-weight:750}
.award .award-metric{margin:2px 0 8px;font-size:.875rem;line-height:1.5}.award-teams{margin:12px 0 18px;display:flex;flex-wrap:wrap;gap:8px}
.award-teams .team-badge{font-size:.875rem;min-height:36px}
.detail-leaderboard th:last-child{white-space:normal}
@media(max-width:900px){.trend-grid{grid-template-columns:1fr}.trend-card{display:block}.score-spark,.spark-labels{max-width:360px}.feature-table th,.feature-table td{padding:14px}}
@media(max-width:600px){
 .numbers-feature{margin-top:42px}.feature-spotlight{padding:20px}.feature-stats{gap:12px;padding-block:24px}
 .feature-stat strong{font-size:1.875rem}.feature-stat>span{font-size:.875rem}.feature-spotlight>p{font-size:1rem}
 .feature-table{font-size:.875rem}.feature-table th,.feature-table td{padding:12px 7px}
 .feature-table .team-badge{min-width:0;padding:5px 6px;min-height:44px}
 .schedule-pair{grid-template-columns:1fr;gap:16px}.schedule-pair>div{padding:20px}
 .trend-card{padding:20px}.trend-card .feature-stat strong{font-size:2.5rem}
 .coaching-note{padding:6px 18px}.feature-caption .team-badge,.award-teams .team-badge{min-height:44px}
}
@media(max-width:360px){.feature-spotlight{padding:16px}.feature-stats{gap:8px}.feature-stat strong{font-size:1.625rem}.feature-table th,.feature-table td{padding-inline:5px}}
