:root{--hx-ink:#153e39;--hx-teal:#105b57;--hx-gold:#ad9778;--hx-paper:#f8f6f2;--hx-border:#e4e6e2}
body.heaxx-hello{margin:0;color:#102f2c;background:#fff;font-family:var(--e-global-typography-text-font-family,Montserrat),sans-serif;font-size:15px;line-height:27px}
/* Match the previous site's baseline; component and Elementor rules keep priority. */
:where(body.heaxx-hello) :is(h1,h2,h3,h4,h5,h6){font-family:inherit;font-weight:400;line-height:1.1;color:#102f2c}
:where(body.heaxx-hello) :is(h1,h2,h3){margin:20px 0 10px}
:where(body.heaxx-hello) :is(h4,h5,h6){margin:10px 0}
:where(body.heaxx-hello) h1{font-size:36px}
:where(body.heaxx-hello) h2{font-size:30px}
:where(body.heaxx-hello) h3{font-size:24px}
:where(body.heaxx-hello) h4{font-size:18px}
:where(body.heaxx-hello) h5{font-size:14px}
:where(body.heaxx-hello) h6{font-size:12px}
:where(body.heaxx-hello) p{margin:0 0 17px}
:where(body.heaxx-hello) :is(button,[type=button],[type=submit],input,select,textarea){font-family:inherit;font-size:inherit;line-height:inherit}
/* Neutralize Hello's pink reset. More specific component states still take priority. */
:where(body.heaxx-hello) :is(button,[type=button],[type=submit]):is(:hover,:focus){background-color:#ae977b;color:#fff}
:where(body.heaxx-hello) .heaxx-tw-button:is(:hover,:focus){background:#ae977b;color:#fff}
:where(body.heaxx-hello) .heaxx-login-card--signed-in h1{font-family:inherit;font-size:36px;font-weight:400;line-height:45px;margin:20px 0 10px}
:where(body.heaxx-hello) .heaxx-login-card--signed-in p{font-size:16px;line-height:29px}
.heaxx-hello a{color:var(--hx-teal)}
.heaxx-hello :focus-visible{outline:2px solid var(--hx-teal);outline-offset:4px}
.hx-skip{position:absolute;left:20px;top:-100px;z-index:99999;padding:12px 24px;background:#fff}
.hx-skip:focus{top:12px}
.hx-header{position:relative;z-index:100;background:#fff;border-bottom:1px solid var(--hx-border)}
.hx-header-inner{max-width:1280px;margin:auto;padding:12px 28px;display:flex;align-items:center;justify-content:space-between;gap:32px;min-height:108px}
.hx-logo{flex:0 0 134px;line-height:1}
.hx-logo img{display:block;width:134px;height:93px;object-fit:contain}
.hx-menu,.hx-menu ul,.hx-footer-menu,.hx-footer-menu ul{list-style:none;margin:0;padding:0}
.hx-menu{display:flex;align-items:center;gap:8px}
.hx-menu li{position:relative}
.hx-menu a{display:block;padding:12px 14px;color:var(--hx-ink);font-size:15px;text-decoration:none;border-radius:8px}
.hx-menu a:hover,.hx-menu .current-menu-item>a{background:var(--hx-paper)}
.hx-menu li.menu-item-has-children>a::after{content:'⌄';margin-left:8px}
.hx-menu ul{display:none;position:absolute;left:0;top:100%;min-width:240px;max-width:340px;background:white;border:1px solid var(--hx-border);border-radius:12px;box-shadow:0 12px 28px #153e3914;padding:8px}
.hx-menu li:hover>ul,.hx-menu li:focus-within>ul{display:block}
.hx-menu ul ul{position:static;border:0;box-shadow:none;margin-left:12px;min-width:0}
.hx-menu-toggle{display:flex;align-items:center;justify-content:center;width:48px;height:48px;flex:none;padding:0;border:1px solid var(--hx-border);border-radius:10px;background:var(--hx-paper);cursor:pointer;color:var(--hx-ink)}
.hx-menu-toggle:hover,.hx-menu-toggle:focus{background:#edf3f0;color:var(--hx-ink)}
.hx-menu-toggle span,.hx-menu-toggle span::before,.hx-menu-toggle span::after{display:block;position:relative;width:24px;height:2px;border-radius:2px;background:currentColor;box-shadow:none}
.hx-menu-toggle span::before,.hx-menu-toggle span::after{content:'';position:absolute;left:0;top:-7px}
.hx-menu-toggle span::after{top:7px}
.hx-menu-toggle[aria-expanded=true] span{background:transparent}
.hx-menu-toggle[aria-expanded=true] span::before{top:0;transform:rotate(45deg)}
.hx-menu-toggle[aria-expanded=true] span::after{top:0;transform:rotate(-45deg)}
.hx-header [hidden]{display:none!important}
.heaxx-hello .site-main{min-height:45vh}
.heaxx-hello .site-main:not([class*="heaxx-"]){max-width:1200px;margin:auto;padding:48px 24px}
.hx-footer{background:var(--hx-ink);color:#fff;margin-top:64px;padding:48px 28px 24px}
.hx-footer-inner{display:flex;justify-content:space-between;gap:48px;max-width:1200px;margin:auto}
.hx-footer-brand{font:48px Georgia,serif;margin:0 0 8px}
.hx-footer p{margin-block:0 12px}.hx-footer a{color:#fff;text-decoration:none}.hx-footer a:hover{text-decoration:underline}
.hx-footer-menu{display:flex;flex-wrap:wrap;gap:20px 32px}.hx-footer-menu ul{padding-top:12px}.hx-footer-menu ul li{margin-bottom:8px}
.hx-footer-bottom{max-width:1200px;margin:32px auto 0;padding-top:20px;border-top:1px solid #ffffff30;font-size:14px}
@media(max-width:1100px){
/* Keep the mobile menu collapsed on the first paint, before the footer script runs. */
html.hx-js .hx-header:not(.is-open) .hx-navigation{display:none}
html.hx-js .hx-header .hx-menu-toggle{display:flex!important}
.hx-header-inner{flex-wrap:wrap;gap:8px;padding:10px 20px;min-height:88px}.hx-logo{flex-basis:105px}.hx-logo img{width:105px;height:73px}
.hx-navigation{flex-basis:100%;width:100%;padding:12px 0 18px;max-height:calc(100dvh - 130px);overflow:auto}
.hx-menu{display:block}.hx-menu a{padding:12px 8px;font-size:17px;white-space:normal;overflow-wrap:anywhere}
.hx-menu ul{display:block;position:static;width:auto;min-width:0;max-width:none;border:0;border-left:2px solid var(--hx-border);border-radius:0;box-shadow:none;margin-left:16px;padding:0 0 0 12px}
.hx-menu li.menu-item-has-children>a::after{content:none}
.hx-footer-inner{flex-direction:column;gap:24px}.hx-footer-menu{flex-direction:column;gap:12px}
.heaxx-hello .site-main:not([class*="heaxx-"]){padding:32px 20px}
}

/* Preserve the existing HeaXX desktop navigation and editorial image menu. */
@media(min-width:1101px){
.hx-header-inner{position:relative;max-width:1200px;min-height:106px;padding:12px 24px;gap:32px}
.hx-logo{flex-basis:114px}.hx-logo img{width:114px;height:79px}
.hx-menu{gap:5px}.hx-menu a{white-space:nowrap;padding:10px 12px;font-size:15px}
.hx-menu>.hx-megamenu{position:static}
.hx-menu>.hx-megamenu>ul{left:50%;transform:translateX(-50%);top:calc(100% - 4px);width:860px;max-width:calc(100vw - 48px);padding:20px 14px;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-radius:8px}
.hx-menu>.hx-megamenu:hover>ul,.hx-menu>.hx-megamenu:focus-within>ul{display:grid}
.hx-menu>.hx-megamenu>ul>li{padding:0 14px;border-right:1px solid var(--hx-border)}
.hx-menu>.hx-megamenu>ul>li:last-child{border-right:0}
.hx-menu>.hx-megamenu>ul>li>a{white-space:normal;padding:6px 0;font-weight:600;font-size:18px;border-radius:0}
.hx-menu>.hx-megamenu>ul>li.menu-item-has-children>a{font-size:15px;font-weight:400}
.hx-menu>.hx-megamenu>ul>li>a::after{content:none}
.hx-menu>.hx-megamenu>ul>li>ul{display:block;position:static;transform:none;border:0;box-shadow:none;padding:0;margin:0;min-width:0}
.hx-menu>.hx-megamenu>ul>li>ul a{white-space:normal;font-size:15px;padding:6px 0 6px 12px;line-height:1.5}
.hx-menu .mega-biomarker>a::before,.hx-menu .mega-deepdives>a::before,.hx-menu .mega-healthhacks>a::before{content:'';display:block;width:100%;height:125px;margin-bottom:20px;border-radius:10px;background:var(--hx-menu-image) center/cover no-repeat}
}
.hx-menu-experts>a::before,.hx-menu-contact>a::before{content:'';display:inline-block;width:16px;height:16px;margin-right:8px;vertical-align:-2px;background:currentColor;mask-position:center;mask-size:contain;mask-repeat:no-repeat}
.hx-menu-experts>a::before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.4'%3E%3Cpath d='m12 3 10 5-10 5L2 8Z M2 12l10 5 10-5 M2 16l10 5 10-5'/%3E%3C/g%3E%3C/svg%3E")}
.hx-menu-contact>a::before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.4'%3E%3Cpath d='M3 10 12 3l9 7v11H3Z M3 10l9 7 9-7 M3 21l7-6 M21 21l-7-6'/%3E%3C/g%3E%3C/svg%3E")}
.hx-menu .hx-menu-login>a{background:var(--hx-paper);border-radius:24px;padding-inline:20px}

/* The parent menu item reaches the dropdown: no dead hover gap. */
@media(min-width:1101px){
.hx-header-inner{width:calc(100% - 48px);max-width:1180px;min-height:109px;padding:21px 0 8px;justify-content:flex-start;gap:35px}
.hx-logo{flex-basis:115px}.hx-logo img{width:115px;height:80px}
.hx-header-inner>.hx-navigation{align-self:stretch;display:flex;align-items:stretch;margin-block:-21px -8px}
.hx-menu{align-items:stretch}
.hx-menu>li{display:flex;align-items:flex-start}
.hx-menu>li>a{margin-top:22px;padding:2px 15px;line-height:32px;border-radius:50px}
.hx-menu .hx-menu-login>a{padding:2px 15px}
.hx-menu{gap:0}
}
/* These components provide their own spacing, just as on the original site. */
.heaxx-hello .site-main:has(>.page-content>:is(.heaxx-login-shell,.heaxx-registration)){max-width:none;padding:0}

/* Elementor owns page widths; never box its full-width page containers. */
body.heaxx-hello.elementor-page .site-main,
body.heaxx-hello.home .site-main,
body.heaxx-hello .site-main:has(.hx-provider){max-width:none;width:100%;padding:0;margin:0}

/* Homepage topic tiles: equal icon columns and readable wrapping. */
body.home .elementor-element-0cb78d2>.e-con-inner{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px!important}
body.home .elementor-element-0cb78d2>.e-con-inner>.e-con{width:100%!important;min-width:0;min-height:112px;display:flex;flex-direction:row;align-items:center;gap:16px;padding:18px!important}
body.home .elementor-element-0cb78d2>.e-con-inner>.e-con>.e-con-inner{display:flex;flex-direction:row;align-items:center;gap:16px;padding:0;width:100%}
body.home .elementor-element-0cb78d2 .elementor-widget-icon{width:44px!important;flex:0 0 44px;margin:0!important}
body.home .elementor-element-0cb78d2 .elementor-icon{font-size:44px!important}
body.home .elementor-element-0cb78d2 .elementor-widget-text-editor{flex:1;min-width:0;width:auto!important;margin:0!important;text-align:left}
body.home .elementor-element-0cb78d2 .elementor-widget-text-editor p{font-size:clamp(18px,1.35vw,22px)!important;line-height:1.35!important;margin:0!important;overflow-wrap:anywhere;hyphens:auto}
@media(max-width:1100px){body.home .elementor-element-0cb78d2>.e-con-inner{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.home .elementor-element-0cb78d2>.e-con-inner{grid-template-columns:1fr;gap:12px!important}body.home .elementor-element-0cb78d2>.e-con-inner>.e-con{min-height:88px}}
/* Shared editorial discovery buttons: white labels and arrows. */
.elementor .elementor-element:is(.elementor-element-d76ed32,.elementor-element-00b3540,.elementor-element-259c6af) .elementor-button,
.elementor .elementor-element:is(.elementor-element-d76ed32,.elementor-element-00b3540,.elementor-element-259c6af) .elementor-button *{color:#fff!important;fill:#fff!important}
/* Contact: restrained two-column editorial layout, accessible native form. */
.hx-contact-page{background:#f7f5f0;color:#153e39;padding:clamp(36px,5vw,80px) 24px}
.hx-contact-layout{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:0.9fr 1.1fr;gap:clamp(32px,6vw,96px);align-items:start}
.hx-contact-page .hx-contact-eyebrow{font-size:12px;line-height:1.5;letter-spacing:.15em;font-weight:700;color:#806e53;margin:0 0 22px}
.hx-contact-page h1{font-family:Georgia,serif;font-size:clamp(38px,4vw,60px);line-height:1.12;font-weight:400;color:#153e39;margin:0 0 28px;letter-spacing:-.025em}
.hx-contact-page h1 em{font-weight:400;color:#897454}
.hx-contact-page .hx-contact-lead{font-size:20px;line-height:1.7;max-width:460px}
.hx-contact-topics{margin:40px 0 32px;border-top:1px solid #d9d5c9;padding-top:24px}
.hx-contact-topics span{font-size:17px;font-weight:700}.hx-contact-topics p{font-size:17px;line-height:1.6;margin:6px 0 24px;color:#52625c}
.hx-contact-login{font-size:16px;font-weight:600;color:#153e39!important;text-underline-offset:5px}
.hx-contact-form{background:#fff;padding:clamp(24px,3vw,44px);min-width:0}
.hx-contact-form h2{font:400 clamp(30px,3vw,40px)/1.2 Georgia,serif;color:#153e39;margin:0 0 12px}
.hx-contact-form>p:not(.hx-contact-eyebrow){font-size:15px;color:#62706b;line-height:1.6;margin:0 0 28px}
.hx-contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:22px 18px}
.hx-contact-fields>p{margin:0;min-width:0}.hx-contact-fields>p:has(.hx-contact-wide){grid-column:1/-1}
.hx-contact-fields .hx-contact-wide{grid-column:1/-1}.hx-contact-fields label{display:block;font-size:16px;line-height:1.5;font-weight:600;color:#153e39;min-width:0}
.hx-contact-fields .wpcf7-form-control-wrap{display:block;margin-top:9px}
.hx-contact-fields input,.hx-contact-fields select,.hx-contact-fields textarea{display:block;box-sizing:border-box;width:100%;max-width:100%;border:1px solid #cdd7d1;border-radius:4px;background:#fff;color:#203f36;padding:13px 14px;font-family:inherit;font-weight:400;font-size:17px;line-height:1.5;min-height:50px;box-shadow:none}
.hx-contact-fields textarea{resize:vertical;min-height:150px;font-size:17px;line-height:1.6}
.hx-contact-fields input,.hx-contact-fields select{font-size:17px;line-height:1.5}
.hx-contact-fields :is(input,select,textarea):focus{outline:2px solid #ad9778;outline-offset:2px;border-color:#153e39}
.hx-contact-page .hx-contact-privacy{font-size:14px;line-height:1.65;color:#62706b;margin:22px 0}.hx-contact-privacy a{color:#153e39;text-decoration:underline;text-underline-offset:3px}
.hx-contact-form .wpcf7-submit{display:block;width:100%;border:0;border-radius:4px;background:#153e39!important;color:white!important;padding:16px 20px;font-size:18px;font-weight:600;line-height:1.5;cursor:pointer}
.hx-contact-form .wpcf7-submit:hover{background:#28574e!important}.hx-contact-form .wpcf7-submit:focus-visible{outline:3px solid #ad9778;outline-offset:3px}
.hx-contact-form .wpcf7-not-valid-tip{font-size:14px;margin-top:5px}.hx-contact-form .wpcf7-response-output{font-size:16px;line-height:1.5;margin:20px 0 0;padding:16px}
@media(max-width:800px){.hx-contact-layout{grid-template-columns:1fr;gap:32px}.hx-contact-topics{display:none}.hx-contact-page .hx-contact-lead{max-width:none}.hx-contact-form{padding:24px}}
@media(max-width:480px){.hx-contact-page{padding:32px 16px}.hx-contact-fields{grid-template-columns:1fr}.hx-contact-form{padding:24px 18px}.hx-contact-page h1{font-size:38px}}

/* Tile columns follow their Elementor content width, not the screen width. */
body.home .elementor-element-0cb78d2>.e-con-inner{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))!important}
.hx-submenu-toggle{display:none}
@media(max-width:1100px){
 .hx-header-inner,.hx-navigation,.hx-navigation *{box-sizing:border-box}
 .hx-navigation{min-width:0;max-width:100%;overflow-x:hidden}
 .hx-navigation .hx-menu li{position:relative;min-width:0;max-width:100%}
 .hx-navigation .hx-menu li>a{padding-right:58px!important;min-height:56px}
 .hx-navigation .hx-submenu-toggle:not([hidden]){display:grid;place-items:center;position:absolute;right:0;top:6px;width:44px;height:44px;min-width:44px;padding:0!important;margin:0;border:0;background:#f5f2ec;color:#153e39;line-height:1;border-radius:6px;transform:none}
 .hx-navigation .hx-submenu-toggle::after{content:'';display:block;width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg)}
 .hx-navigation .hx-submenu-toggle[aria-expanded=true]::after{transform:translateY(2px) rotate(225deg)}
 .hx-navigation .sub-menu[hidden]{display:none!important}
 .hx-navigation .hx-submenu-open>.sub-menu:not([hidden]){display:block!important;position:static!important;opacity:1!important;visibility:visible!important;width:auto!important;min-width:0!important;max-width:100%!important;transform:none!important;margin:0 0 0 12px!important;padding:4px 0 4px 12px!important}
}
