/* Priorities 1–2: a shared catalogue/profile/comparison visual foundation. */
.hero{padding:36px 0 30px}.hero h1{font-size:clamp(38px,4vw,56px)}
.active-filters{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 8px;align-items:center}
.active-filters>button{display:inline-flex;gap:8px;align-items:center;border:1px solid var(--line);border-radius:6px;background:var(--raised);padding:7px 10px;min-height:40px;color:var(--ink);font-size:12px;max-width:100%;text-align:left}
.active-filters>button span{overflow-wrap:anywhere;min-width:0}.active-filters .icon{width:16px;height:16px}
.active-filters>.clear-filters{background:transparent;color:var(--accent);border-color:transparent}
body[data-section=compare] .page-heading{padding-top:32px;padding-bottom:8px}
body[data-section=compare] .page-heading h1{font-size:clamp(32px,3.4vw,46px)}
body[data-section=compare] .choice-strip{margin-bottom:20px}
body[data-section=compare] .decision-summary{margin:18px 0 22px}
body[data-section=compare] .decision-summary .summary-lead{font-size:clamp(20px,2vw,26px);line-height:1.45}
.profile-sections{display:flex;gap:28px;border-bottom:1px solid var(--line);margin:0 0 26px;overflow:auto}
.profile-sections a{display:flex;align-items:center;gap:8px;min-height:48px;font-size:14px;white-space:nowrap;color:var(--muted)}
.profile-sections a:first-child{color:var(--ink)}.profile-sections a:hover{color:var(--accent)}
.profile-sections span{font-size:12px;border-radius:4px;background:var(--raised);padding:1px 6px}
#overview,#evidence,#research-note{scroll-margin-top:105px}
@media(max-width:700px){.hero{padding:28px 0 24px}.hero h1{font-size:38px;line-height:1.13}.active-filters{gap:6px}.active-filters>button{font-size:12px;min-height:42px}.profile-sections{gap:22px;margin-bottom:20px}.profile-sections a{font-size:13px}.profile-sections span{font-size:11px}body[data-section=compare] .page-heading{padding-top:28px}#overview,#evidence,#research-note{scroll-margin-top:132px}}
@media print{.active-filters,.profile-sections{display:none}}

/* A–Z polish: tray overflow, stale sources, value-plot legend, provisional boards, dialog a11y */
.tray-chip{min-width:0}.tray-chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:14ch}
.source-stale{color:var(--caution,#b45309);display:block}
.provisional-notice{border:1px solid var(--line);background:var(--raised,var(--panel));border-radius:10px;padding:14px 16px;margin:0 0 20px}
.provisional-notice a{display:inline-flex;align-items:center;gap:6px}
.plot-legend{display:flex;flex-wrap:wrap;gap:14px 22px;list-style:none;margin:12px 0 0;padding:0;font-size:12px;color:var(--muted)}
.plot-legend li{display:flex;align-items:center;gap:8px}
.plot-swatch{width:10px;height:10px;border-radius:50%;background:var(--accent);opacity:.45;display:inline-block}
.plot-swatch.frontier{opacity:1;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}
.method-cite blockquote{margin:12px 0;padding-left:16px;border-left:3px solid var(--accent)}
.site-footer nav{display:flex;flex-wrap:wrap;gap:12px 18px}
dialog::backdrop{background:rgba(8,10,16,.62)}
@media(max-width:700px){
  .tray-inner{flex-wrap:wrap;padding:12px 18px;gap:12px}
  .tray-actions{width:100%;justify-content:stretch}
  .tray-actions .button,.tray-actions a.button{flex:1}
  .tray-chip-name{max-width:18ch}
}
