/* Halbert letter layout (2026-10-24). Light mode, dark ink. The letter fills about 75% of a
   desktop screen; type is larger and long lists run in two columns so lines stay readable. */
.vp-letter{padding:104px 0;background:#ffffff;color:#141c2b}
.vp-letter.vp-letter-alt{background:#f7f9fe}
.vp-letter-col{width:min(75vw,1180px);margin-inline:auto}
.vp-letter .vp-kicker{margin:0 0 14px;color:var(--blue,#1748e8)}
.vp-letter h2{margin:64px 0 20px;color:#111a2b;font-size:clamp(30px,2.8vw,42px);font-weight:600;line-height:1.16;letter-spacing:-.025em}
.vp-letter .vp-kicker + h2,.vp-letter h2:first-child{margin-top:0}
.vp-letter p,.vp-letter li{color:#2c3647;font-size:21px;line-height:1.7}
.vp-letter p{margin:0 0 22px}
.vp-letter p strong,.vp-letter li strong{color:#111a2b;font-weight:600}
.vp-letter a{color:#12379f;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.vp-letter a.vp-primary{color:#fff;text-decoration:none}
.vp-letter a.vp-secondary{color:#12379f;text-decoration:none;border:1px solid rgba(23,72,232,.25);background:#fff}
.vp-letter .vp-salute{color:#111a2b;font-weight:600}
.vp-letter ul.vp-bullets{margin:0 0 28px;padding:0;list-style:none}
.vp-letter ul.vp-bullets li{position:relative;padding:0 0 20px 30px;font-size:19px}
.vp-letter ul.vp-bullets li::before{content:"";position:absolute;left:4px;top:.62em;width:11px;height:11px;border-radius:3px;background:var(--blue,#1748e8)}
.vp-letter ol.vp-steps{margin:0 0 28px;padding:0;list-style:none;counter-reset:vpstep}
.vp-letter ol.vp-steps li{position:relative;padding:0 0 20px 56px;counter-increment:vpstep}
.vp-letter ol.vp-steps li::before{content:counter(vpstep);position:absolute;left:0;top:2px;width:36px;height:36px;border-radius:50%;background:#111a2b;color:#fff;font:600 16px/36px Inter,system-ui,sans-serif;text-align:center}
.vp-math{margin:28px 0 14px;padding:24px 28px 18px;border:1px solid #d6deea;border-radius:14px;background:#fbfcfe;font-variant-numeric:tabular-nums}
.vp-math + .vp-math{margin-top:16px}
.vp-math-grid{display:grid;gap:20px;margin:28px 0 14px}
.vp-math-grid .vp-math{margin:0}
.vp-math-head{margin:0 0 6px;color:#5d6a7e;font:600 11px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.14em;text-transform:uppercase}
.vp-math-row{display:flex;align-items:baseline;justify-content:space-between;gap:18px;padding:11px 0;border-bottom:1px dashed #cdd6e4;color:#2c3647;font-size:17px;line-height:1.5}
.vp-math-row span{flex:1 1 auto;min-width:0}
.vp-math-row b{flex:0 0 auto;color:#111a2b;font-weight:600;white-space:nowrap}
.vp-math-row.vp-total{border-bottom:3px double #111a2b;color:#111a2b;font-weight:600}
.vp-math-row.vp-us{color:#111a2b;font-weight:600}
.vp-math-row.vp-us b{color:var(--blue,#1748e8)}
.vp-math-row.vp-diff{padding-top:16px;border-bottom:0;color:#111a2b;font-size:20px;font-weight:700}
.vp-math-row.vp-diff b{color:var(--blue,#1748e8);font-weight:800}
.vp-letter p.vp-cite{color:#5d6a7e;font-size:14px;line-height:1.65}
.vp-letter .vp-cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin:8px 0 28px}
.vp-letter .vp-cta-row p{margin:0;color:#5d6a7e;font-size:15px}
.vp-letter .vp-ps{margin-top:44px;padding-top:28px;border-top:1px solid #d6deea}
.vp-compare-wrap{overflow-x:auto;margin:28px 0 14px;border:1px solid #e2e6ea;border-radius:12px}
.vp-compare{width:100%;min-width:760px;border-collapse:collapse;background:#fff;font-size:15px;line-height:1.55}
.vp-compare th,.vp-compare td{padding:12px 14px;border:1px solid #e2e6ea;color:#26303f;text-align:left;vertical-align:top}
.vp-compare thead th{position:sticky;top:0;background:#f3f5f8;color:#111a2b;font-weight:600}
.vp-compare tbody tr:nth-child(even) td{background:#fcfdfe}
.vp-compare tbody th[scope=row]{width:200px;background:#fbfcfd;color:#111a2b;font-weight:600}
.vp-compare .vp-us-col,.vp-compare tbody tr:nth-child(even) td.vp-us-col{background:#eef7ff;color:#0f1d33;font-weight:600}
.vp-compare thead th.vp-us-col{background:#d7ebfb}
.vp-compare tr.vp-band th{background:#eef1f4;color:#3c4758;font:600 11.5px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;text-transform:uppercase}
.vp-hero p.vp-hero-source{position:relative;z-index:2;max-width:640px;margin:14px auto 0;padding:8px 14px;border-radius:10px;background:rgba(255,255,255,.86);text-align:center;color:#5d6a7e;font-size:12.5px;line-height:1.6}
.vp-hero{height:auto;min-height:860px;padding-bottom:150px}
.vp-hero h1{font-size:clamp(44px,5.2vw,76px)}
.vp-hero p.vp-hero-description{padding:8px 12px;border-radius:12px;background:rgba(251,252,255,.8);color:#4f5b70}
@media(min-width:900px){.vp-letter ul.vp-bullets{display:grid;grid-template-columns:1fr 1fr;column-gap:56px}.vp-math-grid{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.vp-letter-col{width:calc(100% - 36px)}}
@media(max-width:760px){.vp-hero{min-height:820px;padding-bottom:140px}.vp-hero h1{font-size:42px}.vp-letter{padding:64px 0}.vp-letter p,.vp-letter li,.vp-letter ul.vp-bullets li{font-size:17.5px}.vp-letter h2{margin-top:44px;font-size:28px}.vp-math{padding:16px 16px 12px}.vp-math-row{font-size:15.5px}.vp-math-row.vp-diff{font-size:18px}.vp-letter ol.vp-steps li{padding-left:48px}.vp-compare{font-size:14px}}

/* Round 3: inline demo, buy box Team row and mini FAQ (2026-10-24). */
.vp-video-sec{padding:8px 0 80px;background:#fbfcff}
/* No hero art (Angelo, 2026-10-24): the hero is sized by its copy and runs straight into the demo. */
.vp-hero{height:auto;min-height:0;padding-bottom:40px;background:#fbfcff}
.vp-hero .vp-hero-copy{padding-top:64px}
.vp-hero p.vp-hero-description{max-width:760px;padding:0;background:none;font-size:19px}
.vp-hero p.vp-hero-source,.vp-hero p.vp-hero-route{background:#fff;border:1px solid #e2e6ea}
@media(max-width:760px){.vp-hero{min-height:0;padding-bottom:28px}.vp-hero .vp-hero-copy{padding-top:40px}.vp-hero p.vp-hero-description{font-size:16px}.vp-video-sec{padding:4px 0 56px}}
.vp-inline-video{margin:0}
.vp-inline-video .vpv-frame{box-shadow:0 24px 60px rgba(17,26,43,.18)}
.vp-inline-video figcaption{margin-top:12px;color:#5d6a7e;font-size:14px;text-align:center}
.vp-hero p.vp-hero-route{position:relative;z-index:2;display:table;margin:14px auto 0;padding:8px 14px;border-radius:12px;background:rgba(255,255,255,.88);color:#2c3647;font-size:15px;text-align:center}
.vp-hero p.vp-hero-route a{color:#12379f;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.vp-team-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0 0;padding:14px 16px;border:1px solid #d6deea;border-radius:12px;background:#fff;color:#111a2b;font-size:14px;font-weight:600;text-decoration:none}
.vp-team-row:hover{border-color:#12379f}
.vp-team-row small{display:block;margin-top:3px;color:#5d6a7e;font-size:12.5px;font-weight:400}
.vp-team-note{margin:8px 0 0;color:#5d6a7e;font-size:12.5px;text-align:center}
.vp-team-note a{color:#12379f;text-decoration:underline;text-underline-offset:2px}
.vp-mini-faq h2{margin:14px 0 22px}
.vp-mini-faq dl{margin:0;max-width:560px}
.vp-mini-faq dt{margin:0 0 6px;color:#111a2b;font-size:17px;font-weight:600}
.vp-mini-faq dd{margin:0 0 20px;color:#4b5768;font-size:16px;line-height:1.65}
.vp-letter h3.vp-group{margin:40px 0 18px;color:#111a2b;font-size:24px;font-weight:600;line-height:1.3;letter-spacing:-.01em}
.vp-letter .vp-kicker + h2 + p + h3.vp-group{margin-top:28px}
.vp-ref-intro{padding:40px 0 8px;background:#fff}
.vp-ref-intro p{font-size:17px!important;color:#4b5768!important}
.vp-ref-intro ul{margin:8px 0 0;padding-left:20px}
.vp-ref-intro li{font-size:16px!important;line-height:1.7}
.vp-reference .vp-win,.vp-reference .vp-guide,.vp-reference .vp-prose{padding:44px 0}
.vp-reference .vp-win h2,.vp-reference .vp-guide h2,.vp-reference .vp-prose h2,.vp-reference .vp-faq h2,.vp-reference .vp-edition-head h2{margin:10px 0 16px;font-size:clamp(24px,2.2vw,30px);font-weight:600;line-height:1.25;letter-spacing:-.015em}
.vp-reference .vp-edition-head h2 span,.vp-reference .vp-faq h2 span{display:inline}
.vp-reference .vp-faq{padding-top:44px;padding-bottom:44px}
.vp-reference .vp-editions{padding-top:44px;padding-bottom:44px}
.vp-close-mark{padding:28px 0;background:#111a2b;color:#fff;text-align:center;font:600 12px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.16em;text-transform:uppercase}

/* Second headline line: a little air between the two sentences (Angelo 2026-10-24). */
.vp-hero h1 br + em{display:block;margin-top:.22em}
.vp-hero h1 .vp-stress{font-style:italic;text-decoration:underline;text-decoration-thickness:.06em;text-underline-offset:.12em}
