/* Larger, blue-themed presentation. Loaded after the base styles in index.html. */
:root {
  --ink: #183655;
  --muted: #596b7e;
  --green: #2466a6;
  --line: #d8e2ed;
  --paper: #f5f8fc;
  --lime: #c7e2ff;
}
body { font-size: 17px; }
.brand { font-size: 23px; }
.brand small { font-size: 11px; }
.eyebrow { font-size: 13px; }
h1 { font-size: 52px; }
h2 { font-size: 27px; }
.intro-copy { font-size: 17px; }
.snapshot { font-size: 15px; background: #edf3fa; }
.snapshot small { font-size: 13px; }
.stats { background: #e9f1fb; border-color: #d3e1f2; }
.stat { border-color: #ceddee; }
.stat-label { font-size: 13px; color: #4d6480; }
.stat-value { font-size: 35px; }
.stat small { font-size: 13px; line-height: 1.5; }
label { font-size: 13px; }
select { font-size: 16px; }
.council-picker select { width: 285px; }
.map-filters select { font-size: 14px; }
.map-area { background-color: #edf3fa; background-image: radial-gradient(#8da7c433 .7px, transparent .7px); }
.map-caption .eyebrow { font-size: 11px; }
.map-caption p { font-size: 13px; max-width: 340px; line-height: 1.5; }
.council-path { stroke: #f5f8fc; }
.council-path:hover, .council-path:focus, .council-path.selected { stroke: #153c68; }
.map-instruction { font-size: 13px; }
#map-tooltip { font-size: 15px; max-width: 280px; }
.legend strong { font-size: 14px; }
.legend span { font-size: 12px; }
.gradient { background: linear-gradient(90deg, #d7e9fa, #9bc5eb, #579bd1, #286dae, #153f70); }
.empty-icon, .spend-hero, .rank-tag { background: #e9f1fb; }
.empty-state h2 { font-size: 30px; }
.quick-picks button { background: #f3f7fc; font-size: 16px; }
.quick-picks button:hover { background: #e9f1fb; }
.small-note { font-size: 14px; }
.detail-header h2 { font-size: 30px; }
.council-meta { font-size: 14px; line-height: 1.6; }
.spend-hero > span { font-size: 14px; }
.spend-hero strong { font-size: 39px; }
.spend-hero small { font-size: 13px; }
.annual-support { margin: 24px 0 0; padding-top: 20px; border-top: 1px solid var(--line); }
.spend-hero + .spending-context { margin-top: 20px; }
.annual-support > span, .annual-support > small { display: block; color: var(--muted); font-size: 13px; line-height: 1.6; }
.annual-support > strong { display: block; font-size: 25px; margin: 5px 0; }
.council-kpis strong { font-size: 25px; }
.council-kpis span { font-size: 13px; line-height: 1.6; }
.council-kpis strong { margin-top: 5px; }
.spending-context { background: #f3f7fc; border: 1px solid var(--line); border-radius: 8px; padding: 15px; margin-bottom: 24px; }
.spending-context h4 { font-size: 15px; margin: 0 0 8px; }
.spending-context p { font-size: 14px; line-height: 1.7; color: var(--muted); margin: 0 0 10px; }
.spending-context strong { color: var(--ink); }
.spending-context .context-period { font-size: 12px; margin-bottom: 0; }
.section-mini { font-size: 15px; flex-wrap: wrap; gap: 7px; }
.section-mini span { font-size: 12px; }
.benefit-row { border-color: #e2e9f2; padding: 15px 0; }
.benefit-title { font-size: 14px; align-items: flex-start; line-height: 1.5; }
.benefit-title > span:last-child { white-space: nowrap; }
.benefit-numbers { font-size: 15px; gap: 10px; line-height: 1.5; align-items: flex-start; }
.benefit-numbers > span:last-child { white-space: nowrap; }
.benefit-numbers small { font-size: 12px; }
.benefit-numbers { flex-direction: column; align-items: flex-start; gap: 4px; }
.benefit-numbers > .per-100 { white-space: normal; text-align: left; }
.benefit-numbers > .per-100 small { display: inline; }
.bar-track { background: #e9eff7; }
.benefit-explanation { font-size: 14px; background: #f3f7fc; }
.benefit-purpose { margin-bottom: 15px; padding-bottom: 15px; border-bottom: 1px solid var(--line); }
.benefit-purpose h4 { margin: 0 0 8px; font-size: 15px; color: var(--ink); }
.data-note { font-size: 13px; }
.rank-tag { font-size: 12px; }
.section-heading p:not(.eyebrow) { font-size: 15px; }
.download { font-size: 14px; }
table { font-size: 15px; }
th { font-size: 13px; background: #e9f1fb; }
td { border-color: #e2e9f2; }
td button { font-size: 14px; }
tr.active { background: #edf4fc; }
.show-all { font-size: 14px; }
.sources > div > p:not(.eyebrow) { font-size: 15px; }
.sources summary { font-size: 15px; }
.sources details p, .sources li { font-size: 14px; }
footer { font-size: 13px; line-height: 1.6; }
.map-attribution { font-size: 11px; }
@media (max-width: 1050px) {
  .stat-value { font-size: 30px; }
  .map-filters { grid-template-columns: 1fr; }
  .legend { flex-wrap: wrap; }
}
@media (max-width: 780px) {
  .brand { font-size: 20px; }
  .brand small { font-size: 9px; }
  .source-link { font-size: 14px; }
  h1 { font-size: 42px; }
  h2 { font-size: 25px; }
  .intro-copy { font-size: 16px; }
  .stat { padding: 18px 15px; }
  .stat:nth-child(-n+2) { border-color: #ceddee; }
  .stat-value { font-size: 32px; }
  .stat-label { font-size: 12px; }
  .stat small { font-size: 12px; }
  .council-picker select { width: 100%; }
  .empty-state h2 { font-size: 28px; }
  .map-filters select { font-size: 15px; }
  .map-caption .eyebrow { font-size: 10px; }
  .map-caption p { font-size: 12px; max-width: calc(100vw - 125px); }
  .map-instruction { font-size: 12px; }
  table { font-size: 14px; }
  .benefit-numbers small { display: block; }
}
@media (max-width: 420px) {
  .brand { gap: 9px; font-size: 18px; }
  .brand small { font-size: 8px; letter-spacing: 1px; }
  .source-link { font-size: 12px; }
  .source-link span { margin-left: 3px; }
}
