:root{--white:#fff;--off:#f7f7f4;--ink:#151515;--muted:#666;--line:#deded9;--orange:#ff7900;--hover:#e56800;--pale:#fff4e8}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:linear-gradient(135deg,#fff 0%,#fafaf8 68%,#fff7ef 100%);font-family:Arial,Helvetica,sans-serif}
button,input,select,textarea{font:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--orange);outline-offset:3px}

.quote-header{position:sticky;top:0;z-index:20;height:92px;border-bottom:1px solid var(--line);background:#fffc}
.quote-nav{display:flex;width:min(1420px,calc(100% - 56px));height:100%;align-items:center;gap:34px;margin-inline:auto}
.quote-logo{display:block;flex:0 0 255px;width:255px;height:82px;overflow:hidden}
.quote-logo img{display:block;width:402px;height:auto;transform:translate(-73px,-95px)}
.quote-links{display:flex;gap:58px;align-items:center;margin-left:auto}
.quote-links a{color:var(--ink);font-size:15px;font-weight:850;text-decoration:none}
.quote-login{padding:10px 0;border:0;background:transparent;color:var(--ink);font-size:15px;font-weight:850;cursor:pointer}
.quote-nav-cta{display:inline-flex;min-width:205px;min-height:52px;gap:17px;align-items:center;justify-content:center;padding:13px 22px;border-radius:8px;background:var(--orange);box-shadow:0 10px 22px #ff790030;color:#fff;font-size:15px;font-weight:900;text-decoration:none}
.quote-nav-cta span{font-size:22px}.quote-menu{display:none}

.quote-page{padding:24px 0 42px}
.quote-layout{display:grid;width:min(1420px,calc(100% - 56px));grid-template-columns:minmax(0,1fr) 330px;gap:44px;align-items:start;margin-inline:auto}
.quote-main{min-width:0}
.quote-intro{padding:0 6px 25px}
.quote-eyebrow{display:flex;gap:14px;align-items:center;margin:0 0 10px;color:var(--orange);font-size:14px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.quote-eyebrow i{width:72px;height:2px;background:var(--orange)}
.quote-intro h1{margin:0;font-size:clamp(48px,5vw,70px);line-height:.98;letter-spacing:-.065em}
.quote-intro>p:not(.quote-eyebrow){max-width:650px;margin:13px 0 18px;color:var(--muted);font-size:16px;line-height:1.48}
.quote-promises{display:flex;gap:58px;margin:0;padding:0;list-style:none}
.quote-promises li{display:flex;gap:9px;align-items:center;color:#5b5b5b;font-size:13px}
.quote-promises li:before{display:grid;width:17px;height:17px;border:2px solid var(--orange);border-radius:50%;content:"✓";place-items:center;color:var(--orange);font-size:10px;font-weight:900}

.quote-form{padding:18px 24px 22px;border:1px solid #e5e5e1;border-radius:16px;background:#fff;box-shadow:0 15px 34px #15151518}
.quote-form fieldset{margin:0;padding:0 0 16px;border:0;border-bottom:1px solid var(--line)}
.quote-form fieldset+fieldset{padding-top:10px}
.quote-form legend{margin:0 0 9px;padding:0;font-size:18px;font-weight:900;letter-spacing:-.025em}
.form-grid{display:grid;gap:11px 22px;margin-bottom:11px}.form-grid:last-child{margin-bottom:0}
.form-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.quote-form label,.field-label{display:block;margin:0;color:#222;font-size:12px;font-weight:850}
.quote-form label b,.field-label b{color:var(--orange)}
.quote-form label small,.field-label small{display:block;margin-top:2px;color:var(--muted);font-size:10px;font-weight:400}
.quote-form input[type=text],.quote-form input[type=tel],.quote-form input[type=email],.quote-form select,.quote-form textarea{display:block;width:100%;margin-top:5px;border:1px solid #cfcfcb;border-radius:6px;background:#fff;color:var(--ink);font-size:12px;transition:border-color .16s ease,box-shadow .16s ease}
.quote-form input[type=text],.quote-form input[type=tel],.quote-form input[type=email],.quote-form select{height:38px;padding:8px 11px}
.quote-form textarea{min-height:68px;padding:10px 11px;line-height:1.45;resize:vertical}
.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{border-color:var(--orange);box-shadow:0 0 0 3px #ff790016;outline:none}
.quote-form input::placeholder,.quote-form textarea::placeholder{color:#929292}
.address-field{position:relative;z-index:6}.address-autocomplete-list{position:absolute;top:calc(100% + 4px);right:0;left:0;overflow:hidden;border:1px solid #d8d8d4;border-radius:8px;background:#fff;box-shadow:0 15px 32px #1515151f}.address-autocomplete-list[hidden]{display:none}.address-suggestion{display:block;width:100%;padding:11px 13px;border:0;border-bottom:1px solid #eeeeea;background:#fff;color:var(--ink);cursor:pointer;text-align:left}.address-suggestion:last-child{border-bottom:0}.address-suggestion:hover,.address-suggestion.active{background:var(--pale)}.address-suggestion strong,.address-suggestion small{display:block}.address-suggestion strong{font-size:12px}.address-suggestion small{overflow:hidden;margin-top:4px;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.address-verify{margin:-4px 0 9px;color:var(--muted);font-size:10px}.address-verify.verified{color:#147b28;font-weight:750}.address-verify.error{color:#a53f00;font-weight:750}

.service-fieldset{position:relative}
.service-options{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:7px 0 10px}
.service-options label{position:relative;display:flex;min-height:68px;gap:9px;align-items:center;padding:9px 22px 9px 9px;border:1px solid #deded9;border-radius:10px;background:#fff;box-shadow:0 4px 12px #1515150a;cursor:pointer;transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease,transform .16s ease}
.service-options input{position:absolute;width:1px;height:1px;opacity:0}
.service-icon{display:grid;flex:0 0 44px;width:44px;height:44px;border:1px solid #ffd6ae;border-radius:11px;place-items:center;background:var(--pale);color:var(--orange);transition:background-color .16s ease,color .16s ease,transform .16s ease}
.service-icon svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}
.service-options strong{font-size:10px;line-height:1.15}
.service-check{position:absolute;top:7px;right:7px;width:14px;height:14px;border:1px solid #bfc0bc;border-radius:3px}
.service-options input:checked~.service-check{border-color:var(--orange);background:var(--orange)}
.service-options input:checked~.service-check:after{position:absolute;top:0;left:3px;color:#fff;content:"✓";font-size:10px;font-weight:900}
.service-options label:hover{border-color:#ffad61;box-shadow:0 8px 18px #15151512;transform:translateY(-1px)}
.service-options label:hover .service-icon{transform:scale(1.04)}
.service-options label:has(input:checked){border-color:var(--orange);background:#fffaf5;box-shadow:0 7px 18px #ff790018}
.service-options label:has(input:checked) .service-icon{border-color:var(--orange);background:var(--orange);color:#fff}
.service-options label:focus-within{outline:3px solid var(--orange);outline-offset:2px}
.form-error{min-height:0;margin:0;color:#b94700;font-size:11px;font-weight:700}
.select-row{margin-top:7px}.details-label{margin-top:7px!important}

.quote-submit-grid{display:grid;grid-template-columns:.85fr 1fr;gap:42px;padding-top:16px}
.photo-drop{display:grid!important;min-height:105px;margin-top:7px!important;border:2px dashed var(--orange);border-radius:8px;place-content:center;justify-items:center;padding:10px;background:#fffdfa;text-align:center;cursor:pointer}
.photo-drop.dragging{background:var(--pale)}
.photo-drop input{position:absolute;width:1px;height:1px;opacity:0}
.photo-drop svg{width:43px;height:43px;margin-bottom:2px;fill:none;stroke:var(--orange);stroke-linecap:round;stroke-linejoin:round;stroke-width:2.3}
.photo-drop strong{font-size:14px}.photo-drop span{margin-top:2px;color:#555;font-size:11px;font-weight:400}.photo-drop small{color:#777;font-size:10px}
.upload-status{min-height:14px;margin:5px 0 0;color:var(--orange);font-size:10px}
.submit-block>button{display:flex;width:100%;min-height:54px;gap:11px;align-items:center;justify-content:center;border:0;border-radius:8px;background:var(--orange);box-shadow:0 10px 20px #ff79002f;color:#fff;font-size:17px;font-weight:900;cursor:pointer}
.submit-block>button:hover{background:var(--hover)}
.submit-block>button:disabled{cursor:wait;opacity:.72}
.submit-block>p{margin:8px 0 11px;color:var(--muted);font-size:11px;text-align:center}
.follow-up{display:flex;gap:12px;align-items:center;padding:10px 18px 0;border-top:1px solid var(--line);color:#555}
.follow-up>span{font-size:21px}.follow-up p{margin:0;font-size:13px;line-height:1.35}
.submission-status{min-height:16px!important;margin:7px 0 0!important;color:#a53f00!important;font-size:11px!important;font-weight:700;text-align:center}
.submission-status.success{color:#147b28!important}

.quote-sidebar{position:sticky;top:116px;padding:23px 22px 25px;border:1px solid #e5e5e1;border-radius:15px;background:#fff;box-shadow:0 15px 34px #15151517}
.quote-sidebar h2{margin:0;font-size:18px;letter-spacing:-.025em}.quote-sidebar section>i{display:block;width:39px;height:2px;margin:10px 0 18px;background:var(--orange)}
.benefit-list,.process-list{margin:0;padding:0;list-style:none}
.benefit-list{display:grid;gap:18px}
.benefit-list li{display:grid;grid-template-columns:53px 1fr;gap:13px;align-items:center}
.benefit-list>li>span{display:grid;width:52px;height:52px;border:2px solid #ffe1c3;border-radius:50%;place-items:center}
.benefit-list svg{width:29px;height:29px;fill:none;stroke:var(--orange);stroke-linecap:round;stroke-linejoin:round;stroke-width:2.1}
.benefit-list strong,.process-list strong{font-size:13px}.benefit-list p,.process-list p{margin:4px 0 0;color:#4f4f4f;font-size:11px;line-height:1.45}
.process-section{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
.process-list{display:grid;gap:15px}.process-list li{position:relative;display:grid;grid-template-columns:38px 1fr;gap:14px}.process-list li:not(:last-child):after{position:absolute;top:36px;bottom:-15px;left:18px;border-left:1px dashed #ffb572;content:""}
.process-list b{position:relative;z-index:1;display:grid;width:38px;height:38px;border-radius:50%;place-items:center;background:var(--orange);color:#fff;font-size:17px}
.help-call{display:grid;grid-template-columns:46px 1fr;gap:11px;align-items:center;margin-top:20px;padding:14px;border-radius:9px;background:var(--pale);color:var(--ink);text-decoration:none}
.help-call>span{font-size:33px;color:var(--orange)}.help-call strong{font-size:12px}.help-call p{margin:4px 0 0;font-size:11px}.help-call p b{color:var(--orange)}

@media(max-width:1260px){
  .quote-nav{gap:20px}.quote-logo{flex-basis:205px;width:205px}.quote-logo img{width:330px;transform:translate(-60px,-78px)}
  .quote-links{gap:26px}.quote-nav-cta{min-width:170px}.quote-layout{gap:26px}
  .service-options{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:980px){
  .quote-header{height:78px}.quote-nav{width:calc(100% - 32px);gap:10px}
  .quote-logo{flex-basis:150px;width:150px;height:68px}.quote-logo img{width:240px;transform:translate(-44px,-57px)}
  .quote-menu{display:block;margin-left:auto;padding:9px 11px;border:1px solid var(--line);background:#fff;font-size:12px;font-weight:850}
  .quote-links{display:none}.quote-links.open{position:absolute;top:78px;right:16px;left:16px;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:10px 18px;border:1px solid var(--line);background:#fff;box-shadow:0 14px 28px #15151518}.quote-links.open a{padding:12px 0;border-bottom:1px solid #eeeeea}
  .quote-login{font-size:12px}.quote-nav-cta{min-width:150px;min-height:44px;font-size:12px}
  .quote-page{padding-top:20px}.quote-layout{width:min(920px,calc(100% - 32px));grid-template-columns:1fr}
  .quote-sidebar{position:relative;top:auto;display:grid;grid-template-columns:1fr 1fr;gap:25px}.process-section{margin:0;padding:0 0 0 25px;border-top:0;border-left:1px solid var(--line)}.help-call{grid-column:1/-1;margin-top:0}
}

@media(max-width:700px){
  .quote-logo{flex-basis:83px;width:83px}.quote-logo img{width:140px;transform:translate(-26px,-33px)}
  .quote-nav{gap:6px}.quote-menu{padding:7px;font-size:10px}.quote-login{font-size:10px}.quote-nav-cta{min-width:72px;min-height:40px;padding:7px;font-size:0}.quote-nav-cta:after{content:"Quote";font-size:10px}.quote-nav-cta span{display:none}
  .quote-layout{width:calc(100% - 24px)}.quote-intro{padding-inline:2px}.quote-intro h1{font-size:clamp(41px,13vw,58px)}.quote-intro>p:not(.quote-eyebrow){font-size:14px}.quote-promises{gap:9px;flex-direction:column}
  .quote-form{padding:18px 14px}.form-grid-three,.form-grid-two{grid-template-columns:1fr}.service-options{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-submit-grid{grid-template-columns:1fr;gap:18px}
  .quote-sidebar{grid-template-columns:1fr;padding:20px 17px}.process-section{padding:18px 0 0;border-top:1px solid var(--line);border-left:0}
}

@media(max-width:380px){.quote-login{display:none}.service-options{grid-template-columns:1fr}}

/* Keep the quote-page navigation visually identical to the homepage header. */
.quote-header{height:88px;background:#fff;transition:transform .28s cubic-bezier(.2,.7,.2,1);will-change:transform}
.address-location-tools{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-top:-4px}.address-location-tools .address-verify{margin:0}.use-location{display:inline-flex;flex:0 0 auto;gap:7px;align-items:center;padding:7px 10px;border:1px solid #ff9f62;border-radius:7px;background:#fff;color:var(--orange);font-size:10px;font-weight:850;cursor:pointer}.use-location svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.use-location:hover{background:var(--pale)}.use-location:disabled{cursor:wait;opacity:.65}
.quote-header.nav-hidden{transform:translateY(-100%)}
.quote-header:focus-within{transform:translateY(0)!important}
.quote-nav{width:min(1240px,calc(100% - 64px));gap:28px}
.quote-logo{flex:0 0 222px;width:222px;height:72px}
.quote-logo img{width:350px;transform:translate(-64px,-82px)}
.quote-links{gap:31px;margin-left:0}
.quote-links a{position:relative;padding:10px 0;font-size:14px;font-weight:800}
.quote-links a:after{position:absolute;right:0;bottom:0;left:0;height:2px;content:"";background:var(--orange);transform:scaleX(0);transition:transform .2s ease}
.quote-links a:hover:after{transform:scaleX(1)}
.quote-login{display:inline-flex;min-height:48px;align-items:center;justify-content:center;margin-left:auto;padding:12px 18px;border:2px solid var(--orange);border-radius:6px;background:#fff;color:var(--orange);font-size:14px;font-weight:850;text-decoration:none;white-space:nowrap;transition:color .2s ease,background .2s ease,transform .2s ease}
.quote-login:hover{color:#fff;background:var(--orange);transform:translateY(-2px)}
.quote-nav-cta{min-width:174px;min-height:52px;margin-left:0;padding:14px 25px;border-radius:6px;font-size:15px;font-weight:850}

@media(max-width:1100px) and (min-width:761px){
  .quote-nav{gap:16px}
  .quote-logo{flex-basis:175px;width:175px}.quote-logo img{width:285px;transform:translate(-53px,-68px)}
  .quote-links{gap:18px}.quote-links a{font-size:13px}
  .quote-login{padding:10px 12px;font-size:12px}
  .quote-nav-cta{min-width:145px;padding-inline:16px;font-size:13px}
}

@media(max-width:760px){
  .quote-header{height:76px}
  .quote-nav{width:calc(100% - 32px);gap:5px}
  .quote-logo{order:1;flex:0 0 116px;width:116px;height:60px}
  .quote-logo img{width:165px;transform:translate(-25px,-24px)}
  .quote-login{display:block;order:2;flex:0 0 62px;min-height:40px;margin-left:auto;padding:7px 6px;border:1px solid var(--ink);color:var(--ink);font-size:0}
  .quote-login:after{content:"Login";font-size:12px}
  .quote-login:hover{border-color:var(--orange)}
  .quote-nav-cta{order:3;flex:0 0 62px;min-width:62px;min-height:40px;padding:7px 6px;font-size:0}
  .quote-nav-cta:after{content:"Quote";font-size:12px}.quote-nav-cta span{display:none}
  .quote-menu{order:4;display:block;flex:0 0 40px;width:40px;margin-left:0;padding:4px;border:0;background:#fff;font-size:0;line-height:1}
  .quote-menu:before{content:"☰";color:var(--ink);font-size:27px;font-weight:700}
  .quote-menu[aria-expanded="true"]:before{content:"×";font-size:31px}
  .quote-links.open{top:76px}
  .address-location-tools{align-items:flex-start;flex-direction:column}.use-location{width:100%;justify-content:center}
}

/* Match the homepage phone header exactly and keep the three right-side
   controls vertically centered at every narrow width. */
@media(max-width:760px){
  .quote-nav{width:calc(100% - 20px);height:100%;gap:5px;align-items:center}
  .quote-logo{flex:1 1 116px;min-width:94px;max-width:116px;align-self:center}
  .quote-login,.quote-nav-cta,.quote-menu{height:42px;min-height:42px;align-self:center;line-height:1}
  .quote-login{display:inline-flex;flex:0 0 60px;align-items:center;justify-content:center;padding:0 5px}
  .quote-nav-cta{display:inline-flex;flex:0 0 60px;min-width:60px;align-items:center;justify-content:center;padding:0 5px}
  .quote-menu{display:inline-flex;flex:0 0 38px;width:38px;align-items:center;justify-content:center;padding:0}
  .quote-menu:before{display:block;line-height:1}
}

@media(max-width:350px){
  .quote-nav{width:calc(100% - 12px);gap:3px}
  .quote-logo{min-width:88px;max-width:104px}
  .quote-login,.quote-nav-cta{flex-basis:56px}
  .quote-nav-cta{min-width:56px}
  .quote-menu{flex-basis:36px;width:36px}
}
