:root{--cream:#f4f1ea;--cream-deep:#ece7db;--paper:#fbfaf6;--ink:#28261f;--ink-soft:#514c40;--ink-faint:#8a8576;--rule:#e2dccd;--rule-strong:#d3cab4;--bleu:#0055a4;--rouge:#ef4135;--rouge-ink:#b3261e;--taupe:#8a8576;--coral:#cc785c;--coral-ink:#a8553a;--coral-soft:#f0e4dc;--positive-ink:#2c6e49;--font-display:"Fraunces", Georgia, "Times New Roman", serif;--font-body:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4.5rem;--radius:6px;--radius-lg:12px;--shadow-card:0 1px 2px #28261f0a;--shadow-lift:0 12px 30px -12px #28261f38;--measure:64ch;--container:1120px}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-body);background-color:var(--cream);color:var(--ink);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-feature-settings:"ss01", "cv05";border-top:3px solid var(--coral);font-size:17px;line-height:1.6}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);text-wrap:balance;font-weight:600;line-height:1.12}p{text-wrap:pretty}a{color:var(--coral-ink);text-underline-offset:2px;text-decoration-thickness:1px}a:hover{color:var(--ink)}ul{padding-left:1.1em}:focus-visible{outline:2px solid var(--coral);outline-offset:2px;border-radius:3px}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-shell>main{width:100%;max-width:var(--container);padding:var(--space-7) var(--space-5) var(--space-8);flex:1;margin:0 auto}.app-header{width:100%;max-width:var(--container);padding:var(--space-6) var(--space-5) var(--space-5);align-items:end;gap:var(--space-3) var(--space-5);border-bottom:1px solid var(--rule);grid-template-columns:1fr auto;margin:0 auto;display:grid}.brand{font-family:var(--font-display);letter-spacing:-.025em;color:var(--ink);grid-column:1;font-size:clamp(2rem,4.2vw,3.1rem);font-weight:600;line-height:1;text-decoration:none}.brand:hover{color:var(--coral-ink)}.tagline{color:var(--ink-soft);font-size:1.05rem;font-style:italic;font-family:var(--font-display);grid-column:1;max-width:42ch}.last-updated{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint);background:var(--paper);border:1px solid var(--rule);white-space:nowrap;border-radius:999px;grid-area:1/2/span 2;place-self:start end;padding:.35em .85em;font-size:.74rem}.app-footer{border-top:1px solid var(--rule);background:var(--cream-deep)}.app-footer p{width:100%;max-width:var(--container);padding:var(--space-5);color:var(--ink-faint);margin:0 auto;font-size:.86rem}.overview__intro{font-family:var(--font-display);color:var(--ink-soft);max-width:34ch;margin-bottom:var(--space-8);text-wrap:balance;font-size:clamp(1.25rem,2.4vw,1.7rem);line-height:1.4}@media (width>=720px){.overview__intro{max-width:56ch}}.theme-section{margin-bottom:var(--space-8)}.theme-section__title{align-items:center;gap:var(--space-3);padding-bottom:var(--space-3);margin-bottom:var(--space-5);border-bottom:1px solid var(--rule);font-size:clamp(1.35rem,2.4vw,1.9rem);display:flex}.theme-section__title:before{content:"";background:var(--coral);flex:none;width:1.6rem;height:3px}.kpi-grid{gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(265px,1fr));display:grid}.kpi-card{gap:var(--space-3);min-height:200px;padding:var(--space-5);background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);color:inherit;flex-direction:column;text-decoration:none;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex}.kpi-card:hover{border-color:var(--coral);box-shadow:var(--shadow-lift);color:inherit;transform:translateY(-3px)}.kpi-card__title{font-size:1.12rem;font-weight:600}.kpi-card__figure{align-items:baseline;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.kpi-card__value{font-family:var(--font-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--ink);font-size:2.1rem;font-weight:600}.kpi-card__yoy,.stat-callout__yoy{font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:.35em;font-size:.82rem;font-weight:600;display:inline-flex}.yoy--up{color:var(--positive-ink)}.yoy--down{color:var(--rouge-ink)}.yoy--flat{color:var(--ink-faint)}.kpi-card .recharts-wrapper{margin-top:auto}.kpi-card svg{overflow:visible}.kpi-card__badge{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);align-items:center;gap:.45em;font-size:.7rem;display:inline-flex}.kpi-card__badge:before{content:"";border-top:2px dashed var(--taupe);width:1.1rem;height:0}.breadcrumb{margin-bottom:var(--space-5);font-size:.9rem}.breadcrumb a{font-weight:500;text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.kpi-detail>h1{margin-bottom:var(--space-4);font-size:clamp(2rem,4.5vw,3.1rem)}.kpi-detail__explainer{color:var(--ink-soft);max-width:var(--measure);margin-bottom:var(--space-6);font-size:1.18rem}.kpi-detail__secondary{margin-top:var(--space-7);padding-top:var(--space-6);border-top:1px solid var(--rule)}.kpi-detail__secondary h2{margin-bottom:var(--space-5);font-size:clamp(1.3rem,2.6vw,1.7rem)}.stat-callout{align-items:baseline;gap:var(--space-3) var(--space-5);padding:var(--space-5) var(--space-6);margin-bottom:var(--space-6);background:var(--paper);border:1px solid var(--rule);border-left:4px solid var(--bleu);border-radius:var(--radius-lg);flex-wrap:wrap;display:flex}.stat-callout__value{font-family:var(--font-display);letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:clamp(2.6rem,6vw,3.6rem);font-weight:600;line-height:1}.stat-callout__year{color:var(--ink-faint);letter-spacing:.02em;font-size:.95rem}.stat-callout__yoy{font-size:.95rem}.chart{background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-5) var(--space-4)}.chart__toggle{margin-bottom:var(--space-4);color:var(--ink-soft);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.55em;font-size:.9rem;display:inline-flex}.chart__toggle input{width:1.05em;height:1.05em;accent-color:var(--coral);cursor:pointer}.chart__note{margin-top:var(--space-3);padding-left:var(--space-3);border-left:3px solid var(--rouge);color:var(--ink-soft);font-size:.84rem}.recharts-surface text,.recharts-legend-item-text{font-family:var(--font-body);font-size:.8rem}.recharts-cartesian-axis-tick text{fill:var(--ink-faint)}.recharts-cartesian-axis-line,.recharts-cartesian-axis-tick-line{stroke:var(--rule-strong)}.recharts-legend-item-text{color:var(--ink-soft)!important}.recharts-default-tooltip{box-shadow:var(--shadow-lift);font-family:var(--font-body);background:var(--paper)!important;border:1px solid var(--rule-strong)!important;border-radius:var(--radius)!important}.methodology{margin-top:var(--space-6);border:1px solid var(--rule);border-radius:var(--radius-lg);background:var(--paper)}.methodology>summary{cursor:pointer;padding:var(--space-4) var(--space-5);color:var(--coral-ink);align-items:center;gap:.6em;font-weight:600;list-style:none;display:flex}.methodology>summary::-webkit-details-marker{display:none}.methodology>summary:before{content:"▸";color:var(--coral);transition:transform .18s}.methodology[open]>summary:before{transform:rotate(90deg)}.methodology__body,.methodology__source{padding:0 var(--space-5) var(--space-4);color:var(--ink-soft);max-width:var(--measure);font-size:.95rem}.methodology__source strong{color:var(--ink)}.methodology-page{max-width:var(--measure)}.methodology-page h1{margin-bottom:var(--space-5);font-size:clamp(2rem,4.5vw,3rem)}.methodology-page h2{margin:var(--space-6) 0 var(--space-3);font-size:1.4rem}.methodology-page p,.methodology-page li{color:var(--ink-soft)}.methodology-page li{margin-bottom:var(--space-2)}.state{padding:var(--space-7) 0;color:var(--ink-faint);font-size:1.05rem}@media (prefers-reduced-motion:no-preference){.theme-section,.kpi-detail,.methodology-page,.kpi-card{animation:.5s both rise}.kpi-grid .kpi-card:nth-child(2){animation-delay:50ms}.kpi-grid .kpi-card:nth-child(3){animation-delay:.1s}.kpi-grid .kpi-card:nth-child(4){animation-delay:.15s}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}}@media (width<=620px){body{font-size:16px}.app-header{grid-template-columns:1fr}.last-updated{grid-area:auto/1;justify-self:start}.app-shell>main{padding:var(--space-6) var(--space-4) var(--space-7)}.stat-callout{padding:var(--space-5)}}
