@import url(https://fonts.googleapis.com/css2?family=Poppins:wght@400;600;800&display=swap);
.owp-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 #f47c20;border-top:4px solid #f47c20;border-radius:7px;background:#cfdce6;color:#06365b;overflow:auto;overscroll-behavior:contain}
.owp-price-dialog::backdrop{background:rgba(20,30,40,.57)}
.owp-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}
.owp-price-overlay[hidden]{display:flex!important;visibility:hidden!important;pointer-events:none!important}
.owp-price-overlay .owp-price-dialog{position:relative;display:block;flex:0 1 auto;max-width:100%;margin:0;pointer-events:auto;}
.owp-price-top{position:sticky;top:0;z-index:2;display:flex;justify-content:flex-end;padding:8px 12px;background:#cfdce6}
.owp-price-close{min-width:82px;min-height:44px;padding:8px 12px;border:1px solid #536671;border-radius:3px;background:#fff;color:#06365b;font:inherit;font-weight:700;cursor:pointer}
.owp-price-close:hover{background:#f47c20}.owp-price-dialog :focus-visible{outline:3px solid #06365b;outline-offset:3px}
.owp-price-content{padding:0 22px}.owp-price-dialog h2{margin:0 0 12px;font-size:clamp(24px,4vw,32px);line-height:1.15;color:#06365b;text-transform:none;letter-spacing:-.4px}
.owp-price-intro{margin:0 0 14px;line-height:1.5;font-size:16px}.owp-price-widget{min-height:570px;background:#cfdce6}
.owp-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:#cfdce6}
.owp-price-fallback{margin:14px 0 0;font-size:14px}.owp-price-fallback a{color:#153c56;text-decoration:underline}.owp-price-status{font-size:14px;color:#06365b}
body.owp-price-open{overflow:visible}
html.owp-price-open{overflow:visible!important;scrollbar-width:none}
html.owp-price-open::-webkit-scrollbar{display:none}
@media(max-width:600px){.owp-price-dialog{width:calc(100% - 16px);max-width:calc(100% - 16px);max-height:calc(100dvh - 16px)}.owp-price-content{padding:0 12px}.owp-price-widget iframe{height:610px}.owp-price-dialog h2{font-size:26px}.owp-price-intro{font-size:15px}}
@media(prefers-reduced-motion:reduce){.owp-price-dialog{scroll-behavior:auto}}
/* Compact revision: light backdrop and a content-sized provider frame. */
.owp-price-dialog{width:min(500px,calc(100% - 24px));padding-bottom:12px;scrollbar-width:none;box-shadow:0 12px 40px rgba(20,40,51,.2)}
.owp-price-dialog::-webkit-scrollbar{display:none}
.owp-price-top{padding:7px 9px 2px}
.owp-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;}
.owp-price-content{padding:0 14px}
.owp-price-dialog h2{text-align:center;font-size:25px;margin:0 16px 8px;white-space:nowrap}
.owp-price-intro{text-align:center;font-size:14px;margin:0 0 10px}
.owp-price-widget{min-height:0}
.owp-price-widget iframe{height:570px;min-height:0!important;pointer-events:auto;}
@media(max-width:600px){.owp-price-dialog{width:calc(100% - 16px);padding-bottom:8px}.owp-price-content{padding:0 8px}.owp-price-dialog h2{font-size:23px;margin:0 18px 8px}.owp-price-intro{font-size:14px}.owp-price-widget iframe{height:610px}}
.owp-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){.owp-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:#06365b;visibility:hidden;opacity:0;transform:translateY(100%);pointer-events:none;transition:opacity .18s ease,transform .18s ease,visibility .18s}.owp-mobile-prices.is-visible{visibility:visible;opacity:1;transform:translateY(0);pointer-events:auto}.owp-mobile-prices a{display:block;min-height:46px;padding:11px 16px;border-radius:3px;background:#f47c20;color:#101820;text-align:center;font-size:16px;line-height:24px;font-weight:700;text-decoration:none}.owp-mobile-prices a:focus-visible{outline:3px solid white;outline-offset:2px}}
@media(prefers-reduced-motion:reduce){.owp-mobile-prices{transition:none}}

.owp-price-dialog,.owp-price-top,.owp-price-widget,.owp-price-widget iframe{background:#cfdce6!important}.owp-price-dialog{font-family:Poppins,Arial,sans-serif}.owp-price-close{font-family:Arial,sans-serif}.owp-inline-price,.prose a.owp-inline-price{color:#0065be!important;font-weight:700!important;text-decoration:underline!important;text-decoration-color:#0065be!important;text-underline-offset:2px}.owp-mobile-prices a{color:white!important;background:#f47c20!important}

/* Content-sized fallback; provider resize messages set the actual step height. */
.owp-price-widget iframe{height:430px}.owp-price-dialog{padding-bottom:6px}

/* Keep modest breathing room beneath the content-sized frame. */
.owp-price-dialog{padding-bottom:12px}

/* Reduce the subtitle-to-progress gap; form step owns its natural height. */
.owp-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:#cfdce6!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}

.owp-embedded-heading{box-sizing:border-box;padding:18px 16px 0;background:#cfdce6;text-align:center;color:#06365b;font-family:Poppins,Arial,sans-serif}
.owp-embedded-heading h2{margin:0 0 8px!important;color:#06365b!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}
.owp-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}
.owp-form-shell:has(.owp-embedded-heading) .owp-form-ribbon{display:none!important}
@media(max-width:600px){.owp-embedded-heading{padding-top:16px}.owp-embedded-heading h2{font-size:23px!important}}

.owp-embedded-shell{box-sizing:border-box;background:#cfdce6;outline:2px solid #f47c20;border-radius:7px;overflow:hidden}
.owp-embedded-shell>div:not(.owp-embedded-heading){outline:0!important;min-height:0!important;height:auto!important}
.ocs-form-card:has(.owp-embedded-shell),.ows-form-card:has(.owp-embedded-shell),.owp-form-shell:has(.owp-embedded-shell){outline:0!important;min-height:0!important;height:auto!important}

/* Approved blog form typography across all placements. */
.owp-price-dialog h2,.owp-embedded-heading h2{font-family:Poppins,Arial,sans-serif!important;font-weight:800!important}

/* Remove legacy target outlines inside the unified static card. */
.owp-embedded-shell>#formTargetDiv,.owp-embedded-shell>#formTargetDiv7,.owp-embedded-shell>#formTargetDiv4,.owp-embedded-shell>#formTargetDiv11{outline:0!important;border:0!important;box-shadow:none!important}

/* Vertically balance desktop forms against their adjacent hero copy. */
@media(min-width:992px){
 .owp-home-hero>.container>.row{display:flex;align-items:center}
 .owp-home-hero>.container>.row:before,.owp-home-hero>.container>.row:after{display:none}
 .owp-home-hero>.container>.row>.col-sm-6{align-self:center}
 .owp-hero-grid,.ocs-hero-grid,.ows-hero-grid{align-items:center!important}
 .owp-hero-grid>.owp-form-shell,.ocs-hero-grid>.ocs-form-card,.ows-hero-grid>.ows-form-card{align-self:center!important}
}

/* Preserve the native two-minute ribbon exactly; no ribbon selectors are changed. */
.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}
.owp-static-form-title,.owp-price-dialog h2{font-family:Poppins,Arial,sans-serif!important;font-weight:800!important;color:#06365b!important;white-space:normal!important;line-height:1.2!important}
.owp-static-form-title{font-size:23px!important;text-align:center;margin:0 0 8px!important;padding:18px 8px 0!important}
.owp-static-form-intro{font:400 14px/1.5 Poppins,Arial,sans-serif!important;text-align:center;color:#557084!important;margin:0 0 4px!important;padding:0 8px!important}
.owp-mobile-prices a{background:#f47c20!important;color:#fff!important}
.home-hero p a,.page-hero p a,.page-hero-copy a.owp-inline-price,.article-hero p a{color:inherit!important;text-decoration:underline!important;font-weight:700!important}
.owp-mobile-hero-price{display:none!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:1000px){.content-sidebar>article{order:1!important}.content-sidebar>.sidebar,.content-sidebar>.sticky-sidebar{order:2!important;position:static!important}}
@media(max-width:900px){.owp-mobile-hero-price{display:inline-flex!important;align-items:center;justify-content:center;min-height:48px;margin:18px 0;padding:12px 22px;background:#f47c20;color:#fff!important;font-weight:800;text-decoration:none!important}.home-hero:has(.owp-mobile-hero-price) .hero-actions,.page-hero:has(.owp-mobile-hero-price) .hero-actions,.hero:has(.owp-mobile-hero-price) .hero-actions{display:none!important}}
@media(max-width:600px){.owp-static-form-title{font-size:20px!important;padding-top:16px!important}.owp-static-form-intro{font-size:13px!important}}

@media(max-width:900px){.page-hero:has(.owp-mobile-hero-price) a.button:not(.owp-mobile-hero-price),.home-hero:has(.owp-mobile-hero-price) a.button:not(.owp-mobile-hero-price){display:none!important}}

/* Portfolio approved stronger backdrop and readable hero links. */
.owp-price-overlay{background:rgba(20,30,40,.57)!important}
[class*="hero"] p a.owp-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.owp-mobile-hero-price,[class*="hero"]:has(iframe[src*="360connect.com"]) a.button[href="/get-prices"]{display:none!important}}

.owp-price-intro,.owp-static-form-intro{text-wrap:balance}
@media(max-width:1000px){.home-hero:has(.quote-box) .owp-mobile-hero-price,.home-hero:has(.quote-box) .hero-actions{display:none!important}}

/* One useful opening paragraph/block, existing single form, then remaining copy on mobile. */
.pem-opening,.pem-remainder{display:contents}
@media(max-width:900px){
 .pem-grid{display:flex!important;flex-direction:column!important;gap:0!important;align-items:stretch!important}
 .pem-grid>.pem-article,.pem-grid>.pem-aside,.pem-grid>.pem-article>.pem-flat,.pem-grid>.pem-aside .pem-flat{display:contents!important}
 .pem-grid .pem-opening{display:block!important;order:1;width:100%;min-width:0}
 .pem-grid .pem-remainder{display:block!important;order:3;width:100%;min-width:0}
 .pem-grid .pem-form{order:2;position:static!important;align-self:stretch!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:18px 0 24px!important}
 .pem-grid>.pem-aside>:not(.pem-form){order:4}
 .pem-grid>.pem-aside .pem-flat>:not(.pem-form){order:4}
 .pem-grid>.pem-article>:not(.pem-opening):not(.pem-remainder):not(.pem-flat){order:3}
 .pem-grid .pem-form iframe{max-width:100%!important}
 .pem-mobile-hide{display:none!important}
}
