/* Vision: small homepage introduction and a focused, text-first essay. */
.vision-teaser { padding-top: var(--section); }
.vision-teaser__layout { display:grid; grid-template-columns:1.12fr 1fr; gap:clamp(2rem,5vw,6rem); align-items:start; }
.vision-teaser__title { max-width:17ch; margin-bottom:0; }
.vision-teaser__copy { padding-top:2.3rem; }
.vision-teaser__statement { font-size:clamp(1.5rem,2.5vw,2.4rem); font-weight:650; line-height:1.2; letter-spacing:-.02em; margin-bottom:1.5rem; }
.vision-teaser__link { display:inline-flex; gap:1rem; margin-top:1.75rem; font-size:1.1rem; padding-block:.5rem; }
.vision-page .nav { background:var(--bg); border-bottom:1px solid var(--line); }
.vision-page .nav__links a[aria-current="page"] { color:var(--ink); }
.essay { padding-top:calc(var(--nav-h) + clamp(3.5rem,8vw,7rem)); padding-bottom:var(--section); }
.essay__header { padding-bottom:clamp(3rem,6vw,5.5rem); }
.essay__header h1 { font-size:clamp(2.8rem,6.7vw,6.4rem); font-weight:760; font-stretch:82%; line-height:1.02; letter-spacing:-.025em; max-width:19ch; margin:0 0 2rem; text-wrap:balance; }
.essay__deck { font-size:clamp(1.16rem,2.1vw,1.65rem); line-height:1.5; color:var(--ink-2); max-width:48ch; margin-bottom:1.75rem; }
.essay__byline { color:var(--ink-2); line-height:1.9; max-width:65ch; }
.essay__layout { display:grid; grid-template-columns:minmax(170px,1fr) minmax(0,740px); gap:clamp(2rem,7vw,7rem); border-top:1px solid var(--line); padding-top:3rem; }
.essay__index { align-self:start; position:sticky; top:calc(var(--nav-h) + 2rem); }
.essay__index a { display:block; width:fit-content; padding:.55rem 0; color:var(--ink-2); font-size:.95rem; text-decoration:none; }
.essay__index a:hover { color:var(--ink); text-decoration:underline; text-underline-offset:5px; }
.essay__body { font-size:clamp(1.08rem,1.35vw,1.22rem); line-height:1.8; color:var(--ink-2); min-width:0; }
.essay__body p { margin-bottom:1.5rem; }
.essay__body h2 { color:var(--ink); font-size:clamp(1.6rem,2.8vw,2.3rem); font-stretch:88%; line-height:1.2; margin:3.5rem 0 1.35rem; letter-spacing:-.015em; scroll-margin-top:1rem; }
.essay__body .essay__thesis { color:var(--ink); font-size:1.2em; font-weight:600; line-height:1.55; }
.essay__body .essay__closing { color:var(--ink); font-size:1.25em; font-weight:550; line-height:1.5; margin-top:2.5rem; }
.essay__actions { display:flex; gap:1.5rem; align-items:center; flex-wrap:wrap; margin-top:3rem; padding-top:2rem; border-top:1px solid var(--line); }
.essay__actions .link { padding-block:.6rem; font-size:1rem; }
@media (max-width:760px) {
  .vision-teaser__layout { grid-template-columns:1fr; gap:1.5rem; }
  .vision-teaser__copy { padding-top:0; }
  .essay__layout { grid-template-columns:1fr; gap:2rem; padding-top:2rem; }
  .essay__index { position:static; display:flex; flex-wrap:wrap; column-gap:1.3rem; row-gap:.2rem; padding-bottom:1.5rem; border-bottom:1px solid var(--line); }
  .essay__index .eyebrow { flex-basis:100%; margin-bottom:.35rem; }
  .essay__body h2 { margin-top:2.5rem; }
}
@media print {
  .vision-page .nav, .vision-page .skip, .essay__index, .essay__actions, .vision-page .foot { display:none; }
  .vision-page { background:white; color:black; }
  .essay { padding:0; }
  .essay__layout { display:block; border:0; padding-top:0; }
  .essay__header h1 { font-size:32pt; }
  .essay__deck, .essay__byline, .essay__body, .essay__body h2, .essay__body .essay__thesis, .essay__body .essay__closing { color:black; }
  .essay__body { font-size:11pt; }
  .essay__body h2 { break-after:avoid; }
}
@media (max-width:420px) {
  .nav__inner { gap:.5rem; }
  .nav__cta { padding-inline:.8rem; font-size:.85rem; flex-shrink:0; }
  .nav__toggle { width:38px; margin-left:0; flex-shrink:0; }
  .brand { gap:.4rem; }
  .brand__mark { width:28px; flex-shrink:0; }
  .brand__word { font-size:1.1rem; }
}

/* v2: plan list and the closing line of the homepage teaser */
.vision-teaser__line { color:var(--ink); font-size:clamp(1.1rem,1.6vw,1.3rem); font-weight:600; line-height:1.45; max-width:44ch; margin:1.4rem 0 0; }
.essay__plan { list-style:none; counter-reset:plan; margin:0 0 2rem; padding:0; display:grid; gap:1.4rem; }
.essay__plan li { counter-increment:plan; position:relative; padding-left:3.1rem; }
.essay__plan li::before { content:counter(plan, decimal-leading-zero); position:absolute; left:0; top:.15rem; font-family:var(--font-mono); font-size:.85rem; letter-spacing:.08em; color:var(--accent); }
.essay__plan strong { display:block; color:var(--ink); font-weight:650; line-height:1.45; margin-bottom:.2rem; }
.essay__plan .essay__status { display:block; margin-top:.35rem; font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; color:var(--accent); }
