/* AI article only. Shared Matrix navigation and page styles remain intact. */
.ai-article { --ai-blue:#2451a4; --ai-line:#dce1e8; --ai-muted:#65707d; }
.ai-article .ai-kicker { display:block; font-size:12px; font-weight:500; line-height:1.5; color:var(--ai-muted); margin-bottom:18px; }
.ai-article .editorial-reading { padding-top:48px; }
.ai-article .ai-figure { margin:36px 0 12px; border-top:1px solid var(--ai-line); border-bottom:1px solid var(--ai-line); padding:28px 0; }
.ai-article .ai-figure figcaption { margin-top:22px; font-size:12px; line-height:1.6; color:var(--ai-muted); }
.ai-article .ai-figure h3 { font-size:23px; font-weight:500; line-height:1.2; letter-spacing:-.03em; color:var(--ink); margin:0 0 24px; }
.ai-article .ai-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin:0; }
.ai-article .ai-facts > div { display:flex; flex-direction:column; }
.ai-article .ai-facts > div + div { border-left:1px solid var(--ai-line); padding-left:24px; }
.ai-article .ai-facts dt { color:var(--ai-muted); font-size:12px; line-height:1.45; }
.ai-article .ai-facts dd { order:-1; margin:0 0 8px; font-size:48px; font-weight:500; letter-spacing:-.055em; line-height:1.1; color:var(--ink); }
.ai-article .ai-facts dd small { font-size:23px; letter-spacing:-.02em; }
.ai-article .ai-meters { display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); gap:12px; padding-top:30px; margin-top:28px; border-top:1px solid var(--ai-line); }
.ai-article .ai-meter { text-align:center; color:var(--ai-muted); font-size:10px; }
.ai-article .ai-meter svg { display:block; width:100%; max-width:58px; margin:0 auto 10px; color:var(--ai-blue); }
.ai-article .ai-records { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; }
.ai-article .ai-records > div { padding:22px 18px 22px 0; border-top:1px solid var(--ai-line); }
.ai-article .ai-records > div > span { font-size:11px; color:var(--ai-blue); }
.ai-article .ai-records strong { display:block; font-weight:500; font-size:16px; margin:10px 0 7px; }
.ai-article .ai-records p { font-size:13px; line-height:1.55; margin:0; max-width:22ch; }
.ai-article .ai-compare { display:grid; grid-template-columns:1fr 1fr; gap:32px; }
.ai-article .ai-compare > div + div { border-left:1px solid var(--ai-line); padding-left:32px; }
.ai-article .ai-compare h4 { font-size:22px; font-weight:500; margin:0 0 14px; letter-spacing:-.025em; }
.ai-article .ai-compare p { font-size:14px; line-height:1.65; margin:0; }
.ai-article .ai-compare svg { display:block; width:100%; max-width:250px; height:90px; margin:20px 0 10px; }
.ai-article .ai-photo { margin:40px 0 0; }
.ai-article .ai-photo img { display:block; width:100%; height:auto; aspect-ratio:1.85; object-fit:cover; object-position:center 45%; border-radius:3px; }
.ai-article .ai-photo figcaption { display:flex; gap:24px; justify-content:space-between; font-size:12px; line-height:1.6; padding-top:14px; color:var(--ai-muted); }
.ai-article .ai-photo figcaption strong { font-weight:500; white-space:nowrap; }
@media(min-width:1200px) { .ai-article .ai-wide { width:calc(100% + 160px); margin-left:-80px; margin-right:-80px; } }
@media(max-width:650px) {
 .ai-article .editorial-reading { padding-top:32px; }
 .ai-article .ai-facts { gap:12px; }
 .ai-article .ai-facts > div + div { padding-left:12px; }
 .ai-article .ai-facts dd { font-size:38px; }
 .ai-article .ai-facts dt { font-size:11px; }
 .ai-article .ai-facts dd small { font-size:18px; }
 .ai-article .ai-meters { grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px 14px; }
 .ai-article .ai-records { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .ai-article .ai-records > div { padding-right:14px; }
 .ai-article .ai-records strong { font-size:15px; }
 .ai-article .ai-compare { grid-template-columns:1fr; gap:24px; }
 .ai-article .ai-compare > div + div { border-left:0; border-top:1px solid var(--ai-line); padding-left:0; padding-top:24px; }
 .ai-article .ai-photo img { aspect-ratio:1.3; }
 .ai-article .ai-photo figcaption { display:block; }
 .ai-article .ai-photo figcaption strong { display:block; margin-bottom:5px; }
}

/* Keep the shared article cover dimensions; animate only the artwork inside it. */
.ai-article .ai-dot-cover { background:#f6f8fa; }
.ai-article .ai-dot-cover > svg { display:block; width:100%; height:100%; }
.ai-article .ai-dot-band { transform:translateY(0); opacity:1; }
@keyframes ai-dot-wave { 0%,100% { transform:translateY(0); opacity:.7; } 50% { transform:translateY(-3px); opacity:1; } }
@keyframes ai-dot-glow { 0%,100% { opacity:.7; } 50% { opacity:1; } }
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
 .ai-article .ai-dot-cover:hover .ai-dot-band { animation:ai-dot-wave 2.4s ease-in-out infinite; animation-delay:var(--phase,0s); }
 .ai-article .ai-dot-cover:hover .ai-dot-outer { animation-name:ai-dot-glow; }
}
.ai-article .ai-flow { padding:32px 0 28px; background:transparent; }
.ai-article .ai-flow h3 { max-width:27ch; margin-bottom:36px; font-size:30px; scroll-margin-top:112px; }
.ai-article .ai-flow-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; }
.ai-article .ai-flow-step { position:relative; min-width:0; }
.ai-article .ai-flow-step::after { content:''; position:absolute; top:43px; left:110px; right:-12px; height:1px; background:var(--ai-line); }
.ai-article .ai-flow-step:last-child::after { display:none; }
.ai-article .ai-flow-step > svg { display:block; width:88px; height:88px; margin-bottom:24px; color:var(--ai-blue); }
.ai-article .ai-flow-step h4 { margin:0 0 10px; font-size:18px; font-weight:500; line-height:1.3; letter-spacing:-.02em; }
.ai-article .ai-flow-step p { margin:0; font-size:13px; line-height:1.65; color:var(--ai-muted); }
.ai-article .ai-supervision { display:flex; align-items:center; gap:16px; margin-top:32px; padding:20px 24px; background:#f6f8fa; }
.ai-article .ai-supervision > svg { width:28px; height:28px; flex:0 0 28px; color:var(--ai-blue); }
.ai-article .ai-supervision p { margin:0; font-size:13px; line-height:1.6; }
.ai-article .ai-supervision strong { font-weight:500; color:var(--ink); }
.ai-article .ai-flow figcaption { margin-top:16px; }
@media(max-width:900px) {
 .ai-article .ai-flow-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
 .ai-article .ai-flow-step:nth-child(2)::after { display:none; }
}
@media(max-width:650px) {
 .ai-article .ai-flow h3 { font-size:25px; margin-bottom:28px; }
 .ai-article .ai-flow-grid { grid-template-columns:1fr; gap:30px; }
 .ai-article .ai-flow-step { display:block; }
 .ai-article .ai-flow-step + .ai-flow-step { border-top:1px solid var(--ai-line); padding-top:28px; }
 .ai-article .ai-flow-step > svg { width:96px; height:96px; margin:0 0 22px; }
 .ai-article .ai-flow-step h4 { margin:0 0 10px; font-size:20px; }
 .ai-article .ai-flow-step p { max-width:44ch; font-size:14px; }
 .ai-article .ai-flow-step::after { display:none; }
 .ai-article .ai-supervision { padding:18px; align-items:flex-start; }
}
