/* Request a Quote: shared VSS identity, compact and readable form. */
.quote-page .quote-breadcrumb{display:flex;gap:12px;padding-top:25px;font-size:13px;color:#626a63}.quote-hero{padding:48px 0 45px;max-width:850px}.quote-hero .eyebrow{font-size:11px;margin-bottom:22px}.quote-hero h1{font:500 clamp(43px,5.5vw,72px)/1.12 var(--display);letter-spacing:-.065em;margin:0}.quote-hero h1 em{font-family:var(--serif);font-weight:400}.quote-hero>p:last-child{font-size:17px;color:#626a63;line-height:1.8;max-width:720px;margin:24px 0 0}.quote-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:8%;padding-bottom:100px;align-items:start}.quote-page [hidden]{display:none!important}.quote-page fieldset{border:0;border-top:1px solid var(--line);padding:23px 0 30px;margin:0;min-width:0}.quote-page legend{font:25px/1.4 var(--serif);padding-right:20px}.quote-page legend>span{font:11px var(--sans);letter-spacing:.08em;margin-right:13px;color:#687767}.quote-page legend small{font:13px var(--sans);color:#626a63;margin-left:10px}.form-intro{display:flex;justify-content:space-between;gap:15px;font-size:14px;margin:0 0 25px}.form-intro>span{font-size:13px;color:#626a63}.quote-fields{display:grid;grid-template-columns:1fr 1fr;gap:17px 22px}.quote-wide{grid-column:1/-1}.quote-field{min-width:0}.quote-field label{display:block;font-size:14px;font-weight:500;margin-bottom:8px}.quote-field label>span:not(.optional){color:#6c573f}.optional{font-size:13px;font-weight:400;color:#626a63}.quote-field input,.quote-field select,.quote-field textarea{display:block;width:100%;min-width:0;min-height:49px;border:1px solid #b7bfb3;border-radius:0;background:#fbfaf6;color:var(--ink);padding:12px 13px;font:16px/1.5 var(--sans)}.quote-field textarea{resize:vertical;min-height:135px}.quote-field input:focus,.quote-field textarea:focus,.quote-field select:focus{outline:2px solid var(--green);outline-offset:2px}.quote-field [aria-invalid=true]{border-color:#99492e}.field-error{display:block;color:#8e3e27;font-size:13px;line-height:1.6;margin-top:5px}.field-error:empty{display:none}.quote-checks{display:grid;grid-template-columns:1fr 1fr;gap:4px 20px}.quote-checks label{display:flex;gap:11px;align-items:center;min-height:44px;font-size:15px;cursor:pointer}.quote-checks input{width:19px;height:19px;flex-shrink:0;accent-color:var(--green)}.quote-hint{font-size:13px;line-height:1.7;color:#626a63;margin:10px 0 0}.quote-honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.file-field{margin-top:23px}.file-field input{padding:10px;font-size:14px}.file-field input::file-selector-button{border:0;background:#e5e8df;padding:9px 12px;margin-right:12px;color:var(--green);cursor:pointer;font:14px var(--sans)}.quote-consent{font-size:13px;line-height:1.8;color:#626a63;margin:0 0 19px}.quote-consent a{text-decoration:underline;text-underline-offset:3px}.quote-submit{border:0;cursor:pointer;min-width:230px;font:600 15px var(--sans);min-height:54px}.quote-submit:disabled{opacity:.65;cursor:wait}.quote-notice,.error-summary{padding:16px 18px;margin-bottom:24px;background:#eaece3;border-left:2px solid #6c7d67;font-size:14px;line-height:1.7}.error-summary{border-color:#a55b3d;background:#f1e8e1}.error-summary p{margin:0}.error-summary ul{padding-left:20px;margin-bottom:0}.error-summary a{text-decoration:underline}.quote-support{padding:30px;background:#eeede8}.quote-support .eyebrow{font-size:10px}.quote-support h2{font-size:30px;line-height:1.18;letter-spacing:-.05em}.quote-support ul{list-style:none;padding:0;margin:24px 0}.quote-support li{font-size:14px;padding:9px 0;border-bottom:1px solid #d1d5ca}.quote-support p:not(.eyebrow){font-size:14px;color:#626a63;line-height:1.8}.quote-support-links{margin-top:20px;display:grid}.quote-support-links a{min-height:44px;display:flex;align-items:center;font-size:14px;color:var(--green);font-weight:500}.quote-success{padding:45px 30px;background:#eaece3;border-top:2px solid var(--green)}.quote-success h2{font-size:46px}.quote-success p{font-size:16px}.quote-success .eyebrow{font-size:11px}.quote-page .primary-nav>a:not(.button){font-size:13px}.quote-page .footer-links a{font-size:14px;min-height:36px;display:inline-flex;align-items:center}.quote-page .footer-bottom{font-size:12px}.quote-page a:focus-visible,.quote-page button:focus-visible{outline:2px solid var(--green);outline-offset:4px}#quote-form,#quote-success{scroll-margin-top:100px}
@media(min-width:761px) and (max-width:1150px){.quote-page .header-inner{height:auto;min-height:82px;flex-wrap:wrap;padding-block:15px;gap:15px}.quote-page .primary-nav{flex-wrap:wrap;gap:18px}.quote-layout{gap:35px;grid-template-columns:minmax(0,1fr) 260px}.quote-page .footer-main{flex-wrap:wrap;gap:30px}.quote-page .footer-links{gap:25px}}
@media(max-width:900px){.quote-layout{grid-template-columns:1fr;gap:35px}.quote-support{max-width:none}.quote-support ul{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.quote-support-links{display:flex;gap:20px;flex-wrap:wrap}}
@media(max-width:600px){.quote-hero{padding:30px 0}.quote-hero>p:last-child{font-size:16px;margin-top:18px}.quote-layout{padding-bottom:60px}.quote-fields{grid-template-columns:1fr;gap:15px}.quote-page fieldset{padding:18px 0 23px}.quote-page legend{font-size:23px}.quote-checks{grid-template-columns:1fr;gap:0}.form-intro{display:block}.form-intro span{display:block;margin-top:5px}.quote-submit{width:100%}.quote-support{padding:25px}.quote-support ul{grid-template-columns:1fr}.quote-page .footer-bottom{flex-wrap:wrap}.quote-success{padding:30px 22px}.quote-success h2{font-size:39px}.file-field input{font-size:13px}.quote-page .footer-links{grid-template-columns:1fr 1fr}}
/* Final approved upload control: real file input remains keyboard accessible. */
.upload-control{position:relative;display:inline-flex;max-width:100%;margin-top:2px}
.quote-field .upload-control input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;z-index:1;cursor:pointer}
.upload-button{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:49px;padding:12px 18px;border:1px solid #a8b3a3;background:#e8ece2;color:var(--green);font-size:14px;font-weight:500;pointer-events:none}
.upload-control:focus-within .upload-button{outline:2px solid var(--green);outline-offset:3px}
.upload-control:hover .upload-button{background:#dfe5d9}
#file-selection{overflow-wrap:anywhere}
#file-selection:empty{display:none}
.quote-field .retained-file-remove{display:flex;align-items:center;gap:9px;margin-top:10px;font-size:13px}
.quote-field .retained-file-remove input{width:18px;min-height:18px;height:18px;accent-color:var(--green)}
