[data-home-h03] [data-home-hero] { max-width: 44rem; }
[data-home-h03] [data-home-hero] h1 { font-size: 36px; line-height: 1.1; }
[data-home-h03] [data-home-hero] > p { font-size: 16px; }
[data-home-h03] #search input { height: 48px; flex: 1 1 15rem; }
[data-home-h03] #search button { min-height: 48px; }
[data-home-h03] [data-home-stats] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
[data-home-h03] [data-home-stats] > div { height: 100%; padding: 1rem; }
[data-home-h03] [data-home-stats] .tabular-nums { font-size: 28px; overflow-wrap: anywhere; }
[data-home-h03] [data-home-probes] { position: absolute; width: 0; height: 0; overflow: hidden; pointer-events: none; }
[data-home-h03] [data-home-panels] { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; }
[data-home-h03] [data-home-chart] { display: grid; gap: 16px; padding: 20px; align-content: start; }
[data-home-h03] [data-home-chart] h3 { font-size: 20px; line-height: 1.3; }
[data-home-h03] [data-chart-intro] { min-width: 0; }
[data-home-h03] [data-chart-intro] > * + * { margin-top: 12px; }
[data-home-h03] [data-chart-readout] { display: grid; grid-template-columns: minmax(0, 1fr); min-height: 2lh; overflow-wrap: anywhere; }
[data-home-h03] [data-chart-readout] > span { grid-area: 1 / 1; min-width: 0; }
[data-home-h03] [data-chart-readout] > [aria-hidden="true"] { visibility: hidden; }
[data-home-h03] [data-chart-readout][hidden] { display: none; }
[data-home-h03] [data-chart-kpi] { font-size: 32px; line-height: 1.2; }
[data-home-h03] [data-home-chart] p,
[data-home-h03] [data-chart-notes],
[data-home-h03] [data-chart-table] summary { font-size: 14px; }
[data-home-h03] [data-chart-notes] > * + * { margin-top: 8px; }
[data-home-h03] [data-chart-plot] { min-width: 0; height: 280px; visibility: hidden; }
[data-home-h03] [data-chart-plot][hidden] { display: none; }
[data-home-h03] [data-chart-ready] [data-chart-plot] { visibility: visible; }
[data-home-h03] [data-home-chart="regions"] [data-chart-plot] { height: 320px; }
[data-home-h03] [data-chart-table] { min-width: 0; }
/* H03.1 rework: intrinsic cell widths must not create a table scrollbar, including without Tailwind JS. */
[data-home-h03] [data-chart-table] table { width: 100%; table-layout: fixed; }
[data-home-h03] [data-chart-table] th,
[data-home-h03] [data-chart-table] td { white-space: normal; overflow-wrap: anywhere; padding-inline: 0.375rem; }
/* The public header also loads this stylesheet on internal pages; no runtime utilities are required for its rows. */
header.navbar { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 0.5rem; padding-inline: 1rem; }
header.navbar > div:first-of-type { grid-column: 1; grid-row: 1; min-width: 0; display: flex; align-items: center; }
header.navbar > div:first-of-type > a { display: flex; align-items: center; gap: 0.5rem; white-space: nowrap; }
header.navbar > div:last-of-type { grid-column: 3; grid-row: 1; display: flex; flex-wrap: nowrap; align-items: center; gap: 0.5rem; justify-self: end; }
header.navbar .btn,
header.navbar .input,
header.navbar [data-nav-menu] a { font-size: 16px; }
header.navbar .btn { white-space: nowrap; padding-inline: 0.5rem; }
header.navbar > div:last-of-type > a:first-of-type { display: none; }
header.navbar > form { grid-column: 1 / -1; grid-row: 2; display: flex; gap: 0.5rem; min-width: 0; width: 100%; }
header.navbar > form .input { min-width: 0; width: 100%; flex: 1 1 0; }
header.navbar [data-nav-menu] { display: block; }
header.navbar [data-nav-sections] { display: none; }
@media (min-width: 640px) {
    header.navbar > div:last-of-type > a:first-of-type { display: inline-flex; }
}
@media (min-width: 1024px) {
    header.navbar { padding-inline: 2rem; column-gap: 1rem; }
    header.navbar .btn { padding-inline: 1rem; }
    header.navbar > form { grid-column: 2; grid-row: 1; max-width: 36rem; justify-self: center; }
    header.navbar [data-nav-menu] { display: none; }
    header.navbar [data-nav-sections] { grid-column: 1 / -1; grid-row: 2; display: flex; flex-wrap: nowrap; gap: 0.5rem; }
}
[data-home-h03] [data-home-role] { padding: 20px 0; }
[data-home-h03] [data-home-role] > summary { padding: 4px 0; font-size: 18px; }
[data-home-h03] [data-home-role] > summary .badge { margin-left: 8px; }
[data-home-h03] [data-role-content] { display: grid; gap: 24px; padding-top: 24px; }
[data-home-h03] [data-role-preview] { padding: 20px; }
/* H03.1: ticker marquee (JS duplicates the set and sets data-ticker-run; otherwise a static scrollable list). */
@keyframes bgr-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
[data-home-h03] [data-ticker-run] { overflow: hidden; }
[data-home-h03] [data-ticker-run] [data-ticker-track] { animation: bgr-marquee 60s linear infinite; }
[data-home-h03] [data-ticker-run]:hover [data-ticker-track],
[data-home-h03] [data-ticker-run]:focus-within [data-ticker-track] { animation-play-state: paused; }
/* H03.1: scenario table rows appear one by one in the checked tab (delay <= 0.4 s). */
@keyframes bgr-row-in { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
[data-home-h03] [data-home-scenarios] .tab:checked + .tab-content tr { animation: bgr-row-in 0.3s ease-out both; }
[data-home-h03] [data-home-scenarios] .tab:checked + .tab-content tr:nth-child(2) { animation-delay: 0.08s; }
[data-home-h03] [data-home-scenarios] .tab:checked + .tab-content tr:nth-child(3) { animation-delay: 0.16s; }
[data-home-h03] [data-home-scenarios] .tab:checked + .tab-content tr:nth-child(4) { animation-delay: 0.24s; }
[data-home-h03] [data-home-scenarios] .tab:checked + .tab-content tr:nth-child(5) { animation-delay: 0.32s; }
[data-home-h03] [data-home-scenarios] .tab:checked + .tab-content tr:nth-child(n+6) { animation-delay: 0.4s; }
[data-home-h03] [data-home-scenarios] [data-sc-progress][hidden] { display: none; }
@media (prefers-reduced-motion: reduce) {
    [data-home-h03] [data-ticker-run] [data-ticker-track],
    [data-home-h03] [data-home-scenarios] .tab:checked + .tab-content tr { animation: none; }
}
/* Apex's built-in tooltip inherits the computed chart theme, never a fixed palette. */
[data-home-h03] .apexcharts-tooltip,
[data-home-h03] .apexcharts-tooltip .apexcharts-tooltip-title { background: inherit !important; color: inherit !important; border-color: inherit !important; font-family: inherit !important; }
@media (min-width: 901px) {
    [data-home-h03] [data-home-hero] h1 { font-size: 48px; }
    [data-home-h03] [data-home-hero] > p { font-size: 18px; }
    [data-home-h03] [data-home-stats] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    [data-home-h03] [data-home-stats] .tabular-nums { font-size: 32px; }
    [data-home-h03] [data-home-panels] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    [data-home-h03] [data-home-chart] { padding: 28px; }
    [data-home-h03] [data-home-chart="births"] { grid-column: 1 / -1; }
    [data-home-h03] [data-home-chart="births"][data-chart-ready] { grid-template-columns: minmax(0, 1fr) minmax(0, 3fr); column-gap: 24px; }
    [data-home-h03] [data-home-chart="births"] [data-chart-table] { grid-column: 1 / -1; }
    [data-home-h03] [data-chart-plot] { height: 320px; }
    [data-home-h03] [data-role-content] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
