/* Quote comparison uses the existing DeWitt colors and DIN typography. */
.page-hero.quote-comparison-hero h1{max-width:1050px}
.page-hero.quote-comparison-hero h1 sup{font-size:.35em;line-height:0;vertical-align:super}
.quote-hero-actions .button{min-height:50px;text-transform:none;letter-spacing:0}
#quote-upload{scroll-margin-top:108px}
.quote-upload-section{background:var(--soft)}
.quote-upload-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr);gap:64px;align-items:start}
.quote-upload-intro h2{font-size:clamp(2.1rem,3.2vw,3rem);line-height:1.05;margin:12px 0 22px}
.quote-upload-intro>p{font-size:1.08rem}
.quote-steps{list-style:none;counter-reset:quote;display:grid;gap:24px;padding:0;margin:32px 0}
.quote-steps li{counter-increment:quote;position:relative;padding-left:49px}
.quote-steps li:before{content:counter(quote,decimal-leading-zero);position:absolute;left:0;top:1px;font-family:"din-2014-narrow",Arial,sans-serif;font-size:1.7rem;line-height:1;color:var(--charcoal);border-bottom:3px solid var(--orange);padding-bottom:5px}
.quote-steps strong,.quote-steps span{display:block}
.quote-steps span{margin-top:4px;color:#555}
.quote-help a,.quote-consent a,.quote-upload-form noscript a{text-decoration:underline;text-underline-offset:3px}
.quote-upload-intro .quote-help{padding-top:24px;border-top:1px solid var(--line);font-size:.95rem}
.quote-upload-intro .quote-offer-terms{font-size:.875rem;color:#555;line-height:1.5;margin-top:24px}
.quote-upload-form{background:#fff;border-top:5px solid var(--orange);padding:32px;box-shadow:0 8px 28px #292b2d0a;min-width:0}
.quote-upload-form fieldset{border:0;padding:0;margin:0 0 22px;min-width:0}
.quote-upload-form legend{font-family:"din-2014-narrow",Arial,sans-serif;font-size:1.55rem;font-weight:700;margin-bottom:14px;padding:0}
.quote-file-panel{border:1px dashed #8d8e89;background:#fafaf8;padding:20px;min-width:0}
.quote-file-panel label{display:block;font-weight:700;font-size:1rem}
.quote-file-panel p{font-size:.875rem;color:#555;line-height:1.5;margin:6px 0 16px}
.quote-file-panel input{display:block;max-width:100%;font:inherit;font-size:.9rem;min-height:44px}
.quote-file-panel input::file-selector-button{font:inherit;font-weight:700;background:var(--charcoal);color:#fff;border:0;padding:12px 16px;margin-right:12px;cursor:pointer}
.quote-file-list{list-style:none;margin:12px 0 0;padding:0;font-size:.875rem;overflow-wrap:anywhere}
.quote-file-list:empty{display:none}
.quote-file-list li{padding:6px 0;border-top:1px solid var(--line)}
.quote-file-safety{font-size:.8rem;color:#555;margin:10px 0 0}
.quote-field-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 18px}
.quote-upload-form .field{margin:0;min-width:0}
.quote-wide{grid-column:1/-1}
.quote-upload-form .field input,.quote-upload-form .field select,.quote-upload-form .field textarea{font-size:16px;min-width:0;border-color:#b8b9b5}
.quote-upload-form .field textarea{min-height:100px}
.quote-upload-form .quote-submit{width:100%;min-height:52px;text-transform:none;letter-spacing:0;white-space:normal}
.quote-submit:disabled{opacity:.65;cursor:default}
.quote-captcha-wrap{margin:0 0 22px;min-width:0}
.quote-captcha-label{display:block;font-size:.95rem;font-weight:700;margin-bottom:10px}
.quote-captcha{width:100%;min-height:78px}
.quote-captcha-message,.quote-captcha-fallback{font-size:.875rem;line-height:1.5;margin:10px 0 0;color:#555}
.quote-captcha-message:empty{display:none}
.quote-captcha-fallback a{text-decoration:underline;text-underline-offset:3px}
.quote-captcha-wrap[hidden],.quote-captcha-fallback[hidden]{display:none}
.quote-consent{font-size:.8rem;line-height:1.5;margin:14px 0 0}
.quote-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.quote-status{margin-top:20px;padding:16px;border-left:3px solid var(--orange);background:#f5f4f0;overflow-wrap:anywhere}
.quote-status[data-kind="error"]{border-color:#9e3218;background:#fff2ee}
.quote-status[data-kind="success"]{border-color:#34634b;background:#eef5f0}
.quote-next-step{border-top:1px solid var(--line);margin-top:22px;padding-top:8px}
.quote-next-step .button{text-transform:none;letter-spacing:0;min-height:48px}
.quote-status[hidden],.quote-next-step[hidden]{display:none}
@media(max-width:900px){.quote-upload-layout{gap:30px;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr)}.quote-upload-form{padding:24px}}
@media(max-width:760px){.quote-upload-layout{grid-template-columns:minmax(0,1fr);gap:28px}.quote-steps{gap:18px;margin:24px 0}.quote-upload-intro h2{max-width:440px}.quote-hero-actions .button{width:100%;text-align:center}.quote-upload-form{padding:24px}.quote-upload-intro .quote-offer-terms{margin-bottom:0}}
@media(max-width:440px){.quote-upload-form{padding:20px 16px}.quote-field-grid{grid-template-columns:minmax(0,1fr)}.quote-file-panel{padding:16px}.quote-file-panel input::file-selector-button{padding:12px 10px;margin-right:7px}.quote-upload-section{padding:42px 0}}
