/* Provisional Origin-inspired VWI system. Every selector is opt-in and page-owned.
   Preserve functional DOM, content, consent and validation. No viewport scaling. */
body.vwi-page{display:block;margin:0;padding:0;min-width:0;overflow-wrap:break-word;text-align:left;background:#080a09!important;color:#eef3e9}
body.vwi-error>p{color:#c6d4ca!important}
body.vwi-error>p a{color:#d2e8c8!important}
.vwi-page *{box-sizing:border-box}
.vwi-page .oh-wrap{width:calc(100% - 2 * var(--vwi-gutter));max-width:var(--vwi-content);margin-inline:auto}
.vwi-page .oh-kicker{font:500 11px/1.5 var(--vwi-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--vwi-muted)}
.vwi-page .vwi-footer{font-family:var(--vwi-ui)}
.vwi-page .vwi-footer h2{font-family:var(--vwi-display);font-weight:400;line-height:1.06;letter-spacing:-.03em}
.vwi-page .vwi-footer a{color:inherit;text-decoration:none}
.vwi-page .vwi-footer a:hover{text-decoration:underline;text-underline-offset:4px}
.vwi-page .vwi-footer button,.vwi-page .vwi-footer summary{font-family:inherit}
.vwi-page main img{max-width:100%}
.vwi-page main :is(input,select,textarea){font-family:var(--vwi-ui);font-size:16px}
.vwi-page main :is(button,.btn){font-family:var(--vwi-ui)}
/* Legacy polish.css targets .hero:has(.hero-abx) with !important dark ink.
   Scope/specificity must beat that old pale-hero treatment on all13 services. */
body.vwi-design.vwi-page.vwi-service main .hero:has(.hero-abx){background:linear-gradient(#081d16b8,#081d16e0),var(--vwi-page-image) center/cover no-repeat!important;color:#f5f8f3!important}
body.vwi-design.vwi-page.vwi-service main .hero :is(h1,.hr-lead,.hr-word,.hero-sub-strong){color:#f5f8f3!important;-webkit-text-fill-color:currentColor!important}
body.vwi-design.vwi-page.vwi-service main .hero :is(.hero-sub,.hero-local,.hero-eyebrow,.hero-crumb,.laurels,.laurel,.laurel .a,.laurel .b,.scroll-cue,small){color:#e3ede5!important;opacity:1!important}
body.vwi-design.vwi-page.vwi-service main .hero :is(.hero-sub,.hero-local,.hero-crumb) :is(a,span,b,strong,em){color:#f1f7ec!important;-webkit-text-fill-color:currentColor!important}
body.vwi-design.vwi-page.vwi-service main .hero a:not(.btn){color:#f1f7ec!important;text-underline-offset:4px}
body.vwi-design.vwi-page.vwi-service main .hero .hero-sub a{text-decoration:underline}
body.vwi-design.vwi-page.vwi-service main .hero :is(.btn-i,.btn-m){background:#d2e8c8!important;color:#162d21!important;-webkit-text-fill-color:#162d21!important}
body.vwi-design.vwi-page.vwi-service main .hero .btn-glass{background:#13271ee6!important;border-color:#a6baa9!important;color:#f5f8f3!important;-webkit-text-fill-color:#f5f8f3!important}
/* Service landing pages: spaced narrative bands, a calm reading measure and cards. */
/* Explicit surface palettes prevent legacy light-theme tokens leaking into dark UI.
   Keep light form/card contexts local; do not set every descendant to white. */
body.vwi-page.vwi-service-center main,body.vwi-page.vwi-quote main{
 --t-hi:#f5f8f3;--t-mid:#c6d4ca;--t-lo:#b7c7bb;--ink:#162d21;
 --paper:#142019;--paper-3:#1b2820;--border:#536659;--border-strong:#85978a;
 --accent:#d2e8c8;--i:#75b98b;--i-hover:#a6d2b2;--i-soft:#243f2c;
 color:#f5f8f3;
}
body.vwi-page.vwi-service-center main :is(.svc-contact span,.svc-contact a,.svc-note,.svc-kicker,.svc-eyebrow,.svc-status li,.svc-faq summary){color:#d9e7dc!important}
body.vwi-page.vwi-service-center main :is(.svc-status li,.svc-faq details){background:#142019!important;border-color:#536659!important}
body.vwi-page.vwi-service-center main .svc-button{background:#d2e8c8!important;color:#162d21!important;border:1px solid #d2e8c8}
body.vwi-page.vwi-service-center main .svc-button.alt{background:#142019!important;color:#eef6ea!important;border-color:#85978a!important}
body.vwi-page.vwi-service-center main .svc-button:hover{background:#e5f1dd!important;color:#162d21!important}
body.vwi-page.vwi-service-center main .svc-button.alt:hover{background:#263b2c!important;color:#eef6ea!important}
/* Quote wizard includes dynamically inserted headings, hints, review and consent. */
body.vwi-page.vwi-quote main :is(.ap-sub,.ap-looking,.ap-hint,.ap-prog .lbl,.ap-secure,.ap-trust span,.ap-disc,.ap-back,.ap-support-alt){color:#c6d4ca!important}
body.vwi-page.vwi-quote main :is(.ap-field label,.ap-support h2,.ap-support li b,.ap-faq summary){color:#f5f8f3!important}
body.vwi-page.vwi-quote main :is(.ap-support-card,.ap-faq details){background:#142019!important;color:#f5f8f3;border-color:#536659!important}
body.vwi-page.vwi-quote main :is(.ap-support p,.ap-support li,.ap-faq p){color:#c6d4ca!important}
body.vwi-page.vwi-quote main a:not(.ap-support-btn){color:#d2e8c8;text-decoration:underline;text-underline-offset:3px}
body.vwi-page.vwi-quote main :is(.ap-opt,.ap-in,.ap-consent,.ap-rev){
 --t-hi:#162d21;--t-mid:#344b3b;--t-lo:#526858;--i:#287642;--i-hover:#1e5b31;--i-soft:#dcebdc;
 --paper:#f5f7f0;--paper-3:#edf1e6;
 background:#f5f7f0;color:#162d21;border-color:#85978a;
}
body.vwi-page.vwi-quote main .ap-opt:hover{background:#e4eddc}
body.vwi-page.vwi-quote main .ap-opt.sel{background:#dcebdc;border-color:#287642}
body.vwi-page.vwi-quote main :is(.ap-consent,.ap-rev) a{color:#245f35!important}
body.vwi-page.vwi-quote main .ap-in::placeholder{color:#526858;opacity:1}
body.vwi-page.vwi-quote main .ap-in:focus-visible{outline:3px solid #a6d2b2;outline-offset:3px}
body.vwi-page.vwi-quote main .ap-err{color:#ffb9bd}
body.vwi-page.vwi-quote main .ap-nav{background:#102018f5;border-color:#536659}
body.vwi-page.vwi-quote main :is(.ap-next,.ap-next.go,.ap-support-btn){background:#d2e8c8;color:#162d21!important;border:1px solid #d2e8c8}
body.vwi-page.vwi-quote main :is(.ap-next,.ap-next.go,.ap-support-btn):hover{background:#e5f1dd;color:#162d21!important}
/* Escrow: dark outer article/answer, light input panel/notes, dark result panel. */
body.vwi-page.vwi-calculator main{color:#e3ede5;--et-muted:#c6d4ca;--et-dark:#eef6ea}
body.vwi-page.vwi-calculator main :is(.et-answer-first,.et-review-line,.et-answer strong,.et-answer b){color:#e3ede5!important}
body.vwi-page.vwi-calculator main :is(.et-answer,.et-main,.et-related,.et-faq) a{color:#d2e8c8}
body.vwi-page.vwi-calculator main :is(.et-panel:not(.et-result),.et-callout,.et-toc,.et-faq details){--et-dark:#162d21;--et-muted:#415747;background:#f5f7f0!important;color:#162d21!important}
body.vwi-page.vwi-calculator main :is(.et-panel:not(.et-result),.et-callout,.et-toc,.et-faq details) :is(h2,h3,label,p,li,summary){color:#263f2e!important}
body.vwi-page.vwi-calculator main :is(.et-panel:not(.et-result),.et-callout,.et-toc,.et-faq details) a{color:#245f35!important}
body.vwi-page.vwi-calculator main :is(.et-hint,.et-money span,.et-months span){color:#526858}
body.vwi-page.vwi-calculator main .et-note{background:#e6eddf;color:#344b3b!important}
body.vwi-page.vwi-calculator main .et-field input{background:#fff;color:#162d21;border-color:#718478}
body.vwi-page.vwi-calculator main .et-result{background:#111a16!important;color:#f5f8f3!important}
body.vwi-page.vwi-calculator main .et-result :is(h2,h3,b){color:#f5f8f3!important}
body.vwi-page.vwi-calculator main .et-result :is(p,span,.et-row){color:#c6d4ca!important}
body.vwi-page.vwi-calculator main .et-result :is(a,button){color:#f5f8f3!important;background:#1b3425;border-color:#85978a}
body.vwi-page.vwi-calculator main :is(.et-hero,.et-answer) a:not(.et-jump){color:#e3f0dc!important}
body.vwi-page.vwi-calculator main .et-jump{background:#edf1e6;color:#162d21!important}
/* Glossary: dark hero metadata; light reference cards; explicit dark callouts. */
body.vwi-page.vwi-glossary main .gl-hero :is(.gl-meta,.gl-meta span,.gl-meta a,.gl-crumb,.gl-crumb a,.gl-kicker){color:#e3ede5!important}
body.vwi-page.vwi-glossary main .gl-hero{background:linear-gradient(#081d16b8,#081d16e0),var(--vwi-page-image) center/cover!important}
body.vwi-page.vwi-glossary main .gl-content{--accent:#27663b;--t-hi:#162d21;--t-mid:#344b3b;--t-lo:#526858;color:#162d21}
body.vwi-page.vwi-glossary main .gl-content :is(.gl-boundary,.gl-cta){background:#142019!important;color:#eef6ea!important;--accent:#d2e8c8;--t-hi:#eef6ea;--t-mid:#c6d4ca}
body.vwi-page.vwi-glossary main :is(.gl-boundary,.gl-cta) :is(p,li,h2,h3,b,strong){color:#eef6ea!important}
body.vwi-page.vwi-glossary main .gl-cta a{background:#d2e8c8;color:#162d21!important}
body.vwi-page.vwi-glossary main .gl-table a{color:#d2e8c8!important}
body.vwi-page.vwi-glossary main :is(.gl-field input,.gl-field select){background:#fff;color:#162d21;border-color:#718478}
body.vwi-page.vwi-glossary main .gl-clear{background:#245f35;color:#fff}
.vwi-service main :is(.ab-sec,.pil-sec,.bsplit-sec){padding-block:var(--vwi-section);background:var(--vwi-canvas)!important;color:var(--vwi-text)}
.vwi-service main :is(.ab-sec,.pil-sec) :is(h2,h3){font-family:var(--vwi-display);font-weight:400;color:var(--vwi-text)}
.vwi-service main :is(.ab-sec,.pil-sec) h2{font-size:var(--vwi-h2);line-height:1.1;max-width:850px}
.vwi-service main :is(.ab-sec,.pil-sec) p{color:var(--vwi-muted);line-height:1.75}
.vwi-service main :is(.ab-card,.pil-card,.vp-card){background:var(--vwi-surface)!important;border:1px solid var(--vwi-border);border-radius:var(--vwi-card-radius);box-shadow:none;color:var(--vwi-text)}
.vwi-page main :is(.final,.cta-band,.lcx-cta,.et-cta){background:var(--vwi-paper)!important;color:var(--vwi-accent-ink)!important;padding:var(--vwi-section) var(--vwi-gutter);text-align:center}
.vwi-page main :is(.final,.cta-band,.lcx-cta,.et-cta) :is(h2,h3,p){color:inherit!important}
.vwi-page main :is(.final,.cta-band,.lcx-cta,.et-cta) h2{font:400 var(--vwi-h2)/1.1 var(--vwi-display);max-width:800px;margin:0 auto 24px}
/* Service centers: lead with a clear task, then a responsive action grid. */
.vwi-service-center main{max-width:var(--vwi-content)!important;width:calc(100% - 2 * var(--vwi-gutter));margin:auto;padding:142px 0 72px!important}
.vwi-page .svc-hero{max-width:800px;margin:0 auto 54px;text-align:center;padding:0;background:transparent}
.vwi-page .svc-hero h1{font:400 var(--vwi-h1)/1.07 var(--vwi-display)!important;letter-spacing:-.03em;color:var(--vwi-text)!important}
.vwi-page .svc-hero p{max-width:650px;margin:22px auto;color:var(--vwi-muted)!important;font-size:17px;line-height:1.7}
.vwi-page :is(.svc-grid,.svc-contact){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-block:32px}
.vwi-page :is(.svc-card,.svc-panel,.svc-contact>div){background:var(--vwi-surface)!important;color:var(--vwi-text)!important;border:1px solid var(--vwi-border)!important;border-radius:var(--vwi-card-radius);padding:30px;box-shadow:none}
.vwi-page :is(.svc-section,.svc-panel){margin-block:48px}
.vwi-page :is(.svc-grid,.svc-panel,.svc-section,.svc-contact) :is(h2,h3){font-family:var(--vwi-display);font-weight:400;color:var(--vwi-text)!important;line-height:1.2}
.vwi-page :is(.svc-grid,.svc-panel,.svc-section,.svc-contact) :is(p,li){color:var(--vwi-muted)!important;line-height:1.75}
.vwi-page :is(.svc-grid,.svc-panel,.svc-section,.svc-contact) a:not(.btn){color:var(--vwi-accent)}
.vwi-page .svc-note{font-size:13px;line-height:1.7;color:var(--vwi-muted)}
/* Legal documents retain a quiet light reading surface and original hierarchy. */
.vwi-legal main{padding:138px var(--vwi-gutter) 70px!important}
.vwi-legal .pp-wrap{max-width:var(--vwi-reading)!important;margin:auto;background:var(--vwi-paper);color:#203326;padding:48px!important;border-radius:24px}
.vwi-legal .pp-wrap h1{font:400 clamp(36px,5vw,58px)/1.1 var(--vwi-display)!important;color:#203326;letter-spacing:-.025em}
.vwi-legal .pp-wrap :is(h2,h3){font-family:var(--vwi-display);font-weight:400;color:#203326!important;line-height:1.2}
.vwi-legal .pp-wrap h2{font-size:30px!important;margin-top:40px}
.vwi-legal .pp-wrap :is(p,li){font:400 16px/1.8 var(--vwi-ui);color:#344738!important}
.vwi-legal .pp-wrap a{color:#2f6540}
/* Quote form stays structurally identical: wizard, validation and attribution intact. */
.vwi-quote .ap-main{padding-top:136px!important;max-width:760px}
.vwi-quote :is(.ap-h,.ap-hero){font-family:var(--vwi-display)!important;font-weight:400!important;color:var(--vwi-text)!important;line-height:1.15}
.vwi-quote :is(.ap-card,.ap-support){background:var(--vwi-surface)!important;color:var(--vwi-text);border:1px solid var(--vwi-border)!important;border-radius:24px;box-shadow:none}
.vwi-quote .ap-support{margin-top:28px;padding:28px}
.vwi-quote .ap-support h2{font:400 30px/1.2 var(--vwi-display)}
.vwi-quote .ap-support p{color:var(--vwi-muted);line-height:1.7}
/* Guide variants: maintain original navigation, tables, answers and anchors. */
.vwi-guide main :is(.hen-hero,.sr-hero,.lh),.vwi-glossary .gl-hero,.vwi-library .lcx-hero,.vwi-calculator .et-hero{padding:144px var(--vwi-gutter) 72px!important;background:linear-gradient(#09221c55,#071b17d9),var(--vwi-page-image) center/cover!important;color:var(--vwi-text)!important;text-align:center}
.vwi-guide main :is(.hen-hero,.sr-hero,.lh) h1,.vwi-glossary .gl-hero h1,.vwi-library .lcx-hero h1,.vwi-calculator .et-hero h1{font:400 var(--vwi-h1)/1.08 var(--vwi-display)!important;letter-spacing:-.025em;color:var(--vwi-text)!important;max-width:900px;margin:18px auto}
.vwi-guide main :is(.hen-hero,.sr-hero,.lh) p,.vwi-glossary .gl-hero p,.vwi-library .lcx-hero p,.vwi-calculator .et-hero p{color:var(--vwi-muted)!important;max-width:700px;margin:20px auto;font-size:17px;line-height:1.7}
.vwi-guide :is(.hen-content,.sr-content),.vwi-glossary .gl-content{width:calc(100% - 2 * var(--vwi-gutter));max-width:var(--vwi-reading);margin:40px auto 72px;padding:36px;background:var(--vwi-paper);border-radius:24px;color:#203326}
.vwi-guide :is(.hen-content,.sr-content) :is(p,li),.vwi-glossary .gl-content :is(p,li){color:#344738;line-height:1.8}
.vwi-guide :is(.hen-content,.sr-content) :is(h2,h3),.vwi-glossary .gl-content :is(h2,h3){font-family:var(--vwi-display);font-weight:400;color:#203326;line-height:1.2}
.vwi-guide :is(.hen-content,.sr-content) h2,.vwi-glossary .gl-content h2{font-size:34px}
.vwi-guide main .ll-sec{background:var(--vwi-canvas)!important;color:var(--vwi-text);padding-block:var(--vwi-section)}
.vwi-guide main .ll-sec.tint{background:var(--vwi-surface)!important}
.vwi-guide main .ll-sec :is(h2,h3){font-family:var(--vwi-display);font-weight:400;color:var(--vwi-text)!important}
.vwi-guide main .ll-sec :is(p,li){color:var(--vwi-muted)!important;line-height:1.75}
/* Learning directory uses its existing filters and destinations. */
.vwi-library :is(.lcx-body,.lcx-nav){max-width:var(--vwi-content);margin-inline:auto}
.vwi-library .lcx-body{padding-block:48px}
.vwi-library :is(.lcx-card,.lcx-featured){background:var(--vwi-surface)!important;border:1px solid var(--vwi-border)!important;border-radius:20px;box-shadow:none;color:var(--vwi-text)}
.vwi-library :is(.lcx-card,.lcx-featured) :is(h2,h3){font-family:var(--vwi-display);font-weight:400;color:var(--vwi-text)!important}
/* Standalone calculator uses the same system without altering calculation controls. */
.vwi-calculator :is(.et-answer,.et-tool,.et-layout,.et-related,.et-faq){max-width:var(--vwi-content);margin-inline:auto}
.vwi-calculator :is(.et-answer,.et-related,.et-faq){padding:48px var(--vwi-gutter);color:var(--vwi-text);background:var(--vwi-canvas)!important}
.vwi-calculator main h2{font:400 clamp(28px,3vw,42px)/1.15 var(--vwi-display);color:inherit}
.vwi-calculator .et-tool{border-radius:24px;margin-block:36px}
/* Completion/error views remain explicit, compact and accessible. */
.vwi-confirmation main,.vwi-error main{max-width:760px!important;width:calc(100% - 2 * var(--vwi-gutter));margin:auto;padding:150px 0 80px!important;min-height:65vh;text-align:center}
.vwi-confirmation h1,.vwi-error h1{font:400 var(--vwi-h1)/1.08 var(--vwi-display)!important;color:var(--vwi-text)!important;letter-spacing:-.025em}
.vwi-confirmation main p,.vwi-error main p{color:var(--vwi-muted);line-height:1.7}
.vwi-confirmation .ty-next{background:var(--vwi-surface)!important;border:1px solid var(--vwi-border);border-radius:20px;padding:28px;color:var(--vwi-text)}
.vwi-page :is(.vwi-footer,.art-card,.pp-wrap) :focus-visible{outline-color:#719c69}
@media(max-width:760px){
 .vwi-page :is(.svc-grid,.svc-contact){grid-template-columns:1fr}
 .vwi-service-center main,.vwi-quote .ap-main{padding-top:112px!important}
 .vwi-legal main{padding-top:112px!important}
 .vwi-legal .pp-wrap{padding:28px 22px!important}
 .vwi-guide :is(.hen-content,.sr-content),.vwi-glossary .gl-content{padding:24px 20px}
 .vwi-guide main :is(.hen-hero,.sr-hero,.lh),.vwi-glossary .gl-hero,.vwi-library .lcx-hero,.vwi-calculator .et-hero{padding-top:112px!important;padding-bottom:44px!important}
 .vwi-page :is(.svc-card,.svc-panel,.svc-contact>div){padding:24px}
 .vwi-confirmation main,.vwi-error main{padding-top:120px!important}
 .vwi-page .vwi-footer h2{font-size:42px}
}
