/* Approved 2026-10-30 visual language applied to the existing live form DOM. */
body.vp-forms-visual{--red:#b91f2a;--red-dark:#991723;--rose:#fcf0f1;--ink:#252a30;--muted:#59636e;--line:#dce0e4;--soft:#f4f5f6;--surface:#fff;margin:0;padding:0;background:#f4f5f6;color:#252a30;font:18px/1.65 Arial,Helvetica,sans-serif}
body.vp-forms-visual *{box-sizing:border-box}
body.vp-forms-visual :is(input,select,textarea,button){font-family:inherit}
body.vp-forms-visual :is(a,button,input,select,textarea):focus-visible{outline:3px solid #b91f2a;outline-offset:4px}
body.vp-forms-visual #vp-request-page{--r-red:#b91f2a;--r-ink:#252a30;--r-muted:#59636e;--r-line:#dce0e4;--r-bg:#f4f5f6;max-width:1240px;width:calc(100% - 64px);margin:0 auto;background:transparent;box-shadow:none;font:18px/1.65 Arial,Helvetica,sans-serif}
body.vp-forms-visual #vp-request-page main{grid-template-columns:minmax(280px,.75fr) minmax(0,1.35fr);gap:28px;align-items:start;margin-top:32px;min-height:65vh}
body.vp-forms-visual .vpr-intro{padding:34px 30px;border-radius:18px;min-height:0;background:#252a30}
body.vp-forms-visual .vpr-intro h1{font-size:clamp(32px,3.3vw,46px);line-height:1.12;letter-spacing:-.035em;font-weight:700}
body.vp-forms-visual .vpr-intro h1 em{color:#ff8a94}
body.vp-forms-visual .vpr-intro>p:not(.vpr-eyebrow){font-size:18px;line-height:1.65;color:#d6dce3;margin-top:24px}
body.vp-forms-visual :is(.vpr-eyebrow,.vpr-step,.tag){font-size:12px;line-height:1.5;letter-spacing:.12em;font-weight:700}
body.vp-forms-visual .vpr-contact{margin-top:30px;gap:16px}
body.vp-forms-visual .vpr-contact>span{color:#c6cdd5;font-size:12px;line-height:1.5}
body.vp-forms-visual .vpr-phone{font-size:20px;font-weight:700;line-height:1.5;min-height:44px;display:inline-flex;align-items:center}
body.vp-forms-visual .vpr-tool{font-size:10px!important;min-height:44px;min-width:44px}
body.vp-forms-visual .vpr-address{font-size:15px!important;line-height:1.65}
body.vp-forms-visual .vpr-form-wrap{padding:34px;background:#fff;border:1px solid #dce0e4;border-radius:18px;min-width:0}
body.vp-forms-visual .vpr-form-wrap h2{font-size:30px;font-weight:700;line-height:1.2;letter-spacing:-.035em;margin-bottom:30px}
body.vp-forms-visual #vpr-form{gap:24px}
body.vp-forms-visual #vpr-form label{font-size:16px;line-height:1.55;gap:9px}
body.vp-forms-visual .vpr-section{gap:20px;padding-bottom:26px}
body.vp-forms-visual .vpr-section-head{gap:14px}
body.vp-forms-visual .vpr-section-head>span{width:34px;height:34px;flex-basis:34px;font-size:13px;background:#fcf0f1;color:#b91f2a}
body.vp-forms-visual .vpr-section-head h3{font-size:21px;line-height:1.3;letter-spacing:-.02em;margin:0 0 7px}
body.vp-forms-visual .vpr-section-head p{font-size:15px;line-height:1.55;color:#59636e}
body.vp-forms-visual :is(.vpr-grid,.vpr-uploads){gap:20px}
body.vp-forms-visual #vpr-form :is(input:not([type=checkbox]),textarea){min-height:50px;padding:13px 14px;border-radius:9px;border-color:#bdc5ce;background:#fff;font-size:16px;line-height:1.5;color:#252a30}
body.vp-forms-visual #vpr-form textarea{min-height:150px}
body.vp-forms-visual #vpr-form :is(input,textarea)::placeholder{color:#697581}
body.vp-forms-visual .vpr-upload{padding:20px;border-radius:12px;border-color:#b8c1ca;background:#f4f5f6;min-width:0;overflow-wrap:anywhere}
body.vp-forms-visual :is(.vpr-upload small,.vpr-grid label small,.vpr-upload>span small){font-size:14px;line-height:1.55;color:#59636e}
body.vp-forms-visual .vpr-upload input{max-width:100%;font-size:14px!important}
body.vp-forms-visual .vpr-contact-choice{gap:10px}
body.vp-forms-visual .vpr-contact-choice button{padding:12px 16px;min-height:50px;font-size:16px;border-radius:9px;background:#fff}
body.vp-forms-visual .vpr-contact-choice button[aria-pressed=true]{background:#fcf0f1;border-color:#b91f2a;color:#991723}
body.vp-forms-visual #vpr-form .vpr-consent{font-size:15px;line-height:1.65;grid-template-columns:22px 1fr!important}
body.vp-forms-visual .vpr-consent input{width:20px;height:20px;margin-top:4px}
body.vp-forms-visual .vpr-submit{min-height:50px;padding:14px 23px;border:1px solid #b91f2a;border-radius:9px;font-size:16px;font-weight:700;line-height:1.35;background:#b91f2a}
body.vp-forms-visual .vpr-submit:hover{background:#991723}
body.vp-forms-visual .vpr-status{font-size:15px;line-height:1.6}
body.vp-forms-visual .vpr-footer-meta{padding:28px 0;font-size:14px}
/* Delivery's original three-step controller, hidden states and validation remain authoritative. */
body.vp-forms-visual>.wrap{width:min(1240px,calc(100% - 64px));max-width:1240px;padding:0;margin:0 auto}
body.vp-forms-visual .calculation-page{max-width:1000px;margin:0 auto;padding-top:32px}
body.vp-forms-visual .calculation-back{font-size:16px;display:inline-flex;min-height:44px;align-items:center;margin-bottom:22px}
body.vp-forms-visual .delivery-request{border:1px solid #dce0e4;border-radius:18px;box-shadow:none;background:#fff;overflow:hidden}
body.vp-forms-visual .delivery-form-head{padding:34px;gap:24px;background:#fff;border-bottom:1px solid #dce0e4}
body.vp-forms-visual .delivery-form-head h1{font-size:clamp(32px,4vw,48px);line-height:1.12;font-weight:700;letter-spacing:-.035em}
body.vp-forms-visual .delivery-form-head p:not(.tag){font-size:18px;line-height:1.65;max-width:60ch;color:#59636e}
body.vp-forms-visual .delivery-form-head>span{font-size:14px;color:#59636e}
body.vp-forms-visual #delivery-form{padding:0 34px 34px}
body.vp-forms-visual .delivery-progress{gap:12px;padding-top:26px}
body.vp-forms-visual .delivery-progress-item{font-size:15px;line-height:1.5;padding:14px;border-radius:10px}
body.vp-forms-visual .delivery-progress-item.is-active{background:#fcf0f1}
body.vp-forms-visual .delivery-progress-item b{font-size:13px;width:30px;height:30px;flex-basis:30px}
body.vp-forms-visual .delivery-summary{border-radius:10px;margin-top:20px}
body.vp-forms-visual .delivery-summary div{padding:16px}
body.vp-forms-visual .delivery-summary span{font-size:12px;line-height:1.5}
body.vp-forms-visual .delivery-summary strong{font-size:15px;line-height:1.55}
body.vp-forms-visual .form-section{padding:30px 0;border-bottom-color:#dce0e4}
body.vp-forms-visual .form-section-head{gap:14px;margin-bottom:24px}
body.vp-forms-visual .form-section-number{font-size:13px;width:34px;height:34px;flex-basis:34px;border-radius:9px;background:#fcf0f1}
body.vp-forms-visual .form-section-title{font-size:25px;line-height:1.3;letter-spacing:-.025em}
body.vp-forms-visual .form-section-note{font-size:16px;line-height:1.55;color:#59636e}
body.vp-forms-visual .delivery-grid{gap:22px}
body.vp-forms-visual .delivery-grid label{font-size:16px;line-height:1.55;gap:9px}
body.vp-forms-visual .delivery-grid label>span{font-size:16px}
body.vp-forms-visual :is(.optional,.dimensions legend){font-size:14px;line-height:1.55;color:#59636e}
body.vp-forms-visual .delivery-grid :is(input,textarea,select){min-height:50px;padding:13px 14px;border:1px solid #bdc5ce;border-radius:9px;background:#fff;font-size:16px;line-height:1.5;color:#252a30}
body.vp-forms-visual .delivery-grid :is(input,textarea)::placeholder{color:#697581}
body.vp-forms-visual .delivery-grid textarea{min-height:130px}
body.vp-forms-visual .delivery-step-nav{padding:26px 0 0}
body.vp-forms-visual .delivery-step-nav button{font-size:16px;min-height:50px;border-radius:9px;padding:13px 23px;line-height:1.35}
body.vp-forms-visual .delivery-form-foot{padding:26px 34px;margin:26px -34px -34px;background:#f4f5f6}
body.vp-forms-visual .delivery-consent{font-size:15px;line-height:1.65}
body.vp-forms-visual .delivery-consent input{width:20px;height:20px;flex-basis:20px;accent-color:#b91f2a}
body.vp-forms-visual .delivery-submit-row button{min-height:50px;padding:14px 23px;font-size:16px;line-height:1.35;background:#b91f2a}
body.vp-forms-visual .delivery-status{font-size:14px;line-height:1.6}
body.vp-forms-visual .trust-strip{border-radius:12px;max-width:1000px;margin:22px auto 0}
body.vp-forms-visual .trust-item{padding:20px;font-size:15px;line-height:1.55}
body.vp-forms-visual footer{font-size:14px;line-height:1.7}
@media(max-width:1000px){body.vp-forms-visual #vp-request-page main{grid-template-columns:minmax(240px,.65fr) minmax(0,1.35fr);gap:22px}body.vp-forms-visual :is(.vpr-grid,.vpr-uploads){grid-template-columns:1fr}body.vp-forms-visual .vpr-contact-choice{flex-wrap:wrap}}
@media(max-width:760px){body.vp-forms-visual #vp-request-page,body.vp-forms-visual>.wrap{width:calc(100% - 40px)}body.vp-forms-visual #vp-request-page main{grid-template-columns:1fr;gap:22px;margin-top:24px}body.vp-forms-visual .vpr-intro{order:0;padding:26px;min-height:0}body.vp-forms-visual .vpr-form-wrap{order:1;padding:26px}body.vp-forms-visual .vpr-intro h1{font-size:36px}body.vp-forms-visual .vpr-contact{margin-top:24px}body.vp-forms-visual .delivery-form-head{grid-template-columns:1fr;padding:26px}body.vp-forms-visual #delivery-form{padding:0 26px 26px}body.vp-forms-visual .delivery-grid{grid-template-columns:1fr}body.vp-forms-visual .route-fields{grid-template-columns:1fr;gap:22px}body.vp-forms-visual .route-mark{display:none}body.vp-forms-visual .delivery-form-foot{margin:24px -26px -26px;padding:26px;grid-template-columns:1fr}body.vp-forms-visual .delivery-progress-item{display:grid;justify-items:center;text-align:center;font-size:13px;padding:10px 5px}body.vp-forms-visual .delivery-progress{gap:8px}body.vp-forms-visual .trust-strip{grid-template-columns:1fr}body.vp-forms-visual .delivery-summary{grid-template-columns:1fr}body.vp-forms-visual .delivery-summary div{display:flex;justify-content:space-between;gap:12px}body.vp-forms-visual .delivery-summary strong{max-width:65%;text-align:right}body.vp-forms-visual .delivery-step-nav{flex-direction:column-reverse}body.vp-forms-visual .delivery-step-nav button{width:100%}}
@media(max-width:420px){body.vp-forms-visual #vp-request-page,body.vp-forms-visual>.wrap{width:calc(100% - 28px)}body.vp-forms-visual .vpr-form-wrap{padding:22px}body.vp-forms-visual .vpr-intro{padding:24px}body.vp-forms-visual .vpr-contact-choice{display:grid;grid-template-columns:1fr}body.vp-forms-visual .vpr-contact-choice button{width:100%}body.vp-forms-visual .vpr-submit{width:100%}body.vp-forms-visual .delivery-form-head{padding:24px}body.vp-forms-visual #delivery-form{padding:0 22px 22px}body.vp-forms-visual .delivery-form-foot{margin:24px -22px -22px;padding:22px}}
body.vp-forms-visual .delivery-summary strong{min-width:0}
body.vp-forms-visual .delivery-summary span{flex-shrink:0}
body.vp-forms-visual .delivery-summary div{min-width:0}
