.vision-hero{position:relative}.vision-hero,.vision-sheet{border-bottom:1px solid var(--border)}.vision-sheet{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.25rem 1.5rem}.vision-title{font-family:var(--font-display);font-size:clamp(2.65rem,5.2vw,4.6rem);font-weight:500;line-height:1.02;letter-spacing:-.05em;color:var(--fg)}.vision-title span{color:var(--accent)}.vision-lede{color:var(--fg-muted)}.vision-abbey,.vision-section-link{color:var(--accent)}.vision-section-link{font-family:var(--font-mono);font-size:.8125rem}.vision-abbey:hover,.vision-section-link:hover{text-decoration:underline;text-underline-offset:4px}.vision-figure{padding:1rem;background:color-mix(in oklch,var(--bg-elevated) 82%,transparent)}.bp-schematic{display:block;width:100%;height:auto;overflow:visible}.bp-node rect{fill:var(--bg-elevated);stroke:var(--border-strong);stroke-width:1.25}.bp-node-selected rect{stroke:var(--accent);stroke-width:2}.bp-node-store rect{fill:color-mix(in oklch,var(--accent) 7%,var(--bg-elevated));stroke:var(--accent);stroke-dasharray:6 4}.bp-node-index{font-family:var(--font-mono);font-size:14px;fill:var(--accent)}.bp-node-title{font-family:var(--font-display);font-size:19px;font-weight:600;letter-spacing:-.02em;fill:var(--fg)}.bp-node-sub{fill:var(--fg-subtle)}.bp-fig,.bp-node-sub{font-family:var(--font-mono);font-size:13px}.bp-fig{fill:var(--annotation)}.bp-trace{fill:none;stroke:var(--accent);stroke-width:2;animation:bp-draw .9s var(--ease-out) both}.bp-trace-quiet{stroke:var(--border-strong);stroke-width:1.5}.bp-link{fill:none;stroke:var(--accent);stroke-width:1.25;stroke-dasharray:3 5;opacity:.7}.bp-joint{fill:var(--bg-elevated);stroke:var(--accent);stroke-width:2}@keyframes bp-draw{0%{stroke-dasharray:1 1;stroke-dashoffset:1}99.9%{stroke-dasharray:1 1;stroke-dashoffset:0}to{stroke-dasharray:none;stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.bp-trace{animation:none}}.vision-product{display:flex;flex-direction:column;align-items:flex-start;border-top:2px solid var(--accent);padding:1.5rem}.vision-product-aviva{border-top-color:var(--abi)}.vision-product-abbey{border-top-color:var(--abbey)}.vision-product-abi{border-top-color:var(--persona-abi)}.vision-product>a{margin-top:auto;padding-top:1.25rem}.vision-product-role{color:var(--accent)}.vision-product-aviva .vision-product-role{color:var(--abi)}.vision-product-abbey .vision-product-role{color:var(--abbey)}.vision-code pre{white-space:pre-wrap;overflow-wrap:anywhere}