.vision-home { border-top:1px solid #dce3e8; }
.vision-section-heading { display:flex; align-items:end; justify-content:space-between; gap:28px; margin-bottom:30px; }
.vision-section-heading h2 { font-size:clamp(28px,3vw,42px); line-height:1.3; margin:14px 0; }
.vision-section-heading p:not(.overline) { color:#687680; line-height:1.8; margin:0; }
.vision-card { display:grid; grid-template-columns:1.1fr 1fr; color:#172d3b; border:1px solid #dddcd6; background:#faf8f2; text-decoration:none; overflow:hidden; }
.vision-card-image { position:relative; align-self:center; overflow:hidden; }
.vision-card-image img { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:contain; transition:transform .3s; }
.vision-card:hover img { transform:scale(1.018); }
.vision-card-image > span { position:absolute; bottom:14px; left:14px; padding:7px 12px; color:#fff; background:#172d3beF; font-size:12px; }
.vision-card-copy { padding:clamp(24px,3vw,44px); display:flex; flex-direction:column; justify-content:center; }
.vision-card-copy .overline { color:#8c6345; }
.vision-card h2,.vision-card h3 { margin:16px 0; font-size:clamp(23px,2.3vw,32px); line-height:1.5; font-weight:650; }
.vision-card-copy > p:not(.overline) { font-size:15px; line-height:1.9; color:#606e76; margin:0 0 26px; }
.vision-card strong { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-top:20px; border-top:1px solid #ddddd6; font-size:15px; }
.vision-card:focus-visible { outline:3px solid #956d49; outline-offset:4px; }
.vision-directory,.vision-article { max-width:1160px; width:calc(100% - 80px); margin:0 auto; padding:40px 0 80px; }
.vision-return { display:flex; flex-wrap:wrap; gap:20px; align-items:center; }
.vision-page .button-outline { color:#233e4c; border-color:#9badb8; }
.vision-page .button-outline:hover { background:#eaf0f3; }
.vision-return .button,.vision-bottom .button { font-size:14px; min-height:48px; }
.vision-index-heading { max-width:880px; margin:60px 0 40px; }
.vision-index-heading h1 { font-size:clamp(36px,4.4vw,62px); line-height:1.25; letter-spacing:-.03em; margin:20px 0; }
.vision-index-heading p:not(.overline) { font-size:18px; color:#657681; line-height:1.8; }
.vision-index-date { color:#74818a; font-size:12px; text-align:right; margin-top:22px; }
.vision-article-heading { max-width:940px; margin:52px auto 32px; }
.vision-article-heading h1 { font-size:clamp(30px,3.5vw,46px); line-height:1.45; letter-spacing:-.025em; margin:18px 0 22px; text-wrap:balance; }
.vision-standfirst { font-size:clamp(16px,1.5vw,19px); line-height:1.9; color:#637680; margin:0; }
.vision-byline { display:flex; flex-wrap:wrap; gap:10px; justify-content:space-between; font-size:12px; color:#70808a; margin-top:25px; padding-top:18px; border-top:1px solid #dce3e8; }
.vision-alert { border-left:4px solid #a3533f; background:#f7eee9; padding:24px 28px; margin:32px 0; }
.vision-alert h2 { font-size:21px; line-height:1.5; color:#793f31; margin:0 0 18px; }
.vision-alert ol { display:grid; grid-template-columns:repeat(4,1fr); gap:15px; padding:0; margin:0; list-style:none; counter-reset:action; }
.vision-alert li { display:flex; align-items:start; gap:9px; font-size:15px; color:#6b483d; line-height:1.65; counter-increment:action; }
.vision-alert li::before { content:counter(action); font-size:12px; background:#8b4e3e; color:#fff; border-radius:50%; width:22px; min-width:22px; height:22px; display:grid; place-items:center; margin-top:1px; }
.vision-alert > p { font-size:13px; color:#735e55; margin:18px 0 0; line-height:1.8; }
.vision-player { margin:0; }
.vision-player video { display:block; width:100%; height:auto; aspect-ratio:16/9; background:#202822; object-fit:contain; }
.vision-player figcaption { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; padding:14px 0; font-size:12px; color:#6c7c85; line-height:1.6; }
.vision-reading { display:grid; grid-template-columns:210px minmax(0,1fr); gap:64px; padding:48px 0; }
.vision-toc ol { padding-left:20px; margin:20px 0; color:#7c8c95; }
.vision-toc li { margin-bottom:15px; font-size:14px; line-height:1.7; }
.vision-toc a { color:#526c7b; text-decoration:underline; text-underline-offset:5px; }
.vision-prose { max-width:770px; min-width:0; }
.vision-prose section { margin:0 0 44px; scroll-margin-top:130px; }
.vision-prose h2 { font-size:25px; line-height:1.5; margin:10px 0 20px; }
.vision-prose p:not(.overline) { font-size:17px; line-height:2; color:#455c68; margin:0 0 22px; }
.vision-prose .overline { color:#9e7b58; }
.vision-prose .vision-key { padding:18px 22px; border-left:2px solid #aa8d69; background:#f3f2ed; color:#314e5d; }
.vision-citation { font-size:12px; vertical-align:super; color:#426979; margin-left:4px; text-decoration:underline; }
.vision-references { padding-top:28px; border-top:1px solid #dce3e8; }
.vision-prose .vision-references h2 { font-size:20px; }
.vision-references ol { padding-left:20px; }
.vision-references li { padding-left:7px; margin-bottom:22px; scroll-margin-top:130px; }
.vision-references a { color:#345e76; font-size:14px; line-height:1.8; text-decoration:underline; text-underline-offset:4px; overflow-wrap:anywhere; }
.vision-prose .vision-references p,.vision-prose .vision-note { font-size:13px; color:#73808a; line-height:1.8; margin:8px 0 0; overflow-wrap:anywhere; }
.vision-bottom { display:flex; flex-wrap:wrap; gap:16px; border-top:1px solid #dce3e8; padding-top:30px; }
@media(max-width:780px) {
  .vision-card { grid-template-columns:1fr; }
  .vision-section-heading { align-items:start; flex-direction:column; gap:20px; }
  .vision-card-copy { padding:24px; }
  .vision-reading { grid-template-columns:1fr; gap:22px; padding-top:28px; }
  .vision-toc { padding-bottom:20px; border-bottom:1px solid #dce3e8; }
  .vision-toc ol { display:grid; grid-template-columns:1fr 1fr; gap:12px 24px; margin-bottom:0; }
  .vision-toc li { margin:0; }
  .vision-alert ol { grid-template-columns:1fr 1fr; }
}
@media(max-width:600px) {
  .vision-directory,.vision-article { width:calc(100% - 36px); padding:24px 0 48px; }
  .vision-index-heading { margin:38px 0 28px; }
  .vision-index-heading h1 { font-size:34px; }
  .vision-article-heading { margin:34px 0 28px; }
  .vision-article-heading h1 { font-size:29px; }
  .vision-return { gap:15px; }
  .vision-return .text-link { font-size:13px; }
  .vision-alert { padding:20px 18px; margin:26px 0; }
  .vision-alert h2 { font-size:19px; }
  .vision-alert li { font-size:14px; }
  .vision-alert ol { gap:14px 10px; }
  .vision-prose h2 { font-size:23px; }
  .vision-prose p:not(.overline) { font-size:16px; }
  .vision-prose .vision-key { padding:16px 18px; }
  .vision-bottom > a { width:100%; justify-content:center; }
}
@media(prefers-reduced-motion:reduce) { .vision-card img { transition:none; } }
