:root{
  --qw-orange:#ff6900;
  --qw-orange-2:#ff922f;
  --qw-ink:#17191b;
  --qw-muted:#6d7377;
  --qw-line:#e2e6e6;
  --qw-soft:#f4f6f6;
  --qw-ease:cubic-bezier(.22,.78,.24,1);
}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.quote-focus-backdrop{position:fixed;z-index:1120;inset:0;background:rgba(11,14,14,.52);backdrop-filter:blur(5px);opacity:0;pointer-events:none;transition:opacity .3s ease}
.quote-focus-backdrop.is-visible{opacity:1;pointer-events:auto}
body.quote-focus-mode{overflow-x:hidden}
.quote-wizard-box{position:relative;z-index:1;overflow:hidden;padding:0!important;border-radius:28px!important;background:#fff!important;border:1px solid rgba(18,22,22,.07)!important;box-shadow:0 26px 70px rgba(18,22,22,.13)!important;transition:transform .36s var(--qw-ease),box-shadow .36s ease,z-index 0s .35s}
body.quote-focus-mode .quote-wizard-box{z-index:1130;transform:translateY(-3px);box-shadow:0 34px 90px rgba(0,0,0,.28),0 0 0 1px rgba(255,105,0,.18)!important;transition-delay:0s}
.quote-wizard-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:22px 28px 16px;background:linear-gradient(145deg,#fff,#f7f8f8);border-bottom:1px solid var(--qw-line)}
.quote-wizard-heading[hidden]{display:none!important}
.quote-wizard-heading span{color:var(--qw-orange);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.15em}
.quote-wizard-heading small{color:#8a9092;font-size:12px;font-weight:650}
.quote-wizard{position:relative;min-height:420px;padding:0 28px 28px}
.quote-wizard-progress{height:4px;margin:0 -28px 24px;background:#e9ecec;overflow:hidden}
.quote-wizard-progress i{display:block;width:33.333%;height:100%;border-radius:0 99px 99px 0;background:linear-gradient(90deg,var(--qw-orange),var(--qw-orange-2));box-shadow:0 0 16px rgba(255,105,0,.38);transition:width .52s var(--qw-ease)}
.quote-step{animation:qwStepIn .42s var(--qw-ease) both}
.quote-step[hidden],.quote-success[hidden]{display:none!important}
@keyframes qwStepIn{from{opacity:0;transform:translateX(18px) scale(.992)}to{opacity:1;transform:none}}
.quote-step__intro{margin:0 0 20px}
.quote-step__intro h2{margin:0 0 7px;color:var(--qw-ink);font-size:clamp(1.45rem,2.6vw,2rem);line-height:1.08;letter-spacing:-.035em}
.quote-step__intro p{margin:0;color:var(--qw-muted);font-size:13px;line-height:1.55}
.quote-step__intro--first{margin-bottom:17px}
.quote-service-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:0;padding:0;border:0}
.quote-choice-card{position:relative;min-height:94px;padding:12px 12px 12px 11px;border:1px solid var(--qw-line);border-radius:17px;background:linear-gradient(145deg,#fff,#f7f8f8);display:grid;grid-template-columns:49px minmax(0,1fr) 22px;gap:11px;align-items:center;cursor:pointer;overflow:hidden;transition:transform .24s var(--qw-ease),border-color .24s ease,box-shadow .24s ease,background .24s ease}
.quote-choice-card:last-child{grid-column:1/-1}
.quote-choice-card::after{content:"";position:absolute;width:90px;height:90px;right:-50px;top:-50px;border-radius:50%;background:radial-gradient(circle,rgba(255,105,0,.16),transparent 70%);opacity:0;transition:opacity .25s ease,transform .35s ease}
.quote-choice-card:hover{transform:translateY(-2px);border-color:rgba(255,105,0,.42);box-shadow:0 14px 30px rgba(18,22,22,.08)}
.quote-choice-card:hover::after,.quote-choice-card:has(input:checked)::after{opacity:1;transform:scale(1.2)}
.quote-choice-card input{position:absolute;opacity:0;pointer-events:none}
.quote-choice-card i{width:49px;height:49px;border-radius:14px;display:grid;place-items:center;background:#fff;color:var(--qw-ink);box-shadow:0 8px 20px rgba(16,20,20,.08)}
.quote-choice-card i svg{width:42px;height:42px}
.quote-choice-card span{font-size:13px;font-weight:850;line-height:1.25}
.quote-choice-card b{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#dfe3e3;color:#fff;font-size:11px;transition:background .22s ease,transform .22s ease}
.quote-choice-card:has(input:checked){border-color:var(--qw-orange);background:linear-gradient(145deg,#fff7ef,#fff);box-shadow:0 16px 38px rgba(255,105,0,.12)}
.quote-choice-card:has(input:checked) b{background:var(--qw-orange);transform:scale(1.08)}
.quote-choice-card.is-confirming{animation:qwConfirm .34s var(--qw-ease)}
@keyframes qwConfirm{50%{transform:translateY(-3px) scale(1.015);box-shadow:0 18px 40px rgba(255,105,0,.17)}}
.quote-selected-service{width:100%;margin:0 0 18px;padding:10px 12px;border:1px solid rgba(255,105,0,.18);border-radius:15px;background:linear-gradient(110deg,rgba(255,105,0,.08),rgba(255,255,255,.9));backdrop-filter:blur(12px);display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;text-align:left;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.75)}
.quote-selected-service>i{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.78);filter:saturate(.88)}
.quote-selected-service svg{width:36px;height:36px}
.quote-selected-service>span{display:grid;min-width:0}
.quote-selected-service small{font-size:9px;color:#8b9092;text-transform:uppercase;letter-spacing:.12em;font-weight:800}
.quote-selected-service strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.quote-selected-service b{color:var(--qw-orange);font-size:11px}
.quote-fields{display:grid;gap:13px}
.quote-fields--two{grid-template-columns:repeat(2,minmax(0,1fr))}
.quote-field{display:grid;gap:7px;margin:0;padding:0;border:0}
.quote-field>span,.quote-field>legend{font-size:11px;font-weight:850;color:#373b3d}
.quote-field input{width:100%;height:50px;padding:0 14px;border:1px solid #d9dddd;border-radius:13px;background:#fff;color:var(--qw-ink);font:inherit;font-size:14px;outline:none;transition:border-color .2s ease,box-shadow .2s ease}
.quote-field input:focus{border-color:rgba(255,105,0,.7);box-shadow:0 0 0 4px rgba(255,105,0,.1)}
.quote-input-unit{position:relative}
.quote-input-unit input{padding-right:47px}
.quote-input-unit em{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-style:normal;color:#7d8385;font-size:12px;font-weight:800}
.quote-segments{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}
.quote-segments label{position:relative;cursor:pointer}
.quote-segments input{position:absolute;opacity:0;pointer-events:none}
.quote-segments span{min-height:50px;padding:8px;border:1px solid #d9dddd;border-radius:12px;display:grid;place-items:center;background:#fff;font-size:11px;font-weight:800;text-align:center;transition:.2s ease}
.quote-segments input:checked+span{border-color:var(--qw-orange);background:#fff4e9;color:#c75000;box-shadow:0 8px 20px rgba(255,105,0,.1);transform:translateY(-1px)}
.quote-step-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}
.quote-step-actions--back-only{align-items:center}
.quote-step-actions--back-only small{max-width:230px;color:#959a9c;font-size:10px;line-height:1.4;text-align:right}
.quote-back,.quote-submit{min-height:48px;border:0;border-radius:12px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-size:12px;font-weight:850;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}
.quote-back{background:#eef0f0;color:#454a4c}
.quote-submit{margin-left:auto;background:linear-gradient(135deg,var(--qw-orange),var(--qw-orange-2));color:#fff;box-shadow:0 12px 28px rgba(255,105,0,.24)}
.quote-back:hover,.quote-submit:hover{transform:translateY(-2px)}
.quote-contact-method{margin:16px 0 0;padding:0;border:0}
.quote-contact-method legend{margin-bottom:8px;color:#373b3d;font-size:11px;font-weight:850}
.quote-contact-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.quote-contact-options label{position:relative;min-height:70px;padding:9px;border:1px solid #dce0e0;border-radius:13px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:#fff;cursor:pointer;transition:.2s ease}
.quote-contact-options input{position:absolute;opacity:0;pointer-events:none}
.quote-contact-options i{height:25px;display:grid;place-items:center;color:#202426}
.quote-contact-options svg{width:23px;height:23px}
.quote-contact-options span{font-size:10px;font-weight:850}
.quote-contact-options b{position:absolute;right:6px;top:6px;width:16px;height:16px;border-radius:50%;display:grid;place-items:center;background:#dfe2e2;color:#fff;font-size:8px}
.quote-contact-options label:has(input:checked){border-color:var(--qw-orange);background:#fff6ed;color:#c75000;transform:translateY(-1px);box-shadow:0 9px 24px rgba(255,105,0,.1)}
.quote-contact-options label:has(input:checked) b{background:var(--qw-orange)}
.quote-consent{margin-top:13px}
.quote-consent label{display:flex;gap:9px;align-items:flex-start;color:#747a7c;font-size:9.5px;line-height:1.45}
.quote-consent input{margin-top:2px;accent-color:var(--qw-orange)}
.quote-consent a{color:#4f5557;text-decoration:underline}
.quote-step-error{margin:12px 0 0;padding:9px 11px;border-radius:10px;background:#fff0ee;color:#a63029;font-size:11px;font-weight:700}
.is-invalid{outline:2px solid rgba(190,44,31,.18);outline-offset:2px}
.quote-form-status{min-height:0;margin-top:10px;font-size:11px;font-weight:700}
.quote-form-status.is-info{color:#4f5557}.quote-form-status.is-error{color:#a63029}
.quote-success{position:relative;min-height:470px;padding:18px 0 0;text-align:center;overflow:hidden;animation:qwSuccessIn .55s var(--qw-ease) both}
@keyframes qwSuccessIn{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}
.quote-success__glow{position:absolute;width:280px;height:280px;left:50%;top:-150px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle,rgba(255,105,0,.24),transparent 68%);pointer-events:none}
.quote-success__brand{position:relative;display:flex;justify-content:center;align-items:center;gap:10px}
.quote-success__brand>span{width:42px;height:50px;display:flex}
.quote-success__brand svg{width:100%;height:100%}
.quote-success__brand>div{display:grid;text-align:left}
.quote-success__brand strong{font-size:13px}.quote-success__brand small{font-size:8px;color:#8a9092;text-transform:uppercase;letter-spacing:.13em}
.quote-success__check{width:68px;height:68px;margin:20px auto 14px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--qw-orange),var(--qw-orange-2));color:#fff;font-size:30px;box-shadow:0 17px 38px rgba(255,105,0,.24);animation:qwCheck 1.8s ease infinite}
@keyframes qwCheck{50%{transform:translateY(-3px);box-shadow:0 22px 45px rgba(255,105,0,.32)}}
.quote-success h2{margin:0 0 8px;font-size:1.65rem}.quote-success>p{margin:0 auto;max-width:38ch;color:#666d70;font-size:13px}
.quote-success__now{margin:22px auto 0;max-width:350px;padding:14px;border-radius:18px;background:#171a1a;color:#fff;box-shadow:0 18px 40px rgba(16,19,19,.18)}
.quote-success__now>span{display:block;margin-bottom:9px;color:#aeb4b1;font-size:10px}
.quote-success__now a{min-height:58px;padding:9px 12px;border-radius:13px;display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;background:linear-gradient(135deg,var(--qw-orange),var(--qw-orange-2));color:#fff;text-decoration:none;text-align:left}
.quote-success__now i{grid-row:1/3;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.14)}
.quote-success__now svg{width:22px;height:22px}.quote-success__now strong{font-size:13px}.quote-success__now small{font-size:10px;opacity:.88}
.quote-success__restart{margin-top:15px;border:0;background:transparent;color:#777d7f;text-decoration:underline;font-size:10px;cursor:pointer}
.quote-noscript{font-size:12px;color:#a63029}
@media(max-width:760px){
  .quote-focus-backdrop{z-index:1210}
  body.quote-focus-mode .quote-wizard-box{z-index:1220}
  .quote-wizard-box{border-radius:22px!important}
  .quote-wizard-heading{padding:17px 16px 13px;align-items:flex-start;flex-direction:column;gap:3px}
  .quote-wizard-heading small{font-size:10px}
  .quote-wizard{min-height:430px;padding:0 15px 22px}
  .quote-wizard-progress{margin:0 -15px 18px}
  .quote-step__intro h2{font-size:1.43rem}
  .quote-step__intro p{font-size:11px}
  .quote-service-options{gap:8px}
  .quote-choice-card{min-height:78px;padding:9px;grid-template-columns:42px 1fr 18px;gap:8px;border-radius:14px}
  .quote-choice-card i{width:42px;height:42px;border-radius:11px}
  .quote-choice-card i svg{width:36px;height:36px}
  .quote-choice-card span{font-size:11px}
  .quote-fields--two{grid-template-columns:1fr}
  .quote-segments{grid-template-columns:repeat(2,1fr)}
  .quote-step-actions--back-only{align-items:flex-start;flex-direction:column-reverse}
  .quote-step-actions--back-only small{max-width:none;text-align:left}
  .quote-contact-options{gap:6px}
  .quote-contact-options label{min-height:66px;padding:7px 3px}
  .quote-step-actions{gap:8px}
  .quote-back,.quote-submit{padding-inline:12px}
  .quote-success{min-height:460px}
}
@media(max-width:390px){.quote-choice-card span{font-size:10px}.quote-contact-options span{font-size:9px}}
@media(prefers-reduced-motion:reduce){.quote-step,.quote-success,.quote-choice-card,.quote-success__check,.quote-wizard-box{animation:none!important;transition-duration:.01ms!important}}
