/* 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 */
.compare-tray .tray-selected{display:flex;flex-wrap:wrap;overflow:visible;align-items:center;min-width:0}
.compare-tray .tray-chip{display:flex;align-items:center;min-width:min(100%,7.5rem);max-width:100%;flex:0 1 auto}
.tray-chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;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)}
.method-board{border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin:12px 0}
.method-board h4{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 8px}
.method-board .peer-evidence{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0 0}
.method-board .peer-evidence span{border:1px solid var(--line);border-radius:999px;padding:2px 8px;font-size:.85rem}
.site-footer nav{display:flex;flex-wrap:wrap;gap:12px 18px}
dialog::backdrop{background:rgba(8,10,16,.62)}
@media(max-width:960px){
  .compare-tray .tray-selected{flex-wrap:wrap;overflow:visible}
  .compare-tray .tray-chip,.compare-tray .tray-chip:nth-of-type(n){display:flex}
}
@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}
  .compare-tray .tray-chip,.compare-tray .tray-chip:nth-of-type(n){display:flex;max-width:calc(50% - 6px)}
  .tray-chip-name{max-width:12ch}
  .has-tray .site-footer{padding-bottom:220px}
  #toast{bottom:220px}
}

/* Editorial guides reuse Explore chrome; peer groups stay labelled, not ranked. */
.guide-cohort{margin:8px 0 36px}
.guide-cohort>.section-heading{margin-bottom:4px}
.guide-cohort>p{max-width:72ch;margin:0 0 8px}
.guide-entry{display:grid;grid-template-columns:minmax(180px,1.1fr) minmax(0,1.6fr) auto;gap:20px;align-items:center;padding:18px 0;border-top:1px solid var(--line)}
.guide-copy p{margin:0 0 10px;font-size:14px;line-height:1.7}
.guide-actions{display:flex;flex-wrap:wrap;gap:8px 18px}
.guide-actions a{color:var(--accent);font-size:14px;font-weight:600;min-height:44px;display:inline-flex;align-items:center;gap:6px}
.guide-status{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);white-space:nowrap}
.guide-tldr{border-left:3px solid var(--accent);max-width:850px}
.guide-tldr .eyebrow{margin-bottom:10px}
.guide-tldr p{max-width:72ch;margin:0}
.guide-faq details{border-top:1px solid var(--line);padding-top:4px}
.guide-faq details:first-of-type{border-top:0}
.guide-faq details p{margin:0 0 16px;max-width:72ch}
.guide-table{min-width:720px}
.guide-table caption{caption-side:bottom;text-align:left;padding:12px 20px;color:var(--muted);font-size:12px}
.guide-table th a{color:var(--accent)}
.guide-table-scroll{margin:16px 0 8px;max-height:none}
.guide-split{padding:8px 0 12px;border-top:1px solid var(--line)}
.guide-links{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center}
@media(max-width:700px){
  .guide-entry{grid-template-columns:minmax(0,1fr) auto;gap:12px 16px;padding:16px 0}
  .guide-copy{grid-column:1/-1}
  .guide-status{align-self:start}
  .guide-table{min-width:560px}
  .guide-table td,.guide-table th{font-size:12px;padding:12px}
}

/* Free submit/claim listing queue — editorial, not live catalogue. */
.listing-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:28px;align-items:start;margin-top:8px}
.listing-status-list{list-style:none;padding:0;margin:12px 0 0}
.listing-status-list li{padding:10px 0;border-top:1px solid var(--line);font-size:14px;line-height:1.7}
.listing-status-list strong{display:inline-block;min-width:9.5rem}
#listing-receipt{margin-top:16px}
@media(max-width:900px){.listing-layout{grid-template-columns:1fr}}
