/* Elite HR Partners design system v2 - GrowTraffic.
   Colours and fonts come from Elementor > Site Settings (Global Colors / Global Fonts), so they can be changed
   in Elementor without touching code. This file only adds layout and component styling.
   Brings back the strongest elements of the original site: photo hero with white fade, illustration set,
   line-icon cards on soft tints, overlapping image band and teal display headings. */

@font-face { font-family: "EHR Poppins"; font-style: normal; font-weight: 400; font-display: swap; src: url(fonts/poppins-400.woff2) format("woff2"); }
@font-face { font-family: "EHR Poppins"; font-style: normal; font-weight: 500; font-display: swap; src: url(fonts/poppins-500.woff2) format("woff2"); }
@font-face { font-family: "EHR Poppins"; font-style: normal; font-weight: 600; font-display: swap; src: url(fonts/poppins-600.woff2) format("woff2"); }
@font-face { font-family: "EHR Poppins"; font-style: normal; font-weight: 700; font-display: swap; src: url(fonts/poppins-700.woff2) format("woff2"); }
@font-face { font-family: "EHR Roboto"; font-style: normal; font-weight: 100 900; font-display: swap; src: url(fonts/roboto-var.woff2) format("woff2"); }

:root {
	--ehr-teal-ink: var(--e-global-color-primary, #00796B);   /* AA teal: buttons, links, H2 */
	--ehr-navy: var(--e-global-color-secondary, #142A38);     /* logo navy: H1, H3, dark bands */
	--ehr-ink: var(--e-global-color-text, #33424C);           /* body text */
	--ehr-teal: var(--e-global-color-accent, #00A991);        /* brand teal: accents, icons, shapes */
	--ehr-teal-ink-hover: #00655A;
	--ehr-muted: #56666F;
	--ehr-line: #D9E3E1;
	--ehr-tint: #ECF7F4;
	--ehr-sky: #EAF4F8;        /* the original site's pale card tint */
	--ehr-sand: #F7F4EE;
	--ehr-radius: 16px;
	--ehr-radius-sm: 10px;
	--ehr-shadow: 0 1px 2px rgba(20, 42, 56, .06), 0 10px 28px rgba(20, 42, 56, .08);
	--ehr-font-head: var(--e-global-typography-primary-font-family, "EHR Poppins"), "EHR Poppins", system-ui, -apple-system, "Segoe UI", sans-serif;
	--ehr-font-body: var(--e-global-typography-text-font-family, "EHR Roboto"), "EHR Roboto", system-ui, -apple-system, "Segoe UI", sans-serif;
	--ehr-sec-pad: clamp(56px, 7vw, 100px);
}

/* ---------- Base typography ---------- */
body.ehr-page { color: var(--ehr-ink); font-family: var(--ehr-font-body); }
body.ehr-page .elementor-widget-text-editor,
body.ehr-page .elementor-widget-text-editor p,
body.ehr-page .elementor-widget-text-editor li { font-family: var(--ehr-font-body); font-size: 1.0625rem; line-height: 1.75; color: var(--ehr-ink); }
body.ehr-page .elementor-widget-text-editor p { margin: 0 0 1em; }
body.ehr-page .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
body.ehr-page .elementor-widget-text-editor a { color: var(--ehr-teal-ink); text-decoration: underline; text-underline-offset: 3px; }
body.ehr-page .elementor-widget-text-editor strong { color: var(--ehr-navy); font-weight: 600; }

body.ehr-page .elementor-heading-title { font-family: var(--ehr-font-head); letter-spacing: -0.01em; }
body.ehr-page h1.elementor-heading-title { font-size: clamp(2.4rem, 5.2vw, 4rem); line-height: 1.05; font-weight: 700; color: var(--ehr-navy); }
body.ehr-page h2.elementor-heading-title { font-size: clamp(1.75rem, 3.2vw, 2.6rem); line-height: 1.15; font-weight: 700; color: var(--ehr-teal-ink); }
body.ehr-page h3.elementor-heading-title { font-size: clamp(1.15rem, 1.6vw, 1.3rem); line-height: 1.3; font-weight: 600; color: var(--ehr-navy); }
body.ehr-page .ehr-sec--navy .elementor-heading-title,
body.ehr-page .ehr-band .elementor-heading-title { color: #fff; }

.ehr-eyebrow .elementor-heading-title { font-family: var(--ehr-font-head) !important; font-size: .8125rem !important; font-weight: 700 !important; letter-spacing: .14em !important; text-transform: uppercase; color: var(--ehr-teal) !important; line-height: 1.4 !important; }
.ehr-hero__tagline .elementor-heading-title { font-family: var(--ehr-font-head) !important; font-size: clamp(1.15rem, 1.9vw, 1.5rem) !important; font-weight: 500 !important; color: var(--ehr-teal-ink) !important; line-height: 1.35 !important; }
.ehr-sec--navy .ehr-hero__tagline .elementor-heading-title, .ehr-sec--navy .ehr-eyebrow .elementor-heading-title { color: #8FE3D3 !important; }
.ehr-lead p, .ehr-lead .elementor-widget-container > p { font-size: clamp(1.125rem, 1.6vw, 1.3rem) !important; line-height: 1.6 !important; }
.ehr-prose { max-width: 70ch; }
.ehr-center-block { max-width: 760px; width: 100%; align-self: center; margin-left: auto !important; margin-right: auto !important; }
.ehr-small p { font-size: .9375rem !important; color: var(--ehr-muted) !important; }
.ehr-note p { font-size: .9375rem !important; color: #C9D6DC !important; }

/* ---------- Sections ---------- */
body.ehr-page .ehr-sec { padding-top: var(--ehr-sec-pad); padding-bottom: var(--ehr-sec-pad); }
body.ehr-page .ehr-sec--tight { padding-top: clamp(36px, 4.5vw, 56px); padding-bottom: clamp(36px, 4.5vw, 56px); }
body.ehr-page .ehr-sec--tight-top { padding-top: 24px; }
.ehr-sec--tint { background-color: var(--ehr-tint); }
.ehr-sec--sand { background-color: var(--ehr-sand); }
.ehr-sec--navy { background-color: var(--ehr-navy); }
.ehr-sec--navy .elementor-widget-text-editor, .ehr-sec--navy .elementor-widget-text-editor p,
.ehr-sec--navy .elementor-widget-text-editor li, .ehr-sec--navy .elementor-widget-text-editor strong { color: #fff !important; }
.ehr-sec--navy .elementor-widget-text-editor a { color: #9FE7DA; }
.ehr-intro { max-width: 780px; gap: 14px; }
.ehr-intro.ehr-center { margin-left: auto; margin-right: auto; text-align: center; }

/* ---------- Hero ---------- */
body.ehr-page .ehr-hero { padding-top: clamp(48px, 7vw, 104px); padding-bottom: clamp(48px, 7vw, 104px); background-color: #fff; }
body.ehr-page .ehr-hero:not(.ehr-hero--photo) { background-image: radial-gradient(900px 420px at 100% 0%, rgba(0, 169, 145, .10), transparent 65%); }
body.ehr-page .ehr-hero--photo { min-height: min(640px, 82vh); display: flex; align-items: center; }
.ehr-hero--photo .ehr-hero__copy { max-width: 640px; }
.ehr-hero__photo img { border-radius: 24px; aspect-ratio: 1 / 1; object-fit: cover; width: 100%; max-width: 440px; box-shadow: var(--ehr-shadow); }
.ehr-founder-caption p { font-size: .9375rem !important; color: var(--ehr-muted) !important; text-align: center; margin-top: 12px !important; }
.ehr-founder-chip { background: rgba(255, 255, 255, .92); border: 1px solid var(--ehr-line); border-radius: 999px; padding: 8px 18px 8px 8px !important; width: auto !important; max-width: max-content; box-shadow: var(--ehr-shadow); margin-top: 6px; }
.ehr-founder-chip p { font-size: .875rem !important; line-height: 1.4 !important; margin: 0 !important; }
.ehr-avatar img { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; }
.ehr-avatar--lg img { width: 120px; height: 120px; }

/* ---------- Illustrations ---------- */
.ehr-ill img { width: 100%; max-width: 480px; height: auto; margin: 0 auto; display: block; }
.ehr-ill-col { justify-content: center; }

/* ---------- Buttons ---------- */
.ehr-btns { gap: 12px 16px; }
.ehr-btn .elementor-button, .ehr-btn--ghost .elementor-button, .ehr-btn--light .elementor-button { font-family: var(--ehr-font-head); font-weight: 600; font-size: 1rem; line-height: 1.2; padding: 15px 26px; border-radius: 10px; transition: background-color .2s ease, color .2s ease, border-color .2s ease; }
.ehr-btn .elementor-button { background-color: var(--ehr-teal-ink); color: #fff; border: 2px solid var(--ehr-teal-ink); }
.ehr-btn .elementor-button:hover { background-color: var(--ehr-teal-ink-hover); border-color: var(--ehr-teal-ink-hover); color: #fff; }
.ehr-btn--ghost .elementor-button { background-color: transparent; color: var(--ehr-navy); border: 2px solid var(--ehr-navy); }
.ehr-btn--ghost .elementor-button:hover { background-color: var(--ehr-navy); color: #fff; }
.ehr-btn--light .elementor-button { background-color: #fff; color: var(--ehr-navy); border: 2px solid #fff; }
.ehr-btn--light .elementor-button:hover { background-color: var(--ehr-tint); border-color: var(--ehr-tint); }
.ehr-link .elementor-button { background: none; padding: 6px 0; color: var(--ehr-teal-ink); font-family: var(--ehr-font-head); font-weight: 600; font-size: 1rem; border-radius: 0; border-bottom: 2px solid currentColor; text-align: left; }
.ehr-link .elementor-button:hover { color: var(--ehr-navy); }
.ehr-link .elementor-button-text::after { content: "\00a0\2192"; }

/* ---------- Signs / problem list ---------- */
.ehr-signs ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: 12px; }
.ehr-signs--single .ehr-signs ul, .ehr-signs--single ul { grid-template-columns: 1fr; }
.ehr-signs li { position: relative; background: #fff; border: 1px solid var(--ehr-line); border-radius: var(--ehr-radius-sm); padding: 16px 18px 16px 52px; margin: 0; line-height: 1.55 !important; }
.ehr-signs li::before { content: ""; position: absolute; left: 18px; top: 19px; width: 20px; height: 20px; border-radius: 50%; background: var(--ehr-tint); box-shadow: inset 0 0 0 6px var(--ehr-teal); }
.ehr-sec--tint .ehr-signs li, .ehr-sec--sand .ehr-signs li { border-color: transparent; }

/* ---------- Icon cards (original-site style) ---------- */
.ehr-cards { gap: 24px; }
.ehr-icard, .ehr-iconbox-card { background: var(--ehr-sky); border-radius: var(--ehr-radius); padding: clamp(26px, 3vw, 38px) !important; gap: 12px; transition: transform .25s ease, box-shadow .25s ease; border: 1px solid rgba(0, 121, 107, .08); }
.ehr-icard:hover, .ehr-iconbox-card:hover { transform: translateY(-4px); box-shadow: var(--ehr-shadow); }
.ehr-icard--plain { background: #fff; }
.ehr-sec--sand .ehr-icard, .ehr-sec--tint .ehr-icard { background: #fff; }
.ehr-icard__icon img { width: 64px; height: 64px; object-fit: contain; filter: invert(31%) sepia(91%) saturate(1200%) hue-rotate(147deg) brightness(88%) contrast(101%); }
body.ehr-page .ehr-icard h3.elementor-heading-title { color: var(--ehr-teal-ink); }
.ehr-icards--six > .e-con { flex-basis: calc(33.333% - 16px) !important; }
.ehr-iconbox .elementor-icon-box-title, .ehr-iconbox .elementor-image-box-title { font-family: var(--ehr-font-head) !important; font-size: 1.2rem !important; font-weight: 600 !important; color: var(--ehr-teal-ink) !important; }
.ehr-iconbox .elementor-icon-box-description, .ehr-iconbox .elementor-image-box-description { font-family: var(--ehr-font-body) !important; font-size: 1rem !important; line-height: 1.7 !important; color: var(--ehr-ink) !important; }
.ehr-iconbox .elementor-icon { color: var(--ehr-teal) !important; fill: var(--ehr-teal) !important; }
.ehr-iconbox .elementor-icon svg { fill: var(--ehr-teal) !important; }

/* Overlapping photo band + cards (as on the original homepage) */
body.ehr-page .ehr-band { padding-top: clamp(64px, 8vw, 110px); padding-bottom: clamp(150px, 16vw, 210px); }
.ehr-band .elementor-widget-text-editor p { color: #fff !important; }
body.ehr-page .ehr-band-cards { padding-top: 0 !important; margin-top: clamp(-170px, -13vw, -110px); position: relative; z-index: 2; padding-bottom: var(--ehr-sec-pad); }
.ehr-band-cards .ehr-icard { background: #fff; box-shadow: var(--ehr-shadow); }

/* ---------- Tiles, steps, timeline ---------- */
.ehr-tiles { gap: 16px; }
.ehr-tile { background: #fff; border-radius: var(--ehr-radius); padding: 26px !important; gap: 8px; border-top: 4px solid var(--ehr-teal); box-shadow: var(--ehr-shadow); }
.ehr-steps { counter-reset: ehrstep; gap: 20px; }
.ehr-step { counter-increment: ehrstep; background: #fff; border-radius: var(--ehr-radius); padding: 28px !important; gap: 10px; border: 1px solid var(--ehr-line); }

.ehr-timeline { counter-reset: ehrtl; width: 100%; position: relative; }
.ehr-timeline__step { counter-increment: ehrtl; position: relative; flex: 1 1 0 !important; padding: 0 18px !important; text-align: center; align-items: center; }
.ehr-timeline__step::after { content: ""; position: absolute; top: 28px; left: calc(50% + 34px); right: calc(-50% + 34px); height: 3px; background: repeating-linear-gradient(90deg, var(--ehr-teal) 0 10px, transparent 10px 18px); }
.ehr-timeline__step:last-child::after { display: none; }
.ehr-timeline__step > .elementor-widget-heading:first-child .elementor-heading-title::before { content: counter(ehrtl); display: flex; align-items: center; justify-content: center; width: 58px; height: 58px; margin: 0 auto 16px; border-radius: 50%; background: var(--ehr-teal-ink); color: #fff; font-size: 1.35rem; font-weight: 700; box-shadow: 0 0 0 8px var(--ehr-tint); }
.ehr-sec--sand .ehr-timeline__step > .elementor-widget-heading:first-child .elementor-heading-title::before { box-shadow: 0 0 0 8px #fff; }
.ehr-timeline__step .elementor-widget-text-editor p { font-size: 1rem !important; }

/* ---------- Accordion (Elementor nested accordion) ---------- */
.ehr-acc { width: 100%; }
.ehr-acc .e-n-accordion { display: flex; flex-direction: column; gap: 10px; }
.ehr-acc .e-n-accordion-item { background: #fff; border: 1px solid var(--ehr-line); border-radius: var(--ehr-radius-sm); overflow: hidden; }
.ehr-acc .e-n-accordion-item-title { padding: 18px 22px !important; border: 0 !important; background: #fff; cursor: pointer; }
.ehr-acc .e-n-accordion-item-title-text { font-family: var(--ehr-font-head) !important; font-size: 1.0625rem !important; font-weight: 600 !important; color: var(--ehr-navy) !important; line-height: 1.4; }
.ehr-acc .e-n-accordion-item-title-icon svg { fill: var(--ehr-teal-ink); width: 16px; height: 16px; }
.ehr-acc .e-n-accordion-item[open] > .e-n-accordion-item-title { background: var(--ehr-tint); }
.ehr-acc .e-n-accordion-item > .e-con { padding: 6px 22px 22px !important; border: 0 !important; }
.ehr-acc--faq { max-width: 860px; margin: 0 auto; text-align: left; }
.ehr-faq-sec .ehr-sec__inner { align-items: center; }

/* ---------- Proof, stats, quotes ---------- */
.ehr-proof { background: #fff; border-radius: var(--ehr-radius); padding: clamp(28px, 4vw, 44px) !important; border-left: 6px solid var(--ehr-teal); box-shadow: var(--ehr-shadow); gap: 14px; }
.ehr-outcomes ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 10px; }
.ehr-outcomes--stack ul { grid-template-columns: 1fr; }
.ehr-outcomes li { position: relative; background: var(--ehr-tint); border-radius: var(--ehr-radius-sm); padding: 12px 16px 12px 44px; font-weight: 500; color: var(--ehr-navy) !important; margin: 0; }
.ehr-outcomes li::before { content: "\2713"; position: absolute; left: 16px; top: 11px; color: var(--ehr-teal-ink); font-weight: 700; }
.ehr-stat { gap: 4px; }
.ehr-stat__value .elementor-heading-title { font-family: var(--ehr-font-head) !important; font-size: clamp(2.6rem, 5vw, 4rem) !important; font-weight: 700 !important; color: var(--ehr-teal) !important; line-height: 1 !important; }
.ehr-stat__label p { font-size: 1rem !important; color: var(--ehr-ink) !important; }
.ehr-pull .elementor-heading-title { font-family: var(--ehr-font-head) !important; font-size: clamp(1.1rem, 1.6vw, 1.3rem) !important; font-weight: 600 !important; color: var(--ehr-teal-ink) !important; line-height: 1.45 !important; border-left: 4px solid var(--ehr-teal); padding-left: 20px; }
.ehr-story p { font-size: 1.125rem !important; line-height: 1.8 !important; }
.ehr-story__kicker .elementor-heading-title { color: var(--ehr-teal-ink) !important; }

/* ---------- Badges / credentials ---------- */
.ehr-badges ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.ehr-badges--center ul { justify-content: center; }
.ehr-badges li { margin: 0; padding: 10px 16px 10px 40px; position: relative; border-radius: 999px; background: #fff; border: 1px solid var(--ehr-line); font-family: var(--ehr-font-head); font-weight: 500; font-size: .9375rem !important; color: var(--ehr-navy) !important; }
.ehr-badges li::before { content: "\2713"; position: absolute; left: 14px; top: 50%; transform: translateY(-50%); width: 18px; height: 18px; border-radius: 50%; background: var(--ehr-teal-ink); color: #fff; font-size: 11px; display: flex; align-items: center; justify-content: center; }
.ehr-cred { background: #fff; border-radius: var(--ehr-radius); padding: 24px !important; gap: 8px; border: 1px solid var(--ehr-line); border-top: 4px solid var(--ehr-teal); }
.ehr-facts { gap: 14px; }
.ehr-fact-card { background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .15); border-radius: var(--ehr-radius-sm); padding: 18px !important; }
.ehr-fact .elementor-icon { color: #8FE3D3 !important; font-size: 26px !important; }
.ehr-fact .elementor-icon svg { fill: #8FE3D3 !important; width: 26px; height: 26px; }
.ehr-fact .elementor-icon-box-title { font-family: var(--ehr-font-head) !important; color: #fff !important; font-size: 1rem !important; margin: 6px 0 0 !important; }

/* ---------- HEART ---------- */
.ehr-heart { border-radius: var(--ehr-radius); overflow: hidden; }
.ehr-heart__item { flex: 1 1 0 !important; padding: 28px 22px !important; gap: 8px; border-left: 1px solid rgba(255, 255, 255, .14); }
.ehr-heart__item:first-child { border-left: 0; }
.ehr-heart__letter .elementor-heading-title { font-family: var(--ehr-font-head) !important; font-size: clamp(3rem, 6vw, 4.5rem) !important; font-weight: 700 !important; line-height: 1 !important; color: var(--ehr-teal) !important; }
.ehr-heart__item h3.elementor-heading-title { color: #fff !important; }
.ehr-heart__item .elementor-widget-text-editor p { color: #D5E2E7 !important; font-size: 1rem !important; }

/* ---------- Founder ---------- */
.ehr-founder img { border-radius: 20px; width: 100%; max-width: 360px; aspect-ratio: 4 / 5; object-fit: cover; box-shadow: var(--ehr-shadow); }

/* ---------- Guide, CTA, related, promo ---------- */
.ehr-guide { gap: 16px; }
.ehr-guide__item { background: #fff; border: 1px solid var(--ehr-line); border-radius: var(--ehr-radius); padding: 24px !important; gap: 12px; justify-content: space-between; }
.ehr-cta { text-align: center; }
.ehr-cta .elementor-widget-text-editor p { max-width: 62ch; margin-left: auto; margin-right: auto; }
.ehr-related .ehr-related__title .elementor-heading-title { font-size: 1.25rem !important; color: var(--ehr-navy) !important; }
.ehr-imagine ul { list-style: none; padding: 0; margin: 0 auto; max-width: 900px; display: grid; gap: 12px; }
.ehr-imagine li { background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .15); border-radius: var(--ehr-radius-sm); padding: 18px 22px; font-size: 1.125rem !important; }

/* ---------- Booking + forms ---------- */
.ehr-booking { background: #fff; border-radius: var(--ehr-radius); box-shadow: var(--ehr-shadow); padding: 8px; width: 100%; }
.ehr-booking__fallback { text-align: center; font-size: .9375rem; color: var(--ehr-muted); margin: 10px 0 6px; }
.ehr-booking__fallback a { color: var(--ehr-teal-ink); }
.ehr-form { background: #fff; border-radius: var(--ehr-radius); padding: clamp(24px, 3vw, 36px) !important; box-shadow: var(--ehr-shadow); }
body.ehr-page .wpforms-container .wpforms-field-medium { max-width: 100% !important; width: 100% !important; }
body.ehr-page .wpforms-container .wpforms-field { padding: 8px 0 !important; }
body.ehr-page .ehr-form-privacy { font-size: .875rem; color: var(--ehr-muted); margin: 0; }
body.ehr-page .wpforms-container .wpforms-field-label { font-family: var(--ehr-font-head); font-weight: 500; color: var(--ehr-navy); }
body.ehr-page .wpforms-container input[type=text], body.ehr-page .wpforms-container input[type=email], body.ehr-page .wpforms-container textarea, body.ehr-page .wpforms-container select,
body.ehr-page .ehr-elform .elementor-field-textual { border: 1px solid #B7C6C3 !important; border-radius: 8px !important; padding: 12px 14px !important; font-size: 1rem !important; background: #fff !important; }
body.ehr-page .wpforms-container button[type=submit], body.ehr-page .ehr-elform .elementor-button { background: var(--ehr-teal-ink) !important; color: #fff !important; border: 0 !important; border-radius: 10px !important; padding: 15px 28px !important; font-family: var(--ehr-font-head) !important; font-weight: 600 !important; font-size: 1rem !important; height: auto !important; }
body.ehr-page .ehr-elform .elementor-field-label { font-family: var(--ehr-font-head); font-weight: 500; color: var(--ehr-navy); }

/* ---------- Checklist (lead magnet) ---------- */
.ehr-check ul { list-style: none; margin: 0; padding: 0; }
.ehr-check li { position: relative; padding: 12px 0 12px 40px; border-bottom: 1px solid var(--ehr-line); margin: 0; }
.ehr-check li:last-child { border-bottom: 0; }
.ehr-check li::before { content: ""; position: absolute; left: 2px; top: 15px; width: 20px; height: 20px; border: 2px solid var(--ehr-teal-ink); border-radius: 5px; background: #fff; }
.ehr-check.is-interactive li { padding-left: 0; }
.ehr-check.is-interactive li::before { display: none; }
.ehr-check label { display: flex; gap: 14px; align-items: flex-start; cursor: pointer; }
.ehr-check input[type=checkbox] { width: 22px; height: 22px; margin-top: 3px; accent-color: var(--ehr-teal-ink); flex: 0 0 auto; }
.ehr-check input:checked + span { color: var(--ehr-muted); text-decoration: line-through; text-decoration-color: rgba(0, 121, 107, .5); }
.ehr-sheet { background: #fff; border-radius: var(--ehr-radius); padding: clamp(24px, 4vw, 44px) !important; box-shadow: var(--ehr-shadow); gap: 10px; }
.ehr-progress { position: sticky; top: 110px; z-index: 5; background: #fff; border: 1px solid var(--ehr-line); border-radius: 999px; padding: 10px 16px; display: flex; align-items: center; gap: 14px; box-shadow: var(--ehr-shadow); font-family: var(--ehr-font-head); font-size: .9375rem; color: var(--ehr-navy); }
.ehr-progress__bar { flex: 1; height: 10px; background: var(--ehr-tint); border-radius: 999px; overflow: hidden; }
.ehr-progress__fill { height: 100%; width: 0; background: var(--ehr-teal-ink); transition: width .25s ease; }
.ehr-progress button { background: none; border: 0; color: var(--ehr-teal-ink); font: inherit; text-decoration: underline; cursor: pointer; padding: 4px; }
.ehr-printonly { display: none; }

/* ---------- Header ---------- */
.elementor-location-header { position: sticky; top: 0; z-index: 990; background: #fff; transition: box-shadow .2s ease; }
body.admin-bar .elementor-location-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .elementor-location-header { top: 0; } }
.elementor-location-header.ehr-scrolled { box-shadow: 0 6px 20px rgba(20, 42, 56, .08); }
.elementor-location-header .elementor-nav-menu--main .elementor-item { font-family: var(--ehr-font-head); font-weight: 500; font-size: .9375rem; color: var(--ehr-navy); }
.elementor-location-header .elementor-nav-menu--main .elementor-item:hover, .elementor-location-header .elementor-nav-menu--main .elementor-item.elementor-item-active { color: var(--ehr-teal-ink); }
.elementor-location-header .ehr-header-cta .elementor-button { background: var(--ehr-teal-ink); color: #fff; font-family: var(--ehr-font-head); font-weight: 600; font-size: .9375rem; line-height: 1.2; border-radius: 10px; padding: 13px 20px; white-space: nowrap; }
.elementor-location-header .ehr-header-cta .elementor-button:hover { background: var(--ehr-teal-ink-hover); }
.elementor-location-header .elementor-menu-toggle { color: var(--ehr-navy); }
.elementor-location-header .elementor-nav-menu--dropdown { background: #fff !important; box-shadow: 0 16px 32px rgba(20, 42, 56, .14); border-top: 1px solid var(--ehr-line); }
.elementor-location-header .elementor-nav-menu--dropdown a.elementor-item, .elementor-location-header .elementor-nav-menu--dropdown a.elementor-sub-item { font-family: var(--ehr-font-head) !important; font-size: 1rem !important; font-weight: 500 !important; color: var(--ehr-navy) !important; background: #fff !important; padding: 14px 22px !important; border-bottom: 1px solid #EEF2F1; }
.elementor-location-header .elementor-nav-menu--dropdown .sub-menu a.elementor-sub-item { padding-left: 38px !important; font-size: .9375rem !important; font-weight: 400 !important; background: #FAFCFB !important; }
.elementor-location-header .elementor-nav-menu--dropdown a.elementor-item-active, .elementor-location-header .elementor-nav-menu--dropdown a:hover, .elementor-location-header .elementor-nav-menu--dropdown a.highlighted { background: var(--ehr-tint) !important; color: var(--ehr-teal-ink) !important; }
.elementor-location-header .elementor-nav-menu--main .ehr-menu-cta { display: none !important; }
.elementor-location-header .elementor-nav-menu--dropdown .ehr-menu-cta a.elementor-item { background: var(--ehr-teal-ink) !important; color: #fff !important; justify-content: center; margin: 14px 18px 18px; border-radius: 10px; border: 0; font-weight: 600 !important; }
@media (max-width: 1024px) { .elementor-location-header > .e-con:has(.elementor-widget-social-icons) { display: none !important; } }

/* Anchor targets clear the sticky header */
html { scroll-padding-top: 120px; }

/* ---------- Blog archive + posts ---------- */
body.blog .elementor-posts .elementor-post, body.archive .elementor-posts .elementor-post { border-radius: var(--ehr-radius) !important; overflow: hidden; box-shadow: var(--ehr-shadow) !important; }
.elementor-post__title a { font-family: var(--ehr-font-head); color: var(--ehr-navy) !important; }
.elementor-post__read-more { color: var(--ehr-teal-ink) !important; font-weight: 600; }
.ehr-related-links { margin-top: 2em; padding: 18px 22px; background: var(--ehr-tint); border-radius: var(--ehr-radius-sm); }

/* ---------- Accessibility ---------- */
a:focus-visible, button:focus-visible, .elementor-button:focus-visible, summary:focus-visible, input:focus-visible, [tabindex]:focus-visible { outline: 3px solid var(--ehr-teal-ink) !important; outline-offset: 3px !important; border-radius: 4px; }
.ehr-sec--navy a:focus-visible, .ehr-sec--navy .elementor-button:focus-visible { outline-color: #9FE7DA !important; }
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
	.ehr-icard:hover, .ehr-iconbox-card:hover { transform: none; }
}

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
	.ehr-icards--six > .e-con { flex-basis: calc(50% - 12px) !important; }
	.ehr-timeline { flex-wrap: wrap; }
	.ehr-heart { flex-wrap: wrap; }
	.ehr-heart__item { flex: 1 1 45% !important; border-left: 0; border-top: 1px solid rgba(255, 255, 255, .14); }
}
@media (max-width: 767px) {
	body.ehr-page .elementor-widget-text-editor, body.ehr-page .elementor-widget-text-editor p, body.ehr-page .elementor-widget-text-editor li { font-size: 1rem; }
	body.ehr-page .ehr-hero--photo { min-height: 0; }
	body.ehr-page .ehr-hero--photo::before { background: rgba(255, 255, 255, .88) !important; }
	.ehr-btns .elementor-widget-button, .ehr-btns .elementor-button { width: 100%; }
	.ehr-btns .elementor-button { justify-content: center; }
	.ehr-founder-chip { border-radius: 16px; }
	.ehr-icards--six > .e-con { flex-basis: 100% !important; }
	.ehr-timeline__step { padding: 0 0 26px 74px !important; text-align: left; align-items: flex-start; }
	.ehr-timeline__step > .elementor-widget-heading:first-child .elementor-heading-title::before { position: absolute; left: 0; top: 0; margin: 0; width: 50px; height: 50px; font-size: 1.15rem; }
	.ehr-timeline__step::after { left: 24px; right: auto; top: 58px; bottom: 0; width: 3px; height: auto; background: repeating-linear-gradient(180deg, var(--ehr-teal) 0 10px, transparent 10px 18px); }
	.ehr-heart__item { flex-basis: 100% !important; }
	.ehr-ill img { max-width: 320px; }
	body.ehr-page .ehr-band-cards { margin-top: -120px; }
	.ehr-progress { top: 96px; }
}

/* ---------- Print (checklist) ---------- */
.ehr-printonly { display: none; }
@media print {
	@page { size: A4; margin: 14mm 14mm 16mm; }
	.elementor-location-header, .elementor-location-footer, .cmplz-cookiebanner, #cmplz-manage-consent, .ehr-noprint, .ehr-cta, .ehr-btns, .ehr-progress, .ehr-promo, .ehr-related { display: none !important; }
	.ehr-printonly { display: block; }
	.ehr-print-brand { display: flex !important; align-items: center; justify-content: space-between; border-bottom: 3px solid var(--ehr-teal); padding-bottom: 10px; margin-bottom: 10px; }
	.ehr-print-brand span { font-family: var(--ehr-font-head); font-weight: 600; color: var(--ehr-navy); }
	.ehr-print-foot { margin-top: 14px; padding-top: 10px; border-top: 2px solid var(--ehr-line); font-size: 10pt; line-height: 1.5; }
	body.ehr-page .ehr-sec { padding: 10px 0 !important; background: none !important; }
	body.ehr-page .ehr-hero { background: none !important; padding-bottom: 6px !important; }
	body.ehr-page h1.elementor-heading-title { font-size: 26pt; }
	body.ehr-page h2.elementor-heading-title { font-size: 15pt; }
	body.ehr-page .elementor-widget-text-editor, body.ehr-page .elementor-widget-text-editor p, body.ehr-page .elementor-widget-text-editor li { font-size: 10.5pt !important; line-height: 1.45 !important; }
	.ehr-sheet { box-shadow: none; padding: 0 !important; page-break-inside: avoid; }
	.ehr-check li { padding: 6px 0 6px 30px !important; break-inside: avoid; }
	.ehr-check li::before { display: block !important; top: 8px !important; width: 14px !important; height: 14px !important; }
	.ehr-check input { display: none; }
	* { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}
.ehr-band .ehr-eyebrow .elementor-heading-title { color: #8FE3D3 !important; }
/* Resource landing pages */
.ehr-cover img { max-width: 360px; width: 100%; margin: 0 auto; display: block; filter: drop-shadow(0 18px 30px rgba(20, 42, 56, .18)); }
.ehr-download { position: sticky; top: 130px; align-self: flex-start; }
.ehr-contents p { margin: 0 0 .6em !important; }
/* Breadcrumbs */
.ehr-crumbs { background: #fff; border-bottom: 1px solid #EEF2F1; }
.ehr-crumbs__inner { max-width: 1140px; margin: 0 auto; padding: 10px 20px; font-family: var(--ehr-font-head); font-size: .8125rem; color: var(--ehr-muted); }
.ehr-crumbs .rank-math-breadcrumb p { margin: 0; }
.ehr-crumbs a { color: var(--ehr-teal-ink); text-decoration: none; }
.ehr-crumbs a:hover { text-decoration: underline; }
.ehr-crumbs .separator { margin: 0 6px; color: #9AA7AE; }

/* =====================================================================
   Activation layer: motion + hover + conversion prompts
   (all motion sits behind prefers-reduced-motion and a JS class, so content is never hidden without JS)
   ===================================================================== */
@media (prefers-reduced-motion: no-preference) {
	/* Scroll reveal: staggered rise + fade */
	.ehr-motion .ehr-reveal { opacity: 0; transform: translateY(26px); transition: opacity .7s cubic-bezier(.2,.7,.2,1) var(--ehr-d, 0ms), transform .7s cubic-bezier(.2,.7,.2,1) var(--ehr-d, 0ms); }
	.ehr-motion .ehr-reveal.is-in { opacity: 1; transform: none; }
	.ehr-motion .ehr-signs li.ehr-reveal, .ehr-motion .ehr-outcomes li.ehr-reveal, .ehr-motion .ehr-badges li.ehr-reveal { transform: translateX(-18px); }
	.ehr-motion .ehr-signs li.ehr-reveal.is-in, .ehr-motion .ehr-outcomes li.ehr-reveal.is-in, .ehr-motion .ehr-badges li.ehr-reveal.is-in { transform: none; }
	.ehr-motion .ehr-ill.ehr-reveal, .ehr-motion .ehr-cover.ehr-reveal { transform: translateY(26px) scale(.96); }
	.ehr-motion .ehr-ill.ehr-reveal.is-in, .ehr-motion .ehr-cover.ehr-reveal.is-in { transform: none; }

	/* Hero entrance (pure CSS, above the fold, always ends visible) */
	@keyframes ehrRise { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: none; } }
	@keyframes ehrFade { from { opacity: 0; } to { opacity: 1; } }
	body.ehr-page .ehr-hero .ehr-sec__inner > .e-con > .elementor-element,
	body.ehr-page .ehr-hero .ehr-hero__copy > .elementor-element { animation: ehrRise .8s cubic-bezier(.2,.7,.2,1) both; }
	body.ehr-page .ehr-hero .e-con > .elementor-element:nth-child(2) { animation-delay: .08s; }
	body.ehr-page .ehr-hero .e-con > .elementor-element:nth-child(3) { animation-delay: .16s; }
	body.ehr-page .ehr-hero .e-con > .elementor-element:nth-child(4) { animation-delay: .24s; }
	body.ehr-page .ehr-hero .e-con > .elementor-element:nth-child(5) { animation-delay: .32s; }
	body.ehr-page .ehr-hero .e-con > .elementor-element:nth-child(6) { animation-delay: .44s; }
	body.ehr-page .ehr-hero--photo { animation: ehrFade 1s ease both; }
	.ehr-founder-chip { animation: ehrRise .8s .6s cubic-bezier(.2,.7,.2,1) both !important; }

	/* Gentle idle float on illustrations */
	@keyframes ehrFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
	.ehr-ill img, .ehr-cover img { animation: ehrFloat 7s ease-in-out infinite; }
	.ehr-ill-col:nth-child(odd) .ehr-ill img { animation-delay: -3s; }

	/* Timeline connector draws in */
	.ehr-motion .ehr-timeline__step::after { transform-origin: left center; transform: scaleX(0); transition: transform .9s ease calc(var(--ehr-d, 0ms) + 250ms); }
	.ehr-motion .ehr-timeline__step.is-in::after { transform: scaleX(1); }

	/* Primary CTA attention: soft pulse ring on the header and hero booking buttons */
	@keyframes ehrPulse { 0% { box-shadow: 0 0 0 0 rgba(0, 121, 107, .45); } 70% { box-shadow: 0 0 0 12px rgba(0, 121, 107, 0); } 100% { box-shadow: 0 0 0 0 rgba(0, 121, 107, 0); } }
	.elementor-location-header .ehr-header-cta .elementor-button { animation: ehrPulse 2.6s 2s ease-out 3; }
}

/* Hover states on everything interactive */
.ehr-btn .elementor-button, .ehr-btn--ghost .elementor-button, .ehr-btn--light .elementor-button, .elementor-location-header .ehr-header-cta .elementor-button { transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease, color .2s ease, border-color .2s ease; }
.ehr-btn .elementor-button:hover, .ehr-btn--light .elementor-button:hover, .elementor-location-header .ehr-header-cta .elementor-button:hover { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(0, 121, 107, .28); }
.ehr-btn--ghost .elementor-button:hover { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(20, 42, 56, .18); }
.ehr-btn .elementor-button-text::after, .ehr-btn--light .elementor-button-text::after { content: "\2192"; display: inline-block; margin-left: .5em; transition: transform .2s ease; }
.ehr-btn .elementor-button:hover .elementor-button-text::after, .ehr-btn--light .elementor-button:hover .elementor-button-text::after { transform: translateX(4px); }
.ehr-link .elementor-button-text::after { display: inline-block; transition: transform .2s ease; }
.ehr-link .elementor-button:hover .elementor-button-text::after { transform: translateX(5px); }
.ehr-clickable { cursor: pointer; }
.ehr-icard:hover .ehr-icard__icon img { transform: scale(1.08) rotate(-3deg); }
.ehr-icard__icon img { transition: transform .3s ease; }
.ehr-icard:hover h3.elementor-heading-title, .ehr-iconbox-card:hover .elementor-icon-box-title { color: var(--ehr-navy) !important; }
.ehr-tile, .ehr-cred, .ehr-guide__item, .ehr-heart__item, .ehr-step, .ehr-proof, .ehr-fact-card { transition: transform .25s ease, box-shadow .25s ease, background-color .25s ease; }
.ehr-tile:hover, .ehr-cred:hover, .ehr-guide__item:hover, .ehr-step:hover { transform: translateY(-4px); box-shadow: 0 2px 4px rgba(20, 42, 56, .06), 0 16px 32px rgba(20, 42, 56, .12); }
.ehr-heart__item:hover { background-color: rgba(255, 255, 255, .06); }
.ehr-heart__item:hover .ehr-heart__letter .elementor-heading-title { transform: scale(1.08); }
.ehr-heart__letter .elementor-heading-title { transition: transform .3s ease; display: inline-block; }
.ehr-fact-card:hover { background-color: rgba(255, 255, 255, .12); transform: translateY(-3px); }
.ehr-signs li { transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.ehr-signs li:hover { transform: translateX(4px); border-color: var(--ehr-teal); box-shadow: var(--ehr-shadow); }
.ehr-acc .e-n-accordion-item { transition: border-color .2s ease, box-shadow .2s ease; }
.ehr-acc .e-n-accordion-item:hover { border-color: var(--ehr-teal); box-shadow: var(--ehr-shadow); }
.ehr-acc .e-n-accordion-item-title-icon svg { transition: transform .25s ease; }
.ehr-acc .e-n-accordion-item-title:hover .e-n-accordion-item-title-icon svg { transform: scale(1.2); }
.ehr-founder img, .ehr-hero__photo img { transition: transform .4s ease, box-shadow .4s ease; }
.ehr-founder img:hover, .ehr-hero__photo img:hover { transform: translateY(-4px) scale(1.01); }
.elementor-location-header .elementor-nav-menu--main .elementor-item { transition: color .2s ease; }

/* Inline CTA rows */
.ehr-inline-cta { gap: 14px; }
.ehr-inline-cta .ehr-note p { color: var(--ehr-muted) !important; }

/* Sticky mobile booking bar */
.ehr-mbar { display: none; }
@media (max-width: 1024px) {
	.ehr-mbar { display: block; position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 995; transform: translateY(140%); transition: transform .35s cubic-bezier(.2,.7,.2,1); }
	.ehr-mbar.is-on { transform: none; }
	.ehr-mbar a { display: flex; align-items: center; justify-content: space-between; gap: 12px; background: var(--ehr-teal-ink); color: #fff; font-family: var(--ehr-font-head); font-weight: 600; font-size: 1rem; padding: 15px 20px; border-radius: 14px; box-shadow: 0 12px 30px rgba(20, 42, 56, .3); text-decoration: none; }
	.ehr-mbar a:active { transform: scale(.98); }
	body.ehr-page #cmplz-manage-consent .cmplz-manage-consent { bottom: 84px !important; }
	body.ehr-page { padding-bottom: 0; }
}
@media print { .ehr-mbar { display: none !important; } }
