/* The company-first estimator, with a persistent result and next-step panel. */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.quote-card{border:1px solid var(--line);background:#fffdf7}
.quote-steps{display:flex;justify-content:center;gap:36px;list-style:none;margin:0;padding:22px 24px;border-bottom:1px solid var(--line);font:13px/1.5 var(--mono);color:#777b80}
.quote-steps li{display:flex;align-items:center;gap:10px}.quote-steps li>span:first-child{font-size:11px}.quote-steps [aria-current="step"]{color:var(--blue)}
.quote-layout{display:grid;grid-template-columns:1.2fr 1fr}.quote-layout>*{min-width:0}.quote-form{border-right:1px solid var(--line)}
.quote-form label{font-size:15px;line-height:1.5;margin:0;color:#1b1e21}
.quote-form :is(input,select){width:100%;min-width:0;min-height:51px;margin:0;background-color:#f7f5ed;border:1px solid #b3b4b1;color:#1b1e21;font-size:15px;border-radius:0;padding:13px 14px}
.quote-form select{padding-right:48px}.quote-form input::placeholder{color:#74787a;opacity:1}
.quote-form :is(input,select):focus-visible,.quote-form button:focus-visible,.quote-next :is(button,a):focus-visible,.quote-method summary:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.quote-form :is(input,select)[aria-invalid="true"]{border-color:#a22727}
.quote-metrics{padding:30px;border-bottom:1px solid var(--line)}
.quote-form .quote-metric{display:grid;grid-template-columns:160px minmax(0,1fr);gap:18px;align-items:center}.quote-metric+.quote-metric{margin-top:12px}
.quote-contact{padding:30px}.quote-contact-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:23px}.quote-contact-heading .eyebrow{font-size:11px;letter-spacing:.8px;color:#60666d}.quote-contact-heading .text-button{font-size:12px;padding:0;white-space:nowrap;color:#535960}
.quote-industry{display:block;margin-bottom:18px!important}.quote-industry select{margin-top:9px}
.quote-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.quote-wide{grid-column:1/-1}
.quote-form .quote-continue{display:flex;gap:14px;background:var(--blue);border-color:var(--blue);color:#fff;width:100%;margin-top:14px;min-height:55px}
.quote-form .quote-continue:hover{background:var(--deep)}.quote-form .quote-continue:disabled{opacity:.65;cursor:wait}
.quote-privacy{font-size:12px;line-height:1.6;color:#62676d;margin-top:14px}.quote-error{font-size:13px;line-height:1.5;color:#a22727;margin-top:14px}.quote-error:empty{display:none}
.quote-sidebar{display:flex;flex-direction:column;min-width:0}.quote-result{background:var(--charcoal);color:#fff;padding:32px 28px;text-align:center}.quote-result>.eyebrow{font-size:12px;letter-spacing:1px}
.quote-live{margin-top:18px}#estimate-range{display:flex;align-items:center;justify-content:center;gap:14px;font-size:clamp(33px,3.6vw,52px);line-height:1.2;letter-spacing:-1.8px;font-variant-numeric:tabular-nums}
.estimate-to{font:11px var(--mono);letter-spacing:0;color:#bfc3c8}#estimate-summary{font-size:13px;color:#bfc3c8;line-height:1.6;margin-top:16px;min-height:42px}
.quote-disclaimer{font-size:13px;color:#bfc3c8;line-height:1.6;margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.24)}
.quote-next{padding:30px;flex:1;scroll-margin:35px;outline:none}.quote-next-brand{display:flex;align-items:center;gap:16px}.quote-next-brand>span:first-child{font-size:34px;letter-spacing:-3px;font-weight:700;line-height:1}.quote-next-brand>span:last-child{font-size:17px;line-height:1.35;border-left:1px solid #a3a6a6;padding-left:16px}
.quote-next-waiting{text-align:center;padding:48px 0 30px;color:#62676d}.quote-next-waiting svg{margin-bottom:24px;color:var(--blue)}.quote-next h3{font-size:24px;color:#1b1e21;line-height:1.3}.quote-next p{font-size:14px;line-height:1.7;margin-top:14px}
#quote-next-ready{margin-top:32px}#quote-next-ready>.eyebrow{display:block;color:var(--blue);margin-bottom:14px}#quote-success-message{color:#535960}.quote-contact-summary{padding-top:18px;border-top:1px solid var(--line);overflow-wrap:anywhere}
.quote-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.quote-actions .button{flex:1;min-width:160px;border-color:var(--blue);color:var(--blue);font-size:14px}.quote-actions .button:hover,.quote-actions .button.solid{background:var(--blue);color:#fff}.quote-actions .button.solid{gap:15px}.quote-actions .button.solid:hover{background:var(--deep)}.quote-actions .text-button{padding:4px 0;color:var(--blue);font-size:13px}#quote-copy-status{font-size:12px;color:#535960}
.quote-method{border-top:1px solid var(--line);padding:23px 30px}.quote-method>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:13px;line-height:1.5}.quote-method p{font-size:12px;line-height:1.65;margin-top:14px;color:#535960}.quote-method .expand{width:16px}
.quote-card [hidden]{display:none!important}
@media(max-width:1100px){.quote-layout{grid-template-columns:1.1fr 1fr}.quote-metrics,.quote-contact,.quote-next{padding:25px}.quote-form .quote-metric{grid-template-columns:1fr;gap:8px}.quote-metric+.quote-metric{margin-top:17px}.quote-result{padding:30px 23px}.quote-contact-grid{gap:10px}.quote-method{padding:22px 25px}}
@media(max-width:760px){.quote-layout{grid-template-columns:1fr}.quote-form{border-right:0}.quote-steps{gap:22px;padding:18px 15px;font-size:12px}.quote-steps li{gap:7px}.quote-metrics,.quote-contact,.quote-next{padding:24px 20px}.quote-contact-heading{gap:12px}.quote-contact-heading .eyebrow{font-size:10px;letter-spacing:.4px}.quote-result{padding:30px 23px}#estimate-range{font-size:45px;gap:12px}.quote-next-waiting{padding:32px 0 15px}.quote-next-brand>span:last-child{font-size:16px}.quote-method{padding:22px 20px}.quote-contact-grid{grid-template-columns:1fr}.quote-contact-heading .text-button{font-size:11px}.quote-form :is(input,select){font-size:16px}.quote-next{scroll-margin:20px}}
@media(max-width:360px){.quote-steps{gap:15px;font-size:11px}.quote-metrics,.quote-contact,.quote-next{padding:22px 16px}.quote-contact-heading{align-items:start}#estimate-range{font-size:30px;gap:8px}.quote-next-brand{gap:12px}.quote-next-brand>span:last-child{padding-left:12px;font-size:15px}}
@media(forced-colors:active){.quote-form select{appearance:auto;background-image:none;padding-right:14px}}
