/* Heart & Presence Site Kit — header, mega menu, page effects */
:root{--hpx-prim:#3B7C81;--hpx-ink:#232526;--hpx-light:#EFF5F5;--hpx-ice:#A7CACE;--hpx-teal:#65A3A9;--hpx-dark:#1D4247;--hpx-orange:#D2693C;--hpx-navy:#16395B;--hpx-pale:#C7DEE1;--hpx-headh:150px}
html{scroll-behavior:smooth}
body{padding-top:var(--hpx-headh);font-family:Poppins,sans-serif;animation:hpxIn .7s cubic-bezier(.22,.7,.3,1) both}
@keyframes hpxIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.hpx-amp:before{content:"\0026"}
#hpxProgress{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--hpx-orange),var(--hpx-teal));z-index:100001;transition:width .12s linear}
/* header shell */
.hpx-head{position:fixed;top:0;left:0;right:0;z-index:100000;font-family:Poppins,sans-serif}
.hpx-announce{background:var(--hpx-navy);color:var(--hpx-light);font-size:12.5px;letter-spacing:.4px;display:flex;justify-content:center;gap:18px;align-items:center;padding:9px 20px;transition:max-height .35s ease,padding .35s ease,opacity .3s ease;max-height:44px;overflow:hidden}
.hpx-announce a{color:var(--hpx-ice);text-decoration:none;font-weight:600}
.hpx-announce a:hover{color:#fff}
.hpx-bar{background:rgba(239,245,245,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:space-between;gap:26px;padding:20px 4vw;transition:padding .35s ease,box-shadow .35s ease,background .35s ease}
.hpx-head.is-scrolled .hpx-announce{max-height:0;padding-top:0;padding-bottom:0;opacity:0}
.hpx-head.is-scrolled .hpx-bar{padding-top:12px;padding-bottom:12px;box-shadow:0 12px 34px -16px rgba(29,66,71,.35)}
.hpx-logo{font-family:Montserrat,sans-serif;font-weight:800;font-size:22px;color:var(--hpx-navy);text-decoration:none;letter-spacing:.5px;white-space:nowrap}
.hpx-logo .hpx-amp{color:var(--hpx-orange);padding:0 3px}
.hpx-nav{display:flex;align-items:center;gap:26px}
.hpx-nav a,.hpx-mbtn{font-size:14px;font-weight:500;color:var(--hpx-ink);text-decoration:none;background:none;border:0;cursor:pointer;font-family:Poppins,sans-serif;position:relative;padding:6px 0}
.hpx-nav a:after,.hpx-mbtn:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--hpx-orange);transition:right .28s ease}
.hpx-nav a:hover:after,.hpx-item:hover .hpx-mbtn:after,.hpx-mbtn:focus-visible:after{right:0}
.hpx-caret{display:inline-block;width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);margin-left:7px;transition:transform .28s ease}
.hpx-item{position:relative}
.hpx-item.open .hpx-caret,.hpx-item:hover .hpx-caret{transform:rotate(225deg) translateY(-1px)}
/* mega */
.hpx-mega{position:fixed;left:0;right:0;top:var(--hpx-headh);background:#fff;border-top:1px solid var(--hpx-pale);box-shadow:0 40px 70px -30px rgba(29,66,71,.35);opacity:0;visibility:hidden;transform:translateY(-14px);transition:opacity .32s ease,transform .32s ease,visibility .32s ease;padding:38px 5vw 42px}
.hpx-item.open .hpx-mega,.hpx-item:hover .hpx-mega,.hpx-item:focus-within .hpx-mega{opacity:1;visibility:visible;transform:translateY(0)}
.hpx-mega-grid{max-width:1220px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr) 1.15fr;gap:22px}
.hpx-mcard{display:block;text-decoration:none;background:var(--hpx-light);border:1px solid var(--hpx-pale);border-radius:16px;padding:22px 20px;transition:transform .3s cubic-bezier(.22,.9,.3,1.3),box-shadow .3s ease,border-color .3s ease}
.hpx-mcard:hover{transform:translateY(-6px);box-shadow:0 22px 40px -18px rgba(29,66,71,.35);border-color:var(--hpx-teal)}
.hpx-mcard .ic{font-size:26px}
.hpx-mcard h4{font-family:Montserrat,sans-serif;font-weight:700;font-size:15px;color:var(--hpx-navy);margin:10px 0 6px}
.hpx-mcard p{font-size:12.5px;line-height:1.6;color:#4a5a5e;margin:0 0 8px}
.hpx-mcard span{font-size:12px;font-weight:600;color:var(--hpx-orange)}
.hpx-mfeat{background:linear-gradient(150deg,var(--hpx-navy),var(--hpx-dark));border-radius:16px;padding:26px 24px;color:var(--hpx-light);display:flex;flex-direction:column;justify-content:center}
.hpx-mfeat h4{font-family:Montserrat,sans-serif;font-weight:800;font-size:18px;margin:0 0 8px;color:#fff}
.hpx-mfeat p{font-size:13px;line-height:1.65;color:var(--hpx-ice);margin:0 0 14px}
.hpx-mfeat a{display:inline-block;background:var(--hpx-orange);color:#fff;text-decoration:none;font-weight:700;font-size:12px;letter-spacing:1px;text-transform:uppercase;padding:12px 22px;border-radius:50px;transition:transform .25s ease}
.hpx-mfeat a:hover{transform:translateY(-3px)}
.hpx-cta{background:var(--hpx-orange);color:#fff;text-decoration:none;font-family:Montserrat,sans-serif;font-weight:700;font-size:12.5px;letter-spacing:1.2px;text-transform:uppercase;padding:13px 26px;border-radius:50px;white-space:nowrap;transition:transform .25s ease,box-shadow .25s ease}
.hpx-cta:hover{transform:translateY(-3px);box-shadow:0 14px 28px -10px rgba(210,105,60,.6)}
/* burger + mobile */
.hpx-burger{display:none;width:44px;height:44px;border-radius:50%;background:var(--hpx-navy);border:0;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.hpx-burger span{display:block;width:18px;height:2px;background:var(--hpx-light);border-radius:2px;transition:transform .3s ease,opacity .25s ease}
.hpx-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hpx-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.hpx-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.hpx-mobile{display:none;background:#fff;border-top:1px solid var(--hpx-pale);max-height:0;overflow:hidden;transition:max-height .45s cubic-bezier(.22,.7,.3,1)}
.hpx-mobile.open{max-height:80vh;overflow:auto}
.hpx-mobile a{display:block;padding:15px 6vw;font-size:15px;color:var(--hpx-ink);text-decoration:none;border-bottom:1px solid var(--hpx-light)}
.hpx-mobile .sub{padding-left:9vw;font-size:14px;color:var(--hpx-dark);background:var(--hpx-light)}
@media(max-width:1020px){
 .hpx-nav{display:none}.hpx-cta{display:none}.hpx-burger{display:flex}
 .hpx-mobile{display:block}
}
a:focus-visible,button:focus-visible{outline:3px solid var(--hpx-teal);outline-offset:3px;border-radius:4px}
@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* Page effects */
.hpx-hero{position:relative;overflow:hidden}
.hpx-hero:before{content:"";position:absolute;inset:-18%;z-index:0;background:
 radial-gradient(40% 36% at 80% 16%,rgba(210,105,60,.30),transparent 62%),
 radial-gradient(48% 42% at 10% 84%,rgba(101,163,169,.35),transparent 66%),
 radial-gradient(60% 55% at 50% 50%,rgba(29,66,71,.55),transparent 78%);
 filter:blur(32px);animation:hpxAurora 18s ease-in-out infinite alternate}
@keyframes hpxAurora{from{transform:translate3d(-2%,-1%,0) scale(1)}to{transform:translate3d(2%,2%,0) scale(1.08)}}
.hpx-hero .et_pb_row{position:relative;z-index:2}
.hpx-hero .et_pb_slider{background:transparent}
.hpx-hero .et_pb_slide{background:transparent!important;padding:0}
.hpx-hero .et_pb_slide_description{max-width:760px;margin:0 auto;text-align:center}
.hpx-hero .et_pb_slide_description .et_pb_slide_title{font-family:Montserrat,sans-serif!important;font-weight:800;font-size:clamp(34px,5.4vw,62px)!important;line-height:1.08!important;color:#EFF5F5!important}
.hpx-hero .et_pb_slide_content{font-family:Poppins,sans-serif;font-size:17px;color:#C7DEE1;max-width:600px;margin:14px auto 6px}
.hpx-hero .et-pb-controllers a{width:26px;height:4px;border-radius:4px;background:rgba(239,245,245,.35)}
.hpx-hero .et-pb-controllers .et-pb-active-control{background:#D2693C}
.hpx-hero .et-pb-arrow-prev,.hpx-hero .et-pb-arrow-next{color:#EFF5F5;opacity:.65}
.hpx-orb{position:absolute;border-radius:50%;background:radial-gradient(circle at 32% 30%,rgba(239,245,245,.85),rgba(239,245,245,.05) 65%);opacity:.45;z-index:1;animation:hpxFloat 10s ease-in-out infinite}
@keyframes hpxFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-24px)}}
/* marquee */
.hpx-marquee{overflow:hidden;white-space:nowrap}
.hpx-marquee p{display:inline-block;white-space:nowrap;animation:hpxMarq 24s linear infinite;margin:0;font-family:Montserrat,sans-serif;font-weight:800;font-size:clamp(22px,3.4vw,38px);color:#16395B;letter-spacing:1px}
.hpx-marquee p em{color:#D2693C;font-style:normal}
@keyframes hpxMarq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
/* cards */
.hpx-card{transition:transform .4s cubic-bezier(.22,.9,.3,1.2),box-shadow .4s ease}
.hpx-card:hover{transform:translateY(-8px);box-shadow:0 34px 64px -24px rgba(29,66,71,.4)!important}
.hpx-ico{width:60px;height:60px;border-radius:16px;background:linear-gradient(135deg,rgba(101,163,169,.18),rgba(210,105,60,.16));display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.hpx-ico p{font-size:26px;margin:0}
/* split parallax blob */
.hpx-blob{position:relative;overflow:hidden}
.hpx-blob:before{content:"";position:absolute;width:480px;height:480px;right:-140px;top:6%;background:radial-gradient(circle,rgba(101,163,169,.18),transparent 70%);border-radius:44% 56% 60% 40%/52% 40% 60% 48%;animation:hpxMorph 15s ease-in-out infinite alternate;z-index:0}
@keyframes hpxMorph{from{transform:rotate(0) scale(1)}to{transform:rotate(14deg) scale(1.1)}}
.hpx-blob .et_pb_row{position:relative;z-index:1}
/* tabs */
.hpx-tabs .et_pb_tabs_controls{background:transparent;border:0;display:flex;justify-content:center;gap:10px}
.hpx-tabs .et_pb_tabs_controls li{background:#EFF5F5;border:1px solid #C7DEE1;border-radius:50px;overflow:hidden}
.hpx-tabs .et_pb_tabs_controls a{font-family:Montserrat,sans-serif;font-weight:700;font-size:13px;letter-spacing:1px;text-transform:uppercase;color:#16395B;padding:12px 26px}
.hpx-tabs .et_pb_tabs_controls li.et_pb_tab_active{background:#16395B;border-color:#16395B}
.hpx-tabs .et_pb_tabs_controls li.et_pb_tab_active a{color:#EFF5F5}
.hpx-tabs.et_pb_tabs{border:0;background:transparent}
.hpx-tabs .et_pb_all_tabs{background:transparent;padding-top:26px}
/* gallery tiles */
.hpx-tile{position:relative;overflow:hidden}
.hpx-tile .hpx-cap{position:absolute;inset:auto 0 0 0;background:linear-gradient(180deg,transparent,rgba(22,57,91,.85));color:#EFF5F5;font-family:Montserrat,sans-serif;font-weight:700;font-size:13px;letter-spacing:1.6px;text-transform:uppercase;padding:40px 16px 14px;transform:translateY(14px);opacity:0;transition:transform .35s ease,opacity .35s ease}
.hpx-tile:hover .hpx-cap{transform:none;opacity:1}
.hpx-tile{transition:transform .45s cubic-bezier(.22,.9,.3,1.2)}
.hpx-tile:hover{transform:scale(1.035)}
/* faq */
.hpx-faq .et_pb_toggle{background:#fff;border:1px solid #C7DEE1;border-radius:14px;margin-bottom:14px;padding:22px 26px;transition:box-shadow .3s ease,border-color .3s ease}
.hpx-faq .et_pb_toggle_open,.hpx-faq .et_pb_toggle:hover{border-color:#65A3A9;box-shadow:0 18px 40px -22px rgba(29,66,71,.3)}
.hpx-faq .et_pb_toggle_title{font-family:Montserrat,sans-serif!important;font-weight:700!important;font-size:16.5px!important;color:#16395B!important}
.hpx-faq .et_pb_toggle_content{font-family:Poppins,sans-serif;font-size:15px;color:#232526;padding-top:10px}
/* quotes */
.hpx-quote{position:relative}
.hpx-quote:before{content:"\201C";position:absolute;top:-8px;left:18px;font-family:Montserrat,sans-serif;font-weight:800;font-size:64px;line-height:1;color:rgba(210,105,60,.3)}
/* cta */
.hpx-cta-band{background:linear-gradient(115deg,#16395B,#1D4247,#3B7C81,#16395B);background-size:300% 300%!important;animation:hpxGrad 15s ease infinite}
@keyframes hpxGrad{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
/* buttons + reveal */
.hpx-btn .et_pb_button{transition:transform .25s ease,box-shadow .25s ease!important}
.hpx-btn .et_pb_button:hover{transform:translateY(-3px);box-shadow:0 16px 30px -12px rgba(210,105,60,.55)}
.hpx-link .et_pb_button:after{content:"→";display:inline-block;margin-left:8px;transition:transform .25s ease}
.hpx-link .et_pb_button:hover:after{transform:translateX(6px)}
.hpx-reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s cubic-bezier(.22,.7,.3,1)}
.hpx-reveal.hpx-in{opacity:1;transform:none}
.hpx-srh1{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media (prefers-reduced-motion: reduce){.hpx-reveal{opacity:1;transform:none}}

/* --- GJ-structure additions --- */
.hpx-cattile{transition:transform .45s cubic-bezier(.22,.9,.3,1.2)}
.hpx-cattile:hover{transform:scale(1.03)}
.hpx-catbar{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(180deg,transparent,rgba(22,57,91,.88));padding:44px 18px 14px;display:flex;align-items:flex-end;justify-content:space-between;gap:10px}
.hpx-catbar h3{margin:0;font-family:Montserrat,sans-serif;font-weight:700;font-size:17px;color:#EFF5F5}
.hpx-catbar a{color:#C7DEE1;font-size:12.5px;font-weight:600;text-decoration:none;white-space:nowrap}
.hpx-catbar a .arr{display:inline-block;transition:transform .25s ease}
.hpx-catbar a:hover .arr{transform:translateX(5px)}
.hpx-catbarwrap .et_pb_text_inner{position:static}
.hpx-pcard{transition:transform .4s cubic-bezier(.22,.9,.3,1.2),box-shadow .4s ease}
.hpx-pcard:hover{transform:translateY(-7px);box-shadow:0 30px 56px -22px rgba(29,66,71,.38)!important}
.hpx-pimg{background:#EFF5F5;border-radius:12px;position:relative}
.hpx-badge{position:absolute;top:10px;left:10px;background:#D2693C;color:#fff;font-family:Montserrat,sans-serif;font-weight:700;font-size:10.5px;letter-spacing:1.4px;text-transform:uppercase;padding:5px 10px;border-radius:50px}
.hpx-ptag{font-size:12.5px;color:#3B7C81;letter-spacing:.6px;margin:0 0 4px}
.hpx-promo{position:relative;overflow:hidden}
.hpx-promobar h3{margin:8px 0 4px;font-family:Montserrat,sans-serif;font-weight:800;font-size:24px;color:#EFF5F5;text-align:center}

/* --- Final-delivery additions --- */
.hpx-pagehero{position:relative;overflow:hidden}
.hpx-pagehero:before{content:"";position:absolute;inset:0;z-index:0}
.hpx-cover--navy:before{background:linear-gradient(135deg,rgba(22,57,91,.88),rgba(29,66,71,.82))}
.hpx-cover--deep:before{background:linear-gradient(135deg,rgba(13,34,56,.9),rgba(29,66,71,.86))}
.hpx-cover--night:before{background:linear-gradient(180deg,rgba(10,34,56,.9),rgba(8,28,46,.92))}
.hpx-cover--teal:before{background:linear-gradient(135deg,rgba(29,66,71,.86),rgba(59,124,129,.78))}
.hpx-cover--warm:before{background:linear-gradient(135deg,rgba(22,57,91,.85),rgba(180,85,46,.72))}
.hpx-pagehero .et_pb_row{position:relative;z-index:2}
.hpx-night{position:relative}
.hpx-glassdark{background:rgba(22,57,91,.42)!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(239,245,245,.16)}
.hpx-stepnum{text-align:center;font-family:Montserrat,sans-serif;font-weight:800;font-size:40px;color:#D2693C;margin:0}
.hpx-check{position:relative;padding-left:30px;margin:0 0 12px}
.hpx-check:before{content:"✓";position:absolute;left:0;top:0;width:20px;height:20px;border-radius:50%;background:rgba(101,163,169,.18);color:#1D4247;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}
.hpx-chip{display:inline-block;background:#fff;border:1px solid #C7DEE1;border-radius:50px;padding:9px 18px;margin:5px;font-size:13.5px;color:#16395B;font-weight:500}
.hpx-frame{transition:transform .5s cubic-bezier(.22,.9,.3,1.2)}
.hpx-frame-a{transform:rotate(-3deg)}.hpx-frame-b{transform:rotate(2deg) translateY(12px)}.hpx-frame-c{transform:rotate(-1.2deg)}
.hpx-frame:hover{transform:rotate(0) scale(1.03)}
.hpx-pimg-fill{display:block;height:130px;border-radius:12px;background-size:cover;background-position:center}
.hpx-promo:before{content:"";position:absolute;inset:0;border-radius:20px;background:linear-gradient(180deg,rgba(13,34,56,.55),rgba(13,34,56,.8));z-index:0}
.hpx-promo>.et_pb_module,.hpx-promo .et_pb_text,.hpx-promo .et_pb_button_module_wrapper{position:relative;z-index:1}
.hpx-formbox{background:#fff;border:1px dashed #A7CACE;border-radius:16px;padding:26px;text-align:center}
.hpx-formbox p{margin:0 0 12px;color:#232526}
.hpx-formbox-btn{display:inline-block;background:#D2693C;color:#fff;text-decoration:none;font-family:Montserrat,sans-serif;font-weight:700;font-size:13px;letter-spacing:1px;padding:13px 26px;border-radius:50px}
.hpx-formbox-admin{margin-top:14px!important;font-size:12.5px;color:#666!important}
.hpx-footstrip{border-bottom:1px solid rgba(167,202,206,.2);margin-bottom:34px}
.hpx-footstrip .et_pb_button_module_wrapper{text-align:right}
@media(max-width:780px){.hpx-footstrip .et_pb_button_module_wrapper{text-align:left}}
.gform_wrapper input[type=text],.gform_wrapper input[type=email],.gform_wrapper textarea{border:1px solid #C7DEE1!important;border-radius:12px!important;padding:13px 16px!important;font-family:Poppins,sans-serif!important}
.gform_wrapper .gform_button{background:#D2693C!important;color:#fff!important;border:0!important;border-radius:50px!important;font-family:Montserrat,sans-serif!important;font-weight:700!important;letter-spacing:1.2px!important;text-transform:uppercase!important;font-size:13px!important;padding:15px 32px!important}

/* --- Logo + chrome reliability --- */
.hpx-logo-img{height:52px;width:auto;display:block}
.hpx-head.is-scrolled .hpx-logo-img{height:42px;transition:height .35s ease}
.hpkit-chrome-header{position:relative;z-index:100000}
/* When the kit prints its own header/footer, hide Divi's default ones */
.hpkit-has-header #main-header,.hpkit-has-header .et-l--header{display:none!important}
.hpkit-has-footer #main-footer,.hpkit-has-footer #footer-bottom,.hpkit-has-footer .et-l--footer{display:none!important}
.hpkit-has-header #page-container{padding-top:0!important}




/* --- Clean hero v3 --- */
.hpx-hero2{position:relative;overflow:hidden}
.hpx-hero2:before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(120deg,rgba(22,57,91,.96) 0%,rgba(22,57,91,.86) 46%,rgba(29,66,71,.66) 100%)}
.hpx-hero2 .et_pb_row{position:relative;z-index:2}
.hpx-hero2 .hpx2-h1 h1{color:#fff!important;letter-spacing:-.3px}
.hpx-hero2 .hpx2-lead,.hpx-hero2 .hpx2-lead p{color:#DCE8EA!important}
.hpx-hero2 .hpx2-eye p{color:#E8B486!important}
.hpx-hero2 .hpx2-trust p{color:#A7CACE!important;margin:0}
.hpx-hero2 .hpx2-btnrow{margin:0!important}
.hpx-hero2 .hpx2-btn .et_pb_button{width:100%;text-align:center;transition:transform .25s ease,box-shadow .25s ease!important}
.hpx-hero2 .hpx2-btn .et_pb_button:hover{transform:translateY(-3px)}
.hpx-hero2 .hpx2-btn-ghost .et_pb_button:hover{background:rgba(255,255,255,.14)!important}
.hpx-hero2 .hpx2-img{box-shadow:0 30px 70px -28px rgba(0,0,0,.55)!important;animation:hpxFloatY 7s ease-in-out infinite}
@keyframes hpxFloatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@media(max-width:980px){.hpx-hero2 .hpx2-media{margin-top:36px}}
/* --- Page heroes --- */
.hpx-phero{position:relative;overflow:hidden}
.hpx-phero:before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(135deg,rgba(22,57,91,.94),rgba(29,66,71,.86))}
.hpx-phero .et_pb_row{position:relative;z-index:2}
.hpx-phero .hpx-phero-h1 h1{color:#fff!important}
.hpx-phero .hpx-phero-lead,.hpx-phero .hpx-phero-lead p{color:#DCE8EA!important}
.hpx-phero .hpx-phero-eye p{color:#E8B486!important}
/* --- Explore category tiles --- */
.hpx-cat{position:relative;overflow:hidden;display:flex!important;align-items:flex-end;transition:transform .4s cubic-bezier(.22,.9,.3,1.2)}
.hpx-cat:before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,rgba(22,57,91,0) 30%,rgba(22,57,91,.82) 100%);transition:background .35s ease}
.hpx-cat:hover{transform:translateY(-6px)}
.hpx-cat:hover:before{background:linear-gradient(180deg,rgba(22,57,91,.2) 10%,rgba(22,57,91,.9) 100%)}
.hpx-cat .hpx-cat-label{position:relative;z-index:1;width:100%;padding:0 22px 22px}
.hpx-cat .hpx-cat-label .et_pb_text_inner{display:flex;flex-direction:column;gap:4px}
.hpx-cat-t{font-family:Montserrat,sans-serif;font-weight:700;font-size:20px;color:#fff;line-height:1.2}
.hpx-cat-more{font-family:Poppins,sans-serif;font-size:13px;font-weight:600;color:#E8B486;transition:letter-spacing .25s ease}
.hpx-cat:hover .hpx-cat-more{letter-spacing:.6px}
/* section eyebrows/headers shared */
.hpx-sec-eye p{margin:0}

/* --- Hero button row hard-fix --- */
.hpx-hero2 .hpx2-btnrow{display:flex!important;flex-wrap:nowrap!important;gap:14px;max-width:470px;width:100%}
.hpx-hero2 .hpx2-btnrow>.et_pb_column{width:auto!important;margin:0!important;flex:0 0 auto}
.hpx-hero2 .hpx2-btn .et_pb_button{white-space:nowrap}
@media(max-width:560px){.hpx-hero2 .hpx2-btnrow{flex-wrap:wrap!important}}

/* --- Single post + insights + article cards --- */
.hpx-post-hero{position:relative;min-height:420px;display:flex;align-items:flex-end;background-size:cover;background-position:center;border-radius:0 0 28px 28px;overflow:hidden;margin-bottom:44px}
.hpx-post-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(22,57,91,.15),rgba(22,57,91,.9))}
.hpx-post-hero-in{position:relative;z-index:1;max-width:820px;margin:0 auto;width:92%;padding:0 0 40px}
.hpx-post-cat a{color:#E8B486;text-decoration:none;font-family:Poppins,sans-serif;font-weight:600;font-size:12px;letter-spacing:2px;text-transform:uppercase}
.hpx-post-title{font-family:Montserrat,sans-serif;font-weight:800;font-size:44px;line-height:1.12;color:#fff;margin:12px 0 8px}
.hpx-post-meta{color:#C7DEE1;font-size:14px}
.hpx-post-body{max-width:720px;margin:0 auto;width:92%;font-family:Poppins,sans-serif;font-size:18px;line-height:1.85;color:#2b3a3d}
.hpx-post-body h2{font-family:Montserrat,sans-serif;font-weight:700;font-size:26px;color:#16395B;margin:34px 0 12px}
.hpx-post-body p{margin:0 0 20px}
.hpx-post-cta{max-width:720px;margin:44px auto;width:92%;background:linear-gradient(135deg,#16395B,#1D4247);border-radius:20px;padding:38px 34px;text-align:center;color:#EFF5F5}
.hpx-post-cta h3{font-family:Montserrat,sans-serif;font-weight:800;font-size:24px;color:#fff;margin:0 0 8px}
.hpx-post-cta p{margin:0 0 18px;color:#C7DEE1}
.hpx-post-cta-btn{display:inline-block;background:#D2693C;color:#fff;text-decoration:none;font-family:Montserrat,sans-serif;font-weight:700;font-size:13px;letter-spacing:1px;text-transform:uppercase;padding:15px 30px;border-radius:50px}
.hpx-related,.hpx-insights{background:#EFF5F5;padding:70px 4vw}
.hpx-related-in,.hpx-insights-in{max-width:1180px;margin:0 auto}
.hpx-related-in h2,.hpx-insights-head h2{font-family:Montserrat,sans-serif;font-weight:800;font-size:32px;color:#16395B;text-align:center;margin:0 0 30px}
.hpx-insights-head{text-align:center;margin-bottom:30px}
.hpx-insights-ey{font-family:Poppins,sans-serif;font-weight:600;font-size:12px;letter-spacing:3px;color:#D2693C}
.hpx-insights-head h2{margin:10px 0 0}
.hpx-related-grid,.hpx-insights-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.hpx-acard{display:flex;flex-direction:column;background:#fff;border:1px solid #e7eef0;border-radius:18px;overflow:hidden;text-decoration:none;transition:transform .3s ease,box-shadow .3s ease}
.hpx-acard:hover{transform:translateY(-6px);box-shadow:0 24px 44px -22px rgba(29,66,71,.4)}
.hpx-acard-img{display:block;height:180px;background-size:cover;background-position:center}
.hpx-acard-body{display:flex;flex-direction:column;padding:20px 22px 24px;flex:1}
.hpx-acard-title{font-family:Montserrat,sans-serif;font-weight:700;font-size:17px;color:#16395B;line-height:1.3;margin-bottom:8px}
.hpx-acard-exc{font-family:Poppins,sans-serif;font-size:13.5px;line-height:1.6;color:#5a6a6e;margin-bottom:14px;flex:1}
.hpx-acard-go{font-family:Poppins,sans-serif;font-weight:700;font-size:12.5px;color:#D2693C}
.hpx-insights-foot{text-align:center;margin-top:30px}
.hpx-insights-foot a{color:#16395B;font-family:Montserrat,sans-serif;font-weight:700;font-size:14px;text-decoration:none;border-bottom:2px solid #D2693C;padding-bottom:3px}
@media(max-width:900px){.hpx-related-grid,.hpx-insights-grid{grid-template-columns:1fr}.hpx-post-title{font-size:32px}}

/* --- Hero v4: carousel + one-row buttons --- */
.hpx-hero2{position:relative;overflow:hidden}
.hpx-hero2:before{content:"";position:absolute;inset:0;z-index:0;background:radial-gradient(60% 80% at 15% 20%,rgba(59,124,129,.18),transparent 60%)}
.hpx-hero2 .et_pb_row{position:relative;z-index:2}
.hpx-hero2 .hpx2-h1 h1{color:#fff!important;letter-spacing:-.3px}
.hpx-hero2 .hpx2-lead,.hpx-hero2 .hpx2-lead p{color:#DCE8EA!important}
.hpx-hero2 .hpx2-eye p{color:#E8B486!important}
.hpx-hero2 .hpx2-trust p{color:#A7CACE!important;margin:0}
.hpx-hero2 .hpx2-btnwrap{margin:0!important}
.hpx2-btns{display:flex;flex-wrap:nowrap;gap:14px}
.hpx2-b{display:inline-flex;align-items:center;justify-content:center;font-family:Montserrat,sans-serif;font-weight:700;font-size:14px;letter-spacing:1px;text-transform:uppercase;text-decoration:none;border-radius:50px;padding:16px 30px;white-space:nowrap;transition:transform .25s ease,box-shadow .25s ease,background .25s ease}
.hpx2-b-solid{background:#D2693C;color:#fff;box-shadow:0 14px 30px -12px rgba(210,105,60,.7)}
.hpx2-b-solid:hover{transform:translateY(-3px);box-shadow:0 20px 40px -12px rgba(210,105,60,.85)}
.hpx2-b-ghost{background:rgba(255,255,255,.06);color:#fff;border:2px solid rgba(255,255,255,.5)}
.hpx2-b-ghost:hover{transform:translateY(-3px);background:rgba(255,255,255,.14)}
@media(max-width:560px){.hpx2-btns{flex-wrap:wrap}.hpx2-b{width:100%}}
.hpx2-media{position:relative}
.hpx-carousel{position:relative;width:100%;height:440px;border-radius:22px;overflow:hidden;box-shadow:0 34px 74px -28px rgba(0,0,0,.6)}
.hpx-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transform:scale(1.06);transition:opacity 1.1s ease,transform 5s ease}
.hpx-slide.is-active{opacity:1;transform:scale(1)}
.hpx-dots{position:absolute;left:0;right:0;bottom:16px;display:flex;justify-content:center;gap:8px;z-index:3}
.hpx-dots button{width:9px;height:9px;padding:0;border:0;border-radius:50px;background:rgba(255,255,255,.5);cursor:pointer;transition:width .3s ease,background .3s ease}
.hpx-dots button.is-active{width:26px;background:#fff}
.hpx-cbadge{position:absolute;left:-24px;bottom:26px;z-index:4;display:flex;align-items:center;gap:15px;background:rgba(255,255,255,.96);border-radius:16px;padding:16px 22px;box-shadow:0 20px 44px -16px rgba(0,0,0,.5)}
.hpx-cbadge-ic{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#D2693C,#e07d4a);color:#fff;display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0;padding:2px}
.hpx-cbadge strong{display:block;font-family:Montserrat,sans-serif;font-weight:700;font-size:13.5px;color:#16395B;line-height:1.2}
.hpx-cbadge em{font-style:normal;font-size:11.5px;color:#5a6a6e}
@media(max-width:980px){.hpx2-media{margin-top:34px}.hpx-carousel{height:340px}.hpx-cbadge{left:10px}}

/* --- Footer button styles fix --- */
.hpx-footstrip .et_pb_button,
.et-l--footer .et_pb_button,
.hpkit-chrome-footer .et_pb_button{background:#D2693C!important;color:#fff!important;border:0!important;border-radius:50px!important;font-family:Montserrat,sans-serif!important;font-weight:700!important;font-size:12.5px!important;letter-spacing:1px!important;text-transform:uppercase!important;padding:14px 28px!important;transition:transform .25s ease,box-shadow .25s ease!important}
.hpx-footstrip .et_pb_button:hover,
.hpkit-chrome-footer .et_pb_button:hover{transform:translateY(-2px);box-shadow:0 14px 28px -10px rgba(210,105,60,.7)!important}
.hpkit-chrome-footer .et_pb_button:after,.hpx-footstrip .et_pb_button:after{display:none!important}

/* --- Distinct page heroes --- */
.hpx-phero{position:relative;overflow:hidden}
.hpx-phero .et_pb_row{position:relative;z-index:2}
/* split-light (in-home): light bg, dark text, no overlay */
.hpx-phero-split-light{background:#EFF5F5!important}
.hpx-phero-split-light:before{display:none}
.hpx-phero-split-light .phero-h1 h1{color:#16395B!important}
.hpx-phero-split-light .phero-lead,.hpx-phero-split-light .phero-lead p{color:#3a4a4d!important}
.phero-splitcopy{display:flex;flex-direction:column;justify-content:center}
.phero-splitimg{box-shadow:0 30px 64px -26px rgba(29,66,71,.5)!important}
/* centered teal (nutrition) */
.hpx-cover-teal:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(135deg,rgba(29,66,71,.9),rgba(59,124,129,.78))}
/* night (readings) */
.hpx-phero-night:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(10,34,56,.82),rgba(8,28,46,.9))}
/* split-warm (portraits) */
.hpx-phero-split-warm:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(120deg,rgba(29,66,71,.86),rgba(180,85,46,.6))}
.hpx-phero-split-warm .phero-h1 h1,.hpx-phero-split-warm .phero-lead p{color:#fff!important}
/* centered navy (about) */
.hpx-cover-navy:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(135deg,rgba(22,57,91,.92),rgba(29,66,71,.85))}
.phero-statwrap .phero-stats{display:flex;justify-content:center;gap:44px;flex-wrap:wrap}
.phero-stats>div{text-align:center}
.phero-stats strong{display:block;font-family:Montserrat,sans-serif;font-weight:800;font-size:22px;color:#E8B486}
.phero-stats span{font-family:Poppins,sans-serif;font-size:13px;color:#C7DEE1}
/* split-card (contact) */
.hpx-phero-split-card:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(120deg,rgba(22,57,91,.93),rgba(29,66,71,.8))}
.phero-ccard{background:rgba(255,255,255,.97);border-radius:20px;padding:28px 26px;box-shadow:0 30px 64px -26px rgba(0,0,0,.5)}
.phero-ccard a{display:block;text-decoration:none;padding:14px 0;border-bottom:1px solid #e7eef0}
.phero-ccard a:last-of-type{border-bottom:0}
.phero-ccard span{display:block;font-family:Poppins,sans-serif;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:#D2693C;font-weight:600}
.phero-ccard strong{font-family:Montserrat,sans-serif;font-size:17px;color:#16395B}
.phero-ccard-note{margin-top:12px;font-size:12.5px;color:#5a6a6e;font-family:Poppins,sans-serif}
.hpx-phero-centered,.hpx-phero-night,.hpx-phero-split-warm,.hpx-phero-split-card{}
.hpx-phero-centered .phero-h1 h1,.hpx-phero-night .phero-h1 h1{color:#fff!important}
.hpx-phero-centered .phero-lead p,.hpx-phero-night .phero-lead p{color:#DCE8EA!important}
.phero-btn .et_pb_button{box-shadow:0 14px 30px -12px rgba(210,105,60,.6)!important}
@media(max-width:980px){.phero-splitimg{margin-top:30px}.phero-ccardwrap{margin-top:30px}.phero-stats{gap:28px}}

/* --- Footer: pure gradient, no image overlay, consistent on all pages --- */
.hpkit-chrome-footer .et_pb_section,
.et-l--footer .et_pb_section{background-image:none!important;background:linear-gradient(160deg,#16395B 0%,#1D4247 100%)!important}
.hpkit-chrome-footer .et_pb_section:before,
.hpkit-chrome-footer .et_pb_section:after{display:none!important}
/* Hero: ensure no stray background image, gradient only */
.hpx-hero2{background-image:none!important;background:linear-gradient(135deg,#16395B 0%,#1D4247 100%)!important}

/* --- SAFETY NET: force light text on all dark heroes/sections --- */
.hpx-phero .et_pb_text h1,.hpx-phero .et_pb_text h2,.hpx-phero .et_pb_text h3,.hpx-phero .et_pb_text h4,
.hpx-phero .et_pb_text p,.hpx-phero .et_pb_text,
.hpx-hero2 .et_pb_text h1,.hpx-hero2 .et_pb_text h2,.hpx-hero2 .et_pb_text p{color:#EFF5F5!important}
.hpx-phero .phero-eye p,.hpx-hero2 .hpx2-eye p{color:#E8B486!important}
.hpx-phero-split-light .et_pb_text h1,.hpx-phero-split-light .et_pb_text h2{color:#16395B!important}
.hpx-phero-split-light .et_pb_text p{color:#3a4a4d!important}
.hpx-phero-split-light .phero-eye p{color:#D2693C!important}
/* dark content sections (gifting band, two-readings, presence-meets-practice) */
.hpx-night .et_pb_text h1,.hpx-night .et_pb_text h2,.hpx-night .et_pb_text h3,.hpx-night .et_pb_text h4,.hpx-night .et_pb_text p,
.hpx-glassdark .et_pb_text h1,.hpx-glassdark .et_pb_text h2,.hpx-glassdark .et_pb_text h3,.hpx-glassdark .et_pb_text p{color:#EFF5F5!important}
/* any Divi section with a navy/dark inline gradient: lift heading contrast */
.et_pb_section[style*="rgb(22, 57, 91)"] .et_pb_text h1,
.et_pb_section[style*="rgb(22, 57, 91)"] .et_pb_text h2,
.et_pb_section[style*="rgb(22, 57, 91)"] .et_pb_text h3{color:#fff!important}




/* --- FOOTER: absolutely solid navy, kills any inner image (v3) --- */
.hpkit-chrome-footer{
  background-color:#16395B !important;
  background-image:linear-gradient(160deg,#16395B 0%,#1D4247 100%) !important;
  position:relative !important; z-index:5 !important; isolation:isolate !important;
}
/* the inner section carries the stray image on live — force it transparent, every state */
.hpkit-chrome-footer .et_pb_section,
.hpkit-chrome-footer .et_pb_section[style],
.hpkit-chrome-footer .et_pb_section.hpx-footer-solid,
.hpkit-chrome-footer div[class*="et_pb_section"]{
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
}
/* Divi paints bg on a child .et_pb_section_inner / parallax span — nuke those too */
.hpkit-chrome-footer .et_pb_section_inner,
.hpkit-chrome-footer .et_parallax_bg,
.hpkit-chrome-footer .et_parallax_bg_wrap,
.hpkit-chrome-footer span.et_parallax_bg,
.hpkit-chrome-footer .et_pb_row,
.hpkit-chrome-footer .et_pb_column{
  background:transparent !important;
  background-image:none !important;
}
.hpkit-chrome-footer .et_pb_section:before,
.hpkit-chrome-footer .et_pb_section:after{content:none !important;display:none !important}

/* --- Explore tiles: whole tile clickable feedback --- */
.hpx-cat{cursor:pointer}
.hpx-cat a{position:relative;z-index:3}
/* offerings + all CTAs: consistent orange bubble --- */
.hpx-btn .et_pb_button,.hpx-pcard .et_pb_button{background:#D2693C!important;color:#fff!important;border:0!important;border-radius:50px!important;padding:13px 26px!important;font-family:Montserrat,sans-serif!important;font-weight:700!important;letter-spacing:1px!important;text-transform:uppercase!important;font-size:12.5px!important;transition:transform .25s ease,box-shadow .25s ease!important}
.hpx-btn .et_pb_button:hover,.hpx-pcard .et_pb_button:hover{transform:translateY(-2px);box-shadow:0 12px 24px -10px rgba(210,105,60,.6)!important}
.hpx-btn .et_pb_button:after,.hpx-pcard .et_pb_button:after{display:none!important}
/* footstrip divider: consistent spacing on every page */
.hpx-footstrip{border-bottom:1px solid rgba(167,202,206,.25)!important;margin-bottom:34px!important;padding-bottom:34px!important}

/* --- Explore tile: full clickable label link --- */
.hpx-cat-link{display:block;text-decoration:none;position:relative;z-index:3}
.hpx-cat-link .hpx-cat-t{display:block}
.hpx-cat-link:hover .hpx-cat-more{letter-spacing:.6px}

/* --- split-light hero: NO dark overlay, dark text stays readable --- */
.hpx-phero-split-light:before{display:none!important;background:none!important}
.hpx-phero-split-light{background:#EFF5F5!important}
.hpx-phero-split-light .phero-h1 h1{color:#16395B!important}
.hpx-phero-split-light .phero-lead,.hpx-phero-split-light .phero-lead p{color:#3a4a4d!important}
.hpx-phero-split-light .phero-eye p{color:#D2693C!important}
/* split-light overlay kill */

/* --- 'Who this care is for' item headings: consistent size --- */
.hpx-carefor h3,.hpx-carefor h4,.hpx-carefor .et_pb_text h3,.hpx-carefor .et_pb_blurb .et_pb_module_header{font-family:Montserrat,sans-serif!important;font-weight:700!important;font-size:18px!important}

/* --- Promo tiles (section 08): readable text over image --- */
.hpx-promo .et_pb_column{position:relative;overflow:hidden;border-radius:18px}
.hpx-promo .et_pb_column:before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,rgba(22,57,91,.25) 0%,rgba(22,57,91,.85) 100%)}
.hpx-promo .et_pb_column>*{position:relative;z-index:1}
.hpx-promo h2,.hpx-promo h3,.hpx-promo h4,.hpx-promo p,
.hpx-promo .et_pb_text h2,.hpx-promo .et_pb_text h3,.hpx-promo .et_pb_text p{color:#FFFFFF!important}
.hpx-promo .et_pb_text a{color:#E8B486!important}
/* promo tiles over-image */


/* --- Left-column padding: contact info + readings 'choose' (match right side) --- */
.hpx-contactinfo .et_pb_column:first-child,
.hpx-tworead .et_pb_column:first-child{padding-left:32px!important;padding-right:32px!important}
.hpx-contactinfo .et_pb_row,
.hpx-tworead .et_pb_row{padding-left:8px;padding-right:8px}
@media(max-width:980px){
  .hpx-contactinfo .et_pb_column:first-child,
  .hpx-tworead .et_pb_column:first-child{padding-left:22px!important;padding-right:22px!important}
}

/* --- archive footer spacing: shop/journal match normal pages --- */
body.archive .hpx-insights,body.blog .hpx-insights,body.search .hpx-insights{margin-top:0!important}
body.archive .hpkit-chrome-footer,body.blog .hpkit-chrome-footer{margin-top:0!important}
/* ensure the footer section top padding is identical regardless of template */
.hpkit-chrome-footer .et_pb_section{padding-top:80px!important}

/* --- split-light hero HARD fix: light bg, dark readable text --- */
.hpx-phero-split-light.et_pb_section,
.hpx-phero-split-light{
  background-color:#EFF5F5 !important;
  background-image:none !important;
}
.hpx-phero-split-light:before{display:none !important}
.hpx-phero-split-light .phero-h1 h1{color:#16395B !important}
.hpx-phero-split-light .phero-lead p,.hpx-phero-split-light .phero-lead{color:#3a4a4d !important}
.hpx-phero-split-light .phero-eye p{color:#D2693C !important}
/* split-light HARD fix */

/* --- 'Who this care is for' cards: dark headings on white cards --- */
.hpx-carefor .et_pb_column h3,.hpx-carefor .et_pb_column h4,
.hpx-carefor .et_pb_blurb .et_pb_module_header,
.hpx-carefor .et_pb_text h3,.hpx-carefor .et_pb_text h4{color:#16395B !important}
/* carefor cards dark */


/* --- footer 4-col row: equal widths on EVERY template (incl shop/journal) --- */
.hpkit-chrome-footer .et_pb_row{
  display:flex !important;
  flex-wrap:nowrap !important;
  align-items:flex-start;
  gap:30px;
  max-width:1180px;
  margin:0 auto;
}
.hpkit-chrome-footer .et_pb_row .et_pb_column{
  flex:1 1 0 !important;
  width:auto !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 8px !important;
  overflow:visible !important;
}
/* the top newsletter row is 2-col (1_2,1_2) — keep it flexing but allow its own ratio */
.hpkit-chrome-footer .et_pb_row:first-child .et_pb_column:first-child{flex:2 1 0 !important}
.hpkit-chrome-footer .et_pb_row:first-child .et_pb_column:last-child{flex:1 1 0 !important;text-align:right}
/* footer headings never touch */
.hpkit-chrome-footer h3,.hpkit-chrome-footer h4,.hpkit-chrome-footer .et_pb_text strong{margin-bottom:14px;display:block}
/* responsive: stack on mobile */
@media(max-width:820px){
  .hpkit-chrome-footer .et_pb_row{flex-wrap:wrap !important}
  .hpkit-chrome-footer .et_pb_row .et_pb_column{flex:1 1 45% !important}
  /* newsletter row: stack full-width so the button gets room (must beat the
     desktop :first-child/:last-child rules at specificity 0,4,0) */
  .hpkit-chrome-footer .et_pb_row:first-child .et_pb_column:first-child,
  .hpkit-chrome-footer .et_pb_row:first-child .et_pb_column:last-child{
    flex:1 1 100% !important;
    text-align:left !important;
  }
}
@media(max-width:520px){
  .hpkit-chrome-footer .et_pb_row .et_pb_column,
  .hpkit-chrome-footer .et_pb_row:first-child .et_pb_column:first-child,
  .hpkit-chrome-footer .et_pb_row:first-child .et_pb_column:last-child{flex:1 1 100% !important;text-align:left !important}
}

/* --- Contact enquiry card: padding on all sides + breathing room --- */
.hpx-contactinfo .et_pb_column:first-child{
  padding:40px !important;
  border-radius:18px;
}
/* the section itself: a little margin so cards don't hug the row edges */
.hpx-contactinfo .et_pb_row{padding:12px !important}
/* enquiry card padding */

/* --- matching card sections: equal height + padding on paired cards --- */
/* readings 'Choose your reading' cards */
.hpx-tworead .et_pb_row{display:flex!important;align-items:stretch!important;flex-wrap:wrap}
.hpx-tworead > .et_pb_row > .et_pb_column,.hpx-tworead .et_pb_row .et_pb_column{padding:34px 30px!important;display:flex!important;flex-direction:column}
/* any Divi make_equal row: force true equal height */
.hpkit-chrome-footer ~ *,.et_pb_row.et_pb_equal_columns > .et_pb_column{display:flex;flex-direction:column}
@media(max-width:820px){
  .hpx-tworead .et_pb_column{flex:1 1 100%!important;margin-bottom:20px}
}
/* matching card sections */

/* --- equal-height step cards (How it works / Process) --- */
.hpx-steps .et_pb_row{display:flex!important;flex-wrap:wrap;align-items:stretch!important}
.hpx-steps .et_pb_row > .et_pb_column{display:flex!important;flex-direction:column;margin-bottom:0}
.hpx-steps .et_pb_row > .et_pb_column > .et_pb_module,
.hpx-steps .et_pb_row > .et_pb_column{height:auto}
/* the white card fills the column height so all cards match */
.hpx-steps .et_pb_column{background-clip:padding-box}
@media(max-width:820px){.hpx-steps .et_pb_row > .et_pb_column{flex:1 1 45%!important}}
@media(max-width:520px){.hpx-steps .et_pb_row > .et_pb_column{flex:1 1 100%!important}}
/* equal-height step cards */

/* --- step card fill: white card stretches to full column height --- */
.hpx-steps .et_pb_row > .et_pb_column{align-self:stretch}
.hpx-steps .et_pb_row > .et_pb_column > *{flex:0 0 auto}
/* if card content is a single inner wrapper, let it grow */
.hpx-steps .et_pb_column .et_pb_text:last-child{margin-top:auto}
/* step card fill */

/* --- mobile overflow guard: no horizontal scroll --- */
html,body{max-width:100%;overflow-x:hidden!important}
/* leaked <script>/<style> dumped into body must never take layout width */
body > script,body > style,.et-l--body script,.et-l--body style,
.et_pb_section script,.et_pb_section style{display:none!important}
/* belt: any element can't exceed viewport width */
.hpx-head,.hpx-searchpanel,.hpx-mega,.hpx-mobile{max-width:100vw!important;box-sizing:border-box}
img,video,iframe{max-width:100%;height:auto}
/* mobile overflow guard */

/* --- footer button nowrap: JOIN THE LIST stays one line, comfortable size --- */
.hpkit-chrome-footer .et_pb_button,
.hpkit-chrome-footer a.et_pb_button{
  white-space:nowrap !important;
  display:inline-block !important;
  width:auto !important;
  max-width:100% !important;
  text-align:center !important;
}
@media(max-width:820px){
  .hpkit-chrome-footer .et_pb_button{margin-top:6px}
}

/* --- photoswipe inert: WooCommerce lightbox must never block the page ---
   (its baseline stylesheet can go missing when Divi static/critical CSS is
   cleared; this restores the essential rule so .pswp only shows when open) */
.pswp:not(.pswp--open){display:none !important;pointer-events:none !important;visibility:hidden !important}
.pswp--open{display:block}
