/* Shared finishing layer: preserve terminal branding and contain local scrollers. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
img{max-width:100%}
.shell,.layout,.layout>*,.grid>*,.earnings-dashboard>*,.ip-grid>*,.ip-chart-row>*{min-width:0}
.research-card,.funding-card,.takeaway,.note,.ip-explain,.outcome,.about-kicker{overflow-wrap:break-word}
input,select,button{max-width:100%}
select{color-scheme:dark}
button,a,input,select,summary{-webkit-tap-highlight-color:rgba(59,224,165,.18)}
summary:focus-visible{outline:2px solid #3be0a5;outline-offset:4px}
.research-card:focus-visible{outline:2px solid #3be0a5;outline-offset:4px}
.table-wrap,.context-table-wrap,.contents,.chapter-nav,.metrics,.index-tabs,.phone-tabs{overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:#405965 transparent}
.ip-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
.ip-slice-popup{max-width:calc(100vw - 48px);white-space:normal;text-align:center;line-height:1.5}
.ip-row span{min-width:0}
.earnings-context .context-table-wrap{max-width:100%}
@media(min-width:761px) and (max-width:1100px){
  .top nav{gap:14px;font-size:.75rem;min-width:0;overflow-x:auto;white-space:nowrap}
  .top .status{display:none}
  .top .brand{flex-shrink:0}
  .ip-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
  .ip-chart-row{grid-template-columns:minmax(130px,.8fr) minmax(0,1fr);gap:12px}
}
@media(max-width:760px){
  .top nav{flex-basis:100%;width:100%;max-width:100%;margin:0;padding-inline:0;scrollbar-width:none}
  .top nav a{min-height:46px;padding-inline:12px}
  .top nav::-webkit-scrollbar{display:none}
  .shell{padding-inline:max(18px,env(safe-area-inset-left));}
  .section-head h2{text-wrap:balance}
  .phone-tabs button{flex:1 0 auto}
  .search-wrap{display:flex;gap:8px}
  .search-wrap input{flex:1;min-width:0;width:0}
  .search-wrap button{flex-shrink:0;min-height:44px}
  .terminal-body{overscroll-behavior-inline:contain}
  .chart-legend{line-height:1.6}
  .event-switch{min-width:0}
  .event-switch strong{overflow-wrap:break-word;line-height:1.4}
  .article-byline{line-height:1.7!important}
  .article-cta{max-width:100%;white-space:normal;line-height:1.5!important}
  .about-strip,.profile-tags{flex-wrap:wrap}
  .top .back{flex-shrink:0}
  .ip-fields input[type=number],.ip-fields select,.context-benchmarks select{font-size:16px;min-height:44px}
  .ip-fields label{line-height:1.5}
  .ip-row{min-height:44px}
  .earnings-dashboard .context-tabs button{min-height:44px}
  .earnings-dashboard .lab-control output{font-size:1.15rem!important}
  .context-benchmarks select{min-width:0;max-width:100%}
}
@media(max-width:420px){
  .ip-chart-row{grid-template-columns:125px minmax(0,1fr);gap:10px}
  .ip-center strong{font-size:1rem}
  .ip-row{font-size:.75rem;gap:6px;grid-template-columns:8px minmax(0,1fr) auto}
  .ip-row b{font-size:.85rem}
  .ip-row small{font-size:.7rem}
  .ip-presets button{flex:1 0 auto;min-height:40px}
  .ip-panel{padding:12px}
  .presets{gap:5px}
  .earnings-lab .presets button{font-size:12px;padding-inline:4px}
  .hero h1{overflow-wrap:break-word}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .research-card,#ip-pie path,.ip-slice-popup{transition:none!important}
}

/* November finish: quiet hierarchy, readable figures, and consistent gutters. */
body{font-variant-numeric:lining-nums}
main#top>.hero.shell{padding-inline:28px;gap:28px}
main#top .hero h1{text-wrap:balance;max-width:none}
main#top .hero p{max-width:66ch;color:#bdcbd4}
main#top .site-guide a{border-radius:3px;transition:background .18s,border-color .18s}
main#top .site-guide b{font-size:13px}
main#top .site-guide .guide-research b{font-size:15px}
main#top .brief{border-color:#314552;box-shadow:0 14px 35px #0003}
main#top .profile-role{line-height:1.65;color:#afc2cf}
main#top .metric{border-radius:4px;background:linear-gradient(140deg,#0d1821,#091018)}
main#top .metric .v{font-size:clamp(1.65rem,2.2vw,2rem);font-variant-numeric:tabular-nums;letter-spacing:-.04em}
main#top .metric .k{color:#b3c4ce;font-size:11px}
main#top .metric .sub{line-height:1.5;color:#9cafbd}
main#top .terminal,main#top .forecast-chart,main#top .forecast-controls{border-radius:5px}
main#top .terminal-head,main#top .forecast-head{border-radius:4px 4px 0 0}
main#top .section-head p{line-height:1.6}
main#top .library-card{border-color:#334855}
main#top .homepage-notes .library-art{height:160px}
.library-meta,.article-byline{font-variant-numeric:tabular-nums}
.library-read{display:inline-flex;gap:10px;padding:8px 0;letter-spacing:.03em}
.library-copy .library-read{color:#80edc9}
input[type=range]{cursor:pointer}
@media(min-width:761px){
  main#top .hero h1{font-size:clamp(2.6rem,4.4vw,4.5rem);line-height:1.02}
  main#top .site-guide{gap:8px 20px}
  main#top .metric .sub{font-size:12px}
  main#top .profile-role{font-size:11px}
  main#top .profile-cell strong{font-size:13px}
}
@media(max-width:760px){
  main#top>.hero.shell{padding-inline:18px;gap:18px}
  main#top .hero h1{max-width:20ch;font-size:clamp(2.15rem,8.5vw,3rem);line-height:1.05}
  main#top .site-guide b{font-size:12px}
  main#top .site-guide span{line-height:1.5;color:#b4c5d0}
  main#top .hero .brief{margin:0}
  main#top .hero .profile-top{display:grid;grid-template-columns:1fr 1.45fr;gap:4px 12px;padding:15px}
  main#top .hero .profile-monogram{display:none}
  main#top .hero .profile-top .label{grid-column:1;grid-row:1;font-size:10px;line-height:1.5}
  main#top .hero .profile-name{grid-column:1;grid-row:2;font-size:20px;margin:0}
  main#top .hero .profile-role{grid-column:2;grid-row:1/3;margin:0;align-self:center;font-size:9px;line-height:1.65}
  main#top .hero .profile-cell{padding:10px 14px}
  main#top .hero .profile-cell strong{font-size:12px}
  main#top .hero .profile-cell span{font-size:9px}
  main#top .hero .profile-tags{padding:10px 14px}
  main#top .metric{flex-basis:156px}
  main#top .metric .v{font-size:1.7rem}
  main#top .metrics{padding-bottom:9px}
  main#top .phone-tabs{border-bottom:1px solid #263c48;padding-bottom:8px}
  main#top .phone-tabs button{border-radius:4px}
  main#top .homepage-notes .library-art{height:100%;min-height:190px}
  main#top .homepage-notes .library-card h3{font-size:19px!important;line-height:1.25}
  main#top .homepage-notes .library-copy{padding:15px}
  main#top .homepage-notes .library-card p{line-height:1.5!important}
  main#top .research-gateway{border-left:3px solid #3be0a5}
  main#top .terminal-head{line-height:1.5}
  .top .brand{white-space:nowrap}
  .library-heading h1{text-wrap:balance}
}
@media(prefers-reduced-motion:reduce){
  .ticker-inner{animation:none!important}
  .ticker{overflow-x:auto}
  main#top .site-guide a{transition:none}
}
