@import url(https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&display=swap);
.hs-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 #ffd21a;border-top:4px solid #ffd21a;border-radius:7px;background:#e7e8e8;color:#151719;overflow:auto;overscroll-behavior:contain}
.hs-price-dialog::backdrop{background:rgba(20,30,40,.57)}
.hs-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}
.hs-price-overlay[hidden]{display:none!important}
.hs-price-overlay .hs-price-dialog{position:relative;display:block;flex:0 1 auto;max-width:100%;margin:0;pointer-events:auto;}
.hs-price-top{position:sticky;top:0;z-index:2;display:flex;justify-content:flex-end;padding:8px 12px;background:#e7e8e8}
.hs-price-close{min-width:82px;min-height:44px;padding:8px 12px;border:1px solid #536671;border-radius:3px;background:#fff;color:#151719;font:inherit;font-weight:700;cursor:pointer}
.hs-price-close:hover{background:#ffd21a}.hs-price-dialog :focus-visible{outline:3px solid #151719;outline-offset:3px}
.hs-price-content{padding:0 22px}.hs-price-dialog h2{margin:0 0 12px;font-size:clamp(24px,4vw,32px);line-height:1.15;color:#151719;text-transform:none;letter-spacing:-.4px}
.hs-price-intro{margin:0 0 14px;line-height:1.5;font-size:16px}.hs-price-widget{min-height:570px;background:#e7e8e8}
.hs-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:#e7e8e8}
.hs-price-fallback{margin:14px 0 0;font-size:14px}.hs-price-fallback a{color:#153c56;text-decoration:underline}.hs-price-status{font-size:14px;color:#151719}
body.hs-price-open{overflow:visible}
html.hs-price-open{overflow:visible!important;scrollbar-width:none}
html.hs-price-open::-webkit-scrollbar{display:none}
@media(max-width:600px){.hs-price-dialog{width:calc(100% - 16px);max-width:calc(100% - 16px);max-height:calc(100dvh - 16px)}.hs-price-content{padding:0 12px}.hs-price-widget iframe{height:610px}.hs-price-dialog h2{font-size:26px}.hs-price-intro{font-size:15px}}
@media(prefers-reduced-motion:reduce){.hs-price-dialog{scroll-behavior:auto}}
/* Compact revision: light backdrop and a content-sized provider frame. */
.hs-price-dialog{width:min(500px,calc(100% - 24px));padding-bottom:12px;scrollbar-width:none;box-shadow:0 12px 40px rgba(20,40,51,.2)}
.hs-price-dialog::-webkit-scrollbar{display:none}
.hs-price-top{padding:7px 9px 2px}
.hs-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;}
.hs-price-content{padding:0 14px}
.hs-price-dialog h2{text-align:center;font-size:25px;margin:0 16px 8px;white-space:nowrap}
.hs-price-intro{text-align:center;font-size:14px;margin:0 0 10px}
.hs-price-widget{min-height:0}
.hs-price-widget iframe{height:570px;min-height:0!important;pointer-events:auto;}
@media(max-width:600px){.hs-price-dialog{width:calc(100% - 16px);padding-bottom:8px}.hs-price-content{padding:0 8px}.hs-price-dialog h2{font-size:23px;margin:0 18px 8px}.hs-price-intro{font-size:14px}.hs-price-widget iframe{height:610px}}
.hs-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){.hs-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:#151719;visibility:hidden;opacity:0;transform:translateY(100%);pointer-events:none;transition:opacity .18s ease,transform .18s ease,visibility .18s}.hs-mobile-prices.is-visible{visibility:visible;opacity:1;transform:translateY(0);pointer-events:auto}.hs-mobile-prices a{display:block;min-height:46px;padding:11px 16px;border-radius:3px;background:#ffd21a;color:#101820;text-align:center;font-size:16px;line-height:24px;font-weight:700;text-decoration:none}.hs-mobile-prices a:focus-visible{outline:3px solid white;outline-offset:2px}}
@media(prefers-reduced-motion:reduce){.hs-mobile-prices{transition:none}}

.hs-price-dialog,.hs-price-top,.hs-price-widget,.hs-price-widget iframe{background:#e7e8e8!important}.hs-price-dialog{font-family:Poppins,Arial,sans-serif}.hs-price-close{font-family:Arial,sans-serif}.hs-inline-price,.prose a.hs-inline-price{color:#0065be!important;font-weight:700!important;text-decoration:underline!important;text-decoration-color:#0065be!important;text-underline-offset:2px}.hs-mobile-prices a{color:white!important;background:#ffd21a!important}

/* Content-sized fallback; provider resize messages set the actual step height. */
.hs-price-widget iframe{height:430px}.hs-price-dialog{padding-bottom:6px}

/* Keep modest breathing room beneath the content-sized frame. */
.hs-price-dialog{padding-bottom:12px}

/* Reduce the subtitle-to-progress gap; form step owns its natural height. */
.hs-price-intro{margin-bottom:4px!important}

/* Static hero cards hug the existing hosted frame, without a transparent tail. */
.ocs-form-card,.ows-form-card{min-height:0!important;height:auto!important;background:#e7e8e8!important}
.ocs-form-card #formTargetDiv,.ows-form-card #formTargetDiv{min-height:0!important}
.ocs-form-card iframe,.ows-form-card iframe{display:block;vertical-align:top}

.hs-embedded-heading{box-sizing:border-box;padding:18px 16px 0;background:#e7e8e8;text-align:center;color:#151719;font-family:Poppins,Arial,sans-serif}
.hs-embedded-heading h2{margin:0 0 8px!important;color:#151719!important;font-family:Poppins,Arial,sans-serif!important;font-size:25px!important;line-height:1.2!important;font-weight:500!important;letter-spacing:-.4px!important;text-transform:none!important}
.hs-embedded-heading p{max-width:none!important;margin:0 0 4px!important;color:#666!important;font:400 14px/1.5 Poppins,Arial,sans-serif!important}
.hs-form-shell:has(.hs-embedded-heading) .hs-form-ribbon{display:none!important}
@media(max-width:600px){.hs-embedded-heading{padding-top:16px}.hs-embedded-heading h2{font-size:23px!important}}

.hs-embedded-shell{box-sizing:border-box;background:#e7e8e8;outline:2px solid #ffd21a;border-radius:7px;overflow:hidden}
.hs-embedded-shell>div:not(.hs-embedded-heading){outline:0!important;min-height:0!important;height:auto!important}
.ocs-form-card:has(.hs-embedded-shell),.ows-form-card:has(.hs-embedded-shell),.hs-form-shell:has(.hs-embedded-shell){outline:0!important;min-height:0!important;height:auto!important}

/* Approved blog form typography across all placements. */
.hs-price-dialog h2,.hs-embedded-heading h2{font-family:Poppins,Arial,sans-serif!important;font-weight:800!important}

/* Remove legacy target outlines inside the unified static card. */
.hs-embedded-shell>#formTargetDiv,.hs-embedded-shell>#formTargetDiv7,.hs-embedded-shell>#formTargetDiv4,.hs-embedded-shell>#formTargetDiv11{outline:0!important;border:0!important;box-shadow:none!important}

/* Harper keeps its own neutral/yellow identity and natural iframe widths. */
.hs-price-dialog h2,.hs-embedded-heading h2{white-space:normal!important;overflow-wrap:normal!important;color:#151719!important;line-height:1.2!important}
.hs-price-intro{color:#555!important}.hs-mobile-prices a{color:#151719!important;background:#ffd21a!important}
.hs-inline-price{color:#125b9b!important;font-weight:700!important;text-decoration:underline!important;text-decoration-color:currentColor!important;text-underline-offset:3px}
.hero .hs-inline-price,.quote-band .hs-inline-price,.quote-hero .hs-inline-price{color:#ffd21a!important}
.hero-form-card,.side-form,.quote-card,.quote-hero-form{box-sizing:border-box!important;padding:0!important;background:#e7e8e8!important;min-height:0!important;height:auto!important;box-shadow:none!important;overflow:visible!important;min-width:0!important}
.hero-form-target,.side-form-target,.quote-form-target{position:static!important;box-sizing:border-box!important;background:#e7e8e8!important;padding:0!important;width:100%!important;max-width:100%!important;min-height:0!important;height:auto!important;overflow:visible!important}
.hero-form-target iframe,.side-form-target iframe,.quote-form-target iframe{position:static!important;left:auto!important;top:auto!important;width:100%!important;min-width:0!important;max-width:100%!important;border:0!important;display:block!important}
.side-form:has(.hs-embedded-shell) .side-form-tab,.hero-form-card:has(.hs-embedded-shell) .hero-form-note,.quote-card:has(.hs-embedded-shell) .form-time-ribbon{display:none!important}
.hs-embedded-shell{outline:0!important;border:1px solid #e5d573;border-top:4px solid #ffd21a;box-shadow:none;min-width:0}
.hs-embedded-shell>div:not(.hs-embedded-heading){outline:0!important;border:0!important;min-height:0!important;height:auto!important;max-height:none!important}
.hs-embedded-heading{padding:18px 14px 0!important}.hs-embedded-heading p{color:#555!important}.hs-embedded-heading h2{font-size:25px!important}
@media(max-width:600px){.hs-embedded-heading{padding-top:16px!important}.hs-embedded-heading h2{font-size:21px!important}.hs-price-dialog h2{font-size:23px!important}}

/* Remove legacy iframe minimums so the native step height controls the card. */
.hero-form-target iframe,.side-form-target iframe,.quote-form-target iframe{min-height:0!important;max-height:none!important}

/* Hero conversion links retain the surrounding text color. */
.hero p a,.page-hero p a,.quote-hero p a,.post-hero p a,.blog-hero p a,.hero .hs-inline-price,.page-hero .hs-inline-price,.quote-hero .hs-inline-price,.post-hero .hs-inline-price{color:inherit!important;font-weight:700!important;text-decoration:underline!important;text-decoration-color:currentColor!important}
/* Native resize messages, rather than old sidebar/hero CSS, determine iframe height. */
.hero-form-card .hero-form-target iframe,.side-form .side-form-target iframe,.quote-card .quote-form-target iframe{min-height:0!important;max-height:none!important}
.hero-form-card .hs-embedded-heading h2{font-size:23px!important;padding-left:0!important;padding-right:0!important}

@media(min-width:901px){.hero .hero-grid{align-items:center!important}.hero .hero-form-card{align-self:center!important}}

/* Reading content leads; the sidebar follows it on narrow screens. */
.page-hero+.section{padding-top:32px!important}
.page-hero+.section .content-grid>article>:first-child,.page-hero+.section .content-grid>article>h2:first-of-type{margin-top:0!important}
.hs-mobile-hero-price{display:none!important}
@media(max-width:900px){
 .content-grid>article,.article-layout>.entry-content{order:1!important}
 .content-grid>.sidebar,.article-layout>.sidebar{order:2!important;position:static!important;top:auto!important;align-self:auto!important;width:100%!important}
 .page-hero+.section{padding-top:26px!important}
 .hs-mobile-hero-price{display:inline-flex!important;align-items:center;justify-content:center;min-height:48px;margin-top:20px;padding:12px 22px;background:#ffd21a!important;color:#151719!important;border:0;border-radius:4px;font-weight:800;text-decoration:none!important;line-height:24px}
}

/* Restore mobile reading gutters after the hero on all main-site templates. */
@media(max-width:900px){
 .page-hero+.section>.wrap{width:calc(100% - 32px)!important;margin-left:auto!important;margin-right:auto!important}
 .page-hero+.section .content-grid>article{width:100%!important;margin-left:0!important;margin-right:0!important}
 .page-hero+.section .content-grid>.sidebar{width:100%!important;margin-left:0!important;margin-right:0!important}
}

@media(max-width:900px){.hero:has(.hs-mobile-hero-price) .hero-actions,.page-hero:has(.hs-mobile-hero-price) .hero-actions,.article-hero:has(.hs-mobile-hero-price) .hero-actions{display:none!important}}

/* Portfolio approved stronger backdrop and readable hero links. */
.hs-price-overlay{background:rgba(20,30,40,.57)!important}
[class*="hero"] p a.hs-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.hs-mobile-hero-price,[class*="hero"]:has(iframe[src*="360connect.com"]) a.button[href="/get-quotes"]{display:none!important}}
