/* ==========================================================================
   Van to Vault redesign preview (session 33:not(.vtv-r2 *), 28 Sep 2026)
   ONE stylesheet. Two directions differ ONLY in the token block at the top.
   Loaded only for visitors who opened a ?vtvpreview=a|b link (cookie).
   Everything below the tokens reads var(--...) so a future change is one value.
   ========================================================================== */

/* ---------- 1. TOKENS ---------------------------------------------------- */
html[data-vtv]:not(.vtv-r2 *){
  /* type scale: 8 steps, 13px floor (D1 research) */
  --fs-xs:.8125rem; --fs-sm:.9375rem; --fs-base:1.125rem; --fs-md:1.375rem;
  --fs-lg:1.75rem; --fs-xl:2.1875rem; --fs-2xl:2.75rem; --fs-3xl:3.4rem;
  --lh-body:1.6; --lh-tight:1.15; --lh-table:1.4;
  --measure:44rem; --wide:1040px; --container:1240px;
  --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px; --sp-5:24px; --sp-6:32px; --sp-7:48px; --sp-8:64px; --sp-9:96px;
  --btn-h:46px; --btn-h-lg:52px;
}
@media (max-width:640px){ html[data-vtv]:not(.vtv-r2 *){ --fs-base:1.0625rem; --fs-md:1.25rem; --fs-lg:1.5rem; --fs-xl:1.8rem; --fs-2xl:2.2rem; --fs-3xl:2.6rem; } }



/* ==== ROUND 2 (session 34): all sans-serif:not(.vtv-r2 *), higher size contrast:not(.vtv-r2 *), more padding:not(.vtv-r2 *), soft corners and shadows ==== */
html[data-vtv2]:not(.vtv-r2 *){
  /* px on purpose: this theme sets the root font size to 18px, so rem values here would come out 12.5% large */
  --fs-xs:13px; --fs-sm:15px; --fs-base:18px; --fs-md:21px;
  --fs-lg:40px; --fs-xl:42px; --fs-2xl:56px; --fs-3xl:68px; --lh-tight:1.08;
  --wide:1120px; --measure:46rem; --radius-btn:12px;
  --sh-soft:0 1px 2px rgba(16,24,40,.05),0 18px 40px -22px rgba(16,24,40,.28);
}
@media (max-width:640px){ html[data-vtv2]:not(.vtv-r2 *){ --fs-base:17px; --fs-md:19px; --fs-lg:30px; --fs-xl:32px; --fs-2xl:38px; --fs-3xl:44px; } }
/* C — Harbor: teal kept from the logo */
html[data-vtv="c"]:not(.vtv-r2 *){
  --f-display:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif; --f-text:"Instrument Sans",system-ui,-apple-system,"Segoe UI",sans-serif; --f-body:var(--f-text);
  --w-h:800; --w-bold:700;
  --c-bg:#FFFFFF; --c-surface:#F2F6F5; --c-surface-2:#E6EEEC; --c-text:#12201E; --c-text-2:#3D4B48; --c-muted:#5D6B68;
  --c-border:#DCE5E2; --c-border-strong:#8FA09C;
  --c-brand:#0E4F4A; --c-brand-hover:#0A3B37; --c-brand-tint:#E2EFEC; --c-on-brand:#FFFFFF;
  --c-accent:#C98A1B; --c-ahead:#1D5FA8; --c-ahead-tint:#EAF1F9; --c-behind:#C2410C; --c-behind-tint:#FBEDE6;
  --c-chart-1:#0E4F4A; --c-chart-2:#C2410C; --c-chart-ctx:#9CA3AF; --c-foot:#0B2E2B;
  --radius:12px; --radius-card:18px; --radius-btn:12px; --shadow:var(--sh-soft); --rule:1px solid var(--c-border);
}

/* ---------- 2. BASE ------------------------------------------------------- */
html[data-vtv] body:not(.vtv-r2 *){ background:var(--c-bg)!important; color:var(--c-text)!important; font-family:var(--f-text)!important;
  font-size:var(--fs-base)!important; line-height:var(--lh-body)!important; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility }
html[data-vtv] #page:not(.vtv-r2 *), html[data-vtv] .site-content:not(.vtv-r2 *), html[data-vtv] .ast-plain-container:not(.vtv-r2 *), html[data-vtv] .ast-container:not(.vtv-r2 *){ background:transparent!important }
html[data-vtv] .entry-content p:not(.vtv-r2 *), html[data-vtv] .entry-content li:not(.vtv-r2 *), html[data-vtv] .entry-content td:not(.vtv-r2 *), html[data-vtv] .entry-content dd:not(.vtv-r2 *){ font-size:var(--fs-base) }
html[data-vtv] .single-post .entry-content > p:not(.vtv-r2 *), html[data-vtv] .single-post .entry-content > ul li:not(.vtv-r2 *), html[data-vtv] .single-post .entry-content > ol li:not(.vtv-r2 *),
html[data-vtv] .vtv7 > p:not(.vtv-r2 *), html[data-vtv] .vtv7 li:not(.vtv-r2 *){ font-family:var(--f-body)!important; color:var(--c-text-2) }
html[data-vtv] h1:not(.vtv-r2 *), html[data-vtv] h2:not(.vtv-r2 *), html[data-vtv] h3:not(.vtv-r2 *), html[data-vtv] h4:not(.vtv-r2 *),
html[data-vtv] .entry-title:not(.vtv-r2 *), html[data-vtv] .entry-content h1:not(.vtv-r2 *), html[data-vtv] .entry-content h2:not(.vtv-r2 *), html[data-vtv] .entry-content h3:not(.vtv-r2 *){
  font-family:var(--f-display)!important; font-weight:var(--w-h)!important; color:var(--c-text)!important; line-height:var(--lh-tight)!important;
  letter-spacing:-.01em!important; text-wrap:balance; font-style:normal!important }
html[data-vtv] h1:not(.vtv-r2 *), html[data-vtv] .entry-title:not(.vtv-r2 *){ font-size:var(--fs-2xl)!important; margin:0 0 var(--sp-4)!important }
html[data-vtv] .entry-content h2:not(.vtv-r2 *), html[data-vtv] .vtv7 h2:not(.vtv-r2 *){ font-size:var(--fs-lg)!important; margin:var(--sp-7) 0 var(--sp-3)!important; color:var(--c-text)!important }
html[data-vtv] .entry-content h3:not(.vtv-r2 *), html[data-vtv] .vtv7 h3:not(.vtv-r2 *){ font-size:var(--fs-md)!important; margin:var(--sp-6) 0 var(--sp-2)!important }
html[data-vtv] h1 em:not(.vtv-r2 *), html[data-vtv] h2 em:not(.vtv-r2 *){ font-style:italic!important; color:inherit!important }
html[data-vtv] a:not(.vtv-r2 *){ color:var(--c-brand); text-decoration-thickness:1px; text-underline-offset:3px }
html[data-vtv] a:hover:not(.vtv-r2 *){ color:var(--c-brand-hover) }
html[data-vtv] .entry-content a:not([class]):not(.vtv-r2 *){ text-decoration:underline }
html[data-vtv] :focus-visible:not(.vtv-r2 *){ outline:3px solid var(--c-ahead)!important; outline-offset:2px }
html[data-vtv] strong:not(.vtv-r2 *), html[data-vtv] b:not(.vtv-r2 *){ font-weight:var(--w-bold) }
html[data-vtv] small:not(.vtv-r2 *), html[data-vtv] figcaption:not(.vtv-r2 *), html[data-vtv] .wp-element-caption:not(.vtv-r2 *){ font-family:var(--f-text)!important; font-size:var(--fs-sm)!important;
  color:var(--c-muted)!important; line-height:1.45 }

/* Reading column: long-form families get a 68ch measure; wide things break out */
html[data-vtv] .single-post .entry-content:not(.vtv-r2 *), html[data-vtv] .entry-content:has(.vtv7) > *:not(.vtv7):not(.vtv-r2 *), html[data-vtv] .vtv7:not(.vtv-r2 *){ max-width:var(--measure); margin-inline:auto }
html[data-vtv] .entry-content:has(.vtv7) > .vtv7 > *:not(.vtv-r2 *){ max-width:100% }
html[data-vtv] .entry-content:has(.vtv7) ~ *:not(.vtv-r2 *), html[data-vtv] .page .entry-header:has(+ .entry-content .vtv7):not(.vtv-r2 *){ max-width:var(--measure); margin-inline:auto }
html[data-vtv] .single-post .entry-content > figure:not(.vtv-r2 *), html[data-vtv] .single-post .entry-content > .wp-block-table:not(.vtv-r2 *),
html[data-vtv] .vtv7 .v7-kpis:not(.vtv-r2 *), html[data-vtv] .vtv7 .v7-bars:not(.vtv-r2 *), html[data-vtv] .vtv7 figure.wp-block-table:not(.vtv-r2 *){ max-width:min(var(--wide),92vw); margin-inline:auto }

/* ---------- 3. HEADER:not(.vtv-r2 *), RATE BAR:not(.vtv-r2 *), NAV ------------------------------------- */
html[data-vtv] #page::before{ font-family:var(--f-text)!important; font-size:var(--fs-xs)!important; letter-spacing:.02em; color:var(--c-text-2)!important;
  background:var(--c-surface)!important; border-bottom:1px solid var(--c-border)!important; padding:8px 16px!important }
html[data-vtv] .site-header:not(.vtv-r2 *), html[data-vtv] .main-header-bar:not(.vtv-r2 *), html[data-vtv] .ast-primary-header-bar:not(.vtv-r2 *), html[data-vtv] .ast-mobile-header-wrap .ast-primary-header-bar:not(.vtv-r2 *){
  background:var(--c-bg)!important; border-bottom:1px solid var(--c-border)!important; box-shadow:none!important }
html[data-vtv] .ast-primary-header-bar .site-primary-header-wrap:not(.vtv-r2 *){ min-height:72px!important }
html[data-vtv] .site-title:not(.vtv-r2 *), html[data-vtv] .site-title a:not(.vtv-r2 *){ font-family:var(--f-display)!important; font-weight:var(--w-h)!important; color:var(--c-text)!important; font-size:1.6rem!important; letter-spacing:-.01em }
html[data-vtv] .main-header-menu .menu-link:not(.vtv-r2 *), html[data-vtv] .ast-builder-menu .menu-link:not(.vtv-r2 *){ font-family:var(--f-text)!important; font-size:1rem!important;
  font-weight:600!important; color:var(--c-text)!important; letter-spacing:0!important }
html[data-vtv] .main-header-menu .menu-link:hover:not(.vtv-r2 *), html[data-vtv] .main-header-menu .current-menu-item > .menu-link:not(.vtv-r2 *){ color:var(--c-brand)!important }
html[data-vtv] .main-header-menu .sub-menu:not(.vtv-r2 *){ border:1px solid var(--c-border)!important; border-radius:var(--radius-card)!important; box-shadow:0 12px 32px -18px rgba(0,0,0,.35)!important; padding:8px 0!important }
html[data-vtv] .main-header-menu .sub-menu .menu-link:not(.vtv-r2 *){ font-weight:500!important; font-size:.975rem!important; padding:10px 18px!important }
/* the last nav item becomes the one primary button (D2: "Get the metro report") */
html[data-vtv] .main-header-menu > .menu-item:last-child > .menu-link:not(.vtv-r2 *){ background:var(--c-brand)!important; color:var(--c-on-brand)!important;
  border-radius:var(--radius)!important; padding:0 18px!important; line-height:42px!important; height:42px; margin-left:8px }

html[data-vtv] .ast-menu-toggle:not(.vtv-r2 *){ background:transparent!important; color:var(--c-text)!important; box-shadow:none!important }

/* ---------- 4. BUTTONS AND FORMS ----------------------------------------- */
html[data-vtv] .wp-block-button__link:not(.vtv-r2 *), html[data-vtv] .vtv-btn:not(.vtv-r2 *), html[data-vtv] .vtv-cta a:not(.vtv-r2 *), html[data-vtv] .ast-button:not(.vtv-r2 *), html[data-vtv] .entry-content button:not(.vtv-r2 *),
html[data-vtv] input[type=submit]:not(.vtv-r2 *), html[data-vtv] .button:not(.vtv-r2 *), html[data-vtv] a.vtv-button:not(.vtv-r2 *){
  font-family:var(--f-text)!important; font-size:1rem!important; font-weight:650!important; min-height:var(--btn-h)!important;
  padding:0 22px!important; border-radius:var(--radius)!important; background:var(--c-brand)!important; color:var(--c-on-brand)!important;
  border:0!important; display:inline-flex!important; align-items:center; justify-content:center; gap:8px; text-decoration:none!important; letter-spacing:0!important;
  box-shadow:none!important; text-transform:none!important }
html[data-vtv] .wp-block-button__link:hover:not(.vtv-r2 *), html[data-vtv] .vtv-btn:hover:not(.vtv-r2 *), html[data-vtv] .entry-content button:hover:not(.vtv-r2 *), html[data-vtv] input[type=submit]:hover:not(.vtv-r2 *){ background:var(--c-brand-hover)!important }
html[data-vtv] input[type=text]:not(.vtv-r2 *), html[data-vtv] input[type=email]:not(.vtv-r2 *), html[data-vtv] input[type=number]:not(.vtv-r2 *), html[data-vtv] input[type=search]:not(.vtv-r2 *), html[data-vtv] select:not(.vtv-r2 *), html[data-vtv] textarea:not(.vtv-r2 *){
  font-family:var(--f-text)!important; font-size:1rem!important; min-height:var(--btn-h)!important; border:1px solid var(--c-border-strong)!important;
  border-radius:var(--radius)!important; background:#fff!important; color:var(--c-text)!important; padding:0 14px!important }
html[data-vtv] label:not(.vtv-r2 *){ font-family:var(--f-text); font-size:var(--fs-sm); font-weight:600; color:var(--c-text) }

/* ---------- 5. TABLES AND CHARTS ----------------------------------------- */
html[data-vtv] .entry-content table:not(.vtv-r2 *){ font-family:var(--f-text)!important; font-size:var(--fs-sm)!important; font-variant-numeric:tabular-nums lining-nums;
  border-collapse:collapse!important; width:100%; background:#fff; border:0!important; border-top:var(--rule)!important; border-radius:0!important }
html[data-vtv] .entry-content th:not(.vtv-r2 *){ font-size:var(--fs-xs)!important; font-weight:700!important; text-transform:uppercase; letter-spacing:.06em;
  color:var(--c-muted)!important; background:transparent!important; border:0!important; border-bottom:1px solid var(--c-border-strong)!important; padding:10px 12px!important; text-align:left }
html[data-vtv] .entry-content td:not(.vtv-r2 *){ font-size:var(--fs-sm)!important; border:0!important; border-bottom:1px solid var(--c-border)!important; padding:10px 12px!important; line-height:var(--lh-table); color:var(--c-text)!important }
html[data-vtv] .entry-content tr:nth-child(even) td:not(.vtv-r2 *){ background:transparent!important }
html[data-vtv] .entry-content td:not(:first-child):not(.vtv-r2 *){ text-align:right }

/* ---------- 6. CITY PAGE (.vtv7): remap its local variables:not(.vtv-r2 *), raise the floor */
html[data-vtv] .vtv7:not(.vtv-r2 *){ --gold:var(--c-accent); --teal:var(--c-brand); --cream:var(--c-surface); --ink:var(--c-text); --line:var(--c-border); --muted:var(--c-muted);
  font-size:var(--fs-base)!important; line-height:var(--lh-body)!important }
html[data-vtv] .vtv7 .v7-strip:not(.vtv-r2 *){ border-top:var(--rule); gap:8px 20px; padding:12px 0 }
html[data-vtv] .vtv7 .v7-brand:not(.vtv-r2 *), html[data-vtv] .vtv7 .v7-meta:not(.vtv-r2 *){ font-family:var(--f-text); font-size:var(--fs-xs)!important }
html[data-vtv] .vtv7 .v7-flag:not(.vtv-r2 *){ font-family:var(--f-text); font-size:var(--fs-xs)!important; border-radius:999px; padding:3px 10px; background:var(--c-surface-2)!important; color:var(--c-text-2)!important; border:1px solid var(--c-border) } /* S41 v6.4: neutral chip (form s40 qchip=neutral) */
html[data-vtv] .vtv7 .v7-verdict:not(.vtv-r2 *){ display:block; font-family:var(--f-text); font-size:var(--fs-md)!important; line-height:1.4; border:0; border-left:6px solid var(--c-brand);
  background:var(--c-brand-tint); border-radius:var(--radius); padding:var(--sp-5)!important }
html[data-vtv] .vtv7 .v7-kpis:not(.vtv-r2 *){ gap:var(--sp-4); background:transparent; border:0; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)) }
html[data-vtv] .vtv7 .v7-kpi:not(.vtv-r2 *){ background:var(--c-surface); border-radius:var(--radius-card); padding:var(--sp-5)!important; box-shadow:var(--shadow); border-top:3px solid var(--c-brand) }
html[data-vtv] .vtv7 .v7-kpi .n:not(.vtv-r2 *){ font-family:var(--f-text); font-size:var(--fs-xl)!important; font-weight:700; font-variant-numeric:tabular-nums; color:var(--c-text)!important; letter-spacing:-.02em }
html[data-vtv] .vtv7 .v7-kpi .n.neg:not(.vtv-r2 *){ color:var(--c-behind)!important }
html[data-vtv] .vtv7 .v7-kpi .l:not(.vtv-r2 *){ font-family:var(--f-text); font-size:var(--fs-sm)!important; font-weight:650; color:var(--c-text) }
html[data-vtv] .vtv7 .v7-kpi .s:not(.vtv-r2 *){ font-family:var(--f-text); font-size:var(--fs-xs)!important; color:var(--c-muted) }
html[data-vtv] .vtv7 .v7-bars:not(.vtv-r2 *){ border:0; border-top:var(--rule); padding:var(--sp-5) 0; background:transparent }
html[data-vtv] .vtv7 .v7-bars h3:not(.vtv-r2 *){ font-size:var(--fs-md)!important; color:var(--c-text)!important; margin:0 0 4px!important }
html[data-vtv] .vtv7 .v7-bars .cap:not(.vtv-r2 *), html[data-vtv] .vtv7 .v7-row .lab:not(.vtv-r2 *), html[data-vtv] .vtv7 .v7-val:not(.vtv-r2 *){ font-family:var(--f-text); font-size:var(--fs-sm)!important }
html[data-vtv] .vtv7 .v7-row .lab:not(.vtv-r2 *){ width:7rem }
html[data-vtv] .vtv7 .v7-track:not(.vtv-r2 *){ height:28px; border:0; background:var(--c-surface-2); border-radius:var(--radius) }
html[data-vtv] .vtv7 .v7-fill:not(.vtv-r2 *){ background:var(--c-chart-2) } html[data-vtv] .vtv7 .v7-fill.own:not(.vtv-r2 *){ background:var(--c-chart-1) }
html[data-vtv] .vtv7 .v7-note:not(.vtv-r2 *){ font-family:var(--f-text); font-size:var(--fs-base)!important; background:var(--c-surface); border:0; border-left:4px solid var(--c-accent);
  border-radius:var(--radius); padding:var(--sp-5)!important }
