/* Native Theme Builder header/footer. All text, images, menus and buttons are Divi modules. */
:where(body.pei-native){--pei-deep:#00727c;--pei-accent:#009fad;--pei-ink:#171717;--pei-muted:#575757;--pei-line:#dedede;}
:where(.pei-native-header,.pei-native-footer) *, :where(.pei-native-header,.pei-native-footer) *::before, :where(.pei-native-header,.pei-native-footer) *::after{box-sizing:border-box;}
:where(.pei-native-header,.pei-native-footer) a:focus-visible{outline:3px solid #00727c;outline-offset:4px;}
.pei-native-header .et_pb_row::before,.pei-native-header .et_pb_row::after,.pei-native-footer .et_pb_row::before,.pei-native-footer .et_pb_row::after{display:none;}
.pei-native-header .et_pb_column,.pei-native-footer .et_pb_column{min-width:0;margin:0;float:none;}
.pei-native-header .et_pb_module,.pei-native-footer .et_pb_module{margin-bottom:0;}
.pei-header-top .pei-header-top-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:24px;min-height:37px;}
.pei-header-top-row>.et_pb_column{width:auto;}
.pei-header-contact-col{display:flex;align-items:center;gap:18px;}
.pei-header-contact .et_pb_text_inner{display:flex;align-items:center;gap:20px;}
.pei-header-contact a{color:inherit;white-space:nowrap;}
.pei-header-social{display:flex;align-items:center;gap:10px;padding:0 0 0 16px;border-left:1px solid #333;}
.pei-header-social li{padding:0;margin:0;}
.pei-header-social .icon{width:18px;height:28px;background:transparent;border:0;}
.pei-header-social .icon::before{width:18px;line-height:28px;font-size:14px;}
.pei-header-secondary .et_pb_menu__menu{display:flex;}
.pei-header-secondary .et_mobile_nav_menu{display:none;}
.pei-header-secondary .et_pb_menu__wrap{justify-content:flex-end;}
.pei-header-secondary .et-menu{gap:20px;flex-wrap:nowrap;}
.pei-header-secondary .et-menu>li{padding:0;margin:0;align-items:center;}
.pei-header-secondary .et-menu>li>a{padding:0;font-size:12px;line-height:1.5;font-weight:400;white-space:nowrap;}
.pei-header-main .pei-header-main-row{display:grid;grid-template-columns:205px minmax(0,1fr);align-items:center;gap:30px;min-height:108px;}
.pei-header-main-row>.et_pb_column{width:auto;}
.pei-header-logo .et_pb_image_wrap{display:block;}
.pei-header-logo img{display:block;max-width:100%;height:auto;}
.pei-header-primary .et_pb_menu__wrap{justify-content:flex-end;}
.pei-header-primary .et-menu{gap:23px;flex-wrap:nowrap;}
.pei-header-primary .et-menu>li{padding:0;margin:0;align-items:center;}
.pei-header-primary .et-menu>li>a{padding:12px 0;font-size:13px;line-height:1.5;font-weight:600;white-space:nowrap;}
.pei-header-primary .et-menu>li.menu-item-has-children>a{padding-right:20px;}
.pei-header-primary .et-menu>li.menu-item-has-children>a::after{content:'';font-family:inherit;position:absolute;right:2px;top:calc(50% - 5px);width:6px;height:6px;border-right:1.7px solid currentColor;border-bottom:1.7px solid currentColor;transform:rotate(45deg);}
.pei-header-primary .et-menu .sub-menu{width:280px;max-width:calc(100vw - 32px);padding:12px;background:#fff;border:1px solid #dedede;border-radius:13px;box-shadow:0 12px 28px #00000012;}
.pei-header-primary .et-menu .sub-menu li{width:100%;padding:0;}
.pei-header-primary .et-menu .sub-menu a{display:flex;align-items:center;min-height:44px;width:100%;padding:10px 12px;border-radius:7px;font-size:13px;line-height:1.4;font-weight:400;white-space:normal;}
/* End-align the main menu as approved, but read every dropdown from the left.
   The generated native Menu text alignment must not propagate to its panels. */
body.pei-native .pei-header-primary :is(.et-menu .sub-menu,.et-menu .sub-menu li,.et-menu .sub-menu a,.et_mobile_menu,.et_mobile_menu li:not(.pi-menu-cta):not(.pei-mobile-budget),.et_mobile_menu li:not(.pi-menu-cta):not(.pei-mobile-budget)>a){text-align:left!important;}
body.pei-native .pei-header-primary :is(.et-menu .sub-menu a,.et_mobile_menu .sub-menu a){justify-content:flex-start!important;}
.pei-header-primary .et-menu .sub-menu a:hover,.pei-header-primary .et-menu .sub-menu a:focus-visible{background:#f5f5f5;color:#00727c;opacity:1;}
.pei-header-primary .et-menu li:focus-within>.sub-menu{visibility:visible;opacity:1;}
.pei-header-cta{white-space:nowrap;line-height:1.4;}
.pei-header-cta:hover{background:#000;border-color:#000;color:#fff;}
.pei-header-primary .et_pb_menu__menu>nav>ul>li.pei-header-mobile-extra{display:none;}
/* Approved prototype: black, compact footer. Divi emits a white section and
   dark text with !important; only this component's contrast is overridden. */
body.pei-native .et-l--footer>.et_builder_inner_content .et_pb_section.pei-native-footer{background-color:#000!important;color:#fff;--pei-ink:#fff;--pei-muted:#bfbfbf;--pei-line:#3b3b3b;}
body.pei-native .pei-native-footer.et_pb_section{padding:48px 0 28px;border-top:1px solid #3b3b3b;}
body.pei-native .pei-native-footer .et_pb_row{width:calc(100% - 96px)!important;max-width:1180px!important;margin-left:auto;margin-right:auto;}
body.pei-native .pei-native-footer .et_pb_text_inner{color:#bfbfbf!important;}
body.pei-native .pei-native-footer a:focus-visible{outline-color:#fff;}
.pei-footer-main-row{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:60px;}
.pei-footer-main-row>.et_pb_column{width:auto;}
.pei-native-footer .pei-footer-logo{max-width:205px;margin-bottom:22px;}
.pei-native-footer .pei-footer-logo img{filter:grayscale(1) brightness(0) invert(1);}
.pei-footer-contact p{margin:0 0 14px;padding:0;font-size:13px;line-height:1.8;}
body.pei-native .pei-native-footer .pei-footer-contact a{color:#fff!important;text-decoration:none;font-weight:400;overflow-wrap:anywhere;}
.pei-footer-contact p:first-child a{display:inline-flex;align-items:center;min-height:32px;font-size:17px;}
body.pei-native .pei-native-footer .pei-footer-links h3{max-width:300px;color:#fff!important;font-family:Archivo,'Open Sans',sans-serif;font-size:20px;font-weight:600;line-height:1.4;margin:0 0 18px;padding:0;}
.pei-footer-links ul{list-style:none;padding:0;margin:0;}
.pei-footer-links li{list-style:none;padding:0;margin:0;font-size:13px;line-height:1.35;}
body.pei-native .pei-native-footer .pei-footer-links a{display:flex;align-items:center;min-height:27px;color:#ccc!important;font-size:13px;line-height:1.35;text-decoration:none;}
body.pei-native .pei-native-footer a:hover{color:#fff!important;text-decoration:underline;text-underline-offset:3px;}
.pei-footer-social-row{margin-top:24px;padding-bottom:20px;border-bottom:1px solid #3b3b3b;}
.pei-footer-social p{display:flex;flex-wrap:wrap;gap:20px;margin:0;padding:0;}
body.pei-native .pei-native-footer .pei-footer-social a{color:#fff!important;font-size:13px;font-weight:600;text-decoration:none;}
.pei-footer-bottom-row{display:grid;grid-template-columns:1fr 1.1fr;gap:30px;margin-top:20px;align-items:end;}
.pei-footer-bottom-row>.et_pb_column{width:auto;}
.pei-footer-bottom-row p{padding:0;margin:0;font-size:11px;line-height:1.7;}
body.pei-native .pei-native-footer .pei-footer-bottom-row .et_pb_text_inner{color:#aaa!important;}
.pei-footer-legal p{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px 17px;}
body.pei-native .pei-native-footer .pei-footer-legal a{display:inline-flex;align-items:center;min-height:24px;color:#aaa!important;text-decoration:none;}
.pei-native-loop{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;}
.pei-native-loop>article.et_pb_post{margin:0;padding:0 0 24px;border:1px solid #dedede;border-radius:20px;overflow:hidden;min-width:0;background:#fff;}
.pei-native-loop .entry-featured-image-url{display:block;margin:0 0 22px;}
.pei-native-loop .entry-featured-image-url img{display:block;aspect-ratio:8/5;object-fit:cover;width:100%;height:auto;}
.pei-native-loop .entry-title{padding:0 24px;font-family:Archivo,'Open Sans',sans-serif;font-size:25px;line-height:1.25;font-weight:600;}
.pei-native-loop .entry-title a{color:#171717;}
.pei-native-loop .post-meta,.pei-native-loop .post-content{margin:15px 0 0;padding:0 24px;color:#575757;font-size:14px;line-height:1.75;}
.pei-native-loop .post-meta{font-size:12px;}
:where(body.pei-native:is(.search,.author,.date,.tag)) .container{width:calc(100% - 80px);max-width:1200px;padding-top:48px;}
:where(body.pei-native:is(.search,.author,.date,.tag)) #left-area{padding-right:30px;}
:where(body.pei-native) #sidebar .widgettitle{font-family:Archivo,'Open Sans',sans-serif;font-weight:600;font-size:22px;line-height:1.3;}
:where(body.pei-native) #sidebar a{color:#00727c;}
:where(body.pei-native) .not-found-title{font-family:Archivo,'Open Sans',sans-serif;font-size:42px;line-height:1.1;color:#171717;}
:where(body.pei-native.error404) .entry{padding:50px 0;min-height:45vh;}
@media(max-width:1150px){.pei-header-main .pei-header-main-row{gap:18px;grid-template-columns:180px minmax(0,1fr);}.pei-header-primary .et-menu{gap:16px;}.pei-header-primary .et-menu>li>a{font-size:12px;}.pei-header-secondary .et-menu{gap:14px;}.pei-header-top .pei-header-top-row{gap:12px;}.pei-header-contact .et_pb_text_inner{gap:13px;}.pei-header-contact-col{gap:12px;}}
@media(max-width:980px){
 .pei-header-top .pei-header-top-row{display:flex;min-height:34px;justify-content:center;}
 .pei-header-top .pei-header-secondary-col{display:none;}.pei-header-contact-col{justify-content:center;width:100%;}
 .pei-header-social{display:none;}.pei-header-contact .et_pb_text_inner{justify-content:center;gap:22px;}
 .pei-header-main .pei-header-main-row{grid-template-columns:180px minmax(0,1fr);min-height:90px;position:relative;}
 .pei-header-cta-col{display:none;}.pei-header-primary-col,.pei-header-primary,.pei-header-primary .et_pb_menu_inner_container{position:static;}
 .pei-header-primary .et_pb_menu__wrap{justify-content:flex-end;}
 .pei-header-primary .et_mobile_menu{left:0;width:100%;top:100%;padding:18px;background:#fff;border:1px solid #dedede;border-radius:0 0 16px 16px;box-shadow:0 16px 24px #00000010;max-height:calc(100dvh - 150px);overflow-y:auto;}
 .pei-header-primary .et_mobile_menu li a{font-size:14px;line-height:1.5;padding:11px 13px;color:#171717;border:0;}
 .pei-header-primary .et_mobile_menu .sub-menu{padding-left:12px;}
 .pei-header-primary .et_mobile_menu .pei-header-mobile-extra{display:block;}
 .pei-header-primary .et_mobile_menu .pei-mobile-budget{background:#00727c;color:#fff;border-radius:8px;text-align:center;margin:12px 0;}
 .pei-header-primary .et_mobile_menu .pei-mobile-social{display:flex;gap:8px;flex-wrap:wrap;padding-top:12px;border-top:1px solid #dedede;}
 .pei-header-primary .et_mobile_menu .pei-mobile-social a{color:#00727c;font-size:12px;padding:8px;}
 .pei-footer-main-row{gap:30px;grid-template-columns:1fr 1fr;}.pei-footer-contact-col{grid-column:1/-1;}.pei-footer-bottom-row{grid-template-columns:1fr;gap:15px;}.pei-footer-legal p{justify-content:flex-start;}
 .pei-native-loop{grid-template-columns:1fr;}
}
@media(max-width:767px){.pei-header-contact .et_pb_text_inner{gap:14px;font-size:11px;}.pei-header-main .pei-header-main-row{min-height:82px;grid-template-columns:165px minmax(0,1fr);}body.pei-native .pei-native-footer.et_pb_section{padding-top:36px;}body.pei-native .pei-native-footer .et_pb_row{width:calc(100% - 36px)!important;}.pei-footer-main-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px;}.pei-footer-contact-col{grid-column:1/-1;}body.pei-native .pei-native-footer .pei-footer-links h3{font-size:19px;}body.pei-native .pei-native-footer .pei-footer-links a{min-height:34px;font-size:12px;}.pei-footer-social p{gap:9px 18px;}}
@media(max-width:700px){:where(body.pei-native:is(.search,.author,.date,.tag)) .container{width:calc(100% - 32px);padding-top:32px;}:where(body.pei-native:is(.search,.author,.date,.tag)) #left-area{padding-right:0;}.pei-native-loop .entry-title{font-size:24px;}}
@media(prefers-reduced-motion:reduce){:where(.pei-native-header,.pei-native-footer) *, :where(.pei-native-header,.pei-native-footer) *::before, :where(.pei-native-header,.pei-native-footer) *::after{transition:none;animation:none;}}

/* The native primary menu already contains its WordPress CTA; render it once. */
.pei-header-primary .et-menu>li.pi-menu-cta>a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 18px;background:#00727c;border:1px solid #00727c;border-radius:9px;color:#fff;font-size:13px;line-height:1.4;box-sizing:border-box;text-align:center;}
.pei-header-primary .et-menu>li.pi-menu-cta>a:hover{background:#000;border-color:#000;color:#fff;opacity:1;}
@media(max-width:980px){.pei-header-primary .et_mobile_menu .pi-menu-cta>a{background:#00727c;color:#fff;border-radius:8px;text-align:center;margin:12px 0;}}
/* D5's block gutter selectors have four classes. These component grid tracks
   own column sizing; percentage float widths must not be applied inside them.
   Native module controls retain their generated important declarations. */
.pei-native-header .et_pb_row.et_block_row>.et_pb_column,
.pei-footer-main-row.et_pb_row.et_block_row>.et_pb_column,
.pei-footer-bottom-row.et_pb_row.et_block_row>.et_pb_column{width:auto;margin:0;float:none;min-width:0;}
.pei-header-contact .et_pb_text_inner p{display:flex;align-items:center;gap:20px;margin:0;padding:0;}
@media(max-width:700px){.pei-header-contact .et_pb_text_inner p{gap:14px;}}

/* D5 menu's inner wrapper is a flex item; fill its native column so the
   configured end alignment positions both navigations at the right edge. */
.pei-header-primary .et_pb_menu__wrap,
.pei-header-secondary .et_pb_menu__wrap{flex:1 1 auto;min-width:0;width:100%;}

/* D5's menu offsets compensate for default li padding; our explicit gaps
   don't need those negative margins. */
.pei-header-primary .et-menu,.pei-header-secondary .et-menu{margin:0;padding:0;}

/* Keep the last desktop dropdown before the budget CTA inside the viewport. */
@media(min-width:981px){.pei-header-primary .et_pb_menu__menu>nav>.et-menu>li>.sub-menu{left:0;right:auto;}.pei-header-primary .et_pb_menu__menu>nav>.et-menu>li:has(+.pi-menu-cta)>.sub-menu{left:auto;right:0;}.pei-header-primary .et-menu .sub-menu .sub-menu{left:calc(100% + 12px);right:auto;}.pei-header-primary .et_pb_menu__menu>nav>.et-menu>li:has(+.pi-menu-cta) .sub-menu .sub-menu{left:auto;right:calc(100% + 12px);}}
