/* The V₀ / V₀.₅ family: one reusable prior, two distinct learning decisions. */
.vfv-family { margin-block:30px; padding:30px; border:1px solid var(--line); border-radius:18px; background:var(--white); min-width:0; }
.vfv-heading { display:flex; align-items:center; gap:17px; }
.vfv-family-icon { display:grid; place-items:center; width:54px; height:54px; flex:none; color:var(--accent); background:var(--accent-light); border:1px solid var(--line); border-radius:13px; }
.vfv-icon { display:block; width:30px; height:30px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.vfv-kicker { color:var(--accent); font-size:16px; line-height:1.6; letter-spacing:.04em; text-transform:uppercase; font-weight:600; }
.vfv-heading h3 { color:var(--accent); font:34px/1.25 Georgia,"Times New Roman",serif; letter-spacing:-.025em; margin-top:4px; }
.vfv-role { margin-top:20px; color:var(--ink); font-size:20px; line-height:1.5; font-weight:600; }
.vfv-intro { color:var(--muted); font-size:18px; line-height:1.8; margin-top:13px; max-width:82ch; }
.vfv-shared-prior { margin-top:27px; }
.vfv-context-label { display:flex; align-items:center; justify-content:center; gap:11px; color:var(--muted); font-size:16px; line-height:1.6; }
.vfv-context-label>.vfv-icon { width:24px; height:24px; flex:none; }
.vfv-prior-node { display:flex; align-items:center; justify-content:center; gap:20px; width:min(100%,530px); margin:15px auto 0; padding:19px 24px; border:1px solid var(--accent); background:var(--accent-light); border-radius:12px; position:relative; }
.vfv-prior-mark { display:grid; place-items:center; width:54px; height:54px; flex:none; color:var(--accent); background:var(--white); border-radius:12px; }
.vfv-prior-mark>.vfv-icon { width:34px; height:34px; }
.vfv-prior-node strong { color:var(--accent); font-size:20px; line-height:1.5; font-weight:600; display:block; }
.vfv-prior-node p { color:var(--muted); font-size:16px; line-height:1.7; margin-top:4px; }
.vfv-split-rail { position:relative; height:36px; margin-inline:25%; color:var(--accent); }
.vfv-split-rail::before { content:""; position:absolute; left:50%; top:0; height:17px; border-left:1.5px solid currentColor; }
.vfv-split-rail>i { position:absolute; left:0; right:0; top:16px; border-top:1.5px solid currentColor; }
.vfv-split-rail>span { position:absolute; left:0; top:16px; height:20px; border-left:1.5px solid currentColor; }
.vfv-split-rail>span:last-child { left:auto; right:0; }
.vfv-split-rail>span::after { content:""; position:absolute; left:-4px; bottom:-1px; width:0; height:0; border:3.5px solid transparent; border-top:5px solid currentColor; border-bottom:0; }
.vfv-branches { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.vfv-branch { padding:23px; border:1px solid var(--line); border-radius:12px; background:var(--paper); display:flex; flex-direction:column; min-width:0; }
.vfv-branch-1 { background:#faf8f3; }
.vfv-branch-heading { display:flex; align-items:center; gap:13px; }
.vfv-branch-icon { display:grid; place-items:center; width:42px; height:42px; border-radius:10px; background:var(--white); border:1px solid var(--line); color:var(--accent); flex:none; }
.vfv-branch-icon>.vfv-icon { width:25px; height:25px; }
.vfv-branch-heading h4 { color:var(--accent); font:29px/1.2 Georgia,serif; margin:0; }
.vfv-branch-heading p { color:var(--muted); font-size:16px; line-height:1.5; margin-top:5px; }
.vfv-branch h5 { color:var(--ink); font-size:20px; line-height:1.5; font-weight:600; margin:19px 0 0; }
.vfv-branch-body { font-size:18px; line-height:1.8; color:var(--muted); margin-block:13px 17px; }
.vfv-citation { color:var(--muted); font-size:16px; line-height:1.7; margin-top:auto; }
.vfv-citation summary { cursor:pointer; width:fit-content; }
.vfv-citation p { font-size:16px; line-height:1.7; margin-top:8px; }
.vfv-links { display:flex; flex-wrap:wrap; gap:12px 19px; margin-top:17px; }
.vfv-links a { display:inline-flex; align-items:center; gap:6px; color:var(--accent); font-size:16px; font-weight:600; line-height:1.5; text-decoration:none; }
.vfv-links a:hover { text-decoration:underline; }
.vfv-links svg { display:block; width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.vfv-takeaway { font:21px/1.65 Georgia,serif; color:var(--accent); border-top:1px solid var(--line); padding-top:21px; margin-top:27px; }
.vfv-note { color:var(--muted); font-size:16px; line-height:1.75; margin-top:11px; }
@media(max-width:1150px) { .vfv-family { padding:25px; }.vfv-branches { gap:18px; }.vfv-branch { padding:20px; } }
@media(max-width:700px) {
  .vfv-family { padding:24px 20px; }
  .vfv-heading { gap:13px; align-items:flex-start; }
  .vfv-family-icon { width:45px; height:45px; border-radius:11px; }
  .vfv-family-icon>.vfv-icon { width:27px; height:27px; }
  .vfv-kicker { font-size:16px; }
  .vfv-heading h3 { font-size:32px; margin-top:7px; }
  .vfv-role { font-size:20px; }
  .vfv-prior-node { padding:18px 17px; gap:14px; align-items:flex-start; }
  .vfv-prior-mark { width:43px; height:43px; border-radius:10px; }
  .vfv-prior-mark>.vfv-icon { width:29px; height:29px; }
  .vfv-prior-node strong { font-size:20px; }
  .vfv-context-label { justify-content:flex-start; }
  .vfv-split-rail { height:27px; margin-inline:50%; }
  .vfv-split-rail::before { height:27px; }
  .vfv-split-rail>i,.vfv-split-rail>span:last-child { display:none; }
  .vfv-split-rail>span { top:17px; height:10px; }
  .vfv-branches { grid-template-columns:minmax(0,1fr); gap:20px; }
  .vfv-branch { padding:22px 18px; }
  .vfv-branch-1 { position:relative; }
  .vfv-branch-1::before { content:"Also uses the value prior"; display:block; color:var(--accent); font-size:16px; line-height:1.6; padding-bottom:15px; margin-bottom:17px; border-bottom:1px solid var(--line); }
  .vfv-branch-body { font-size:18px; }
  .vfv-takeaway { font-size:21px; }
}
@media print { .vfv-family { break-inside:avoid; }.vfv-branches { grid-template-columns:1fr 1fr; }.vfv-branch-1::before { display:none; } }
