/* ---------------- inline citations + sources ---------------- */
sup.ref { font-size: 0.62em; line-height: 0; font-family: var(--font-meta); font-weight: 600; margin-left: 1px; white-space: nowrap; vertical-align: super; }
sup.ref a { color: var(--puw-coral-600); padding: 0 1px; transition: color .2s; }
sup.ref a:hover { color: var(--puw-teal-900); text-decoration: underline; }
.stat-l sup.ref a { color: var(--puw-coral-500); }

.article .src-note { font-size: 15px; color: var(--puw-slate-400); margin-top: 18px; line-height: 1.6; }
.article .src-note strong { color: var(--puw-teal-900); }
ol.sources { counter-reset: src; list-style: none; margin: 24px 0 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
ol.sources li { position: relative; counter-increment: src; padding: 16px 18px 16px 52px; background: #fff; border: 1px solid var(--puw-border-light); border-radius: var(--radius-lg); scroll-margin-top: 100px; transition: border-color .25s, box-shadow .25s; }
ol.sources li::before { content: counter(src); position: absolute; left: 14px; top: 16px; width: 26px; height: 26px; border-radius: var(--radius-sm); background: var(--puw-coral-50); color: var(--puw-coral-600); font-family: var(--font-meta); font-weight: 600; font-size: 13px; display: grid; place-items: center; }
ol.sources li:target { border-color: var(--puw-coral-500); box-shadow: 0 10px 26px rgba(3,54,61,0.07); }
ol.sources li a { display: block; font-family: var(--font-body); font-weight: 600; font-size: 15.5px; color: var(--puw-teal-900); border-bottom: 1px solid transparent; transition: color .2s, border-color .2s; }
ol.sources li a:hover { color: var(--puw-coral-600); border-color: var(--puw-coral-100); }
ol.sources li span { display: block; font-size: 13.5px; line-height: 1.55; color: var(--puw-teal-600); margin-top: 5px; }
@media (max-width: 560px) {
  ol.sources li { padding: 14px 15px 14px 46px; }
  ol.sources li::before { left: 12px; top: 14px; }
}
