:root { color-scheme: light; --ink-950: #172b2b; --ink-800: #294342; --ink-650: #49615f; --ink-500: #6d817f; --paper: #fffdf8; --paper-warm: #faf5e9; --sand-100: #f4ead4; --sand-200: #e7d8b9; --sand-400: #c5a66c; --teal-800: #155e60; --teal-700: #197477; --teal-600: #23888a; --teal-100: #dcefee; --red-700: #a63d32; --red-100: #f7e3df; --amber-700: #a66516; --amber-100: #f9eccd; --purple-700: #704b87; --purple-100: #eee4f3; --gray-100: #edf0ed; --gray-300: #cbd3d0; --white: #ffffff; --shadow-sm: 0 1px 2px rgb(23 43 43 / 7%), 0 7px 24px rgb(23 43 43 / 5%); --shadow-md: 0 18px 48px rgb(23 43 43 / 10%); --radius-sm: 0.55rem; --radius-md: 0.9rem; --radius-lg: 1.35rem; --content: 1180px; --font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; --font-display: Georgia, "Times New Roman", serif; } * { box-sizing: border-box; } html { max-width: 100%; overflow-x: clip; scroll-behavior: smooth; } body { min-width: 320px; max-width: 100%; margin: 0; overflow-x: clip; color: var(--ink-950); background: radial-gradient(circle at 7% 2%, rgb(231 216 185 / 35%), transparent 30rem), var(--paper); font-family: var(--font-sans); font-size: 1rem; line-height: 1.55; -webkit-font-smoothing: antialiased; } button, input, select { font: inherit; } button, select { cursor: pointer; } button:disabled, select:disabled, input:disabled { cursor: not-allowed; } a { color: var(--teal-800); } code { padding: 0.08em 0.28em; border-radius: 0.3em; background: var(--gray-100); font-size: 0.9em; } h1, h2, h3, p { margin-top: 0; } h1, h2, h3 { line-height: 1.16; } h1 { max-width: 18ch; margin-bottom: 1rem; font-family: var(--font-display); font-size: clamp(2.35rem, 6vw, 4.4rem); font-weight: 500; letter-spacing: -0.035em; } h2 { margin-bottom: 0.7rem; font-size: clamp(1.15rem, 2vw, 1.45rem); letter-spacing: -0.018em; } .skip-link { position: fixed; z-index: 100; top: 0.75rem; left: 0.75rem; padding: 0.75rem 1rem; transform: translateY(-200%); border-radius: var(--radius-sm); color: var(--white); background: var(--ink-950); font-weight: 700; } .skip-link:focus { transform: translateY(0); } :focus-visible { outline: 3px solid var(--amber-700); outline-offset: 3px; } .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; } .preview-banner { position: relative; z-index: 20; display: flex; justify-content: center; gap: 0.65rem; padding: 0.58rem 1rem; border-bottom: 1px solid #e9c77d; color: #503407; background: var(--amber-100); font-size: 0.86rem; text-align: center; } .preview-banner[hidden] { display: none; } .preview-banner strong { margin-right: 0.35rem; } .preview-banner > div { min-width: 0; overflow-wrap: anywhere; } .preview-banner__icon { color: var(--amber-700); } .site-header { position: sticky; z-index: 10; top: 0; border-bottom: 1px solid rgb(197 166 108 / 30%); background: rgb(255 253 248 / 93%); box-shadow: 0 3px 16px rgb(23 43 43 / 4%); backdrop-filter: blur(16px); } .site-header__inner, .primary-nav__inner, .page-shell { width: calc(100% - 2rem); max-width: var(--content); margin-inline: auto; } .site-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 2rem; min-height: 78px; } .brand { display: inline-flex; align-items: center; gap: 0.8rem; color: var(--ink-950); text-decoration: none; } .brand__mark { width: 44px; height: 44px; flex: 0 0 auto; color: var(--teal-800); } .brand__name, .brand__tagline { display: block; } .brand__name { font-family: var(--font-display); font-size: 1.22rem; font-weight: 700; letter-spacing: -0.015em; } .brand__tagline { margin-top: 0.05rem; color: var(--ink-650); font-size: 0.72rem; letter-spacing: 0.07em; text-transform: uppercase; } .header-status { display: flex; align-items: center; gap: 0.55rem; color: var(--ink-650); font-size: 0.8rem; font-weight: 650; } .status-dot { width: 0.6rem; height: 0.6rem; border-radius: 50%; background: var(--amber-700); box-shadow: 0 0 0 4px var(--amber-100); } .header-status[data-state="ready"] .status-dot { background: var(--teal-700); box-shadow: 0 0 0 4px var(--teal-100); } .header-status[data-state="error"] .status-dot { background: var(--red-700); box-shadow: 0 0 0 4px var(--red-100); } .primary-nav { border-top: 1px solid rgb(197 166 108 / 22%); } .primary-nav__inner { display: flex; gap: 0.2rem; overflow-x: auto; scrollbar-width: thin; } .primary-nav a { position: relative; flex: 0 0 auto; padding: 0.9rem 1rem 0.82rem; color: var(--ink-650); font-size: 0.88rem; font-weight: 700; text-decoration: none; } .primary-nav a::after { position: absolute; right: 1rem; bottom: 0; left: 1rem; height: 3px; border-radius: 3px 3px 0 0; background: transparent; content: ""; } .primary-nav a:hover { color: var(--teal-800); background: rgb(220 239 238 / 40%); } .primary-nav a[aria-current="page"] { color: var(--teal-800); } .primary-nav a[aria-current="page"]::after { background: var(--teal-700); } main { width: 100%; min-width: 0; max-width: 100%; min-height: 65vh; } .view { min-width: 0; max-width: 100%; padding: clamp(2.5rem, 6vw, 5rem) 0 5rem; } .view[hidden] { display: none; } .page-shell--narrow { max-width: 940px; } .page-heading { min-width: 0; margin-bottom: clamp(2rem, 5vw, 3.4rem); } .page-heading > *, .dashboard-grid > *, .kpi-grid > *, .model-comparison > * { min-width: 0; } .page-heading--split { display: flex; align-items: end; justify-content: space-between; gap: 3rem; } .eyebrow { margin-bottom: 0.45rem; color: var(--teal-800); font-size: 0.73rem; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; } .lede { max-width: 70ch; margin-bottom: 0; color: var(--ink-650); font-size: clamp(1.02rem, 2vw, 1.17rem); } .data-stamp { min-width: 190px; padding: 1rem 1.1rem; border: 1px solid var(--sand-200); border-radius: var(--radius-md); background: rgb(255 255 255 / 70%); box-shadow: var(--shadow-sm); } .data-stamp span, .data-stamp strong, .data-stamp small { display: block; } .data-stamp span, .data-stamp small { color: var(--ink-650); font-size: 0.76rem; } .data-stamp strong { margin: 0.22rem 0; font-size: 1.04rem; } .scope-strip { display: flex; align-items: baseline; gap: 0.7rem 1rem; margin: -1.4rem 0 1rem; padding: 0.75rem 1rem; border: 1px solid #e9c77d; border-radius: var(--radius-sm); color: #503407; background: rgb(249 236 205 / 72%); font-size: 0.78rem; } .scope-strip strong { flex: 0 0 auto; font-size: 0.72rem; letter-spacing: 0.06em; text-transform: uppercase; } .unavailable-state { display: flex; align-items: flex-start; gap: 1rem; margin: 0 0 2rem; padding: 1.25rem; border: 1px solid #e7b7b1; border-radius: var(--radius-md); background: var(--red-100); } .unavailable-state[hidden] { display: none; } .unavailable-state h2, .unavailable-state p { margin-bottom: 0.25rem; } .unavailable-state__icon { display: grid; width: 2rem; height: 2rem; flex: 0 0 auto; place-items: center; border-radius: 50%; color: var(--white); background: var(--red-700); font-weight: 900; } .kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin-bottom: 1rem; } .kpi-card { position: relative; min-height: 155px; padding: 1.25rem; overflow: hidden; border: 1px solid var(--sand-200); border-radius: var(--radius-md); background: rgb(255 255 255 / 80%); box-shadow: var(--shadow-sm); } .kpi-card::before { position: absolute; top: 0; right: 0; left: 0; height: 4px; background: var(--sand-400); content: ""; } .kpi-card--pass::before { background: var(--teal-700); } .kpi-card--nonpass::before { background: var(--red-700); } .kpi-card__label, .kpi-card strong, .kpi-card small { display: block; } .kpi-card__label { color: var(--ink-650); font-size: 0.8rem; font-weight: 750; } .kpi-card strong { margin: 0.45rem 0 0.25rem; font-family: var(--font-display); font-size: clamp(2rem, 4vw, 2.85rem); font-weight: 500; line-height: 1; } .kpi-card small { color: var(--ink-500); font-size: 0.73rem; } .dashboard-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: 1rem 0; } .dashboard-grid--wide { grid-template-columns: minmax(0, 1.45fr) minmax(290px, 0.75fr); } .panel { min-width: 0; padding: clamp(1.15rem, 2.5vw, 1.55rem); border: 1px solid var(--sand-200); border-radius: var(--radius-lg); background: rgb(255 255 255 / 86%); box-shadow: var(--shadow-sm); } .panel--wide { grid-column: 1 / -1; } .panel__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; } .panel__header h2, .panel__header p { margin-bottom: 0; } .chart-legend { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 0.5rem 0.9rem; color: var(--ink-650); font-size: 0.7rem; } .chart-legend span { display: inline-flex; align-items: center; gap: 0.35rem; } .legend-swatch { width: 0.62rem; height: 0.62rem; border-radius: 0.18rem; background: var(--gray-300); } .legend-swatch--pass { background: var(--teal-700); } .legend-swatch--fail { background: var(--red-700); } .legend-swatch--reject { background: var(--amber-700); } .legend-swatch--abort { background: var(--purple-700); } .legend-swatch--missing { background: var(--gray-300); } .chart { min-height: 260px; } .chart--large { min-height: 330px; } .chart--scorecard { min-height: 360px; } .chart svg, .utah-map svg { display: block; width: 100%; height: auto; overflow: visible; } .chart .axis-line, .chart .grid-line { stroke: var(--gray-300); vector-effect: non-scaling-stroke; } .chart .grid-line { stroke-dasharray: 3 4; opacity: 0.7; } .chart .axis-label { fill: var(--ink-650); font-family: var(--font-sans); font-size: 11px; } .chart .chart-line { fill: none; stroke: var(--red-700); stroke-linecap: round; stroke-linejoin: round; stroke-width: 3; vector-effect: non-scaling-stroke; } .chart .chart-dot { fill: var(--paper); stroke: var(--red-700); stroke-width: 2.5; vector-effect: non-scaling-stroke; } .chart .confidence-line { stroke: var(--ink-500); stroke-width: 1.5; vector-effect: non-scaling-stroke; } .chart .reference-line { stroke: var(--ink-500); stroke-dasharray: 6 4; vector-effect: non-scaling-stroke; } .chart-note { margin: 0.7rem 0 0; color: var(--ink-650); font-size: 0.75rem; } .chart-empty { display: grid; min-height: 240px; place-items: center; border: 1px dashed var(--gray-300); border-radius: var(--radius-md); color: var(--ink-650); background: var(--gray-100); text-align: center; } .utah-map { max-width: 250px; margin: 0 auto 1rem; } .utah-map .axis-label, .utah-map .state-label { fill: var(--ink-650); font-family: var(--font-sans); } .utah-map .axis-label { font-size: 11px; } .utah-map .state-label { font-size: 12px; font-weight: 700; letter-spacing: 0.16em; } .county-list { display: flex; flex-wrap: wrap; gap: 0.35rem; } .county-chip { padding: 0.28rem 0.5rem; border: 1px solid var(--gray-300); border-radius: 999px; color: var(--ink-500); background: var(--gray-100); font-size: 0.65rem; } .county-chip[data-covered="true"] { border-color: #9bc9c6; color: var(--teal-800); background: var(--teal-100); font-weight: 700; } .callout { display: flex; align-items: flex-start; gap: 0.8rem; margin-top: 1rem; padding: 1rem 1.15rem; border-left: 4px solid var(--teal-700); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; background: var(--teal-100); } .callout p { margin: 0; font-size: 0.86rem; } .callout__icon { display: grid; width: 1.4rem; height: 1.4rem; flex: 0 0 auto; place-items: center; border-radius: 50%; color: var(--white); background: var(--teal-800); font-size: 0.75rem; font-weight: 800; } .explorer-layout { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 1.25rem; align-items: start; } .explorer-results { min-width: 0; } .filter-panel { position: sticky; top: 155px; padding: 1.2rem; border: 1px solid var(--sand-200); border-radius: var(--radius-lg); background: var(--paper-warm); } .filter-panel__heading, .result-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; } .filter-panel__heading h2 { margin: 0; } .filter-panel__note { margin: 1rem 0 0; padding-top: 1rem; border-top: 1px solid var(--sand-200); color: var(--ink-650); font-size: 0.75rem; } .text-button { padding: 0.2rem; border: 0; color: var(--teal-800); background: transparent; font-size: 0.75rem; font-weight: 750; text-decoration: underline; text-underline-offset: 0.18em; } .field { display: grid; gap: 0.35rem; margin-top: 0.9rem; } .field > span, .segmented-control legend { color: var(--ink-650); font-size: 0.73rem; font-weight: 750; } .field input, .field select { width: 100%; min-height: 42px; padding: 0.58rem 0.68rem; border: 1px solid var(--gray-300); border-radius: var(--radius-sm); color: var(--ink-950); background: var(--white); font-size: 0.83rem; } .field input:disabled, .field select:disabled, fieldset:disabled .field input, fieldset:disabled .field select { color: var(--ink-500); background: var(--gray-100); } .field--inline { display: flex; align-items: center; gap: 0.5rem; margin: 0; } .field--inline select { width: auto; } .segmented-control { display: grid; grid-template-columns: 1fr 1fr; gap: 0.3rem; margin: 1rem 0 0; padding: 0; border: 0; } .segmented-control legend { grid-column: 1 / -1; margin-bottom: 0.35rem; } .segmented-control label { position: relative; } .segmented-control input { position: absolute; opacity: 0; } .segmented-control span { display: block; padding: 0.48rem 0.4rem; border: 1px solid var(--gray-300); border-radius: var(--radius-sm); color: var(--ink-650); background: var(--white); font-size: 0.7rem; font-weight: 750; text-align: center; } .segmented-control input:checked + span { border-color: var(--teal-700); color: var(--teal-800); background: var(--teal-100); } .segmented-control input:focus-visible + span { outline: 3px solid var(--amber-700); outline-offset: 2px; } .result-toolbar { min-height: 48px; margin-bottom: 0.75rem; } .result-toolbar p { margin: 0; color: var(--ink-650); font-size: 0.83rem; } .cohort-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.75rem; margin-top: 0.75rem; } .cohort-card { padding: 1rem; border: 1px solid var(--sand-200); border-radius: var(--radius-md); background: var(--white); } .cohort-card h3 { margin-bottom: 0.2rem; font-size: 0.95rem; } .cohort-card__meta { color: var(--ink-500); font-size: 0.7rem; } .risk-bar { height: 0.52rem; margin: 0.85rem 0 0.45rem; overflow: hidden; border-radius: 999px; background: var(--gray-100); } .risk-bar span { display: block; height: 100%; border-radius: inherit; background: var(--red-700); } .cohort-card__value { display: flex; align-items: baseline; justify-content: space-between; gap: 0.5rem; } .cohort-card__value strong { font-family: var(--font-display); font-size: 1.5rem; font-weight: 500; } .cohort-card__value small { color: var(--ink-500); } .empty-results { padding: 2.5rem 1rem; color: var(--ink-650); text-align: center; } .model-comparison { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; } .model-card { position: relative; padding: clamp(1.25rem, 3vw, 1.7rem); overflow: hidden; border: 1px solid var(--sand-200); border-radius: var(--radius-lg); background: rgb(255 255 255 / 86%); box-shadow: var(--shadow-sm); } .model-card::before { position: absolute; top: 0; right: 0; left: 0; height: 4px; background: var(--sand-400); content: ""; } .model-card--final { border-color: #9bc9c6; background: linear-gradient(145deg, rgb(220 239 238 / 58%), rgb(255 255 255 / 92%)); box-shadow: var(--shadow-md); } .model-card--final::before { background: var(--teal-700); } .model-card__topline { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; margin-bottom: 1.2rem; color: var(--ink-500); font-size: 0.68rem; } .decision-badge { padding: 0.25rem 0.55rem; border: 1px solid var(--sand-400); border-radius: 999px; color: #6a4c18; background: var(--amber-100); font-size: 0.64rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; } .decision-badge--final { border-color: #83bbb7; color: var(--teal-800); background: var(--teal-100); } .model-card > p { min-height: 5.1em; margin-bottom: 1.2rem; color: var(--ink-650); font-size: 0.82rem; } .metric-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.5rem; margin: 0; } .metric-list div { padding: 0.72rem; border-radius: var(--radius-sm); background: rgb(237 240 237 / 78%); } .metric-list dt { color: var(--ink-500); font-size: 0.62rem; font-weight: 700; } .metric-list dd { margin: 0.18rem 0 0; font-family: var(--font-display); font-size: 1.35rem; } .publication-boundary { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 2rem; align-items: start; margin-top: 1rem; padding: clamp(1.4rem, 3vw, 1.9rem); border-radius: var(--radius-lg); color: var(--white); background: var(--ink-950); } .publication-boundary p:last-child { margin: 0; color: #cad7d5; font-size: 0.82rem; } .publication-boundary .eyebrow { color: #9bd4d1; } .locked-panel { display: flex; gap: 1.2rem; margin-bottom: 1.25rem; padding: clamp(1.25rem, 3vw, 1.8rem); border: 1px solid var(--sand-400); border-radius: var(--radius-lg); background: var(--amber-100); } .locked-panel p:last-child { margin-bottom: 0; } .locked-panel__icon { display: grid; width: 3rem; height: 3rem; flex: 0 0 auto; place-items: center; border: 2px solid var(--amber-700); border-radius: 50%; color: var(--amber-700); font-size: 1.4rem; } .estimator-form { padding: clamp(1.2rem, 3vw, 1.7rem); border: 1px solid var(--gray-300); border-radius: var(--radius-lg); background: var(--white); opacity: 0.72; } .estimator-form fieldset { padding: 0; border: 0; } .estimator-form legend { margin-bottom: 0.2rem; font-size: 1.05rem; font-weight: 750; } .form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1rem; } .button { margin-top: 1.2rem; padding: 0.72rem 1rem; border: 0; border-radius: var(--radius-sm); color: var(--white); background: var(--teal-800); font-weight: 750; } .form-note { margin: 0.65rem 0 2rem; color: var(--ink-650); font-size: 0.78rem; } .method-preview { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; align-items: start; padding: 1.5rem; border-radius: var(--radius-lg); color: var(--white); background: var(--ink-950); } .method-preview .eyebrow { color: #9bd4d1; } .check-list, .limitation-list { margin: 0; padding: 0; list-style: none; } .check-list li, .limitation-list li { position: relative; padding: 0.48rem 0 0.48rem 1.5rem; } .check-list li::before, .limitation-list li::before { position: absolute; left: 0; content: "✓"; color: #9bd4d1; font-weight: 800; } .method-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-bottom: 1rem; } .method-card { padding: 1.25rem; border: 1px solid var(--sand-200); border-radius: var(--radius-md); background: var(--paper-warm); } .method-card__number { display: block; margin-bottom: 1.2rem; color: var(--sand-400); font-family: var(--font-display); font-size: 1.6rem; } .method-card p { margin: 0; color: var(--ink-650); font-size: 0.83rem; } .heatmap { min-height: 210px; overflow-x: auto; } .heatmap-grid { display: grid; gap: 0.3rem; min-width: 650px; } .heatmap-label { align-self: center; color: var(--ink-650); font-size: 0.68rem; font-weight: 700; } .heatmap-cell { min-height: 30px; border: 1px solid rgb(21 94 96 / 12%); border-radius: 0.25rem; background: var(--gray-100); } .split-section { display: grid; grid-template-columns: minmax(220px, 0.55fr) minmax(0, 1.45fr); gap: 2rem; align-items: center; margin: 1rem 0; padding: clamp(1.3rem, 3vw, 2rem); border-radius: var(--radius-lg); background: var(--paper-warm); } .split-section__copy p:last-child { margin: 0; color: var(--ink-650); font-size: 0.84rem; } .timeline { display: grid; grid-template-columns: repeat(6, minmax(95px, 1fr)); margin: 0; padding: 0; overflow-x: auto; list-style: none; } .timeline li { position: relative; min-width: 95px; padding: 1.2rem 0.5rem 0; border-top: 3px solid var(--teal-700); } .timeline li::before { position: absolute; top: -7px; left: 0; width: 11px; height: 11px; border: 2px solid var(--paper-warm); border-radius: 50%; background: var(--teal-700); box-shadow: 0 0 0 1px var(--teal-700); content: ""; } .timeline__holdout { border-color: var(--purple-700) !important; } .timeline__holdout::before { background: var(--purple-700) !important; box-shadow: 0 0 0 1px var(--purple-700) !important; } .timeline span, .timeline strong, .timeline small { display: block; } .timeline span { color: var(--ink-500); font-size: 0.65rem; } .timeline strong { margin: 0.1rem 0; font-size: 0.75rem; } .timeline small { color: var(--ink-500); font-size: 0.58rem; line-height: 1.3; } .diagnostic-kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.5rem; margin-bottom: 1rem; } .diagnostic-kpis > div { padding: 0.8rem; border-radius: var(--radius-sm); background: var(--gray-100); } .diagnostic-kpis span, .diagnostic-kpis strong { display: block; } .diagnostic-kpis span { color: var(--ink-500); font-size: 0.65rem; } .diagnostic-kpis strong { margin-top: 0.2rem; font-family: var(--font-display); font-size: 1.45rem; font-weight: 500; } .limitation-list li { border-bottom: 1px solid var(--gray-100); color: var(--ink-650); font-size: 0.82rem; } .limitation-list li::before { content: "—"; color: var(--amber-700); } .privacy-panel { display: grid; grid-template-columns: 0.7fr 1.3fr; gap: 1.5rem 2.5rem; align-items: center; margin-top: 1rem; padding: clamp(1.3rem, 3vw, 2rem); border-radius: var(--radius-lg); color: var(--white); background: var(--ink-950); } .privacy-panel .eyebrow { color: #9bd4d1; } .privacy-panel > p { grid-column: 1 / -1; margin: 0; color: #cad7d5; font-size: 0.78rem; } .privacy-flow { display: flex; align-items: center; justify-content: space-between; gap: 0.6rem; text-align: center; } .privacy-flow span { padding: 0.7rem; border: 1px solid #536c69; border-radius: var(--radius-sm); font-size: 0.75rem; } .privacy-flow small { color: #b6c5c3; font-size: 0.6rem; } .privacy-flow__private { border-color: #c7867d !important; } .privacy-flow__public { border-color: #72aaa6 !important; } .site-footer { border-top: 1px solid var(--sand-200); background: var(--paper-warm); } .site-footer__inner { display: flex; align-items: center; justify-content: space-between; gap: 2rem; min-height: 125px; color: var(--ink-650); font-size: 0.76rem; } .site-footer strong { color: var(--ink-950); font-family: var(--font-display); font-size: 1rem; } .site-footer p { max-width: 62ch; margin: 0.25rem 0 0; } .noscript { position: fixed; z-index: 100; right: 1rem; bottom: 1rem; left: 1rem; padding: 1rem; border: 2px solid var(--red-700); border-radius: var(--radius-sm); background: var(--red-100); text-align: center; } @media (max-width: 900px) { .kpi-grid, .method-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .dashboard-grid--wide, .explorer-layout, .split-section, .model-comparison, .publication-boundary, .privacy-panel { grid-template-columns: 1fr; } .filter-panel { position: static; } .cohort-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } .privacy-panel > p { grid-column: auto; } } @media (max-width: 660px) { .preview-banner { align-items: flex-start; justify-content: flex-start; text-align: left; } .preview-banner__icon { flex: 0 0 auto; } .site-header__inner { min-height: 68px; } .page-shell { width: auto; max-width: calc(100% - 2rem); margin-inline: 1rem; } .header-status, .brand__tagline { display: none; } .brand__mark { width: 37px; height: 37px; } .brand__name { font-size: 1.05rem; } .primary-nav a { padding-inline: 0.75rem; } .page-heading--split { display: block; } .scope-strip { align-items: flex-start; flex-direction: column; } .lede, .data-stamp, .scope-strip, .kpi-card, .model-card, .panel { max-width: 100%; overflow-wrap: anywhere; } .data-stamp { width: 100%; margin-top: 1.3rem; } .kpi-grid, .dashboard-grid, .method-grid, .cohort-cards, .form-grid, .method-preview, .metric-list { grid-template-columns: 1fr; } .model-card > p { min-height: 0; } .kpi-card { min-height: 130px; } .panel__header, .result-toolbar, .site-footer__inner { align-items: flex-start; flex-direction: column; } .chart-legend { justify-content: flex-start; } .chart--scorecard { overflow-x: auto; overscroll-behavior-inline: contain; } .chart--scorecard svg { min-width: 720px; } .locked-panel { display: block; } .locked-panel__icon { margin-bottom: 1rem; } .privacy-flow { align-items: stretch; flex-direction: column; } .diagnostic-kpis { grid-template-columns: 1fr; } } @media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; } } @media (forced-colors: active) { .status-dot, .legend-swatch, .risk-bar span, .timeline li::before { forced-color-adjust: none; } }