html[data-vtv] .vtv7 .v7-links a:not(.vtv-r2 *){ font-family:var(--f-text); font-size:var(--fs-sm)!important; min-height:44px; display:inline-flex; align-items:center;
  border-radius:var(--radius); background:#fff; border:1px solid var(--c-border-strong) }
html[data-vtv] .vtv7 .v7-src:not(.vtv-r2 *), html[data-vtv] .vtv7 .v7-src li:not(.vtv-r2 *), html[data-vtv] .vtv-sources li:not(.vtv-r2 *){ font-family:var(--f-text)!important; font-size:var(--fs-sm)!important }
html[data-vtv] .vtv7 .v7-faq h3:not(.vtv-r2 *){ font-size:var(--fs-md)!important }
html[data-vtv] .vtv7 figure img:not(.vtv-r2 *), html[data-vtv] .entry-content figure img:not(.vtv-r2 *){ border-radius:var(--radius-card) }

/* ---------- 7. SHARED EDITORIAL COMPONENTS -------------------------------- */
html[data-vtv] .vtv-capsule:not(.vtv-r2 *){ background:var(--c-surface)!important; border:0!important; border-top:3px solid var(--c-brand)!important; border-radius:var(--radius-card)!important;
  box-shadow:var(--shadow)!important; padding:var(--sp-7) var(--sp-6) var(--sp-5)!important; font-size:var(--fs-md)!important; line-height:1.5!important; font-family:var(--f-text)!important }
html[data-vtv] .vtv-capsule::before{ top:var(--sp-5)!important; left:var(--sp-6)!important; font-family:var(--f-text)!important; font-size:var(--fs-xs)!important; letter-spacing:.08em!important; color:var(--c-brand)!important }
html[data-vtv] .vtv-answer:not(.vtv-r2 *){ font-family:var(--f-text)!important; font-size:var(--fs-md)!important; font-weight:500!important; border-left:3px solid var(--c-brand)!important; color:var(--c-text)!important }
html[data-vtv] .vtv-pullq:not(.vtv-r2 *), html[data-vtv] blockquote:not(.vtv-r2 *){ font-family:var(--f-display)!important; font-size:var(--fs-lg)!important; line-height:1.3!important;
  border-left:0!important; border-top:var(--rule)!important; padding:var(--sp-5) 0 0!important; color:var(--c-text)!important; font-style:italic }
html[data-vtv] .vtv-nextstep:not(.vtv-r2 *), html[data-vtv] .vtv-explainer:not(.vtv-r2 *), html[data-vtv] .vtv-ps:not(.vtv-r2 *){ border-radius:var(--radius-card)!important; font-family:var(--f-text)!important; font-size:var(--fs-base)!important }
html[data-vtv] .vtv-sitewide-ctas:not(.vtv-r2 *), html[data-vtv] .vtv-ctagrid:not(.vtv-r2 *){ font-family:var(--f-text)!important }
html[data-vtv] .vtv-ctagrid > *:not(.vtv-r2 *), html[data-vtv] .vtv-sitewide-ctas > *:not(.vtv-r2 *){ border-radius:var(--radius-card)!important; background:var(--c-surface)!important; border:1px solid var(--c-border)!important;
  box-shadow:var(--shadow)!important; color:var(--c-text)!important }
html[data-vtv] .vtv-ctagrid h3:not(.vtv-r2 *), html[data-vtv] .vtv-sitewide-ctas h3:not(.vtv-r2 *), html[data-vtv] .vtv-sitewide-ctas strong:not(.vtv-r2 *){ font-family:var(--f-display)!important; color:var(--c-text)!important }

/* ---------- 8. HOME ------------------------------------------------------- */
html[data-vtv] .vtv-home:not(.vtv-r2 *){ font-family:var(--f-text)!important }
html[data-vtv] .vtv-home .vtv-land-title:not(.vtv-r2 *), html[data-vtv] .vtv-home .vtv-hero-h:not(.vtv-r2 *){ font-family:var(--f-display)!important; font-size:var(--fs-3xl)!important;
  line-height:1.05!important; font-weight:var(--w-h)!important; letter-spacing:-.02em!important; color:var(--c-text)!important }
html[data-vtv] .vtv-home .vtv-land-blurb:not(.vtv-r2 *), html[data-vtv] .vtv-home .vtv-sub:not(.vtv-r2 *){ font-size:var(--fs-md)!important; color:var(--c-text-2)!important; line-height:1.45!important }
html[data-vtv] .vtv-home .vtv-kicker:not(.vtv-r2 *), html[data-vtv] .vtv-home .vtv-mf-lab:not(.vtv-r2 *){ font-family:var(--f-text)!important; font-size:var(--fs-xs)!important; letter-spacing:.1em!important; color:var(--c-brand)!important }
html[data-vtv] .vtv-home .vtv-mf:not(.vtv-r2 *){ border:0!important; border-radius:var(--radius-card)!important; background:var(--c-surface)!important; box-shadow:var(--shadow)!important; padding:var(--sp-5)!important }
html[data-vtv] .vtv-home .vtv-mf input:not(.vtv-r2 *){ font-size:var(--fs-base)!important; min-height:var(--btn-h-lg)!important }
html[data-vtv] .vtv-home .vtv-mf button:not(.vtv-r2 *){ min-height:var(--btn-h-lg)!important; font-size:var(--fs-base)!important }
html[data-vtv] .vtv-home .vtv-mf-hint:not(.vtv-r2 *), html[data-vtv] .vtv-home .vtv-mf-links a:not(.vtv-r2 *), html[data-vtv] .vtv-home .vtv-press-lab:not(.vtv-r2 *), html[data-vtv] .vtv-home .vtv-press-names:not(.vtv-r2 *){ font-size:var(--fs-sm)!important }
html[data-vtv] .vtv-home img:not(.vtv-r2 *){ border-radius:var(--radius-card)!important }
html[data-vtv] .vtv-home .vtv-calc:not(.vtv-r2 *){ border-radius:var(--radius-card)!important; border:1px solid var(--c-border)!important; box-shadow:var(--shadow)!important }
html[data-vtv] .vtv-home .vtv-in-label:not(.vtv-r2 *), html[data-vtv] .vtv-home .vtv-out:not(.vtv-r2 *){ font-size:var(--fs-sm)!important }
html[data-vtv] .vtv-home .vtv-freepill:not(.vtv-r2 *){ font-size:var(--fs-xs)!important; border-radius:999px!important }

/* ---------- 9. FOOTER ----------------------------------------------------- */
html[data-vtv] .site-footer:not(.vtv-r2 *), html[data-vtv] .site-footer .site-below-footer-wrap:not(.vtv-r2 *), html[data-vtv] .site-footer .site-primary-footer-wrap:not(.vtv-r2 *), html[data-vtv] .site-footer .site-above-footer-wrap:not(.vtv-r2 *){
  background:var(--c-text)!important; color:#E9E6E0!important; border:0!important }
html[data-vtv] .site-footer *:not(.vtv-r2 *){ font-family:var(--f-text)!important; font-size:var(--fs-sm)!important }
html[data-vtv] .site-footer a:not(.vtv-r2 *){ color:#FFFFFF!important; text-decoration:none }
html[data-vtv] .site-footer .widget-title:not(.vtv-r2 *), html[data-vtv] .site-footer h2:not(.vtv-r2 *), html[data-vtv] .site-footer h3:not(.vtv-r2 *){ font-family:var(--f-display)!important; font-size:var(--fs-md)!important; color:#FFFFFF!important }


/* ---------- 11. WIDE BREAKOUTS (stat tiles:not(.vtv-r2 *), charts:not(.vtv-r2 *), tables leave the 68ch column) */
html[data-vtv] .vtv7 .v7-kpis:not(.vtv-r2 *), html[data-vtv] .vtv7 .v7-bars:not(.vtv-r2 *), html[data-vtv] .vtv7 figure.wp-block-table:not(.vtv-r2 *), html[data-vtv] .single-post .entry-content > .wp-block-table:not(.vtv-r2 *){
  width:min(var(--wide),calc(100vw - 32px))!important; max-width:none!important; position:relative; left:50%; transform:translateX(-50%) }
html[data-vtv] .vtv7 .v7-kpis:not(.vtv-r2 *){ grid-template-columns:repeat(4,minmax(0,1fr))!important }
@media (max-width:760px){ html[data-vtv] .vtv7 .v7-kpis:not(.vtv-r2 *){ grid-template-columns:repeat(2,minmax(0,1fr))!important } }

/* ---------- 12. POSTS: drop Astra's boxed article:not(.vtv-r2 *), readable meta line ---- */
html[data-vtv] .ast-separate-container .ast-article-single:not(.vtv-r2 *), html[data-vtv] .ast-article-single:not(.vtv-r2 *), html[data-vtv] .ast-separate-container .ast-article-post:not(.vtv-r2 *){
  background:transparent!important; padding:0!important; box-shadow:none!important; border:0!important }
html[data-vtv] .single-post .entry-header:not(.vtv-r2 *){ max-width:var(--measure); margin:var(--sp-7) auto var(--sp-5)!important; padding:0!important }
html[data-vtv] .entry-meta:not(.vtv-r2 *), html[data-vtv] .entry-meta *:not(.vtv-r2 *){ font-family:var(--f-text)!important; font-size:var(--fs-sm)!important; color:var(--c-muted)!important; font-weight:500!important }
html[data-vtv] .single-post .entry-content > p:first-child:not(.vtv-r2 *){ font-family:var(--f-text)!important; font-style:normal!important; font-size:var(--fs-sm)!important; color:var(--c-muted)!important;
  border-top:1px solid var(--c-border); border-bottom:1px solid var(--c-border); padding:var(--sp-3) 0 }
html[data-vtv] .single-post .entry-content > p:first-child *:not(.vtv-r2 *){ font-style:normal!important }

/* ---------- 13. TOOLS: the calculators' own panels:not(.vtv-r2 *), chips and result cards */
html[data-vtv] .vtv-flag:not(.vtv-r2 *){ background:var(--c-surface)!important; border:0!important; border-top:3px solid var(--c-brand)!important; border-radius:var(--radius-card)!important;
  box-shadow:var(--shadow)!important; color:var(--c-text)!important; font-family:var(--f-text)!important }
html[data-vtv] .vtv-flag *:not(.vtv-r2 *){ color:var(--c-text)!important; text-transform:none!important }
html[data-vtv] .vtv-flag h2:not(.vtv-r2 *), html[data-vtv] .vtv-flag h1:not(.vtv-r2 *), html[data-vtv] .vtv-flag strong:first-child:not(.vtv-r2 *){ font-family:var(--f-display)!important; letter-spacing:-.01em!important }
html[data-vtv] .vtv-flag-stat:not(.vtv-r2 *){ background:#fff!important; border-radius:var(--radius)!important; border:1px solid var(--c-border)!important; box-shadow:none!important }
html[data-vtv] .vtv-chip:not(.vtv-r2 *), html[data-vtv] .vtv-chipg a:not(.vtv-r2 *), html[data-vtv] .vtv-flag a:not(.vtv-r2 *){ font-family:var(--f-text)!important; font-size:var(--fs-sm)!important; font-weight:600!important;
  min-height:44px; display:inline-flex!important; align-items:center; padding:0 16px!important; border-radius:var(--radius)!important; background:#fff!important;
  color:var(--c-brand)!important; border:1px solid var(--c-border-strong)!important; box-shadow:none!important; text-decoration:none!important }
html[data-vtv] .card:not(.vtv-r2 *), html[data-vtv] .results-card:not(.vtv-r2 *){ background:#fff!important; border:1px solid var(--c-border)!important; border-radius:var(--radius-card)!important;
  box-shadow:var(--shadow)!important; font-family:var(--f-text)!important }
html[data-vtv] .result-row:not(.vtv-r2 *){ border-bottom:1px solid var(--c-border)!important; padding:10px 0!important }
html[data-vtv] .result-label:not(.vtv-r2 *){ font-family:var(--f-text)!important; font-size:var(--fs-sm)!important; color:var(--c-text-2)!important }
html[data-vtv] .result-value:not(.vtv-r2 *){ font-family:var(--f-text)!important; font-size:var(--fs-md)!important; font-weight:700!important; font-variant-numeric:tabular-nums; color:var(--c-text)!important }
html[data-vtv] .result-row.highlight .result-value:not(.vtv-r2 *), html[data-vtv] .positive:not(.vtv-r2 *){ color:var(--c-ahead)!important }
html[data-vtv] .negative:not(.vtv-r2 *){ color:var(--c-behind)!important }
html[data-vtv] .input-group label:not(.vtv-r2 *), html[data-vtv] .input-wrap label:not(.vtv-r2 *){ font-size:var(--fs-sm)!important; font-weight:600!important }
html[data-vtv] .prefix:not(.vtv-r2 *), html[data-vtv] .suffix:not(.vtv-r2 *){ font-family:var(--f-text)!important; color:var(--c-muted)!important }

/* ---------- 14. KEEP THE ADMIN BAR ITSELF (logged-in only) ---------------- */
html[data-vtv] #wpadminbar input:not(.vtv-r2 *), html[data-vtv] #wpadminbar button:not(.vtv-r2 *){ min-height:0!important; padding:0 4px!important; background:transparent!important;
  font-size:13px!important; color:inherit!important; border:0!important; display:inline!important }

/* ---------- 15. S33 fixes after the first screenshots ---------------------- */
html[data-vtv] .vtv7 .v7-kpi .n:not(.vtv-r2 *){ white-space:nowrap }
@media (max-width:760px){ html[data-vtv] .vtv7 .v7-kpi .n:not(.vtv-r2 *){ font-size:var(--fs-lg)!important } html[data-vtv] .vtv7 .v7-kpi:not(.vtv-r2 *){ padding:var(--sp-4)!important } }
html[data-vtv] .vtv-capsule *:not(.vtv-r2 *){ font-family:inherit!important }
html[data-vtv] .vtv-capsule mark:not(.vtv-r2 *), html[data-vtv] .vtv-capsule .vtv-hl:not(.vtv-r2 *){ background:var(--c-brand-tint)!important; color:inherit!important; padding:0 2px!important; border-radius:2px }

/* ---------- 16. ROUND 2 COMPONENT RULES (only for C/D/E) ------------------ */
html[data-vtv2] h1:not(.vtv-r2 *), html[data-vtv2] .entry-title:not(.vtv-r2 *){ letter-spacing:-.025em!important; line-height:1.05!important }
html[data-vtv2] h2:not(.vtv-r2 *), html[data-vtv2] h3:not(.vtv-r2 *){ letter-spacing:-.018em!important }
html[data-vtv2] a:not(.vtv-r2 *){ color:var(--c-accent) } html[data-vtv="c"] a:not(.vtv-r2 *){ color:#1C6F66 }
html[data-vtv2] .entry-content h2:not(.vtv-r2 *), html[data-vtv2] .vtv7 h2:not(.vtv-r2 *){ margin:88px auto 16px!important; line-height:1.1!important }
html[data-vtv2] .entry-content h3:not(.vtv-r2 *), html[data-vtv2] .vtv7 h3:not(.vtv-r2 *){ margin:40px auto 10px!important }
html[data-vtv2] .entry-content p:not(.vtv-r2 *), html[data-vtv2] .vtv7 p:not(.vtv-r2 *){ margin-bottom:18px }
html[data-vtv2] .wp-block-button__link:not(.vtv-r2 *), html[data-vtv2] .vtv-btn:not(.vtv-r2 *), html[data-vtv2] .vtv-cta a:not(.vtv-r2 *), html[data-vtv2] .ast-button:not(.vtv-r2 *), html[data-vtv2] .entry-content button:not(.vtv-r2 *),
html[data-vtv2] input[type=submit]:not(.vtv-r2 *), html[data-vtv2] .button:not(.vtv-r2 *), html[data-vtv2] a.vtv-button:not(.vtv-r2 *){ border-radius:var(--radius-btn)!important; min-height:52px!important; padding:0 26px!important; font-weight:700!important }
html[data-vtv2] .main-header-menu > .menu-item:last-child > .menu-link:not(.vtv-r2 *){ border-radius:var(--radius-btn)!important; height:46px; line-height:46px!important; padding:0 22px!important }
html[data-vtv2] .ast-primary-header-bar .site-primary-header-wrap:not(.vtv-r2 *){ min-height:84px!important }
html[data-vtv2] .site-header:not(.vtv-r2 *), html[data-vtv2] .main-header-bar:not(.vtv-r2 *), html[data-vtv2] .ast-primary-header-bar:not(.vtv-r2 *){ background:var(--c-bg)!important }
html[data-vtv2] input[type=text]:not(.vtv-r2 *), html[data-vtv2] input[type=email]:not(.vtv-r2 *), html[data-vtv2] input[type=number]:not(.vtv-r2 *), html[data-vtv2] input[type=search]:not(.vtv-r2 *), html[data-vtv2] select:not(.vtv-r2 *){
  min-height:52px!important; border:1.5px solid var(--c-border)!important; border-radius:var(--radius)!important }
/* cards: soft lift instead of a colored top rule */
html[data-vtv2] .vtv7 .v7-kpi:not(.vtv-r2 *), html[data-vtv2] .vtv-capsule:not(.vtv-r2 *), html[data-vtv2] .vtv-flag:not(.vtv-r2 *), html[data-vtv2] .card:not(.vtv-r2 *), html[data-vtv2] .results-card:not(.vtv-r2 *),
html[data-vtv2] .vtv-ctagrid > *:not(.vtv-r2 *), html[data-vtv2] .vtv-sitewide-ctas > *:not(.vtv-r2 *), html[data-vtv2] .vtv-home .vtv-mf:not(.vtv-r2 *), html[data-vtv2] .vtv-home .vtv-calc:not(.vtv-r2 *){
  background:#fff!important; border:1px solid var(--c-border)!important; border-top:1px solid var(--c-border)!important; border-radius:var(--radius-card)!important; box-shadow:var(--shadow)!important }
html[data-vtv2] .vtv7 .v7-kpi:not(.vtv-r2 *){ padding:28px 24px!important }
html[data-vtv2] .vtv7 .v7-kpi .n:not(.vtv-r2 *){ font-family:var(--f-display)!important; font-weight:var(--w-h)!important; letter-spacing:-.03em }
html[data-vtv2] .vtv7 .v7-kpis:not(.vtv-r2 *){ gap:20px!important; margin-block:56px!important }
html[data-vtv2] .vtv-capsule:not(.vtv-r2 *){ padding:56px 40px 36px!important; font-size:var(--fs-md)!important; border-radius:calc(var(--radius-card) + 8px)!important }
html[data-vtv2] .vtv7 .v7-verdict:not(.vtv-r2 *){ border-left:0!important; border-radius:var(--radius-card)!important; background:var(--c-surface)!important; padding:28px 32px!important }
html[data-vtv2] .vtv7 .v7-note:not(.vtv-r2 *){ border-left:0!important; border-radius:var(--radius-card)!important; padding:28px 32px!important }
html[data-vtv2] .vtv7 .v7-bars:not(.vtv-r2 *){ border-top:0!important; background:#fff!important; border:1px solid var(--c-border)!important; border-radius:var(--radius-card)!important; box-shadow:var(--shadow); padding:32px!important; margin-block:40px!important }
html[data-vtv2] .vtv7 .v7-track:not(.vtv-r2 *){ border-radius:10px!important; height:32px }
html[data-vtv2] .vtv7 .v7-fill:not(.vtv-r2 *){ border-radius:10px }
html[data-vtv2] .vtv7 .v7-links a:not(.vtv-r2 *), html[data-vtv2] .vtv-chip:not(.vtv-r2 *), html[data-vtv2] .vtv-chipg a:not(.vtv-r2 *), html[data-vtv2] .vtv-flag a:not(.vtv-r2 *){ border-radius:999px!important; border:1.5px solid var(--c-border)!important; padding:0 18px!important; color:var(--c-text)!important }
html[data-vtv2] .entry-content table:not(.vtv-r2 *){ border-top:0!important; background:#fff; border-radius:var(--radius-card)!important; box-shadow:0 0 0 1px var(--c-border) }
html[data-vtv2] .entry-content th:not(.vtv-r2 *){ border-bottom:1px solid var(--c-border)!important; padding:14px 16px!important }
html[data-vtv2] .entry-content td:not(.vtv-r2 *){ padding:14px 16px!important }
html[data-vtv2] .vtv-pullq:not(.vtv-r2 *), html[data-vtv2] blockquote:not(.vtv-r2 *){ font-style:normal!important; font-weight:600!important; border-top:0!important; border-left:4px solid var(--c-accent)!important; padding:4px 0 4px 24px!important }
html[data-vtv2] .vtv-home img:not(.vtv-r2 *), html[data-vtv2] .vtv7 figure img:not(.vtv-r2 *), html[data-vtv2] .entry-content figure img:not(.vtv-r2 *){ border-radius:calc(var(--radius-card) + 6px)!important }
html[data-vtv2] .vtv-home .vtv-land-title:not(.vtv-r2 *), html[data-vtv2] .vtv-home .vtv-hero-h:not(.vtv-r2 *){ letter-spacing:-.03em!important; line-height:1.02!important }
html[data-vtv2] .vtv-home section:not(.vtv-r2 *), html[data-vtv2] .vtv-home > div:not(.vtv-r2 *){ scroll-margin-top:96px }
html[data-vtv2] .site-footer:not(.vtv-r2 *), html[data-vtv2] .site-footer .site-below-footer-wrap:not(.vtv-r2 *), html[data-vtv2] .site-footer .site-primary-footer-wrap:not(.vtv-r2 *), html[data-vtv2] .site-footer .site-above-footer-wrap:not(.vtv-r2 *){ background:var(--c-foot)!important }
html[data-vtv2] #page::before{ background:var(--c-surface)!important; border-bottom:0!important }
html[data-vtv2] .vtv-flag-stat:not(.vtv-r2 *){ border-radius:var(--radius)!important }

/* ============ THE MOCKUP SITE (always light: it depicts the website) ============ */
.vtv-r2{container-type:inline-size;container-name:vtv;color-scheme:light;background:var(--bg);color:var(--ink);font-family:var(--f-b);font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased}
.vtv-r2{--f-h:"Manrope",system-ui,sans-serif;--f-b:"Instrument Sans",system-ui,sans-serif;--hw:800;--hls:-.025em;
 --ink:#12201E;--ink2:#3D4B48;--muted:#5D6B68;--bg:#FFFFFF;--surf:#F2F6F5;--surf2:#E6EEEC;--line:#DCE5E2;
 --brand:#0E4F4A;--brand2:#1C6F66;--tint:#E2EFEC;--accent:#C98A1B;--cta:#0E4F4A;--ctaink:#FFFFFF;--cta2:#0A3B37;
 --hero:#0E4F4A;--heroink:#FFFFFF;--heromu:#B9D6D1;--ahead:#1D5FA8;--behind:#C2410C;--foot:#0B2E2B;
 --r:18px;--rl:28px;--rb:12px;--sh:0 1px 2px rgba(14,40,37,.05),0 18px 40px -22px rgba(14,40,37,.28);--sh2:0 1px 2px rgba(14,40,37,.04),0 8px 22px -14px rgba(14,40,37,.2)}
.vtv-r2 *{box-sizing:border-box}
.vtv-r2 img{display:block;max-width:100%;height:auto}
.vtv-r2 a{color:var(--brand2)}
.vtv-r2 h1,.vtv-r2 h2,.vtv-r2 h3,.vtv-r2 h4{font-family:var(--f-h);font-weight:var(--hw);letter-spacing:var(--hls);color:var(--ink);text-wrap:balance;margin:0}
.vtv-r2 .disp{font-size:clamp(40px,5.6cqi,70px);line-height:1.03}
.vtv-r2 h1{font-size:clamp(38px,5.2cqi,62px);line-height:1.04}
.vtv-r2 h2{font-size:clamp(30px,3.7cqi,46px);line-height:1.08}
.vtv-r2 h3{font-size:clamp(21px,2cqi,25px);line-height:1.2;letter-spacing:-.01em}
.vtv-r2 p{margin:0;max-width:62ch}
.vtv-r2 .lead{font-size:clamp(18px,1.7cqi,21px);color:var(--ink2);line-height:1.55}
.vtv-r2 .lab{font-size:13px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--brand2)}
.vtv-r2 .sm{font-size:15px;color:var(--muted);line-height:1.5}
.vtv-r2 .xs{font-size:13px;color:var(--muted)}
.vtv-r2 .num{font-variant-numeric:tabular-nums lining-nums}
.vtv-r2 .in{max-width:1200px;margin:0 auto;padding-inline:clamp(20px,4cqi,48px)}
.vtv-r2 .sec{padding-block:clamp(64px,8.5cqi,120px)}
.vtv-r2 .sec.tight{padding-block:clamp(40px,5cqi,72px)}
.vtv-r2 .alt{background:var(--surf)}
.vtv-r2 .stack{display:grid;gap:18px}
.vtv-r2 .shead{display:grid;gap:14px;margin-bottom:clamp(32px,4cqi,56px);max-width:760px}
.vtv-r2 .shead.c{text-align:center;margin-inline:auto;justify-items:center}
/* buttons */
.vtv-r2 .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;border-radius:var(--rb);background:var(--cta);color:var(--ctaink);font-family:var(--f-b);font-weight:700;font-size:16.5px;text-decoration:none;border:0;cursor:pointer;white-space:nowrap}
.vtv-r2 .btn:hover{background:var(--cta2)}
.vtv-r2 .btn.ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line)}
.vtv-r2 .btn.ghost:hover{box-shadow:inset 0 0 0 1.5px var(--ink2)}
.vtv-r2 .btn.onhero{background:#fff;color:var(--hero)}
.vtv-r2 .btn.sm{min-height:44px;padding:0 18px;font-size:15px}
.vtv-r2 .tlink{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--brand2);text-decoration:none;font-size:16.5px}
.vtv-r2 .tlink:hover{text-decoration:underline}
.vtv-r2 svg.i{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:none}
.vtv-r2 .btn svg.i,.vtv-r2 .tlink svg.i{width:18px;height:18px}
.vtv-r2 :focus-visible{outline:3px solid var(--ahead);outline-offset:2px}
/* rate bar + nav */
.vtv-r2 .rate{background:var(--surf);font-size:13.5px;color:var(--ink2);text-align:center;padding:8px 16px}
.vtv-r2 .rate b{color:var(--ink)}
.vtv-r2 .nav{position:sticky;top:0;z-index:5;background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.vtv-r2 .nav .in{display:flex;align-items:center;gap:28px;min-height:80px}
.vtv-r2 .logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);flex:none}
.vtv-r2 .logo img{height:44px;width:auto}
.vtv-r2 .logo span{font-family:var(--f-h);font-weight:var(--hw);font-size:22px;letter-spacing:-.02em;color:var(--ink)}
.vtv-r2 .menu{display:flex;gap:6px;list-style:none;margin:0;padding:0;flex:1}
.vtv-r2 .menu > li{position:relative}
.vtv-r2 .menu > li > a{display:flex;align-items:center;gap:4px;padding:10px 12px;border-radius:10px;color:var(--ink);text-decoration:none;font-weight:600;font-size:16px}
.vtv-r2 .menu > li > a:hover,.vtv-r2 .menu > li:focus-within > a{background:var(--surf)}
.vtv-r2 .menu .dd{position:absolute;top:calc(100% + 8px);left:0;width:330px;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);padding:12px;display:none;z-index:9}
.vtv-r2 .menu > li:hover .dd,.vtv-r2 .menu > li:focus-within .dd{display:grid;gap:2px}
.vtv-r2 .dd a{display:grid;gap:2px;padding:10px 12px;border-radius:10px;text-decoration:none;color:var(--ink)}
.vtv-r2 .dd a:hover{background:var(--surf)}
.vtv-r2 .dd a b{font-size:15.5px}.vtv-r2 .dd a span{font-size:13.5px;color:var(--muted)}
.vtv-r2 .navr{display:flex;align-items:center;gap:10px}
.vtv-r2 .iconbtn{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;color:var(--ink);background:transparent;border:0}
.vtv-r2 .burger{display:none}
/* hero */
.vtv-r2 .hero .in{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(32px,5cqi,72px);align-items:center;padding-block:clamp(48px,6.5cqi,96px)}
.vtv-r2 .hero .copy{display:grid;gap:22px}
.vtv-r2 .finder{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);padding:22px;display:grid;gap:12px;max-width:560px}
.vtv-r2 .finder label{font-size:14px;font-weight:700;color:var(--ink)}
.vtv-r2 .frow{display:flex;gap:10px}
.vtv-r2 .field{flex:1;min-width:0;display:flex;align-items:center;gap:10px;min-height:56px;padding:0 16px;border:1.5px solid var(--line);border-radius:12px;background:#fff;color:var(--muted);font-size:17px}
.vtv-r2 .field input{border:0;outline:0;font:inherit;color:var(--ink);background:transparent;width:100%;min-width:0}
.vtv-r2 .flinks{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:15px}
.vtv-r2 .flinks a{font-weight:600}
.vtv-r2 .photo{position:relative}
.vtv-r2 .photo > img{width:100%;aspect-ratio:4/4.3;object-fit:cover;border-radius:var(--rl)}
.vtv-r2 .photo.wide > img{aspect-ratio:4/3}
.vtv-r2 .float{position:absolute;left:-28px;bottom:36px;background:#fff;border-radius:var(--r);box-shadow:var(--sh);padding:18px 20px;display:grid;gap:4px;min-width:250px;max-width:290px}
.vtv-r2 .float .big{font-family:var(--f-h);font-weight:var(--hw);font-size:40px;line-height:1;letter-spacing:-.03em;color:var(--ahead)}
.vtv-r2 .float .row{display:flex;justify-content:space-between;gap:12px;font-size:14px;color:var(--ink2)}
.vtv-r2 .credit{position:absolute;right:14px;bottom:12px;font-size:11.5px;color:#fff;background:rgba(0,0,0,.45);padding:3px 8px;border-radius:999px}
/* tiles */
.vtv-r2 .tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.vtv-r2 .tile{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh2);padding:26px 24px;display:grid;gap:6px;align-content:start}
.vtv-r2 .alt .tile{border-color:transparent}
.vtv-r2 .tile .v{font-family:var(--f-h);font-weight:var(--hw);font-size:clamp(34px,3.6cqi,46px);line-height:1;letter-spacing:-.03em;color:var(--ink)}
.vtv-r2 .tile .v.g{color:var(--ahead)}
.vtv-r2 .tile .k{font-size:16px;font-weight:600;color:var(--ink)}
.vtv-r2 .tile .s{font-size:14px;color:var(--muted);line-height:1.45}
/* cards */
.vtv-r2 .cards3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.vtv-r2 .card{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh2);padding:30px;display:grid;gap:14px;align-content:start}
.vtv-r2 .card .ic{width:52px;height:52px;border-radius:14px;background:var(--tint);color:var(--brand);display:grid;place-items:center}
.vtv-r2 .card .ic svg.i{width:26px;height:26px}
.vtv-r2 .card .stat{font-size:15px;color:var(--ink2);padding-bottom:14px;border-bottom:1px solid var(--line)}
.vtv-r2 .card .stat b{color:var(--ink)}
.vtv-r2 .card .tlink{margin-top:4px}
/* split */
.vtv-r2 .split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,6cqi,88px);align-items:center}
.vtv-r2 .split.rev > .media{order:2}
.vtv-r2 .media img{width:100%;aspect-ratio:5/4;object-fit:cover;border-radius:var(--rl)}
.vtv-r2 .media{position:relative}
.vtv-r2 .media figcaption{font-size:13.5px;color:var(--muted);margin-top:10px}
.vtv-r2 .ranks{display:grid;gap:12px;margin-top:6px}
.vtv-r2 .rk{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;text-decoration:none;color:var(--ink);box-shadow:var(--sh2)}
.vtv-r2 .rk .n{width:40px;height:40px;border-radius:12px;background:var(--tint);color:var(--brand);font-family:var(--f-h);font-weight:800;display:grid;place-items:center;font-size:17px}
.vtv-r2 .rk b{display:block;font-size:17px}.vtv-r2 .rk span{font-size:14px;color:var(--muted)}
.vtv-r2 .rk .keep{font-family:var(--f-h);font-weight:var(--hw);font-size:24px;color:var(--ahead);text-align:right;line-height:1.1}
.vtv-r2 .rk .keep small{display:block;font-family:var(--f-b);font-weight:500;font-size:12.5px;color:var(--muted)}
/* hero panel (dark) */
.vtv-r2 .panel{background:var(--hero);color:var(--heroink);border-radius:var(--rl);padding:clamp(28px,5cqi,64px);display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(28px,5cqi,64px);align-items:center}
.vtv-r2 .panel h2,.vtv-r2 .panel h3{color:var(--heroink)}
.vtv-r2 .panel .lead,.vtv-r2 .panel p{color:var(--heromu)}
.vtv-r2 .panel .lab{color:var(--heromu)}
/* calculator widget */
.vtv-r2 .calc{background:#fff;color:var(--ink);border-radius:var(--r);box-shadow:var(--sh);padding:26px;display:grid;gap:18px}
.vtv-r2 .calc h3,.vtv-r2 .panel .calc h3{font-size:19px;color:var(--ink)}
.vtv-r2 .panel .calc p{color:var(--muted)}
.vtv-r2 .cgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.vtv-r2 .cf{display:grid;gap:6px}
.vtv-r2 .cf label{font-size:13.5px;font-weight:700;color:var(--ink2)}
.vtv-r2 .cf .box2{display:flex;align-items:center;min-height:50px;border:1.5px solid var(--line);border-radius:12px;padding:0 14px;gap:6px;color:var(--muted);background:#fff}
.vtv-r2 .cf .box2:focus-within{border-color:var(--brand2)}
.vtv-r2 .cf input{border:0;outline:0;font:inherit;font-size:17px;font-weight:600;color:var(--ink);width:100%;min-width:0;background:transparent;font-variant-numeric:tabular-nums}
.vtv-r2 .cout{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.vtv-r2 .co{background:var(--surf);border-radius:14px;padding:16px}
.vtv-r2 .co .v{font-family:var(--f-h);font-weight:var(--hw);font-size:30px;line-height:1.05;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.vtv-r2 .co .v.g{color:var(--ahead)}.vtv-r2 .co .v.r{color:var(--behind)}
.vtv-r2 .co .k{font-size:13.5px;color:var(--ink2);margin-top:4px}
.vtv-r2 .co.main{grid-column:1/-1;background:var(--tint)}
.vtv-r2 .co.main .v{font-size:44px}
/* trust strip */
.vtv-r2 .names{display:flex;flex-wrap:wrap;gap:14px 40px;align-items:center;justify-content:center}
.vtv-r2 .names span{font-family:var(--f-h);font-weight:700;font-size:20px;color:var(--muted);letter-spacing:-.01em;opacity:.85}
.vtv-r2 .trust{display:grid;gap:26px;justify-items:center;text-align:center}
/* articles */
.vtv-r2 .arts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.vtv-r2 .art{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--sh2);display:grid;text-decoration:none;color:var(--ink)}
.vtv-r2 .art img{width:100%;aspect-ratio:16/10;object-fit:cover}
.vtv-r2 .art div{padding:22px 24px 26px;display:grid;gap:8px}
.vtv-r2 .art h3{font-size:21px}
/* band */
.vtv-r2 .band{background:var(--tint);border-radius:var(--rl);padding:clamp(28px,5cqi,56px);display:grid;grid-template-columns:1.1fr 1fr;gap:28px;align-items:center}
.vtv-r2 .band form{display:flex;gap:10px}
/* footer */
.vtv-r2 footer.sf{background:var(--foot);color:#D5DDDB;padding-block:64px 36px;font-size:15px}
.vtv-r2 footer.sf .fg{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:28px}
.vtv-r2 footer.sf h4{color:#fff;font-size:15px;margin-bottom:12px;letter-spacing:0}
.vtv-r2 footer.sf ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.vtv-r2 footer.sf a{color:#D5DDDB;text-decoration:none}
.vtv-r2 footer.sf a:hover{color:#fff;text-decoration:underline}
.vtv-r2 footer.sf .legal{border-top:1px solid rgba(255,255,255,.14);margin-top:44px;padding-top:22px;font-size:13.5px;color:#A9B4B2;display:grid;gap:8px}
.vtv-r2 footer.sf .flogo{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.vtv-r2 footer.sf .flogo img{height:40px;background:#F4F1EA;border-radius:10px;padding:4px 6px}
.vtv-r2 footer.sf .flogo span{font-family:var(--f-h);font-weight:var(--hw);font-size:20px;color:#fff}
/* city page */
.vtv-r2 .crumb{font-size:14px;color:var(--muted);display:flex;gap:8px;flex-wrap:wrap;padding-top:28px}
.vtv-r2 .crumb a{color:var(--muted);text-decoration:none}.vtv-r2 .crumb a:hover{text-decoration:underline}
.vtv-r2 .meta{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:14.5px;color:var(--muted);align-items:center}
.vtv-r2 .meta b{color:var(--ink);font-weight:600}
.vtv-r2 .chip{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 12px;border-radius:999px;font-size:14px;font-weight:700}
.vtv-r2 .chip.mixed{background:#FDF1DC;color:#8A5A00}
.vtv-r2 .chip.rank{background:var(--tint);color:var(--brand)}
.vtv-r2 .answer{background:#fff;border:1px solid var(--line);border-radius:var(--rl);box-shadow:var(--sh);padding:clamp(24px,4cqi,44px);display:grid;gap:16px}
.vtv-r2 .answer p{font-size:clamp(19px,1.9cqi,23px);line-height:1.5;color:var(--ink);max-width:none}
.vtv-r2 .answer p b{background:var(--tint);padding:0 4px;border-radius:4px}
.vtv-r2 .two{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.vtv-r2 .panel2{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh2);padding:30px;display:grid;gap:16px;align-content:start}
.vtv-r2 .bars{display:grid;gap:14px}
.vtv-r2 .bar{display:grid;grid-template-columns:90px 1fr auto;gap:14px;align-items:center;font-size:15.5px}
.vtv-r2 .bar .tr{height:34px;background:var(--surf);border-radius:10px;overflow:hidden}
.vtv-r2 .bar .fl{height:100%;border-radius:10px;background:var(--behind)}
.vtv-r2 .bar .fl.own{background:var(--ahead)}
.vtv-r2 .bar .val{font-family:var(--f-h);font-weight:800;font-size:20px;font-variant-numeric:tabular-nums}
.vtv-r2 .ratetbl{display:grid;gap:8px}
.vtv-r2 .rr{display:grid;grid-template-columns:110px 1fr 90px;gap:12px;align-items:center;font-size:15px;font-variant-numeric:tabular-nums}
.vtv-r2 .rr .tr{height:12px;background:var(--surf);border-radius:999px;overflow:hidden}
.vtv-r2 .rr .fl{height:100%;background:var(--ahead);border-radius:999px}
.vtv-r2 .rr.cur{font-weight:700}
.vtv-r2 .rr.cur .fl{background:var(--brand)}
.vtv-r2 .rr b{text-align:right}
.vtv-r2 table.st{width:100%;border-collapse:collapse;font-size:16px;font-variant-numeric:tabular-nums}
.vtv-r2 table.st td,.vtv-r2 table.st th{padding:12px 4px;border-bottom:1px solid var(--line);text-align:left}
.vtv-r2 table.st th{font-size:13px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.vtv-r2 table.st td:last-child,.vtv-r2 table.st th:last-child{text-align:right}
.vtv-r2 table.st tr:last-child td{border-bottom:0}
.vtv-r2 .prog{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start}
.vtv-r2 .ticks{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.vtv-r2 .ticks li{display:grid;grid-template-columns:24px 1fr;gap:12px;font-size:16.5px;color:var(--ink2)}
.vtv-r2 .ticks.good svg{color:var(--ahead)}.vtv-r2 .ticks.bad svg{color:var(--behind)}
.vtv-r2 details.faq{border-bottom:1px solid var(--line);padding-block:6px}
.vtv-r2 details.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:18px;align-items:center;padding-block:16px;font-family:var(--f-h);font-weight:700;font-size:20px;letter-spacing:-.01em}
.vtv-r2 details.faq summary::-webkit-details-marker{display:none}
.vtv-r2 details.faq summary::after{content:"+";font-size:26px;color:var(--brand2);font-weight:500}
.vtv-r2 details.faq[open] summary::after{content:"\2013"}
.vtv-r2 details.faq p{padding-bottom:18px;color:var(--ink2)}
.vtv-r2 .chips{display:flex;flex-wrap:wrap;gap:10px}
.vtv-r2 .chips a{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border-radius:999px;border:1.5px solid var(--line);background:#fff;color:var(--ink);text-decoration:none;font-weight:600;font-size:15.5px}
.vtv-r2 .chips a:hover{border-color:var(--ink2)}
.vtv-r2 .cta{display:grid;grid-template-columns:.9fr 1.1fr;border-radius:var(--rl);overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:var(--sh)}
.vtv-r2 .cta img{width:100%;height:100%!important;object-fit:cover;min-height:300px}
.vtv-r2 .cta > div{padding:clamp(26px,4cqi,52px);display:grid;gap:16px;align-content:center}
.vtv-r2 .price{font-family:var(--f-h);font-weight:var(--hw);font-size:40px;letter-spacing:-.03em}
/* tool page */
.vtv-r2 .tool{display:grid;grid-template-columns:1.05fr .95fr;gap:0;background:#fff;border:1px solid var(--line);border-radius:var(--rl);box-shadow:var(--sh);overflow:hidden}
.vtv-r2 .tool .ins{padding:clamp(24px,4cqi,44px);display:grid;gap:18px;align-content:start}
.vtv-r2 .tool .outs{background:var(--surf);padding:clamp(24px,4cqi,44px);display:grid;gap:14px;align-content:start}
.vtv-r2 .tool fieldset{border:0;padding:0;margin:0;display:grid;gap:14px}
.vtv-r2 .tool legend{font-size:13px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--brand2);margin-bottom:6px}
.vtv-r2 .rng{display:grid;gap:8px}
.vtv-r2 .rng .top{display:flex;justify-content:space-between;font-size:15px;font-weight:600}
.vtv-r2 .rng .top output{font-family:var(--f-h);font-weight:800;font-variant-numeric:tabular-nums}
.vtv-r2 input[type=range]{width:100%;accent-color:var(--brand2);height:28px}
.vtv-r2 .verdict{border-radius:var(--r);background:var(--hero);color:var(--heroink);padding:24px;display:grid;gap:6px}
.vtv-r2 .verdict .v{font-family:var(--f-h);font-weight:var(--hw);font-size:clamp(40px,4.8cqi,56px);line-height:1;letter-spacing:-.03em}
.vtv-r2 .verdict p{color:var(--heromu);font-size:15.5px}
.vtv-r2 .lines{display:grid;gap:0;background:#fff;border-radius:var(--r);padding:6px 20px}
.vtv-r2 .ln{display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);font-size:16px}
.vtv-r2 .ln:last-child{border-bottom:0}
.vtv-r2 .ln b{font-variant-numeric:tabular-nums}
.vtv-r2 .steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;counter-reset:s}
.vtv-r2 .step{display:grid;gap:10px;align-content:start}
.vtv-r2 .step .sn{width:44px;height:44px;border-radius:999px;border:2px solid var(--brand2);color:var(--brand2);display:grid;place-items:center;font-family:var(--f-h);font-weight:800}
/* about */
.vtv-r2 .tl{display:grid;gap:22px;grid-template-columns:repeat(4,minmax(0,1fr))}
.vtv-r2 .tlc{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--sh2);display:grid;align-content:start}
.vtv-r2 .tlc .im{aspect-ratio:4/3;background:var(--surf);display:grid;place-items:center;overflow:hidden}
.vtv-r2 .tlc .im img{width:100%;height:100%!important;object-fit:cover}
.vtv-r2 .tlc .im img.art{width:80%;height:auto!important;object-fit:contain}
.vtv-r2 .tlc > div:last-child{padding:20px 22px 24px;display:grid;gap:6px}
.vtv-r2 .yr{font-family:var(--f-h);font-weight:800;font-size:15px;color:var(--brand2);letter-spacing:.02em}
.vtv-r2 .gallery{display:grid;grid-template-columns:1.4fr 1fr;gap:18px}
.vtv-r2 .gallery img{width:100%;height:100%!important;object-fit:cover;border-radius:var(--r)}
.vtv-r2 .gallery .col2{display:grid;gap:18px}
.vtv-r2 .gallery figure{margin:0;position:relative}
.vtv-r2 .gallery figcaption{position:absolute;left:12px;bottom:12px;background:rgba(0,0,0,.55);color:#fff;font-size:12.5px;padding:4px 10px;border-radius:999px}
/* ---- phone-width container ---- */
@container vtv (max-width: 760px){
 .vtv-r2 .menu,.vtv-r2 .navr .btn{display:none}
 .vtv-r2 .burger{display:grid}
 .vtv-r2 .nav .in{min-height:68px;justify-content:space-between}
 .vtv-r2 .logo img{height:38px}.vtv-r2 .logo span{font-size:19px}
 .vtv-r2 .hero .in,.vtv-r2 .split,.vtv-r2 .panel,.vtv-r2 .band,.vtv-r2 .two,.vtv-r2 .cta,.vtv-r2 .tool{grid-template-columns:1fr}
 .vtv-r2 .split.rev > .media{order:0}
 .vtv-r2 .tiles{grid-template-columns:1fr 1fr;gap:12px}
 .vtv-r2 .tile{padding:18px 16px}
 .vtv-r2 .cards3,.vtv-r2 .arts,.vtv-r2 .steps{grid-template-columns:1fr}
 .vtv-r2 .tl{grid-template-columns:1fr 1fr}
 .vtv-r2 .float{left:12px;right:12px;bottom:12px;min-width:0;max-width:none}
 .vtv-r2 .photo > img{aspect-ratio:4/3.4}
 .vtv-r2 .frow,.vtv-r2 .band form{flex-direction:column}
 .vtv-r2 .frow .btn,.vtv-r2 .band .btn{width:100%}
 .vtv-r2 footer.sf .fg{grid-template-columns:1fr 1fr}
 .vtv-r2 footer.sf .fg > div:first-child{grid-column:1/-1}
 .vtv-r2 .cgrid{grid-template-columns:1fr 1fr}
 .vtv-r2 .gallery{grid-template-columns:1fr}
 .vtv-r2 .bar{grid-template-columns:72px 1fr auto}
 .vtv-r2 .rr{grid-template-columns:96px 1fr 76px}
 .vtv-r2 .cta img{min-height:200px;max-height:240px}
 .vtv-r2{font-size:17px}
}
@container vtv (max-width: 460px){ .vtv-r2 .cgrid{grid-template-columns:1fr} .vtv-r2 .tl{grid-template-columns:1fr} .vtv-r2 .tiles .tile .v{font-size:30px} .vtv-r2 .cout{grid-template-columns:1fr} }

/* ===== S35 additions: Harbor v3 in WordPress (preview cookie h) ===== */
html[data-vtvh] #masthead, html[data-vtvh] .site-header, html[data-vtvh] .site-footer, html[data-vtvh] #colophon{display:none!important}
html[data-vtvh] body{background:#fff}
.vtv-r2{width:100%}
.vtv-r2 .nav .in, .vtv-r2 .rate{font-family:var(--f-b)}
.vtv-r2 .menu > li > a svg.i{width:16px;height:16px}
.vtv-r2 .mnav{display:none}
.vtv-r2 .mnav.open{display:grid;gap:4px;padding:12px 20px 20px;border-bottom:1px solid var(--line);background:#fff}
.vtv-r2 .mnav a{display:block;padding:12px 8px;border-radius:10px;color:var(--ink);text-decoration:none;font-weight:600}
.vtv-r2 .mnav a:hover{background:var(--surf)}
html[data-vtvh] .vtv-r2-main{display:block}
html[data-vtvh] body:has(.vtv-r2-main) #primary, html[data-vtvh] body:has(.vtv-r2-main) .site-content > .ast-container{max-width:none!important;padding:0!important;margin:0!important}
html[data-vtvh].vtv-swapped .entry-header, html[data-vtvh].vtv-swapped .ast-breadcrumbs-wrapper{display:none!important}
.vtv-r2 .credit{pointer-events:none}
.vtv-r2 .datahero{background:var(--hero);color:var(--heroink);border-radius:var(--rl);padding:clamp(24px,4cqi,40px);display:grid;gap:18px;box-shadow:var(--sh)}
.vtv-r2 .datahero .dh-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.vtv-r2 .datahero .dh-city{font-family:var(--f-h);font-weight:800;font-size:clamp(26px,3cqi,34px);letter-spacing:-.02em;color:#fff}
.vtv-r2 .datahero .dh-v{font-family:var(--f-h);font-weight:800;font-size:clamp(46px,6cqi,72px);line-height:1;letter-spacing:-.03em;color:#fff}
.vtv-r2 .datahero .dh-k{color:var(--heromu);font-size:15px}
.vtv-r2 .datahero .dh-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.vtv-r2 .datahero .dh-row div{background:rgba(255,255,255,.08);border-radius:14px;padding:14px 16px;display:grid;gap:2px}
.vtv-r2 .datahero .dh-row b{font-family:var(--f-h);font-size:24px;color:#fff;font-variant-numeric:tabular-nums}
.vtv-r2 .datahero .dh-row span{font-size:13px;color:var(--heromu)}
.vtv-r2 .datahero .dh-bar{height:12px;border-radius:999px;background:rgba(255,255,255,.14);overflow:hidden}
.vtv-r2 .datahero .dh-bar i{display:block;height:100%;background:var(--accent);border-radius:999px}
@container vtv (max-width:760px){ .vtv-r2 .datahero .dh-row{grid-template-columns:1fr 1fr} .vtv-r2 .burger{display:grid} }
/* S35 fixes after the first look */
html[data-vtvh] [data-vtvr2="nav"]{position:sticky;top:0;z-index:1000}
html[data-vtvh] body.admin-bar [data-vtvr2="nav"]{top:32px}
.vtv-r2 footer.sf h4{color:#fff!important}
.vtv-r2 table.st{box-shadow:none!important;background:transparent!important;border-radius:0!important;border:0!important}
.vtv-r2 table.st td,.vtv-r2 table.st th{padding:12px 4px!important;border-left:0!important;border-right:0!important}
html[data-vtv2] .vtv-flag .vtv-flag-h{margin-top:12px!important}
/* ===== S36: Harbor live. Nav hover fix (bridge + open class), mega menus, search, mobile groups, home in page 40 ===== */
.vtv-r2 .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.vtv-r2 .menu .dd::before{content:"";position:absolute;left:-16px;right:-16px;top:-18px;height:18px}
.vtv-r2 .menu > li.open > .dd{display:grid;gap:2px}
.vtv-r2 .menu > li.open > a{background:var(--surf)}
.vtv-r2 .menu .dd.r{left:auto;right:0}
.vtv-r2 .menu .dd.mega{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px;width:640px}
.vtv-r2 .menu .dd.mega.three{grid-template-columns:repeat(3,minmax(0,1fr));width:720px;left:-120px}
.vtv-r2 .dd .col{display:grid;gap:2px;align-content:start}
.vtv-r2 .dd .dh{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brand2);padding:6px 12px 4px}
.vtv-r2 .dd a.c{padding:8px 12px;font-weight:600;font-size:15px}
.vtv-r2 .dd a.all{color:var(--brand2)}
.vtv-r2 .nsearch{display:flex;align-items:center;border:1px solid var(--line);border-radius:12px;height:44px;padding-left:12px;background:#fff}
.vtv-r2 .nsearch input{border:0!important;outline:0;background:transparent!important;width:110px;min-height:0!important;height:40px;padding:0!important;font:inherit;font-size:15px;box-shadow:none!important}
.vtv-r2 .nsearch:focus-within{border-color:var(--brand2)}
.vtv-r2 .nsearch .iconbtn{width:40px;height:40px;min-height:0!important;padding:0!important;background:transparent!important;color:var(--ink)!important;border:0!important}
.vtv-r2 .mnav details{border-bottom:1px solid var(--line)}
.vtv-r2 .mnav summary{list-style:none;cursor:pointer;padding:14px 8px;font-weight:700;display:flex;justify-content:space-between}
.vtv-r2 .mnav summary::-webkit-details-marker{display:none}
.vtv-r2 .mnav summary::after{content:"+";color:var(--muted);font-weight:600}
.vtv-r2 .mnav details[open] summary::after{content:"\2212"}
.vtv-r2 .mnav details a{padding:10px 8px 10px 18px;font-weight:500}
.vtv-r2 .mnav .btn{margin-top:14px;color:#fff}
.vtv-r2 .msearch{display:flex;gap:8px;margin-bottom:6px}
.vtv-r2 .msearch input{flex:1;min-width:0;height:48px;border:1.5px solid var(--line);border-radius:12px;padding:0 14px;font:inherit}
.vtv-r2 .burger{cursor:pointer}
.vtv-r2 footer.sf .soc a{color:#fff}
@media (max-width:1180px){ .vtv-r2 .nsearch{display:none} }
@container vtv (max-width:1000px){ .vtv-r2 .menu .dd.mega.three{left:-200px} }
/* home: page 40 carries the Harbor home, full width, no Astra title */
html[data-vtvh] body.home .entry-header, html[data-vtvh] body.home .ast-breadcrumbs-wrapper{display:none!important}
html[data-vtvh] body.home .entry-content, html[data-vtvh] body.home .ast-article-single, html[data-vtvh] body.home article{max-width:none!important;margin:0!important;padding:0!important}
html[data-vtvh] body.home .entry-content > .vtv-r2-main{margin:0!important;max-width:none!important}
/* S36: Harbor components inside .entry-content keep their own link style */
html[data-vtvh] .entry-content .vtv-r2 a{text-decoration:none}
html[data-vtvh] .entry-content .vtv-r2 p a:not(.btn):not(.tlink), html[data-vtvh] .entry-content .vtv-r2 .xs a, html[data-vtvh] .entry-content .vtv-r2 .sm a{text-decoration:underline}
html[data-vtvh] .entry-content .vtv-r2 .tlink:hover{text-decoration:underline}
.entry-content .vtv-r2 figure{margin:0}
/* S36: breathing room under the rate bar on ordinary pages (the home and Harbor layouts bring their own) */
/* S36: archive and search cards keep a card-sized title */
html[data-vtvh] .ast-archive-description .ast-archive-title{font-size:clamp(32px,4vw,48px)!important}
html[data-vtvh] :is(.search,.archive,.blog) article .entry-title, html[data-vtvh] :is(.search,.archive,.blog) article .entry-title a{font-size:22px!important;line-height:1.25!important;letter-spacing:-.01em!important}
/* S36: posts - headings share the paragraphs' 750px reading column (Astra centres p at 70ch; headings were left-flush) */
html[data-vtvh] .single-post .entry-content > :is(p,h2,h3,h4,ul,ol){max-width:750px!important;margin-left:auto!important;margin-right:auto!important}
/* S36: room between the rate bar and the first line on ordinary pages */
html[data-vtvh] body.page:not(.home):not(:has(.vtv-r2-main)) #content{padding-top:clamp(24px,4vw,44px)}
/* S36: page content lines up with the Harbor nav (1200px, same side padding) */
html[data-vtvh] body:not(.single-post):not(:has(.vtv-r2-main)) .site-content > .ast-container{max-width:1200px!important;margin-inline:auto!important;padding-inline:clamp(20px,4vw,48px)!important;box-sizing:border-box}
.vtv-r2 .msearch{align-items:center}.vtv-r2 .mnav .msearch .btn{margin-top:0}
/* S36: city data hero (full-bleed inside the entry content) */
html[data-vtvh] body{overflow-x:clip}
html[data-vtvh] .entry-content > .vtv-cityhero{max-width:none!important;width:100vw!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;background:linear-gradient(180deg,var(--surf) 0,#fff 100%)}
html[data-vtvh] body.vtv-has-cityhero .entry-header{display:none!important}
html[data-vtvh] body.vtv-has-cityhero #content{padding-top:0!important}
.vtv-r2.vtv-cityhero .hero .in{padding-block:22px clamp(36px,5cqi,64px)}
.vtv-r2.vtv-cityhero h1.vtv-city-h1{font-size:clamp(32px,4cqi,50px)!important;line-height:1.06!important;margin:0!important;color:var(--ink)!important}
.vtv-r2.vtv-cityhero .chipsrow{display:flex;gap:8px;flex-wrap:wrap}
.vtv-r2 .chip.thin{background:#FBEDE6;color:#9A3412}
.vtv-r2.vtv-cityhero .ctas{display:flex;gap:12px;flex-wrap:wrap}
.vtv-r2 .datahero .dh-v small{font-size:.45em;font-weight:700;margin-left:4px;color:var(--heromu)}
.vtv-r2 .datahero .dh-v.neg{color:#FFB199}
.vtv-r2 .datahero .dh-bar i.behind{background:#F28C6B}
.vtv-r2.vtv-cityhero .crumb{padding-top:22px}
/* S36: fixes from the style-guide read */
.vtv-r2 .menu > li > .dd.mega{column-gap:18px}
.vtv-r2 .mnav a.btn{display:flex;justify-content:center;align-items:center;padding:0 24px;color:#fff;font-weight:700}
.vtv-r2 .dd .dh{font-size:13px}
.vtv-r2 .panel :focus-visible,.vtv-r2 .datahero :focus-visible,.vtv-r2 footer.sf :focus-visible{outline-color:#fff}
.vtv-r2.vtv-cityhero .hero .in{grid-template-areas:"copy data" "ctas data";align-items:start;row-gap:22px}
.vtv-r2.vtv-cityhero .hero .copy{grid-area:copy;align-self:end}
.vtv-r2.vtv-cityhero .hero .ctas{grid-area:ctas;align-self:start}
.vtv-r2.vtv-cityhero .hero .datahero{grid-area:data}
.vtv-r2 .datahero .dh-row b{font-size:clamp(18px,2cqi,24px)}
@container vtv (max-width: 900px){ .vtv-r2.vtv-cityhero .hero .in{grid-template-areas:"copy" "data" "ctas";grid-template-columns:1fr} }

html[data-vtvh] .entry-content figure.wp-block-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
html[data-vtvh] .entry-content figure.wp-block-table>table{margin:0}
/* Q2 (Paper & Blue): All light: warm paper surfaces, warm greys, no dark panels on the page. A printed report in black and one blue ink.
   Round 3 (S38). Preview-only palette for Harbor, loaded by preview-snippet.js when the URL carries ?vtvpal=q2.
   The blue #1D5FA8 is the only chromatic brand colour; everything else is white plus one neutral family.
   Generated by _work/build_css.py from _work/pal_data_r3.py; edit there. */
/* 1. Harbor tokens (.vtv-r2, harbor-r2.css) */
html[data-vtvpal="q2"] .vtv-r2{--ink:#1C1A17;--ink2:#46423C;--muted:#68635B;--bg:#FFFFFF;--surf:#F7F5F1;--surf2:#EDEAE5;--line:#E3DFD8;--brand:#1C1A17;--brand2:#1D5FA8;--tint:#F0EDE8;--accent:#CFC8BC;--cta:#1D5FA8;--ctaink:#FFFFFF;--cta2:#164B86;--hero:#23211D;--heroink:#FFFFFF;--heromu:#CBC5BA;--ahead:#1D5FA8;--behind:#C2410C;--foot:#F3F0EA;--sh:0 1px 2px rgba(35,30,22,.05),0 18px 40px -22px rgba(35,30,22,.28);--sh2:0 1px 2px rgba(35,30,22,.04),0 8px 22px -14px rgba(35,30,22,.2)}
/* 2. Older-page token layer (html[data-vtv="c"]: posts, tools, .vtv7 city bodies) */
html[data-vtvpal="q2"][data-vtv]:not(.vtv-r2 *){--c-bg:#FFFFFF;--c-surface:#F7F5F1;--c-surface-2:#EDEAE5;--c-text:#1C1A17;--c-text-2:#46423C;--c-muted:#68635B;--c-border:#E3DFD8;--c-border-strong:#8D867B;--c-brand:#1D5FA8;--c-brand-hover:#164B86;--c-brand-tint:#F0EDE8;--c-on-brand:#FFFFFF;--c-accent:#CFC8BC;--c-ahead:#1D5FA8;--c-ahead-tint:#F7F5F1;--c-behind:#C2410C;--c-behind-tint:#F7F5F1;--c-chart-1:#1D5FA8;--c-chart-2:#878177;--c-chart-ctx:#878177;--c-foot:#F3F0EA;--sh-soft:0 1px 2px rgba(35,30,22,.05),0 18px 40px -22px rgba(35,30,22,.28)}
html[data-vtvpal="q2"][data-vtv="c"] a:not(.vtv-r2 *){color:#1D5FA8}
html[data-vtvpal="q2"][data-vtv="c"] a:hover:not(.vtv-r2 *){color:#164B86}
/* 3. Literal colours in harbor-r2.css / s36.css that bypass the tokens */
html[data-vtvpal="q2"] .vtv-r2 footer.sf{color:#46423C}
html[data-vtvpal="q2"] .vtv-r2 footer.sf a{color:#46423C}
html[data-vtvpal="q2"] .vtv-r2 footer.sf a:hover,html[data-vtvpal="q2"] .vtv-r2 footer.sf .soc a{color:#fff}
html[data-vtvpal="q2"] .vtv-r2 footer.sf .legal{color:#68635B}
html[data-vtvpal="q2"] .vtv-r2 footer.sf .flogo img{background:#F7F5F1}
/* verdict and margin chips are labels, not money: neutral, outlined; the rank chip is a neutral fill */
html[data-vtvpal="q2"] .vtv-r2 .chip.mixed{background:#FFFFFF;color:#1C1A17;box-shadow:inset 0 0 0 1.5px var(--line)}
html[data-vtvpal="q2"] .vtv-r2 .chip.thin{background:#FFFFFF;color:#46423C;box-shadow:inset 0 0 0 1.5px var(--line)}
html[data-vtvpal="q2"] .vtv-r2 .datahero .dh-v.neg{color:#FFB199}
/* the data-hero bar used --accent (gold). It is a gain bar, so it takes the light step of the blue (holds 3:1 on the dark track) */
html[data-vtvpal="q2"] .vtv-r2 .datahero .dh-bar i{background:#8DB9EC}
html[data-vtvpal="q2"] .vtv-r2 .datahero .dh-bar i.behind{background:#F28C6B}
/* rent and context bars are grey, not the loss colour: orange-red is kept for negative money figures only */
html[data-vtvpal="q2"] .vtv-r2 .bar .fl:not(.own){background:#878177}
html[data-vtvpal="q2"] .vtv-r2 .ticks.bad svg{color:var(--muted)}
/* 4. City-page body literals the token layers never reached (inline <style> in the page, left over in round 2) */
html[data-vtvpal="q2"] .vtvcalc{border-color:var(--c-border);background:var(--c-surface);color:var(--c-text)}
html[data-vtvpal="q2"] .vtvcalc h3,html[data-vtvpal="q2"] .vtvcalc .vc-lab b,html[data-vtvpal="q2"] .vtvcalc .vc-cell .n{color:var(--c-text)}
html[data-vtvpal="q2"] .vtvcalc .vc-sub,html[data-vtvpal="q2"] .vtvcalc .vc-cell .l,html[data-vtvpal="q2"] .vtvcalc .vc-note,html[data-vtvpal="q2"] .vtvcalc button.vc-reset{color:var(--c-muted)}
html[data-vtvpal="q2"] .vtvcalc .vc-cell{border-color:var(--c-border)}html[data-vtvpal="q2"] .vtvcalc button.vc-reset{border-color:var(--c-border-strong)}
html[data-vtvpal="q2"] .vtvcalc .vc-cell[data-cell="keep"] .n{color:var(--c-ahead)}html[data-vtvpal="q2"] .vtvcalc .vc-cell[data-cell].neg .n,html[data-vtvpal="q2"] .vtvcalc .vc-cell.neg .n{color:var(--c-behind)}
html[data-vtvpal="q2"] .vtvcalc input[type=range]::-webkit-slider-runnable-track{background:var(--c-border-strong)}html[data-vtvpal="q2"] .vtvcalc input[type=range]::-moz-range-track{background:var(--c-border-strong)}
html[data-vtvpal="q2"] .vtvcalc input[type=range]::-webkit-slider-thumb{background:#1D5FA8;border-color:#fff}html[data-vtvpal="q2"] .vtvcalc input[type=range]::-moz-range-thumb{background:#1D5FA8;border-color:#fff}
html[data-vtvpal="q2"] .vtvcalc input[type=range]:focus::-webkit-slider-thumb{box-shadow:0 0 0 3px rgba(29,95,168,.35)}
/* 5. Q2 only: no dark panel on city pages. The data card is white on the paper band, the gain figure in the blue */
html[data-vtvpal="q2"] .vtv-r2 .datahero{--hero:#FFFFFF;--heroink:#1C1A17;--heromu:#68635B;background:#FFFFFF;color:#1C1A17;box-shadow:inset 0 0 0 1px var(--line),var(--sh)}
html[data-vtvpal="q2"] .vtv-r2 .datahero .dh-city,html[data-vtvpal="q2"] .vtv-r2 .datahero .dh-row b{color:#1C1A17}
html[data-vtvpal="q2"] .vtv-r2 .datahero .dh-v{color:#1D5FA8}html[data-vtvpal="q2"] .vtv-r2 .datahero .dh-v.neg{color:#C2410C}
html[data-vtvpal="q2"] .vtv-r2 .datahero .dh-row div{background:#F7F5F1}html[data-vtvpal="q2"] .vtv-r2 .datahero .dh-bar{background:#EDEAE5}
html[data-vtvpal="q2"] .vtv-r2 .datahero .dh-bar i{background:#1D5FA8}html[data-vtvpal="q2"] .vtv-r2 .datahero .dh-bar i.behind{background:#C2410C}
html[data-vtvpal="q2"] .vtv-r2 .datahero :focus-visible{outline-color:#1D5FA8}
/* 6. Q2 only: the footer is paper too, set off by a rule instead of a dark fill */
html[data-vtvpal="q2"] .vtv-r2 footer.sf{background:#F3F0EA;color:#46423C;border-top:1px solid var(--line)}
html[data-vtvpal="q2"] .vtv-r2 footer.sf a,html[data-vtvpal="q2"] .vtv-r2 footer.sf .soc a{color:#46423C}html[data-vtvpal="q2"] .vtv-r2 footer.sf a:hover{color:#1C1A17}
html[data-vtvpal="q2"] .vtv-r2 footer.sf h4,html[data-vtvpal="q2"] .vtv-r2 footer.sf .flogo span{color:#1C1A17!important}
html[data-vtvpal="q2"] .vtv-r2 footer.sf .legal{color:#68635B;border-top-color:var(--line)}html[data-vtvpal="q2"] .vtv-r2 footer.sf .flogo img{background:transparent}
html[data-vtvpal="q2"] .vtv-r2 footer.sf :focus-visible{outline-color:#1D5FA8}
/* ===================================================================================================================
   S40 v6.3 (rebuilt from the S39 v6.3 notes): legibility fixes for the owner's six items and the contrast scan, plus a density pass.
   Every rule below is scoped to html[data-vtvpal="q2"], so VTV_PALETTE 'off' switches all of it off with the Paper layer.
   !important only where specificity cannot win: inline style attributes, ID-scoped tool sheets, Harbor/Astra rules that already
   carry it, the Customizer's #page::before (printed after this sheet), and text colours set by layers of unknown paint order.
   =================================================================================================================== */
/* 7. Item 1: weekly rate band. Astra's #page::before carries the Customizer text; the JS mirror .vtv-ratebar (first child of #page)
   shares this exact style and wraps the first n.nn% in blue, then adds vtv-ratebar-js to <html>, which hides the pseudo-element. */
html[data-vtvpal="q2"][data-vtvh] body #page::before,html[data-vtvpal="q2"][data-vtvh] body #page > .vtv-ratebar{display:block!important;background:#EDEAE5!important;border:0!important;border-top:1px solid #E8E4DD!important;border-bottom:1px solid #E8E4DD!important;box-shadow:none!important;color:#1C1A17!important;font-family:var(--f-text,"Instrument Sans",system-ui,-apple-system,"Segoe UI",sans-serif)!important;font-size:13px!important;font-weight:500!important;line-height:1.45!important;letter-spacing:0!important;text-transform:none!important;text-align:center!important;padding:7px 16px!important;margin:0!important;position:static!important;width:auto!important}
html[data-vtvpal="q2"][data-vtvh].vtv-ratebar-js body #page::before{display:none!important}
html[data-vtvpal="q2"] .vtv-ratebar .vtv-rate-n{color:#1D5FA8;font-weight:700;font-variant-numeric:tabular-nums}
/* 8. Item 2: home "Data and tools listed by" strip becomes one quiet white card with neutral chips (page 903278: .in.trust > .lab, .names span x6, p.sm) */
html[data-vtvpal="q2"] .vtv-r2 .in.trust{background:#FFFFFF;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh2);padding:clamp(28px,4cqi,40px);gap:20px;width:calc(100% - 2*clamp(20px,4cqi,48px));max-width:1104px;margin-inline:auto}
html[data-vtvpal="q2"] .vtv-r2 .trust .lab{color:#68635B}
html[data-vtvpal="q2"] .vtv-r2 .trust .names{gap:10px 12px}
html[data-vtvpal="q2"] .vtv-r2 .trust .names span{font-family:var(--f-b,"Instrument Sans",system-ui,sans-serif);font-size:15px;font-weight:600;line-height:1.3;color:#46423C;background:#F7F5F1;border:1px solid var(--line);border-radius:999px;padding:8px 16px;opacity:1;letter-spacing:0}
html[data-vtvpal="q2"] .vtv-r2 .trust .sm{font-size:15.5px;color:#46423C;max-width:none}
html[data-vtvpal="q2"] .vtv-r2 .trust .sm a{color:#1D5FA8;text-decoration:underline}
@container vtv (max-width:760px){ html[data-vtvpal="q2"] .vtv-r2 .in.trust{padding:24px 20px} }
/* 9. Item 3: /library/ list ul.rl (columns:2, li flex, nowrap value): the value wraps and right-aligns, rows never split across columns; the inline-gold INDEX badge is a neutral chip */
html[data-vtvpal="q2"] .vtvlib ul.rl li{align-items:baseline;gap:12px;break-inside:avoid}
html[data-vtvpal="q2"] .vtvlib ul.rl li > *{min-width:0}
html[data-vtvpal="q2"] .vtvlib ul.rl li > :first-child{flex:1 1 auto}
html[data-vtvpal="q2"] .vtvlib ul.rl li > :last-child{flex:0 1 auto;white-space:normal!important;text-align:right;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
html[data-vtvpal="q2"] .vtvlib span.bg{background:#EDEAE5!important;color:#46423C!important;box-shadow:inset 0 0 0 1px #E8E4DD!important}
/* 10. Item 4: every old page-level dark panel becomes a paper surface with ink text and blue links (Paper keeps dark fills for .panel only) */
/* 10a. .vtvb .hero (down-payment-budget, /widget/, tools alias) and .vtvp .hero (own-for-less-than-you-rent): page rule is .vtvb .hero (0,2,0), specificity wins */
html[data-vtvpal="q2"] .vtvb .hero,html[data-vtvpal="q2"] .vtvp .hero{background:#F7F5F1;color:#1C1A17;border:1px solid #E8E4DD;border-radius:16px;box-shadow:none}
html[data-vtvpal="q2"] .vtvb .hero :is(h1,h2,h3,h4,b,strong),html[data-vtvpal="q2"] .vtvp .hero :is(h1,h2,h3,h4,b,strong){color:#1C1A17}
html[data-vtvpal="q2"] .vtvb .hero :is(p,li,span,small,em,label,div),html[data-vtvpal="q2"] .vtvp .hero :is(p,li,span,small,em,label,div){color:#46423C}
html[data-vtvpal="q2"] .vtvb .hero a:not([class*="btn"]),html[data-vtvpal="q2"] .vtvp .hero a:not([class*="btn"]){color:#1D5FA8}
/* 10b. .vt-card (#vtv-str, #vtv-wholesale, #vtv-rehab ... tools): the page rule is ID-scoped, so !important */
html[data-vtvpal="q2"] .vt-card{background:#F7F5F1!important;color:#1C1A17!important;border:1px solid #E8E4DD!important;border-radius:16px!important;box-shadow:none!important}
html[data-vtvpal="q2"] .vt-card :is(h1,h2,h3,h4){color:#1C1A17!important}
html[data-vtvpal="q2"] .vt-card :is(p,li,span,small,em,label,div,dt,dd){color:#46423C!important}
html[data-vtvpal="q2"] .vt-card :is(b,strong,.big,[class*="val"],[class*="num"]){color:#1C1A17!important}
html[data-vtvpal="q2"] .vt-card a:not([class*="btn"]){color:#1D5FA8!important}
/* 10c. details.vtv-embed-details > div ("Put this tool on your site, free", 12+ tools): inline style, so !important */
html[data-vtvpal="q2"] details.vtv-embed-details > div{background:#F7F5F1!important;color:#1C1A17!important;border:1px solid #E8E4DD!important;border-radius:12px!important;box-shadow:none!important}
html[data-vtvpal="q2"] details.vtv-embed-details > div :is(h1,h2,h3,h4,b,strong){color:#1C1A17!important}
html[data-vtvpal="q2"] details.vtv-embed-details > div :is(p,li,span,small,em,label,div){color:#46423C!important}
html[data-vtvpal="q2"] details.vtv-embed-details > div a:not([class*="btn"]){color:#1D5FA8!important}
html[data-vtvpal="q2"] details.vtv-embed-details > div :is(pre,code,textarea){background:#FFFFFF!important;color:#1C1A17!important;border:1px solid #D6D1C8!important;border-radius:8px!important}
html[data-vtvpal="q2"] details.vtv-embed-details > summary,html[data-vtvpal="q2"] details.vtv-embed-details summary{color:#1C1A17!important}
/* 10d. header.masthead (blog: out-of-poverty-balancing-debt): page rule is .masthead (0,1,0); the teal ornaments turn warm grey */
html[data-vtvpal="q2"] .entry-content header.masthead,html[data-vtvpal="q2"] .masthead{background:#F7F5F1;color:#1C1A17;border:1px solid #E8E4DD;border-radius:16px;box-shadow:none}
html[data-vtvpal="q2"] .masthead :is(h1,h2,h3,p,em,span,small,b,strong){color:#1C1A17}
html[data-vtvpal="q2"] .masthead :is(p,span,small){color:#46423C}
html[data-vtvpal="q2"] .masthead a{color:#1D5FA8}
html[data-vtvpal="q2"] .ornamental-rule,html[data-vtvpal="q2"] .entry-content .ornamental-rule{color:#8D867B}
/* 10e. tr.net td (own-for-less .vtvgeo table, "Kept every month by owning"): the Harbor td rule is !important */
html[data-vtvpal="q2"] .vtvp tr.net td,html[data-vtvpal="q2"] .vtvgeo tr.net td,html[data-vtvpal="q2"] .entry-content tr.net td{background:#EDEAE5!important;color:#1C1A17!important;font-weight:700!important}
/* 10f. City bundle CTA (<!-- vtv-report-cta -->, inline dark-green rule and button, Georgia, cream): all inline, so all !important */
html[data-vtvpal="q2"] .vtv-report-cta{background:#F7F5F1!important;color:#1C1A17!important;border:1px solid #E8E4DD!important;border-radius:16px!important;padding:clamp(24px,4vw,32px)!important;max-width:100%!important;box-shadow:none!important;font-family:var(--f-text,"Instrument Sans",system-ui,-apple-system,"Segoe UI",sans-serif)!important}
html[data-vtvpal="q2"] .vtv-report-cta p{color:#46423C!important;font-family:inherit!important;font-size:17px!important;line-height:1.55!important}
html[data-vtvpal="q2"] .vtv-report-cta p:first-child{color:#68635B!important;font-size:13px!important;font-weight:700!important;letter-spacing:.06em!important;text-transform:uppercase!important}
html[data-vtvpal="q2"] .vtv-report-cta a{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:48px!important;padding:0 22px!important;background:#1D5FA8!important;color:#FFFFFF!important;border:0!important;border-radius:12px!important;font-family:inherit!important;font-weight:700!important;line-height:1.2!important;text-decoration:none!important;box-shadow:none!important}
html[data-vtvpal="q2"] .vtv-report-cta a:hover,html[data-vtvpal="q2"] .vtv-report-cta a:focus-visible{background:#164B86!important;color:#FFFFFF!important}
/* 10g. old page kits paint from their own variables (.vtvfr-btn{background:var(--teal)} and the like): remap them. --g is left alone on purpose: its panels pair it with --cream text and are restyled above */
html[data-vtvpal="q2"] :is(.vtva,.vtvb,.vtvp,.vtvfr,.vtvlib,.vtv-pledge-pg,.vtvm,.vtvq,.vtvbp,.vtvhub,.vtvr,.vtvdc,.vtv-dpa,.vtvfs,.vtv-sk,.vtv-tool){--teal:#1D5FA8;--gold:#68635B;--cream:#F7F5F1;--line:#E8E4DD;--muted:#68635B}
/* 11. Item 5: the button family. The Paper link rule html[data-vtvpal="q2"][data-vtv="c"] a:not(.vtv-r2 *) is (0,3,2) and beat the pages' .x a.y (0,2,1);
   this one is prefixed html[data-vtvpal="q2"][data-vtv] so it is (0,4,2) and wins without !important */
html[data-vtvpal="q2"][data-vtv] a.vtvfr-btn,html[data-vtvpal="q2"][data-vtv] .vtvfr a.vtvfr-btn,html[data-vtvpal="q2"][data-vtv] .vtva a.vtva-btn,html[data-vtvpal="q2"][data-vtv] .vtv-catbar a.vtv-on,html[data-vtvpal="q2"][data-vtv] .vtv-pledge-pg a.cta,html[data-vtvpal="q2"][data-vtv] .cta a.primary,html[data-vtvpal="q2"][data-vtv] .detail-card a.primary,html[data-vtvpal="q2"][data-vtv] .vtvb .hero a[class*="btn"],html[data-vtvpal="q2"][data-vtv] .vtvp .hero a[class*="btn"],html[data-vtvpal="q2"][data-vtv] .vt-card a[class*="btn"]{background:#1D5FA8;color:#fff;border-color:#1D5FA8;border-radius:12px;font-weight:700;text-decoration:none;box-shadow:none}
html[data-vtvpal="q2"][data-vtv] a.vtvfr-btn:visited,html[data-vtvpal="q2"][data-vtv] .vtvfr a.vtvfr-btn:visited,html[data-vtvpal="q2"][data-vtv] .vtva a.vtva-btn:visited,html[data-vtvpal="q2"][data-vtv] .vtv-catbar a.vtv-on:visited,html[data-vtvpal="q2"][data-vtv] .vtv-pledge-pg a.cta:visited,html[data-vtvpal="q2"][data-vtv] .cta a.primary:visited,html[data-vtvpal="q2"][data-vtv] .detail-card a.primary:visited,html[data-vtvpal="q2"][data-vtv] .vtvb .hero a[class*="btn"]:visited,html[data-vtvpal="q2"][data-vtv] .vtvp .hero a[class*="btn"]:visited,html[data-vtvpal="q2"][data-vtv] .vt-card a[class*="btn"]:visited{background:#1D5FA8;color:#fff}
html[data-vtvpal="q2"][data-vtv] a.vtvfr-btn:hover,html[data-vtvpal="q2"][data-vtv] .vtvfr a.vtvfr-btn:hover,html[data-vtvpal="q2"][data-vtv] .vtva a.vtva-btn:hover,html[data-vtvpal="q2"][data-vtv] .vtv-catbar a.vtv-on:hover,html[data-vtvpal="q2"][data-vtv] .vtv-pledge-pg a.cta:hover,html[data-vtvpal="q2"][data-vtv] .cta a.primary:hover,html[data-vtvpal="q2"][data-vtv] .detail-card a.primary:hover,html[data-vtvpal="q2"][data-vtv] .vtvb .hero a[class*="btn"]:hover,html[data-vtvpal="q2"][data-vtv] .vtvp .hero a[class*="btn"]:hover,html[data-vtvpal="q2"][data-vtv] .vt-card a[class*="btn"]:hover,html[data-vtvpal="q2"][data-vtv] a.vtvfr-btn:focus-visible,html[data-vtvpal="q2"][data-vtv] .vtvfr a.vtvfr-btn:focus-visible,html[data-vtvpal="q2"][data-vtv] .vtva a.vtva-btn:focus-visible,html[data-vtvpal="q2"][data-vtv] .vtv-catbar a.vtv-on:focus-visible,html[data-vtvpal="q2"][data-vtv] .vtv-pledge-pg a.cta:focus-visible,html[data-vtvpal="q2"][data-vtv] .cta a.primary:focus-visible,html[data-vtvpal="q2"][data-vtv] .detail-card a.primary:focus-visible,html[data-vtvpal="q2"][data-vtv] .vtvb .hero a[class*="btn"]:focus-visible,html[data-vtvpal="q2"][data-vtv] .vtvp .hero a[class*="btn"]:focus-visible,html[data-vtvpal="q2"][data-vtv] .vt-card a[class*="btn"]:focus-visible{background:#164B86;color:#fff;border-color:#164B86}
/* .cta a.primary may sit inside an ID-scoped tool sheet (.cta a.primary{background:#2b6cb0}): an !important pair */
html[data-vtvpal="q2"] .detail-card .cta a.primary{background:#1D5FA8!important;color:#fff!important;border-color:#1D5FA8!important;border-radius:12px!important;font-weight:700!important;text-decoration:none!important;box-shadow:none!important}
html[data-vtvpal="q2"] .detail-card .cta a.primary:hover,html[data-vtvpal="q2"] .detail-card .cta a.primary:focus-visible{background:#164B86!important;border-color:#164B86!important}
/* .vtsh-qb (roadmap stage finder) are <button>s: the Harbor base rule html[data-vtv] .entry-content button ... !important filled them blue with a gold span.tag */
html[data-vtvpal="q2"] .vtsh-qb,html[data-vtvpal="q2"] .entry-content button.vtsh-qb{background:#FFFFFF!important;color:#1C1A17!important;border:1px solid #D6D1C8!important;border-radius:12px!important;display:flex!important;justify-content:space-between!important;align-items:center!important;text-align:left!important;min-height:52px!important;padding:0 18px!important;font-weight:600!important;box-shadow:none!important}
html[data-vtvpal="q2"] .vtsh-qb:hover,html[data-vtvpal="q2"] .entry-content button.vtsh-qb:hover{background:#F7F5F1!important;color:#1C1A17!important}
html[data-vtvpal="q2"] .vtsh-qb.on,html[data-vtvpal="q2"] .vtsh-qb.active,html[data-vtvpal="q2"] .vtsh-qb.sel,html[data-vtvpal="q2"] .vtsh-qb[aria-pressed="true"],html[data-vtvpal="q2"] .entry-content button.vtsh-qb.on,html[data-vtvpal="q2"] .entry-content button.vtsh-qb.active,html[data-vtvpal="q2"] .entry-content button.vtsh-qb.sel,html[data-vtvpal="q2"] .entry-content button.vtsh-qb[aria-pressed="true"]{background:#F0EDE8!important;border-color:#1D5FA8!important;box-shadow:inset 0 0 0 2px #1D5FA8!important}
html[data-vtvpal="q2"] .vtsh-qb span.tag,html[data-vtvpal="q2"] .entry-content button.vtsh-qb span.tag{color:#68635B!important;background:#EDEAE5!important;border:1px solid #E8E4DD!important;border-radius:999px!important;font-size:12px!important;font-weight:600!important;letter-spacing:0!important;text-transform:none!important;padding:2px 8px!important;line-height:1.4!important}
/* .vtv-catbar chips that are not the active one: white outlined chips in ink */
html[data-vtvpal="q2"][data-vtv] .vtv-catbar a:not(.vtv-on){background:#FFFFFF;color:#1C1A17;border:1px solid #D6D1C8;text-decoration:none}
html[data-vtvpal="q2"][data-vtv] .vtv-catbar a:not(.vtv-on):hover{border-color:#8D867B;color:#1C1A17}
/* where a page sits in a .vtv-r2 root, the Harbor .vtv-r2 .cta{display:grid;grid-template-columns:.9fr 1.1fr;...} card rule caught the small .cta elements: undone */
html[data-vtvpal="q2"] .vtv-r2 a.cta,html[data-vtvpal="q2"] .vtv-pledge-pg a.cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;grid-template-columns:none;min-height:48px;padding:0 22px;overflow:visible;border:0;box-shadow:none;border-radius:12px}
html[data-vtvpal="q2"] .vtv-r2 .vtvb .cta{display:block}
html[data-vtvpal="q2"] .vtv-r2 .nudge .cta,html[data-vtvpal="q2"] .detail-card .cta{display:flex;flex-wrap:wrap;gap:12px;grid-template-columns:none;background:transparent;border:0;box-shadow:none;border-radius:0;overflow:visible}
/* 12. Item 6: About page (.vtva). Its own CSS was not in the files: the marks, diamonds and the tilted polaroid are matched by class-name pattern */
html[data-vtvpal="q2"] .vtva [class*="eyebrow"],html[data-vtvpal="q2"] .vtva [class*="kicker"],html[data-vtvpal="q2"] .vtva [class*="-eye"],html[data-vtvpal="q2"] .vtva .eye,html[data-vtvpal="q2"] .vtva [class*="overline"],html[data-vtvpal="q2"] .vtva [class*="-lab"]{color:#68635B!important;padding-left:0!important;text-indent:0!important}
html[data-vtvpal="q2"] .vtva [class*="eyebrow"]::before,html[data-vtvpal="q2"] .vtva [class*="kicker"]::before,html[data-vtvpal="q2"] .vtva [class*="-eye"]::before,html[data-vtvpal="q2"] .vtva .eye::before,html[data-vtvpal="q2"] .vtva [class*="overline"]::before,html[data-vtvpal="q2"] .vtva [class*="-lab"]::before,html[data-vtvpal="q2"] .vtva [class*="eyebrow"]::after,html[data-vtvpal="q2"] .vtva [class*="kicker"]::after,html[data-vtvpal="q2"] .vtva [class*="-eye"]::after,html[data-vtvpal="q2"] .vtva .eye::after,html[data-vtvpal="q2"] .vtva [class*="overline"]::after,html[data-vtvpal="q2"] .vtva [class*="-lab"]::after{display:none!important}
html[data-vtvpal="q2"] .vtva [class*="diamond"],html[data-vtvpal="q2"] .vtva [class*="-dot"],html[data-vtvpal="q2"] .vtva [class*="dia"]{color:#8D867B!important;background:none!important}
html[data-vtvpal="q2"] .vtva figure,html[data-vtvpal="q2"] .vtva figure > *,html[data-vtvpal="q2"] .vtva [class*="polaroid"],html[data-vtvpal="q2"] .vtva [class*="photo"],html[data-vtvpal="q2"] .vtva [class*="portrait"],html[data-vtvpal="q2"] .vtva [class*="frame"],html[data-vtvpal="q2"] .vtva [class*="pic"],html[data-vtvpal="q2"] .vtva img{transform:none!important;rotate:none!important}
html[data-vtvpal="q2"] .vtva figure,html[data-vtvpal="q2"] .vtva [class*="polaroid"]:not(img),html[data-vtvpal="q2"] .vtva [class*="photo"]:not(img){background:#FFFFFF;border:1px solid var(--c-border);border-radius:16px;padding:10px;box-shadow:none;margin:0 0 24px}
html[data-vtvpal="q2"] .vtva figure img,html[data-vtvpal="q2"] .vtva [class*="polaroid"]:not(img) img,html[data-vtvpal="q2"] .vtva [class*="photo"]:not(img) img{display:block;max-width:100%;height:auto;border:0;box-shadow:none;border-radius:10px!important}
html[data-vtvpal="q2"] .vtva figure figcaption,html[data-vtvpal="q2"] .vtva [class*="polaroid"]:not(img) figcaption,html[data-vtvpal="q2"] .vtva [class*="photo"]:not(img) figcaption{font-family:var(--f-text,"Instrument Sans",system-ui,-apple-system,"Segoe UI",sans-serif)!important;font-size:14px!important;color:#68635B!important;text-align:left;transform:none;padding:8px 2px 0;line-height:1.45}
html[data-vtvpal="q2"] .vtva [class*="rule"],html[data-vtvpal="q2"] .vtva hr{color:var(--c-border);border-color:var(--c-border)}
html[data-vtvpal="q2"] .vtva hr{background:var(--c-border)}
/* 13. Scan families not in the owner's list */
/* gold eyebrows: .eye (down-payment .cta "Keep going"), .verdict .label (move-out, cost-of-living, rent-vs-buy) */
html[data-vtvpal="q2"] .vtvb .eye,html[data-vtvpal="q2"] .eye,html[data-vtvpal="q2"] .verdict .label,html[data-vtvpal="q2"] .verdict div.label{color:#68635B!important;letter-spacing:.06em}
/* verdict figures: gains blue, losses orange-red, on a paper surface. Scoped to .container .verdict so the Harbor .vtv-r2 .verdict component is untouched (#vtv-moveout .verdict is ID-scoped: !important) */
html[data-vtvpal="q2"] .verdict .big{color:#1D5FA8!important}
html[data-vtvpal="q2"] .verdict .big.behind,html[data-vtvpal="q2"] .verdict .big.neg{color:#C2410C!important}
html[data-vtvpal="q2"] .container .verdict{background:#F7F5F1!important;color:#46423C!important;border:1px solid #E8E4DD!important;border-radius:16px!important;box-shadow:none!important}
html[data-vtvpal="q2"] .container .verdict :is(p,span,small,div,li):not(.big):not(.label){color:#46423C!important}
/* span.val gold (DTI, how-much-house; ID-scoped page rule) */
html[data-vtvpal="q2"] .card span.val,html[data-vtvpal="q2"] span.val{color:#1C1A17!important}
/* .vtvm-agents p gold agent names (Buffalo, St. Louis, Milwaukee, Rochester, Cleveland; WPCode 1847 paint order unknown) */
html[data-vtvpal="q2"] .vtvm-agents p,html[data-vtvpal="q2"] .vtvm-agents div > p:first-child{color:#1C1A17!important}
/* .ds-auto gold on pale gold (deal-screener, #vtv-screener ID-scoped): neutral chip */
html[data-vtvpal="q2"] .ds-auto,html[data-vtvpal="q2"] .ds-row span.ds-auto{color:#68635B!important;background:#EDEAE5!important;border:1px solid #E8E4DD!important}
/* .vtvq-stat b green stat values (9 posts; WPCode 1847 paint order unknown): blue, losses orange-red */
html[data-vtvpal="q2"] .vtvq-stat b,html[data-vtvpal="q2"] .vtvq-stat .t b{color:#1D5FA8!important}
html[data-vtvpal="q2"] .vtvq-stat b.neg,html[data-vtvpal="q2"] .vtvq-stat b.behind,html[data-vtvpal="q2"] .vtvq-stat .t b.neg,html[data-vtvpal="q2"] .vtvq-stat .t b.behind{color:#C2410C!important}
/* span.none grey 2.62:1 (biggerpockets comparison table): 4.9:1 */
html[data-vtvpal="q2"] table.cmp span.none,html[data-vtvpal="q2"] .vtvbp span.none{color:#68635B!important}
/* .card.detail-card (move-out, cost-of-living): written for a dark background that the Harbor .card{background:#fff!important} rule removed */
html[data-vtvpal="q2"] .detail-card :is(h2,h3,h4,p,li,div,span,small,label){color:#46423C!important}
html[data-vtvpal="q2"] .detail-card :is(h2,h3,h4,span.name){color:#1C1A17!important;font-weight:600!important}
html[data-vtvpal="q2"] .detail-card span.amt{color:#1C1A17!important;font-weight:700!important;font-variant-numeric:tabular-nums}
html[data-vtvpal="q2"] .hint,html[data-vtvpal="q2"] .card .hint,html[data-vtvpal="q2"] div.hint{color:#68635B!important}
html[data-vtvpal="q2"] .nudge,html[data-vtvpal="q2"] .detail-card .nudge{color:#46423C!important}
/* home span.credit "Stock photo" 1:1 (white on white): a white pill, bottom-right of the figure that carries it, sitewide */
html[data-vtvpal="q2"] .vtv-r2 .credit,html[data-vtvpal="q2"] .credit{position:absolute;right:12px;bottom:12px;left:auto;top:auto;font-family:var(--f-b,"Instrument Sans",system-ui,sans-serif);font-size:11.5px;font-weight:500;line-height:1.3;color:#68635B!important;background:rgba(255,255,255,.92)!important;box-shadow:inset 0 0 0 1px #E8E4DD;border-radius:999px;padding:4px 10px;pointer-events:none;z-index:2;opacity:1;visibility:visible;text-shadow:none}
html[data-vtvpal="q2"] .vtv-r2 :is(figure,.photo,.media,.cta,.tlc .im,.gallery figure){position:relative}
html[data-vtvpal="q2"] .vtv-r2 .gallery figcaption{color:#68635B!important;background:rgba(255,255,255,.92)!important;box-shadow:inset 0 0 0 1px #E8E4DD;font-family:var(--f-b,"Instrument Sans",system-ui,sans-serif);font-size:12.5px;font-weight:500}
/* /blog/ Astra grid cards overflow their columns (273 > 246 x5, main 883 > 865): everything inside a grid column fits the column; Astra's grid rules carry !important */
html[data-vtvpal="q2"][data-vtvh] body:is(.blog,.archive,.search) :is(.ast-grid-common-col,.ast-article-post,.post-content,.ast-blog-featured-section,.ast-excerpt-container,.entry-header,.entry-content){max-width:100%!important;min-width:0!important;box-sizing:border-box!important}
html[data-vtvpal="q2"][data-vtvh] body:is(.blog,.archive,.search) .ast-article-post{width:100%!important;margin-inline:0!important;overflow:hidden;padding:0 0 32px!important}
html[data-vtvpal="q2"][data-vtvh] body:is(.blog,.archive,.search) :is(.ast-blog-featured-section,.post-content,.entry-content) img{max-width:100%!important;height:auto!important}
html[data-vtvpal="q2"][data-vtvh] body:is(.blog,.archive,.search) .ast-row{margin-inline:0!important}
html[data-vtvpal="q2"][data-vtvh] body:is(.blog,.archive,.search) .ast-row > [class*="ast-col-"]{padding-inline:12px!important}
html[data-vtvpal="q2"][data-vtvh] body:is(.blog,.archive,.search) #main{overflow-x:clip}
/* 14. Density pass (the data hero is not touched) */
/* tokens: body line-height 1.65, 72ch measure, hairlines #E3DFD8 -> #E8E4DD, shadows about half as deep */
html[data-vtvpal="q2"][data-vtv]:not(.vtv-r2 *){--lh-body:1.65;--measure:72ch;--c-border:#E8E4DD;--sh-soft:0 1px 2px rgba(35,30,22,.03),0 18px 40px -22px rgba(35,30,22,.14)}
html[data-vtvpal="q2"] .vtv-r2{line-height:1.65;--line:#E8E4DD;--sh:0 1px 2px rgba(35,30,22,.03),0 18px 40px -22px rgba(35,30,22,.14);--sh2:0 1px 2px rgba(35,30,22,.02),0 8px 22px -14px rgba(35,30,22,.1)}
/* interactive edges keep a firmer neutral so they do not fade with the hairlines */
html[data-vtvpal="q2"] .vtv-r2 .field,html[data-vtvpal="q2"] .vtv-r2 .cf .box2,html[data-vtvpal="q2"] .vtv-r2 .nsearch,html[data-vtvpal="q2"] .vtv-r2 .msearch input,html[data-vtvpal="q2"] .vtv-r2 .chips a{border-color:#D6D1C8}
html[data-vtvpal="q2"] .vtv-r2 .btn.ghost{box-shadow:inset 0 0 0 1.5px #D6D1C8}
html[data-vtvpal="q2"][data-vtv] input[type=text]:not(.vtv-r2 *),html[data-vtvpal="q2"][data-vtv] input[type=email]:not(.vtv-r2 *),html[data-vtvpal="q2"][data-vtv] input[type=number]:not(.vtv-r2 *),html[data-vtvpal="q2"][data-vtv] input[type=search]:not(.vtv-r2 *),html[data-vtvpal="q2"][data-vtv] select:not(.vtv-r2 *),html[data-vtvpal="q2"][data-vtv] textarea:not(.vtv-r2 *){border-color:#D6D1C8!important}
/* paragraphs 24px (was 18), lists 24px with 8px between items, h2 2.4em (96px at 40px, was 88), h3 2em */
html[data-vtvpal="q2"][data-vtv2] .entry-content p:not(.vtv-r2 *),html[data-vtvpal="q2"][data-vtv2] .vtv7 p:not(.vtv-r2 *){margin-bottom:24px}
html[data-vtvpal="q2"][data-vtv2] .entry-content ul:not(.vtv-r2 *),html[data-vtvpal="q2"][data-vtv2] .entry-content ol:not(.vtv-r2 *),html[data-vtvpal="q2"][data-vtv2] .vtv7 ul:not(.vtv-r2 *),html[data-vtvpal="q2"][data-vtv2] .vtv7 ol:not(.vtv-r2 *){margin-bottom:24px}
html[data-vtvpal="q2"][data-vtv2] .entry-content li + li:not(.vtv-r2 *),html[data-vtvpal="q2"][data-vtv2] .vtv7 li + li:not(.vtv-r2 *){margin-top:8px}
html[data-vtvpal="q2"][data-vtv2] .entry-content h2:not(.vtv-r2 *),html[data-vtvpal="q2"][data-vtv2] .vtv7 h2:not(.vtv-r2 *){margin:2.4em auto 16px!important}
html[data-vtvpal="q2"][data-vtv2] .entry-content h3:not(.vtv-r2 *),html[data-vtvpal="q2"][data-vtv2] .vtv7 h3:not(.vtv-r2 *){margin:2em auto 12px!important}
/* reading width: posts min(750px,72ch); plain pages (no .vtv-r2-main, not home) 72ch on their direct paragraphs and lists; pages with their own wrapper (.vtvlib, .vtva, tools) are not touched */
html[data-vtvpal="q2"][data-vtvh] .single-post .entry-content > :is(p,h2,h3,h4,ul,ol){max-width:min(750px,72ch)!important}
html[data-vtvpal="q2"][data-vtvh] body.page:not(.home):not(:has(.vtv-r2-main)) .entry-content > :is(p,ul,ol){max-width:72ch}
/* tables: roomier cells, a 1px ring instead of the shadow */
html[data-vtvpal="q2"][data-vtv2] .entry-content th:not(.vtv-r2 *),html[data-vtvpal="q2"][data-vtv2] .entry-content td:not(.vtv-r2 *){padding:16px 18px!important}
html[data-vtvpal="q2"][data-vtv2] .entry-content td:not(.vtv-r2 *){line-height:1.5}
html[data-vtvpal="q2"][data-vtv2] .entry-content table:not(.vtv-r2 *){margin-block:32px;box-shadow:0 0 0 1px var(--c-border)}
html[data-vtvpal="q2"] .vtv-r2 table.st td,html[data-vtvpal="q2"] .vtv-r2 table.st th{padding:14px 6px!important}
/* cards and tiles */
html[data-vtvpal="q2"][data-vtv2] .vtv7 .v7-kpi:not(.vtv-r2 *){padding:32px 28px!important}
html[data-vtvpal="q2"][data-vtv2] .vtv7 .v7-bars:not(.vtv-r2 *){padding:32px!important}
html[data-vtvpal="q2"][data-vtv2] .vtv-capsule:not(.vtv-r2 *){padding:56px 40px 40px!important}
html[data-vtvpal="q2"][data-vtv] .card:not(.vtv-r2 *),html[data-vtvpal="q2"][data-vtv] .results-card:not(.vtv-r2 *){padding:24px}
html[data-vtvpal="q2"][data-vtv] .result-row:not(.vtv-r2 *){padding:12px 0!important}
html[data-vtvpal="q2"][data-vtv] .vtv-ctagrid > *:not(.vtv-r2 *),html[data-vtvpal="q2"][data-vtv] .vtv-sitewide-ctas > *:not(.vtv-r2 *){padding:32px}
html[data-vtvpal="q2"] .vtv-r2 .card{padding:32px;gap:16px}
html[data-vtvpal="q2"] .vtv-r2 .tile{padding:28px 24px;gap:8px}
html[data-vtvpal="q2"] .vtv-r2 .panel2{padding:32px}
html[data-vtvpal="q2"] .vtv-r2 .art div{padding:24px 24px 28px}
html[data-vtvpal="q2"] .vtv-r2 .rk{padding:16px 20px}
html[data-vtvpal="q2"] .vtv-r2 .co{padding:16px 18px}
html[data-vtvpal="q2"] .vtv-r2 .stack{gap:20px}
html[data-vtvpal="q2"] .vtv-r2 .shead{gap:16px}
html[data-vtvpal="q2"] .vtv-r2 details.faq p{padding-bottom:24px}
html[data-vtvpal="q2"] .vtv-r2 details.faq summary{padding-block:18px}
html[data-vtvpal="q2"] .vtv-r2 .ln{padding:16px 0}
html[data-vtvpal="q2"] .vtv-r2 .lead{line-height:1.6}
html[data-vtvpal="q2"] .vtv-r2 .sm{line-height:1.55}
@container vtv (max-width:760px){ html[data-vtvpal="q2"] .vtv-r2 .card{padding:24px} html[data-vtvpal="q2"] .vtv-r2 .tile{padding:20px 16px} }
/* 15. "This page stays free either way." (vtv_free_line_insert, city pages): the Harbor .vtv7 > p rules are more specific and !important */
html[data-vtvpal="q2"] .entry-content p.vtv-free-line,html[data-vtvpal="q2"] .vtv7 p.vtv-free-line{font-size:14px!important;color:#68635B!important;margin:12px 0 0!important;max-width:none!important;line-height:1.5!important}
/* S40 v6.3a (29 Sep 2026, live check after deploy): the About page's real class names (.vtva-kick/-eye/-step marks, .vtva-tile/-cred gold rails,
   .vtva-num/.vtva-step h3/.vtva-frame figcaption serif, tilted .vtva-frame, teal hovers) and the capsule label (.vtv-capsule::before is a gold square,
   ::after is the label in Inter). Read from the live page in Chrome; the S39 notes had guessed the names. Tokens only. */
html[data-vtvpal="q2"] .vtv-capsule::before{display:none!important}
html[data-vtvpal="q2"] .vtv-capsule::after{font-family:"Instrument Sans",system-ui,sans-serif!important;color:#68635B!important;left:26px!important}
html[data-vtvpal="q2"] .vtva-kick::before,html[data-vtvpal="q2"] .vtva-eye::before,html[data-vtvpal="q2"] .vtva-step::before{display:none!important}
html[data-vtvpal="q2"] .vtva-kick,html[data-vtvpal="q2"] .vtva-eye{font-family:"Instrument Sans",system-ui,sans-serif!important;color:#68635B!important;letter-spacing:.09em!important}
html[data-vtvpal="q2"] .vtva-tile,html[data-vtvpal="q2"] .vtva-cred{border:1px solid #E8E4DD!important;border-top:1px solid #E8E4DD!important;border-radius:14px!important;box-shadow:none!important}
html[data-vtvpal="q2"] .vtva-num,html[data-vtvpal="q2"] .vtva-step h3,html[data-vtvpal="q2"] .vtva h1,html[data-vtvpal="q2"] .vtva h2,html[data-vtvpal="q2"] .vtva h3{font-family:"Manrope",system-ui,sans-serif!important;color:#1C1A17!important;font-style:normal!important}
html[data-vtvpal="q2"] .vtva-num{font-weight:800!important;font-variant-numeric:tabular-nums lining-nums}
html[data-vtvpal="q2"] .vtva-frame,html[data-vtvpal="q2"] .vtva-frame.vtva-r{transform:none!important;rotate:none!important;box-shadow:none!important;border:1px solid #E8E4DD!important;border-radius:16px!important}
html[data-vtvpal="q2"] .vtva-frame figcaption,html[data-vtvpal="q2"] .vtva figcaption,html[data-vtvpal="q2"] .vtva blockquote,html[data-vtvpal="q2"] .vtva .vtv-pull,html[data-vtvpal="q2"] .vtva-em,html[data-vtvpal="q2"] .vtva-em-q{font-family:"Instrument Sans",system-ui,sans-serif!important;font-style:normal!important}
html[data-vtvpal="q2"] .vtva-frame figcaption,html[data-vtvpal="q2"] .vtva figcaption{color:#68635B!important;font-size:14px!important;text-align:left!important}
html[data-vtvpal="q2"] .vtva-tl{border-left-color:#E8E4DD!important}
html[data-vtvpal="q2"] .vtva a.vtva-btn:hover,html[data-vtvpal="q2"] .vtva a.vtva-btn:focus-visible{background:#164B86!important;color:#fff!important}
html[data-vtvpal="q2"] .vtva a.vtva-btn2,html[data-vtvpal="q2"] .vtva a.vtva-btn2:visited{color:#1C1A17!important;border-color:#D6D1C8!important;background:#fff!important}
html[data-vtvpal="q2"] .vtva a.vtva-btn2:hover,html[data-vtvpal="q2"] .vtva a.vtva-link:hover{border-color:#8D867B!important;color:#1C1A17!important}
html[data-vtvpal="q2"] .vtva a.vtva-link,html[data-vtvpal="q2"] .vtva a.vtva-link:visited{background:#F7F5F1!important;border-color:#E8E4DD!important;color:#1C1A17!important}
html[data-vtvpal="q2"] .vtva-em-k,html[data-vtvpal="q2"] .vtva-em-f{color:#1D5FA8!important}
/* S40 v6.3b (29 Sep 2026): the sitewide pre-Harbor kit families found by the 524-page live scan after v6.3a (WPCode 3263 / 558 / 900262 / 1847 kits and
   older post CSS): teal text on b/strong/.vtv-lead/post nav/.vtvx-print/.rp-verdict/.vtv-bundle-cta/.vtvm-agents/.eb/.big/summary, gold ::before marks on
   list items and eyebrow headings, gold left rules on .vtv-ps/.vtv-explainer, teal rules on .vtv-nextstep/.vtv-ps-btn, teal or gold newsletter and press
   strip text, teal .result / dark buttons. Tokens only; every rule under the Paper attribute so VTV_PALETTE off restores the old colours. */
html[data-vtvpal="q2"] .entry-content :is(b,strong):not(.vtv-r2 *):not([class*="neg"]):not(.behind){color:#1C1A17!important}
html[data-vtvpal="q2"] .entry-content span.vtv-lead,html[data-vtvpal="q2"] span.vtv-lead{color:#1D5FA8!important;border-color:transparent!important}
html[data-vtvpal="q2"] .entry-content li::before,html[data-vtvpal="q2"] .vtv7 li::before,html[data-vtvpal="q2"] .entry-content li::marker{color:#1D5FA8!important}
html[data-vtvpal="q2"] .entry-content li::before,html[data-vtvpal="q2"] .vtv7 li::before{background-color:#8D867B!important}
html[data-vtvpal="q2"] .entry-content :is(h2,h3,h4)::before,html[data-vtvpal="q2"] h2.vtvx-eye::before,html[data-vtvpal="q2"] .vtv-eyebrow::before,html[data-vtvpal="q2"] div.eye::before{display:none!important}
html[data-vtvpal="q2"] .vtv-ps,html[data-vtvpal="q2"] .vtv-explainer{border-left-color:#E8E4DD!important;border-top-color:#E8E4DD!important}
html[data-vtvpal="q2"] .vtv-nextstep{border-left-color:#1D5FA8!important;border-top-color:#E8E4DD!important}
html[data-vtvpal="q2"] a.vtv-ps-btn,html[data-vtvpal="q2"] .vtv-ps a{border-color:#D6D1C8!important;color:#1C1A17!important;background:#fff!important}
html[data-vtvpal="q2"] .nav-previous,html[data-vtvpal="q2"] .nav-next,html[data-vtvpal="q2"] .post-navigation a{color:#1C1A17!important;border-color:#E8E4DD!important}
html[data-vtvpal="q2"] .nav-previous::after,html[data-vtvpal="q2"] .nav-next::before,html[data-vtvpal="q2"] .nav-previous::before,html[data-vtvpal="q2"] .nav-next::after{color:#1D5FA8!important;background:transparent!important}
html[data-vtvpal="q2"] .vtv-nl-eye,html[data-vtvpal="q2"] .vtv-nl-bonus,html[data-vtvpal="q2"] .vtv-press-lab,html[data-vtvpal="q2"] p.eb,html[data-vtvpal="q2"] .vtvx-eye{color:#68635B!important;border-color:transparent!important}
html[data-vtvpal="q2"] .vtv-nl-eye::before,html[data-vtvpal="q2"] .vtv-nl-bonus::before,html[data-vtvpal="q2"] .vtv-press-lab::before{display:none!important}
html[data-vtvpal="q2"] a.vtv-press-all,html[data-vtvpal="q2"] .vtv-press a{color:#1D5FA8!important;border-color:transparent!important}
html[data-vtvpal="q2"] p.vtvx-print,html[data-vtvpal="q2"] .rp-verdict.info,html[data-vtvpal="q2"] .vtv-nextstep.vtv-bundle-cta,html[data-vtvpal="q2"] .vtvm-agents,html[data-vtvpal="q2"] .vtvm-agents div,html[data-vtvpal="q2"] p.big,html[data-vtvpal="q2"] .entry-content summary{color:#1C1A17!important}
html[data-vtvpal="q2"] .entry-content span.d{background:#EDEAE5!important;color:#46423C!important}
html[data-vtvpal="q2"] .entry-content div.result:not(.vtv-r2 *){background:#F7F5F1!important;color:#1C1A17!important;border:1px solid #E8E4DD!important}
html[data-vtvpal="q2"] .entry-content div.result :is(h2,h3,h4,p,span,b,strong,div):not(.vtv-r2 *){color:#1C1A17!important}