/* Shared layout corrections, scoped to the existing site chrome and coupon components. */
html body > header, html body[data-mobile-hero] > header {
  position: relative !important; inset: auto !important; margin: 0 !important;
  padding: 12px 5% 18px !important; width: 100% !important; height: auto !important;
  min-height: 0 !important; box-sizing: border-box !important; display: flex !important;
  flex-direction: column !important; align-items: stretch !important; gap: 10px !important;
  background: #f7fbfd !important; color: #123b59 !important; z-index: 40 !important;
}
html body.skyline > header, html body[data-brand="skyline"] > header { background: #082649 !important; color: #fff !important; }
html body > header .license-assurance {
  position: static !important; inset: auto !important; transform: none !important;
  display: block !important; order: -2 !important; align-self: flex-end !important;
  margin: 0 !important; padding: 0 !important; width: auto !important;
  font: 700 10px/1.5 Arial,sans-serif !important; letter-spacing: .09em !important;
  color: inherit !important; white-space: normal !important; text-align: right !important;
}
html body.painting > header .license-assurance, html body.properties > header .license-assurance, html body.patios > header .license-assurance { color:#123b59 !important; -webkit-text-fill-color:#123b59 !important; }
html body.skyline > header .license-assurance, html body[data-brand="skyline"] > header .license-assurance { color:#fff !important; -webkit-text-fill-color:#fff !important; }
html body[data-mobile-hero="properties"] > header span.license-assurance { color:#123b59 !important; -webkit-text-fill-color:#123b59 !important; }
html body > header .nav.wrap, html body > header .pp-header-inner {
  position: relative !important; inset: auto !important; display: flex !important;
  flex-wrap: nowrap !important; align-items: center !important; justify-content: space-between !important;
  gap: 24px !important; width: 100% !important; max-width: 1320px !important;
  margin: 0 auto !important; padding: 0 !important; min-height: 72px !important; height: auto !important;
}
html body > header :is(.brand,.pp-brand) { flex: 0 0 205px !important; width: 205px !important; max-width: 45% !important; margin: 0 !important; }
html body > header :is(.brand,.pp-brand) img { display:block; width:100% !important; height:76px !important; object-fit:contain !important; }
html body > header > a:first-of-type { align-self: center; width:205px !important; max-width:calc(100% - 100px) !important; }
html body > header > a > img.brand { width:100% !important; max-width:100% !important; flex:none !important; height:90px !important; object-fit:contain !important; }
html body > header :is(#nav-links.nav-links,#navigation,#pp-navigation.pp-site-nav) {
  position: static !important; inset: auto !important; flex: 1 1 auto !important; min-width:0 !important;
  width: auto !important; max-width: 100% !important; height: auto !important;
  display: flex !important; flex-direction: row !important; flex-wrap: wrap !important;
  align-items: center !important; justify-content: center !important;
  gap: 14px 20px !important; margin:0 !important; padding: 8px 0 !important;
  background: transparent !important; box-shadow: none !important; overflow: visible !important;
}
html body > header :is(#nav-links,#navigation,#pp-navigation) > :is(a,details,summary) {
  position: relative !important; color: inherit !important; text-shadow: none !important;
  font-size: 12px !important; line-height:1.4 !important; white-space: nowrap;
}
html body > header :is(.mobile-toggle,.menu-toggle,.pp-mobile-menu) { display: none !important; }
html body > header .site-utility-row {
  display:flex !important; flex-direction:row !important; align-items:center !important;
  justify-content:center !important; gap:12px !important; width:min(760px,100%) !important;
  max-width:100% !important; margin:2px auto 0 !important; position:relative; z-index:3;
}
html body > header .site-utility-row > :is(.brand-service-search,.site-service-search) {
  flex:1 1 0 !important; width:auto !important; min-width:0 !important; max-width:none !important;
  margin:0 !important; padding:0 !important; position:relative !important; inset:auto !important;
  order:0 !important;
}
html body > header .site-utility-row .site-service-search {
  display:flex !important; align-items:center !important; gap:6px !important;
  height:44px !important; min-height:44px !important; width:100% !important; max-width:none !important;
  margin:0 !important; padding:3px 4px 3px 12px !important; box-sizing:border-box !important;
  border:1px solid #a9cbdc !important; border-radius:999px !important; background:#fff !important;
}
html body > header .site-utility-row input { flex:1 1 0 !important; min-width:0 !important; width:100% !important; height:34px !important; padding:0 !important; font-size:16px !important; color:#123b59 !important; background:transparent !important; border:0 !important; }
html body > header .site-utility-row .service-search-label { position:absolute !important; width:1px !important; height:1px !important; overflow:hidden !important; clip-path:inset(50%); }
html body > header .site-utility-row form button { flex:0 0 auto !important; height:34px !important; min-height:34px !important; padding:0 13px !important; font-size:12px !important; line-height:34px !important; border:0 !important; border-radius:999px !important; background:#176d9a !important; color:#fff !important; }
html body > header .site-utility-row .header-estimate {
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  flex:0 0 auto !important; position:static !important; inset:auto !important; transform:none !important;
  box-sizing:border-box !important; min-height:44px !important; max-width:45% !important;
  margin:0 !important; padding:10px 18px !important; border-radius:999px !important;
  background:#082649 !important; color:#fff !important; -webkit-text-fill-color:#fff !important;
  border:1px solid #79bedf !important; font:700 12px/1.3 Arial,sans-serif !important;
  text-decoration:none !important; white-space:nowrap !important; text-shadow:none !important;
  order:1 !important;
}
html body > .review-ribbon, html body[data-mobile-hero] > .review-ribbon { position:relative !important; inset:auto !important; display:flex !important; align-items:center !important; justify-content:center !important; gap:12px !important; width:100% !important; box-sizing:border-box !important; min-height:58px !important; height:auto !important; padding:5px 12px !important; margin:0 !important; background:#082649 !important; }
html body .review-ribbon :is(.review-badge-link,.family-review-chooser) { flex:0 0 auto; margin:0 !important; display:flex; align-items:center; justify-content:center; }
html body .review-ribbon .review-badge { margin:0 !important; flex:0 0 auto !important; }
html body > .review-ribbon .review-badge.review-badge { filter:brightness(0) invert(1) !important; opacity:1 !important; }
html body > .review-ribbon .header-social-links { position:absolute !important; right:5% !important; top:50% !important; transform:translateY(-50%) !important; background:#082649 !important; color:#fff !important; margin:0 !important; padding:6px 12px !important; border-radius:12px; }
html body > .review-ribbon .header-social-links :is(a,span,svg) { color:#fff !important; -webkit-text-fill-color:#fff !important; }
html body .consultation { color:#fff !important; -webkit-text-fill-color:#fff !important; text-shadow:0 1px 5px #082649,0 0 12px #08264999 !important; }
html body footer .company-connect { background:#082649 !important; color:#fff !important; max-width:none !important; width:100% !important; box-sizing:border-box; margin:24px 0 0 !important; border-top:1px solid #5a839e !important; }
html body footer .company-connect :is(h2,a,span) { color:#fff !important; -webkit-text-fill-color:#fff !important; }
html body footer .company-connect-links a { background:#123d63 !important; border-color:#76b8df !important; }
html body footer .company-connect-links svg { color:#b9e7ff !important; }
html body .footer-grid > div { min-width:0; }
html body .footer-grid a { overflow-wrap:anywhere; }
html body .footer-grid > div > a:has(>img.footer-logo) { display:block !important; margin:0 0 24px !important; }
html body .footer-grid > div > a > img.footer-logo { margin:0 !important; }
html body :is(.pp-menu-link,.pp-hero-button-label) .pp-wordmark { font-family:'PP Hero Script','Brush Script MT',cursive !important; font-weight:400 !important; font-size:1.15em !important; letter-spacing:0 !important; text-transform:none !important; color:#fff !important; -webkit-text-fill-color:#fff !important; text-shadow:0 1px 3px #062649 !important; }
html body :is(.pp-menu-link,.pp-hero-button-label) .pp-three-d { color:#b7e8ff !important; -webkit-text-fill-color:#b7e8ff !important; background:none !important; font:800 1em/1 Arial,sans-serif !important; text-shadow:0 1px 3px #0b3763,0 0 8px #a6deff99 !important; letter-spacing:.02em !important; }
html body > header :is(#navigation,#nav-links,#pp-navigation) > a.pp-menu-link { display:inline-flex !important; align-items:center !important; justify-content:center !important; gap:4px !important; background-clip:border-box !important; -webkit-background-clip:border-box !important; -webkit-text-fill-color:#fff !important; min-width:0 !important; }
html body > header :is(#navigation,#nav-links,#pp-navigation) > a[href$="coupons.html"] { background:linear-gradient(135deg,#17d6ff,#148cff 48%,#005ee8) !important; color:#fff !important; -webkit-text-fill-color:#fff !important; border:1px solid #b9f4ff !important; border-radius:999px !important; padding:10px 17px !important; box-shadow:0 0 15px #0cbfff99 !important; }
html body > header :is(#navigation#navigation,#nav-links#nav-links,#pp-navigation#pp-navigation) > a.pp-menu-link {
  background:linear-gradient(110deg,#cf1454,#b94703 18%,#847000 33%,#087348 49%,#007f9e 65%,#3059cb 81%,#9438ba) !important;
  background-clip:border-box !important; -webkit-background-clip:border-box !important;
  border:1px solid #a9e6ff !important; border-radius:999px !important; padding:10px 14px !important;
  color:#fff !important; -webkit-text-fill-color:#fff !important;
  box-shadow:0 0 15px #29bfff66 !important; filter:none !important;
}
html body :is(.pp-menu-link,.pp-hero-button-label) .pp-wordmark { font-size:1.3em !important; line-height:1.1 !important; }
html body a.pp-launch > .pp-hero-button-label { gap:5px !important; }
html body a.pp-launch:has(> .pp-hero-button-label) { max-width:calc(100% - 32px) !important; }
html body.coupon-page main { position:relative; clear:both; }
html body.coupon-page .coupon-hero { isolation:isolate; height:auto !important; min-height:360px !important; max-height:none !important; display:flex !important; align-items:center !important; padding:0 !important; }
html body.coupon-page .coupon-hero > img { position:absolute !important; inset:0 !important; width:100% !important; height:100% !important; object-fit:cover !important; z-index:0 !important; }
html body.coupon-page .coupon-hero:after { z-index:1 !important; pointer-events:none; }
html body.coupon-page .coupon-hero-inner { position:relative !important; z-index:2 !important; width:100%; max-width:1180px; box-sizing:border-box; padding:64px 6vw !important; }
html body.coupon-page .coupon-hero h1 { max-width:950px; font-size:clamp(32px,4.6vw,64px) !important; line-height:1.08 !important; overflow-wrap:break-word; color:#fff !important; }
html body.coupon-page .coupon-hero p { color:#fff !important; line-height:1.6 !important; }
html body.coupon-page .coupon-grid { box-sizing:border-box !important; width:100% !important; max-width:1240px !important; margin:0 auto !important; display:grid !important; grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr)) !important; gap:28px !important; padding:56px 5% !important; align-items:stretch !important; }
html body.coupon-page .coupon-grid:has(> :only-child) { max-width:660px !important; }
html body.coupon-page .coupon-card { min-width:0 !important; position:relative; display:flex !important; flex-direction:column !important; height:auto !important; margin:0 !important; background:#fff !important; color:#123b59 !important; }
html body.coupon-page .coupon-card > img { display:block !important; position:static !important; flex:0 0 auto; width:100% !important; height:auto !important; aspect-ratio:16/10 !important; object-fit:cover !important; max-height:300px !important; margin:0 !important; }
html body.coupon-page .coupon-copy { display:flex; flex-direction:column; flex:1; min-width:0; padding:26px !important; }
html body.coupon-page .coupon-amount { font-size:clamp(28px,3.2vw,42px) !important; line-height:1.12 !important; overflow-wrap:normal !important; }
html body.coupon-page .coupon-copy h2 { font-size:clamp(24px,2.2vw,30px) !important; line-height:1.2 !important; color:#123b59 !important; }
html body.coupon-page .coupon-copy p { line-height:1.65 !important; }
html body.coupon-page .coupon-button { align-self:flex-start; max-width:100%; box-sizing:border-box; gap:8px; white-space:normal; line-height:1.4; margin-top:auto; }
html body.coupon-page .coupon-copy p:last-of-type { margin-bottom:24px; }
html body.coupon-page .coupon-note { box-sizing:border-box; max-width:1100px; margin:0 auto !important; padding:0 5% 56px !important; color:#43566a !important; line-height:1.7 !important; }
html body.coupon-page footer { position:relative !important; margin-top:0 !important; clear:both; }
@media(max-width:1000px) {
  html body > header .nav.wrap, html body > header .pp-header-inner { flex-wrap:wrap !important; gap:12px !important; }
  html body > header :is(.mobile-toggle,.menu-toggle,.pp-mobile-menu) { display:block !important; position:static !important; margin:0 0 0 auto !important; min-height:44px; background:#fff !important; color:#123b59 !important; border:1px solid #bdd5e1; border-radius:999px; padding:8px 16px; }
  html body > header :is(#nav-links.nav-links,#navigation,#pp-navigation.pp-site-nav) { display:none !important; flex:0 0 100% !important; width:100% !important; order:3; flex-direction:column !important; align-items:stretch !important; gap:8px !important; padding:12px !important; background:#fff !important; color:#123b59 !important; border-radius:16px; max-height:65vh !important; overflow-y:auto !important; box-sizing:border-box; }
  html body > header :is(#nav-links.open,#navigation.open,#pp-navigation.pp-open) { display:flex !important; }
  html body > header :is(#nav-links,#navigation,#pp-navigation) > a { min-height:40px; display:flex; align-items:center; justify-content:center; }
  html body > header { padding:10px 5% 14px !important; }
  html body > header :is(.brand,.pp-brand) img { height:60px !important; }
  html body > header > .menu-toggle { align-self:flex-end; margin-top:-54px !important; margin-bottom:12px !important; }
  html body > header > a:first-of-type { align-self:flex-start; }
  html body > header > a:first-of-type { width:180px !important; }
  html body > header > a > img.brand { height:66px !important; width:100% !important; }
  html body > header .site-utility-row { gap:8px !important; }
  html body > header .site-utility-row .header-estimate { font-size:11px !important; padding:10px 12px !important; }
  html body > .review-ribbon { gap:8px !important; min-height:48px !important; }
  html body > .review-ribbon { flex-wrap:wrap !important; }
  html body > .review-ribbon .review-badge.review-badge { width:68px !important; height:42px !important; flex-basis:68px !important; }
  html body > .review-ribbon .header-social-links { position:static !important; transform:none !important; width:100% !important; display:flex !important; flex-direction:row !important; align-items:center !important; justify-content:center !important; gap:12px !important; box-sizing:border-box; }
}
@media(max-width:600px) {
  html body[data-mobile-hero] .hero[data-hero-motion]:has(> .pp-hero-link) { padding:40px 6% 90px !important; min-height:clamp(520px,72svh,700px) !important; }
  html body .footer-grid { grid-template-columns:minmax(0,1fr) !important; }
  html body .footer-grid :is(.footer-partner-logo,.footer-logo) { margin-left:auto !important; margin-right:auto !important; }
  html body.coupon-page .coupon-hero { min-height:300px !important; }
  html body.coupon-page .coupon-hero-inner { padding:42px 6% !important; }
  html body.coupon-page .coupon-grid { grid-template-columns:minmax(0,1fr) !important; padding:36px 5% !important; gap:24px !important; }
  html body.coupon-page .coupon-copy { padding:24px !important; }
  html body > header .site-utility-row .brand-search-icon { display:none !important; }
  html body > header .site-utility-row form button { padding:0 10px !important; }
}
