@import url(https://fonts.googleapis.com/css2?family=Poppins:wght@400;600;800&display=swap);
.abs-price-dialog{box-sizing:border-box;width:min(620px,calc(100% - 24px));max-width:calc(100% - 24px);max-height:calc(100dvh - 24px);margin:auto;padding:0 0 20px;border:1px solid #239e40;border-top:4px solid #239e40;border-radius:7px;background:#e4f5f9;color:#14252d;overflow:auto;overscroll-behavior:contain}
.abs-price-dialog::backdrop{background:rgba(20,30,40,.57)}
.abs-price-overlay{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:8px;background:rgba(20,30,40,.57);overflow:hidden}
.abs-price-overlay[hidden]{display:none!important}
.abs-price-overlay .abs-price-dialog{position:relative;display:block;flex:0 1 auto;max-width:100%;margin:0;pointer-events:auto;}
.abs-price-top{position:sticky;top:0;z-index:2;display:flex;justify-content:flex-end;padding:8px 12px;background:#e4f5f9}
.abs-price-close{min-width:82px;min-height:44px;padding:8px 12px;border:1px solid #536671;border-radius:3px;background:#fff;color:#14252d;font:inherit;font-weight:700;cursor:pointer}
.abs-price-close:hover{background:#239e40}.abs-price-dialog :focus-visible{outline:3px solid #14252d;outline-offset:3px}
.abs-price-content{padding:0 22px}.abs-price-dialog h2{margin:0 0 12px;font-size:clamp(24px,4vw,32px);line-height:1.15;color:#14252d;text-transform:none;letter-spacing:-.4px}
.abs-price-intro{margin:0 0 14px;line-height:1.5;font-size:16px}.abs-price-widget{min-height:570px;background:#e4f5f9}
.abs-price-widget iframe{display:block;width:100%!important;min-width:0!important;height:570px;border:0!important;border-radius:0!important;box-shadow:none!important;background:#e4f5f9}
.abs-price-fallback{margin:14px 0 0;font-size:14px}.abs-price-fallback a{color:#153c56;text-decoration:underline}.abs-price-status{font-size:14px;color:#14252d}
body.abs-price-open{overflow:visible}
html.abs-price-open{overflow:visible!important;scrollbar-width:none}
html.abs-price-open::-webkit-scrollbar{display:none}
@media(max-width:600px){.abs-price-dialog{width:calc(100% - 16px);max-width:calc(100% - 16px);max-height:calc(100dvh - 16px)}.abs-price-content{padding:0 12px}.abs-price-widget iframe{height:610px}.abs-price-dialog h2{font-size:26px}.abs-price-intro{font-size:15px}}
@media(prefers-reduced-motion:reduce){.abs-price-dialog{scroll-behavior:auto}}
/* Compact revision: light backdrop and a content-sized provider frame. */
.abs-price-dialog{width:min(500px,calc(100% - 24px));padding-bottom:12px;scrollbar-width:none;box-shadow:0 12px 40px rgba(20,40,51,.2)}
.abs-price-dialog::-webkit-scrollbar{display:none}
.abs-price-top{padding:7px 9px 2px}
.abs-price-close{display:flex;align-items:center;justify-content:center;min-width:28px;min-height:28px;width:28px;height:28px;padding:0;border:1px solid #536671;border-radius:50%;font-size:22px;line-height:1;}
.abs-price-content{padding:0 14px}
.abs-price-dialog h2{text-align:center;font-size:25px;margin:0 16px 8px;white-space:nowrap}
.abs-price-intro{text-align:center;font-size:14px;margin:0 0 10px}
.abs-price-widget{min-height:0}
.abs-price-widget iframe{height:570px;min-height:0!important;pointer-events:auto;}
@media(max-width:600px){.abs-price-dialog{width:calc(100% - 16px);padding-bottom:8px}.abs-price-content{padding:0 8px}.abs-price-dialog h2{font-size:23px;margin:0 18px 8px}.abs-price-intro{font-size:14px}.abs-price-widget iframe{height:610px}}
.abs-mobile-prices{display:none}
.prose a.contextual-price-link{color:#165b9b;font-weight:700;text-decoration:underline;text-decoration-color:#165b9b;text-underline-offset:2px}
.prose a.contextual-price-link:hover{color:#0b3044;text-decoration-color:#0b3044}
@media(max-width:820px){.abs-mobile-prices{display:block;position:fixed;z-index:9990;bottom:0;left:0;right:0;padding:9px 12px calc(9px + env(safe-area-inset-bottom,0px));background:#142f42;visibility:hidden;opacity:0;transform:translateY(100%);pointer-events:none;transition:opacity .18s ease,transform .18s ease,visibility .18s}.abs-mobile-prices.is-visible{visibility:visible;opacity:1;transform:translateY(0);pointer-events:auto}.abs-mobile-prices a{display:block;min-height:46px;padding:11px 16px;border-radius:3px;background:#239e40;color:#101820;text-align:center;font-size:16px;line-height:24px;font-weight:700;text-decoration:none}.abs-mobile-prices a:focus-visible{outline:3px solid white;outline-offset:2px}}
@media(prefers-reduced-motion:reduce){.abs-mobile-prices{transition:none}}

.abs-price-dialog,.abs-price-top,.abs-price-widget,.abs-price-widget iframe{background:#e4f5f9!important}.abs-price-dialog{font-family:"DM Sans",Arial,sans-serif}.abs-price-close{font-family:Arial,sans-serif}.abs-inline-price,.prose a.abs-inline-price{color:#0065be!important;font-weight:700!important;text-decoration:underline!important;text-decoration-color:#0065be!important;text-underline-offset:2px}.abs-mobile-prices a{color:white!important;background:#e64d0b!important}

/* Content-sized fallback; provider resize messages set the actual step height. */
.abs-price-widget iframe{height:430px}.abs-price-dialog{padding-bottom:6px}

/* Keep modest breathing room beneath the content-sized frame. */
.abs-price-dialog{padding-bottom:12px}

/* Accurate's refined form presentation; form titles always remain on one line. */
.abs-price-dialog{width:min(580px,calc(100% - 24px));font-family:"DM Sans",Arial,sans-serif;border-radius:8px;padding-bottom:12px}
.abs-price-dialog h2{font-family:Manrope,"DM Sans",Arial,sans-serif!important;font-weight:700!important;white-space:nowrap!important}
.abs-price-content{padding:0 22px}.abs-price-top{background:#e4f5f9}.abs-price-overlay{background:rgba(20,30,40,.57)}
.abs-price-overlay[hidden].is-prepared{display:flex!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}
.abs-mobile-prices a{background:#18712d!important;color:#fff!important}
.abs-inline-price{color:#087b9c!important}.hero a.abs-inline-price,.page-hero a.abs-inline-price,.location-hero a.abs-inline-price,.dark-section a.abs-inline-price{color:#fff!important;text-decoration-color:#73d9ed!important}
.mobile-price-bar{display:none!important}body.mobile-price-bar-visible{padding-bottom:0!important}
@media(max-width:600px){.abs-price-dialog{width:calc(100% - 16px)}.abs-price-content{padding:0 12px}}

/* Descriptive geographic/specialty headings may use two readable lines. */
.abs-price-dialog h2{white-space:normal!important;text-wrap:balance;font-size:21px!important;line-height:1.25!important;margin-bottom:9px!important}
.abs-static-form-title{font-family:Manrope,"DM Sans",Arial,sans-serif!important;font-size:20px!important;line-height:1.25!important;text-align:center!important;text-wrap:balance;margin:0 0 14px!important;padding:14px 8px 0!important;color:#14252d!important}
@media(max-width:600px){.abs-price-dialog h2,.abs-static-form-title{font-size:19px!important}}

/* Compact, centered static forms use the approved strong heading treatment. */
.quote-box{min-height:0!important;height:auto!important;box-shadow:none!important}
.quote-box .form-target{min-height:0!important;height:auto!important}
.quote-box .form-target iframe{min-height:0!important;max-height:none!important;display:block!important}
.quote-box .form-ribbon{display:none!important}
.abs-static-form-title,.abs-price-dialog h2{font-family:Poppins,Arial,sans-serif!important;font-weight:800!important}
.abs-static-form-title{font-size:23px!important;line-height:1.2!important;margin:0 0 8px!important;padding:18px 8px 0!important}
.abs-static-form-intro{font:400 14px/1.5 Poppins,Arial,sans-serif!important;text-align:center!important;color:#5e7077!important;margin:0 0 4px!important;padding:0 8px!important}
@media(min-width:1001px){.home-hero-grid,.quote-page>div.quote-page-grid{align-items:center!important}.home-hero .quote-box,.quote-page .quote-page-form{align-self:center!important}}
@media(max-width:600px){.abs-static-form-title{font-size:20px!important;padding-top:16px!important}.abs-static-form-intro{font-size:13px!important}}

/* Portfolio approved stronger backdrop and readable hero links. */
.abs-price-overlay{background:rgba(20,30,40,.57)!important}
[class*="hero"] p a.abs-inline-price{color:inherit!important;text-decoration-color:currentColor!important;font-weight:700!important}
@media(max-width:900px){[class*="hero"]:has(iframe[src*="360connect.com"]) a.abs-mobile-hero-price,[class*="hero"]:has(iframe[src*="360connect.com"]) a.button[href="/get-prices"]{display:none!important}}
