/* Shared fresh View presentation. The Article shell owns title, date and selected cover. */
.article-view-story { color: #243347; font: inherit; line-height: 1.8; overflow-wrap: anywhere; }
.article-view-story > :first-child { margin-top: 0; }
.article-view-block { margin-block: 1.6rem; }
.article-view-paragraph { margin: 0; }
.article-view-heading { color: #102a43; font-size: clamp(1.3rem, 2.6vw, 1.85rem); line-height: 1.3; margin: 2.2rem 0 1rem; text-wrap: balance; }
.article-view-callout { padding: clamp(1.2rem, 3vw, 2rem); border: 1px solid #dfebf2; border-inline-start: 4px solid #006eaa; border-radius: 0 1rem 1rem 0; background: #f3f8fc; }
.article-view-callout-highlight { background: #fff9e7; border-color: #f3e3b2; border-inline-start-color: #c69516; }
.article-view-callout-success { background: #f2f8ed; border-color: #dfead5; border-inline-start-color: #5f8c32; }
.article-view-callout-warning { background: #fff4e9; border-color: #f2ddc6; border-inline-start-color: #b56c23; }
.article-view-callout-title { color: #102a43; font-size: 1.15rem; line-height: 1.4; margin: 0 0 .8rem; }
.article-view-callout-body { line-height: 1.8; }
.article-view-callout-footer { margin-top: 1rem; color: #526477; font-size: .8rem; letter-spacing: .035em; }
.article-view-list { padding-inline-start: 1.4rem; }
.article-view-list-item { padding-inline-start: .35rem; margin-block: .55rem; }
.article-view-list-item::marker { color: #006eaa; }
.article-view-quote-block { margin: 0; padding: 1.8rem 2rem; border-inline-start: 3px solid #fece47; background: #f8fafc; border-radius: 0 1rem 1rem 0; }
.article-view-quote-block-text { margin: 0; color: #16354f; font-size: 1.12rem; font-style: italic; line-height: 1.8; }
.article-view-quote-block-caption { margin-top: 1rem; color: #526477; font-size: .85rem; }
.article-view-divider { display: flex; align-items: center; gap: .9rem; margin-block: 2.2rem; }
.article-view-divider span { height: 1px; background: #dce5ed; flex: 1; }
.article-view-divider i { width: 6px; height: 6px; background: #d4a72c; border-radius: 50%; }
.article-view-stats { padding-block: .5rem; }
.article-view-stats-title, .article-view-timeline-title { margin: 0 0 1.2rem; color: #102a43; font-size: 1.35rem; line-height: 1.35; }
.article-view-stats-grid { display: grid; gap: .9rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 145px), 1fr)); }
.article-view-stat-card { padding: 1.3rem 1rem; background: #f3f8fc; border: 1px solid #e0eaf1; border-top: 3px solid #006eaa; border-radius: .75rem; }
.article-view-stat-card-value { color: #006eaa; font-size: clamp(1.65rem, 3vw, 2.25rem); font-weight: 800; line-height: 1.15; }
.article-view-stat-card-label { margin-top: .7rem; color: #102a43; font-size: .9rem; font-weight: 700; line-height: 1.4; }
.article-view-stat-card-note { margin-top: .45rem; color: #526477; font-size: .8rem; line-height: 1.5; }
.article-view-timeline-line { border-inline-start: 2px solid #dce5ed; margin-inline-start: .45rem; padding-inline-start: 1.7rem; }
.article-view-timeline-item { position: relative; margin-block: 1.6rem; }
.article-view-timeline-dot { position: absolute; inset-inline-start: -2.15rem; top: .4rem; width: .75rem; height: .75rem; border-radius: 50%; background: #006eaa; outline: 4px solid #fff; }
.article-view-timeline-date { color: #006eaa; font-size: .8rem; font-weight: 700; letter-spacing: .04em; }
.article-view-timeline-item-title { color: #102a43; font-size: 1.1rem; line-height: 1.4; margin: .35rem 0 .6rem; }
.article-view-timeline-body { line-height: 1.75; }
@media (max-width: 540px) {
    .article-view-quote-block { padding: 1.2rem; }
    .article-view-stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .article-view-stat-card { padding: 1rem .75rem; }
}
@media print {
    .article-view-callout, .article-view-stat-card, .article-view-quote-block { break-inside: avoid; }
}
