/* Homepage and report catalog. Report chart styles stay inside each report. */
.hub-page{margin:0;line-height:1.75}
.hub-page *{box-sizing:border-box}
.hub{max-width:1100px;margin:auto;padding:0 36px 32px}
.hub a{color:inherit}
.eyebrow{font:12px/1.5 var(--s-mono);letter-spacing:.12em;color:var(--s-accent)}
.hero{padding:84px 0 56px;border-bottom:1px solid var(--s-line)}
.hero h1{font-size:clamp(36px,5.6vw,62px);margin:22px 0 26px;line-height:1.25}
.hero h1 em{font-style:normal;color:var(--s-accent)}
.lede{max-width:660px;font-size:18px;line-height:1.9;color:#474b52;margin:0}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:26px;margin:28px 0 22px}
.hero-actions .button{background:var(--s-ink);color:var(--s-card);padding:12px 22px;border-radius:5px;text-decoration:none;font-size:15px}
.hero-actions .button span{padding-left:24px}
.text-link{font-size:14px;text-underline-offset:5px}
.boundary{font-size:13px;color:var(--s-muted);margin:0}
.reading-path,.topics{padding:48px 0 20px;scroll-margin-top:76px}
.section-heading{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:26px}
.section-heading h2,.method-note h2,.method-section h2{font-size:28px;line-height:1.45;margin:8px 0 0}
.section-heading>p{font-size:13px;color:var(--s-muted);margin:0 0 4px}
.path-list,.report-list{padding:0;margin:0;list-style:none}
.path-list li{scroll-margin-top:76px}
.path-row{display:grid;grid-template-columns:54px 1fr 24px;gap:22px;padding:24px 16px;border-top:1px solid var(--s-line);text-decoration:none;transition:background .15s}
.path-list li:last-child .path-row{border-bottom:1px solid var(--s-line)}
.path-row:hover,.report-list a:hover{background:var(--s-card)}
.step{font:28px/1.2 var(--s-serif);color:var(--s-accent);padding-top:4px}
.path-row .eyebrow{color:var(--s-muted);font-size:11px}
.path-row h3{font:700 23px/1.45 var(--s-serif);margin:4px 0 8px}
.path-row p{font-size:14px;line-height:1.8;color:#555861;margin:0;max-width:740px}
.arrow{align-self:center;font-size:23px;color:var(--s-accent)}
.topic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.topic-card{padding:24px;background:var(--s-card);border:1px solid var(--s-line);border-top:3px solid var(--topic);border-radius:7px;text-decoration:none}
.topic-card:hover{border-color:var(--topic)}
.topic-card .eyebrow{color:var(--topic);font-size:11px}
.topic-card h3{font:700 21px/1.5 var(--s-serif);margin:9px 0 10px}
.topic-card h3 span{float:right;color:var(--topic)}
.topic-card p{font-size:14px;line-height:1.8;color:#555861;margin:0}
.method-note{display:grid;grid-template-columns:1fr 1.5fr;gap:40px;border-top:1px solid var(--s-line);margin-top:44px;padding:36px 0;font-size:14px;scroll-margin-top:76px}
.method-note p{margin:0 0 12px;color:#555861}
.method-note a{color:var(--s-accent)}
.hub-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;border-top:1px solid var(--s-line);padding:24px 0 0;color:var(--s-muted);font-size:12px}
.legacy-anchor{scroll-margin-top:76px}
.catalog-header{padding:64px 0 36px;border-bottom:1px solid var(--s-line)}
.catalog-header h1{font-size:clamp(30px,4.5vw,46px);line-height:1.35;margin:16px 0 22px}
.group-links{display:flex;flex-wrap:wrap;gap:12px 24px;font-size:14px;margin-top:26px}
.group-links a{color:var(--s-accent)}
.catalog-group{padding:42px 0 10px;scroll-margin-top:76px;display:grid;grid-template-columns:220px 1fr;gap:30px}
.group-heading{border-top:3px solid var(--topic);padding-top:14px}
.group-heading h2{font-size:23px;margin:0 0 10px}
.group-heading p{font-size:13px;line-height:1.85;color:var(--s-muted);margin:0}
.report-list a{display:grid;grid-template-columns:110px 1fr 18px;gap:14px;padding:18px 8px;border-bottom:1px solid var(--s-line);text-decoration:none}
.report-list li:first-child a{border-top:1px solid var(--s-line)}
.report-id{font:11px/1.8 var(--s-mono);color:var(--s-muted);padding-top:3px;overflow-wrap:anywhere}
.report-list h3{font:700 18px/1.5 var(--s-serif);margin:0 0 5px}
.report-list p{font-size:13px;color:#555861;margin:0}
.report-list .arrow{font-size:18px;color:var(--topic)}
.overview{border:1px solid var(--s-line);border-radius:6px;margin-top:44px;background:var(--s-card)}
.overview summary{padding:20px 24px;cursor:pointer;font-size:16px;font-weight:650}
.overview-note{font-size:13px;color:var(--s-muted);margin:0;padding:0 24px 10px}
.figs{display:grid;grid-template-columns:1fr;gap:24px;padding:0 24px 24px}
.fig{min-width:0;overflow-x:auto}
.fig h3{font:700 20px/1.5 var(--s-serif);margin:16px 0 4px}
.fig svg{width:100%;height:auto;display:block;margin-top:14px}
.fig:first-child svg{max-width:660px;margin-left:auto;margin-right:auto}
.fig .cap{font-size:13px;color:var(--s-muted);line-height:1.8;margin:8px 0}
.fig .ax{font-size:12px;fill:#6a6862}.fig .lb{font-size:13px;font-weight:600}
.fig .arm{font-size:15px;fill:#1d2433}.fig .val{font-size:14px;fill:#1d2433;font-weight:600}.fig .buy{fill:#6a6862;font-size:13px}
.fig a:hover rect{opacity:1}
.method-section{padding:48px 0 30px;scroll-margin-top:76px}
.method-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px 36px;margin:28px 0}
.method-grid dt{font-weight:650;margin-bottom:8px;font-size:15px}
.method-grid dd{margin:0;color:#555861;font-size:14px;line-height:1.85}
.source-note{font-size:13px;color:var(--s-muted)}
.skip-link{position:absolute;top:8px;left:16px;z-index:100;background:var(--s-ink);color:white;padding:8px 14px;transform:translateY(-150%)}
.skip-link:focus{transform:translateY(0)}
@media(max-width:760px){
  .hub{padding:0 20px 24px}.hero{padding:46px 0 36px}.lede{font-size:16px}
  .hero-actions{gap:18px}.section-heading{display:block}.section-heading>p{margin-top:12px}
  .path-row{grid-template-columns:32px 1fr 18px;gap:12px;padding:22px 0}.path-row h3{font-size:21px}.step{font-size:23px}
  .topic-grid,.method-note,.method-grid{grid-template-columns:1fr}.method-note{gap:18px}.topic-card{padding:20px}
  .catalog-header{padding:40px 0 28px}.catalog-group{grid-template-columns:1fr;gap:18px}
  .report-list a{grid-template-columns:1fr 18px;gap:4px 10px;padding:16px 0}.report-id{grid-column:1}.report-list a>div{grid-column:1}.report-list .arrow{grid-column:2;grid-row:1/3}
  .figs{padding:0 14px 18px}.fig svg{min-width:600px}.overview summary{padding:18px 14px}.overview-note{padding:0 14px 10px}
}
