.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS *//* Host Grotesk (variable) - not in Elementor's Google Fonts list, so loaded here site-wide */
@font-face{font-family:'Host Grotesk';font-style:normal;font-weight:300 800;font-display:swap;src:url(https://fonts.gstatic.com/s/hostgrotesk/v5/co3BmWBnlCJ3U42vbbfdwMjZpFjm.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Host Grotesk';font-style:normal;font-weight:300 800;font-display:swap;src:url(https://fonts.gstatic.com/s/hostgrotesk/v5/co3BmWBnlCJ3U42vbbfdwMjZqljm0U0.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Host Grotesk';font-style:italic;font-weight:300 800;font-display:swap;src:url(https://fonts.gstatic.com/s/hostgrotesk/v5/co3SmWBnlCJ3U42vbbfdwMjZoULo4bgYM-BIrC-NplKT-Rd8.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
body{font-family:'Host Grotesk',sans-serif;}

/* ===== Header parity with the cpnn prototype (css/styles.css 3.1 + responsive) =====
   Breakpoints follow the prototype, not Elementor's: 1279 (quote hides on Home) / 1024 (hamburger) / 600 (phone hides) */

/* Container: prototype .container = min(100% - 2*gutter, 1740px), gutter clamp(20px, 4.7vw, 90px) */
body .elementor .cpn-header .cpn-header-inner{width:min(100% - 2 * clamp(1.25rem, 4.7vw, 5.625rem), 1740px);max-width:none;padding-inline:0;margin-inline:auto}

/* "Get a Free Quote" in the bar: Home only, hidden <=1279 (prototype .site-header--quote) */
@media (max-width:1279px){body .elementor .cpn-header .cpn-header-quote{display:none}}

/* Paragraph links: Elementor's default <a> style has a broken font-family (renders serif) - inherit from the paragraph like the prototype */
body .elementor .cpn-header .cpn-nav-sub-link a,body .elementor .cpn-header .cpn-mnav-sub-link a{font:inherit;color:inherit;letter-spacing:inherit;text-decoration:none}
/* Prototype nav uses line-height: normal */
body .elementor .cpn-header .cpn-nav-text,body .elementor .cpn-header .cpn-nav-sub-link{line-height:normal}

/* Burger bars: inset 12px each side (prototype .nav-toggle i) - e-con width:100% was overriding right:12px */
body .elementor .cpn-header .cpn-burger-bar{width:auto}

/* Mobile panel parts are hidden at desktop */
body .elementor .cpn-header-inner > .e-accordion-base{display:none}

@media (max-width:1024px){
  body .elementor .cpn-header .cpn-nav{display:none}
  body .elementor .cpn-header-inner > .e-accordion-base{display:flex;margin-inline-start:4px;position:static}
  body .elementor .cpn-header .cpn-header-call{margin-left:auto}
  body .elementor .cpn-header .cpn-logo,body .elementor .cpn-header .cpn-header-call{position:relative;z-index:2}
  body .elementor .cpn-header .cpn-burger{z-index:2}
  body .elementor .cpn-header-inner > .e-accordion-base > details > summary{position:relative;z-index:2;padding:0;width:auto}
  body .elementor .cpn-header-inner > .e-accordion-base > details{position:static}
  body .elementor .cpn-header summary::-webkit-details-marker{display:none}

  /* Open state = prototype .nav-open: solid white bar, dark compact logo, navy burger, no backdrop/transform (keeps the fixed panel viewport-sized) */
  body .elementor .cpn-header:has(details[open] > summary .cpn-burger){background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none;transform:none;box-shadow:0 4px 24px rgba(0,36,57,.08);padding-block:12px}
  body .elementor .cpn-header:has(details[open] > summary .cpn-burger) .cpn-logo{width:clamp(70px,4.4vw,84px)}
  body .elementor .cpn-header:has(details[open] > summary .cpn-burger) .cpn-logo-light{opacity:0}
  body .elementor .cpn-header:has(details[open] > summary .cpn-burger) .cpn-logo-dark{opacity:1}
  html:has(.cpn-header details[open] > summary .cpn-burger){overflow:hidden}

  /* Full-screen panel (prototype .primary-nav at <=1024) */
  body .elementor .cpn-header .cpn-mnav-panel{position:fixed;inset:0;z-index:1;width:auto;min-width:0;margin:0;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:32px;padding:112px clamp(1.25rem, 4.7vw, 5.625rem) 40px;background:#fff;border-radius:0;box-shadow:none;overflow-y:auto;overscroll-behavior:contain;animation:cpnPanelIn var(--cpn-dur-slow) var(--cpn-ease) both}
  body .elementor .cpn-header .cpn-mnav{display:flex;flex-direction:column;align-items:stretch;gap:0;width:100%;padding:0}
  body .elementor .cpn-header .cpn-mnav-item{width:100%;min-width:0;padding:0;border-bottom:1px solid rgba(0,36,57,.08);animation:cpnItemIn var(--cpn-dur-slow) var(--cpn-ease) both}
  body .elementor .cpn-header .cpn-mnav-item:nth-child(1){animation-delay:120ms}
  body .elementor .cpn-header .cpn-mnav-item:nth-child(2){animation-delay:170ms}
  body .elementor .cpn-header .cpn-mnav-item:nth-child(3){animation-delay:220ms}
  body .elementor .cpn-header .cpn-mnav-item:nth-child(4){animation-delay:270ms}
  body .elementor .cpn-header .cpn-mnav-item:nth-child(5){animation-delay:320ms}
  body .elementor .cpn-header .cpn-mnav-item:nth-child(6){animation-delay:370ms}
  body .elementor .cpn-header .cpn-mnav-link{display:flex;align-items:center;flex:1;min-width:0;width:auto;padding:16px 0;text-decoration:none}
  body .elementor .cpn-header .cpn-mnav-text{margin:0;font-family:"Host Grotesk",sans-serif;font-weight:400;font-size:clamp(1.375rem, 1.1rem + 1vw, 1.75rem);line-height:normal;letter-spacing:-0.02em;color:#002439}

  /* Pool Range row: link + caret toggle, accordion sub-list */
  body .elementor .cpn-header .cpn-mnav-acc{display:block;padding:0}
  body .elementor .cpn-header .cpn-mnav-acc details{display:block;padding:0;width:100%}
  body .elementor .cpn-header .cpn-mnav-head{display:flex;align-items:center;justify-content:space-between;gap:0;padding:0;width:100%;list-style:none}
  body .elementor .cpn-header .cpn-mnav-head > *{display:flex;align-items:center;width:100%;padding:0}
  body .elementor .cpn-header .cpn-mnav-caret{flex:none;width:48px;height:48px;min-width:0;padding:0;margin-left:auto;background:url("data:image/svg+xml,%3Csvg width='13.011' height='7.57755' viewBox='0 0 13.011 7.57755' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.2312 6.79769L6.50551 0.779857L0.779859 6.79769' stroke-width='1.55971' stroke-linecap='round' stroke-linejoin='round' stroke='%23002439'/%3E%3C/svg%3E") center/14px auto no-repeat;transform:rotate(180deg);transition:transform var(--cpn-dur)}
  body .elementor .cpn-header .cpn-mnav-acc details[open] .cpn-mnav-caret{transform:rotate(360deg)}
  body .elementor .cpn-header .cpn-mnav-sub{display:block;width:auto;min-width:0;padding:0 0 12px 8px}
  body .elementor .cpn-header .cpn-mnav-sub-link{display:block;margin:0;padding:10px 14px;border-radius:10px;font-family:"Host Grotesk",sans-serif;font-weight:400;font-size:1.125rem;line-height:normal;letter-spacing:-0.02em;color:#0079C1;white-space:nowrap;transition:background-color var(--cpn-dur),color var(--cpn-dur)}
  body .elementor .cpn-header .cpn-mnav-sub-link:hover,body .elementor .cpn-header .cpn-mnav-sub-link:focus-within{background:#E9F7FF;color:#169EEB}

  /* Quote + phone buttons under the links (prototype .primary-nav__mobile-btns) */
  body .elementor .cpn-header .cpn-mnav-btns{display:flex;flex-direction:row;flex-wrap:wrap;gap:14px;width:auto;padding:0}
}

@media (max-width:600px){
  body .elementor .cpn-header .cpn-header-call{display:none}
  body .elementor .cpn-header-inner > .e-accordion-base{margin-inline-start:auto}
}

@keyframes cpnPanelIn{from{transform:translateX(100%)}to{transform:none}}
@keyframes cpnItemIn{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
  body .elementor .cpn-header .cpn-mnav-panel,body .elementor .cpn-header .cpn-mnav-item{animation:none}
}/* End custom CSS */