/* paper-detail — shared template styles */

.paper-hero{padding:36px 0 40px;}
.breadcrumb{font-family:var(--sans); font-size:12px; color:var(--muted); letter-spacing:0.04em; margin:0 0 28px;}
.breadcrumb a{text-decoration:none; border-bottom:1px solid var(--hair); transition:border-color .15s ease, color .15s ease;}
.breadcrumb a:hover{color:var(--accent); border-bottom-color:var(--accent);}
.breadcrumb .dot{color:var(--hint); margin:0 6px;}
.paper-eyebrow{font-family:var(--sans); font-size:11.5px; font-weight:600; letter-spacing:0.2em; text-transform:uppercase; color:var(--accent); margin:0 0 22px;}
.paper-eyebrow .sep{color:var(--hint); font-weight:400; margin:0 8px;}
.paper-eyebrow .year{color:var(--ink); font-variant-numeric:tabular-nums;}
.paper-q{font-family:var(--serif); font-weight:500; color:var(--ink); font-size:clamp(32px,5vw,48px); line-height:1.04; font-variation-settings:"opsz" 96; letter-spacing:-0.015em; margin:0 0 32px;}
.paper-q em{font-style:italic; font-variation-settings:"opsz" 96;}
.paper-byline{font-family:var(--sans); font-size:14.5px; color:var(--text); line-height:1.55; margin:0 0 18px;}
.paper-byline strong{color:var(--ink); font-weight:500;}
.paper-status{display:inline-flex; align-items:center; gap:8px; font-family:var(--sans); font-size:12px; font-weight:600; letter-spacing:0.06em; color:var(--accent); padding:6px 12px; border:1px solid var(--accent); border-radius:2px;}
.paper-status .dot{width:6px; height:6px; border-radius:50%; background:var(--accent); display:inline-block;}
.paper-body{display:grid; grid-template-columns:1fr 280px; gap:80px; padding:32px 0 64px; border-top:1px solid var(--hair);}
.paper-main{min-width:0;}
.lead{font-family:var(--serif); font-size:clamp(22px,2.4vw,26px); line-height:1.38; font-variation-settings:"opsz" 36; color:var(--ink); font-weight:400; margin:40px 0 44px; letter-spacing:-0.005em;}
.lead strong{font-weight:600; color:var(--accent);}
.hero-chart{margin:0 0 64px; padding:40px 36px 28px; background:var(--paper-tint); border:1px solid var(--hair); border-radius:2px;}
.hero-chart-eye{font-family:var(--sans); font-size:11px; font-weight:600; letter-spacing:0.2em; text-transform:uppercase; color:var(--accent); margin:0 0 12px;}
.hero-chart-title{font-family:var(--serif); font-size:clamp(20px,2.2vw,24px); line-height:1.18; font-weight:500; color:var(--ink); font-variation-settings:"opsz" 48; letter-spacing:-0.005em; margin:0 0 8px;}
.hero-chart-sub{font-family:var(--sans); font-size:13px; color:var(--muted); line-height:1.5; margin:0 0 28px;}
.hero-chart svg{width:100%; height:auto; display:block; overflow:visible;}
.hero-chart-source{margin-top:18px; padding-top:14px; border-top:1px solid var(--hair); font-family:var(--sans); font-size:11.5px; color:var(--hint); letter-spacing:0.02em;}
.hero-chart-source strong{color:var(--muted); font-weight:500;}
.sec{margin:56px 0 0;}
.sec h2{font-family:var(--serif); font-weight:500; color:var(--ink); font-size:clamp(24px,2.8vw,32px); line-height:1.16; font-variation-settings:"opsz" 72; letter-spacing:-0.008em; margin:0 0 24px;}
.sec h2 em{font-style:italic; font-variation-settings:"opsz" 72;}
.sec .kicker{font-family:var(--sans); font-size:11px; font-weight:600; letter-spacing:0.2em; text-transform:uppercase; color:var(--accent); margin:0 0 12px;}
.sec p{font-size:16.5px; line-height:1.7; color:var(--text); margin:0 0 18px;}
.sec p:last-child{margin-bottom:0;}
.sec p em{font-style:italic; color:var(--ink);}
.sec p strong{font-weight:600; color:var(--ink);}
.stat-strip{display:grid; grid-template-columns:repeat(3,1fr); gap:32px; margin:32px 0 8px; padding:24px 0; border-top:1px solid var(--hair); border-bottom:1px solid var(--hair);}
.stat-strip .s-num{font-family:var(--serif); font-size:clamp(26px,3vw,34px); font-weight:600; color:var(--accent); line-height:1.05; font-variation-settings:"opsz" 72; font-variant-numeric:tabular-nums; letter-spacing:-0.005em; margin:0 0 6px;}
.stat-strip .s-lbl{font-family:var(--sans); font-size:12px; color:var(--muted); line-height:1.4;}
.stat-strip .s-lbl strong{color:var(--ink); font-weight:500;}
.cite{margin:48px 0 0; padding:24px 26px; background:var(--paper-tint); border:1px solid var(--hair); border-radius:2px;}
.cite-label{font-family:var(--sans); font-size:10.5px; font-weight:600; letter-spacing:0.2em; text-transform:uppercase; color:var(--muted); margin:0 0 12px; display:flex; align-items:center; justify-content:space-between;}
.cite-copy{font-family:var(--sans); font-size:11px; color:var(--accent); background:none; cursor:pointer; padding:4px 10px; border:1px solid var(--accent-soft); border-radius:2px; transition:background .15s ease, color .15s ease; font-weight:600; letter-spacing:0.06em;}
.cite-copy:hover{background:var(--accent); color:var(--paper);}
.cite-text{font-family:var(--serif); font-size:15px; line-height:1.6; color:var(--ink); margin:0; font-variation-settings:"opsz" 16;}
.cite-text em{font-style:italic;}
.paper-side{position:sticky; top:32px; align-self:start; margin-top:40px; padding:24px 24px; border:1px solid var(--hair); border-radius:2px; background:var(--paper);}
.side-group{padding:14px 0; border-top:1px solid var(--hair);}
.side-group:first-child{padding-top:0; border-top:none;}
.side-label{font-family:var(--sans); font-size:10.5px; font-weight:600; letter-spacing:0.2em; text-transform:uppercase; color:var(--muted); margin:0 0 10px;}
.side-list{list-style:none; padding:0; margin:0;}
.side-list li{font-family:var(--sans); font-size:13px; color:var(--text); line-height:1.5; padding:3px 0;}
.side-list li strong{color:var(--ink); font-weight:500;}
.side-list li .aff{color:var(--muted); font-size:12px;}
.side-list li em{font-style:italic; color:var(--ink);}
.side-pill{display:inline-block; font-family:var(--sans); font-size:11px; font-weight:600; letter-spacing:0.06em; color:var(--accent); padding:3px 8px; border:1px solid var(--accent-soft); border-radius:2px; margin-top:6px;}
.side-link{display:flex; align-items:baseline; gap:8px; font-family:var(--sans); font-size:13px; padding:6px 0; text-decoration:none; color:var(--ink); border-bottom:1px solid var(--hair);}
.side-link:last-of-type{border-bottom:none;}
.side-link .arrow{color:var(--accent); font-size:12px;}
.side-link:hover{color:var(--accent);}
.side-link .ext{color:var(--muted); font-size:11px; margin-left:auto;}
.related{padding:56px 0 0; margin-top:24px; border-top:1px solid var(--ink);}
.related-head{display:flex; align-items:baseline; gap:16px; margin:0 0 32px;}
.related-label{font-family:var(--sans); font-size:12px; font-weight:600; letter-spacing:0.22em; text-transform:uppercase; color:var(--ink);}
.related-sub{font-family:var(--sans); font-size:12.5px; color:var(--muted); letter-spacing:0.04em;}
.related-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:24px;}
.rel-card{display:block; text-decoration:none; color:inherit; padding:20px 22px; border:1px solid var(--hair); border-radius:2px; background:var(--paper); transition:border-color .2s ease, transform .2s ease;}
.rel-card:hover{border-color:var(--accent); transform:translateY(-2px);}
.rel-eye{font-family:var(--sans); font-size:10px; font-weight:600; letter-spacing:0.16em; text-transform:uppercase; color:var(--accent); margin:0 0 10px;}
.rel-q{font-family:var(--serif); font-weight:500; color:var(--ink); font-size:17px; line-height:1.25; font-variation-settings:"opsz" 36; margin:0 0 12px; letter-spacing:-0.005em;}
.rel-q em{font-style:italic;}
.rel-meta{font-family:var(--sans); font-size:11.5px; color:var(--muted); letter-spacing:0.04em;}
.rel-meta em{font-style:italic; color:var(--text);}
@media (max-width:980px){
  .paper-body{grid-template-columns:1fr; gap:32px;}
  .paper-side{position:static; margin-top:0;}
  .related-grid{grid-template-columns:1fr; gap:16px;}
}
@media (max-width:640px){
  .paper-hero{padding:40px 0 28px;}
  .hero-chart{padding:24px 18px 18px;}
  .stat-strip{grid-template-columns:1fr; gap:16px;}
}
