:root{
  --research-card-bg:#fff8ea;
}
.research-module-grid{
  grid-template-columns:repeat(3,minmax(280px,1fr));
}
.research-module-card .chart-preview{
  height:190px;
  background:#fff8ea;
}
.chart-preview.actual-chart svg{
  width:100%;
  height:100%;
}
.chart-preview.actual-chart .research-chart-axis-label,
.chart-preview.actual-chart .research-chart-value-label{
  font-size:15px;
}
.chart-preview.actual-chart .research-chart-axis-title{display:none}
.chart-preview.actual-chart .research-chart-grid{opacity:.7}
.chart-preview.actual-chart .research-chart-axis{opacity:.8}
.research-detail-hero{
  padding:34px 0 24px;
  background:var(--paper);
}
.breadcrumbs{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  margin-bottom:22px;
  color:var(--ink-soft);
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:.86rem;
}
.breadcrumbs a{
  color:var(--denim);
  text-decoration:none;
  font-weight:750;
}
.breadcrumbs a:hover{color:var(--clay)}
.research-detail-hero h1{
  max-width:940px;
  color:var(--denim);
  font-family:"Fraunces", Georgia, serif;
  font-size:clamp(3rem,7vw,6.2rem);
  line-height:.94;
  letter-spacing:0;
}
.research-detail-hero .lede{
  max-width:760px;
  margin-top:18px;
  color:var(--ink-soft);
}
.research-detail-main{
  padding:24px 0 76px;
  background:var(--paper);
}
.research-detail-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 280px;
  gap:28px;
  align-items:start;
}
.research-detail-article{
  min-width:0;
}
.research-chart-stack{
  display:grid;
  gap:20px;
}
.research-chart{
  padding:20px;
  border-radius:8px;
  background:#fff8ea;
  box-shadow:var(--shadow-border);
}
.chart-head{
  display:grid;
  gap:6px;
}
.chart-title{
  color:var(--denim);
  font-family:"Fraunces", Georgia, serif;
  font-size:1.34rem;
  font-weight:700;
  line-height:1.12;
}
.chart-sub,
.chart-note,
.research-chart figcaption{
  color:var(--ink-soft);
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:.9rem;
  line-height:1.45;
}
.chart-legend{
  display:flex;
  flex-wrap:wrap;
  gap:8px 14px;
  margin-top:14px;
  color:var(--ink-soft);
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:.82rem;
  font-weight:800;
}
.chart-legend span{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.chart-legend i{
  width:10px;
  height:10px;
  border-radius:999px;
}
.chart-frame{
  margin-top:14px;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
}
.chart-frame svg{
  display:block;
  width:100%;
  min-width:600px;
  height:auto;
}
.research-chart-bg{fill:#fff8ea}
.research-chart-grid{
  stroke:rgba(9,43,69,.14);
  stroke-width:1;
}
.research-chart-axis{
  stroke:rgba(9,43,69,.36);
  stroke-width:1;
}
.research-chart-axis-label{
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:12px;
  fill:var(--ink-mute);
}
.research-chart-axis-title{
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:12px;
  font-weight:850;
  fill:var(--denim);
  letter-spacing:0;
}
.research-chart-value-label{
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:12px;
  font-weight:800;
  fill:var(--denim);
}
.research-chart-hit{
  fill:transparent;
  pointer-events:all;
}
.research-chart-callout{
  fill:var(--denim);
  font-family:"Courier Prime", monospace;
  font-size:18px;
  font-weight:700;
}
.chart-note,
.research-chart figcaption{
  margin-top:12px;
}
.research-chart figcaption a,
.data-file-list a,
.source-list a{
  color:var(--clay);
  font-weight:800;
  text-decoration:none;
}
.research-chart figcaption a:hover,
.data-file-list a:hover,
.source-list a:hover{text-decoration:underline}
.research-writeup{
  margin-top:28px;
  padding:26px;
  border-radius:8px;
  background:#fff8ea;
  box-shadow:var(--shadow-border);
}
.research-writeup h2{
  margin-top:28px;
  color:var(--denim);
  font-family:"Fraunces", Georgia, serif;
  font-size:1.8rem;
  line-height:1.1;
}
.research-writeup h2:first-child{margin-top:0}
.research-writeup p,
.data-file-list,
.source-list{
  margin-top:10px;
  color:var(--ink-soft);
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:1rem;
  line-height:1.55;
}
.data-file-list,
.source-list{
  display:grid;
  gap:7px;
  margin-left:19px;
}
.source-list span{
  display:block;
  margin-top:2px;
}
.iq-animated-frame{
  height:460px;
  position:relative;
  overflow-x:visible;
}
.iq-animated-frame canvas{
  width:100%;
  height:100%;
}
.anim-controls{
  display:flex;
  align-items:center;
  gap:14px;
  margin-top:18px;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:13px;
}
.anim-controls button{
  min-height:40px;
  border:0;
  border-radius:6px;
  background:var(--denim);
  color:#fff;
  padding:7px 16px;
  font:inherit;
  font-weight:800;
  cursor:pointer;
  transition-property:transform, background-color;
  transition-duration:150ms;
  transition-timing-function:ease-out;
}
.anim-controls button:hover{background:var(--denim-2)}
.anim-controls button:active{transform:scale(.96)}
.anim-controls button.secondary{
  background:#fff8ea;
  color:var(--ink);
  box-shadow:0 0 0 1px rgba(9,43,69,.18);
}
.anim-controls .year-row{
  display:flex;
  align-items:center;
  gap:10px;
  flex:1;
}
.anim-controls input[type=range]{
  flex:1;
  min-width:160px;
  accent-color:var(--denim);
}
.year-label{
  min-width:60px;
  border-radius:6px;
  background:#fff3df;
  padding:4px 10px;
  text-align:center;
  font-weight:850;
  font-variant-numeric:tabular-nums;
}
.anim-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px 20px;
  margin-top:16px;
  padding-top:16px;
  border-top:1px solid rgba(9,43,69,.14);
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:12px;
}
.anim-stats .stat{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:12px;
}
.anim-stats .label{color:var(--ink-soft)}
.anim-stats .value{
  color:var(--denim);
  font-weight:850;
  font-variant-numeric:tabular-nums;
}
.research-detail-aside{
  position:sticky;
  top:92px;
  display:grid;
  gap:14px;
}
.research-module-nav{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin-top:28px;
}
.research-module-nav a{
  min-height:88px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:4px;
  border-radius:8px;
  background:#fff8ea;
  padding:16px;
  color:inherit;
  text-decoration:none;
  box-shadow:var(--shadow-border);
}
.research-module-nav a:hover{box-shadow:var(--shadow-border-hover)}
.research-module-nav span{
  color:var(--ink-mute);
  font-family:"Courier Prime", monospace;
  font-size:.74rem;
  text-transform:uppercase;
}
.research-module-nav strong{
  color:var(--denim);
  font-family:"Fraunces", Georgia, serif;
  font-size:1.08rem;
  line-height:1.14;
}
@media(max-width:980px){
  .research-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .research-detail-layout{grid-template-columns:1fr}
  .research-detail-aside{position:static}
}
@media(max-width:700px){
  .research-module-grid{grid-template-columns:1fr}
  .research-module-card .chart-preview{height:170px}
  .research-detail-hero h1{font-size:3.1rem}
  .research-chart{padding:16px}
  .chart-frame svg{min-width:0}
  .research-module-nav{grid-template-columns:1fr}
  .anim-controls{
    align-items:stretch;
    flex-wrap:wrap;
  }
  .anim-controls .year-row{flex-basis:100%}
  .anim-stats{grid-template-columns:1fr 1fr}
  .iq-animated-frame{height:380px}
}
