.article-hero {
  background:var(--navy-deep); color:#fff;
  padding:132px var(--pad) 68px; position:relative; overflow:hidden;
}
.article-hero::before {
  content:''; position:absolute; inset:0;
  background:linear-gradient(135deg,rgba(13,31,92,.82),rgba(6,14,46,.92));
  z-index:0;
}
.article-hero .article-wrap { position:relative; z-index:1; }
.article-wrap { max-width:min(880px,100%); margin:0 auto; }
.article-kicker { color:var(--gold); margin-bottom:18px; }
.article-title { font:900 clamp(34px,6vw,64px)/1.06 var(--font-d); letter-spacing:0; margin-bottom:18px; overflow-wrap:anywhere; }
.article-deck { font-size:19px; line-height:1.75; color:rgba(255,255,255,.68); max-width:760px; margin-bottom:20px; }
.article-meta { font:400 11px/1.5 var(--font-m); letter-spacing:1.5px; text-transform:uppercase; color:rgba(255,255,255,.5); }
.article-cover { aspect-ratio:16/9; overflow:hidden; border-radius:var(--r-lg); margin-top:40px; box-shadow:var(--sh-lg); }
.article-cover img { width:100%; height:100%; object-fit:cover; }
.article-body { background:#fff; padding:72px var(--pad); }
.article-body .article-wrap { color:var(--navy); }
.article-body p { font-size:18px; line-height:1.85; color:var(--g600); margin-bottom:24px; }
.article-body h2 { font:700 clamp(24px,3vw,34px)/1.2 var(--font-d); letter-spacing:0; margin:52px 0 18px; color:var(--navy); }
.article-body h3 { font:700 20px/1.35 var(--font-b); margin:32px 0 12px; color:var(--navy); }
.article-callout { border-left:4px solid var(--gold); background:var(--gold-pale); border-radius:0 var(--r-md) var(--r-md) 0; padding:22px 24px; margin:36px 0; }
.article-callout p { margin:0; color:var(--navy); font:700 18px/1.55 var(--font-d); }
.article-image { margin:38px 0; border-radius:var(--r-lg); overflow:hidden; background:var(--cream); }
.article-image img { width:100%; aspect-ratio:16/9; object-fit:cover; }
.article-image figcaption { font:500 12px/1.6 var(--font-b); color:var(--g600); padding:12px 16px; }
.data-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin:34px 0; }
.data-card { background:var(--navy); color:#fff; border-radius:var(--r-md); padding:22px 20px; min-height:132px; display:flex; flex-direction:column; justify-content:space-between; }
.data-number { font:900 30px/1 var(--font-d); color:var(--gold); }
.data-label { font:500 13px/1.55 var(--font-b); color:rgba(255,255,255,.76); margin-top:12px; }
.mechanism-list { counter-reset:item; margin:26px 0 34px; display:grid; gap:14px; }
.mechanism-list li { list-style:none; background:var(--cream); border:1px solid var(--g100); border-radius:var(--r-md); padding:18px 20px 18px 54px; position:relative; color:var(--g600); line-height:1.75; }
.mechanism-list li::before { counter-increment:item; content:counter(item); position:absolute; left:18px; top:20px; width:24px; height:24px; border-radius:50%; background:var(--gold); color:#fff; font:700 12px/24px var(--font-b); text-align:center; }
.source-list { margin-top:48px; padding-top:28px; border-top:1px solid var(--g100); }
.source-list h2 { margin-top:0; font-size:22px; }
.source-list a { color:var(--navy); text-decoration:underline; text-decoration-color:rgba(201,149,42,.45); text-underline-offset:3px; }
.source-list li { margin:10px 0; color:var(--g600); line-height:1.65; }
.article-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:44px; }
@media(max-width:720px) {
  .article-hero { padding:112px 18px 56px; }
  .article-wrap { max-width:340px; margin-left:auto; margin-right:auto; }
  .article-title { font-size:22px; line-height:1.16; word-break:break-word; max-width:330px; }
  .article-deck { font-size:16px; }
  .article-body { padding-top:48px; padding-bottom:56px; }
  .article-body p { font-size:16px; line-height:1.75; max-width:330px; overflow-wrap:anywhere; }
  .article-meta { max-width:330px; overflow-wrap:anywhere; }
  .data-grid { grid-template-columns:1fr; }
}
