/* Shared page patterns. Home remains governed by its pinned reference styles. */
.vf-intro { padding:calc(var(--header) + 70px) 0 64px; }
.vf-intro .display { max-width:13ch; font-size:clamp(2.8rem,6.3vw,6.2rem); line-height:1.02; }
.vf-intro .lead { margin-top:28px; max-width:44ch; }
.vf-intro .actions { margin-top:30px; }
.vf-section-head { display:flex; gap:40px; align-items:end; justify-content:space-between; margin-bottom:40px; }
.vf-section-head .h2 { max-width:17ch; }
.vf-section-head p { max-width:36ch; color:var(--slate); }
.vf-split { display:grid; grid-template-columns:1.05fr 1fr; gap:clamp(28px,7vw,100px); align-items:center; }
.vf-split figure { margin:0; }
.vf-split figure img { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:var(--radius); }
.vf-split figure figcaption { margin-top:12px; font-size:14px; color:var(--slate); }
.vf-copy { max-width:62ch; }
.vf-copy p + p, .vf-copy ul + p { margin-top:18px; }
.vf-copy h2,.vf-copy h3 { margin-bottom:18px; }
.vf-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.vf-grid.two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.vf-card { background:var(--white); padding:32px; border-radius:var(--radius); }
.vf-card h3 { font-size:1.5rem; line-height:1.2; margin-bottom:16px; }
.vf-card p { color:var(--slate); font-size:17px; }
.vf-card ul { padding-left:20px; }
.vf-card .link { margin-top:22px; display:inline-block; }
.vf-narrative { display:grid; grid-template-columns:1fr 1.4fr; gap:clamp(32px,7vw,100px); align-items:start; }
.vf-narrative > h2 { position:sticky; top:108px; }
.vf-narrative details { margin-bottom:12px; }
.vf-paper { background:var(--paper); }
.vf-white { background:var(--white); }
.vf-detail { max-width:68ch; }
.vf-detail p + p { margin-top:18px; }
.vf-detail h3 { font-size:1.5rem; margin:30px 0 12px; }
.vf-detail ul,.vf-detail ol { padding-left:24px; }
.vf-detail li+li { margin-top:8px; }
.vf-detail a { text-decoration-thickness:1px; text-underline-offset:4px; }
.vf-disclosure { border-top:1px solid var(--line); padding:18px 0; }
.vf-disclosure summary { cursor:pointer; font-weight:500; min-height:28px; }
.vf-disclosure > :not(summary) { margin-top:18px; }
.vf-flow { display:flex; align-items:center; gap:20px; padding:32px; background:var(--white); border-radius:var(--radius); }
.vf-flow > div { flex:1; }
.vf-flow b { display:block; font-size:1.3rem; font-weight:500; }
.vf-flow small { color:var(--slate); }
.vf-flow > span { color:var(--red); }
.vf-form input:not([type=radio]):not([type=checkbox]),.vf-form textarea,.vf-form select { font:inherit; width:100%; border:1px solid #9da6ac; border-radius:10px; padding:12px 16px; background:var(--white); color:var(--ink); }
.vf-form input[type=radio],.vf-form input[type=checkbox] { accent-color:var(--red); width:20px; height:20px; flex:none; }
.vf-form fieldset { border:0; margin:0 0 32px; padding:0; }
.vf-form legend { font-size:1.35rem; margin-bottom:16px; font-weight:500; }
.vf-form label { display:block; }
.vf-form .choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.vf-form .choice { display:flex; align-items:flex-start; gap:12px; padding:20px; background:var(--white); border:1px solid transparent; border-radius:16px; cursor:pointer; }
.vf-form .choice:has(input:checked) { border-color:var(--navy); }
.vf-form .choice strong,.vf-form .choice small { display:block; }
.vf-form .choice small { font-size:14px; color:var(--slate); line-height:1.5; margin-top:6px; }
.vf-form .extra-choice { display:flex; align-items:center; gap:12px; padding:10px 0; }
.vf-form .builder-layout { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr); gap:48px; }
.vf-form .builder-summary { align-self:start; position:sticky; top:104px; background:var(--navy); color:white; padding:32px; border-radius:var(--radius); }
.vf-form .builder-summary h2 { font-size:1.7rem; margin-bottom:18px; }
.vf-form .builder-summary .btn { margin-top:24px; }
.vf-form .builder-summary .small { font-size:14px; margin-top:18px; }
.vf-form .muted { color:var(--slate); }
.vf-form .small { font-size:14px; line-height:1.5; }
.vf-form .scope-details { margin-top:16px; }
.vf-table-wrap { overflow-x:auto; max-width:100%; }
.vf-table-wrap table { border-collapse:collapse; width:100%; font-size:16px; }
.vf-table-wrap th,.vf-table-wrap td { text-align:left; vertical-align:top; padding:18px 14px; border-bottom:1px solid var(--line); }
.vf-table-wrap th { font-weight:500; }
.vf-page :target { scroll-margin-top:100px; }
.vf-page :focus { scroll-margin-top:100px; scroll-margin-bottom:70px; }
@media(max-width:1000px) { .vf-narrative { grid-template-columns:1fr; } .vf-narrative > h2 { position:static; } }
@media(max-width:760px) {
 .vf-intro { padding:calc(var(--header) + 36px) 0 48px; }
 .vf-section-head,.vf-split,.vf-grid,.vf-grid.two,.vf-form .builder-layout { display:grid; grid-template-columns:1fr; gap:28px; }
 .vf-card { padding:26px; }
 .vf-flow { flex-direction:column; align-items:start; }
 .vf-flow > span { transform:rotate(90deg); }
 .vf-form .choices { grid-template-columns:1fr; }
 .vf-form .builder-summary { position:static; }
 .vf-section-head { margin-bottom:28px; }
}
