.dash-hero { padding: clamp(2.5rem, 6vw, 4.5rem) 0 2.5rem; display: grid; grid-template-columns: repeat(12, minmax(0,1fr)); column-gap: var(--gutter); align-items: start; }
.dash-hero > div { grid-column: 1 / 9; }
.dash-hero h1 { font-family: var(--display); font-weight: var(--h-weight); font-variation-settings: var(--h-fvs); letter-spacing: var(--h-track); font-size: clamp(2.3rem, 4.5vw, 4rem); line-height: 1.04; margin: .2rem 0 .5em; text-wrap: balance; }
.dash-hero .dek { font-size: var(--fs-md); line-height: 1.45; color: var(--ink-body); max-width: 36rem; margin: 0 0 .9rem; }
.dash-hero .not-advice { max-width: 36rem; margin-top: 1.2rem; background: var(--paper); }
.dash-toc { grid-column: 10 / 13; border-top: 1px solid var(--ink); padding-top: .8rem; margin-top: 3.2rem; }
.dash-toc ol { list-style: none; margin: .5rem 0 0; padding: 0; counter-reset: t; }
.dash-toc li { counter-increment: t; border-bottom: 1px solid var(--rule); padding: .5rem 0; font-size: 1rem; }
.dash-toc li::before { content: "0" counter(t); font-family: var(--sans); font-size: var(--ui-sm); color: var(--accent); margin-right: .7rem; letter-spacing: .06em; }
.dash-toc a { color: var(--ink); text-decoration: none; }
.dash-toc a:hover { color: var(--accent); }
.stats { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); column-gap: var(--gutter); border-top: 1px solid var(--ink); margin-bottom: 3.5rem; }
.stat { padding: 1rem var(--gutter) .4rem 0; border-right: 1px solid var(--rule); }
.stat:last-child { border-right: 0; }
.stat .n { font-family: var(--display); font-weight: var(--h-weight); font-variation-settings: var(--h-fvs); font-size: clamp(1.9rem, 3vw, 2.6rem); line-height: 1; color: var(--ink); display: block; margin: .5rem 0 .5rem; }
.stat .d { font-size: .95rem; line-height: 1.4; color: var(--ink-body); margin: 0 0 .5rem; }
.dsec { padding: clamp(3rem, 6vw, 4.5rem) 0; }
.dsec .sec-head { display: grid; grid-template-columns: repeat(12, minmax(0,1fr)); column-gap: var(--gutter); border-top: 1px solid var(--ink); padding-top: 1rem; margin-bottom: 2rem; }
.dsec .sec-head .kicker { grid-column: 1 / 4; margin: .4rem 0 0; }
.dsec .sec-head h2 { grid-column: 4 / 13; margin: 0; font-size: var(--fs-lg); }
.dsec .sec-head .sec-intro { grid-column: 4 / 11; margin: .5rem 0 0; color: var(--ink-body); font-size: 1.0625rem; }
.cards { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: var(--gutter); }
.card { background: var(--white); border: 1px solid var(--rule); border-top: 2px solid var(--ink); padding: 1.2rem 1.3rem 1rem; min-width: 0; display: flex; flex-direction: column; }
.dsec:not(.band) .card { background: var(--white); }
.card.wide { grid-column: 1 / -1; }
.card > .label { color: var(--accent); margin: 0; }
.card h3 { font-family: var(--display); font-weight: var(--h-weight); font-variation-settings: var(--h-fvs); letter-spacing: var(--h-track); font-size: 1.5rem; line-height: 1.15; margin: .4rem 0 .5rem; text-wrap: balance; }
.card .shows { font-size: 1rem; line-height: 1.5; color: var(--ink-body); margin: 0 0 1rem; max-width: 44rem; }
.card .shows b, .card .hides b { font-family: var(--sans); font-weight: 600; color: var(--ink); }
.card .means { margin: 1rem 0 0; padding: .8rem 1rem; background: var(--paper); max-width: 44rem; }
.card .means .label { color: var(--ink); margin: 0 0 .3rem; }
.card .means p:last-child { margin: 0; font-size: 1rem; line-height: 1.5; }
.card .hides { font-size: .875rem; line-height: 1.5; color: var(--ink-body); margin: .9rem 0 0; padding-left: .75rem; border-left: 2px solid var(--accent); max-width: 44rem; }
.card .hides b { color: var(--accent); }
.card-meta { margin: auto 0 0; padding-top: .9rem; display: grid; grid-template-columns: 1fr; gap: .35rem; }
.card-meta > div { display: grid; grid-template-columns: 7.5rem 1fr; gap: .8rem; border-top: 1px solid var(--rule); padding-top: .45rem; font-size: .8125rem; line-height: 1.45; color: var(--grey); }
.card-meta dt { font-family: var(--sans); font-size: var(--ui-sm); letter-spacing: .09em; text-transform: uppercase; font-weight: 600; color: var(--ink); }
.card-meta dd { margin: 0; }
.card .not-advice-line { margin: .55rem 0 0; font-family: var(--sans); font-size: var(--ui-sm); letter-spacing: .09em; text-transform: uppercase; color: var(--accent); }
.card.wide .shows, .card.wide .means, .card.wide .hides { max-width: 52rem; }
.ch { width: 100%; min-height: 120px; }
svg.chart { display: block; overflow: visible; }
svg.chart .ct { font-family: var(--sans); font-size: 11.5px; fill: var(--grey); }
svg.chart .ct.ttl { fill: var(--ink); font-weight: 600; font-size: 12px; }
svg.chart .ct.lab { font-weight: 600; font-size: 12px; }
svg.chart .ct.nm { fill: var(--ink); font-size: 12.5px; }
svg.chart .ct.val { fill: var(--ink); font-weight: 600; font-size: 12px; }
svg.chart .ct.sub { fill: var(--grey); font-weight: 400; font-size: 11px; }
svg.chart .grid { stroke: var(--rule); stroke-width: 1; stroke-dasharray: 2 3; }
svg.chart .zero, svg.chart .axis { stroke: var(--ink); stroke-width: 1; }
.legend-note { font-family: var(--sans); font-size: .8125rem; color: var(--grey); margin: 0 0 .5rem; }
.tabs { display: flex; flex-wrap: wrap; gap: .35rem; margin: 0 0 .6rem; }
.tabs button { font-family: var(--sans); font-size: .8125rem; padding: .3rem .65rem; border: 1px solid var(--rule-strong); background: var(--white); color: var(--ink); cursor: pointer; border-radius: 0; min-height: 2rem; }
.tabs button[aria-pressed="true"] { background: var(--ink); color: var(--white); border-color: var(--ink); }
.key { display: inline-block; width: .7rem; height: .7rem; vertical-align: -.05rem; margin: 0 .3rem 0 .7rem; }
.key:first-child { margin-left: 0; }
.key.acc { background: var(--accent); } .key.alt { background: var(--accent-alt); } .key.lt { background: var(--grey-light); } .key.sh { background: var(--paper); border: 1px solid var(--rule); }
.band .key.sh { background: var(--paper-deep); }
.about-data { padding: 3.5rem 0 4rem; max-width: 52rem; }
.about-data h2 { font-size: var(--fs-lg); margin: 0 0 1rem; }
.about-data ul { columns: 2; column-gap: calc(var(--gutter) * 2); padding-left: 1.1rem; }
.about-data li { break-inside: avoid; margin: 0 0 .6rem; font-size: .9375rem; line-height: 1.5; }
@media (max-width: 980px) {
  .dash-hero > div, .dash-toc { grid-column: 1 / -1; }
  .dash-toc { margin-top: 2rem; }
  .stats { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .stat:nth-child(2) { border-right: 0; }
  .stat:nth-child(n+3) { border-top: 1px solid var(--rule); }
  .cards { grid-template-columns: 1fr; }
  .dsec .sec-head .kicker, .dsec .sec-head h2, .dsec .sec-head .sec-intro { grid-column: 1 / -1; }
  .dsec .sec-head h2 { margin-top: .5rem; }
  .about-data ul { columns: 1; }
}
@media (max-width: 640px) {
  .stats { grid-template-columns: 1fr 1fr; }
  .stat { padding-right: .8rem; }
  .card { padding: 1rem .85rem .9rem; margin: 0 calc(-1 * var(--margin) / 2); }
  .card h3 { font-size: 1.3rem; }
  .card-meta > div { grid-template-columns: 1fr; gap: .1rem; }
}
.dsec .sec-head h2 { font-family: var(--display); font-weight: var(--h-weight); font-variation-settings: var(--h-fvs); letter-spacing: var(--h-track); text-transform: none; font-size: var(--fs-lg); line-height: 1.1; color: var(--ink); }
.cards { align-items: start; }
.next-up { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); column-gap: var(--gutter); background: var(--paper-light); border: 1px solid var(--rule); border-top: 2px solid var(--ink); padding: 1rem 1.3rem 1rem; margin: 0 0 2.5rem; }
.next-up p { margin: 0; }
.next-up .nu-label { color: var(--accent); margin-bottom: .35rem; }
.nu-line { font-family: var(--sans); font-size: 1.0625rem; line-height: 1.4; color: var(--ink); }
.nu-name { font-weight: 600; }
.nu-sep { color: var(--grey); margin: 0 .15rem; }
.nu-line:has(.nu-count:empty) .nu-sep { display: none; }
.nu-count { font-variant-numeric: tabular-nums; color: var(--ink); }
.next-up.is-expected .nu-count { font-family: var(--sans); font-size: var(--ui-sm); letter-spacing: .09em; text-transform: uppercase; font-weight: 600; color: var(--grey); border: 1px solid var(--rule-strong); padding: .05rem .4rem; vertical-align: .1rem; }
.nu-when { font-size: .9375rem; color: var(--ink-body); margin-top: .15rem !important; }
.nu-note { color: var(--grey); }
.nu-watch { font-size: .9375rem; line-height: 1.5; color: var(--ink-body); margin-top: .5rem !important; max-width: 40rem; }
.nu-watch b, .nu-asof b { font-family: var(--sans); font-weight: 600; color: var(--ink); }
.nu-links { font-family: var(--sans); font-size: .875rem; margin-top: .55rem !important; display: flex; flex-wrap: wrap; gap: .3rem 1.2rem; }
.nu-links a { color: var(--ink); text-decoration-color: var(--accent); }
.nu-after { color: var(--grey); }
.nu-static { margin-top: .45rem !important; font-size: var(--ui-sm); }
.nu-side { border-left: 1px solid var(--rule); padding-left: var(--gutter); font-size: .8125rem; line-height: 1.5; color: var(--grey); }
.nu-asof + .nu-asof { margin-top: .45rem !important; }
.nu-more { margin-top: .6rem; font-family: var(--sans); }
.nu-more summary { cursor: pointer; color: var(--ink); font-size: .8125rem; }
.nu-more ul { list-style: none; margin: .4rem 0 0; padding: 0; }
.nu-more li { border-top: 1px solid var(--rule); padding: .25rem 0; color: var(--ink-body); }
.nu-d { display: inline-block; min-width: 6.5rem; color: var(--grey); font-variant-numeric: tabular-nums; }
.nu-exp { font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; color: var(--grey); }
.census-attr { font-family: var(--sans); font-size: .8125rem; color: var(--grey); margin: 1.2rem 0 0; }
@media (max-width: 980px) {
  .next-up { grid-template-columns: 1fr; }
  .nu-side { border-left: 0; padding-left: 0; border-top: 1px solid var(--rule); padding-top: .7rem; margin-top: .8rem; }
}
@media (max-width: 640px) { .next-up { padding: .9rem .85rem; margin: 0 calc(-1 * var(--margin) / 2) 2rem; } }
.nu-note:not(:empty)::before { content: "\00B7\00A0"; }
.nu-count { white-space: nowrap; }
