/*
Theme Name: Hirurgija Kila Astra Child
Description: Minimalna child tema za Hirurgija Kila projekat.
Author: Hirurgija Kila
Template: astra
Version: 2.6.7
Text Domain: hirurgija-kila
*/

/**
 * LEGACY COMPATIBILITY LAYER
 *
 * Ovaj fajl cuva postojeca pravila koja jos nisu preseljena u kanonski
 * design-system.css. Nova globalna pravila i nove Vxx override sekcije se ovde
 * vise ne dodaju. Raspored, dimenzije, razmaci, poravnanje i responsive
 * visibility uredjuju se u Elementoru; ovde ostaju samo pravila neophodna za
 * kompatibilnost postojecih sablona i slozene interakcije.
 */

:root {
	--hk-primary: #243c80;
	--hk-secondary: #34abe1;
	--hk-accent: #c48a2b;
	--hk-ink: #17242a;
	--hk-muted: #5e6c72;
	--hk-surface: #f7f8fb;
	--hk-border: #dbe1ec;
	--hk-white: #ffffff;
	--hk-radius: 14px;
	--hk-shadow: 0 16px 42px rgba(36, 60, 128, 0.09);
	--hk-hero-home-title: clamp(3.15rem, 3.7vw, 4.1rem);
	--hk-hero-home-lead: 1.18rem;
	--hk-hero-eyebrow: .78rem;
	--hk-hero-title: clamp(3.15rem, 3.7vw, 4.1rem);
	--hk-hero-lead: 1.18rem;
}

/* ========================================================================== */
/* MEMORABLE REDESIGN V6 — "Precision with humanity"                         */
/* Central visual system. Native Elementor widgets remain the source of all   */
/* content and interactions; this layer only defines presentation and rhythm. */
/* ========================================================================== */

:root {
	--hkm-ink: #08213d;
	--hkm-blue: #1556a0;
	--hkm-cyan: #25afe0;
	--hkm-cyan-soft: #dff4fb;
	--hkm-paper: #f7f3ec;
	--hkm-white: #fffefa;
	--hkm-sage: #6d8f87;
	--hkm-coral: #cc6f58;
	--hkm-line: rgba(8, 33, 61, .16);
	--hkm-serif: "DM Serif Display", Georgia, serif;
	--hkm-sans: "DM Sans", Arial, sans-serif;
	--hkm-max: 1220px;
}

html { scroll-behavior: smooth; }
body,
body .elementor-widget-text-editor,
body .elementor-button,
body .main-header-menu { font-family: var(--hkm-sans) !important; }
body { color: var(--hkm-ink); background: var(--hkm-white); }
body h1, body h2, body .elementor-heading-title { font-family: var(--hkm-serif) !important; font-weight: 400 !important; letter-spacing: -.035em; }
body h3, body h4 { font-family: var(--hkm-sans) !important; letter-spacing: -.025em; }

/* Header: restrained frame for the expressive content below. */
.site-header .ast-primary-header-bar { min-height: 78px; background: rgba(255,254,250,.97); border-bottom: 1px solid var(--hkm-line); }
.site-header .site-logo-img img { max-height: 54px; width: auto; }
.main-header-menu > .menu-item > .menu-link { min-height: 78px; padding-inline: 17px; color: var(--hkm-ink); font-size: 14px; font-weight: 600; }
.main-header-menu > .current-menu-item > .menu-link::after,
.main-header-menu > .menu-item > .menu-link:hover::after { content: ""; position: absolute; right: 17px; bottom: 17px; left: 17px; height: 3px; background: var(--hkm-cyan); transform: skewX(-20deg); }

/* Common primitives. */
.hk-eyebrow { color: var(--hkm-blue) !important; font-family: var(--hkm-sans) !important; font-size: 12px !important; font-weight: 700 !important; letter-spacing: .18em !important; line-height: 1.35 !important; text-transform: uppercase; }
.hkm-signal-label { position: relative; padding-left: 24px; }
.hkm-signal-label::before { content: ""; position: absolute; top: -.08em; bottom: -.08em; left: 6px; width: 4px; background: var(--hkm-cyan); transform: skewX(-17deg); }
body .elementor-button { min-height: 50px; padding: 15px 25px !important; border: 1px solid var(--hkm-ink) !important; border-radius: 0 !important; box-shadow: none !important; font-size: 14px !important; font-weight: 700 !important; line-height: 1.25 !important; }
body .hk-button--primary .elementor-button { color: #fff !important; background: var(--hkm-blue) !important; border-color: var(--hkm-blue) !important; }
body .hk-button--primary .elementor-button:hover { background: var(--hkm-ink) !important; border-color: var(--hkm-ink) !important; transform: translateY(-2px); }
body .hk-button--outline .elementor-button { color: var(--hkm-ink) !important; background: transparent !important; }
body .hk-button--outline .elementor-button:hover { color: #fff !important; background: var(--hkm-ink) !important; }
body .hk-button--text .elementor-button { min-height: 0; padding: 4px 0 !important; color: var(--hkm-blue) !important; background: transparent !important; border: 0 !important; border-bottom: 1px solid currentColor !important; }
body .hk-button--text .elementor-button::after { content: "→"; margin-left: 12px; font-size: 17px; }

/* Homepage hero: a true asymmetric editorial layout, no standard 50/50 card. */
body .elementor-element.hkm-hero-shell { position: relative; width: 100%; max-width: none !important; overflow: hidden; background: var(--hkm-paper); }
body .elementor-element.hkm-hero { display: grid !important; grid-template-columns: minmax(470px,.88fr) minmax(560px,1.12fr) !important; width: min(100%, 1600px); min-height: 660px; margin: 0 auto; padding: 0 !important; }
body .elementor-element.hkm-hero__copy { position: relative; z-index: 2; display: flex !important; flex-direction: column !important; justify-content: center !important; padding: 64px clamp(32px,5vw,86px) 48px max(32px,calc((100vw - 1220px)/2)); background: var(--hkm-white); }
.hkm-hero__copy::after { content: ""; position: absolute; z-index: 3; top: 0; right: -80px; bottom: 0; width: 150px; background: var(--hkm-white); clip-path: polygon(42% 0,100% 0,58% 100%,0 100%); pointer-events: none; }
.hkm-hero__title { position: relative; z-index: 4; margin: 23px 0 18px; }
.hkm-hero__title .elementor-heading-title { color: var(--hkm-ink) !important; font-size: clamp(52px,5.2vw,82px) !important; line-height: .98 !important; }
.hkm-hero__title .elementor-heading-title span { color: var(--hkm-cyan); }
.hkm-hero__lead { position: relative; z-index: 4; max-width: 600px; margin-bottom: 20px; }
.hkm-hero__lead, .hkm-hero__lead p { color: #40546a !important; font-size: 18px !important; line-height: 1.65 !important; }
body .elementor-element.hkm-hero__actions { position: relative; z-index: 4; display: flex !important; flex-direction: row !important; gap: 14px !important; margin-bottom: 34px; }
body .elementor-element.hkm-hero__proofs { position: relative; z-index: 4; display: grid !important; grid-template-columns: repeat(3,1fr) !important; gap: 0 !important; padding-top: 22px; border-top: 1px solid var(--hkm-line); }
body .elementor-element.hkm-proof { display: grid !important; grid-template-columns: 34px 1fr !important; gap: 11px !important; padding: 0 18px; border-right: 1px solid var(--hkm-line); }
body .elementor-element.hkm-proof:first-child { padding-left: 0; }
body .elementor-element.hkm-proof:last-child { border-right: 0; }
.hkm-proof__icon { color: var(--hkm-blue); font-size: 24px; }
.hkm-proof h3 { margin: 0 0 4px; color: var(--hkm-ink); font-size: 14px; line-height: 1.25; }
.hkm-proof p { margin: 0 !important; color: #607185; font-size: 11px; line-height: 1.45; }
body .elementor-element.hkm-hero__media { position: relative; min-height: 660px; overflow: hidden; background: var(--hkm-ink); }
.hkm-hero__image, .hkm-hero__image .elementor-widget-container, .hkm-hero__image img { width: 100% !important; height: 100% !important; }
.hkm-hero__image img { min-height: 660px; object-fit: cover; object-position: 52% center; filter: saturate(.88) contrast(1.03); }
.hkm-hero__media::before { content: ""; position: absolute; z-index: 4; top: -4%; left: 34px; width: 5px; height: 58%; background: var(--hkm-cyan); transform: rotate(18deg); transform-origin: top; }
body .elementor-element.hkm-hero__note { position: absolute; z-index: 5; right: 34px; bottom: 34px; width: min(330px,calc(100% - 68px)); padding: 24px 26px; background: rgba(8,33,61,.94); backdrop-filter: blur(8px); }
.hkm-hero__note .hk-eyebrow { color: #a9ddf1 !important; }
.hkm-hero__note h3 { margin: 6px 0 10px; color: #fff; font-size: 22px; line-height: 1.25; }
.hkm-hero__note .hk-button--text .elementor-button { color: #fff !important; }

/* Four clear routes: iconography is navigation, not decoration. */
body .elementor-element.hkm-routes { display: grid !important; grid-template-columns: 300px 1fr !important; width: min(var(--hkm-max),calc(100% - 48px)); margin: 0 auto; padding: 38px 0; border-bottom: 1px solid var(--hkm-line); }
.hkm-routes__title { padding: 4px 36px 0 0; border-right: 1px solid var(--hkm-line); }
.hkm-routes__title h2 { margin: 10px 0 0; color: var(--hkm-ink); font-size: 38px; line-height: 1.05; }
body .elementor-element.hkm-routes__grid { display: grid !important; grid-template-columns: repeat(4,1fr) !important; }
body .elementor-element.hkm-route { position: relative; display: flex !important; min-width: 0; padding: 2px 22px 0; border-right: 1px solid var(--hkm-line); flex-direction: column !important; }
.hkm-route:last-child { border-right: 0 !important; }
.hkm-route .hkm-icon { margin-bottom: 15px; color: var(--hkm-blue); font-size: 30px; }
.hkm-route h3 { margin: 0 0 7px; color: var(--hkm-ink); font-size: 18px; line-height: 1.2; }
.hkm-route p { margin: 0 0 13px !important; color: #607185; font-size: 13px; line-height: 1.45; }
.hkm-route .hk-button--text { margin-top: auto; align-self: flex-start; }

/* Editorial assessment composition. */
body .elementor-element.hkm-editorial { display: grid !important; grid-template-columns: 1.08fr .86fr .42fr !important; width: min(var(--hkm-max),calc(100% - 48px)); margin: 78px auto; background: var(--hkm-paper); }
body .elementor-element.hkm-editorial__media { position: relative; min-height: 520px; overflow: hidden; }
.hkm-editorial__image, .hkm-editorial__image .elementor-widget-container, .hkm-editorial__image img { width: 100%; height: 100%; }
.hkm-editorial__image img { object-fit: cover; object-position: center; }
.hkm-editorial__media::before { content: ""; position: absolute; z-index: 3; top: -50px; left: 20px; width: 5px; height: 210px; background: var(--hkm-cyan); transform: rotate(18deg); }
.hkm-image-caption { position: absolute; right: 0; bottom: 0; left: 0; padding: 18px 24px; background: rgba(8,33,61,.9); }
.hkm-image-caption p { margin: 0 !important; color: #fff !important; font-size: 13px; }
body .elementor-element.hkm-editorial__copy { display: flex !important; padding: 58px 50px; flex-direction: column !important; justify-content: center !important; }
.hkm-editorial__copy h2 { margin: 16px 0 20px; color: var(--hkm-ink); font-size: 50px; line-height: 1.03; }
.hkm-editorial__copy p { color: #566b7d; font-size: 16px; line-height: 1.75; }
.hkm-editorial__copy .hk-button--text { margin-top: 14px; align-self: flex-start; }
body .elementor-element.hkm-editorial__stats { display: flex !important; padding: 36px 24px; border-left: 1px solid var(--hkm-line); flex-direction: column !important; justify-content: center !important; }
.hkm-stat { padding: 24px 0; border-bottom: 1px solid var(--hkm-line); }
.hkm-stat:last-child { border-bottom: 0; }
.hkm-stat__number p { margin: 0 !important; color: var(--hkm-coral) !important; font-family: var(--hkm-serif); font-size: 42px !important; line-height: 1; }
.hkm-stat > .elementor-widget-text-editor:last-child p { margin: 8px 0 0 !important; color: #52677a; font-size: 12px; line-height: 1.4; }

/* Conditions: graphic editorial panels with deliberate asymmetry. */
body .elementor-element.hkm-conditions { width: 100%; max-width: none !important; padding: 86px max(24px,calc((100vw - 1220px)/2)); background: var(--hkm-ink); }
.hkm-conditions .hkm-section-head { display: grid !important; grid-template-columns: 1fr 1.1fr !important; align-items: end; margin-bottom: 44px; }
.hkm-conditions .hkm-section-head .hk-eyebrow { grid-column: 1 / -1; color: #8bd9f3 !important; }
.hkm-conditions .hkm-section-head h2 { max-width: 650px; margin: 14px 0 0; color: #fff; font-size: 58px; line-height: 1; }
.hkm-conditions .hkm-section-head p { margin: 0 0 2px !important; color: #c3cfda; font-size: 17px; line-height: 1.65; }
body .elementor-element.hkm-condition-grid { display: grid !important; grid-template-columns: 1.25fr 1fr 1fr .8fr !important; border-top: 1px solid rgba(255,255,255,.22); border-bottom: 1px solid rgba(255,255,255,.22); }
body .elementor-element.hkm-condition { display: flex !important; min-height: 330px; padding: 30px 26px; border-right: 1px solid rgba(255,255,255,.22); flex-direction: column !important; }
.hkm-condition:last-child { border-right: 0 !important; }
.hkm-condition--featured { background: var(--hkm-blue); }
.hkm-condition--action { background: var(--hkm-cyan-soft); }
.hkm-condition__number p { margin: 0 0 auto !important; color: #7bd8f6 !important; font-family: var(--hkm-serif); font-size: 50px !important; line-height: 1; }
.hkm-condition h3 { margin: 70px 0 12px; color: #fff; font-size: 24px; line-height: 1.15; }
.hkm-condition p { color: #c3cfda; font-size: 14px; line-height: 1.65; }
.hkm-condition .hk-button--text { margin-top: auto; align-self: flex-start; }
.hkm-condition .hk-button--text .elementor-button { color: #fff !important; }
.hkm-condition--action .hkm-icon { color: var(--hkm-blue); font-size: 34px; }
.hkm-condition--action h3 { color: var(--hkm-ink); }
.hkm-condition--action p { color: #546a7d; }
.hkm-condition--action .hk-button--text .elementor-button { color: var(--hkm-blue) !important; }

/* Team feature uses real, existing team portraits as a single visual statement. */
body .elementor-element.hkm-team-feature { display: grid !important; grid-template-columns: .72fr 1.28fr !important; width: min(var(--hkm-max),calc(100% - 48px)); min-height: 610px; margin: 90px auto; background: var(--hkm-paper); }
body .elementor-element.hkm-team-feature__copy { display: flex !important; padding: 68px 54px; flex-direction: column !important; justify-content: center !important; }
.hkm-team-feature__copy h2 { margin: 18px 0 24px; color: var(--hkm-ink); font-size: 54px; line-height: 1.02; }
.hkm-team-feature__copy p { color: #52677a; font-size: 17px; line-height: 1.75; }
.hkm-team-feature__copy .hk-button--outline { margin-top: 18px; align-self: flex-start; }
body .elementor-element.hkm-team-feature__portraits { display: grid !important; grid-template-columns: 1.12fr .88fr !important; grid-template-rows: 1fr 1fr !important; min-height: 610px; gap: 8px !important; padding: 8px; background: #fff; }
.hkm-doctor-portrait, .hkm-doctor-portrait .elementor-widget-container, .hkm-doctor-portrait img { width: 100%; height: 100%; }
.hkm-doctor-portrait img { object-fit: cover; object-position: center 18%; }
.hkm-doctor-portrait--one { grid-row: 1 / 3; }

/* Patient journey is a horizontal narrative, not another card grid. */
body .elementor-element.hkm-journey { width: min(var(--hkm-max),calc(100% - 48px)); margin: 0 auto 90px; }
.hkm-journey .hkm-section-head { max-width: 650px; margin-bottom: 42px; }
.hkm-journey .hkm-section-head h2 { margin: 16px 0 0; color: var(--hkm-ink); font-size: 56px; line-height: 1.03; }
body .elementor-element.hkm-journey__grid { display: grid !important; grid-template-columns: repeat(3,1fr) !important; border-top: 4px solid var(--hkm-cyan); }
body .elementor-element.hkm-journey__step { position: relative; display: flex !important; min-height: 260px; padding: 32px 36px 28px 0; border-right: 1px solid var(--hkm-line); flex-direction: column !important; }
.hkm-journey__step + .hkm-journey__step { padding-left: 36px; }
.hkm-journey__step:last-child { border-right: 0; }
.hkm-step-big p { margin: 0 0 40px !important; color: var(--hkm-cyan) !important; font-family: var(--hkm-serif); font-size: 42px !important; }
.hkm-journey__step h3 { margin: 0 0 10px; color: var(--hkm-ink); font-size: 24px; }
.hkm-journey__step p { color: #5c7081; line-height: 1.7; }

/* Shared final CTA and global footer must remain visually distinct. */
body .elementor-element.hkm-final-cta { display: grid !important; grid-template-columns: 1fr auto !important; gap: 60px !important; width: min(var(--hkm-max),calc(100% - 48px)); margin: 0 auto 72px; overflow: hidden; background: var(--hkm-blue) !important; }
.hkm-final-cta { position: relative; }
.hkm-final-cta::after { content: ""; position: absolute; right: 26%; bottom: -120px; width: 6px; height: 320px; background: var(--hkm-cyan); transform: rotate(18deg); opacity: .8; }
.hkm-final-cta h2 { margin: 12px 0 14px; color: #fff !important; font-size: 45px; line-height: 1.08; }
.hkm-final-cta p { max-width: 760px; margin: 0 !important; color: #dce6ef !important; line-height: 1.65; }
body .elementor-element.hkm-final-cta__actions { position: relative; z-index: 2; display: flex !important; min-width: 230px; flex-direction: column !important; justify-content: center !important; gap: 10px !important; }
.hkm-final-cta .hk-button--primary .elementor-button { color: var(--hkm-ink) !important; background: var(--hkm-cyan) !important; border-color: var(--hkm-cyan) !important; }
.hkm-final-cta .hk-button--outline .elementor-button { color: #fff !important; border-color: rgba(255,255,255,.6) !important; }

/* Global page/blog language: same visual family, adapted to content purpose. */
.hk-breadcrumb-shell, .ast-breadcrumbs-wrapper { background: var(--hkm-paper) !important; }
.ast-breadcrumbs-wrapper { display: flex !important; min-height: 68px !important; padding-block: 0 !important; align-items: center !important; }
.ast-breadcrumbs-wrapper p, .ast-breadcrumbs-wrapper .breadcrumbs { margin: 0 !important; }
body .elementor-element.hk-page-hero--editorial,
body .elementor-element.hk-article-hero { position: relative !important; display: grid !important; grid-template-columns: minmax(0,.86fr) minmax(430px,.74fr) !important; gap: 0 !important; width: min(var(--hkm-max),calc(100% - 48px)); min-height: 570px !important; margin: 0 auto 64px !important; padding: 0 !important; overflow: hidden !important; background: var(--hkm-paper) !important; }
body .elementor-element.hk-page-hero--editorial::before,
body .elementor-element.hk-article-hero::before { content: ""; position: absolute; z-index: 6; top: -60px; left: calc(54% - 2px); width: 5px; height: 245px; background: var(--hkm-cyan); transform: rotate(18deg); pointer-events: none; }
body .elementor-element.hk-page-hero--editorial > .hk-hero-copy-column,
body .elementor-element.hk-article-hero > .hk-article-hero__copy { display: flex !important; position: relative !important; inset: auto !important; width: auto !important; padding: 62px 54px !important; flex-direction: column !important; justify-content: center !important; }
.hk-page-hero--editorial h1, .hk-article-hero h1 { color: var(--hkm-ink) !important; font-size: clamp(48px,4.3vw,68px) !important; line-height: 1 !important; }
.hk-page-hero--editorial .hk-hero-copy, .hk-article-hero .hk-hero-copy { color: #51677a !important; font-size: 17px !important; line-height: 1.7 !important; }
body .elementor-element.hk-page-hero--editorial > .hk-hero-media,
body .elementor-element.hk-page-hero--editorial > .hk-article-hero__media,
body .elementor-element.hk-article-hero > .hk-article-hero__media { position: relative !important; inset: auto !important; width: auto !important; min-height: 570px !important; overflow: hidden !important; }
.hk-page-hero--editorial .hk-hero-image, .hk-page-hero--editorial .hk-article-hero__image,
.hk-page-hero--editorial .hk-hero-image img, .hk-page-hero--editorial .hk-article-hero__image img,
.hk-article-hero .hk-article-hero__image, .hk-article-hero .hk-article-hero__image img { width: 100% !important; height: 100% !important; min-height: 570px !important; border-radius: 0 !important; object-fit: cover !important; }
.hk-page-hero--editorial .hk-hero-summary, .hk-article-hero .hk-hero-summary { right: 24px !important; bottom: 24px !important; left: 24px !important; width: auto !important; max-width: 350px !important; margin: 0 0 0 auto !important; padding: 22px 24px !important; color: #fff; background: rgba(8,33,61,.94) !important; border: 0 !important; border-radius: 0 !important; }

/* Existing content blocks inherit a sharper, less template-like treatment. */
.hk-card, .hk-feature-card, .hk-comparison-card, .hk-blog-card, article.ast-article-post { border-radius: 0 !important; box-shadow: none !important; }
.hk-card, .hk-feature-card, .hk-comparison-card { border-color: var(--hkm-line) !important; }
.hk-card:hover, .hk-feature-card:hover { transform: translateY(-5px); border-color: var(--hkm-cyan) !important; }
.hk-section--soft, .hk-section--toc, .hk-blog-archive-hero { background: var(--hkm-paper) !important; }
.hk-section-title, .hk-section h2 { color: var(--hkm-ink); }
.hk-section-title { font-size: clamp(40px,4.2vw,60px) !important; line-height: 1.03 !important; }

@media (max-width: 1024px) {
	body .elementor-element.hkm-hero { grid-template-columns: .95fr 1.05fr !important; min-height: 610px; }
	body .elementor-element.hkm-hero__copy { padding: 50px 34px; }
	.hkm-hero__copy::after { right: -55px; width: 95px; }
	.hkm-hero__title .elementor-heading-title { font-size: clamp(46px,6vw,66px) !important; }
	body .elementor-element.hkm-hero__proofs { grid-template-columns: 1fr !important; gap: 10px !important; }
	body .elementor-element.hkm-proof { padding: 0 !important; border: 0; }
	body .elementor-element.hkm-routes { grid-template-columns: 1fr !important; }
	.hkm-routes__title { padding: 0 0 26px; border: 0; }
	body .elementor-element.hkm-editorial { grid-template-columns: 1fr 1fr !important; }
	body .elementor-element.hkm-editorial__stats { grid-column: 1 / -1; display: grid !important; grid-template-columns: repeat(3,1fr) !important; border-top: 1px solid var(--hkm-line); border-left: 0; }
	.hkm-stat { padding: 18px 24px; border-right: 1px solid var(--hkm-line); border-bottom: 0; }
	body .elementor-element.hkm-condition-grid { grid-template-columns: repeat(2,1fr) !important; }
	body .elementor-element.hkm-condition { border-bottom: 1px solid rgba(255,255,255,.22); }
	body .elementor-element.hkm-team-feature { grid-template-columns: 1fr !important; }
	body .elementor-element.hkm-team-feature__portraits { min-height: 520px; }
}

@media (max-width: 767px) {
	body .elementor-element.hkm-hero { display: flex !important; min-height: 0; flex-direction: column !important; }
	body .elementor-element.hkm-hero__copy { order: 2; padding: 38px 22px 42px; }
	.hkm-hero__copy::after { display: none; }
	body .elementor-element.hkm-hero__media { order: 1; min-height: 430px; }
	.hkm-hero__image img { min-height: 430px; }
	.hkm-hero__title .elementor-heading-title { font-size: 48px !important; }
	body .elementor-element.hkm-hero__actions { align-items: stretch; flex-direction: column !important; }
	body .elementor-element.hkm-hero__proofs { display: none !important; }
	body .elementor-element.hkm-hero__note { right: 16px; bottom: 16px; width: calc(100% - 32px); }
	body .elementor-element.hkm-routes { width: calc(100% - 32px); padding: 34px 0; }
	body .elementor-element.hkm-routes__grid { grid-template-columns: repeat(2,1fr) !important; }
	body .elementor-element.hkm-route { min-height: 210px; padding: 20px 16px; border-top: 1px solid var(--hkm-line); }
	body .elementor-element.hkm-editorial { display: flex !important; width: 100%; margin: 48px 0; flex-direction: column !important; }
	body .elementor-element.hkm-editorial__media { min-height: 420px; }
	body .elementor-element.hkm-editorial__copy { padding: 42px 24px; }
	.hkm-editorial__copy h2 { font-size: 42px; }
	body .elementor-element.hkm-editorial__stats { grid-template-columns: 1fr !important; padding: 0 24px 26px; }
	.hkm-stat { border-right: 0; border-bottom: 1px solid var(--hkm-line); }
	body .elementor-element.hkm-conditions { padding: 60px 20px; }
	.hkm-conditions .hkm-section-head { grid-template-columns: 1fr !important; }
	.hkm-conditions .hkm-section-head h2 { font-size: 45px; }
	.hkm-conditions .hkm-section-head p { margin-top: 20px !important; }
	body .elementor-element.hkm-condition-grid { grid-template-columns: 1fr !important; }
	body .elementor-element.hkm-condition { min-height: 280px; border-right: 0; }
	body .elementor-element.hkm-team-feature { width: 100%; margin: 56px 0; }
	body .elementor-element.hkm-team-feature__copy { padding: 46px 24px; }
	.hkm-team-feature__copy h2 { font-size: 44px; }
	body .elementor-element.hkm-team-feature__portraits { grid-template-columns: 1fr 1fr !important; grid-template-rows: 350px 250px !important; min-height: 0; }
	.hkm-doctor-portrait--one { grid-column: 1 / -1; grid-row: 1; }
	body .elementor-element.hkm-journey { width: calc(100% - 40px); margin-bottom: 56px; }
	.hkm-journey .hkm-section-head h2 { font-size: 44px; }
	body .elementor-element.hkm-journey__grid { grid-template-columns: 1fr !important; }
	body .elementor-element.hkm-journey__step, .hkm-journey__step + .hkm-journey__step { min-height: 0; padding: 26px 0; border-right: 0; border-bottom: 1px solid var(--hkm-line); }
	.hkm-step-big p { margin-bottom: 18px !important; }
	body .elementor-element.hkm-final-cta { grid-template-columns: 1fr !important; width: calc(100% - 32px); }
	body .elementor-element.hk-page-hero--editorial, body .elementor-element.hk-article-hero { display: flex !important; width: 100%; margin-bottom: 42px !important; flex-direction: column-reverse !important; }
	body .elementor-element.hk-page-hero--editorial > .hk-hero-copy-column, body .elementor-element.hk-article-hero > .hk-article-hero__copy { padding: 38px 22px !important; }
	body .elementor-element.hk-page-hero--editorial > .hk-hero-media, body .elementor-element.hk-article-hero > .hk-article-hero__media { min-height: 430px !important; }
	.hk-page-hero--editorial h1, .hk-article-hero h1 { font-size: 46px !important; }
}

/* Blog template v2: true centering, alternating article bands and reusable archives. */
body.category {
	overflow-x: clip;
}

html,
body {
	overflow-x: clip;
}

body .elementor-element.hk-article-section__intro {
	width: 100%;
	max-width: 940px;
	align-self: center !important;
	margin-right: auto !important;
	margin-left: auto !important;
}

body.single-post .elementor-element.hk-article-section--timeline {
	width: 100vw !important;
	max-width: none !important;
	margin-left: calc((100% - 100vw) / 2) !important;
	background: #fbf7f0;
}

body .elementor-element.hk-blog-archive-hero {
	min-height: 500px;
	padding: 76px 24px !important;
}
body .elementor-element.hk-blog-archive-hero__inner {
	width: 100%;
	max-width: 920px;
	align-items: center !important;
	margin: 0 auto;
	text-align: center;
}
.hk-blog-archive-hero .elementor-heading-title,
.hk-blog-archive-hero .hk-section-lead,
.hk-blog-archive-hero .hk-section-lead p {
	margin-right: auto;
	margin-left: auto;
	text-align: center;
}
.hk-blog-archive-hero .elementor-heading-title { font-size: clamp(3rem, 4.8vw, 4.65rem); }

body.blog .site-content,
body.category .site-content {
	padding: 80px 24px 96px;
	background: #f7f8fb;
}
body.category .site-content { padding-top: 0; }
body.blog .site-content > .ast-container,
body.category .site-content > .ast-container {
	display: block;
	width: 100%;
	max-width: 1180px;
	padding: 0;
}
body.blog #primary,
body.category #primary {
	width: 100%;
	margin: 0;
	padding: 0;
}
body.blog .site-main,
body.category .site-main { display: block; }

body.category .ast-archive-description {
	width: 100vw;
	max-width: none;
	margin: 0 0 80px calc((100% - 100vw) / 2);
	padding: 96px max(24px, calc((100vw - 1180px) / 2));
	border: 0;
	background:
		radial-gradient(circle at 82% 18%, rgba(52,171,225,.14), transparent 28%),
		linear-gradient(122deg, var(--hk-navy-950), var(--hk-navy-900) 64%, var(--hk-navy-800));
	text-align: center;
}
body.category .ast-archive-title {
	max-width: 900px;
	margin: 0 auto 24px;
	color: var(--hk-white) !important;
	font-family: "Merriweather", Georgia, serif;
	font-size: clamp(3rem, 4.8vw, 4.65rem);
	font-weight: 500;
	line-height: 1.08;
	letter-spacing: -.03em;
}
body.category .ast-archive-description p {
	max-width: 760px;
	margin: 0 auto;
	color: rgba(255,255,255,.78);
	font-size: 1.08rem;
	line-height: 1.75;
}

body.blog .site-main > .ast-row,
body.category .site-main > .ast-row {
	display: grid;
	width: 100%;
	grid-template-columns: repeat(2,minmax(0,1fr));
	gap: 28px;
	margin: 0;
}
body.blog .site-main > .ast-row > article.post,
body.category .site-main > .ast-row > article.post {
	width: auto !important;
	overflow: hidden;
	margin: 0;
	border: 1px solid var(--hk-border);
	border-radius: 20px;
	background: var(--hk-white);
	box-shadow: 0 18px 48px rgba(8,26,56,.08);
}
body.blog .site-main > .ast-row > article.post:first-of-type,
body.category .site-main > .ast-row > article.post:first-of-type { grid-column: 1 / -1; }
body.blog article.post .ast-article-inner,
body.blog article.post .post-content,
body.category article.post .ast-article-inner,
body.category article.post .post-content {
	height: 100%;
	background: transparent;
}
body.blog article.post .post-thumb,
body.category article.post .post-thumb { margin: 0; }
body.blog article.post .post-thumb img,
body.category article.post .post-thumb img {
	width: 100%;
	height: 270px;
	object-fit: cover;
	filter: saturate(.84) contrast(1.03);
}
body.blog article.post .post-content > .cat-links,
body.category article.post .post-content > .cat-links {
	display: block;
	padding: 28px 32px 0;
}
body.blog article.post .entry-title,
body.category article.post .entry-title {
	margin: 10px 0 14px;
	padding: 0 32px;
	font-size: clamp(1.65rem, 2.4vw, 2.25rem);
	line-height: 1.2;
}
body.blog article.post .entry-title a,
body.category article.post .entry-title a { color: var(--hk-navy-900); }
body.blog article.post .entry-header,
body.blog article.post .ast-excerpt-container,
body.category article.post .entry-header,
body.category article.post .ast-excerpt-container { padding-right: 32px; padding-left: 32px; }
body.blog article.post .entry-header,
body.category article.post .entry-header { padding-top: 0; }
body.blog article.post .entry-meta,
body.blog article.post .entry-meta *,
body.category article.post .entry-meta,
body.category article.post .entry-meta * {
	color: var(--hk-muted);
	font-size: .76rem;
	font-weight: 600;
	letter-spacing: .075em;
	text-transform: uppercase;
}
body.blog article.post .ast-excerpt-container,
body.category article.post .ast-excerpt-container {
	padding-bottom: 34px;
	color: var(--hk-muted);
	line-height: 1.72;
}
body.blog article.post .entry-content,
body.category article.post .entry-content { display: none; }

body.blog article.post:first-of-type .post-content,
body.category article.post:first-of-type .post-content {
	display: grid;
	grid-template-columns: minmax(0,1.12fr) minmax(380px,.88fr);
	grid-template-rows: auto auto auto 1fr;
	min-height: 440px;
}
body.blog article.post:first-of-type .post-content > .ast-blog-featured-section,
body.category article.post:first-of-type .post-content > .ast-blog-featured-section {
	grid-column: 1;
	grid-row: 1 / 6;
}
body.blog article.post:first-of-type .post-thumb,
body.category article.post:first-of-type .post-thumb { height: 100%; }
body.blog article.post:first-of-type .post-thumb img,
body.category article.post:first-of-type .post-thumb img {
	height: 100%;
	min-height: 440px;
}
body.blog article.post:first-of-type .post-content > .cat-links,
body.category article.post:first-of-type .post-content > .cat-links {
	grid-column: 2;
	padding: 48px 48px 0;
}
body.blog article.post:first-of-type .entry-title,
body.category article.post:first-of-type .entry-title {
	grid-column: 2;
	margin: 12px 0 18px;
	padding: 0 48px;
	font-size: clamp(2rem, 3vw, 2.7rem);
}
body.blog article.post:first-of-type .entry-header,
body.blog article.post:first-of-type .ast-excerpt-container,
body.category article.post:first-of-type .entry-header,
body.category article.post:first-of-type .ast-excerpt-container {
	grid-column: 2;
	padding-right: 48px;
	padding-left: 48px;
}
body.blog article.post:first-of-type .ast-excerpt-container,
body.category article.post:first-of-type .ast-excerpt-container { padding-bottom: 48px; }
body.blog .posts-navigation,
body.blog .ast-pagination,
body.category .posts-navigation,
body.category .ast-pagination { grid-column: 1 / -1; }

@media (max-width: 767px) {
	body .elementor-element.hk-blog-archive-hero { min-height: 420px; padding: 64px 20px !important; }
	body.blog .site-content,
	body.category .site-content { padding: 56px 20px 72px; }
	body.category .site-content { padding-top: 0; }
	body.category .ast-archive-description {
		margin-bottom: 54px;
		padding: 68px 20px;
	}
	body.blog .site-main > .ast-row,
	body.category .site-main > .ast-row { grid-template-columns: 1fr; }
	body.blog article.post:first-of-type .post-content,
	body.category article.post:first-of-type .post-content { display: block; min-height: 0; }
	body.blog article.post:first-of-type .post-thumb,
	body.category article.post:first-of-type .post-thumb { height: auto; }
	body.blog article.post:first-of-type .post-thumb img,
	body.category article.post:first-of-type .post-thumb img { height: 280px; min-height: 0; }
	body.blog article.post:first-of-type .post-content > .cat-links,
	body.category article.post:first-of-type .post-content > .cat-links { padding: 28px 24px 0; }
	body.blog article.post:first-of-type .entry-title,
	body.category article.post:first-of-type .entry-title { padding: 0 24px; }
	body.blog article.post:first-of-type .entry-header,
	body.blog article.post:first-of-type .ast-excerpt-container,
	body.category article.post:first-of-type .entry-header,
	body.category article.post:first-of-type .ast-excerpt-container { padding-right: 24px; padding-left: 24px; }
}

body {
	color: var(--hk-ink);
}

.ast-primary-header-bar {
	border-bottom: 1px solid var(--hk-border);
}

.site-branding .ast-site-title-wrap {
	display: none;
}

.site-branding img.custom-logo {
	width: auto;
	max-width: 270px;
	height: auto;
}

.main-header-menu > .menu-item > .menu-link {
	font-weight: 600;
}

.hk-section--soft {
	background: var(--hk-surface);
}

.hk-section--dark {
	background: var(--hk-primary);
	color: var(--hk-white);
}

.hk-hero {
	min-height: 690px;
	justify-content: center;
	padding: 110px 24px;
	background:
		linear-gradient(90deg, rgba(8, 26, 56, 0.97) 0%, rgba(16, 37, 75, 0.92) 52%, rgba(36, 60, 128, 0.74) 100%),
		radial-gradient(circle at 85% 20%, rgba(196, 138, 43, 0.34), transparent 34%);
	color: var(--hk-white);
}

.hk-hero .elementor-heading-title {
	max-width: 850px;
	color: var(--hk-white) !important;
	font-size: clamp(2.6rem, 5.4vw, 5rem);
	line-height: 1.04;
	letter-spacing: -0.035em;
}

.hk-hero-copy {
	max-width: 720px;
	color: rgba(255, 255, 255, 0.88);
	font-size: 1.16rem;
	line-height: 1.75;
}

.hk-hero-copy,
.hk-hero-copy p {
	color: rgba(255, 255, 255, 0.88) !important;
}

.hk-eyebrow {
	color: #f0c77d;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.hk-eyebrow,
.hk-eyebrow p {
	color: var(--hk-accent) !important;
}

.hk-actions {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 10px;
}

.hk-button .elementor-button {
	border-radius: 8px;
	padding: 15px 24px;
	font-weight: 700;
}

.hk-button--primary .elementor-button {
	background: var(--hk-accent);
	color: #14201f;
}

.hk-button--outline .elementor-button {
	border: 1px solid rgba(255, 255, 255, 0.65);
	background: transparent;
	color: var(--hk-white);
}

.hk-trust-grid,
.hk-card-grid,
.hk-steps {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}

body .elementor-element.hk-trust-grid,
body .elementor-element.hk-card-grid,
body .elementor-element.hk-steps {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.hk-trust-card,
.hk-step {
	padding: 30px;
}

.hk-trust-card,
.hk-card,
.hk-step {
	border: 1px solid var(--hk-border);
	border-radius: var(--hk-radius);
	background: var(--hk-white);
	box-shadow: var(--hk-shadow);
}

.hk-card .elementor-heading-title,
.hk-step .elementor-heading-title {
	color: var(--hk-primary) !important;
}

.hk-section-title .elementor-heading-title {
	max-width: 820px;
	color: var(--hk-primary) !important;
	font-size: clamp(2rem, 4vw, 3.2rem);
	line-height: 1.12;
	letter-spacing: -0.025em;
}

.hk-section-lead {
	max-width: 760px;
	color: var(--hk-muted);
	font-size: 1.08rem;
	line-height: 1.75;
}

.hk-step-number {
	color: var(--hk-accent);
	font-size: 0.8rem;
	font-weight: 800;
	letter-spacing: 0.12em;
}

.hk-urgent {
	display: grid;
	position: relative;
	grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
	gap: 68px;
	align-items: center;
	overflow: hidden;
	padding: 54px 58px;
	border: 1px solid var(--hk-border);
	border-top: 4px solid var(--hk-secondary);
	border-radius: 18px;
	background: linear-gradient(135deg, #f8faff 0%, #eef4fb 100%);
	box-shadow: 0 22px 56px rgba(8, 26, 56, .09);
}

body .elementor-element.hk-urgent {
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
	gap: 68px;
	padding: 54px 58px !important;
}

.hk-urgent::after {
	content: "";
	position: absolute;
	top: -120px;
	right: -90px;
	width: 300px;
	height: 300px;
	border: 52px solid rgba(52, 171, 225, .08);
	border-radius: 50%;
	pointer-events: none;
}

.hk-urgent__title,
.hk-urgent__content {
	position: relative;
	z-index: 1;
}

.hk-urgent .elementor-heading-title {
	max-width: 510px;
	color: var(--hk-navy-900) !important;
	font-size: clamp(2rem, 3vw, 3rem);
	line-height: 1.12;
}

.hk-urgent__content,
.hk-urgent__content p {
	color: var(--hk-muted) !important;
	font-size: 1.02rem;
	line-height: 1.72;
}

.hk-urgent__note,
.hk-urgent__note p {
	margin: 0 !important;
	color: var(--hk-navy-900) !important;
	font-size: .94rem;
	font-weight: 700;
}

.hk-urgent .hk-button--primary .elementor-button {
	background: var(--hk-primary) !important;
	color: var(--hk-white) !important;
	box-shadow: 0 10px 24px rgba(36, 60, 128, .16);
}

.hk-final-cta {
	background: var(--hk-primary);
	color: var(--hk-white);
	text-align: center;
}

.hk-final-cta .elementor-heading-title,
.hk-final-cta .elementor-widget-text-editor {
	color: var(--hk-white) !important;
}

.hk-final-cta .elementor-widget-text-editor p {
	color: var(--hk-white) !important;
}

body .hk-button--primary .elementor-button {
	background-color: var(--hk-accent) !important;
	color: #14201f !important;
}

body .hk-button--outline .elementor-button {
	border: 1px solid rgba(255, 255, 255, 0.7);
	background-color: transparent !important;
	color: var(--hk-white) !important;
}

body .hk-button--text .elementor-button {
	padding-left: 0;
	background: transparent !important;
	color: var(--hk-primary) !important;
}

.hk-page-hero {
	padding: 88px 24px 72px;
	background: linear-gradient(120deg, #081a38 0%, #10254b 62%, #243c80 100%);
	color: var(--hk-white);
}

.hk-page-hero .elementor-heading-title {
	max-width: 900px;
	color: var(--hk-white) !important;
	font-size: clamp(2.5rem, 5vw, 4.5rem);
	line-height: 1.06;
	letter-spacing: -0.035em;
}

.hk-page-hero .elementor-widget-text-editor,
.hk-page-hero .elementor-widget-text-editor p {
	max-width: 780px;
	color: rgba(255, 255, 255, 0.9) !important;
	font-size: 1.1rem;
	line-height: 1.75;
}

.hk-content-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
	gap: 48px;
	align-items: start;
}

body .elementor-element.hk-content-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
}

.hk-prose {
	max-width: 780px;
}

.hk-prose .elementor-widget-text-editor,
.hk-prose .elementor-widget-text-editor p,
.hk-prose .elementor-widget-text-editor li {
	color: var(--hk-ink);
	font-size: 1.04rem;
	line-height: 1.78;
}

.hk-prose .elementor-heading-title {
	margin-top: 22px;
	color: var(--hk-primary) !important;
	line-height: 1.2;
}

.hk-sidebar-card,
.hk-info-box,
.hk-review-box {
	padding: 26px;
	border: 1px solid var(--hk-border);
	border-radius: var(--hk-radius);
	background: var(--hk-white);
	box-shadow: var(--hk-shadow);
}

.hk-sidebar-card {
	position: sticky;
	top: 96px;
}

.hk-sidebar-card .elementor-heading-title,
.hk-info-box .elementor-heading-title,
.hk-review-box .elementor-heading-title {
	color: var(--hk-primary) !important;
}

.hk-info-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.hk-team-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

body .elementor-element.hk-team-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.hk-doctor-card {
	overflow: hidden;
	border: 1px solid var(--hk-border);
	border-radius: var(--hk-radius);
	background: var(--hk-white);
	box-shadow: var(--hk-shadow);
}

.hk-doctor-card .elementor-widget-image img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
}

.hk-doctor-card__body {
	padding: 26px;
}

.hk-doctor-card__body .elementor-heading-title {
	color: var(--hk-primary) !important;
}

body .elementor-element.hk-info-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.hk-medical-note {
	padding: 26px;
	border-left: 5px solid var(--hk-secondary);
	background: #edf7f5;
}

.hk-source-note {
	font-size: 0.92rem;
	color: var(--hk-muted);
}

@media (max-width: 921px) {
	.site-branding img.custom-logo {
		max-width: 205px;
	}

	.hk-trust-grid,
	.hk-card-grid,
	.hk-steps {
		grid-template-columns: 1fr;
	}

	body .elementor-element.hk-trust-grid,
	body .elementor-element.hk-card-grid,
	body .elementor-element.hk-steps {
		grid-template-columns: 1fr;
	}

	.hk-hero {
		min-height: auto;
		padding: 82px 20px;
	}

	.hk-content-grid,
	body .elementor-element.hk-content-grid,
	.hk-info-grid,
	body .elementor-element.hk-info-grid,
	.hk-team-grid,
	body .elementor-element.hk-team-grid {
		grid-template-columns: 1fr;
	}

	.hk-sidebar-card {
		position: static;
	}

	.hk-page-hero {
		padding: 72px 20px 56px;
	}
}

/* ========================================================================== */
/* V22 SINGLE-PAGE CARD REDUCTION PROTOTYPE                                   */
/*                                                                            */
/* Page 61 (Sta je kila) is the controlled test case. Information becomes an  */
/* editorial register or a connected sequence; only genuine choices and       */
/* comparisons retain a card treatment. Nothing here affects another page.    */
/* ========================================================================== */

/* Four anatomical cues: an editorial register, not four equal cards. */
body:not(.home) .hk-layout--cards-focus .hk-feature-grid {
	display: grid !important;
	grid-template-columns: repeat(2,minmax(0,1fr)) !important;
	gap: 0 !important;
	overflow: visible !important;
	border: 0 !important;
	background: transparent !important;
}
body:not(.home) .hk-layout--cards-focus .hk-feature-grid > .hk-card {
	display: grid !important;
	grid-template-columns: 58px minmax(0,1fr) !important;
	grid-template-rows: auto auto 1fr !important;
	column-gap: 22px !important;
	row-gap: 7px !important;
	min-height: 0 !important;
	padding-inline: 0 !important;
	border: 0 !important;
	border-bottom: 1px solid var(--hkm-internal-line) !important;
	background: transparent !important;
}
body:not(.home) .hk-layout--cards-focus .hk-feature-grid > .hk-card:nth-child(odd) {
	padding-right: 38px !important;
}
body:not(.home) .hk-layout--cards-focus .hk-feature-grid > .hk-card:nth-child(even) {
	padding-left: 38px !important;
	border-left: 1px solid var(--hkm-internal-line) !important;
}
body:not(.home) .hk-layout--cards-focus .hk-feature-grid .hk-card-icon {
	grid-column: 1 !important;
	grid-row: 1 / span 3 !important;
	margin: 1px 0 0 !important;
}
body:not(.home) .hk-layout--cards-focus .hk-feature-grid .hk-card-kicker,
body:not(.home) .hk-layout--cards-focus .hk-feature-grid .elementor-widget-heading,
body:not(.home) .hk-layout--cards-focus .hk-feature-grid .elementor-widget-text-editor:not(.hk-card-kicker) {
	grid-column: 2 !important;
	margin: 0 !important;
}
body:not(.home) .hk-layout--cards-focus .hk-feature-grid .elementor-widget-text-editor p {
	margin-bottom: 0 !important;
}

/* Diagnostic steps: one rail with three stops instead of three boxes. */
body:not(.home) .hk-process-grid--vertical {
	display: grid !important;
	grid-template-columns: repeat(3,minmax(0,1fr)) !important;
	gap: clamp(28px,3vw,52px) !important;
	overflow: visible !important;
	border: 0 !important;
	background: transparent !important;
}
body:not(.home) .hk-process-grid--vertical > .hk-card {
	min-height: 0 !important;
	border: 0 !important;
	border-top: 3px solid var(--hkm-cyan) !important;
	background: transparent !important;
}

/* Recovery: a continuous phase line with separators, not another card row. */
body:not(.home) .hk-layout--system-focus .hk-timeline {
	display: grid !important;
	grid-template-columns: repeat(3,minmax(0,1fr)) !important;
	gap: 0 !important;
	overflow: visible !important;
	border: 0 !important;
	border-top: 1px solid var(--hkm-internal-line) !important;
	background: transparent !important;
}
body:not(.home) .hk-layout--system-focus .hk-timeline > .hk-card {
	min-height: 0 !important;
	padding-inline: clamp(26px,2.8vw,44px) !important;
	border: 0 !important;
	border-left: 1px solid var(--hkm-internal-line) !important;
	background: transparent !important;
}
body:not(.home) .hk-layout--system-focus .hk-timeline > .hk-card:first-child {
	padding-left: 0 !important;
	border-left: 0 !important;
}

/* Related content: three clear link rows. Clickability remains obvious, but
 * the end of the page no longer introduces three more large cards. */
body:not(.home) .hk-layout--cards-editorial .hk-related-grid {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 0 !important;
	overflow: visible !important;
	border: 0 !important;
	border-top: 1px solid var(--hkm-internal-line) !important;
	background: transparent !important;
}
body:not(.home) .hk-layout--cards-editorial .hk-related-grid > .hk-link-card {
	display: grid !important;
	grid-template-columns: minmax(120px,.32fr) minmax(0,1.25fr) auto !important;
	grid-template-rows: auto auto !important;
	align-items: center !important;
	column-gap: clamp(24px,3vw,52px) !important;
	row-gap: 6px !important;
	min-height: 0 !important;
	padding-inline: 0 !important;
	border: 0 !important;
	border-bottom: 1px solid var(--hkm-internal-line) !important;
	background: transparent !important;
}
body:not(.home) .hk-layout--cards-editorial .hk-related-grid .hk-card-kicker {
	grid-column: 1 !important;
	grid-row: 1 / span 2 !important;
	margin: 0 !important;
}
body:not(.home) .hk-layout--cards-editorial .hk-related-grid .elementor-widget-heading,
body:not(.home) .hk-layout--cards-editorial .hk-related-grid .elementor-widget-text-editor:not(.hk-card-kicker) {
	grid-column: 2 !important;
	margin: 0 !important;
}
body:not(.home) .hk-layout--cards-editorial .hk-related-grid .hk-button {
	grid-column: 3 !important;
	grid-row: 1 / span 2 !important;
	margin: 0 !important;
}
body:not(.home) .hk-layout--cards-editorial .hk-related-grid p {
	margin-bottom: 0 !important;
}

@media (max-width: 767px) {
	body:not(.home) .hk-layout--cards-focus .hk-feature-grid,
	body:not(.home) .hk-process-grid--vertical,
	body:not(.home) .hk-layout--system-focus .hk-timeline {
		grid-template-columns: 1fr !important;
	}
	body:not(.home) .hk-layout--cards-focus .hk-feature-grid > .hk-card,
	body:not(.home) .hk-layout--cards-focus .hk-feature-grid > .hk-card:nth-child(odd),
	body:not(.home) .hk-layout--cards-focus .hk-feature-grid > .hk-card:nth-child(even) {
		grid-template-columns: 46px minmax(0,1fr) !important;
		padding-inline: 0 !important;
		border-left: 0 !important;
	}
	body:not(.home) .hk-process-grid--vertical {
		gap: 28px !important;
	}
	body:not(.home) .hk-layout--system-focus .hk-timeline > .hk-card,
	body:not(.home) .hk-layout--system-focus .hk-timeline > .hk-card:first-child {
		padding-inline: 0 !important;
		border-left: 0 !important;
		border-bottom: 1px solid var(--hkm-internal-line) !important;
	}
	body:not(.home) .hk-layout--cards-editorial .hk-related-grid > .hk-link-card {
		grid-template-columns: 1fr auto !important;
		grid-template-rows: auto auto auto !important;
		column-gap: 18px !important;
		padding-inline: 0 !important;
	}
	body:not(.home) .hk-layout--cards-editorial .hk-related-grid .hk-card-kicker,
	body:not(.home) .hk-layout--cards-editorial .hk-related-grid .elementor-widget-heading,
	body:not(.home) .hk-layout--cards-editorial .hk-related-grid .elementor-widget-text-editor:not(.hk-card-kicker) {
		grid-column: 1 / -1 !important;
		grid-row: auto !important;
	}
	body:not(.home) .hk-layout--cards-editorial .hk-related-grid .hk-button {
		grid-column: 1 / -1 !important;
		grid-row: auto !important;
		justify-self: start !important;
		margin-top: 8px !important;
	}
}

/* Global design system v2: calm surgical editorial direction. */
:root {
	--hk-navy-950: #081a38;
	--hk-navy-900: #10254b;
	--hk-navy-800: #243c80;
	--hk-teal-700: #243c80;
	--hk-teal-500: #34abe1;
	--hk-medical-teal: #243c80;
	--hk-gold-500: #34abe1;
	--hk-gold-200: #c9ebf8;
	--hk-ink: #122b38;
	--hk-muted: #5d7078;
	--hk-mist: #f1f4f9;
	--hk-sand: #f4efe7;
	--hk-surface: #f7f8fb;
	--hk-border: #dbe1ec;
	--hk-white: #ffffff;
	--hk-radius-sm: 8px;
	--hk-radius: 16px;
	--hk-radius-lg: 24px;
	--hk-shadow: 0 18px 48px rgba(7, 31, 45, 0.08);
	--hk-shadow-hover: 0 24px 60px rgba(7, 31, 45, 0.13);
	--hk-content: 1180px;
	--hk-reading: 720px;
}

html { scroll-behavior: smooth; }
body,
button,
input,
select,
textarea {
	font-family: "Inter", Arial, sans-serif;
}
body {
	background: var(--hk-white);
	color: var(--hk-ink);
	font-size: 17px;
	line-height: 1.72;
}
h1, h2, h3, h4, h5, h6,
.elementor-heading-title {
	font-family: "Inter", Arial, sans-serif;
	font-weight: 600;
	letter-spacing: -0.025em;
	word-spacing: 0.08em;
}
h1, h2,
h1.elementor-heading-title,
h2.elementor-heading-title,
.hk-section-title .elementor-heading-title {
	font-family: "Merriweather", Georgia, serif !important;
	font-weight: 500 !important;
	letter-spacing: -0.018em;
	word-spacing: normal;
}
body h3, body h4, body h5, body h6,
body h3.elementor-heading-title,
body h4.elementor-heading-title,
body h5.elementor-heading-title,
body h6.elementor-heading-title {
	font-family: "Inter", Arial, sans-serif !important;
	font-weight: 600 !important;
}
a { color: var(--hk-teal-700); }
a:hover { color: var(--hk-navy-900); }

.ast-primary-header-bar {
	min-height: 82px;
	border-bottom: 1px solid rgba(216, 226, 223, 0.8);
	background: rgba(255, 255, 255, 0.96);
	box-shadow: 0 5px 22px rgba(7, 31, 45, 0.035);
}
.main-header-menu > .menu-item > .menu-link {
	color: var(--hk-navy-900);
	font-family: "Inter", Arial, sans-serif;
	font-size: 0.92rem;
	font-weight: 600;
	letter-spacing: -0.01em;
}

.hk-section,
.hk-page-hero,
.hk-final-cta {
	width: 100%;
}
.hk-page-hero,
.hk-final-cta {
	padding-right: max(28px, calc((100% - var(--hk-content)) / 2));
	padding-left: max(28px, calc((100% - var(--hk-content)) / 2));
}
.hk-section > .e-con-inner,
.hk-section.elementor-element > .e-con-inner,
.hk-page-hero > .e-con-inner,
.hk-final-cta > .e-con-inner {
	width: 100%;
	max-width: var(--hk-content);
	margin-inline: auto;
}
.hk-section--white { background: var(--hk-white); }
.hk-section--mist { background: var(--hk-mist); }
.hk-section--sand { background: var(--hk-sand); }
.hk-section--navy { background: var(--hk-navy-900); color: var(--hk-white); }
.hk-section--overlap {
	position: relative;
	z-index: 2;
	background: linear-gradient(to bottom, var(--hk-navy-900) 0 42px, var(--hk-white) 42px 100%);
}

.hk-section-intro {
	max-width: 820px;
	margin-bottom: 46px;
}
.hk-eyebrow,
.hk-card-kicker {
	margin: 0 0 12px;
	font-size: 0.73rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}
.hk-eyebrow,
.hk-eyebrow p,
.hk-card-kicker,
.hk-card-kicker p {
	margin-bottom: 0;
	color: var(--hk-gold-500) !important;
}
.hk-section-title .elementor-heading-title,
.hk-section-intro > .elementor-widget-heading .elementor-heading-title {
	max-width: 850px;
	margin: 0;
	color: var(--hk-navy-900) !important;
	font-size: clamp(2.15rem, 4vw, 3.65rem);
	line-height: 1.1;
	letter-spacing: -0.045em;
}
.hk-section-lead,
.hk-section-lead p {
	max-width: 760px;
	margin-top: 16px;
	color: var(--hk-muted) !important;
	font-size: 1.08rem;
	line-height: 1.7;
}

.hk-page-hero--editorial {
	min-height: 680px;
	padding: 112px 28px 122px;
	background:
		radial-gradient(circle at 84% 24%, rgba(196, 154, 88, 0.2), transparent 28%),
		linear-gradient(125deg, var(--hk-navy-950), var(--hk-navy-900) 58%, var(--hk-navy-800) 100%);
	color: var(--hk-white);
}
.hk-page-hero--editorial > .e-con-inner,
body .elementor-element.hk-page-hero--editorial {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(300px, 0.65fr);
	gap: 74px;
	align-items: end;
}
.hk-page-hero--editorial h1.elementor-heading-title {
	max-width: 790px;
	color: var(--hk-white) !important;
	font-size: clamp(3rem, 5.9vw, 5.6rem);
	line-height: 1.01;
	letter-spacing: -0.022em;
}
.hk-page-hero--editorial .hk-hero-copy,
.hk-page-hero--editorial .hk-hero-copy p {
	max-width: 720px;
	color: rgba(255, 255, 255, 0.82) !important;
	font-size: 1.12rem;
	line-height: 1.75;
}
.hk-hero-summary {
	padding: 32px;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: var(--hk-radius-lg);
	background: rgba(255, 255, 255, 0.075);
	backdrop-filter: blur(8px);
}
.hk-hero-summary .elementor-heading-title { color: var(--hk-white) !important; font-size: 1.45rem; }
.hk-hero-summary .elementor-icon-list-item {
	padding: 11px 0;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
}
.hk-hero-summary .elementor-icon-list-text { color: rgba(255,255,255,.88) !important; }
.hk-hero-summary .elementor-icon-list-icon { display: none; }
body .hk-hero-summary .elementor-icon-list-icon,
body .hk-copy-panel--list .elementor-icon-list-icon { display: none !important; }
body .hk-hero-summary .elementor-icon-list-text,
body .hk-copy-panel--list .elementor-icon-list-text { padding-left: 0 !important; }

.hk-actions,
body .elementor-element.hk-actions {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 12px;
}
.hk-button .elementor-button {
	min-height: 52px;
	padding: 16px 25px;
	border-radius: var(--hk-radius-sm);
	font-family: "Inter", Arial, sans-serif;
	font-size: 0.92rem;
	font-weight: 700;
	line-height: 1;
	transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.hk-button .elementor-button:hover { transform: translateY(-2px); }
body .hk-button--primary .elementor-button {
	background: var(--hk-gold-500) !important;
	color: var(--hk-navy-950) !important;
	box-shadow: 0 10px 24px rgba(196, 154, 88, 0.2);
}
body .hk-button--primary .elementor-button:hover { background: #66c4ec !important; }
body .hk-button--outline .elementor-button {
	border: 1px solid rgba(255,255,255,.55);
	background: transparent !important;
	color: var(--hk-white) !important;
}
body .hk-button--text .elementor-button {
	min-height: auto;
	padding: 8px 0;
	border-bottom: 1px solid currentColor;
	border-radius: 0;
	background: transparent !important;
	color: var(--hk-teal-700) !important;
}

.hk-quick-grid,
.hk-process-grid,
.hk-timeline,
.hk-related-grid,
.hk-feature-grid,
body .elementor-element.hk-quick-grid,
body .elementor-element.hk-process-grid,
body .elementor-element.hk-timeline,
body .elementor-element.hk-related-grid,
body .elementor-element.hk-feature-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}
.hk-feature-grid--4,
body .elementor-element.hk-feature-grid--4,
.hk-process-grid--4,
body .elementor-element.hk-process-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.hk-editorial-card {
	position: relative;
	border: 1px solid var(--hk-border);
	border-radius: var(--hk-radius);
	background: var(--hk-white);
	box-shadow: none;
	transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.hk-editorial-card:hover {
	transform: translateY(-4px);
	border-color: #b9c6df;
	box-shadow: var(--hk-shadow-hover);
}
.hk-editorial-card .elementor-heading-title {
	color: var(--hk-navy-900) !important;
	font-size: 1.25rem;
	line-height: 1.25;
}
.hk-editorial-card .elementor-widget-text-editor,
.hk-editorial-card .elementor-widget-text-editor p { color: var(--hk-muted); font-size: .96rem; line-height: 1.65; }
.hk-quick-grid .hk-editorial-card { min-height: 220px; box-shadow: var(--hk-shadow); }
.hk-quick-grid .hk-card-kicker p { color: var(--hk-teal-500) !important; font-size: 1rem; }

.hk-split,
.hk-comparison-grid,
.hk-approach-grid,
.hk-faq-layout,
.hk-urgent-band,
.hk-final-cta--split,
body .elementor-element.hk-split,
body .elementor-element.hk-comparison-grid,
body .elementor-element.hk-approach-grid,
body .elementor-element.hk-faq-layout,
body .elementor-element.hk-urgent-band,
body .elementor-element.hk-final-cta--split {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 66px;
	align-items: start;
}
.hk-split--wide,
body .elementor-element.hk-split--wide { grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); }
.hk-copy-panel {
	padding: 42px;
	border-top: 3px solid var(--hk-gold-500);
	background: var(--hk-surface);
}
.hk-copy-panel .elementor-widget-text-editor,
.hk-copy-panel .elementor-widget-text-editor p { color: var(--hk-ink); font-size: 1.02rem; line-height: 1.78; }
.hk-copy-panel--list { border-radius: var(--hk-radius); background: var(--hk-white); box-shadow: var(--hk-shadow); }
.hk-copy-panel--list .elementor-heading-title { color: var(--hk-navy-900) !important; }
.hk-copy-panel--list .elementor-icon-list-icon { display: none; }
.hk-copy-panel--list .elementor-icon-list-item { padding: 12px 0; border-top: 1px solid var(--hk-border); }
.hk-inline-note {
	margin-top: 18px;
	padding: 22px 24px;
	border-left: 3px solid var(--hk-teal-500);
	background: var(--hk-mist);
}
.hk-inline-note--wide {
	display: flex !important;
	min-height: 112px;
	margin-top: 34px;
	flex-direction: column !important;
	justify-content: center !important;
}
.hk-inline-note p { margin: 0; color: var(--hk-ink) !important; }

.hk-section--navy .elementor-heading-title,
.hk-urgent-band .elementor-heading-title { color: var(--hk-white) !important; }
.hk-urgent-band { align-items: center; }
.hk-urgent-copy,
.hk-urgent-copy p { color: rgba(255,255,255,.78) !important; }

.hk-process-grid { position: relative; }
.hk-process-grid::before {
	content: "";
	position: absolute;
	top: 28px;
	left: 10%;
	right: 10%;
	height: 1px;
	background: var(--hk-border);
}
.hk-process-grid .hk-editorial-card { background: transparent; border: 0; border-top: 3px solid var(--hk-teal-500); border-radius: 0; }

.hk-comparison-card {
	min-height: 330px;
	padding: 44px;
	border: 1px solid rgba(10,42,59,.12);
	border-radius: var(--hk-radius-lg);
	background: rgba(255,255,255,.65);
}
.hk-comparison-card--accent { background: var(--hk-navy-900); }
.hk-comparison-card--accent .elementor-heading-title { color: var(--hk-white) !important; }
.hk-comparison-card--accent .elementor-widget-text-editor,
.hk-comparison-card--accent .elementor-widget-text-editor p { color: rgba(255,255,255,.78) !important; }
.hk-comparison-card .elementor-heading-title { color: var(--hk-navy-900) !important; font-size: 1.75rem; }

.hk-approach-grid { gap: 24px; }
.hk-approach-card {
	min-height: 420px;
	padding: 46px;
	border: 1px solid var(--hk-border);
	border-radius: var(--hk-radius-lg);
	background: var(--hk-surface);
}
.hk-approach-card--dark { background: var(--hk-navy-900); }
.hk-approach-card .elementor-heading-title { color: var(--hk-navy-900) !important; font-size: 2rem; }
.hk-approach-card--dark .elementor-heading-title { color: var(--hk-white) !important; }
.hk-approach-card--dark .elementor-widget-text-editor,
.hk-approach-card--dark .elementor-widget-text-editor p { color: rgba(255,255,255,.78) !important; }
.hk-big-number,
.hk-big-number p { color: var(--hk-gold-500) !important; font-family: "Inter", sans-serif; font-size: 2.6rem; font-weight: 600; }
.hk-quote-panel {
	display: flex !important;
	min-height: 132px;
	margin-top: 24px;
	padding: 34px 42px;
	border-left: 4px solid var(--hk-gold-500);
	background: var(--hk-sand);
	gap: 12px !important;
	flex-direction: column !important;
	justify-content: center !important;
}
.hk-quote-panel .elementor-heading-title { color: var(--hk-navy-900) !important; font-size: 1.5rem; }
.hk-quote-panel .elementor-widget-text-editor,
.hk-quote-panel .elementor-widget-text-editor p {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	--paragraph-spacing: 0;
}

.hk-faq-layout { grid-template-columns: minmax(0,.72fr) minmax(0,1.28fr); }
.hk-accordion .elementor-accordion-item { margin-bottom: 10px; overflow: hidden; border: 1px solid rgba(10,42,59,.12) !important; border-radius: 10px; background: rgba(255,255,255,.72); }
.hk-accordion .elementor-tab-title { padding: 22px 24px; color: var(--hk-navy-900); font-family: "Inter", sans-serif; font-weight: 600; }
.hk-accordion .elementor-tab-content { padding: 0 24px 24px; border-top: 0 !important; color: var(--hk-muted); }

.hk-related-grid { margin-bottom: 50px; }
.hk-link-card { border-top: 3px solid var(--hk-teal-500); border-radius: 0 0 var(--hk-radius) var(--hk-radius); }
.hk-review-box {
	padding: 30px 34px;
	border: 1px solid var(--hk-border);
	border-radius: var(--hk-radius);
	background: var(--hk-surface);
	box-shadow: none;
}
.hk-review-box .elementor-heading-title { color: var(--hk-navy-900) !important; }
.hk-source-note,
.hk-source-note p { color: var(--hk-muted) !important; font-size: .9rem; }

.hk-final-cta--split {
	padding: 86px 28px;
	background: var(--hk-navy-950);
	text-align: left;
	align-items: center;
}
.hk-final-copy .elementor-heading-title { color: var(--hk-white) !important; font-size: clamp(2rem, 4vw, 3.4rem); }
.hk-final-copy .elementor-widget-text-editor,
.hk-final-copy .elementor-widget-text-editor p { color: rgba(255,255,255,.76) !important; }
.hk-final-actions { display: flex; flex-direction: column; gap: 12px; align-items: stretch; }
.hk-final-actions .elementor-button { width: 100%; }

@media (max-width: 1024px) {
	.hk-feature-grid--4,
	body .elementor-element.hk-feature-grid--4,
	.hk-process-grid--4,
	body .elementor-element.hk-process-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.hk-page-hero--editorial > .e-con-inner,
	body .elementor-element.hk-page-hero--editorial { grid-template-columns: 1fr; gap: 40px; }
	.hk-hero-summary { max-width: 620px; }
}

@media (max-width: 767px) {
	body { font-size: 16px; }
	.hk-page-hero,
	.hk-final-cta { padding-right: 20px; padding-left: 20px; }
	.hk-page-hero--editorial { min-height: auto; padding: 84px 20px 96px; }
	.hk-page-hero--editorial .hk-hero-copy-column h1.elementor-heading-title { font-size: clamp(2.7rem, 13vw, 4rem); }
	.hk-page-hero--editorial .hk-hero-summary .elementor-heading-title { font-size: 1.45rem; }
	.hk-quick-grid,
	.hk-process-grid,
	.hk-timeline,
	.hk-related-grid,
	.hk-feature-grid,
	.hk-feature-grid--4,
	.hk-split,
	.hk-split--wide,
	.hk-comparison-grid,
	.hk-approach-grid,
	.hk-faq-layout,
	.hk-urgent-band,
	.hk-final-cta--split,
	body .elementor-element.hk-quick-grid,
	body .elementor-element.hk-process-grid,
	body .elementor-element.hk-timeline,
	body .elementor-element.hk-related-grid,
	body .elementor-element.hk-feature-grid,
	body .elementor-element.hk-feature-grid--4,
	body .elementor-element.hk-split,
	body .elementor-element.hk-split--wide,
	body .elementor-element.hk-comparison-grid,
	body .elementor-element.hk-approach-grid,
	body .elementor-element.hk-faq-layout,
	body .elementor-element.hk-urgent-band,
	body .elementor-element.hk-final-cta--split { grid-template-columns: 1fr; gap: 24px; }
	.hk-copy-panel,
	.hk-comparison-card,
	.hk-approach-card { padding: 30px 24px; }
	.hk-process-grid::before { display: none; }
	.hk-final-cta--split { padding: 70px 20px; }
}

body .elementor-element.hk-page-hero--editorial {
	padding: 112px max(28px, calc((100% - var(--hk-content)) / 2)) 122px !important;
}
body .elementor-element.hk-final-cta--split {
	padding: 86px max(28px, calc((100% - var(--hk-content)) / 2)) !important;
}
@media (max-width: 767px) {
	body .elementor-element.hk-page-hero--editorial { padding: 84px 20px 96px !important; }
	body .elementor-element.hk-final-cta--split { padding: 70px 20px !important; }
}

/* Hero hierarchy and photographic editorial modules. */
body .elementor-element.hk-home-hero,
body .elementor-element.hk-page-hero--editorial {
	min-height: calc(100svh - 82px);
	align-items: center;
	background:
		radial-gradient(circle at 78% 22%, rgba(52, 171, 225, 0.18), transparent 32%),
		linear-gradient(128deg, var(--hk-navy-950), var(--hk-navy-900) 62%, var(--hk-navy-800) 100%);
}
body .elementor-element.hk-home-hero {
	padding: 0 !important;
	height: calc(100svh - 82px);
	min-height: calc(100svh - 82px);
	overflow: hidden;
	color: var(--hk-white);
}
body .hk-home-hero > .e-con-inner {
	display: grid !important;
	grid-template-columns: minmax(0, .96fr) minmax(0, 1.04fr);
	grid-template-rows: minmax(0, 1fr);
	gap: 0;
	align-items: center;
	width: 100%;
	max-width: none !important;
	height: 100%;
	min-height: 0;
	padding: 0;
}
.hk-home-hero .elementor-heading-title {
	max-width: 670px;
	color: var(--hk-white) !important;
	font-size: clamp(3rem, 3.4vw, 3.65rem);
	line-height: 1.12;
	letter-spacing: -.022em;
}
.hk-home-hero__copy {
	align-self: center;
	height: 100%;
	min-height: 0;
	max-height: 100%;
	justify-content: center;
	padding: 70px 72px 70px max(40px, calc((100% - var(--hk-content)) / 2)) !important;
}
.hk-home-hero__media,
.hk-hero-media {
	position: relative;
	min-width: 0;
}
.hk-home-hero__media {
	align-self: stretch;
	height: 100%;
	min-height: 0;
	max-height: 100%;
	overflow: hidden;
	padding: 0 !important;
}
.hk-home-hero__image {
	position: absolute;
	inset: 0;
	height: 100%;
	min-height: 0;
}
.hk-home-hero__image .elementor-widget-container { height: 100%; }
.hk-home-hero__image img,
.hk-hero-image img {
	display: block;
	width: 100%;
	height: min(68svh, 720px) !important;
	border-radius: 110px 18px 18px 18px !important;
	object-fit: cover;
	filter: saturate(.86) contrast(1.03);
	box-shadow: 0 32px 70px rgba(0,0,0,.24);
}
body .elementor-element.hk-page-hero--editorial {
	padding-top: 64px !important;
	padding-bottom: 72px !important;
}
.hk-home-hero__image img {
	height: 100% !important;
	border-radius: 0 !important;
	object-position: 52% 50%;
}
.hk-hero-image img { object-position: 54% 50%; }
.hk-image-caption-card,
.hk-hero-summary {
	position: absolute !important;
	right: 24px;
	bottom: -24px;
	left: 24px;
	z-index: 2;
	padding: 26px 28px;
	border: 1px solid rgba(255,255,255,.2);
	border-radius: 14px;
	background: rgba(8, 26, 56, .88);
	box-shadow: 0 18px 44px rgba(0,0,0,.22);
	backdrop-filter: blur(12px);
}
.hk-image-caption-card,
.hk-image-caption-card p { color: rgba(255,255,255,.86) !important; }
.hk-image-caption-card .hk-card-kicker p { color: var(--hk-teal-500) !important; }
.hk-hero-summary .elementor-icon-list-item { padding: 8px 0; }

.hk-hero--strip {
	min-height: 360px;
	padding: 84px max(28px, calc((100% - var(--hk-content)) / 2)) !important;
	background-position: center;
	background-size: cover;
}

.hk-editorial-image { overflow: hidden; border-radius: var(--hk-radius-lg); }
.hk-editorial-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: saturate(.82) contrast(1.02);
}
.hk-editorial-image--portrait img { min-height: 650px; object-position: center; }
.hk-editorial-image--tall img { min-height: 760px; }
.hk-editorial-image--wide img { min-height: 520px; }

.hk-diagnosis-layout,
.hk-home-media-layout,
.hk-home-story__grid,
body .elementor-element.hk-diagnosis-layout,
body .elementor-element.hk-home-media-layout,
body .elementor-element.hk-home-story__grid {
	display: grid;
	grid-template-columns: minmax(0, .84fr) minmax(0, 1.16fr);
	gap: 54px;
	align-items: stretch;
}
.hk-process-grid--vertical,
body .elementor-element.hk-process-grid--vertical,
.hk-card-grid--stacked,
body .elementor-element.hk-card-grid--stacked {
	display: grid;
	grid-template-columns: 1fr;
	gap: 14px;
}
.hk-process-grid--vertical::before { display: none; }
.hk-process-grid--vertical .hk-editorial-card {
	min-height: 0;
	border: 1px solid var(--hk-border);
	border-left: 3px solid var(--hk-teal-500);
	border-radius: var(--hk-radius);
	background: var(--hk-white);
}
.hk-approach-card--media { overflow: hidden; padding-top: 0; }
.hk-approach-image { margin: 0 -46px 34px; }
.hk-approach-image img { width: 100%; height: 210px; object-fit: cover; filter: saturate(.78); }

.hk-home-media-layout { margin-top: 48px; }
.hk-card-grid--stacked .hk-card {
	min-height: 0;
	padding-inline: 30px;
	border-left: 3px solid var(--hk-teal-500);
	box-shadow: none;
}
.hk-card-grid--stacked .hk-card .elementor-widget-text-editor p { margin-bottom: 8px; }
.hk-home-story__grid { align-items: center; }
.hk-home-story .hk-section-title .elementor-heading-title,
.hk-home-story .hk-section-lead,
.hk-home-story .hk-section-lead p { color: var(--hk-white) !important; }
.hk-home-story .hk-section-lead,
.hk-home-story .hk-section-lead p { color: rgba(255,255,255,.75) !important; }

.hk-trust-grid { counter-reset: hk-trust; }
.hk-trust-card { position: relative; min-height: 245px; padding: 34px; overflow: hidden; }
.hk-trust-card::after {
	counter-increment: hk-trust;
	content: "0" counter(hk-trust);
	position: absolute;
	right: 18px;
	bottom: -24px;
	color: rgba(36,60,128,.08);
	font-family: "Inter", sans-serif;
	font-size: 6.5rem;
	font-weight: 700;
	line-height: 1;
}
.hk-trust-card .elementor-heading-title { color: var(--hk-navy-800) !important; }

@media (max-width: 1024px) {
	body .elementor-element.hk-home-hero,
	body .elementor-element.hk-page-hero--editorial { grid-template-columns: 1fr; min-height: auto; }
	body .elementor-element.hk-home-hero { height: auto; min-height: auto; padding: 0 !important; overflow: visible; }
	.hk-home-hero > .e-con-inner { grid-template-columns: 1fr; gap: 0; }
	.hk-home-hero__copy { padding: 82px 40px 72px !important; }
	.hk-home-hero__media { min-height: 600px; }
	.hk-home-hero__image img,
	.hk-hero-image img { height: 560px !important; }
	.hk-diagnosis-layout,
	.hk-home-media-layout,
	.hk-home-story__grid,
	body .elementor-element.hk-diagnosis-layout,
	body .elementor-element.hk-home-media-layout,
	body .elementor-element.hk-home-story__grid { grid-template-columns: 1fr; }
	.hk-editorial-image--portrait img,
	.hk-editorial-image--tall img { min-height: 520px; }
}

@media (max-width: 767px) {
	body .elementor-element.hk-home-hero { padding: 0 !important; }
	.hk-home-hero__copy { padding: 72px 20px 64px !important; }
	.hk-home-hero__media { min-height: 470px; }
	body .elementor-element.hk-page-hero--editorial { min-height: auto; }
	.hk-home-hero .elementor-heading-title { font-size: clamp(2.7rem, 13vw, 4rem); }
	.hk-home-hero__image img,
	.hk-hero-image img { height: 430px !important; border-radius: 58px 14px 14px 14px !important; }
	.hk-image-caption-card,
	.hk-hero-summary { position: relative !important; right: auto; bottom: auto; left: auto; margin: -42px 14px 0; }
	.hk-editorial-image--portrait img,
	.hk-editorial-image--tall img,
	.hk-editorial-image--wide img { min-height: 380px; }
	.hk-approach-image { margin-right: -24px; margin-left: -24px; }
}

/* Design system v3: consistent cards, blue-only palette and shared CTA. */
body .elementor-element.hk-section--overlap {
	background: var(--hk-white) !important;
}

.hk-card-grid,
body .elementor-element.hk-card-grid {
	align-items: stretch;
}
.hk-card-grid > .hk-card {
	display: flex;
	height: 100%;
	min-height: 280px;
	padding-inline: 34px;
	border: 1px solid var(--hk-border);
	border-top: 3px solid var(--hk-teal-500);
	border-radius: var(--hk-radius);
	background: linear-gradient(145deg, #ffffff 0%, #f8faff 100%);
	box-shadow: 0 16px 42px rgba(8, 26, 56, .07);
}
.hk-card-grid > .hk-card .elementor-widget-text-editor,
.hk-card-grid > .hk-card .elementor-widget-text-editor p {
	color: var(--hk-muted);
	line-height: 1.7;
}
.hk-card-grid > .hk-card .elementor-widget-button:last-child {
	margin-top: auto;
}
.hk-card-grid > .hk-card .hk-button--text .elementor-button-text::after {
	content: " →";
	display: inline-block;
	margin-left: 7px;
	transition: transform .2s ease;
}
.hk-card-grid > .hk-card:hover .hk-button--text .elementor-button-text::after {
	transform: translateX(4px);
}
.hk-card-grid--numbered { counter-reset: hk-type-card; }
.hk-card-grid--numbered > .hk-card::before {
	counter-increment: hk-type-card;
	content: "0" counter(hk-type-card);
	display: block;
	position: static !important;
	inset: auto !important;
	width: auto !important;
	height: auto !important;
	margin-bottom: 20px;
	background: none !important;
	opacity: 1 !important;
	color: var(--hk-teal-500);
	font: 700 .78rem/1 "Inter", Arial, sans-serif;
	letter-spacing: .16em;
}
.hk-card-grid--stacked > .hk-card {
	min-height: 0;
	padding-inline: 30px;
	border-top-width: 1px;
	border-left: 3px solid var(--hk-teal-500);
	box-shadow: none;
}

.hk-comparison-grid,
body .elementor-element.hk-comparison-grid { align-items: stretch !important; }
.hk-comparison-card {
	display: flex;
	height: 100% !important;
	flex-direction: column;
	justify-content: flex-start;
}
body .hk-comparison-card--accent .elementor-heading-title {
	color: var(--hk-white) !important;
}

.hk-approach-grid,
body .elementor-element.hk-approach-grid { align-items: stretch !important; }
.hk-approach-card {
	display: flex;
	height: 100% !important;
	min-height: 470px;
	padding: 38px;
	flex-direction: column;
	background: linear-gradient(145deg, #ffffff 0%, #f5f7fc 100%);
}

/* Equal-height bordered cards v1: every direct card in a shared row stretches to the row height. */
.hk-quick-grid,
.hk-process-grid,
.hk-timeline,
.hk-related-grid,
.hk-feature-grid,
.hk-card-grid,
body .elementor-element.hk-quick-grid,
body .elementor-element.hk-process-grid,
body .elementor-element.hk-timeline,
body .elementor-element.hk-related-grid,
body .elementor-element.hk-feature-grid,
body .elementor-element.hk-card-grid {
	align-items: stretch !important;
}
.hk-quick-grid > .hk-card,
.hk-process-grid > .hk-card,
.hk-timeline > .hk-card,
.hk-related-grid > .hk-card,
.hk-feature-grid > .hk-card,
.hk-card-grid > .hk-card {
	height: 100% !important;
}
body .elementor-element.hk-approach-card {
	padding: 38px !important;
	gap: 16px;
	background: linear-gradient(145deg, #ffffff 0%, #f5f7fc 100%) !important;
}
.hk-approach-card--dark {
	background: linear-gradient(145deg, var(--hk-navy-900), var(--hk-navy-800));
}
body .elementor-element.hk-approach-card--dark {
	background: linear-gradient(145deg, var(--hk-navy-900), var(--hk-navy-800)) !important;
}
body .hk-approach-card--dark .elementor-heading-title { color: var(--hk-white) !important; }
.hk-approach-fact {
	margin-top: auto;
	border: 1px solid var(--hk-border);
	border-radius: var(--hk-radius-sm);
	background: rgba(255,255,255,.72);
}
.hk-approach-fact p { margin-bottom: 0; }
.hk-approach-fact .elementor-widget-text-editor,
.hk-approach-fact .elementor-widget-text-editor p { color: var(--hk-muted); }
.hk-approach-card--dark .hk-approach-fact {
	border-color: rgba(255,255,255,.16);
	background: rgba(255,255,255,.08);
}
.hk-approach-card--dark .hk-approach-fact .elementor-widget-text-editor,
.hk-approach-card--dark .hk-approach-fact .elementor-widget-text-editor p { color: rgba(255,255,255,.78); }
.hk-approach-card--dark .hk-button--text .elementor-button { color: var(--hk-white) !important; }
.hk-approach-card > .elementor-widget-button:last-child { margin-top: 22px; }
.hk-approach-card > .elementor-widget-text-editor p { margin-bottom: 0; }
.hk-big-number,
.hk-big-number p { margin: 0 !important; }

.hk-mesh-layout,
body .elementor-element.hk-mesh-layout {
	display: block !important;
}
.hk-mesh-layout .hk-section-intro {
	max-width: 940px;
	margin-bottom: 46px;
}
.hk-mesh-layout .hk-section-title .elementor-heading-title {
	max-width: 920px;
}
.hk-mesh-panel {
	padding: 34px 0 0;
	border-top: 1px solid #c7d2e6;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}
.hk-mesh-panel > .elementor-widget-heading .elementor-heading-title {
	color: var(--hk-navy-900) !important;
	font-size: 1.75rem;
}
.hk-mesh-items,
body .elementor-element.hk-mesh-items {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0,1fr));
	gap: 12px;
	margin-top: 12px;
}
.hk-mesh-item,
body .elementor-element.hk-mesh-item {
	display: grid !important;
	grid-template-columns: 1fr;
	gap: 12px;
	align-items: start;
	padding: 20px;
	border: 1px solid var(--hk-border);
	border-radius: 12px;
	background: #f8faff;
}
.hk-mesh-number,
.hk-mesh-number p {
	margin: 2px 0 0;
	color: var(--hk-teal-500) !important;
	font: 700 .78rem/1.3 "Inter", Arial, sans-serif;
	letter-spacing: .12em;
}
.hk-mesh-item-copy .elementor-heading-title {
	margin: 0;
	color: var(--hk-navy-900) !important;
	font-size: 1rem;
}
.hk-mesh-item-copy .elementor-widget-text-editor,
.hk-mesh-item-copy .elementor-widget-text-editor p {
	margin: 4px 0 0;
	color: var(--hk-muted);
	font-size: .9rem;
	line-height: 1.5;
}

body .elementor-element.hk-final-cta--split {
	background:
		radial-gradient(circle at 88% 18%, rgba(52,171,225,.17), transparent 30%),
		linear-gradient(120deg, var(--hk-navy-950), var(--hk-navy-900)) !important;
	background-color: var(--hk-navy-950) !important;
	align-items: center !important;
}
.hk-final-cta--split .hk-eyebrow,
.hk-final-cta--split .hk-eyebrow p { color: var(--hk-teal-500) !important; }
.hk-final-actions {
	align-self: center;
	justify-content: center;
}

.hk-diagnosis-layout,
body .elementor-element.hk-diagnosis-layout {
	align-items: center !important;
}

/* Global Astra footer: native image, text and navigation widgets only. */
.site-primary-footer-wrap {
	border-top: 3px solid var(--hk-teal-500);
	background:
		radial-gradient(circle at 88% 12%, rgba(52,171,225,.1), transparent 30%),
		linear-gradient(120deg, #f7f4ee, #eef4fa) !important;
}
.site-primary-footer-wrap .ast-builder-grid-row {
	align-items: start;
	column-gap: clamp(48px, 7vw, 104px);
}
.site-primary-footer-wrap .site-footer-section-1 {
	max-width: 430px;
}
.site-primary-footer-wrap .widget {
	margin: 0;
}
.site-primary-footer-wrap .widget_media_image {
	margin-bottom: 22px;
}
.site-primary-footer-wrap .widget_media_image img,
.site-primary-footer-wrap .hk-footer-logo {
	display: block;
	width: min(240px, 100%);
	height: auto;
	padding: 10px 12px;
	border: 1px solid rgba(36,60,128,.12);
	border-radius: 8px;
	background: var(--hk-white);
	box-shadow: 0 12px 32px rgba(16,37,75,.08);
}
.site-primary-footer-wrap .widget_text,
.site-primary-footer-wrap .widget_text p {
	max-width: 390px;
	margin: 0;
	color: var(--hk-muted) !important;
	font-size: .96rem;
	line-height: 1.72;
}
.site-primary-footer-wrap .site-footer-section-2 .footer-widget-area-inner {
	display: grid;
	grid-template-columns: repeat(2, minmax(0,1fr));
	gap: 44px clamp(44px, 6vw, 88px);
}
.site-primary-footer-wrap .widget-title {
	margin: 0 0 22px;
	color: var(--hk-navy-900) !important;
	font: 700 .78rem/1.3 "Inter", Arial, sans-serif;
	letter-spacing: .14em;
	text-transform: uppercase;
}
.site-primary-footer-wrap .menu {
	margin: 0;
	list-style: none;
}
.site-primary-footer-wrap .menu-item {
	margin: 0;
	border-bottom: 1px solid rgba(36,60,128,.13);
}
.site-primary-footer-wrap .menu-item:last-child {
	border-bottom: 0;
}
.site-primary-footer-wrap .menu-item a {
	display: block;
	padding: 8px 0;
	color: var(--hk-blue-700) !important;
	font-size: .9rem;
	line-height: 1.45;
	text-decoration: none;
}
.site-primary-footer-wrap .menu-item a:hover,
.site-primary-footer-wrap .menu-item.current-menu-item > a {
	color: var(--hk-teal-500) !important;
}
.site-below-footer-wrap {
	border-top: 1px solid rgba(255,255,255,.1) !important;
	background: #081b36 !important;
}
.ast-footer-copyright,
.ast-footer-copyright p,
.ast-footer-copyright a {
	color: rgba(255,255,255,.62) !important;
	font-size: .78rem;
	letter-spacing: .02em;
}
.ast-footer-copyright a:hover { color: var(--hk-white) !important; }

@media (max-width: 1024px) {
	.site-primary-footer-wrap .ast-builder-grid-row { column-gap: 44px; }
	.site-primary-footer-wrap .site-footer-section-2 .footer-widget-area-inner { gap: 34px; }
	.hk-urgent,
	body .elementor-element.hk-urgent {
		grid-template-columns: 1fr;
		gap: 28px;
	}
}

@media (max-width: 767px) {
	.site-primary-footer-wrap .site-footer-section-1 { max-width: none; }
	.site-primary-footer-wrap .site-footer-section-2 .footer-widget-area-inner {
		grid-template-columns: 1fr;
		gap: 34px;
	}
	.site-primary-footer-wrap .widget_media_image img,
	.site-primary-footer-wrap .hk-footer-logo { width: 210px; }
	.hk-card-grid > .hk-card { min-height: 0; padding-inline: 24px; }
	body .elementor-element.hk-approach-card { min-height: 0; padding: 28px 24px !important; }
	.hk-urgent,
	body .elementor-element.hk-urgent { padding: 34px 24px !important; }
	.hk-urgent::after { display: none; }
	.hk-mesh-panel { padding: 28px 22px; }
	.hk-mesh-items { grid-template-columns: 1fr; }
}

@media (max-width: 1024px) and (min-width: 768px) {
	.hk-mesh-items { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

/* Global blog system: archive, Elementor Free article pattern and shared widgets. */
.hk-blog-archive-hero {
	min-height: 470px;
	justify-content: center;
	padding: 98px 24px;
	background:
		radial-gradient(circle at 84% 20%, rgba(52,171,225,.17), transparent 28%),
		linear-gradient(122deg, var(--hk-navy-950), var(--hk-navy-900) 64%, var(--hk-navy-800));
}
body .elementor-element.hk-blog-archive-hero { padding: 98px 24px !important; }
.hk-blog-archive-hero__inner { max-width: 840px; }
.hk-blog-archive-hero .elementor-heading-title {
	max-width: 820px;
	color: var(--hk-white) !important;
	font-size: clamp(3rem, 5.4vw, 5.1rem);
	line-height: 1.06;
}
.hk-blog-archive-hero .hk-section-lead,
.hk-blog-archive-hero .hk-section-lead p {
	max-width: 760px;
	color: rgba(255,255,255,.76) !important;
}
.hk-blog-archive-hero .hk-eyebrow,
.hk-blog-archive-hero .hk-eyebrow p { color: var(--hk-teal-500) !important; }

body.blog .site-content {
	padding: 88px 24px 104px;
	background: var(--hk-white);
}
body.blog .site-content > .ast-container {
	display: block;
	width: 100%;
	max-width: 1180px;
	padding: 0;
}
body.blog #primary {
	width: 100%;
	margin: 0;
	padding: 0;
}
body.blog .site-main {
	display: block;
}
body.blog .site-main > .ast-row {
	display: grid;
	width: 100%;
	grid-template-columns: repeat(2, minmax(0,1fr));
	gap: 28px;
	margin: 0;
}
body.blog .site-main > .ast-row > article.post {
	width: auto !important;
	overflow: hidden;
	margin: 0;
	border: 1px solid var(--hk-border);
	border-radius: var(--hk-radius-lg);
	background: linear-gradient(145deg, #fff, #f8faff);
	box-shadow: 0 18px 46px rgba(8,26,56,.07);
}
body.blog .site-main > .ast-row > article.post:first-of-type { grid-column: 1 / -1; }
body.blog article.post .ast-post-format-,
body.blog article.post .post-content { background: transparent; }
body.blog article.post .post-thumb { margin: 0; }
body.blog article.post .post-thumb img {
	width: 100%;
	height: 290px;
	object-fit: cover;
	filter: saturate(.86) contrast(1.02);
}
body.blog article.post:first-of-type .post-thumb img { height: 460px; }
body.blog article.post .entry-header,
body.blog article.post .entry-content,
body.blog article.post .ast-excerpt-container,
body.blog article.post .entry-meta { padding-right: 34px; padding-left: 34px; }
body.blog article.post .entry-header { padding-top: 30px; }
body.blog article.post .entry-title {
	margin: 8px 0 16px;
	font-size: clamp(1.8rem, 3vw, 2.7rem);
	line-height: 1.18;
}
body.blog article.post .entry-title a { color: var(--hk-navy-900); }
body.blog article.post .entry-meta,
body.blog article.post .entry-meta * {
	color: var(--hk-muted);
	font-size: .78rem;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
}
body.blog article.post .ast-excerpt-container,
body.blog article.post .entry-content { color: var(--hk-muted); line-height: 1.72; }
body.blog article.post .read-more { padding: 0 34px 34px; }
body.blog article.post .read-more a {
	color: var(--hk-primary);
	font-size: .9rem;
	font-weight: 700;
}
body.blog .posts-navigation,
body.blog .ast-pagination { grid-column: 1 / -1; }

.hk-breadcrumbs-bar {
	border-bottom: 1px solid var(--hk-border);
	background: #f7f8fb;
}
body .elementor-element.hk-breadcrumbs-bar,
body .elementor-element.hk-breadcrumbs-bar > .e-con-inner {
	height: 70px !important;
}
body .elementor-element.hk-breadcrumbs-bar > .e-con-inner {
	min-height: inherit;
}
.hk-breadcrumbs,
.hk-breadcrumbs .rank-math-breadcrumb,
.hk-breadcrumbs .rank-math-breadcrumb p {
	margin: 0;
	color: var(--hk-muted) !important;
	font-size: .74rem;
	font-weight: 600;
	line-height: 1.55;
	letter-spacing: .035em;
}
.hk-breadcrumbs .rank-math-breadcrumb a { color: var(--hk-primary) !important; }
.hk-breadcrumbs .rank-math-breadcrumb a:hover { color: var(--hk-navy-900) !important; }
.hk-breadcrumbs .separator { margin: 0 8px; color: var(--hk-teal-500); }

.hk-article-hero {
	min-height: 650px;
	justify-content: center;
	padding: 72px 24px;
	background:
		radial-gradient(circle at 84% 18%, rgba(52,171,225,.14), transparent 28%),
		linear-gradient(122deg, var(--hk-navy-950), var(--hk-navy-900) 64%, var(--hk-navy-800));
	color: var(--hk-white);
}
body .elementor-element.hk-article-hero { padding: 72px 24px !important; }
.hk-article-hero__grid,
body .elementor-element.hk-article-hero__grid {
	display: grid;
	grid-template-columns: repeat(2,minmax(0,1fr));
	gap: 60px;
	align-items: center;
}
.hk-article-hero__copy { max-width: 680px; }
.hk-article-hero h1.elementor-heading-title {
	color: var(--hk-white) !important;
	font-size: clamp(3rem, 4.2vw, 4.2rem);
	line-height: 1.05;
}
.hk-article-hero__lead,
.hk-article-hero__lead p {
	color: rgba(255,255,255,.8) !important;
	font-size: 1.08rem;
	line-height: 1.75;
}
.hk-article-meta,
.hk-article-meta p {
	margin-top: 14px;
	color: rgba(255,255,255,.58) !important;
	font-size: .78rem;
	font-weight: 600;
	letter-spacing: .07em;
	text-transform: uppercase;
}
.hk-article-hero__media { position: relative; }
.hk-article-hero__image img {
	width: 100%;
	height: 520px;
	object-fit: cover;
	border-radius: 72px 14px 14px 14px;
	filter: saturate(.82) contrast(1.04);
}
.hk-article-hero__media .hk-image-caption-card {
	position: absolute;
	right: -18px;
	bottom: 24px;
	left: 34px;
	margin: 0;
}

body .elementor-element.hk-article-summary {
	position: relative;
	z-index: 2;
	margin-top: -72px;
	background: transparent !important;
}
.hk-article-summary__grid,
body .elementor-element.hk-article-summary__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0,1fr));
	gap: 20px;
}
.hk-article-summary .hk-article-card { min-height: 220px; }

.hk-article-card {
	display: flex;
	height: 100%;
	border: 1px solid var(--hk-border);
	border-top: 3px solid var(--hk-teal-500);
	border-radius: var(--hk-radius);
	background: linear-gradient(145deg, #fff, #f8faff);
	box-shadow: 0 16px 42px rgba(8,26,56,.07);
}
body .elementor-element.hk-article-card { gap: 10px; }
body:not(.single-post) .elementor-element.hk-article-card { padding: 32px !important; }
.hk-article-card .elementor-heading-title {
	color: var(--hk-navy-900) !important;
	font-size: 1.35rem;
}
.hk-article-card .elementor-widget-text-editor,
.hk-article-card .elementor-widget-text-editor p {
	margin-bottom: 0;
	color: var(--hk-muted);
	font-size: .96rem;
	line-height: 1.68;
}
.hk-article-card .hk-card-kicker,
.hk-article-card .hk-card-kicker p {
	color: var(--hk-teal-500) !important;
	font-size: .76rem;
}

body .elementor-element.hk-article-nav {
	display: grid;
	grid-template-columns: auto minmax(0,1fr);
	gap: 30px;
	align-items: center;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 22px max(24px, calc((100vw - 1180px) / 2)) !important;
	border-bottom: 1px solid var(--hk-border);
	background: #f7f8fb;
}
.hk-article-nav .hk-card-kicker,
.hk-article-nav .hk-card-kicker p { margin: 0; }
.hk-article-nav__links,
body .elementor-element.hk-article-nav__links {
	display: flex;
	flex-flow: row wrap;
	gap: 10px 24px;
}
.hk-article-nav__link .elementor-button {
	min-height: auto;
	padding: 6px 0 9px !important;
	border-bottom: 1px solid rgba(36,60,128,.35);
	font-size: .88rem;
}

html { scroll-behavior: smooth; }
body .elementor-element.hk-article-content { padding: 0 24px !important; }
.hk-article-content + .hk-final-cta { margin-top: -10px !important; }
.hk-article-main { max-width: 1200px; margin: 0 auto; }
body .elementor-element.hk-article-main { gap: 0 !important; padding: 0 !important; }
.hk-article-opening { max-width: 920px; }
body .elementor-element.hk-article-opening { margin: 0 auto !important; }
.hk-article-opening > .elementor-widget-heading .elementor-heading-title {
	max-width: 820px;
	color: var(--hk-navy-900) !important;
	font-size: clamp(2.35rem, 4vw, 3.65rem);
	line-height: 1.12;
}
.hk-article-prose,
.hk-article-prose p {
	color: var(--hk-muted);
	font-size: 1.08rem;
	line-height: 1.86;
}
.hk-article-prose p { margin-bottom: 1.35em; }
.hk-article-section { scroll-margin-top: 104px; }
body .elementor-element.hk-article-section { margin: 0 !important; }
.hk-article-section__intro { max-width: 940px; margin: 0 auto 44px; text-align: center; }
body .elementor-element.hk-article-section__intro { align-items: center !important; }
.hk-article-section__intro .hk-section-title .elementor-heading-title {
	max-width: 880px;
	margin-right: auto;
	margin-left: auto;
	font-size: clamp(2.25rem, 4vw, 3.5rem);
	text-align: center;
}
.hk-article-section__intro .hk-section-lead { max-width: 820px; margin-right: auto; margin-left: auto; }
.hk-article-section__intro .hk-section-lead,
.hk-article-section__intro .hk-section-lead p { text-align: center; }
.hk-article-section--soft,
.hk-article-section--sand {
	border-radius: 22px;
}
.hk-article-section--soft { background: #f3f6fb; }
.hk-article-section--sand { background: var(--hk-sand); }
body.single-post .elementor-element.hk-article-section--soft,
body.single-post .elementor-element.hk-article-section--sand {
	width: 100vw !important;
	max-width: none !important;
	margin-left: calc((100% - 100vw) / 2) !important;
	border-radius: 0;
}
body.single-post { overflow-x: clip; }

.hk-article-media-split,
body .elementor-element.hk-article-media-split {
	display: grid;
	grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
	gap: 52px;
	align-items: center;
}
.hk-article-media-split__media,
body .elementor-element.hk-article-media-split__media {
	gap: 14px;
}
.hk-article-inline-image img {
	display: block;
	width: 100%;
	height: 500px;
	object-fit: cover;
	border-radius: 18px 18px 64px 18px;
	box-shadow: var(--hk-shadow);
}
.hk-article-inline-caption,
.hk-article-inline-caption p {
	margin: 0;
	color: var(--hk-muted);
	font-size: .84rem;
	line-height: 1.55;
}
.hk-article-media-split__content .hk-check-list {
	margin: 0;
}

.hk-article-note {
	margin-top: 32px;
	padding: 26px 30px;
	border-left: 3px solid var(--hk-teal-500);
	border-radius: 0 var(--hk-radius) var(--hk-radius) 0;
	background: var(--hk-mist);
}
body .elementor-element.hk-article-note { padding: 26px 30px !important; }
.hk-article-note .elementor-widget-text-editor,
.hk-article-note .elementor-widget-text-editor p { margin-bottom: 0; color: var(--hk-ink); }
.hk-article-note--strong { border-left-color: var(--hk-primary); background: var(--hk-white); }

.hk-article-timeline,
.hk-article-card-grid,
body .elementor-element.hk-article-timeline,
body .elementor-element.hk-article-card-grid {
	display: grid;
	grid-template-columns: repeat(2,minmax(0,1fr));
	gap: 18px;
}
.hk-article-timeline .hk-article-card { min-height: 250px; }
.hk-article-card-grid { margin-top: 40px; }
.hk-article-card-grid:not(.hk-article-card-grid--two),
body .elementor-element.hk-article-card-grid:not(.hk-article-card-grid--two) {
	grid-template-columns: repeat(3,minmax(0,1fr));
}

.hk-check-list .elementor-icon-list-items { display: grid; gap: 13px; }
.hk-check-list .elementor-icon-list-item {
	align-items: flex-start;
	padding-bottom: 13px;
	border-bottom: 1px solid rgba(36,60,128,.12);
}
.hk-check-list .elementor-icon-list-item:last-child { border-bottom: 0; }
.hk-check-list .elementor-icon-list-icon { margin-top: 5px; }
.hk-check-list .elementor-icon-list-icon i { color: var(--hk-teal-500); font-size: .78rem; }
.hk-check-list .elementor-icon-list-text { color: var(--hk-ink); line-height: 1.62; }

.hk-article-checklist,
body .elementor-element.hk-article-checklist {
	display: grid;
	grid-template-columns: repeat(2,minmax(0,1fr));
	gap: 22px;
}
.hk-article-checklist__column {
	border: 1px solid rgba(36,60,128,.13);
	border-radius: var(--hk-radius);
	background: rgba(255,255,255,.72);
}
body:not(.single-post) .elementor-element.hk-article-checklist__column { padding: 32px !important; }
.hk-article-checklist__column .elementor-heading-title {
	color: var(--hk-navy-900) !important;
	font-size: 1.5rem;
}

.hk-article-alert {
	display: grid;
	grid-template-columns: minmax(0,1fr) auto;
	gap: 40px;
	align-items: center;
	margin: 0;
	border-radius: 22px;
	background: linear-gradient(125deg, var(--hk-navy-950), var(--hk-navy-800));
}
body .elementor-element.hk-article-alert {
	display: grid !important;
	grid-template-columns: minmax(0,1fr) auto !important;
	gap: 40px !important;
	align-items: center !important;
	background: linear-gradient(125deg, var(--hk-navy-950), var(--hk-navy-800)) !important;
}
html body.single-post .elementor .elementor-element.hk-article-alert {
	width: 100vw !important;
	max-width: none !important;
	margin-left: calc((100% - 100vw) / 2);
	border-radius: 0;
	background-color: #081a38 !important;
	background-image: linear-gradient(125deg, #081a38, #243c80) !important;
}
body .elementor-element.hk-article-alert > .elementor-element {
	height: auto;
	min-height: 0;
	align-self: center;
}
.hk-article-alert .elementor-heading-title { max-width: 700px; color: var(--hk-white) !important; font-size: clamp(2rem,3.4vw,3.1rem); }
.hk-article-alert .elementor-widget-text-editor,
.hk-article-alert .elementor-widget-text-editor p { color: rgba(255,255,255,.76) !important; line-height: 1.76; }
.hk-article-alert .hk-eyebrow,
.hk-article-alert .hk-eyebrow p { color: var(--hk-teal-500) !important; }

.hk-article-accordion .elementor-accordion-item { background: var(--hk-white); }
.hk-article-accordion { max-width: 1000px; margin: 0 auto; }
body.single-post .elementor-element.hk-article-sources {
	width: 100vw !important;
	max-width: none !important;
	margin-left: calc((100% - 100vw) / 2) !important;
	background: #f3f6fb;
}
.hk-article-sources__grid,
body .elementor-element.hk-article-sources__grid {
	display: grid;
	grid-template-columns: repeat(3,minmax(0,1fr));
	gap: 18px;
}
.hk-article-source {
	border: 1px solid var(--hk-border);
	border-top: 3px solid var(--hk-teal-500);
	border-radius: var(--hk-radius);
	background: var(--hk-white);
}
.hk-article-source .elementor-heading-title { color: var(--hk-navy-900) !important; font-size: 1.2rem; }
.hk-article-source .elementor-widget-text-editor,
.hk-article-source .elementor-widget-text-editor p { color: var(--hk-muted); font-size: .9rem; line-height: 1.6; }
.hk-article-review { margin-top: 24px; }

@media (max-width: 1024px) {
	.hk-article-hero__grid,
	body .elementor-element.hk-article-hero__grid { grid-template-columns: 1fr; gap: 42px; }
	.hk-article-hero__copy { max-width: 820px; }
	.hk-article-hero__image img { height: 520px; }
	.hk-article-summary__grid,
	body .elementor-element.hk-article-summary__grid { grid-template-columns: 1fr; }
	.hk-article-summary .hk-article-card { min-height: 0; }
	.hk-article-card-grid:not(.hk-article-card-grid--two),
	body .elementor-element.hk-article-card-grid:not(.hk-article-card-grid--two),
	.hk-article-sources__grid,
	body .elementor-element.hk-article-sources__grid { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
	body .elementor-element.hk-blog-archive-hero { min-height: 420px; padding: 76px 20px !important; }
	body.blog .site-content { padding: 56px 20px 76px; }
	body.blog .site-main > .ast-row { grid-template-columns: 1fr; }
	body.blog .site-main > .ast-row > article.post:first-of-type { grid-column: auto; }
	body.blog article.post:first-of-type .post-thumb img,
	body.blog article.post .post-thumb img { height: 250px; }
	body.blog article.post .entry-header,
	body.blog article.post .entry-content,
	body.blog article.post .ast-excerpt-container,
	body.blog article.post .entry-meta { padding-right: 24px; padding-left: 24px; }
	body.blog article.post .read-more { padding: 0 24px 28px; }
	.hk-breadcrumbs,
	.hk-breadcrumbs .rank-math-breadcrumb,
	.hk-breadcrumbs .rank-math-breadcrumb p {
		min-width: 0;
		font-size: .68rem;
	}
	.hk-breadcrumbs .rank-math-breadcrumb p {
		display: block;
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
	}
	body .elementor-element.hk-article-hero { min-height: auto; padding: 64px 20px !important; }
	.hk-article-hero__image img { height: 390px; border-radius: 50px 12px 12px; }
	.hk-article-hero__media .hk-image-caption-card { position: relative; right: auto; bottom: auto; left: auto; margin: -34px 12px 0; }
	body .elementor-element.hk-article-summary { margin-top: 0; background: var(--hk-white) !important; }
	body .elementor-element.hk-article-nav { grid-template-columns: 1fr; gap: 12px; padding: 22px 20px !important; }
	.hk-article-nav__links,
	body .elementor-element.hk-article-nav__links { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 18px; }
	body .elementor-element.hk-article-content { padding: 0 20px !important; }
	.hk-article-section--soft,
	.hk-article-section--sand { border-radius: 16px; }
	.hk-article-timeline,
	body .elementor-element.hk-article-timeline,
	.hk-article-card-grid,
	body .elementor-element.hk-article-card-grid,
	.hk-article-checklist,
	body .elementor-element.hk-article-checklist { grid-template-columns: 1fr; }
	body .elementor-element.hk-article-note { padding: 24px !important; }
	.hk-article-media-split,
	body .elementor-element.hk-article-media-split { grid-template-columns: 1fr; gap: 30px; }
	.hk-article-inline-image img { height: 360px; border-radius: 14px 14px 42px; }
	.hk-article-alert,
	body .elementor-element.hk-article-alert { grid-template-columns: 1fr; }
}

/* Responsive system v4: fluid type, viewport-aware heroes and native long-page navigation. */
.hk-section[id] { scroll-margin-top: 96px; }

body .elementor-element.hk-section--toc {
	background: #f2f5fa;
}
.hk-toc-panel {
	border: 0;
	border-top: 3px solid var(--hk-teal-500);
	border-radius: 0;
	background: var(--hk-white);
	box-shadow: none;
}
.hk-toc-panel .hk-section-title .elementor-heading-title {
	max-width: 100%;
	font-size: clamp(1.7rem, 2.5vw, 2.25rem);
}
.hk-toc-list { margin-top: 20px; }
.hk-toc-list .elementor-icon-list-items {
	counter-reset: hk-toc;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
}
.hk-toc-list .elementor-icon-list-item {
	counter-increment: hk-toc;
	display: flex;
	min-height: 62px;
	align-items: center;
	padding: 11px 4px;
	border: 0;
	border-bottom: 1px solid rgba(36,60,128,.16);
	border-radius: 0;
	background: transparent;
	position: relative;
	transition: border-color .2s ease, color .2s ease;
}
.hk-toc-list .elementor-icon-list-item::before {
	content: counter(hk-toc, decimal-leading-zero);
	display: inline-flex;
	width: 30px;
	height: 30px;
	flex: 0 0 30px;
	align-items: center;
	justify-content: center;
	margin-right: 12px;
	border: 1px solid rgba(52,172,218,.55);
	border-radius: 50%;
	color: var(--hk-primary);
	font-size: .67rem;
	font-weight: 700;
	letter-spacing: .04em;
}
.hk-toc-list .elementor-icon-list-item:hover {
	border-color: var(--hk-teal-500);
}
.hk-toc-list .elementor-icon-list-item:hover .elementor-icon-list-text { color: var(--hk-primary) !important; }
.hk-toc-list .elementor-icon-list-icon { display: none !important; }
.hk-toc-list .elementor-icon-list-text {
	padding-left: 0 !important;
	color: var(--hk-navy-900) !important;
	font-size: .88rem;
	font-weight: 650;
	line-height: 1.35;
}
.hk-source-actions { margin-top: 12px; }
.hk-source-actions .elementor-button { font-size: .82rem; }

/* Primary heroes occupy the viewport on large screens; strip/archive heroes remain compact exceptions. */
@media (min-width: 1025px) {
	body .elementor-element.hk-home-hero,
	body .elementor-element.hk-page-hero--editorial,
	body .elementor-element.hk-article-hero {
		min-height: calc(100svh - 82px) !important;
	}
}

@media (max-width: 1024px) {
	body .hk-home-hero > .e-con-inner {
		grid-template-columns: 1fr !important;
	}
	.hk-section-title .elementor-heading-title,
	.hk-section-intro > .elementor-widget-heading .elementor-heading-title,
	.hk-article-opening > .elementor-widget-heading .elementor-heading-title,
	.hk-article-section__intro .hk-section-title .elementor-heading-title {
		max-width: 20ch;
		font-size: clamp(2.1rem, 5.4vw, 3.25rem);
		line-height: 1.1;
		text-wrap: balance;
	}
	.hk-home-hero .elementor-heading-title,
	.hk-page-hero--editorial h1.elementor-heading-title,
	.hk-article-hero h1.elementor-heading-title {
		max-width: 15ch;
		font-size: clamp(2.6rem, 7vw, 4.25rem);
		line-height: 1.05;
		text-wrap: balance;
	}
	body .elementor-element.hk-home-hero,
	body .elementor-element.hk-page-hero--editorial,
	body .elementor-element.hk-article-hero {
		min-height: calc(100svh - 82px) !important;
	}
	.hk-toc-list .elementor-icon-list-items {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		row-gap: 12px;
	}
}

@media (max-width: 767px) {
	body { font-size: 16px; line-height: 1.68; }
	/* No heading may dominate an entire phone viewport. */
	.hk-home-hero .elementor-heading-title,
	.hk-page-hero--editorial h1.elementor-heading-title,
	.hk-article-hero h1.elementor-heading-title,
	.hk-blog-archive-hero .elementor-heading-title,
	body.category .ast-archive-title {
		max-width: 14ch;
		margin-right: auto;
		margin-left: auto;
		font-size: clamp(2rem, 9.2vw, 2.85rem) !important;
		line-height: 1.06 !important;
		letter-spacing: -.025em;
		text-wrap: balance;
	}
	.hk-home-hero .elementor-heading-title,
	.hk-page-hero--editorial h1.elementor-heading-title,
	.hk-article-hero h1.elementor-heading-title {
		margin-left: 0;
	}
	.hk-section-title .elementor-heading-title,
	.hk-section-intro > .elementor-widget-heading .elementor-heading-title,
	.hk-article-opening > .elementor-widget-heading .elementor-heading-title,
	.hk-article-section__intro .hk-section-title .elementor-heading-title,
	.hk-final-copy .elementor-heading-title,
	.hk-article-alert .elementor-heading-title {
		max-width: 18ch;
		font-size: clamp(1.85rem, 7.7vw, 2.38rem) !important;
		line-height: 1.12 !important;
		letter-spacing: -.025em;
		text-wrap: balance;
	}
	body h3.elementor-heading-title,
	.hk-approach-card .elementor-heading-title,
	.hk-comparison-card .elementor-heading-title {
		font-size: clamp(1.2rem, 5.4vw, 1.55rem) !important;
		line-height: 1.22;
	}
	.hk-section-lead,
	.hk-section-lead p,
	.hk-article-prose,
	.hk-article-prose p,
	.hk-page-hero--editorial .hk-hero-copy,
	.hk-page-hero--editorial .hk-hero-copy p,
	.hk-article-hero__lead,
	.hk-article-hero__lead p {
		font-size: 1rem;
		line-height: 1.68;
	}

	/* Main heroes keep viewport presence, but grow when content genuinely needs it. */
	body .elementor-element.hk-home-hero,
	body .elementor-element.hk-page-hero--editorial,
	body .elementor-element.hk-article-hero {
		height: auto !important;
		min-height: calc(100svh - 72px) !important;
		overflow: visible;
	}
	body .elementor-element.hk-page-hero--editorial {
		gap: 28px !important;
		padding: 52px 20px 64px !important;
	}
	.hk-home-hero > .e-con-inner {
		grid-template-columns: 1fr !important;
		min-height: calc(100svh - 72px);
		grid-template-rows: auto minmax(260px, 38svh);
	}
	.hk-home-hero__copy {
		height: auto;
		padding: 48px 20px 38px !important;
	}
	.hk-home-hero__media { min-height: clamp(260px, 38svh, 360px); }
	.hk-home-hero__image img { height: 100% !important; }
	.hk-hero-image img,
	.hk-article-hero__image img {
		height: clamp(280px, 39svh, 360px) !important;
	}
	.hk-hero-summary {
		margin: -30px 10px 0;
		padding: 22px 20px;
	}
	.hk-hero-summary .elementor-heading-title { font-size: 1.25rem !important; }

	.hk-copy-panel,
	.hk-comparison-card,
	.hk-approach-card,
	.hk-review-box,
	.hk-mesh-panel {
		padding: 24px 20px !important;
	}
	.hk-comparison-card,
	.hk-approach-card,
	.hk-editorial-card,
	.hk-card-grid > .hk-card { min-height: 0; }
	.hk-actions,
	body .elementor-element.hk-actions { gap: 10px; }
	.hk-button .elementor-button {
		min-height: 48px;
		padding: 14px 18px;
		font-size: .86rem;
	}

	.hk-toc-panel .hk-section-title .elementor-heading-title { font-size: 1.7rem !important; }
	.hk-toc-list { margin-top: 14px; }
	.hk-toc-list .elementor-icon-list-items {
		grid-template-columns: 1fr;
		row-gap: 8px;
	}
	.hk-toc-list .elementor-icon-list-item { min-height: 56px; padding: 9px 2px; }

	/* Archive heroes are deliberate compact strips, not forced 100vh. */
	body .elementor-element.hk-blog-archive-hero,
	body.category .ast-archive-description {
		min-height: 54svh;
		padding-top: 58px !important;
		padding-bottom: 58px !important;
	}
	body .elementor-element.hk-article-nav {
		grid-template-columns: 1fr;
		gap: 14px;
	}
	.hk-article-nav__links,
	body .elementor-element.hk-article-nav__links { grid-template-columns: 1fr; }
}

/* Short landscape screens need a compact flow instead of an artificial fixed viewport. */
@media (max-height: 680px) and (orientation: landscape) {
	body .elementor-element.hk-home-hero,
	body .elementor-element.hk-page-hero--editorial,
	body .elementor-element.hk-article-hero {
		height: auto !important;
		min-height: auto !important;
	}
	.hk-home-hero .elementor-heading-title,
	.hk-page-hero--editorial h1.elementor-heading-title,
	.hk-article-hero h1.elementor-heading-title {
		font-size: clamp(2rem, 6.5vw, 3.2rem) !important;
	}
	.hk-home-hero__copy { padding-top: 38px !important; padding-bottom: 34px !important; }
}

/* Responsive system v5: split heroes stay split on tablets and become photographic backgrounds on phones. */
@media (min-width: 768px) and (max-width: 1024px) {
	body .elementor-element.hk-home-hero,
	body .elementor-element.hk-page-hero--editorial,
	body .elementor-element.hk-article-hero {
		height: calc(100svh - 82px) !important;
		min-height: calc(100svh - 82px) !important;
		overflow: hidden !important;
	}
	body .hk-home-hero > .e-con-inner {
		grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr) !important;
		grid-template-rows: minmax(0, 1fr) !important;
	}
	.hk-home-hero__copy { padding: 54px 34px !important; }
	.hk-home-hero__media { min-height: 100%; }
	.hk-home-hero__image img { height: 100% !important; }
	body .elementor-element.hk-page-hero--editorial {
		display: grid !important;
		grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr) !important;
		gap: 34px !important;
		padding: 54px 32px 66px !important;
	}
	.hk-page-hero--editorial .hk-hero-image img {
		height: min(61svh, 590px) !important;
	}
	.hk-article-hero__grid,
	body .elementor-element.hk-article-hero__grid {
		grid-template-columns: minmax(0, .98fr) minmax(0, 1.02fr) !important;
		gap: 34px;
	}
	.hk-article-hero__image img { height: min(59svh, 560px) !important; }
}

@media (max-width: 900px) {
	/* The photograph is visual atmosphere on phones and narrow portrait tablets, not a second stacked block. */
	body .elementor-element.hk-home-hero,
	body .elementor-element.hk-page-hero--editorial,
	body .elementor-element.hk-article-hero {
		position: relative;
		isolation: isolate;
		overflow: hidden !important;
	}
	body .hk-home-hero > .e-con-inner,
	.hk-article-hero__grid,
	body .elementor-element.hk-article-hero__grid {
		position: relative;
		z-index: 1;
		min-height: calc(100svh - 72px);
		grid-template-columns: 1fr !important;
		grid-template-rows: minmax(0, 1fr) !important;
		align-items: center;
	}
	.hk-home-hero__media,
	.hk-page-hero--editorial .hk-hero-media,
	.hk-article-hero__media {
		position: absolute !important;
		inset: 0;
		z-index: 0 !important;
		width: 100%;
		height: 100%;
		min-height: 0;
		margin: 0 !important;
		padding: 0 !important;
		overflow: hidden;
		border-radius: 0 !important;
	}
	.hk-home-hero__media::after,
	.hk-page-hero--editorial .hk-hero-media::after,
	.hk-article-hero__media::after {
		content: "";
		position: absolute;
		inset: 0;
		z-index: 2;
		background:
			linear-gradient(180deg, rgba(5,20,45,.80), rgba(5,20,45,.89)),
			linear-gradient(90deg, rgba(5,20,45,.88), rgba(14,45,85,.58));
		pointer-events: none;
	}
	.hk-home-hero__image,
	.hk-page-hero--editorial .hk-hero-image,
	.hk-article-hero__image {
		position: absolute !important;
		inset: 0;
		width: 100%;
		height: 100%;
		min-height: 0;
	}
	.hk-home-hero__image .elementor-widget-container,
	.hk-page-hero--editorial .hk-hero-image .elementor-widget-container,
	.hk-article-hero__image .elementor-widget-container { height: 100%; }
	.hk-home-hero__image img,
	.hk-page-hero--editorial .hk-hero-image img,
	.hk-article-hero__image img {
		width: 100%;
		height: 100% !important;
		border-radius: 0 !important;
		object-fit: cover;
		box-shadow: none;
	}
	.hk-home-hero__image img { object-position: 58% center; }
	.hk-page-hero--editorial .hk-hero-image img { object-position: 54% center; }
	.hk-article-hero__image img { object-position: 56% center; }
	.hk-home-hero__copy,
	.hk-page-hero--editorial .hk-hero-copy-column,
	.hk-article-hero__copy {
		position: relative;
		z-index: 3 !important;
		width: 100%;
		max-width: 620px;
	}
	.hk-home-hero__copy {
		height: auto;
		justify-content: center;
		padding: 48px 20px 44px !important;
	}
	body .elementor-element.hk-page-hero--editorial {
		display: flex !important;
		justify-content: center;
		padding: 48px 20px 56px !important;
	}
	body .elementor-element.hk-article-hero { padding: 48px 20px !important; }
	/* The article grid is padded for copy, so its absolutely positioned photo must bleed back to the hero edges. */
	.hk-article-hero__media { inset: -48px -20px !important; }
	.hk-home-hero__media .hk-image-caption-card,
	.hk-page-hero--editorial .hk-hero-summary,
	.hk-article-hero__media .hk-image-caption-card { display: none !important; }
}

/* Core page families v1: procedure, hub, doctor, evergreen, contact and pricing. */
.hk-procedure-comparison,
body .elementor-element.hk-procedure-comparison {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 28px;
	align-items: stretch;
}
.hk-procedure-comparison > .e-con,
.hk-hub-card-grid > .e-con,
.hk-doctor-timeline > .e-con,
.hk-recovery-phases > .e-con {
	display: flex;
	height: 100%;
	flex-direction: column;
}
.hk-procedure-comparison .hk-button,
.hk-hub-card-grid .hk-button { margin-top: auto; }

.hk-hub-card-grid,
body .elementor-element.hk-hub-card-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
	align-items: stretch;
}
.hk-hub-card-grid .hk-editorial-card { min-height: 330px; }

.hk-doctor-hero .hk-doctor-portrait img { object-position: 50% 12%; }
.hk-doctor-timeline,
body .elementor-element.hk-doctor-timeline {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	align-items: stretch;
}
.hk-doctor-timeline .hk-editorial-card { min-height: 250px; }

.hk-recovery-phases,
body .elementor-element.hk-recovery-phases {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
	align-items: stretch;
}
.hk-recovery-phases .hk-editorial-card { min-height: 300px; }

body .elementor-element.hk-utility-hero {
	min-height: 62svh;
	align-items: stretch;
	justify-content: center;
	padding: 86px max(28px, calc((100% - var(--hk-content)) / 2)) !important;
	background:
		radial-gradient(circle at 83% 18%, rgba(52,171,225,.18), transparent 30%),
		linear-gradient(124deg, var(--hk-navy-950), var(--hk-navy-900) 62%, var(--hk-navy-800));
}
.hk-utility-hero > .e-con-inner { width: 100%; max-width: var(--hk-content); }
.hk-utility-hero > .elementor-element {
	width: 100% !important;
	align-self: stretch !important;
}
.hk-utility-hero .elementor-heading-title {
	max-width: 15ch;
	color: var(--hk-white) !important;
	font-size: clamp(3rem, 5.4vw, 5.2rem);
	line-height: 1.03;
	text-wrap: balance;
}
.hk-utility-hero .hk-hero-copy,
.hk-utility-hero .hk-hero-copy p {
	max-width: 760px;
	color: rgba(255,255,255,.78) !important;
	font-size: 1.08rem;
	line-height: 1.72;
}

.hk-contact-grid,
body .elementor-element.hk-contact-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	align-items: stretch;
}
.hk-contact-card {
	min-height: 280px;
	padding: 34px;
	border: 1px solid var(--hk-border);
	border-radius: var(--hk-radius-lg);
	background: var(--hk-white);
	box-shadow: 0 16px 42px rgba(8,26,56,.07);
}
body .elementor-element.hk-contact-card { padding: 34px !important; }
.hk-contact-card .elementor-heading-title {
	color: var(--hk-navy-900) !important;
	font-size: clamp(1.35rem, 2.1vw, 1.9rem);
	overflow-wrap: anywhere;
}
.hk-contact-card .hk-button { margin-top: auto; }
.hk-contact-card--primary {
	background: linear-gradient(145deg, var(--hk-navy-950), var(--hk-navy-800));
	border-color: rgba(255,255,255,.14);
}
.hk-contact-card--primary .elementor-heading-title,
.hk-contact-card--primary .elementor-widget-text-editor,
.hk-contact-card--primary .elementor-widget-text-editor p { color: var(--hk-white) !important; }
.hk-contact-card--primary .hk-card-kicker,
.hk-contact-card--primary .hk-card-kicker p { color: var(--hk-teal-500) !important; }

.hk-contact-form-layout,
body .elementor-element.hk-contact-form-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr);
	gap: 32px;
	align-items: stretch;
}
.hk-contact-form-panel,
.hk-contact-map-panel {
	padding: 38px;
	border: 1px solid var(--hk-border);
	border-radius: var(--hk-radius-lg);
	background: var(--hk-white);
	box-shadow: 0 18px 48px rgba(8,26,56,.075);
}
body .elementor-element.hk-contact-form-panel,
body .elementor-element.hk-contact-map-panel { padding: 38px !important; }
.hk-contact-map .elementor-widget-container,
.hk-contact-map iframe {
	min-height: 480px;
	border-radius: var(--hk-radius);
}
.hk-cf7-form .wpcf7-form { display: grid; gap: 16px; }
.hk-cf7-form .wpcf7-form p { margin: 0; }
.hk-cf7-form label {
	display: grid;
	gap: 7px;
	color: var(--hk-navy-900);
	font-size: .84rem;
	font-weight: 700;
	letter-spacing: .02em;
}
.hk-cf7-form input:not([type="submit"]),
.hk-cf7-form select,
.hk-cf7-form textarea {
	width: 100%;
	min-height: 50px;
	padding: 12px 14px;
	border: 1px solid var(--hk-border);
	border-radius: 8px;
	background: #fbfcfe;
	color: var(--hk-ink);
	font: inherit;
}
.hk-cf7-form textarea { min-height: 150px; resize: vertical; }
.hk-cf7-form input:focus,
.hk-cf7-form select:focus,
.hk-cf7-form textarea:focus {
	outline: 2px solid rgba(52,171,225,.22);
	border-color: var(--hk-secondary);
}
.hk-cf7-form .wpcf7-acceptance label {
	display: flex;
	grid-template-columns: none;
	align-items: flex-start;
	font-size: .78rem;
	font-weight: 500;
	line-height: 1.55;
}
.hk-cf7-form input[type="submit"] {
	min-height: 52px;
	padding: 14px 22px;
	border: 0;
	border-radius: 8px;
	background: var(--hk-secondary);
	color: var(--hk-navy-950);
	font-size: .86rem;
	font-weight: 750;
	cursor: pointer;
}
.hk-cf7-form input[type="submit"]:hover { background: #6bc6ed; }

.hk-price-notice { max-width: 1120px; margin: 0 auto; }
.hk-price-list,
body .elementor-element.hk-price-list {
	display: grid;
	gap: 12px;
	max-width: 1120px;
	margin: 0 auto;
}
.hk-price-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(130px, .22fr);
	gap: 24px;
	align-items: center;
	padding: 25px 28px;
	border: 1px solid var(--hk-border);
	border-radius: var(--hk-radius);
	background: var(--hk-white);
	box-shadow: 0 10px 28px rgba(8,26,56,.045);
}
body .elementor-element.hk-price-row { padding: 25px 28px !important; }
.hk-price-row .elementor-heading-title {
	color: var(--hk-navy-900) !important;
	font-size: 1.2rem;
}
.hk-price-row .elementor-widget-text-editor,
.hk-price-row .elementor-widget-text-editor p {
	margin-bottom: 0;
	color: var(--hk-muted);
	font-size: .9rem;
	line-height: 1.55;
}
.hk-price-row__price,
.hk-price-row__price p {
	margin: 0;
	color: var(--hk-primary) !important;
	font-size: 1.15rem !important;
	font-weight: 800;
	text-align: right;
}

@media (max-width: 1024px) {
	.hk-hub-card-grid,
	body .elementor-element.hk-hub-card-grid,
	.hk-doctor-timeline,
	body .elementor-element.hk-doctor-timeline,
	.hk-recovery-phases,
	body .elementor-element.hk-recovery-phases { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.hk-contact-form-layout,
	body .elementor-element.hk-contact-form-layout { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
	.hk-procedure-comparison,
	body .elementor-element.hk-procedure-comparison,
	.hk-hub-card-grid,
	body .elementor-element.hk-hub-card-grid,
	.hk-doctor-timeline,
	body .elementor-element.hk-doctor-timeline,
	.hk-recovery-phases,
	body .elementor-element.hk-recovery-phases,
	.hk-contact-grid,
	body .elementor-element.hk-contact-grid { grid-template-columns: 1fr; }
	.hk-hub-card-grid .hk-editorial-card,
	.hk-doctor-timeline .hk-editorial-card,
	.hk-recovery-phases .hk-editorial-card,
	.hk-contact-card { min-height: 0; }
	body .elementor-element.hk-utility-hero {
		min-height: 58svh;
		padding: 58px 20px !important;
	}
	.hk-utility-hero .elementor-heading-title {
		font-size: clamp(2.05rem, 9vw, 2.85rem) !important;
		line-height: 1.07;
	}
	body .elementor-element.hk-contact-card,
	body .elementor-element.hk-contact-form-panel,
	body .elementor-element.hk-contact-map-panel { padding: 25px 20px !important; }
	.hk-contact-map .elementor-widget-container,
	.hk-contact-map iframe { min-height: 330px; }
	.hk-price-row,
	body .elementor-element.hk-price-row {
		grid-template-columns: 1fr;
		gap: 12px;
		padding: 22px 20px !important;
	}
	.hk-price-row__price,
	.hk-price-row__price p { text-align: left; }
}

/* Archive system v3: one full-width Elementor intro for the blog and every category. */
body.blog .site-content,
body.category .site-content { padding-top: 0; }
body.category .ast-archive-description { display: none !important; }
body.blog .site-content .hk-breadcrumbs-bar,
body.category .site-content .hk-breadcrumbs-bar,
body.blog .site-content .hk-blog-archive-hero,
body.category .site-content .hk-blog-archive-hero {
	width: 100vw !important;
	max-width: none !important;
	margin-left: calc(50% - 50vw) !important;
}
body.blog .site-content .hk-blog-archive-hero,
body.category .site-content .hk-blog-archive-hero { margin-bottom: 80px !important; }

/* The pilot article now uses the same editorial split-hero geometry as core pages. */
body .elementor-element.hk-page-hero--editorial.hk-article-hero {
	display: grid !important;
	grid-template-columns: minmax(0, 1.45fr) minmax(300px, .65fr) !important;
	gap: 74px !important;
	align-items: end !important;
	padding: 112px 28px 122px !important;
}
.hk-page-hero--editorial.hk-article-hero .hk-article-hero__copy { max-width: none; }
.hk-page-hero--editorial.hk-article-hero .hk-article-hero__image img {
	height: 560px;
	border-radius: 72px 14px 14px 14px;
}

@media (min-width: 768px) and (max-width: 1024px) {
	body .elementor-element.hk-page-hero--editorial.hk-article-hero {
		grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr) !important;
		gap: 34px !important;
		padding: 54px 32px 66px !important;
	}
}

@media (max-width: 900px) {
	body .elementor-element.hk-page-hero--editorial.hk-article-hero {
		display: flex !important;
		justify-content: center;
		padding: 48px 20px 56px !important;
	}
	.hk-page-hero--editorial.hk-article-hero .hk-article-hero__media { inset: 0 !important; }
}

@media (max-width: 767px) {
	body.blog .site-content .hk-blog-archive-hero,
	body.category .site-content .hk-blog-archive-hero { margin-bottom: 54px !important; }
}

/* Viewport intro v1: breadcrumbs and a primary hero share one visible screen. */
.hk-viewport-intro,
body .elementor-element.hk-viewport-intro {
	display: flex !important;
	width: 100%;
	max-width: none;
	gap: 0 !important;
	flex-direction: column !important;
}
body .elementor-element.hk-viewport-intro--primary {
	height: calc(100svh - 92px) !important;
	min-height: 0 !important;
}
body.admin-bar .elementor-element.hk-viewport-intro--primary {
	height: calc(100svh - 124px) !important;
}
body .elementor-element.hk-viewport-intro--primary > .elementor-element.hk-breadcrumbs-bar {
	flex: 0 0 auto;
}
body .elementor-element.hk-viewport-intro--primary > .elementor-element.hk-page-hero--editorial {
	height: auto !important;
	min-height: 0 !important;
	padding-top: clamp(58px, 7vh, 76px) !important;
	padding-bottom: clamp(64px, 7vh, 82px) !important;
	overflow: hidden !important;
	flex: 1 1 0 !important;
}
.hk-viewport-intro--primary .hk-hero-summary {
	bottom: 18px;
}

/* Card action alignment v1: content may vary, actions always finish on one baseline. */
.hk-editorial-card,
.hk-article-source,
.hk-contact-card,
.hk-doctor-card__body,
.hk-card-grid > .hk-card,
body .elementor-element.hk-editorial-card,
body .elementor-element.hk-article-source,
body .elementor-element.hk-contact-card,
body .elementor-element.hk-doctor-card__body {
	display: flex !important;
	height: 100%;
	flex-direction: column !important;
	align-items: stretch;
}
.hk-editorial-card > .elementor-widget-button:last-child,
.hk-article-source > .elementor-widget-button:last-child,
.hk-contact-card > .elementor-widget-button:last-child,
.hk-doctor-card__body > .elementor-widget-button:last-child,
.hk-card-grid > .hk-card > .elementor-widget-button:last-child {
	margin-top: auto !important;
	padding-top: 22px;
}

@media (min-width: 783px) and (max-width: 1024px) {
	body .elementor-element.hk-viewport-intro--primary {
		height: calc(100svh - 82px) !important;
	}
	body.admin-bar .elementor-element.hk-viewport-intro--primary {
		height: calc(100svh - 114px) !important;
	}
}

@media (max-width: 782px) {
	body .elementor-element.hk-viewport-intro--primary {
		height: calc(100svh - 80px) !important;
	}
	body.admin-bar .elementor-element.hk-viewport-intro--primary {
		height: calc(100svh - 126px) !important;
	}
	body .elementor-element.hk-viewport-intro--primary > .elementor-element.hk-page-hero--editorial {
		padding-top: 42px !important;
		padding-bottom: 48px !important;
	}
}

@media (max-height: 680px) and (orientation: landscape) {
	body .elementor-element.hk-viewport-intro--primary {
		height: auto !important;
		min-height: auto !important;
	}
}

/* Hero geometry v2: true edge-to-edge backgrounds and one shared content grid. */
.hk-viewport-intro,
body .elementor-element.hk-viewport-intro {
	margin: 0 !important;
	padding: 0 !important;
}

.hk-page-hero--editorial > .hk-hero-copy-column,
.hk-page-hero--editorial > .hk-hero-media,
body .elementor-element.hk-page-hero--editorial > .elementor-element.hk-hero-copy-column,
body .elementor-element.hk-page-hero--editorial > .elementor-element.hk-hero-media {
	padding-right: 0 !important;
	padding-left: 0 !important;
}

@media (min-width: 768px) {
	body .elementor-element.hk-page-hero--editorial,
	body .elementor-element.hk-page-hero--editorial.hk-article-hero {
		padding-right: max(32px, calc((100% - var(--hk-content)) / 2)) !important;
		padding-left: max(32px, calc((100% - var(--hk-content)) / 2)) !important;
	}
}

/* Per-page mobile hero focal points: keep the clinical subject inside the portrait crop. */
@media (max-width: 900px) {
	body.page-id-12 .hk-page-hero--editorial .hk-hero-image img { object-position: 72% center !important; }
	body.page-id-13 .hk-page-hero--editorial .hk-hero-image img { object-position: 78% center !important; }
}

/* Blog directory v1: archive heroes organize content instead of acting as oversized title screens. */
body .elementor-element.hk-blog-archive-hero {
	display: flex !important;
	min-height: clamp(480px, 60svh, 620px) !important;
	padding: clamp(64px, 8vh, 92px) 24px !important;
	align-items: center;
}
body .elementor-element.hk-blog-archive-hero__inner {
	display: grid !important;
	width: 100%;
	max-width: 1180px;
	grid-template-columns: minmax(0, 1.18fr) minmax(340px, .82fr);
	gap: clamp(48px, 6vw, 84px);
	align-items: center !important;
	margin: 0 auto;
	text-align: left;
}
body .elementor-element.hk-blog-archive-hero__copy {
	width: 100%;
	max-width: 720px;
	align-items: flex-start !important;
}
.hk-blog-archive-hero .hk-blog-archive-hero__copy .elementor-heading-title,
.hk-blog-archive-hero .hk-blog-archive-hero__copy .hk-section-lead,
.hk-blog-archive-hero .hk-blog-archive-hero__copy .hk-section-lead p {
	margin-right: 0;
	margin-left: 0;
	text-align: left;
}
.hk-blog-archive-hero .hk-blog-archive-hero__copy .elementor-heading-title {
	max-width: 720px;
	font-size: var(--hk-hero-title) !important;
	line-height: 1.08;
}
.hk-blog-archive-hero .hk-blog-archive-hero__copy .hk-section-lead,
.hk-blog-archive-hero .hk-blog-archive-hero__copy .hk-section-lead p {
	max-width: 690px;
	margin-bottom: 0 !important;
	font-size: var(--hk-hero-lead) !important;
	line-height: 1.68;
}
body .elementor-element.hk-blog-topic-panel {
	width: 100%;
	padding: 30px 32px !important;
	border: 1px solid rgba(255,255,255,.20);
	border-radius: 16px;
	background: rgba(8,26,56,.48);
	box-shadow: 0 24px 60px rgba(0,0,0,.16);
	backdrop-filter: blur(10px);
}
.hk-blog-topic-panel .elementor-heading-title {
	margin-bottom: 16px;
	color: var(--hk-white) !important;
	font-family: "Inter", Arial, sans-serif;
	font-size: 1.34rem !important;
	font-weight: 650;
	line-height: 1.35;
	text-align: left !important;
}
body .elementor-element.hk-blog-topic-panel__links {
	display: grid !important;
	grid-template-columns: 1fr;
	gap: 0 !important;
}
.hk-blog-topic-panel__links .elementor-widget-button {
	width: 100%;
	border-top: 1px solid rgba(255,255,255,.15);
}
.hk-blog-topic-panel__links .elementor-widget-button:last-child {
	border-bottom: 1px solid rgba(255,255,255,.15);
}
.hk-blog-topic-panel__links .elementor-button {
	display: flex;
	width: 100%;
	min-height: 48px;
	padding: 12px 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	justify-content: flex-start;
	background: transparent !important;
	box-shadow: none !important;
	color: rgba(255,255,255,.90) !important;
	font-size: .94rem;
	text-align: left;
}
.hk-blog-topic-panel__links .elementor-button:hover,
.hk-blog-topic-panel__links .elementor-button:focus {
	color: var(--hk-teal-500) !important;
}
.hk-viewport-intro--archive,
body .elementor-element.hk-viewport-intro--archive,
body.blog .elementor-element.hk-viewport-intro--archive,
body.category .elementor-element.hk-viewport-intro--archive {
	padding-bottom: 72px !important;
	background: var(--hk-surface) !important;
}
body.blog .site-main > .ast-row {
	grid-template-columns: repeat(3, minmax(0,1fr));
}
body.blog .site-main > .ast-row > article.post:first-of-type {
	grid-column: 1 / -1;
}

@media (max-width: 1024px) {
	body .elementor-element.hk-blog-archive-hero__inner {
		grid-template-columns: minmax(0, 1fr) minmax(300px, .78fr);
		gap: 38px;
	}
	body.blog .site-main > .ast-row { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 767px) {
	body .elementor-element.hk-blog-archive-hero {
		min-height: 0 !important;
		padding: 44px 20px 48px !important;
	}
	body .elementor-element.hk-blog-archive-hero__inner {
		grid-template-columns: 1fr;
		gap: 34px;
	}
	.hk-blog-archive-hero .hk-blog-archive-hero__copy .elementor-heading-title {
		font-size: clamp(2.35rem, 11vw, 3rem) !important;
	}
	.hk-blog-archive-hero .hk-blog-archive-hero__copy .hk-section-lead,
	.hk-blog-archive-hero .hk-blog-archive-hero__copy .hk-section-lead p {
		font-size: 1.05rem !important;
		line-height: 1.55;
	}
	body .elementor-element.hk-blog-topic-panel { padding: 24px 22px !important; }
	.hk-blog-topic-panel > .elementor-widget-heading { display: none; }
	body .elementor-element.hk-blog-topic-panel__links {
		grid-template-columns: repeat(2, minmax(0,1fr));
		column-gap: 18px !important;
	}
	.hk-blog-topic-panel__links .elementor-widget-button:nth-last-child(-n+2) {
		border-bottom: 1px solid rgba(255,255,255,.15);
	}
	body.blog .site-main > .ast-row { grid-template-columns: 1fr; }
	.hk-viewport-intro--archive,
	body .elementor-element.hk-viewport-intro--archive,
	body.blog .elementor-element.hk-viewport-intro--archive,
	body.category .elementor-element.hk-viewport-intro--archive {
		padding-bottom: 44px !important;
	}
}

/* Page-specific photographic focal points. The hero geometry remains global;
   only the crop moves so the visible frame keeps a meaningful clinical motif. */
body.page-id-12 .hk-page-hero--editorial .hk-hero-image img { object-position: 69% center !important; }
body.page-id-10 .hk-page-hero--editorial .hk-hero-image img { object-position: 24% center !important; }
body.page-id-13 .hk-page-hero--editorial .hk-hero-image img { object-position: 72% center !important; }
body.page-id-15 .hk-page-hero--editorial .hk-hero-image img { object-position: 38% center !important; }
body.page-id-21 .hk-page-hero--editorial .hk-hero-image img { object-position: 51% center !important; }
body.page-id-22 .hk-page-hero--editorial .hk-hero-image img { object-position: 53% center !important; }

/* Hero type system v2: one scale for home, pages, profiles and articles. */
@media (min-width: 1025px) {
	.hk-home-hero h1.elementor-heading-title,
	.hk-page-hero--editorial h1.elementor-heading-title,
	.hk-article-hero h1.elementor-heading-title {
		max-width: 790px;
		font-size: var(--hk-hero-title) !important;
		line-height: 1.08 !important;
		letter-spacing: -.027em;
		text-wrap: balance;
	}
	.hk-home-hero .hk-hero-copy,
	.hk-home-hero .hk-hero-copy p,
	.hk-page-hero--editorial .hk-hero-copy,
	.hk-page-hero--editorial .hk-hero-copy p,
	.hk-article-hero__lead,
	.hk-article-hero__lead p {
		max-width: 720px;
		font-size: var(--hk-hero-lead) !important;
		line-height: 1.68 !important;
	}
}

@media (min-width: 768px) and (max-width: 1024px) {
	.hk-home-hero h1.elementor-heading-title,
	.hk-page-hero--editorial h1.elementor-heading-title,
	.hk-article-hero h1.elementor-heading-title {
		font-size: clamp(2.75rem, 5.8vw, 3.65rem) !important;
		line-height: 1.07 !important;
	}
	.hk-home-hero .hk-hero-copy,
	.hk-home-hero .hk-hero-copy p,
	.hk-page-hero--editorial .hk-hero-copy,
	.hk-page-hero--editorial .hk-hero-copy p,
	.hk-article-hero__lead,
	.hk-article-hero__lead p {
		font-size: 1.05rem !important;
		line-height: 1.65 !important;
	}
}

/* Hero type scale v1: global variants, with per-element overrides reserved for exceptions. */
.hk-home-hero .hk-eyebrow,
.hk-home-hero .hk-eyebrow p,
.hk-page-hero--editorial .hk-eyebrow,
.hk-page-hero--editorial .hk-eyebrow p,
.hk-article-hero .hk-eyebrow,
.hk-article-hero .hk-eyebrow p {
	font-size: var(--hk-hero-eyebrow) !important;
	line-height: 1.4 !important;
}

.hk-home-hero__media .hk-image-caption-card {
	bottom: 18px;
}

@media (min-width: 1025px) {
	body .elementor-element.hk-home-hero {
		height: calc(100svh - 92px) !important;
		min-height: calc(100svh - 92px) !important;
	}
	body.admin-bar .elementor-element.hk-home-hero {
		height: calc(100svh - 124px) !important;
		min-height: calc(100svh - 124px) !important;
	}
	.hk-home-hero h1.elementor-heading-title {
		max-width: 700px;
		font-size: var(--hk-hero-home-title) !important;
		line-height: 1.08 !important;
		letter-spacing: -.027em;
		text-wrap: balance;
	}
	.hk-home-hero .hk-hero-copy,
	.hk-home-hero .hk-hero-copy p {
		max-width: 660px;
		font-size: var(--hk-hero-home-lead) !important;
		line-height: 1.68 !important;
	}
}

@media (min-width: 768px) and (max-width: 1024px) {
	.hk-home-hero h1.elementor-heading-title {
		font-size: clamp(2.75rem, 5.8vw, 3.65rem) !important;
		line-height: 1.07 !important;
	}
	.hk-home-hero .hk-hero-copy,
	.hk-home-hero .hk-hero-copy p {
		font-size: 1.05rem !important;
		line-height: 1.65 !important;
	}
}

@media (max-width: 767px) {
	.hk-home-hero .hk-hero-copy,
	.hk-home-hero .hk-hero-copy p {
		font-size: 1rem !important;
		line-height: 1.65 !important;
	}
}

@media (max-width: 767px) {
	body .elementor-element.hk-page-hero--editorial,
	body .elementor-element.hk-page-hero--editorial.hk-article-hero {
		padding-right: 20px !important;
		padding-left: 20px !important;
	}
}

/* First content band follows the hero cleanly; cards never intrude into it. */
body .elementor-element.hk-section--overlap {
	margin-top: 0 !important;
	background: var(--hk-white) !important;
}
body .elementor-element.hk-section--mist.hk-section--overlap,
body .elementor-element.hk-article-summary {
	background: var(--hk-mist) !important;
}
body .elementor-element.hk-article-summary {
	margin-top: 0 !important;
}

/* Archive cards v4: the featured image fills its grid cell without a grey remainder. */
body.blog article.post .ast-article-inner,
body.category article.post .ast-article-inner,
body.blog article.post .post-content,
body.category article.post .post-content {
	width: 100%;
	height: 100%;
	margin: 0 !important;
	padding: 0 !important;
}
body.blog .site-main > .ast-row > article.post,
body.category .site-main > .ast-row > article.post {
	padding: 0 !important;
}
body.blog article.post .ast-blog-featured-section,
body.category article.post .ast-blog-featured-section,
body.blog article.post .post-thumb-img-content,
body.category article.post .post-thumb-img-content,
body.blog article.post .post-thumb a,
body.category article.post .post-thumb a {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0 !important;
}
body.blog article.post:first-of-type .post-thumb img,
body.category article.post:first-of-type .post-thumb img {
	display: block;
	width: 100%;
	height: 100% !important;
	min-height: 100%;
	object-fit: cover;
}

@media (max-width: 767px) {
	body.blog article.post:first-of-type .post-thumb,
	body.category article.post:first-of-type .post-thumb,
	body.blog article.post:first-of-type .post-thumb a,
	body.category article.post:first-of-type .post-thumb a {
		height: 280px;
	}
	body.blog article.post:first-of-type .post-thumb img,
	body.category article.post:first-of-type .post-thumb img {
		height: 280px !important;
		min-height: 0;
	}
}

/* Archive spacing v1: a deliberate pause between the blue intro and post cards. */
.hk-viewport-intro--archive,
body .elementor-element.hk-viewport-intro--archive {
	margin-bottom: 0 !important;
	padding-bottom: 80px !important;
	background: var(--hk-white);
}
body.category .elementor-element.hk-viewport-intro--archive {
	background: #f7f8fb;
}

@media (min-width: 768px) and (max-width: 1024px) {
	.hk-viewport-intro--archive,
	body .elementor-element.hk-viewport-intro--archive {
		padding-bottom: 60px !important;
	}
}

@media (max-width: 767px) {
	.hk-viewport-intro--archive,
	body .elementor-element.hk-viewport-intro--archive {
		padding-bottom: 44px !important;
	}
}

/* Pricing catalog v2: compact, scannable and consistent with the editorial system. */
body .elementor-element.hk-pricing-context .hk-diagnosis-layout {
	grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr);
	gap: 42px;
	padding: 0 !important;
}
.hk-pricing-context .hk-editorial-image,
.hk-pricing-context .hk-editorial-image .elementor-widget-container {
	height: 100%;
	min-height: 440px;
}
.hk-pricing-context .hk-editorial-image img {
	display: block;
	width: 100%;
	height: 100% !important;
	min-height: 440px;
	max-height: 560px;
	border-radius: 18px !important;
	object-fit: cover;
}
.hk-pricing-context .hk-copy-panel { padding: 32px !important; }
.hk-pricing-context .hk-copy-panel .elementor-widget-text-editor,
.hk-pricing-context .hk-copy-panel .elementor-widget-text-editor p {
	font-size: .96rem;
	line-height: 1.65;
}
.hk-pricing-context .hk-copy-panel > .elementor-widget-heading .elementor-heading-title {
	font-size: 1.55rem !important;
}
.hk-pricing-context-list .elementor-icon-list-items {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px 18px;
}
.hk-pricing-context-list .elementor-icon-list-item { padding: 8px 0; }
.hk-pricing-guide-copy .elementor-widget-container {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px 24px;
}
.hk-pricing-guide-copy .elementor-widget-container p { margin: 0; }

body .elementor-element.hk-pricing-catalog {
	gap: 24px;
	background: var(--hk-white);
}
body .elementor-element.hk-price-group {
	padding: 30px !important;
	border: 1px solid var(--hk-border);
	border-top: 3px solid var(--hk-secondary);
	border-radius: 18px;
	background: var(--hk-white);
	box-shadow: 0 16px 42px rgba(8,26,56,.055);
}
body .elementor-element.hk-price-group--accent {
	background: linear-gradient(145deg, #fff, #f7f9fd);
}
body .elementor-element.hk-price-group--exam {
	display: grid !important;
	grid-template-columns: minmax(0, .78fr) minmax(360px, 1.22fr);
	gap: 34px;
	align-items: center;
	padding: 26px 30px !important;
	border-top-color: var(--hk-primary);
	background: var(--hk-mist);
}
body .elementor-element.hk-pricing-catalog__grid {
	display: grid !important;
	grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
	gap: 24px;
	align-items: start;
}
.hk-price-group .hk-section-intro {
	max-width: none;
	gap: 10px !important;
	margin-bottom: 8px;
}
.hk-price-group--exam .hk-section-intro { margin-bottom: 0; }
.hk-price-group .hk-section-intro > .elementor-widget-heading .elementor-heading-title {
	max-width: none;
	font-size: clamp(1.55rem, 2.1vw, 2rem) !important;
	line-height: 1.15;
}
.hk-price-group .hk-section-lead,
.hk-price-group .hk-section-lead p {
	margin-top: 2px;
	font-size: .91rem;
	line-height: 1.55;
}
.hk-price-group .hk-price-list,
body .elementor-element.hk-price-group .elementor-element.hk-price-list {
	gap: 0;
	max-width: none;
}
.hk-price-group .hk-price-row,
body .elementor-element.hk-price-group .elementor-element.hk-price-row {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 18px;
	padding: 16px 0 !important;
	border: 0;
	border-bottom: 1px solid var(--hk-border);
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}
.hk-price-group .hk-price-row__copy,
body .elementor-element.hk-price-group .elementor-element.hk-price-row__copy {
	gap: 4px !important;
	padding: 0 !important;
}
.hk-price-group .hk-price-row:first-child,
body .elementor-element.hk-price-group .elementor-element.hk-price-row:first-child {
	padding-top: 4px !important;
}
.hk-price-group .hk-price-row:last-child,
body .elementor-element.hk-price-group .elementor-element.hk-price-row:last-child {
	padding-bottom: 0 !important;
	border-bottom: 0;
}
.hk-price-group .hk-price-row .elementor-heading-title {
	font-size: 1rem !important;
	line-height: 1.3;
}
.hk-price-group .hk-price-row .elementor-widget-text-editor,
.hk-price-group .hk-price-row .elementor-widget-text-editor p {
	font-size: .8rem;
	line-height: 1.45;
}
.hk-price-group .hk-price-row__price,
.hk-price-group .hk-price-row__price p {
	font-size: 1rem !important;
	white-space: nowrap;
}
.hk-price-group--exam .hk-price-row,
body .elementor-element.hk-price-group--exam .elementor-element.hk-price-row {
	padding: 18px 20px !important;
	border: 1px solid var(--hk-border);
	border-radius: 12px;
	background: var(--hk-white);
}

@media (max-width: 900px) {
	body .elementor-element.hk-pricing-context .hk-diagnosis-layout,
	body .elementor-element.hk-pricing-catalog__grid,
	body .elementor-element.hk-price-group--exam {
		grid-template-columns: 1fr;
	}
	.hk-price-group--exam .hk-section-intro { margin-bottom: 16px; }
}

@media (max-width: 767px) {
	.hk-pricing-context .hk-editorial-image,
	.hk-pricing-context .hk-editorial-image .elementor-widget-container,
	.hk-pricing-context .hk-editorial-image img {
		min-height: 300px;
		max-height: 340px;
	}
	.hk-pricing-context-list .elementor-icon-list-items,
	.hk-pricing-guide-copy .elementor-widget-container { grid-template-columns: 1fr; }
	body .elementor-element.hk-price-group,
	body .elementor-element.hk-price-group--exam { padding: 24px 20px !important; }
	.hk-price-group .hk-price-row,
	body .elementor-element.hk-price-group .elementor-element.hk-price-row {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 12px;
		padding: 14px 0 !important;
	}
	.hk-price-group--exam .hk-price-row,
	body .elementor-element.hk-price-group--exam .elementor-element.hk-price-row {
		padding: 16px !important;
	}
}

/* Article meta v2: useful context, deliberately subordinate to the lead. */
body .elementor-element.hk-article-hero .hk-article-meta,
body .elementor-element.hk-article-hero .hk-article-meta p {
	margin-top: 4px !important;
	margin-bottom: 0 !important;
	color: rgba(255,255,255,.58) !important;
	font-size: .73rem !important;
	font-weight: 500 !important;
	line-height: 1.45 !important;
	letter-spacing: .045em !important;
	text-transform: none !important;
}

/* Article structure v3: editorial sections are first-level Elementor containers. */
body.single-post .elementor > .elementor-element.hk-article-opening {
	width: 100%;
	max-width: none;
	margin: 0 !important;
}
body.single-post .elementor > .elementor-element.hk-article-section {
	width: 100%;
	max-width: none;
	margin: 0 !important;
	border-radius: 0;
}
body.single-post .elementor > .elementor-element.hk-article-section--soft {
	background: #f3f6fb;
}
body.single-post .elementor > .elementor-element.hk-article-section--sand {
	background: var(--hk-sand);
}
body.single-post .elementor > .elementor-element.hk-article-alert {
	width: 100%;
	max-width: none;
	margin: 0 !important;
	border-radius: 0;
}
body.single-post .elementor > .elementor-element.hk-article-sources {
	background: #f3f6fb;
}

@media (min-width: 768px) {
	body .elementor-element.hk-page-hero--editorial > .elementor-element.hk-hero-media > .elementor-element.hk-hero-image,
	body .elementor-element.hk-page-hero--editorial > .elementor-element.hk-article-hero__media > .elementor-element.hk-article-hero__image {
		position: absolute !important;
		inset: 0 !important;
		width: 100% !important;
		height: 100% !important;
		margin: 0 !important;
	}
}

/* Split hero alignment v1: centre each complete column as one visual unit. */
@media (min-width: 768px) {
	body .elementor-element.hk-page-hero--editorial,
	body .elementor-element.hk-page-hero--editorial.hk-article-hero {
		align-content: center !important;
		align-items: center !important;
	}
	body .elementor-element.hk-page-hero--editorial > .elementor-element.hk-hero-copy-column,
	body .elementor-element.hk-page-hero--editorial > .elementor-element.hk-hero-media,
	body .elementor-element.hk-page-hero--editorial > .elementor-element.hk-article-hero__copy,
	body .elementor-element.hk-page-hero--editorial > .elementor-element.hk-article-hero__media {
		align-self: center !important;
	}
	body .elementor-element.hk-page-hero--editorial > .elementor-element.hk-hero-copy-column,
body .elementor-element.hk-page-hero--editorial > .elementor-element.hk-article-hero__copy {
		justify-content: center !important;
	}
}

/* Hero media visibility v3:
 * Keep the established editorial overlap, but limit it to a shallow band at
 * the bottom of the photograph. The card remains visually connected to the
 * image without covering its subject. Narrow layouts keep the established
 * background-photo treatment and do not stack another summary block below.
 */
@media (min-width: 1025px) {
	body .elementor-element.hk-page-hero--editorial,
	body .elementor-element.hk-page-hero--editorial.hk-article-hero {
		grid-template-columns: minmax(0, 1.2fr) minmax(380px, .8fr) !important;
		grid-template-rows: 100% !important;
		gap: 56px !important;
		padding-top: 32px !important;
		padding-bottom: 32px !important;
	}

	body .elementor-element.hk-viewport-intro--primary > .elementor-element.hk-page-hero--editorial,
	body .elementor-element.hk-viewport-intro--primary > .elementor-element.hk-page-hero--editorial.hk-article-hero {
		padding-top: 32px !important;
		padding-bottom: 32px !important;
	}

	body .elementor-element.hk-page-hero--editorial > .elementor-element.hk-hero-media,
	body .elementor-element.hk-page-hero--editorial > .elementor-element.hk-article-hero__media {
		display: flex !important;
		flex-direction: column !important;
		justify-content: center !important;
		align-self: stretch !important;
		height: auto !important;
		max-height: none;
		min-height: 0;
		margin-top: 0;
		margin-bottom: 0;
		overflow: visible !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}

	.hk-page-hero--editorial .hk-hero-image,
	.hk-page-hero--editorial .hk-article-hero__image {
		width: 100%;
		flex: 1 1 auto;
		min-height: 0;
	}

	.hk-page-hero--editorial .hk-hero-image .elementor-widget-container,
	.hk-page-hero--editorial .hk-article-hero__image .elementor-widget-container {
		height: 100%;
	}

	.hk-page-hero--editorial .hk-hero-image img,
	.hk-page-hero--editorial .hk-article-hero__image img {
		height: 100% !important;
		max-height: 470px;
	}

	.hk-page-hero--editorial .hk-hero-summary {
		position: relative !important;
		inset: auto !important;
		align-self: flex-end;
		flex: 0 0 auto;
		z-index: 2;
		width: 92%;
		margin: -103px 0 0 !important;
		padding: 18px 20px;
	}

	/* The three approved doctor portraits share a head-and-torso crop. A
	 * shallower overlap keeps the face and neckline visible while preserving
	 * the editorial connection between portrait and summary card. */
	.hk-page-hero--editorial.hk-doctor-hero .hk-hero-summary {
		margin-top: -64px !important;
	}

	.hk-page-hero--editorial .hk-hero-summary .elementor-heading-title {
		font-size: 1.25rem !important;
	}

	.hk-page-hero--editorial .hk-hero-summary .elementor-icon-list-item {
		padding: 5px 0;
	}
}

@media (min-width: 901px) and (max-width: 1024px) {
	.hk-page-hero--editorial .hk-hero-summary { display: none !important; }
}

.hk-breadcrumbs .elementor-widget-container,
.hk-breadcrumbs .elementor-shortcode,
.hk-breadcrumbs .rank-math-breadcrumb,
.hk-breadcrumbs .rank-math-breadcrumb p {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

body.single-post .site-content,
body.single-post .site-main,
body.single-post .hk-article-summary,
body .elementor-element.hk-article-summary {
	background: var(--hk-white) !important;
}
body.single-post .hk-section--toc,
body.single-post .elementor-element.hk-section--toc {
	background: #f2f5fa !important;
}

body .elementor-element.hk-editorial-card,
body .elementor-element.hk-article-card,
body .elementor-element.hk-card-grid > .elementor-element.hk-card {
	border: 1px solid var(--hk-border) !important;
	border-top: 3px solid var(--hk-teal-500) !important;
	border-radius: var(--hk-radius) !important;
	background: linear-gradient(145deg, #fff 0%, #f8faff 100%) !important;
	box-shadow: 0 16px 42px rgba(8,26,56,.07) !important;
}
body .elementor-element.hk-editorial-card .elementor-heading-title,
body .elementor-element.hk-article-card .elementor-heading-title,
body .elementor-element.hk-card-grid > .elementor-element.hk-card .elementor-heading-title {
	font-size: 1.25rem !important;
	line-height: 1.3;
}

body.blog .site-content,
body.category .site-content,
body.blog .ast-container,
body.category .ast-container,
body.blog .site-main,
body.category .site-main,
body.blog .elementor-element.hk-viewport-intro--archive,
body.category .elementor-element.hk-viewport-intro--archive {
	background: var(--hk-white) !important;
}

@media (min-width: 1025px) {
	.hk-utility-hero h1.elementor-heading-title {
		max-width: 790px;
		font-size: var(--hk-hero-title) !important;
		line-height: 1.08 !important;
		letter-spacing: -.027em;
		text-wrap: balance;
	}
}

@media (max-width: 767px) {
	body:not(.single-post) .elementor-element.hk-article-card {
		padding: 26px 22px !important;
	}
	body:not(.single-post) .elementor-element.hk-article-checklist__column {
		padding: 24px 20px !important;
	}
}

/* Global hero typography v3: the same responsive H1 scale is shared by the
   home, service, article, utility, blog-directory and category templates. */
@media (min-width: 1025px) {
	.hk-home-hero h1.elementor-heading-title,
	.hk-page-hero--editorial h1.elementor-heading-title,
	.hk-article-hero h1.elementor-heading-title,
	.hk-utility-hero h1.elementor-heading-title,
	.hk-blog-archive-hero .hk-blog-archive-hero__copy h1.elementor-heading-title,
	body.category .ast-archive-title {
		font-size: var(--hk-hero-title) !important;
		line-height: 1.08 !important;
	}
}

@media (min-width: 768px) and (max-width: 1024px) {
	.hk-home-hero h1.elementor-heading-title,
	.hk-page-hero--editorial h1.elementor-heading-title,
	.hk-article-hero h1.elementor-heading-title,
	.hk-utility-hero h1.elementor-heading-title,
	.hk-blog-archive-hero .hk-blog-archive-hero__copy h1.elementor-heading-title,
	body.category .ast-archive-title {
		font-size: clamp(2.75rem, 5.8vw, 3.65rem) !important;
		line-height: 1.07 !important;
	}
}

@media (max-width: 767px) {
	.hk-home-hero h1.elementor-heading-title,
	.hk-page-hero--editorial h1.elementor-heading-title,
	.hk-article-hero h1.elementor-heading-title,
	.hk-utility-hero h1.elementor-heading-title,
	.hk-blog-archive-hero .hk-blog-archive-hero__copy h1.elementor-heading-title,
	body.category .ast-archive-title {
		font-size: clamp(2rem, 9.2vw, 2.85rem) !important;
		line-height: 1.06 !important;
	}
}

body.blog,
body.category,
body.blog #page,
body.category #page,
body.blog #content,
body.category #content,
body.blog .site-content,
body.category .site-content,
body.blog .ast-container,
body.category .ast-container,
body.blog .site-main,
body.category .site-main,
body.blog .elementor,
body.category .elementor,
body.blog .elementor-element.hk-viewport-intro--archive,
body.category .elementor-element.hk-viewport-intro--archive {
	background-color: var(--hk-white) !important;
}

@media (max-width: 767px) {
	body .elementor-element.hk-breadcrumbs-bar,
	body .elementor-element.hk-breadcrumbs-bar > .e-con-inner {
		height: 56px !important;
	}

	/* Mobile breadcrumb v3: preserve the shared 56px bar, but remove long
	 * intermediate archive labels. This keeps the useful Home > current-page
	 * context readable instead of truncating the entire trail. */
	.hk-breadcrumbs .rank-math-breadcrumb p {
		display: flex !important;
		align-items: center;
		flex-wrap: wrap;
		overflow: visible;
		white-space: normal;
		text-overflow: clip;
		line-height: 1.25;
	}
	.hk-breadcrumbs .rank-math-breadcrumb p > a:not(:first-child),
	.hk-breadcrumbs .rank-math-breadcrumb p > a:not(:first-child) + .separator {
		display: none;
	}
	.hk-breadcrumbs .rank-math-breadcrumb p > .last {
		min-width: 0;
		flex: 1 1 210px;
	}
}

/* Dynamic archive cards v5: image, taxonomy, title, date, excerpt and CTA. */
body.blog article.post:not(:first-of-type) .post-content,
body.category article.post:not(:first-of-type) .post-content {
	display: flex !important;
	flex-direction: column !important;
	height: 100% !important;
}
body.blog article.post:not(:first-of-type) .ast-blog-featured-section,
body.category article.post:not(:first-of-type) .ast-blog-featured-section,
body.blog article.post:not(:first-of-type) .post-thumb,
body.category article.post:not(:first-of-type) .post-thumb,
body.blog article.post:not(:first-of-type) .post-thumb-img-content,
body.category article.post:not(:first-of-type) .post-thumb-img-content,
body.blog article.post:not(:first-of-type) .post-thumb a,
body.category article.post:not(:first-of-type) .post-thumb a {
	flex: 0 0 250px !important;
	height: 250px !important;
	min-height: 250px !important;
}
body.blog article.post:not(:first-of-type) .post-thumb img,
body.category article.post:not(:first-of-type) .post-thumb img {
	display: block;
	width: 100%;
	height: 250px !important;
	min-height: 0 !important;
	object-fit: cover;
}
body.blog article.post:not(:first-of-type) .post-content > .cat-links,
body.category article.post:not(:first-of-type) .post-content > .cat-links {
	padding: 26px 30px 0 !important;
}
body.blog article.post:not(:first-of-type) .entry-title,
body.category article.post:not(:first-of-type) .entry-title {
	margin: 10px 0 12px !important;
	padding: 0 30px !important;
	font-size: 1.55rem !important;
	line-height: 1.25 !important;
}
body.blog article.post:not(:first-of-type) .entry-header,
body.category article.post:not(:first-of-type) .entry-header,
body.blog article.post:not(:first-of-type) .ast-excerpt-container,
body.category article.post:not(:first-of-type) .ast-excerpt-container,
body.blog article.post:not(:first-of-type) .entry-content,
body.category article.post:not(:first-of-type) .entry-content {
	padding-right: 30px !important;
	padding-left: 30px !important;
}
body.blog article.post:not(:first-of-type) .entry-header,
body.category article.post:not(:first-of-type) .entry-header {
	padding-top: 0 !important;
}
body.blog article.post:not(:first-of-type) .ast-excerpt-container,
body.category article.post:not(:first-of-type) .ast-excerpt-container {
	padding-top: 16px !important;
	padding-bottom: 22px !important;
}
body.blog article.post:not(:first-of-type) .ast-excerpt-container p,
body.category article.post:not(:first-of-type) .ast-excerpt-container p {
	margin: 0 !important;
}
body.blog article.post:not(:first-of-type) .entry-content,
body.category article.post:not(:first-of-type) .entry-content {
	display: block !important;
	margin-top: auto !important;
	padding-top: 0 !important;
	padding-bottom: 28px !important;
}
body.blog article.post:not(:first-of-type) .entry-content:empty,
body.category article.post:not(:first-of-type) .entry-content:empty {
	display: none !important;
}
body.blog article.post:not(:first-of-type) .read-more,
body.category article.post:not(:first-of-type) .read-more {
	margin-top: auto !important;
	padding: 0 30px 30px !important;
}
body.blog article.post:not(:first-of-type) .read-more a,
body.category article.post:not(:first-of-type) .read-more a {
	color: var(--hk-primary) !important;
	font-size: .9rem;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 6px;
}

@media (max-width: 767px) {
	body.blog article.post:not(:first-of-type) .ast-blog-featured-section,
	body.category article.post:not(:first-of-type) .ast-blog-featured-section,
	body.blog article.post:not(:first-of-type) .post-thumb,
	body.category article.post:not(:first-of-type) .post-thumb,
	body.blog article.post:not(:first-of-type) .post-thumb-img-content,
	body.category article.post:not(:first-of-type) .post-thumb-img-content,
	body.blog article.post:not(:first-of-type) .post-thumb a,
	body.category article.post:not(:first-of-type) .post-thumb a,
	body.blog article.post:not(:first-of-type) .post-thumb img,
	body.category article.post:not(:first-of-type) .post-thumb img {
		flex-basis: 230px !important;
		height: 230px !important;
		min-height: 230px !important;
	}
}

/* Featured archive card v6: identical CTA geometry on blog and categories. */
body.blog article.post:first-of-type .read-more,
body.category article.post:first-of-type .read-more {
	grid-column: 2 !important;
	align-self: end;
	margin: 0 !important;
	padding: 0 48px 48px !important;
}
body.blog article.post:first-of-type .read-more a,
body.category article.post:first-of-type .read-more a {
	color: var(--hk-primary) !important;
	font-size: .9rem;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 6px;
}

@media (max-width: 767px) {
	body.blog article.post:first-of-type .read-more,
	body.category article.post:first-of-type .read-more {
		padding: 0 24px 28px !important;
	}
}

/* Standard hero media frame v2:
 * Every split hero uses the same responsive photograph height. The summary
 * remains a visible overlay, but its increased overlap preserves more of the
 * photograph and keeps the complete media group inside the viewport hero.
 * Page-specific object-position rules remain responsible only for framing.
 */
@media (min-width: 1025px) {
	body .elementor-element.hk-page-hero--editorial > .elementor-element.hk-hero-media,
	body .elementor-element.hk-page-hero--editorial > .elementor-element.hk-article-hero__media {
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
	}

	.hk-page-hero--editorial .hk-hero-image,
	.hk-page-hero--editorial .hk-article-hero__image {
		flex: 0 0 auto !important;
		height: clamp(400px, 48vh, 470px) !important;
		min-height: 0 !important;
	}

	.hk-page-hero--editorial .hk-hero-image .elementor-widget-container,
	.hk-page-hero--editorial .hk-article-hero__image .elementor-widget-container,
	.hk-page-hero--editorial .hk-hero-image img,
	.hk-page-hero--editorial .hk-article-hero__image img {
		display: block;
		width: 100%;
		height: 100% !important;
		max-height: none !important;
	}

	.hk-page-hero--editorial .hk-hero-summary {
		width: 94%;
		margin-top: -128px !important;
		padding: 16px 18px !important;
	}

	.hk-page-hero--editorial.hk-doctor-hero .hk-hero-summary {
		margin-top: -88px !important;
	}
}

/* Hero containment v2:
 * Breadcrumb and hero share the available first viewport. The media group
 * stays in normal flow, so neither the image nor the summary can leak above or
 * below the navy hero. Exceptionally long copy may grow the section naturally.
 */
@media (min-width: 1025px) {
	body .elementor-element.hk-viewport-intro--primary {
		display: block !important;
		height: max-content !important;
		min-height: calc(100svh - 92px) !important;
	}

	body.admin-bar .elementor-element.hk-viewport-intro--primary {
		min-height: calc(100svh - 124px) !important;
	}

	body .elementor-element.hk-viewport-intro--primary > .elementor-element.hk-page-hero--editorial,
	body .elementor-element.hk-viewport-intro--primary > .elementor-element.hk-page-hero--editorial.hk-article-hero {
		flex: none !important;
		grid-template-rows: auto !important;
		height: auto !important;
		min-height: calc(100svh - 162px) !important;
		overflow: hidden !important;
	}

	body.admin-bar .elementor-element.hk-viewport-intro--primary > .elementor-element.hk-page-hero--editorial,
	body.admin-bar .elementor-element.hk-viewport-intro--primary > .elementor-element.hk-page-hero--editorial.hk-article-hero {
		min-height: calc(100svh - 194px) !important;
	}

	body .elementor-element.hk-page-hero--editorial > .elementor-element.hk-hero-media,
	body .elementor-element.hk-page-hero--editorial > .elementor-element.hk-article-hero__media {
		align-self: center !important;
		overflow: visible !important;
	}
}

/* Design refinement v4 - editorial rhythm without changing page templates.
 *
 * This is the single global home for the 2026 visual-polish pass. It widens
 * desktop copy, reduces oversized empty bands and introduces three restrained
 * card surfaces already present in the brand palette. No page-specific HTML or
 * one-off Elementor styling is required.
 */
:root {
	--hk-reading: 820px;
	--hk-reading-wide: 940px;
	--hk-section-space: 88px;
	--hk-surface-blue: #f3f7fc;
	--hk-surface-warm: #fbf7f0;
	--hk-surface-clear: #ffffff;
	--hk-shadow-soft: 0 18px 46px rgba(8, 26, 56, .075);
}

@media (min-width: 1025px) {
	/* A slightly wider copy column fixes the narrow, unnatural desktop home
	 * composition while the photograph remains a strong half-page anchor. */
	body .hk-home-hero > .e-con-inner {
		grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr) !important;
	}
	.hk-home-hero__copy {
		padding-right: 54px !important;
	}
	.hk-home-hero h1.elementor-heading-title { max-width: 760px; }
	.hk-home-hero .hk-hero-copy,
	.hk-home-hero .hk-hero-copy p { max-width: 720px; }

	/* Home section introductions use the available canvas instead of stacking
	 * every sentence into one narrow left column. Other section content always
	 * continues on the full grid width. */
	body.home .hk-section:not(.hk-home-story) > .e-con-inner {
		display: grid !important;
		grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr);
		column-gap: 64px;
		align-items: end;
	}
	body.home .hk-section:not(.hk-home-story) > .e-con-inner > * {
		grid-column: 1 / -1;
	}
	body.home .hk-section:not(.hk-home-story) > .e-con-inner > .hk-section-title {
		grid-column: 1;
	}
	body.home .hk-section:not(.hk-home-story) > .e-con-inner > .hk-section-lead {
		grid-column: 2;
		grid-row: 2;
		align-self: end;
		margin-top: 0;
	}

	/* Utility pages need a confident introduction, not an almost empty screen. */
	body .elementor-element.hk-utility-hero {
		min-height: clamp(420px, 48svh, 500px);
		padding-top: 72px !important;
		padding-bottom: 72px !important;
	}
}

.hk-section-intro { max-width: var(--hk-reading-wide); }
.hk-section-title .elementor-heading-title,
.hk-section-intro > .elementor-widget-heading .elementor-heading-title {
	max-width: var(--hk-reading-wide);
}
.hk-section-lead,
.hk-section-lead p { max-width: var(--hk-reading); }

/* Section backgrounds gain depth from the existing blue and warm neutrals;
 * gradients are deliberately subtle so clinical clarity stays primary. */
body .elementor-element.hk-section--soft,
body .elementor-element.hk-section--mist,
body.single-post .elementor > .elementor-element.hk-article-section--soft {
	background-color: var(--hk-surface-blue) !important;
	background-image: radial-gradient(circle at 88% 12%, rgba(52,171,225,.09), transparent 30%) !important;
}
body .elementor-element.hk-section--sand,
body.single-post .elementor > .elementor-element.hk-article-section--sand {
	background-color: var(--hk-surface-warm) !important;
	background-image: radial-gradient(circle at 12% 88%, rgba(36,60,128,.045), transparent 34%) !important;
}

/* One component, three approved surfaces. The alternation gives long pages a
 * more human editorial rhythm without inventing a new card language. */
.hk-card-grid > .hk-card,
.hk-quick-grid > .hk-card,
.hk-feature-grid > .hk-card,
.hk-related-grid > .hk-card,
.hk-process-grid > .hk-card,
body .elementor-element.hk-editorial-card,
body .elementor-element.hk-article-card {
	box-shadow: var(--hk-shadow-soft) !important;
}
.hk-card-grid > .hk-card:nth-child(3n + 2):not(.hk-approach-card--dark):not(.hk-comparison-card--accent),
.hk-quick-grid > .hk-card:nth-child(3n + 2),
.hk-feature-grid > .hk-card:nth-child(3n + 2),
.hk-related-grid > .hk-card:nth-child(3n + 2),
.hk-process-grid > .hk-card:nth-child(3n + 2),
body .elementor-element.hk-article-card:nth-child(3n + 2) {
	background: linear-gradient(145deg, #fff 0%, var(--hk-surface-blue) 100%) !important;
}
.hk-card-grid > .hk-card:nth-child(3n):not(.hk-approach-card--dark):not(.hk-comparison-card--accent),
.hk-quick-grid > .hk-card:nth-child(3n),
.hk-feature-grid > .hk-card:nth-child(3n),
.hk-related-grid > .hk-card:nth-child(3n),
.hk-process-grid > .hk-card:nth-child(3n),
body .elementor-element.hk-article-card:nth-child(3n) {
	background: linear-gradient(145deg, #fff 0%, var(--hk-surface-warm) 100%) !important;
}

/* Repeated cards become more compact and easier to scan. */
.hk-card-grid > .hk-card { min-height: 250px; }
.hk-trust-card { min-height: 220px; }
.hk-contact-card { min-height: 245px; }

/* Navigation through long content reads as an intentional editorial module,
 * not an empty white rectangle placed on a grey band. */
.hk-toc-panel {
	border: 1px solid rgba(36,60,128,.12);
	border-top: 3px solid var(--hk-teal-500);
	border-radius: var(--hk-radius-lg);
	background:
		radial-gradient(circle at 92% 10%, rgba(52,171,225,.08), transparent 28%),
		var(--hk-white);
	box-shadow: var(--hk-shadow-soft);
}

/* Blog cards share the same tactile depth as service cards. */
body.blog article.post,
body.category article.post {
	box-shadow: var(--hk-shadow-soft) !important;
}

@media (hover: hover) and (pointer: fine) {
	.hk-card-grid > .hk-card,
	.hk-quick-grid > .hk-card,
	.hk-feature-grid > .hk-card,
	.hk-related-grid > .hk-card,
	body.blog article.post,
	body.category article.post {
		transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
	}
	.hk-card-grid > .hk-card:hover,
	.hk-quick-grid > .hk-card:hover,
	.hk-feature-grid > .hk-card:hover,
	.hk-related-grid > .hk-card:hover,
	body.blog article.post:hover,
	body.category article.post:hover {
		transform: translateY(-4px);
		border-color: rgba(52,171,225,.45) !important;
		box-shadow: 0 24px 58px rgba(8,26,56,.12) !important;
	}
}

@media (max-width: 1024px) {
	:root { --hk-section-space: 72px; }
	body.home .hk-section:not(.hk-home-story) > .e-con-inner {
		display: flex !important;
	}
}

@media (max-width: 767px) {
	:root { --hk-section-space: 56px; }
	.hk-card-grid > .hk-card,
	.hk-trust-card,
	.hk-contact-card { min-height: 0; }
	.hk-toc-panel { border-radius: 16px; }
}

@media (prefers-reduced-motion: reduce) {
	.hk-card-grid > .hk-card,
	.hk-quick-grid > .hk-card,
	.hk-feature-grid > .hk-card,
	.hk-related-grid > .hk-card,
	body.blog article.post,
	body.category article.post {
		transition: none !important;
	}
}

/* Warm medical direction v5
 *
 * One shared visual system for every template: home, services, team, utility
 * pages, archives and articles. The selected direction replaces large cold
 * navy walls with warm ivory canvases, keeps navy for authority and reserves
 * sky blue for actions and small navigational signals. All selectors target
 * existing Elementor Free components; no page-level HTML is required.
 */
:root {
	--hk-primary: #123967;
	--hk-secondary: #31a9df;
	--hk-accent: #b8794c;
	--hk-ink: #102b4d;
	--hk-muted: #586b78;
	--hk-surface: #f8f4ed;
	--hk-surface-blue: #f2f7fa;
	--hk-surface-warm: #f6efe5;
	--hk-surface-clear: #fffdf9;
	--hk-border: #dbe3e6;
	--hk-navy-950: #081f3d;
	--hk-navy-900: #0d2d54;
	--hk-navy-800: #173f70;
	--hk-teal-500: #2d8b91;
	--hk-radius: 12px;
	--hk-radius-lg: 22px;
	--hk-shadow: 0 18px 44px rgba(16,43,77,.08);
	--hk-shadow-soft: 0 16px 40px rgba(16,43,77,.07);
	--hk-section-space: 84px;
}

body {
	background: var(--hk-surface-clear);
	color: var(--hk-ink);
}

/* Header remains quiet and familiar while gaining the lighter editorial
 * spacing of the selected concept. */
.site-header,
.ast-primary-header-bar {
	background: rgba(255,253,249,.98) !important;
	border-bottom-color: rgba(16,43,77,.09) !important;
}
.main-header-menu > .menu-item > .menu-link {
	color: var(--hk-ink) !important;
	font-weight: 600;
}
.main-header-menu > .current-menu-item > .menu-link,
.main-header-menu > .menu-item > .menu-link:hover {
	color: var(--hk-secondary) !important;
}

/* Home hero: warm copy field plus a large, meaningful photograph. The image
 * keeps a generous organic leading radius without clipping its focal point. */
body .elementor-element.hk-home-hero {
	height: auto !important;
	min-height: 610px !important;
	padding: 0 24px !important;
	overflow: hidden !important;
	background: var(--hk-surface-clear) !important;
	color: var(--hk-ink) !important;
}
body .hk-home-hero > .e-con-inner {
	display: grid !important;
	width: 100%;
	max-width: 1320px !important;
	grid-template-columns: minmax(0,.94fr) minmax(520px,1.06fr) !important;
	gap: 34px !important;
	align-items: stretch !important;
}
body .hk-home-hero__copy {
	justify-content: center !important;
	padding: 74px 38px 72px 0 !important;
}
.hk-home-hero h1.elementor-heading-title {
	max-width: 670px;
	color: var(--hk-ink) !important;
	font-size: clamp(3.25rem,4.45vw,4.85rem) !important;
	line-height: 1.04 !important;
	letter-spacing: -.038em;
}
.hk-home-hero .hk-hero-copy,
.hk-home-hero .hk-hero-copy p {
	max-width: 660px;
	color: var(--hk-muted) !important;
	font-size: 1.08rem;
	line-height: 1.72;
}
.hk-home-hero .hk-eyebrow,
.hk-home-hero .hk-eyebrow p {
	color: var(--hk-accent) !important;
}
.hk-home-hero__media {
	min-height: 610px !important;
	overflow: hidden !important;
	border-radius: 150px 0 0 150px !important;
}
.hk-home-hero__image,
.hk-home-hero__image .elementor-widget-container,
.hk-home-hero__image img {
	height: 100% !important;
}
.hk-home-hero__image img {
	width: 100%;
	object-fit: cover;
	object-position: 55% center;
	filter: saturate(.9) contrast(1.02);
}
.hk-home-hero__media .hk-image-caption-card {
	display: none !important;
}
.hk-home-hero .hk-button--outline .elementor-button {
	border-color: rgba(16,43,77,.38) !important;
	color: var(--hk-ink) !important;
}

/* The first home band is a compact reassurance strip, not another large
 * white card row. Icons are native Elementor icon widgets. */
body.home .elementor-element.hk-home-trust-strip {
	padding: 0 24px !important;
	border-top: 1px solid rgba(16,43,77,.08);
	border-bottom: 1px solid rgba(16,43,77,.08);
	background: #fff !important;
}
body.home .hk-home-trust-strip > .e-con-inner {
	max-width: 1320px !important;
}
body.home .hk-home-trust-strip .hk-trust-grid,
body.home .elementor-element.hk-home-trust-strip .hk-trust-grid {
	display: grid !important;
	grid-template-columns: repeat(3,minmax(0,1fr)) minmax(260px,.92fr) !important;
	gap: 0 !important;
}
body.home .hk-home-trust-strip .hk-trust-card {
	display: grid !important;
	grid-template-columns: 54px minmax(0,1fr);
	grid-template-rows: auto auto;
	gap: 5px 18px !important;
	min-height: 150px !important;
	padding: 30px 26px !important;
	border: 0 !important;
	border-right: 1px solid var(--hk-border) !important;
	border-radius: 0 !important;
	background: #fff !important;
	box-shadow: none !important;
}
body.home .hk-home-trust-strip .hk-trust-card::after { display: none; }
body.home .hk-home-trust-strip .hk-trust-card--action {
	background: var(--hk-surface-warm) !important;
	border-right: 0 !important;
}
.hk-trust-icon {
	grid-column: 1;
	grid-row: 1 / 3;
	align-self: center;
}
.hk-trust-icon .elementor-icon {
	color: var(--hk-primary) !important;
	font-size: 34px !important;
}
body.home .hk-home-trust-strip .hk-trust-card > .elementor-widget-heading,
body.home .hk-home-trust-strip .hk-trust-card > .elementor-widget-text-editor,
body.home .hk-home-trust-strip .hk-trust-card > .hk-button {
	grid-column: 2;
}
body.home .hk-home-trust-strip .hk-trust-card h3.elementor-heading-title {
	font-size: 1rem !important;
	line-height: 1.3 !important;
}
body.home .hk-home-trust-strip .hk-trust-card p {
	margin: 0 !important;
	font-size: .82rem;
	line-height: 1.55;
}
body.home .hk-home-trust-strip .hk-trust-card .hk-button--text {
	margin-top: 7px;
}

/* Shared split hero. Services, doctors and articles now speak the same visual
 * language as the home page while retaining each template's content. */
body .elementor-element.hk-page-hero--editorial,
body .elementor-element.hk-page-hero--editorial.hk-article-hero {
	display: grid !important;
	grid-template-columns: minmax(0,.98fr) minmax(430px,.72fr) !important;
	gap: clamp(44px,6vw,94px) !important;
	align-items: center !important;
	min-height: 610px !important;
	padding: 70px max(24px,calc((100vw - 1180px)/2)) !important;
	overflow: hidden !important;
	background: var(--hk-surface-clear) !important;
	color: var(--hk-ink) !important;
}
.hk-page-hero--editorial .hk-hero-copy-column,
.hk-page-hero--editorial .hk-article-hero__copy {
	justify-content: center !important;
	padding: 0 !important;
}
.hk-page-hero--editorial h1.elementor-heading-title,
.hk-page-hero--editorial .hk-hero-copy-column h1.elementor-heading-title,
.hk-page-hero--editorial.hk-article-hero h1.elementor-heading-title {
	color: var(--hk-ink) !important;
}
.hk-page-hero--editorial .hk-hero-copy,
.hk-page-hero--editorial .hk-hero-copy p,
.hk-page-hero--editorial .hk-article-hero__copy .elementor-widget-text-editor,
.hk-page-hero--editorial .hk-article-hero__copy .elementor-widget-text-editor p {
	color: var(--hk-muted) !important;
}
.hk-page-hero--editorial .hk-eyebrow,
.hk-page-hero--editorial .hk-eyebrow p {
	color: var(--hk-accent) !important;
}
.hk-page-hero--editorial .hk-button--outline .elementor-button {
	border-color: rgba(16,43,77,.38) !important;
	color: var(--hk-ink) !important;
}
body .elementor-element.hk-page-hero--editorial > .elementor-element.hk-hero-media,
body .elementor-element.hk-page-hero--editorial > .elementor-element.hk-article-hero__media {
	display: flex !important;
	align-self: center !important;
	min-width: 0;
	overflow: visible !important;
}
.hk-page-hero--editorial .hk-hero-image,
.hk-page-hero--editorial .hk-article-hero__image {
	height: clamp(430px,48vw,520px) !important;
	overflow: hidden;
	border-radius: 100px 20px 20px 20px !important;
}
.hk-page-hero--editorial .hk-hero-image .elementor-widget-container,
.hk-page-hero--editorial .hk-article-hero__image .elementor-widget-container,
.hk-page-hero--editorial .hk-hero-image img,
.hk-page-hero--editorial .hk-article-hero__image img {
	height: 100% !important;
}
.hk-page-hero--editorial .hk-hero-image img,
.hk-page-hero--editorial .hk-article-hero__image img {
	width: 100%;
	object-fit: cover;
	filter: saturate(.9) contrast(1.015);
}
.hk-page-hero--editorial .hk-hero-summary {
	display: flex !important;
	position: relative !important;
	inset: auto !important;
	z-index: 3 !important;
	width: min(82%,360px) !important;
	margin: -78px 18px 0 auto !important;
	padding: 18px 20px !important;
	border: 1px solid rgba(255,255,255,.13);
	border-radius: 0 !important;
	background: var(--hk-navy-950) !important;
	box-shadow: 0 16px 34px rgba(8,31,61,.18) !important;
}
.hk-page-hero--editorial .hk-hero-summary .elementor-heading-title {
	font-size: 1.15rem !important;
}
.hk-page-hero--editorial .hk-hero-summary .elementor-icon-list-item {
	padding: 5px 0 !important;
}

/* A warmer, calmer page rhythm. We use flat surfaces and dividers rather than
 * decorative gradients or a shadow on every component. */
body .elementor-element.hk-section--soft,
body .elementor-element.hk-section--mist,
body.single-post .elementor > .elementor-element.hk-article-section--soft {
	background: var(--hk-surface-blue) !important;
}
body .elementor-element.hk-section--sand,
body.single-post .elementor > .elementor-element.hk-article-section--sand,
body.single-post .elementor > .elementor-element.hk-article-section--timeline {
	background: var(--hk-surface-warm) !important;
}
.hk-card-grid > .hk-card,
.hk-quick-grid > .hk-card,
.hk-feature-grid > .hk-card,
.hk-related-grid > .hk-card,
.hk-process-grid > .hk-card,
body .elementor-element.hk-editorial-card,
body .elementor-element.hk-article-card,
.hk-card-grid > .hk-card:nth-child(n),
.hk-quick-grid > .hk-card:nth-child(n),
.hk-feature-grid > .hk-card:nth-child(n),
.hk-related-grid > .hk-card:nth-child(n),
.hk-process-grid > .hk-card:nth-child(n),
body .elementor-element.hk-article-card:nth-child(n) {
	background: #fff !important;
	box-shadow: none !important;
}
.hk-card-grid > .hk-card,
.hk-quick-grid > .hk-card,
.hk-feature-grid > .hk-card,
.hk-related-grid > .hk-card,
.hk-process-grid > .hk-card,
body .elementor-element.hk-editorial-card,
body .elementor-element.hk-article-card {
	border-color: rgba(16,43,77,.13) !important;
}
.hk-card-grid > .hk-card:nth-child(2n),
.hk-feature-grid > .hk-card:nth-child(2n),
.hk-process-grid > .hk-card:nth-child(2n) {
	background: var(--hk-surface-clear) !important;
}
.hk-section--navy {
	background: var(--hk-navy-900) !important;
}

.hk-toc-panel {
	border: 1px solid rgba(16,43,77,.13) !important;
	border-top: 3px solid var(--hk-secondary) !important;
	background: #fff !important;
	box-shadow: none !important;
}

body .elementor-element.hk-final-cta--split {
	border: 1px solid rgba(16,43,77,.12) !important;
	border-left: 4px solid var(--hk-secondary) !important;
	background: var(--hk-surface-warm) !important;
	box-shadow: none !important;
}
.hk-final-cta--split .elementor-heading-title,
.hk-final-cta--split .elementor-widget-text-editor,
.hk-final-cta--split .elementor-widget-text-editor p {
	color: var(--hk-ink) !important;
}
.hk-final-cta--split .hk-button--outline .elementor-button {
	border-color: rgba(16,43,77,.35) !important;
	color: var(--hk-ink) !important;
}

body.blog,
body.category,
body.blog #page,
body.category #page,
body.blog #content,
body.category #content,
body.blog .site-content,
body.category .site-content {
	background: var(--hk-surface-clear) !important;
}
body.blog article.post,
body.category article.post {
	border-color: rgba(16,43,77,.13) !important;
	box-shadow: none !important;
}

/* Blog directory, categories, pricing and contact use the same light opening
 * canvas as split-page heroes. Their different information architecture is
 * preserved, but the previous full navy slabs no longer create a second site. */
body .elementor-element.hk-blog-archive-hero {
	min-height: 470px !important;
	padding: 68px 24px !important;
	background: var(--hk-surface-blue) !important;
	color: var(--hk-ink) !important;
}
body .elementor-element.hk-blog-archive-hero__inner {
	display: grid !important;
	width: 100%;
	max-width: 1180px !important;
	grid-template-columns: minmax(0,1.12fr) minmax(340px,.72fr) !important;
	gap: 72px !important;
	align-items: center !important;
	text-align: left !important;
}
.hk-blog-archive-hero .hk-blog-archive-hero__copy {
	align-items: flex-start !important;
}
.hk-blog-archive-hero .elementor-heading-title,
.hk-blog-archive-hero .hk-section-lead,
.hk-blog-archive-hero .hk-section-lead p {
	margin-right: 0 !important;
	margin-left: 0 !important;
	color: var(--hk-ink) !important;
	text-align: left !important;
}
.hk-blog-archive-hero .hk-section-lead,
.hk-blog-archive-hero .hk-section-lead p {
	color: var(--hk-muted) !important;
}
.hk-blog-archive-hero .hk-eyebrow,
.hk-blog-archive-hero .hk-eyebrow p {
	color: var(--hk-accent) !important;
}
body .elementor-element.hk-blog-topic-panel {
	padding: 30px 32px !important;
	border: 1px solid rgba(16,43,77,.12) !important;
	border-radius: 18px !important;
	background: var(--hk-surface-warm) !important;
	box-shadow: none !important;
}
.hk-blog-topic-panel .elementor-heading-title,
.hk-blog-topic-panel .elementor-button,
.hk-blog-topic-panel .elementor-button-text {
	color: var(--hk-ink) !important;
}
.hk-blog-topic-panel .hk-eyebrow,
.hk-blog-topic-panel .hk-eyebrow p {
	color: var(--hk-accent) !important;
}
.hk-blog-topic-panel .hk-button--archive-topic .elementor-button {
	border-bottom-color: rgba(16,43,77,.16) !important;
}

body.category .ast-archive-description {
	margin-bottom: 72px;
	padding-top: 76px;
	padding-bottom: 76px;
	background: var(--hk-surface-blue) !important;
}
body.category .ast-archive-title,
body.category .ast-archive-description p {
	color: var(--hk-ink) !important;
}
body.category .ast-archive-description p {
	color: var(--hk-muted) !important;
}

body .elementor-element.hk-utility-hero {
	min-height: 440px !important;
	padding: 76px max(24px,calc((100vw - 1180px)/2)) !important;
	background: var(--hk-surface-blue) !important;
	color: var(--hk-ink) !important;
}
.hk-utility-hero .elementor-heading-title {
	max-width: 920px;
	color: var(--hk-ink) !important;
}
.hk-utility-hero .hk-hero-copy,
.hk-utility-hero .hk-hero-copy p {
	max-width: 760px;
	color: var(--hk-muted) !important;
}
.hk-utility-hero .hk-eyebrow,
.hk-utility-hero .hk-eyebrow p {
	color: var(--hk-accent) !important;
}

@media (hover:hover) and (pointer:fine) {
	.hk-card-grid > .hk-card:hover,
	.hk-quick-grid > .hk-card:hover,
	.hk-feature-grid > .hk-card:hover,
	.hk-related-grid > .hk-card:hover,
	body.blog article.post:hover,
	body.category article.post:hover {
		transform: translateY(-3px);
		border-color: rgba(49,169,223,.45) !important;
		box-shadow: 0 16px 34px rgba(16,43,77,.08) !important;
	}
}

@media (max-width:1024px) {
	body .hk-home-hero > .e-con-inner {
		grid-template-columns: minmax(0,.95fr) minmax(360px,1.05fr) !important;
	}
	.hk-home-hero__media { border-radius: 100px 0 0 100px !important; }
	body.home .hk-home-trust-strip .hk-trust-grid,
	body.home .elementor-element.hk-home-trust-strip .hk-trust-grid {
		grid-template-columns: repeat(2,minmax(0,1fr)) !important;
	}
	body.home .hk-home-trust-strip .hk-trust-card:nth-child(2) { border-right: 0 !important; }
	body .elementor-element.hk-page-hero--editorial,
	body .elementor-element.hk-page-hero--editorial.hk-article-hero {
		grid-template-columns: minmax(0,1fr) minmax(330px,.75fr) !important;
		gap: 42px !important;
		padding-right: 38px !important;
		padding-left: 38px !important;
	}
	body .elementor-element.hk-blog-archive-hero__inner {
		grid-template-columns: minmax(0,1fr) minmax(300px,.72fr) !important;
		gap: 42px !important;
	}
}

@media (max-width:767px) {
	body .elementor-element.hk-home-hero {
		padding: 0 !important;
	}
	body .hk-home-hero > .e-con-inner {
		display: flex !important;
		grid-template-columns: 1fr !important;
		gap: 0 !important;
	}
	body .hk-home-hero__copy {
		position: relative !important;
		inset: auto !important;
		z-index: auto !important;
		width: 100% !important;
		padding: 56px 20px 48px !important;
		background: var(--hk-surface-clear) !important;
	}
	.hk-home-hero h1.elementor-heading-title {
		font-size: clamp(2.55rem,12vw,3.55rem) !important;
	}
	.hk-home-hero__media {
		position: relative !important;
		inset: auto !important;
		z-index: auto !important;
		width: 100% !important;
		height: 390px !important;
		min-height: 390px !important;
		max-height: none !important;
		border-radius: 70px 0 0 0 !important;
	}
	.hk-home-hero__media::after,
	.hk-page-hero--editorial .hk-hero-media::after,
	.hk-page-hero--editorial .hk-article-hero__media::after,
	.hk-article-hero__media::after {
		display: none !important;
		content: none !important;
	}
	.hk-home-hero__image,
	.hk-page-hero--editorial .hk-hero-image,
	.hk-page-hero--editorial .hk-article-hero__image {
		position: relative !important;
		inset: auto !important;
		z-index: auto !important;
		width: 100% !important;
	}
	body.home .hk-home-trust-strip .hk-trust-grid,
	body.home .elementor-element.hk-home-trust-strip .hk-trust-grid {
		grid-template-columns: 1fr !important;
	}
	body.home .hk-home-trust-strip .hk-trust-card {
		min-height: 0 !important;
		border-right: 0 !important;
		border-bottom: 1px solid var(--hk-border) !important;
	}
	body .elementor-element.hk-page-hero--editorial,
	body .elementor-element.hk-page-hero--editorial.hk-article-hero {
		display: flex !important;
		position: relative !important;
		min-height: 0 !important;
		padding: 56px 20px 64px !important;
		gap: 42px !important;
		overflow: hidden !important;
		background: var(--hk-surface-clear) !important;
	}
	body .elementor-element.hk-page-hero--editorial > .elementor-element.hk-hero-copy-column,
	body .elementor-element.hk-page-hero--editorial > .elementor-element.hk-article-hero__copy {
		position: relative !important;
		inset: auto !important;
		z-index: auto !important;
		width: 100% !important;
	}
	body .elementor-element.hk-page-hero--editorial > .elementor-element.hk-hero-media,
	body .elementor-element.hk-page-hero--editorial > .elementor-element.hk-article-hero__media {
		position: relative !important;
		inset: auto !important;
		z-index: auto !important;
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		overflow: visible !important;
	}
	.hk-page-hero--editorial .hk-hero-image,
	.hk-page-hero--editorial .hk-article-hero__image {
		height: 390px !important;
		border-radius: 70px 16px 16px 16px !important;
	}
	.hk-page-hero--editorial .hk-hero-summary {
		display: flex !important;
		width: calc(100% - 24px) !important;
		margin: -58px 12px 0 !important;
	}
	body .elementor-element.hk-blog-archive-hero {
		min-height: 0 !important;
		padding: 56px 20px !important;
	}
	body .elementor-element.hk-blog-archive-hero__inner {
		display: flex !important;
		gap: 34px !important;
	}
	body .elementor-element.hk-blog-topic-panel {
		padding: 26px 22px !important;
	}
	body .elementor-element.hk-utility-hero {
		min-height: 0 !important;
		padding: 56px 20px !important;
	}
}

/* Tablet normalization: legacy templates once used the photo as a dark
 * full-bleed background between 768px and 1024px. Keep the selected light,
 * two-column direction at this breakpoint as well. */
@media (min-width:768px) and (max-width:1024px) {
	body .elementor-element.hk-home-hero {
		position: relative !important;
		flex: none !important;
		height: auto !important;
		min-height: 560px !important;
		padding: 0 24px !important;
		background: var(--hk-surface-clear) !important;
	}
	body .hk-home-hero > .e-con-inner {
		display: grid !important;
		height: auto !important;
		min-height: 0 !important;
		grid-template-columns: minmax(0,.95fr) minmax(360px,1.05fr) !important;
		gap: 22px !important;
		align-items: center !important;
	}
	body .hk-home-hero__copy {
		position: relative !important;
		inset: auto !important;
		z-index: auto !important;
		width: 100% !important;
		height: auto !important;
		align-self: center !important;
		padding: 52px 14px 52px 8px !important;
		background: var(--hk-surface-clear) !important;
	}
	.hk-home-hero h1.elementor-heading-title {
		font-size: clamp(2.55rem,5.8vw,3.35rem) !important;
	}
	.hk-home-hero__media {
		position: relative !important;
		inset: auto !important;
		z-index: auto !important;
		width: 100% !important;
		height: 560px !important;
		min-height: 560px !important;
		max-height: none !important;
		overflow: hidden !important;
		border-radius: 96px 0 0 96px !important;
	}
	.hk-home-hero__media::after,
	.hk-page-hero--editorial .hk-hero-media::after,
	.hk-page-hero--editorial .hk-article-hero__media::after,
	.hk-article-hero__media::after {
		display: none !important;
		content: none !important;
	}
	.hk-home-hero__image,
	.hk-page-hero--editorial .hk-hero-image,
	.hk-page-hero--editorial .hk-article-hero__image {
		position: relative !important;
		inset: auto !important;
		z-index: auto !important;
		width: 100% !important;
	}
	body .elementor-element.hk-page-hero--editorial,
	body .elementor-element.hk-page-hero--editorial.hk-article-hero {
		display: grid !important;
		position: relative !important;
		flex: none !important;
		grid-template-columns: minmax(0,1fr) minmax(330px,.78fr) !important;
		gap: 38px !important;
		height: auto !important;
		min-height: 570px !important;
		padding: 58px 34px !important;
		overflow: hidden !important;
		background: var(--hk-surface-clear) !important;
	}
	body .elementor-element.hk-viewport-intro--primary {
		display: block !important;
		height: auto !important;
		min-height: 0 !important;
	}
	body .elementor-element.hk-page-hero--editorial > .elementor-element.hk-hero-copy-column,
	body .elementor-element.hk-page-hero--editorial > .elementor-element.hk-article-hero__copy,
	body .elementor-element.hk-page-hero--editorial > .elementor-element.hk-hero-media,
	body .elementor-element.hk-page-hero--editorial > .elementor-element.hk-article-hero__media {
		position: relative !important;
		inset: auto !important;
		z-index: auto !important;
		width: 100% !important;
	}
	body .elementor-element.hk-page-hero--editorial > .elementor-element.hk-hero-media,
	body .elementor-element.hk-page-hero--editorial > .elementor-element.hk-article-hero__media {
		height: auto !important;
		min-height: 0 !important;
		overflow: visible !important;
	}
	.hk-page-hero--editorial .hk-hero-image,
	.hk-page-hero--editorial .hk-article-hero__image {
		height: 440px !important;
		border-radius: 78px 16px 16px 16px !important;
	}
	.hk-page-hero--editorial .hk-hero-summary {
		display: flex !important;
		width: calc(100% - 20px) !important;
		margin: -64px 10px 0 !important;
	}
}

/* V6 FINAL CASCADE GUARDRAILS — legacy layers above must not override v6. */
body .elementor-element.hkm-hero-shell,
body .elementor-element.hkm-routes,
body .elementor-element.hkm-editorial,
body .elementor-element.hkm-conditions,
body .elementor-element.hkm-team-feature,
body .elementor-element.hkm-journey,
body .elementor-element.hkm-final-cta { font-family: var(--hkm-sans) !important; }
body .elementor-element.hkm-hero { max-width: 1600px !important; }
body .elementor-element.hkm-hero__copy { background: var(--hkm-white) !important; }
body .elementor-element.hkm-hero__actions .hk-button--outline .elementor-button { color: var(--hkm-ink) !important; background: transparent !important; border-color: var(--hkm-ink) !important; }
body .elementor-element.hkm-hero__actions .hk-button--outline .elementor-button:hover { color: #fff !important; background: var(--hkm-ink) !important; }
body .elementor-element.hkm-hero__note .elementor-heading-title,
body .elementor-element.hkm-hero__note .hk-button--text .elementor-button { color: #fff !important; }
body .elementor-element.hkm-routes .hk-button--text .elementor-button,
body .elementor-element.hkm-editorial .hk-button--text .elementor-button { color: var(--hkm-blue) !important; }
body .elementor-element.hkm-conditions .elementor-heading-title { color: #fff !important; }
body .elementor-element.hkm-condition--action .elementor-heading-title { color: var(--hkm-ink) !important; }
body .elementor-element.hkm-condition .hk-button--text .elementor-button { color: #fff !important; }
body .elementor-element.hkm-condition--action .hk-button--text .elementor-button { color: var(--hkm-blue) !important; }
body .elementor-element.hkm-final-cta .elementor-heading-title { color: #fff !important; }

/* Shared editorial hero override at EOF: one composition across pages/posts. */
body .elementor-element.hk-page-hero--editorial,
body .elementor-element.hk-page-hero--editorial.hk-article-hero {
	display: grid !important;
	grid-template-columns: minmax(0,.86fr) minmax(430px,.74fr) !important;
	gap: 0 !important;
	width: min(var(--hkm-max),calc(100% - 48px)) !important;
	max-width: var(--hkm-max) !important;
	min-height: 570px !important;
	margin: 0 auto 64px !important;
	padding: 0 !important;
	overflow: hidden !important;
	background: var(--hkm-paper) !important;
}
body .elementor-element.hk-page-hero--editorial > .elementor-element.hk-hero-copy-column,
body .elementor-element.hk-page-hero--editorial > .elementor-element.hk-article-hero__copy {
	display: flex !important;
	position: relative !important;
	inset: auto !important;
	width: auto !important;
	padding: 62px 54px !important;
	flex-direction: column !important;
	justify-content: center !important;
}
body .elementor-element.hk-page-hero--editorial > .elementor-element.hk-hero-media,
body .elementor-element.hk-page-hero--editorial > .elementor-element.hk-article-hero__media {
	position: relative !important;
	inset: auto !important;
	width: auto !important;
	height: 570px !important;
	min-height: 570px !important;
	overflow: hidden !important;
}
.hk-page-hero--editorial .hk-hero-image,
.hk-page-hero--editorial .hk-article-hero__image,
.hk-page-hero--editorial .hk-hero-image img,
.hk-page-hero--editorial .hk-article-hero__image img {
	width: 100% !important;
	height: 100% !important;
	min-height: 570px !important;
	border-radius: 0 !important;
	object-fit: cover !important;
}
.hk-page-hero--editorial .hk-hero-summary {
	position: absolute !important;
	right: 24px !important;
	bottom: 24px !important;
	left: auto !important;
	width: min(350px,calc(100% - 48px)) !important;
	margin: 0 !important;
	padding: 22px 24px !important;
	background: rgba(8,33,61,.94) !important;
	border: 0 !important;
	border-radius: 0 !important;
}

@media (min-width: 1030px) {
	body .elementor-element.hkm-hero,
	body .elementor-element.hkm-hero__media { min-height: 620px !important; }
	.hkm-hero__image img { min-height: 620px !important; }
}

@media (max-width: 767px) {
	body .elementor-element.hk-page-hero--editorial,
	body .elementor-element.hk-page-hero--editorial.hk-article-hero {
		display: flex !important;
		width: 100% !important;
		min-height: 0 !important;
		margin-bottom: 42px !important;
		flex-direction: column-reverse !important;
	}
	body .elementor-element.hk-page-hero--editorial > .elementor-element.hk-hero-media,
	body .elementor-element.hk-page-hero--editorial > .elementor-element.hk-article-hero__media {
		height: 430px !important;
		min-height: 430px !important;
	}
	body .elementor-element.hk-page-hero--editorial > .elementor-element.hk-hero-copy-column,
	body .elementor-element.hk-page-hero--editorial > .elementor-element.hk-article-hero__copy { padding: 38px 22px !important; }
}

@media (min-width: 1030px) {
	body .elementor-element.hk-page-hero--editorial,
	body .elementor-element.hk-page-hero--editorial.hk-article-hero {
		height: 620px !important;
		min-height: 620px !important;
		align-items: stretch !important;
	}
	body .elementor-element.hk-page-hero--editorial > .elementor-element.hk-hero-copy-column,
	body .elementor-element.hk-page-hero--editorial > .elementor-element.hk-article-hero__copy,
	body .elementor-element.hk-page-hero--editorial > .elementor-element.hk-hero-media,
	body .elementor-element.hk-page-hero--editorial > .elementor-element.hk-article-hero__media {
		height: 100% !important;
		min-height: 0 !important;
		margin: 0 !important;
		align-self: stretch !important;
	}
	body .elementor-element.hkm-team-feature__copy .hk-button--outline .elementor-button {
		color: var(--hkm-ink) !important;
		background: transparent !important;
		border-color: var(--hkm-ink) !important;
	}
}

body .elementor-element.hk-article-hero .hk-article-meta,
body .elementor-element.hk-article-hero .hk-article-meta p {
	margin-top: 8px !important;
	margin-bottom: 0 !important;
	color: #6b7d8b !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	line-height: 1.5 !important;
}

@media (max-width: 767px) {
	body .elementor-element.hkm-hero__note {
		min-height: 0 !important;
		padding: 18px 20px !important;
	}
	.hkm-hero__note h3 { margin: 3px 0 7px !important; font-size: 19px !important; }
	.hkm-hero__note .hk-eyebrow { font-size: 10px !important; }
}

/* ========================================================================== */
/* V7 FULL-BLEED CORRECTION                                                   */
/* Main compositions span the viewport. Readability comes from inner padding, */
/* never from stacking boxed page-sized cards inside a white canvas.           */
/* ========================================================================== */

body .site-content > .ast-container,
body.elementor-page .site-content > .ast-container,
body.single-post .site-content > .ast-container {
	width: 100% !important;
	max-width: none !important;
	padding-inline: 0 !important;
}

body .elementor-element.hkm-hero,
body .elementor-element.hkm-routes,
body .elementor-element.hkm-editorial,
body .elementor-element.hkm-conditions,
body .elementor-element.hkm-team-feature,
body .elementor-element.hkm-journey,
body .elementor-element.hkm-final-cta,
body .elementor-element.hk-page-hero--editorial,
body .elementor-element.hk-page-hero--editorial.hk-article-hero {
	width: 100% !important;
	max-width: none !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
}

body .elementor-element.hkm-routes { padding: 42px clamp(24px,5vw,88px) !important; }
body .elementor-element.hkm-editorial { margin-block: 0 !important; }
body .elementor-element.hkm-team-feature { margin-block: 0 !important; }
body .elementor-element.hkm-journey { padding: 86px clamp(24px,7vw,120px) !important; margin-bottom: 0 !important; }
body .elementor-element.hkm-final-cta { margin-bottom: 0 !important; }

/* Hero media must fill its grid area; old widget offsets caused dead space. */
@media (min-width: 768px) {
	body .elementor-element.hk-page-hero--editorial,
	body .elementor-element.hk-page-hero--editorial.hk-article-hero {
		grid-template-columns: minmax(0,1fr) minmax(500px,.9fr) !important;
		height: 650px !important;
		min-height: 650px !important;
		margin-bottom: 0 !important;
	}
	body .elementor-element.hk-page-hero--editorial .elementor-element.hk-hero-copy-column,
	body .elementor-element.hk-page-hero--editorial .elementor-element.hk-article-hero__copy {
		height: 100% !important;
		padding: 70px clamp(32px,7vw,128px) !important;
		margin: 0 !important;
	}
	body .elementor-element.hk-page-hero--editorial .elementor-element.hk-hero-media,
	body .elementor-element.hk-page-hero--editorial .elementor-element.hk-article-hero__media {
		position: relative !important;
		height: 100% !important;
		min-height: 650px !important;
		padding: 0 !important;
		margin: 0 !important;
		overflow: hidden !important;
	}
	body .elementor-element.hk-page-hero--editorial .elementor-element.hk-hero-image,
	body .elementor-element.hk-page-hero--editorial .elementor-element.hk-article-hero__image {
		position: absolute !important;
		inset: 0 !important;
		width: 100% !important;
		height: 100% !important;
		min-height: 0 !important;
		padding: 0 !important;
		margin: 0 !important;
	}
	body .elementor-element.hk-page-hero--editorial .elementor-element.hk-hero-image .elementor-widget-container,
	body .elementor-element.hk-page-hero--editorial .elementor-element.hk-article-hero__image .elementor-widget-container,
	body .elementor-element.hk-page-hero--editorial .elementor-element.hk-hero-image img,
	body .elementor-element.hk-page-hero--editorial .elementor-element.hk-article-hero__image img {
		width: 100% !important;
		height: 100% !important;
		min-height: 0 !important;
		margin: 0 !important;
		object-fit: cover !important;
	}
}

/* Full-width content sections still retain a readable inner measure. */
body .elementor-element.hk-section,
body .elementor-element.hk-section--white,
body .elementor-element.hk-section--soft,
body .elementor-element.hk-section--sand {
	width: 100% !important;
	max-width: none !important;
	margin-inline: 0 !important;
}

@media (max-width: 767px) {
	body .elementor-element.hkm-routes,
	body .elementor-element.hkm-journey,
	body .elementor-element.hkm-final-cta { padding-right: 20px !important; padding-left: 20px !important; }
	body .elementor-element.hk-page-hero--editorial,
	body .elementor-element.hk-page-hero--editorial.hk-article-hero {
		display: flex !important;
		min-height: 0 !important;
		flex-direction: column !important;
	}
	body .elementor-element.hk-page-hero--editorial .elementor-element.hk-hero-media,
	body .elementor-element.hk-page-hero--editorial .elementor-element.hk-article-hero__media {
		display: flex !important;
		order: 1 !important;
		position: relative !important;
		width: 100% !important;
		height: 590px !important;
		min-height: 590px !important;
		padding: 0 !important;
		margin: 0 !important;
		overflow: hidden !important;
	}
	body .elementor-element.hk-page-hero--editorial .elementor-element.hk-hero-copy-column,
	body .elementor-element.hk-page-hero--editorial .elementor-element.hk-article-hero__copy {
		display: flex !important;
		order: 2 !important;
		position: relative !important;
		width: 100% !important;
		min-height: 0 !important;
		padding: 38px 22px 44px !important;
		margin: 0 !important;
	}
	body .elementor-element.hk-page-hero--editorial .elementor-element.hk-hero-image,
	body .elementor-element.hk-page-hero--editorial .elementor-element.hk-article-hero__image,
	body .elementor-element.hk-page-hero--editorial .elementor-element.hk-hero-image .elementor-widget-container,
	body .elementor-element.hk-page-hero--editorial .elementor-element.hk-article-hero__image .elementor-widget-container,
	body .elementor-element.hk-page-hero--editorial .elementor-element.hk-hero-image img,
	body .elementor-element.hk-page-hero--editorial .elementor-element.hk-article-hero__image img {
		display: block !important;
		position: absolute !important;
		inset: 0 !important;
		width: 100% !important;
		height: 350px !important;
		min-height: 0 !important;
		margin: 0 !important;
		object-fit: cover !important;
	}
	.hk-page-hero--editorial .hk-hero-summary {
		right: 16px !important;
		top: 320px !important;
		bottom: auto !important;
		left: 16px !important;
		width: auto !important;
		max-width: none !important;
		padding: 18px 20px !important;
	}
	.hk-page-hero--editorial .hk-hero-summary h2,
	.hk-page-hero--editorial .hk-hero-summary h3 { font-size: 21px !important; line-height: 1.25 !important; }
	.hk-page-hero--editorial .hk-hero-summary p { font-size: 14px !important; line-height: 1.45 !important; }
}

/* V6 utility pages: visual hierarchy without inventing a separate template. */
body .elementor-element.hkm-utility-hero {
	display: grid !important;
	position: relative;
	grid-template-columns: minmax(0,1fr) minmax(280px,.55fr) !important;
	grid-template-rows: auto auto 1fr !important;
	width: 100% !important;
	max-width: none !important;
	min-height: 440px !important;
	padding: 72px clamp(24px,8vw,138px) 66px !important;
	overflow: hidden;
	background: var(--hkm-cyan-soft) !important;
}
body .elementor-element.hkm-utility-hero::before {
	content: "";
	position: absolute;
	top: -130px;
	right: 23%;
	width: 7px;
	height: 520px;
	background: var(--hkm-cyan);
	transform: rotate(18deg);
}
.hkm-utility-hero > .hk-eyebrow,
.hkm-utility-hero > .elementor-widget-heading,
.hkm-utility-hero > .hk-hero-copy { grid-column: 1; }
.hkm-utility-hero h1 { max-width: 760px; margin: 14px 0 18px; color: var(--hkm-ink) !important; font-size: clamp(52px,5vw,74px) !important; line-height: .98 !important; }
.hkm-utility-hero .hk-hero-copy { max-width: 800px; }
.hkm-utility-hero .hk-hero-copy p { color: #51687b !important; font-size: 17px !important; line-height: 1.7 !important; }
.hkm-utility-hero__icon {
	grid-column: 2;
	grid-row: 1 / 4;
	display: flex;
	position: relative;
	z-index: 2;
	align-items: center;
	justify-content: center;
	color: var(--hkm-blue);
	font-size: clamp(90px,12vw,180px);
	opacity: .9;
}
.hkm-utility-hero__icon::after {
	content: "";
	position: absolute;
	z-index: -1;
	width: 260px;
	height: 260px;
	border: 1px solid rgba(21,86,160,.24);
	border-radius: 50%;
}

/* Pricing intro combines its headline, real image and explanation in one view. */
body .elementor-element.hkm-pricing-intro {
	display: grid !important;
	grid-template-columns: minmax(320px,.66fr) minmax(620px,1.34fr) !important;
	gap: 52px !important;
	background: var(--hkm-white) !important;
}
.hkm-pricing-intro > .hk-section-intro { align-self: center; }
.hkm-pricing-intro > .hk-section-intro .hk-section-title { font-size: clamp(44px,4.3vw,64px) !important; }
body .hkm-pricing-intro > .hk-diagnosis-layout {
	display: grid !important;
	grid-template-columns: .78fr 1.22fr !important;
	min-height: 480px;
	background: var(--hkm-paper);
}
.hkm-pricing-intro .hk-editorial-image,
.hkm-pricing-intro .hk-editorial-image .elementor-widget-container,
.hkm-pricing-intro .hk-editorial-image img { width: 100% !important; height: 100% !important; border-radius: 0 !important; }
.hkm-pricing-intro .hk-editorial-image img { object-fit: cover; }
.hkm-pricing-intro .hk-copy-panel { padding: 42px 38px !important; }

/* Contact options use icons as fast scanning anchors. */
.hkm-contact-icon { margin-bottom: 18px; color: var(--hkm-cyan); font-size: 30px; }
.hk-contact-card--primary .hkm-contact-icon { color: #fff; }
body .hk-contact-card { border-radius: 0 !important; }

/* Blog topics become four visual routes while posts remain auto-generated. */
body .hk-blog-topic-panel { border-radius: 0 !important; background: var(--hkm-paper) !important; }
body .hk-blog-topic-panel__links { display: grid !important; grid-template-columns: repeat(2,1fr) !important; gap: 0 !important; border-top: 1px solid var(--hkm-line); border-left: 1px solid var(--hkm-line); }
body .hk-blog-topic-panel__links .hk-button--archive-topic { min-width: 0; border-right: 1px solid var(--hkm-line); border-bottom: 1px solid var(--hkm-line); }
body .hk-blog-topic-panel__links .elementor-button {
	display: flex;
	min-height: 88px;
	padding: 18px !important;
	align-items: center;
	justify-content: flex-start;
	color: var(--hkm-ink) !important;
	background: var(--hkm-white) !important;
	border: 0 !important;
	text-align: left;
}
body .hk-blog-topic-panel__links .elementor-button:hover { color: #fff !important; background: var(--hkm-blue) !important; }
body .hk-blog-topic-panel__links .elementor-button-icon { color: var(--hkm-cyan); font-size: 21px; }

@media (max-width: 900px) {
	body .elementor-element.hkm-utility-hero { grid-template-columns: 1fr minmax(150px,.35fr) !important; }
	body .elementor-element.hkm-pricing-intro { grid-template-columns: 1fr !important; }
}

@media (max-width: 767px) {
	body .elementor-element.hkm-utility-hero { display: flex !important; min-height: 0 !important; padding: 48px 20px !important; flex-direction: column !important; }
	.hkm-utility-hero h1 { font-size: 46px !important; }
	.hkm-utility-hero__icon { position: absolute; right: 18px; bottom: 18px; font-size: 72px; opacity: .12; }
	.hkm-utility-hero__icon::after { display: none; }
	body .hkm-pricing-intro > .hk-diagnosis-layout { grid-template-columns: 1fr !important; }
	.hkm-pricing-intro .hk-editorial-image { min-height: 340px; }
	body .hk-blog-topic-panel__links { grid-template-columns: 1fr !important; }
}

/* Pricing QA correction: never compress the editorial title into a rail. */
body .elementor-element.hkm-pricing-intro {
	display: flex !important;
	gap: 42px !important;
	flex-direction: column !important;
}
body .elementor-element.hkm-pricing-intro > .hk-section-intro {
	width: 100% !important;
	max-width: 980px !important;
}
body .elementor-element.hkm-pricing-intro > .hk-section-intro .hk-section-title {
	max-width: 900px !important;
}
body .elementor-element.hkm-pricing-intro > .hk-diagnosis-layout {
	display: grid !important;
	width: 100% !important;
	grid-template-columns: minmax(360px,.72fr) minmax(480px,1.28fr) !important;
}

/* Native icon widgets used inside automatic blog topic routes. */
body .elementor-element.hkm-blog-topic-route {
	display: grid !important;
	grid-template-columns: 34px 1fr !important;
	min-height: 92px;
	padding: 18px;
	border-right: 1px solid var(--hkm-line);
	border-bottom: 1px solid var(--hkm-line);
	background: var(--hkm-white);
}
.hkm-blog-topic-route__icon { color: var(--hkm-cyan); font-size: 22px; }
body .hkm-blog-topic-route .hk-button--archive-topic .elementor-button {
	min-height: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
}
body .elementor-element.hkm-blog-topic-route:hover { background: var(--hkm-blue); }
body .elementor-element.hkm-blog-topic-route:hover .elementor-button { color: #fff !important; }

@media (max-width: 767px) {
	body .elementor-element.hkm-pricing-intro > .hk-diagnosis-layout { grid-template-columns: 1fr !important; }
}

/* ========================================================================== */
/* V8 HOMEPAGE CALMING PASS                                                   */
/* One strong idea per viewport: lower hero, concise proof points, smaller     */
/* team photography and a compact patient path.                               */
/* ========================================================================== */

@media (min-width: 1030px) {
	body .elementor-element.hkm-hero {
		grid-template-columns: minmax(560px,1.02fr) minmax(560px,.98fr) !important;
		height: 600px !important;
		min-height: 600px !important;
	}
	body .elementor-element.hkm-hero__copy {
		height: 600px !important;
		min-height: 600px !important;
		padding-top: 48px !important;
		padding-bottom: 38px !important;
	}
	body .elementor-element.hkm-hero__media {
		height: 600px !important;
		min-height: 600px !important;
	}
	.hkm-hero__image img { height: 600px !important; min-height: 600px !important; }
	.hkm-hero__title { margin-top: 18px !important; margin-bottom: 14px !important; }
	.hkm-hero__title .elementor-heading-title { font-size: clamp(54px,4.5vw,66px) !important; line-height: .96 !important; }
	.hkm-hero__lead { margin-bottom: 14px !important; }
	body .elementor-element.hkm-hero__actions { margin-bottom: 22px !important; }
	body .elementor-element.hkm-hero__proofs {
		display: grid !important;
		grid-template-columns: repeat(3,minmax(0,1fr)) !important;
		padding-top: 16px !important;
	}
	body .elementor-element.hkm-proof {
		display: grid !important;
		grid-template-columns: 26px 1fr !important;
		gap: 8px !important;
		padding: 0 12px !important;
		align-items: center !important;
	}
	body .elementor-element.hkm-proof:first-child { padding-left: 0 !important; }
	.hkm-proof__icon { font-size: 19px !important; }
	.hkm-proof h3 { margin: 0 !important; font-size: 12px !important; line-height: 1.3 !important; }
	.hkm-proof__body > .elementor-widget-text-editor { display: none !important; }
	body .elementor-element.hkm-hero__note { right: 26px; bottom: 26px; width: 290px; padding: 19px 21px; }
	.hkm-hero__note h3 { font-size: 18px; }
}

body .elementor-element.hkm-team-feature {
	grid-template-columns: .82fr 1.18fr !important;
	min-height: 450px !important;
}
body .elementor-element.hkm-team-feature__copy {
	min-height: 450px !important;
	padding: 52px clamp(28px,5vw,72px) !important;
}
.hkm-team-feature__copy h2 { max-width: 520px; font-size: 48px !important; }
body .elementor-element.hkm-team-feature__portraits {
	grid-template-columns: 1fr 1fr 1fr !important;
	grid-template-rows: 450px !important;
	min-height: 450px !important;
	gap: 5px !important;
	padding: 0 !important;
}
.hkm-doctor-portrait--one { grid-row: 1 !important; }
.hkm-doctor-portrait img { object-position: center 16% !important; }

body .elementor-element.hkm-journey {
	display: grid !important;
	grid-template-columns: minmax(300px,.72fr) minmax(620px,1.28fr) !important;
	column-gap: 62px !important;
	padding-top: 62px !important;
	padding-bottom: 62px !important;
	background: var(--hkm-white);
}
.hkm-journey .hkm-section-head { align-self: start; margin: 0 !important; }
.hkm-journey .hkm-section-head h2 { font-size: 46px !important; }
body .elementor-element.hkm-journey__grid {
	grid-template-columns: repeat(3,1fr) !important;
	border-top-width: 3px !important;
}
body .elementor-element.hkm-journey__step,
.hkm-journey__step + .hkm-journey__step {
	min-height: 190px !important;
	padding: 24px 24px 16px !important;
}
.hkm-step-big p { margin-bottom: 20px !important; font-size: 32px !important; }
.hkm-journey__step h3 { font-size: 20px !important; }
.hkm-journey__step p { margin-bottom: 0 !important; font-size: 13px; line-height: 1.55; }
.hkm-journey > .hk-button--text { grid-column: 2; margin-top: 20px; justify-self: start; }

@media (max-width: 1029px) {
	body .elementor-element.hkm-team-feature__portraits { grid-template-columns: repeat(3,1fr) !important; grid-template-rows: 400px !important; min-height: 400px !important; }
	body .elementor-element.hkm-journey { grid-template-columns: 1fr !important; }
	.hkm-journey .hkm-section-head { margin-bottom: 34px !important; }
	.hkm-journey > .hk-button--text { grid-column: 1; }
}

@media (max-width: 767px) {
	body .elementor-element.hkm-hero__note {
		top: 350px !important;
		right: 16px !important;
		bottom: auto !important;
		left: 16px !important;
		width: auto !important;
	}
	body .elementor-element.hkm-team-feature {
		display: flex !important;
		grid-template-columns: none !important;
		flex-direction: column !important;
	}
	body .elementor-element.hkm-team-feature__copy {
		width: 100% !important;
		padding: 44px 22px !important;
	}
	body .elementor-element.hkm-team-feature__portraits { grid-template-columns: repeat(3,1fr) !important; grid-template-rows: 300px !important; min-height: 300px !important; }
	.hkm-team-feature__portraits .hkm-doctor-portrait,
	.hkm-team-feature__portraits .hkm-doctor-portrait--one,
	.hkm-team-feature__portraits .hkm-doctor-portrait--two,
	.hkm-team-feature__portraits .hkm-doctor-portrait--three {
		grid-column: auto !important;
		grid-row: 1 !important;
		width: 100% !important;
		height: 300px !important;
	}
	.hkm-team-feature__portraits .hkm-doctor-portrait img { height: 300px !important; object-fit: cover !important; }
	body .elementor-element.hkm-team-feature__copy .hk-button--outline .elementor-button {
		color: var(--hkm-ink) !important;
		background: transparent !important;
		border-color: var(--hkm-ink) !important;
	}
	body .elementor-element.hkm-team-feature__copy { min-height: 0 !important; }
	.hkm-team-feature__copy h2 { font-size: 42px !important; }
	body .elementor-element.hkm-journey { padding-top: 48px !important; padding-bottom: 48px !important; }
	body .elementor-element.hkm-journey__grid { grid-template-columns: 1fr !important; }
}

/* ========================================================================== */
/* V9 HOMEPAGE FEEDBACK PASS                                                  */
/* Removes duplicate density, compacts navigation, simplifies assessment and  */
/* adds a native-container hover interaction to the condition selector.        */
/* ========================================================================== */

body .elementor-element.hkm-hero-shell,
body .elementor-element.hkm-hero {
	padding: 0 !important;
	margin: 0 !important;
	background: var(--hkm-white) !important;
	border: 0 !important;
	box-shadow: none !important;
}

/* Quick orientation is a compact utility rail, not a second hero. */
body .elementor-element.hkm-routes {
	grid-template-columns: minmax(210px,.72fr) minmax(0,2.28fr) !important;
	min-height: 0 !important;
	padding: 22px clamp(24px,5vw,88px) !important;
	align-items: center !important;
	background: #fff !important;
}
.hkm-routes__title { padding-right: 26px !important; }
.hkm-routes__title .hk-eyebrow { font-size: 10px !important; }
.hkm-routes__title h2 { margin-top: 7px !important; font-size: 29px !important; line-height: 1.03 !important; }
body .elementor-element.hkm-routes__grid { align-items: stretch !important; }
body .elementor-element.hkm-route {
	display: grid !important;
	grid-template-columns: 30px 1fr !important;
	min-height: 64px !important;
	padding: 8px 18px !important;
	align-items: center !important;
}
.hkm-route .hkm-icon { margin: 0 !important; font-size: 22px !important; }
.hkm-route .hkm-icon .elementor-icon,
.hkm-route .hkm-icon i,
.hkm-route .hkm-icon svg { width: 22px !important; height: 22px !important; font-size: 22px !important; }
.hkm-route h3 { margin: 0 !important; font-size: 14px !important; line-height: 1.25 !important; }

/* Global icon scale: navigation aid, never the primary visual. */
.hkm-icon,
.hkm-proof__icon,
.hkm-contact-icon,
.hkm-blog-topic-route__icon { font-size: 22px !important; }
.hkm-condition--action .hkm-icon { font-size: 26px !important; }

/* Assessment: one image + one explanation, no competing numeric rail. */
body .elementor-element.hkm-editorial {
	display: grid !important;
	grid-template-columns: minmax(0,1.02fr) minmax(0,.98fr) !important;
	min-height: 460px !important;
}
body .elementor-element.hkm-editorial__media { min-height: 460px !important; }
body .elementor-element.hkm-editorial__copy { min-height: 460px !important; padding: 52px clamp(32px,6vw,92px) !important; }
.hkm-editorial__copy h2 { max-width: 620px; font-size: 48px !important; }
.hkm-editorial__copy p { max-width: 650px; }
.hkm-image-caption { padding: 13px 20px !important; }

/* Native Elementor containers with a fluid hover emphasis. */
@media (min-width: 901px) {
	body .elementor-element.hkm-condition-grid {
		display: flex !important;
		grid-template-columns: none !important;
		flex-direction: row !important;
		align-items: stretch !important;
	}
	body .elementor-element.hkm-condition {
		flex: 1 1 0;
		width: auto !important;
		min-width: 0 !important;
		min-height: 330px !important;
		transition: flex-grow .28s ease, background-color .28s ease, transform .28s ease;
	}
	body .elementor-element.hkm-condition:first-child { flex-grow: 1.22; }
	body .elementor-element.hkm-condition-grid:has(.hkm-condition:nth-child(2):hover, .hkm-condition:nth-child(3):hover) .hkm-condition:first-child {
		flex-grow: 1;
		background: transparent !important;
	}
	body .elementor-element.hkm-condition-grid > .hkm-condition:nth-child(2):hover,
	body .elementor-element.hkm-condition-grid > .hkm-condition:nth-child(3):hover {
		flex-grow: 1.22;
		background: var(--hkm-blue) !important;
	}
}

/* Team portraits fill their allotted row; no empty white shelf below them. */
@media (min-width: 768px) {
	body .elementor-element.hkm-team-feature,
	body .elementor-element.hkm-team-feature__copy,
	body .elementor-element.hkm-team-feature__portraits {
		height: 450px !important;
		min-height: 450px !important;
		max-height: 450px !important;
	}
	body .elementor-element.hkm-team-feature__portraits .hkm-doctor-portrait,
	body .elementor-element.hkm-team-feature__portraits .hkm-doctor-portrait .elementor-widget-container,
	body .elementor-element.hkm-team-feature__portraits .hkm-doctor-portrait img {
		display: block !important;
		width: 100% !important;
		height: 450px !important;
		min-height: 450px !important;
		max-height: 450px !important;
		margin: 0 !important;
		object-fit: cover !important;
	}
}

/* The footer mark is a transparent asset; never put a white card behind it. */
.footer-widget-area img.wp-image-65,
.site-footer img.wp-image-65,
#media_image-901 img {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

@media (max-width: 767px) {
	body .elementor-element.hkm-routes { display: block !important; padding: 26px 20px !important; }
	.hkm-routes__title { padding: 0 0 14px !important; border: 0 !important; }
	.hkm-routes__title h2 { font-size: 27px !important; }
	body .elementor-element.hkm-routes__grid { display: grid !important; grid-template-columns: repeat(2,1fr) !important; border-top: 1px solid var(--hkm-line); }
	body .elementor-element.hkm-route { min-height: 66px !important; padding: 10px 8px !important; }
	body .elementor-element.hkm-editorial { display: flex !important; min-height: 0 !important; flex-direction: column !important; }
	body .elementor-element.hkm-editorial__media { min-height: 350px !important; }
	body .elementor-element.hkm-editorial__copy { min-height: 0 !important; padding: 38px 22px !important; }
}

/* ========================================================================== */
/* V10 HOMEPAGE TEAM RHYTHM                                                   */
/* Keeps the portrait rail flush while ensuring the copy and CTA never clip. */
/* ========================================================================== */

@media (min-width: 768px) {
	body .elementor-element.hkm-team-feature__copy {
		padding: 34px clamp(28px,4.5vw,64px) !important;
		justify-content: center !important;
		overflow: visible !important;
	}
	.hkm-team-feature__copy h2 {
		margin: 12px 0 16px !important;
		font-size: 42px !important;
		line-height: 1.02 !important;
	}
	.hkm-team-feature__copy p {
		margin-bottom: 0 !important;
		font-size: 16px !important;
		line-height: 1.6 !important;
	}
	.hkm-team-feature__copy .hk-button--outline { margin-top: 14px !important; }
}

/* ========================================================================== */
/* V11 HOMEPAGE INTERACTION STABILITY                                        */
/* Locks hover-card geometry, restores medium icon scale and a full-height    */
/* desktop hero without forcing mobile content into a clipped viewport.      */
/* ========================================================================== */

@media (min-width: 901px) {
	body .elementor-element.hkm-hero-shell,
	body .elementor-element.hkm-hero,
	body .elementor-element.hkm-hero__copy,
	body .elementor-element.hkm-hero__media,
	.hkm-hero__image,
	.hkm-hero__image .elementor-widget-container,
	.hkm-hero__image img {
		height: calc(100vh - 88px) !important;
		height: calc(100svh - 88px) !important;
		min-height: 620px !important;
		max-height: none !important;
	}
	body .elementor-element.hkm-hero__copy {
		justify-content: center !important;
		padding-top: clamp(48px,7vh,86px) !important;
		padding-bottom: clamp(48px,7vh,86px) !important;
	}

	body .elementor-element.hkm-condition-grid {
		height: 395px !important;
		min-height: 395px !important;
		max-height: 395px !important;
		align-items: stretch !important;
	}
	body .elementor-element.hkm-condition {
		height: 395px !important;
		min-height: 395px !important;
		max-height: 395px !important;
		align-self: stretch !important;
		overflow: hidden !important;
	}
}

/* Medium icon scale: visible as wayfinding, never dominant. */
body .hkm-route { grid-template-columns: 36px 1fr !important; }
.hkm-route .hkm-icon,
.hkm-route .hkm-icon .elementor-icon,
.hkm-route .hkm-icon i,
.hkm-route .hkm-icon svg,
.hkm-icon,
.hkm-proof__icon,
.hkm-contact-icon,
.hkm-blog-topic-route__icon {
	width: 28px !important;
	height: 28px !important;
	font-size: 28px !important;
}
.hkm-condition--action .hkm-icon,
.hkm-condition--action .hkm-icon .elementor-icon,
.hkm-condition--action .hkm-icon i,
.hkm-condition--action .hkm-icon svg {
	width: 32px !important;
	height: 32px !important;
	font-size: 32px !important;
}

@media (max-width: 900px) {
	.hkm-route .hkm-icon,
	.hkm-route .hkm-icon .elementor-icon,
	.hkm-route .hkm-icon i,
	.hkm-route .hkm-icon svg { width: 26px !important; height: 26px !important; font-size: 26px !important; }
}

/* Standard outline buttons on light surfaces must retain readable contrast. */
body .hkm-editorial .hk-button--outline .elementor-button,
body .hkm-journey > .hk-button--outline .elementor-button {
	color: var(--hkm-ink) !important;
	background: transparent !important;
	border-color: var(--hkm-ink) !important;
}
body .hkm-editorial .hk-button--outline .elementor-button:hover,
body .hkm-journey > .hk-button--outline .elementor-button:hover {
	color: #fff !important;
	background: var(--hkm-ink) !important;
}

/* Keep the decorative CTA stroke away from interactive controls. */
.hkm-final-cta::after {
	right: 3% !important;
	opacity: .45 !important;
}

/* ========================================================================== */
/* V12 HOMEPAGE CONSISTENCY PASS                                              */
/* Aligns repeated components, removes layout movement and replaces stray     */
/* decorative strokes with restrained, medically calm depth.                 */
/* ========================================================================== */

/* One eyebrow system across every page family and colour context. */
body .hk-eyebrow,
body .hk-eyebrow p,
body .hkm-signal-label,
body .hkm-signal-label p {
	margin: 0 !important;
	font-family: var(--hkm-sans) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	letter-spacing: .18em !important;
	text-transform: uppercase !important;
}

/* More legible and semantically specific quick-route icons. */
body .hkm-route { grid-template-columns: 46px 1fr !important; }
.hkm-route .hkm-icon,
.hkm-route .hkm-icon .elementor-icon,
.hkm-route .hkm-icon i,
.hkm-route .hkm-icon svg {
	width: 36px !important;
	height: 36px !important;
	font-size: 36px !important;
}

/* Fixed internal rows keep every card and CTA perfectly still during hover. */
@media (min-width: 901px) {
	body .elementor-element.hkm-condition {
		display: grid !important;
		grid-template-rows: 66px 58px minmax(0,1fr) 54px !important;
		align-content: stretch !important;
		padding: 28px 26px 22px !important;
	}
	body .elementor-element.hkm-condition > .elementor-element {
		min-height: 0 !important;
		margin: 0 !important;
	}
	body .elementor-element.hkm-condition > .elementor-widget-button {
		align-self: end !important;
	}
	body .elementor-element.hkm-condition .hkm-condition__number,
	body .elementor-element.hkm-condition h3,
	body .elementor-element.hkm-condition .elementor-widget-text-editor {
		align-self: start !important;
	}
}

/* Equal breathing room above and below the portrait rail. */
@media (min-width: 768px) {
	body .elementor-element.hkm-team-feature__portraits {
		grid-template-rows: 434px !important;
		padding: 8px 0 !important;
		box-sizing: border-box !important;
	}
	body .elementor-element.hkm-team-feature__portraits .hkm-doctor-portrait,
	body .elementor-element.hkm-team-feature__portraits .hkm-doctor-portrait .elementor-widget-container,
	body .elementor-element.hkm-team-feature__portraits .hkm-doctor-portrait img {
		height: 434px !important;
		min-height: 434px !important;
		max-height: 434px !important;
	}
}

/* Preserve the hero angle while revealing more of the image's lower corner. */
@media (min-width: 901px) {
	.hkm-hero__copy::after {
		right: -46px !important;
		width: 82px !important;
		clip-path: polygon(62% 0,100% 0,58% 100%,18% 100%) !important;
	}
}

/* A soft clinical glow replaces the unrelated diagonal cyan stroke. */
.hkm-final-cta::after { display: none !important; }
body .elementor-element.hkm-final-cta {
	background-color: var(--hkm-blue) !important;
	background-image:
		radial-gradient(circle at 90% 18%, rgba(255,255,255,.10) 0, rgba(255,255,255,.10) 74px, transparent 75px),
		radial-gradient(circle at 84% 74%, rgba(52,174,221,.15) 0, rgba(52,174,221,.15) 150px, transparent 151px) !important;
}

@media (max-width: 900px) {
	body .hkm-route { grid-template-columns: 40px 1fr !important; }
	.hkm-route .hkm-icon,
	.hkm-route .hkm-icon .elementor-icon,
	.hkm-route .hkm-icon i,
	.hkm-route .hkm-icon svg { width: 32px !important; height: 32px !important; font-size: 32px !important; }
}

/* ========================================================================== */
/* V13 RESTORED HOMEPAGE INFORMATION                                         */
/* Returns the clinically useful treatment and urgency content inside the     */
/* contemporary visual system instead of restoring the old dense template.   */
/* ========================================================================== */

body .elementor-element.hkm-treatment {
	padding: 84px clamp(28px,6vw,96px) 92px !important;
	background: #f3f7fb !important;
}
body .elementor-element.hkm-treatment__head {
	display: grid !important;
	grid-template-columns: minmax(320px,.85fr) minmax(460px,1.15fr) !important;
	column-gap: clamp(52px,8vw,120px) !important;
	margin-bottom: 44px !important;
	align-items: end !important;
}
.hkm-treatment__head .hk-eyebrow { grid-column: 1; }
.hkm-treatment__head h2 {
	grid-column: 1;
	max-width: 650px;
	margin: 14px 0 0 !important;
	font-size: clamp(42px,4.2vw,58px) !important;
	line-height: 1.02 !important;
}
.hkm-treatment__head > .elementor-widget-text-editor:last-child {
	grid-column: 2;
	grid-row: 1 / span 2;
	max-width: 690px;
	align-self: end;
}
.hkm-treatment__head > .elementor-widget-text-editor:last-child p {
	margin: 0 !important;
	color: #50677a;
	font-size: 17px;
	line-height: 1.7;
}
body .elementor-element.hkm-treatment__layout {
	display: grid !important;
	grid-template-columns: minmax(0,1fr) minmax(520px,1fr) !important;
	min-height: 590px !important;
	gap: 0 !important;
}
.hkm-treatment__image,
.hkm-treatment__image .elementor-widget-container,
.hkm-treatment__image img {
	display: block !important;
	width: 100% !important;
	height: 590px !important;
	object-fit: cover !important;
}
body .elementor-element.hkm-treatment__cards {
	display: grid !important;
	grid-template-rows: repeat(3,1fr) !important;
	min-height: 590px !important;
	background: #fff !important;
}
body .elementor-element.hkm-treatment-card {
	display: grid !important;
	grid-template-columns: 62px minmax(0,1fr) !important;
	grid-template-rows: auto auto 1fr !important;
	column-gap: 22px !important;
	padding: 24px 30px !important;
	border-bottom: 1px solid var(--hkm-line) !important;
}
body .elementor-element.hkm-treatment-card:last-child { border-bottom: 0 !important; }
.hkm-treatment-card__number {
	grid-column: 1;
	grid-row: 1 / span 3;
	color: var(--hkm-cyan);
	font-family: var(--hkm-serif);
	font-size: 35px;
}
.hkm-treatment-card > .elementor-widget-heading,
.hkm-treatment-card > .elementor-widget-text-editor:not(.hkm-treatment-card__number),
.hkm-treatment-card > .elementor-widget-button { grid-column: 2; }
.hkm-treatment-card h3 { margin: 0 0 7px !important; font-size: 22px !important; }
.hkm-treatment-card p { margin: 0 !important; color: #50677a; font-size: 14px; line-height: 1.55; }
.hkm-treatment-card .elementor-widget-button { margin-top: 12px !important; align-self: end; }
.hkm-treatment-card .hk-button--outline .elementor-button {
	color: var(--hkm-ink) !important;
	background: transparent !important;
	border-color: var(--hkm-ink) !important;
}
.hkm-treatment-card .hk-button--outline .elementor-button:hover {
	color: #fff !important;
	background: var(--hkm-ink) !important;
}

body .elementor-element.hkm-journey__actions {
	display: flex !important;
	grid-column: 2;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	gap: 12px !important;
	margin-top: 22px !important;
	justify-content: flex-start !important;
}
.hkm-journey__actions .hk-button--outline .elementor-button {
	color: var(--hkm-ink) !important;
	background: transparent !important;
	border-color: var(--hkm-ink) !important;
}
.hkm-journey__actions .hk-button--outline .elementor-button:hover {
	color: #fff !important;
	background: var(--hkm-ink) !important;
}

body .elementor-element.hkm-urgent {
	display: grid !important;
	grid-template-columns: minmax(330px,.8fr) minmax(520px,1.2fr) !important;
	gap: clamp(44px,7vw,100px) !important;
	padding: 58px clamp(32px,7vw,110px) !important;
	align-items: center !important;
	background: #fff7f3 !important;
	border-left: 6px solid #bc5a48 !important;
}
.hkm-urgent__heading h2 {
	max-width: 520px;
	margin: 14px 0 0 !important;
	font-size: clamp(38px,3.6vw,50px) !important;
	line-height: 1.04 !important;
}
.hkm-urgent__content p { max-width: 760px; margin: 0 0 12px !important; color: #435b6e; font-size: 16px; line-height: 1.65; }
.hkm-urgent__note p { color: #8f4034 !important; font-weight: 700 !important; }
.hkm-urgent__content .elementor-widget-button { margin-top: 14px !important; }

@media (max-width: 900px) {
	body .elementor-element.hkm-treatment { padding: 58px 22px 66px !important; }
	body .elementor-element.hkm-treatment__head,
	body .elementor-element.hkm-treatment__layout,
	body .elementor-element.hkm-urgent { grid-template-columns: 1fr !important; }
	.hkm-treatment__head > * { grid-column: 1 !important; grid-row: auto !important; }
	.hkm-treatment__head > .elementor-widget-text-editor:last-child { margin-top: 20px !important; }
	.hkm-treatment__image,
	.hkm-treatment__image .elementor-widget-container,
	.hkm-treatment__image img { height: 360px !important; }
	body .elementor-element.hkm-treatment__cards { min-height: 0 !important; }
	body .elementor-element.hkm-treatment-card { min-height: 220px !important; padding: 24px 20px !important; }
	body .elementor-element.hkm-journey__actions { grid-column: 1; }
	body .elementor-element.hkm-urgent { gap: 26px !important; padding: 46px 24px !important; }
}

/* ========================================================================== */
/* V14 SHARED PAGE RHYTHM                                                     */
/* Unifies the homepage, service pages and articles without changing their    */
/* content structure. The first orientation band is cool and reassuring; the  */
/* following section moves to warm paper or white, preventing white-on-white   */
/* sections from visually collapsing into one another.                        */
/* ========================================================================== */

/* The homepage and internal-page heroes now start from the same warm canvas. */
body.home .elementor-element.hkm-hero-shell,
body.home .elementor-element.hkm-hero,
body.home .elementor-element.hkm-hero__copy {
	background: var(--hkm-paper) !important;
}
body.home .hkm-hero__copy::after { background: var(--hkm-paper) !important; }

/* A shared orientation band directly below every primary hero. */
body.home .elementor-element.hkm-routes,
body:not(.home) #content .elementor > .elementor-element.hk-section--overlap,
body.single-post #content .elementor > .elementor-element.hk-article-summary {
	background-color: #f1f6fa !important;
	background-image:
		radial-gradient(circle at 92% 10%, rgba(52,174,221,.10), transparent 28%),
		linear-gradient(180deg, rgba(255,255,255,.32), rgba(255,255,255,0)) !important;
}

/* Article/service navigation follows on warm paper, creating a clear beat. */
body:not(.home) #content .elementor > .elementor-element.hk-section--overlap + .elementor-element.hk-section--toc,
body.single-post #content .elementor > .elementor-element.hk-article-summary + .elementor-element.hk-section--toc {
	background-color: var(--hkm-paper) !important;
	background-image: radial-gradient(circle at 10% 90%, rgba(36,60,128,.045), transparent 34%) !important;
}

/* Orientation cards remain clearly separate from their coloured band. */
body:not(.home) .hk-section--overlap .hk-editorial-card,
body.single-post .hk-article-summary .hk-article-card {
	background: #fff !important;
	box-shadow: 0 14px 38px rgba(8,33,61,.075) !important;
}

/* ========================================================================== */
/* V14 HOMEPAGE TREATMENT EDITORIAL                                           */
/* Replaces the tall image-and-table composition with one compact visual and   */
/* three equal Elementor cards. Individual service links remain discoverable. */
/* ========================================================================== */

body .elementor-element.hkm-treatment {
	padding-top: 76px !important;
	padding-bottom: 82px !important;
	background-color: #f1f6fa !important;
	background-image: radial-gradient(circle at 94% 8%, rgba(52,174,221,.10), transparent 28%) !important;
}
body .elementor-element.hkm-treatment__head {
	grid-template-columns: minmax(360px,.82fr) minmax(460px,1.18fr) !important;
	column-gap: clamp(44px,7vw,108px) !important;
	margin-bottom: 34px !important;
}
.hkm-treatment__head h2 {
	font-size: clamp(40px,3.6vw,52px) !important;
	line-height: 1.04 !important;
}
body .elementor-element.hkm-treatment__layout {
	display: grid !important;
	grid-template-columns: minmax(360px,.72fr) minmax(0,1.28fr) !important;
	min-height: 480px !important;
	gap: 22px !important;
}
.hkm-treatment__image,
.hkm-treatment__image .elementor-widget-container,
.hkm-treatment__image img {
	height: 480px !important;
	min-height: 480px !important;
	border-radius: 24px 4px 24px 4px !important;
	overflow: hidden !important;
}
.hkm-treatment__image img { object-position: center center !important; }

body .elementor-element.hkm-treatment__cards {
	display: grid !important;
	grid-template-columns: repeat(3,minmax(0,1fr)) !important;
	grid-template-rows: 1fr !important;
	min-height: 480px !important;
	gap: 14px !important;
	background: transparent !important;
}
body .elementor-element.hkm-treatment-card,
body .elementor-element.hkm-treatment-card:last-child {
	display: grid !important;
	grid-template-columns: 1fr !important;
	grid-template-rows: 58px auto 1fr auto !important;
	min-width: 0 !important;
	min-height: 480px !important;
	padding: 28px 22px 24px !important;
	border: 1px solid rgba(36,60,128,.14) !important;
	border-top: 3px solid var(--hkm-cyan) !important;
	border-radius: 16px !important;
	background: #fff !important;
	box-shadow: 0 16px 42px rgba(8,33,61,.075) !important;
}
.hkm-treatment-card__number {
	grid-column: 1 !important;
	grid-row: 1 !important;
	font-size: 34px !important;
	line-height: 1 !important;
}
.hkm-treatment-card > .elementor-widget-heading,
.hkm-treatment-card > .elementor-widget-text-editor:not(.hkm-treatment-card__number),
.hkm-treatment-card > .elementor-widget-button { grid-column: 1 !important; }
.hkm-treatment-card > .elementor-widget-heading { grid-row: 2 !important; }
.hkm-treatment-card > .elementor-widget-text-editor:not(.hkm-treatment-card__number) { grid-row: 3 !important; }
.hkm-treatment-card > .elementor-widget-button { grid-row: 4 !important; }
.hkm-treatment-card h3 {
	min-height: 58px;
	margin: 0 0 12px !important;
	font-size: 21px !important;
	line-height: 1.24 !important;
}
.hkm-treatment-card p { font-size: 14px !important; line-height: 1.62 !important; }
.hkm-treatment-card .elementor-widget-button { margin-top: 22px !important; }
.hkm-treatment-card .elementor-button {
	width: 100%;
	min-height: 48px;
	padding: 13px 14px !important;
	justify-content: center;
	font-size: 13px !important;
}

@media (hover: hover) and (pointer: fine) {
	body .elementor-element.hkm-treatment-card {
		transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
	}
	body .elementor-element.hkm-treatment-card:hover {
		transform: translateY(-4px);
		border-color: rgba(52,174,221,.52) !important;
		box-shadow: 0 24px 54px rgba(8,33,61,.115) !important;
	}
}

@media (min-width: 768px) and (max-width: 1180px) {
	body .elementor-element.hkm-treatment__layout { grid-template-columns: 1fr !important; }
	.hkm-treatment__image,
	.hkm-treatment__image .elementor-widget-container,
	.hkm-treatment__image img { height: 410px !important; min-height: 410px !important; }
	body .elementor-element.hkm-treatment__cards { min-height: 360px !important; }
	body .elementor-element.hkm-treatment-card,
	body .elementor-element.hkm-treatment-card:last-child { min-height: 360px !important; }
}

@media (max-width: 767px) {
	body .elementor-element.hkm-treatment { padding: 54px 20px 62px !important; }
	body .elementor-element.hkm-treatment__head,
	body .elementor-element.hkm-treatment__layout { grid-template-columns: 1fr !important; }
	.hkm-treatment__head h2 { font-size: 40px !important; }
	.hkm-treatment__image,
	.hkm-treatment__image .elementor-widget-container,
	.hkm-treatment__image img { height: 310px !important; min-height: 310px !important; }
	body .elementor-element.hkm-treatment__cards {
		grid-template-columns: 1fr !important;
		grid-template-rows: none !important;
		min-height: 0 !important;
		gap: 14px !important;
	}
	body .elementor-element.hkm-treatment-card,
	body .elementor-element.hkm-treatment-card:last-child {
		grid-template-rows: 46px auto auto auto !important;
		min-height: 0 !important;
		padding: 24px 20px !important;
	}
	.hkm-treatment-card h3 { min-height: 0; }
}

/* Mobile editorial heroes must grow with their content. Elementor's inherited
 * wrapping plus an old fixed height could push the copy into an invisible
 * second column to the right of the viewport. */
@media (max-width: 767px) {
	body .elementor-element.hk-viewport-intro--primary,
	body.admin-bar .elementor-element.hk-viewport-intro--primary {
		height: auto !important;
		min-height: 0 !important;
		flex-wrap: nowrap !important;
	}
	body .elementor-element.hk-viewport-intro--primary > .elementor-element.hk-page-hero--editorial,
	body .elementor-element.hk-viewport-intro--primary > .elementor-element.hk-page-hero--editorial.hk-article-hero {
		height: auto !important;
		min-height: 0 !important;
		padding: 0 !important;
		flex: 0 0 auto !important;
		justify-content: flex-start !important;
	}
	body .elementor-element.hk-page-hero--editorial,
	body .elementor-element.hk-page-hero--editorial.hk-article-hero {
		display: flex !important;
		height: auto !important;
		min-height: 0 !important;
		margin-bottom: 0 !important;
		padding: 0 !important;
		flex: 0 0 auto !important;
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		overflow: hidden !important;
	}
	body .elementor-element.hk-page-hero--editorial > .elementor-element.hk-hero-media,
	body .elementor-element.hk-page-hero--editorial > .elementor-element.hk-article-hero__media {
		order: 1 !important;
		width: 100% !important;
		height: 430px !important;
		min-height: 430px !important;
		flex: 0 0 430px !important;
	}
	body .elementor-element.hk-page-hero--editorial > .elementor-element.hk-hero-copy-column,
	body .elementor-element.hk-page-hero--editorial > .elementor-element.hk-article-hero__copy {
		order: 2 !important;
		width: 100% !important;
		max-width: none !important;
		height: auto !important;
		min-height: 0 !important;
		padding: 38px 22px 44px !important;
		flex: 0 0 auto !important;
		flex-wrap: nowrap !important;
	}
	body .elementor-element.hk-page-hero--editorial .elementor-element.hk-hero-image,
	body .elementor-element.hk-page-hero--editorial .elementor-element.hk-article-hero__image,
	body .elementor-element.hk-page-hero--editorial .elementor-element.hk-hero-image .elementor-widget-container,
	body .elementor-element.hk-page-hero--editorial .elementor-element.hk-article-hero__image .elementor-widget-container,
	body .elementor-element.hk-page-hero--editorial .elementor-element.hk-hero-image img,
	body .elementor-element.hk-page-hero--editorial .elementor-element.hk-article-hero__image img {
		height: 430px !important;
		min-height: 430px !important;
	}
}

/* Tablet keeps the split editorial hero, but its wrapper and media share one
 * explicit height so the next card band can never rise underneath it. */
@media (min-width: 768px) and (max-width: 1024px) {
	body .elementor-element.hk-viewport-intro--primary,
	body.admin-bar .elementor-element.hk-viewport-intro--primary {
		height: auto !important;
		min-height: 0 !important;
		flex-wrap: nowrap !important;
	}
	body .elementor-element.hk-viewport-intro--primary > .elementor-element.hk-page-hero--editorial,
	body .elementor-element.hk-viewport-intro--primary > .elementor-element.hk-page-hero--editorial.hk-article-hero {
		display: grid !important;
		grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
		height: 700px !important;
		min-height: 700px !important;
		margin: 0 !important;
		padding: 0 !important;
		flex: 0 0 700px !important;
		overflow: hidden !important;
	}
	body .elementor-element.hk-page-hero--editorial > .elementor-element.hk-hero-copy-column,
	body .elementor-element.hk-page-hero--editorial > .elementor-element.hk-article-hero__copy,
	body .elementor-element.hk-page-hero--editorial > .elementor-element.hk-hero-media,
	body .elementor-element.hk-page-hero--editorial > .elementor-element.hk-article-hero__media {
		height: 700px !important;
		min-height: 700px !important;
		margin: 0 !important;
	}
	body .elementor-element.hk-page-hero--editorial > .elementor-element.hk-hero-copy-column,
	body .elementor-element.hk-page-hero--editorial > .elementor-element.hk-article-hero__copy {
		padding: 50px 34px !important;
	}
	body .elementor-element.hk-page-hero--editorial .elementor-element.hk-hero-image,
	body .elementor-element.hk-page-hero--editorial .elementor-element.hk-article-hero__image,
	body .elementor-element.hk-page-hero--editorial .elementor-element.hk-hero-image .elementor-widget-container,
	body .elementor-element.hk-page-hero--editorial .elementor-element.hk-article-hero__image .elementor-widget-container,
	body .elementor-element.hk-page-hero--editorial .elementor-element.hk-hero-image img,
	body .elementor-element.hk-page-hero--editorial .elementor-element.hk-article-hero__image img {
		height: 700px !important;
		min-height: 700px !important;
	}
}

/* ========================================================================== */
/* V15 HOMEPAGE GRID AND ACTION HIERARCHY                                    */
/* Every desktop section uses the same 1520px content canvas. Section         */
/* backgrounds remain full bleed; only their useful content is aligned.       */
/* Team, journey and urgent care are intentionally informational, leaving     */
/* the final panel as the single conversion point at the end of the page.      */
/* ========================================================================== */

body.home {
	--hkm-home-gutter: max(24px, calc((100vw - 1520px) / 2));
}

@media (min-width: 1030px) {
	/* One horizontal rhythm from the hero through the final CTA. */
	body.home .elementor-element.hkm-hero,
	body.home .elementor-element.hkm-routes,
	body.home .elementor-element.hkm-editorial,
	body.home .elementor-element.hkm-conditions,
	body.home .elementor-element.hkm-treatment,
	body.home .elementor-element.hkm-team-feature,
	body.home .elementor-element.hkm-journey,
	body.home .elementor-element.hkm-urgent,
	body.home .elementor-element.hkm-final-cta {
		box-sizing: border-box !important;
		padding-right: var(--hkm-home-gutter) !important;
		padding-left: var(--hkm-home-gutter) !important;
	}

	/* The hero remains full-bleed and 100vh, but its copy and media now sit on
	 * the same canvas as every section below it. */
	body.home .elementor-element.hkm-hero {
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
	}
	body.home .elementor-element.hkm-hero__copy {
		padding-right: clamp(54px,4.5vw,82px) !important;
		padding-left: 0 !important;
	}

	/* Editorial splits keep their expressive composition without drifting to
	 * a different outer width. */
	body.home .elementor-element.hkm-routes { padding-top: 22px !important; padding-bottom: 22px !important; }
	body.home .elementor-element.hkm-editorial { padding-top: 0 !important; padding-bottom: 0 !important; }
	body.home .elementor-element.hkm-conditions { padding-top: 86px !important; padding-bottom: 86px !important; }
	body.home .elementor-element.hkm-treatment { padding-top: 80px !important; padding-bottom: 80px !important; }

	/* The team copy no longer has a second, hidden horizontal gutter. */
	body.home .elementor-element.hkm-team-feature {
		grid-template-columns: minmax(360px,.72fr) minmax(0,1.28fr) !important;
		column-gap: 48px !important;
	}
	body.home .elementor-element.hkm-team-feature__copy {
		padding: 52px 0 !important;
	}
	body.home .elementor-element.hkm-team-feature__portraits {
		padding: 8px 0 !important;
	}

	/* With no repeated CTA row, the patient journey reads as a concise process
	 * rather than another conversion panel. */
	body.home .elementor-element.hkm-journey {
		padding-top: 68px !important;
		padding-bottom: 68px !important;
		column-gap: 64px !important;
	}
	body.home .elementor-element.hkm-urgent {
		padding-top: 54px !important;
		padding-bottom: 54px !important;
	}
	body.home .hkm-urgent__link {
		margin-top: 8px !important;
		align-self: flex-start !important;
	}
	body.home .hkm-urgent__link .elementor-button {
		padding: 0 0 5px !important;
		color: #8f4034 !important;
		background: transparent !important;
		border: 0 !important;
		border-bottom: 1px solid rgba(143,64,52,.45) !important;
		border-radius: 0 !important;
		box-shadow: none !important;
	}
	body.home .hkm-urgent__link .elementor-button:hover {
		color: var(--hkm-ink) !important;
		border-bottom-color: var(--hkm-ink) !important;
	}
	body.home .elementor-element.hkm-final-cta {
		padding-top: 60px !important;
		padding-bottom: 60px !important;
	}
	body.home .elementor-element.hkm-final-cta__actions {
		min-width: 230px !important;
	}
}

@media (min-width: 768px) and (max-width: 1029px) {
	body.home { --hkm-home-gutter: 32px; }
	body.home .elementor-element.hkm-routes,
	body.home .elementor-element.hkm-conditions,
	body.home .elementor-element.hkm-treatment,
	body.home .elementor-element.hkm-journey,
	body.home .elementor-element.hkm-urgent,
	body.home .elementor-element.hkm-final-cta {
		padding-right: var(--hkm-home-gutter) !important;
		padding-left: var(--hkm-home-gutter) !important;
	}
}

/* ========================================================================== */
/* V16 HOMEPAGE DOCTOR CARDS, URGENT ACTION AND SAFE ANCHORS                  */
/* Doctor profiles remain native Elementor containers/widgets. A standard     */
/* Elementor button is stretched across each card to make the complete card   */
/* keyboard-focusable and clickable without adding an HTML widget.             */
/* ========================================================================== */

/* Keep the home copy on the shared grid while letting the hero photograph
 * reach the viewport edge as a true full-bleed visual. */
@media (min-width: 1030px) {
	body.home .elementor-element.hkm-hero { padding-right: 0 !important; }
}

body.home .elementor-element.hkm-doctor-card {
	display: block !important;
	position: relative !important;
	min-width: 0 !important;
	height: 434px !important;
	min-height: 434px !important;
	overflow: hidden !important;
	background: var(--hkm-ink) !important;
	cursor: pointer;
}
body.home .hkm-doctor-card::after {
	content: "";
	position: absolute;
	z-index: 2;
	inset: 38% 0 0;
	background: linear-gradient(180deg, transparent 0, rgba(8,33,61,.28) 22%, rgba(8,33,61,.96) 100%);
	pointer-events: none;
}
body.home .hkm-doctor-card .hkm-doctor-portrait,
body.home .hkm-doctor-card .hkm-doctor-portrait .elementor-widget-container,
body.home .hkm-doctor-card .hkm-doctor-portrait img {
	display: block !important;
	width: 100% !important;
	height: 434px !important;
	min-height: 434px !important;
	max-height: 434px !important;
}
body.home .hkm-doctor-card .hkm-doctor-portrait {
	position: absolute !important;
	inset: 0 !important;
	transition: transform .28s ease !important;
}
body.home .hkm-doctor-card__meta {
	display: flex !important;
	position: absolute !important;
	z-index: 3 !important;
	right: 0 !important;
	bottom: 0 !important;
	left: 0 !important;
	padding: 22px 22px 20px !important;
	flex-direction: column !important;
	gap: 0 !important;
	pointer-events: none !important;
}
body.home .hkm-doctor-card__role,
body.home .hkm-doctor-card__role p {
	margin: 0 0 7px !important;
	color: #8bd9f3 !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	letter-spacing: .12em !important;
	text-transform: uppercase !important;
}
body.home .hkm-doctor-card__name .elementor-heading-title {
	margin: 0 0 7px !important;
	color: #fff !important;
	font-size: 19px !important;
	line-height: 1.18 !important;
}
body.home .hkm-doctor-card__copy,
body.home .hkm-doctor-card__copy p {
	margin: 0 !important;
	color: #dce6ef !important;
	font-size: 12px !important;
	line-height: 1.42 !important;
}
body.home .hkm-doctor-card__link {
	position: absolute !important;
	z-index: 5 !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
}
body.home .hkm-doctor-card__link .elementor-widget-container,
body.home .hkm-doctor-card__link .elementor-button-wrapper,
body.home .hkm-doctor-card__link .elementor-button {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	color: transparent !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	font-size: 0 !important;
}
body.home .hkm-doctor-card:focus-within {
	outline: 3px solid var(--hkm-cyan) !important;
	outline-offset: -3px !important;
}
@media (hover: hover) and (pointer: fine) {
	body.home .hkm-doctor-card:hover .hkm-doctor-portrait { transform: scale(1.025); }
}

/* Future sticky navigation and existing in-page links land below the header,
 * never underneath it. Logged-in views include the WordPress admin bar. */
html { scroll-padding-top: 112px; }
html:has(body.admin-bar) { scroll-padding-top: 172px; }
body #content [id] { scroll-margin-top: 112px; }
body.admin-bar #content [id] { scroll-margin-top: 172px; }

@media (max-width: 782px) {
	html:has(body.admin-bar) { scroll-padding-top: 188px; }
	body.admin-bar #content [id] { scroll-margin-top: 188px; }
}

@media (max-width: 767px) {
	body.home .elementor-element.hkm-team-feature__portraits {
		display: flex !important;
		width: 100% !important;
		height: auto !important;
		min-height: 446px !important;
		max-height: none !important;
		padding: 8px 20px 18px !important;
		gap: 10px !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		overflow-x: auto !important;
		scroll-snap-type: x mandatory;
		scroll-padding-left: 20px;
	}
	body.home .elementor-element.hkm-doctor-card {
		width: min(82vw,320px) !important;
		min-width: min(82vw,320px) !important;
		height: 420px !important;
		min-height: 420px !important;
		max-height: 420px !important;
		flex: 0 0 min(82vw,320px) !important;
		scroll-snap-align: start;
	}
	body.home .hkm-doctor-card .hkm-doctor-portrait,
	body.home .hkm-doctor-card .hkm-doctor-portrait .elementor-widget-container,
	body.home .hkm-doctor-card .hkm-doctor-portrait img {
		height: 420px !important;
		min-height: 420px !important;
		max-height: 420px !important;
	}
}

/* ========================================================================== */
/* V17 HOMEPAGE CLOSING SEQUENCE                                              */
/* Four consecutive sections deliberately use four different compositions:   */
/* team gallery, editorial journey, warning grid and centred final action.     */
/* This adds substance without repeating the same left-title/right-copy beat. */
/* ========================================================================== */

/* 1. Team: full-width introduction followed by a real profile gallery. */
@media (min-width: 1030px) {
	body.home .elementor-element.hkm-team-feature {
		display: flex !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		padding-top: 72px !important;
		padding-bottom: 72px !important;
		gap: 36px !important;
		flex-direction: column !important;
	}
	body.home .elementor-element.hkm-team-feature__copy {
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		padding: 0 !important;
	}
	body.home .hkm-team-feature__copy h2 { max-width: 780px !important; }
	body.home .hkm-team-feature__copy > .elementor-widget-text-editor:last-child { max-width: 860px; }
	body.home .elementor-element.hkm-team-feature__portraits {
		width: min(100%,1320px) !important;
		height: 520px !important;
		min-height: 520px !important;
		max-height: 520px !important;
		margin-right: auto !important;
		margin-left: auto !important;
		grid-template-rows: 520px !important;
		padding: 0 !important;
		gap: 8px !important;
	}
	body.home .elementor-element.hkm-doctor-card,
	body.home .hkm-doctor-card .hkm-doctor-portrait,
	body.home .hkm-doctor-card .hkm-doctor-portrait .elementor-widget-container,
	body.home .hkm-doctor-card .hkm-doctor-portrait img {
		height: 520px !important;
		min-height: 520px !important;
		max-height: 520px !important;
	}
	body.home .hkm-doctor-card .hkm-doctor-portrait img { object-position: center 14% !important; }
	body.home .hkm-doctor-card__name .elementor-heading-title { font-size: 21px !important; }
	body.home .hkm-doctor-card__copy,
	body.home .hkm-doctor-card__copy p { font-size: 13px !important; }
}

/* 2. Journey: the only editorial split in the closing sequence. */
body.home .hkm-journey__lead,
body.home .hkm-journey__lead p {
	max-width: 520px;
	margin: 22px 0 0 !important;
	color: #536a7d !important;
	font-size: 15px !important;
	line-height: 1.7 !important;
}
@media (min-width: 1030px) {
	body.home .elementor-element.hkm-journey {
		padding-top: 82px !important;
		padding-bottom: 82px !important;
	}
	body.home .elementor-element.hkm-journey__step,
	body.home .hkm-journey__step + .hkm-journey__step {
		min-height: 250px !important;
		padding-top: 30px !important;
		padding-bottom: 28px !important;
	}
	body.home .hkm-journey__step p { font-size: 14px !important; line-height: 1.62 !important; }
}

/* Shared native Elementor point component used by the warning and CTA. */
body.home .elementor-element.hkm-mini-point {
	display: grid !important;
	grid-template-columns: 26px minmax(0,1fr) !important;
	gap: 12px !important;
	align-items: start !important;
}
body.home .hkm-mini-point__icon,
body.home .hkm-mini-point__icon .elementor-icon,
body.home .hkm-mini-point__icon i,
body.home .hkm-mini-point__icon svg {
	width: 20px !important;
	height: 20px !important;
	color: #bc5a48 !important;
	font-size: 20px !important;
}
body.home .hkm-mini-point__copy,
body.home .hkm-mini-point__copy p {
	margin: 0 !important;
	color: var(--hkm-ink) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1.45 !important;
}

/* 3. Urgent: a top-down warning grid, not another editorial split. */
body.home .elementor-element.hkm-urgent {
	display: flex !important;
	padding-top: 76px !important;
	padding-bottom: 76px !important;
	gap: 34px !important;
	flex-direction: column !important;
	align-items: stretch !important;
	border-top: 5px solid #bc5a48 !important;
	border-left: 0 !important;
}
body.home .hkm-urgent__heading h2 { max-width: 820px !important; }
body.home .elementor-element.hkm-urgent__content {
	display: flex !important;
	width: 100% !important;
	max-width: none !important;
	flex-direction: column !important;
}
body.home .hkm-urgent__content > .elementor-widget-text-editor:first-child { max-width: 860px; }
body.home .elementor-element.hkm-urgent__list {
	display: grid !important;
	grid-template-columns: repeat(4,minmax(0,1fr)) !important;
	width: 100% !important;
	margin: 24px 0 26px !important;
	border-top: 1px solid rgba(143,64,52,.22) !important;
	border-bottom: 1px solid rgba(143,64,52,.22) !important;
}
body.home .hkm-urgent__list .hkm-mini-point {
	min-height: 104px !important;
	padding: 26px 24px !important;
	border-right: 1px solid rgba(143,64,52,.22) !important;
}
body.home .hkm-urgent__list .hkm-mini-point:last-child { border-right: 0 !important; }
body.home .hkm-urgent__content > .elementor-widget-button {
	margin-top: 20px !important;
	align-self: flex-start !important;
}

/* 4. Final CTA: one centred destination, visibly different from the warning. */
body.home .elementor-element.hkm-final-cta {
	display: flex !important;
	padding-top: 82px !important;
	padding-bottom: 82px !important;
	gap: 22px !important;
	flex-direction: column !important;
	align-items: center !important;
	text-align: center !important;
}
body.home .elementor-element.hkm-final-cta__heading,
body.home .elementor-element.hkm-final-cta__content {
	display: flex !important;
	width: 100% !important;
	max-width: 1040px !important;
	align-items: center !important;
	flex-direction: column !important;
}
body.home .hkm-final-cta__heading h2 { max-width: 980px; margin-right: auto !important; margin-left: auto !important; }
body.home .hkm-final-cta__content > .elementor-widget-text-editor { max-width: 820px; }
body.home .elementor-element.hkm-final-cta__checks {
	display: grid !important;
	grid-template-columns: repeat(2,minmax(0,1fr)) !important;
	width: min(100%,760px) !important;
	margin: 28px auto 30px !important;
	gap: 14px !important;
}
body.home .hkm-mini-point--light {
	padding: 18px 20px !important;
	background: rgba(255,255,255,.08) !important;
	border: 1px solid rgba(255,255,255,.18) !important;
	text-align: left !important;
}
body.home .hkm-mini-point--light .hkm-mini-point__icon,
body.home .hkm-mini-point--light .hkm-mini-point__icon .elementor-icon,
body.home .hkm-mini-point--light .hkm-mini-point__icon i,
body.home .hkm-mini-point--light .hkm-mini-point__icon svg { color: #8bd9f3 !important; }
body.home .hkm-mini-point--light .hkm-mini-point__copy,
body.home .hkm-mini-point--light .hkm-mini-point__copy p { color: #fff !important; }

@media (max-width: 900px) {
	body.home .elementor-element.hkm-urgent__list { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
	body.home .hkm-urgent__list .hkm-mini-point:nth-child(2) { border-right: 0 !important; }
	body.home .hkm-urgent__list .hkm-mini-point:nth-child(-n+2) { border-bottom: 1px solid rgba(143,64,52,.22) !important; }
}

@media (max-width: 767px) {
	body.home .elementor-element.hkm-urgent,
	body.home .elementor-element.hkm-final-cta { padding-top: 58px !important; padding-bottom: 58px !important; }
	body.home .elementor-element.hkm-urgent__list,
	body.home .elementor-element.hkm-final-cta__checks { grid-template-columns: 1fr !important; }
	body.home .hkm-urgent__list .hkm-mini-point {
		min-height: 0 !important;
		padding: 20px 0 !important;
		border-right: 0 !important;
		border-bottom: 1px solid rgba(143,64,52,.22) !important;
	}
	body.home .hkm-urgent__list .hkm-mini-point:last-child { border-bottom: 0 !important; }
}

/* ========================================================================== */
/* V18 SHARED INTERNAL-PAGE CANVAS                                            */
/* Internal services, doctor profiles, hubs and articles now use the same     */
/* 1520px visual canvas as the homepage. Reading columns remain deliberately   */
/* narrower; cards, media, navigation and editorial splits carry the width.   */
/* ========================================================================== */

:root {
	--hkm-site-canvas: 1520px;
	--hkm-site-gutter: max(40px, calc((100vw - var(--hkm-site-canvas)) / 2));
}

@media (min-width: 1030px) {
	/* Elementor boxed sections previously collapsed to 1180px. Keeping the
	 * background full bleed and widening only the inner canvas removes the
	 * visible jump after the hero without allowing prose to become too wide. */
	body:not(.home) #content .elementor > .elementor-element.hk-section.e-con-boxed {
		--content-width: var(--hkm-site-canvas) !important;
	}
	body:not(.home) #content .elementor > .elementor-element.hk-section.e-con-boxed > .e-con-inner {
		box-sizing: border-box !important;
		width: min(calc(100% - 80px), var(--hkm-site-canvas)) !important;
		max-width: var(--hkm-site-canvas) !important;
	}

	/* The internal hero uses the identical outer grid and gutter as home while
	 * its image remains flush with the right edge of the viewport. */
	body:not(.home) .elementor-element.hk-page-hero--editorial,
	body.single-post .elementor-element.hk-page-hero--editorial.hk-article-hero {
		grid-template-columns: minmax(520px,1fr) minmax(620px,1fr) !important;
		width: 100% !important;
		max-width: none !important;
		background: var(--hkm-paper) !important;
	}
	body:not(.home) .elementor-element.hk-page-hero--editorial > .elementor-element.hk-hero-copy-column,
	body.single-post .elementor-element.hk-page-hero--editorial > .elementor-element.hk-article-hero__copy {
		padding-right: clamp(54px,4.5vw,82px) !important;
		padding-left: var(--hkm-site-gutter) !important;
	}

	/* Summary cards become one connected editorial band. The homepage uses the
	 * same line-and-column language in its orientation and journey sections. */
	body:not(.home) .hk-section--overlap .hk-quick-grid,
	body.single-post .hk-article-summary .hk-quick-grid,
	body.single-post .hk-article-summary .hk-article-summary__grid {
		display: grid !important;
		grid-template-columns: repeat(3,minmax(0,1fr)) !important;
		width: 100% !important;
		gap: 0 !important;
		border-top: 4px solid var(--hkm-cyan) !important;
		background: rgba(255,255,255,.78) !important;
		box-shadow: 0 18px 44px rgba(8,33,61,.065) !important;
	}
	body.single-post .hk-article-summary .hk-quick-grid > .hk-editorial-card,
	body.single-post .hk-article-summary .hk-article-summary__grid > .hk-article-card {
		min-height: 270px !important;
		border: 0 !important;
		border-right: 1px solid var(--hkm-line) !important;
		border-radius: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
		transform: none !important;
	}
	body.single-post .hk-article-summary .hk-quick-grid > .hk-editorial-card {
		padding: 36px clamp(28px,2.5vw,44px) !important;
	}
	body:not(.home) .hk-section--overlap .hk-quick-grid > .hk-editorial-card {
		min-height: 270px !important;
		padding-inline: clamp(28px,2.5vw,44px) !important;
		border: 0 !important;
		border-right: 1px solid var(--hkm-line) !important;
		border-radius: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
		transform: none !important;
	}
	body:not(.home) .hk-section--overlap .hk-quick-grid > .hk-editorial-card:last-child,
	body.single-post .hk-article-summary .hk-quick-grid > .hk-editorial-card:last-child,
	body.single-post .hk-article-summary .hk-article-summary__grid > .hk-article-card:last-child {
		border-right: 0 !important;
	}

	/* Contents navigation follows the compact split rhythm of the homepage:
	 * orientation on the left, useful destinations on the right. */
	body:not(.home) .elementor-element.hk-toc-panel,
	body.single-post .elementor-element.hk-toc-panel {
		display: grid !important;
		grid-template-columns: minmax(300px,.48fr) minmax(0,1.52fr) !important;
		grid-template-rows: auto 1fr !important;
		column-gap: clamp(48px,6vw,104px) !important;
		row-gap: 12px !important;
		width: 100% !important;
		min-height: 250px !important;
		align-items: center !important;
		border-top: 4px solid var(--hkm-cyan) !important;
		border-radius: 0 !important;
		background: rgba(255,255,255,.9) !important;
		box-shadow: 0 18px 46px rgba(8,33,61,.055) !important;
	}
	.hk-toc-panel > .hk-eyebrow { grid-column: 1; grid-row: 1; align-self: end; }
	.hk-toc-panel > .hk-section-title { grid-column: 1; grid-row: 2; align-self: start; }
	.hk-toc-panel > .hk-toc-list {
		grid-column: 2;
		grid-row: 1 / span 2;
		width: 100% !important;
		align-self: center;
	}

	/* One content scale for service pages, hubs and doctor profiles. */
	body:not(.home) .hk-section > .e-con-inner > .hk-section-intro {
		width: 100% !important;
		max-width: 1120px !important;
		margin-right: auto !important;
		margin-left: auto !important;
	}
	body:not(.home) .hk-section > .e-con-inner > .hk-split,
	body:not(.home) .hk-section > .e-con-inner > .hk-content-grid,
	body:not(.home) .hk-section > .e-con-inner > .hk-feature-grid,
	body:not(.home) .hk-section > .e-con-inner > .hk-process-grid,
	body:not(.home) .hk-section > .e-con-inner > .hk-comparison-grid,
	body:not(.home) .hk-section > .e-con-inner > .hk-faq-grid {
		width: 100% !important;
		max-width: 1480px !important;
		margin-right: auto !important;
		margin-left: auto !important;
	}

	/* The last CTA now closes every internal page in the same recognisable
	 * dark-blue language as home. Footer remains light, so the boundary is clear. */
	body:not(.home) #content .elementor > .elementor-element.hk-final-cta--split {
		display: grid !important;
		grid-template-columns: minmax(0,1fr) minmax(230px,.3fr) !important;
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 82px var(--hkm-site-gutter) !important;
		gap: clamp(50px,7vw,120px) !important;
		background-color: var(--hkm-blue) !important;
		background-image:
			radial-gradient(circle at 84% 18%, rgba(52,174,221,.20), transparent 27%),
			radial-gradient(circle at 10% 120%, rgba(255,255,255,.08), transparent 36%) !important;
	}
	body:not(.home) .hk-final-cta--split .elementor-heading-title,
	body:not(.home) .hk-final-cta--split .elementor-widget-text-editor,
	body:not(.home) .hk-final-cta--split .elementor-widget-text-editor p {
		color: #fff !important;
	}
	body:not(.home) .hk-final-cta--split .hk-eyebrow,
	body:not(.home) .hk-final-cta--split .hk-eyebrow p { color: #8bd9f3 !important; }
	body:not(.home) .hk-final-cta--split .hk-button--primary .elementor-button {
		color: var(--hkm-ink) !important;
		background: var(--hkm-cyan) !important;
		border-color: var(--hkm-cyan) !important;
	}
	body:not(.home) .hk-final-cta--split .hk-button--outline .elementor-button {
		color: #fff !important;
		background: transparent !important;
		border-color: rgba(255,255,255,.64) !important;
	}

	/* Blog archive: hero and article grid now share the same canvas. */
	body.blog .hk-blog-archive-hero > .e-con-inner,
	body.category .hk-blog-archive-hero > .e-con-inner {
		width: min(calc(100% - 80px), var(--hkm-site-canvas)) !important;
		max-width: var(--hkm-site-canvas) !important;
	}
	body.blog .hk-blog-archive-hero__inner,
	body.category .hk-blog-archive-hero__inner {
		width: 100% !important;
		max-width: none !important;
	}
	body.blog .site-content > .ast-container,
	body.category .site-content > .ast-container {
		width: min(calc(100% - 80px), var(--hkm-site-canvas)) !important;
		max-width: var(--hkm-site-canvas) !important;
		margin-right: auto !important;
		margin-left: auto !important;
		padding-right: 0 !important;
		padding-left: 0 !important;
	}
	body.blog .site-main,
	body.category .site-main {
		width: 100% !important;
		max-width: none !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
		padding-right: 0 !important;
		padding-left: 0 !important;
	}
}

/* Avoid accidental white-on-white beats on older supporting templates. */
body:not(.home) #content .elementor > .elementor-element.hk-section--white + .elementor-element.hk-section--white {
	background-color: var(--hkm-paper) !important;
	background-image: radial-gradient(circle at 92% 10%, rgba(52,174,221,.07), transparent 30%) !important;
}

@media (min-width: 768px) and (max-width: 1029px) {
	body:not(.home) #content .elementor > .elementor-element.hk-section.e-con-boxed > .e-con-inner,
	body.blog .hk-blog-archive-hero > .e-con-inner,
	body.category .hk-blog-archive-hero > .e-con-inner,
	body.blog .site-content > .ast-container,
	body.category .site-content > .ast-container {
		width: calc(100% - 64px) !important;
		max-width: none !important;
	}
	body.blog .site-main,
	body.category .site-main { width: 100% !important; max-width: none !important; }
	body:not(.home) .elementor-element.hk-toc-panel,
	body.single-post .elementor-element.hk-toc-panel {
		grid-template-columns: minmax(230px,.55fr) minmax(0,1.45fr) !important;
		column-gap: 36px !important;
	}
}

@media (max-width: 767px) {
	body:not(.home) #content .elementor > .elementor-element.hk-section.e-con-boxed > .e-con-inner,
	body.blog .hk-blog-archive-hero > .e-con-inner,
	body.category .hk-blog-archive-hero > .e-con-inner,
	body.blog .site-content > .ast-container,
	body.category .site-content > .ast-container {
		width: calc(100% - 40px) !important;
		max-width: none !important;
	}
	body.blog .site-main,
	body.category .site-main { width: 100% !important; max-width: none !important; }
	body:not(.home) .hk-section--overlap .hk-quick-grid,
	body.single-post .hk-article-summary .hk-quick-grid,
	body.single-post .hk-article-summary .hk-article-summary__grid {
		grid-template-columns: 1fr !important;
	}
	body.single-post .hk-article-summary .hk-quick-grid > .hk-editorial-card,
	body.single-post .hk-article-summary .hk-article-summary__grid > .hk-article-card {
		min-height: 0 !important;
		border-right: 0 !important;
		border-bottom: 1px solid var(--hkm-line) !important;
	}
	body.single-post .hk-article-summary .hk-quick-grid > .hk-editorial-card {
		padding: 28px 24px !important;
	}
	body:not(.home) .hk-section--overlap .hk-quick-grid > .hk-editorial-card {
		min-height: 0 !important;
		padding-inline: 24px !important;
		border-right: 0 !important;
		border-bottom: 1px solid var(--hkm-line) !important;
	}
	body:not(.home) .hk-section--overlap .hk-quick-grid > .hk-editorial-card:last-child,
	body.single-post .hk-article-summary .hk-quick-grid > .hk-editorial-card:last-child,
	body.single-post .hk-article-summary .hk-article-summary__grid > .hk-article-card:last-child {
		border-bottom: 0 !important;
	}
	body:not(.home) .elementor-element.hk-toc-panel,
	body.single-post .elementor-element.hk-toc-panel {
		display: flex !important;
		min-height: 0 !important;
		gap: 10px !important;
		flex-direction: column !important;
	}
	body:not(.home) #content .elementor > .elementor-element.hk-final-cta--split {
		display: flex !important;
		padding: 60px 20px !important;
		gap: 30px !important;
		flex-direction: column !important;
	}
}

/* ========================================================================== */
/* V19 URGENT CARE PANEL                                                      */
/* The warning is a calm, clinically distinct alert card. It intentionally    */
/* avoids both the homepage's editorial split and the final CTA composition.  */
/* ========================================================================== */

body.home .elementor-element.hkm-urgent {
	position: relative !important;
	display: flex !important;
	overflow: hidden !important;
	padding-top: 72px !important;
	padding-bottom: 72px !important;
	gap: 24px !important;
	flex-direction: column !important;
	align-items: stretch !important;
	background-color: #f4eee5 !important;
	background-image:
		radial-gradient(circle at 91% 14%, rgba(188,90,72,.11), transparent 27%),
		radial-gradient(circle at 8% 112%, rgba(52,174,221,.08), transparent 30%) !important;
	border: 0 !important;
}
body.home .elementor-element.hkm-urgent::before {
	position: absolute;
	top: 0;
	left: var(--hkm-home-gutter);
	width: 76px;
	height: 4px;
	content: "";
	background: #bc5a48;
}
body.home .elementor-element.hkm-urgent__heading {
	position: relative;
	z-index: 1;
	width: min(100%,1120px) !important;
	margin-right: auto !important;
	margin-left: auto !important;
	align-items: center !important;
	text-align: center !important;
}
body.home .hkm-urgent__heading .hk-eyebrow,
body.home .hkm-urgent__heading .hk-eyebrow p {
	color: #9b493d !important;
}
body.home .hkm-urgent__heading h2 {
	max-width: 900px !important;
	margin-right: auto !important;
	margin-left: auto !important;
}
body.home .elementor-element.hkm-urgent__content {
	position: relative;
	z-index: 1;
	display: grid !important;
	grid-template-columns: minmax(0,1fr) auto !important;
	width: min(100%,1320px) !important;
	max-width: 1320px !important;
	margin: 0 auto !important;
	padding: 34px 38px 36px !important;
	column-gap: 38px !important;
	row-gap: 0 !important;
	align-items: center !important;
	background: rgba(255,255,255,.88) !important;
	border: 1px solid rgba(143,64,52,.14) !important;
	box-shadow: 0 20px 54px rgba(65,45,34,.07) !important;
}
body.home .hkm-urgent__content > .elementor-widget-text-editor:first-child {
	grid-column: 1 / -1 !important;
	max-width: 860px !important;
	margin-right: auto !important;
	margin-left: auto !important;
	text-align: center !important;
}
body.home .hkm-urgent__content > .elementor-widget-text-editor:first-child p {
	margin-bottom: 0 !important;
}
body.home .elementor-element.hkm-urgent__list {
	display: grid !important;
	grid-column: 1 / -1 !important;
	grid-template-columns: repeat(2,minmax(0,1fr)) !important;
	width: 100% !important;
	margin: 26px 0 28px !important;
	gap: 12px !important;
	border: 0 !important;
}
body.home .hkm-urgent__list .elementor-element.hkm-mini-point {
	grid-template-columns: 32px minmax(0,1fr) !important;
	min-height: 82px !important;
	padding: 20px 22px !important;
	gap: 14px !important;
	align-items: center !important;
	background: #fff8f4 !important;
	border: 0 !important;
	border-left: 3px solid rgba(188,90,72,.78) !important;
}
body.home .hkm-urgent__list .hkm-mini-point__icon,
body.home .hkm-urgent__list .hkm-mini-point__icon .elementor-icon,
body.home .hkm-urgent__list .hkm-mini-point__icon i,
body.home .hkm-urgent__list .hkm-mini-point__icon svg {
	width: 23px !important;
	height: 23px !important;
	font-size: 23px !important;
}
body.home .hkm-urgent__list .hkm-mini-point__copy,
body.home .hkm-urgent__list .hkm-mini-point__copy p {
	font-size: 15px !important;
	line-height: 1.45 !important;
}
body.home .hkm-urgent__note {
	grid-column: 1 !important;
	margin: 0 !important;
}
body.home .hkm-urgent__note p {
	margin: 0 !important;
	color: #824137 !important;
	font-size: 14px !important;
	line-height: 1.55 !important;
}
body.home .hkm-urgent__content > .elementor-widget-button {
	grid-column: 2 !important;
	margin: 0 !important;
	align-self: center !important;
	justify-self: end !important;
}

@media (max-width: 900px) {
	body.home .elementor-element.hkm-urgent {
		padding-top: 62px !important;
		padding-bottom: 62px !important;
	}
	body.home .elementor-element.hkm-urgent__content {
		grid-template-columns: 1fr !important;
		padding: 30px !important;
	}
	body.home .hkm-urgent__note,
	body.home .hkm-urgent__content > .elementor-widget-button {
		grid-column: 1 !important;
	}
	body.home .hkm-urgent__content > .elementor-widget-button {
		margin-top: 20px !important;
		justify-self: start !important;
	}
}

@media (max-width: 600px) {
	body.home .elementor-element.hkm-urgent {
		padding-top: 54px !important;
		padding-bottom: 54px !important;
		gap: 20px !important;
	}
	body.home .elementor-element.hkm-urgent::before {
		left: 20px;
		width: 54px;
	}
	body.home .elementor-element.hkm-urgent__heading {
		align-items: flex-start !important;
		text-align: left !important;
	}
	body.home .hkm-urgent__heading h2 {
		margin-left: 0 !important;
	}
	body.home .elementor-element.hkm-urgent__content {
		padding: 24px 20px !important;
	}
	body.home .hkm-urgent__content > .elementor-widget-text-editor:first-child {
		text-align: left !important;
	}
	body.home .elementor-element.hkm-urgent__list {
		grid-template-columns: 1fr !important;
		margin: 22px 0 24px !important;
		gap: 9px !important;
	}
	body.home .hkm-urgent__list .elementor-element.hkm-mini-point {
		min-height: 0 !important;
		padding: 17px 16px !important;
		border-bottom: 0 !important;
	}
}

/* ========================================================================== */
/* V20 GLOBAL SECTION-TITLE SCALE                                             */
/* A single responsive scale controls every primary section heading. Hero,    */
/* compact navigation labels and card titles remain separate semantic levels. */
/* ========================================================================== */

:root {
	--hkm-section-title-size: 52px;
	--hkm-section-title-leading: 1.06;
}

body.home .hkm-editorial__copy h2,
body.home .hkm-conditions .hkm-section-head h2,
body.home .hkm-treatment__head h2,
body.home .hkm-team-feature__copy h2,
body.home .hkm-journey .hkm-section-head h2,
body.home .hkm-urgent__heading h2,
body.home .hkm-final-cta__heading h2,
body:not(.home) .hk-section .hk-section-title .elementor-heading-title,
body.single-post .hk-article-section__intro .hk-section-title .elementor-heading-title {
	font-size: var(--hkm-section-title-size) !important;
	line-height: var(--hkm-section-title-leading) !important;
}

/* A contents panel is wayfinding, not a new editorial chapter. */
body:not(.home) .hk-toc-panel .hk-section-title .elementor-heading-title,
body.single-post .hk-toc-panel .hk-section-title .elementor-heading-title {
	font-size: 38px !important;
	line-height: 1.08 !important;
}

@media (min-width: 768px) and (max-width: 1029px) {
	:root { --hkm-section-title-size: 44px; }
}

@media (max-width: 767px) {
	:root {
		--hkm-section-title-size: 36px;
		--hkm-section-title-leading: 1.08;
	}
	body:not(.home) .hk-toc-panel .hk-section-title .elementor-heading-title,
	body.single-post .hk-toc-panel .hk-section-title .elementor-heading-title {
		font-size: 29px !important;
	}
}

/* ========================================================================== */
/* V21 CALM INTERNAL EDITORIAL SYSTEM                                         */
/*                                                                            */
/* Internal pages used too many equally loud surfaces: every chapter changed  */
/* colour and every fact became a floating card. Keep one warm reading canvas */
/* and one quiet orientation band; reserve saturated colour for urgency and    */
/* conversion. Repeated choices become connected editorial indexes instead of */
/* a wall of boxes. The homepage keeps its established composition.            */
/* ========================================================================== */

:root {
	--hkm-internal-canvas: #fffdf9;
	--hkm-internal-band: #f2f6f8;
	--hkm-internal-line: rgba(16,43,77,.14);
	--hkm-internal-hover: rgba(52,174,221,.075);
}

/* One uninterrupted reading canvas for ordinary chapters. Background colour
 * is no longer used merely to prove that a new section has started. */
body:not(.home) #content .elementor > .elementor-element.hk-section--white,
body:not(.home) #content .elementor > .elementor-element.hk-section--soft,
body:not(.home) #content .elementor > .elementor-element.hk-section--mist,
body:not(.home) #content .elementor > .elementor-element.hk-section--sand,
body.single-post #content .elementor > .elementor-element.hk-article-opening,
body.single-post #content .elementor > .elementor-element.hk-article-section--white,
body.single-post #content .elementor > .elementor-element.hk-article-section--soft,
body.single-post #content .elementor > .elementor-element.hk-article-section--sand,
body.single-post #content .elementor > .elementor-element.hk-article-section--timeline {
	background-color: var(--hkm-internal-canvas) !important;
	background-image: none !important;
}

body:not(.home) #content .elementor > .elementor-element.hk-section--white,
body:not(.home) #content .elementor > .elementor-element.hk-section--soft,
body:not(.home) #content .elementor > .elementor-element.hk-section--mist,
body:not(.home) #content .elementor > .elementor-element.hk-section--sand,
body.single-post #content .elementor > .elementor-element.hk-article-section {
	border-top: 1px solid rgba(16,43,77,.075) !important;
}

/* A single cool band marks wayfinding, systems and questions. It is used
 * intentionally, rather than alternating blue, sand and white on every beat. */
body:not(.home) #content .elementor > .elementor-element.hk-layout--system-band,
body:not(.home) #content .elementor > .elementor-element.hk-layout--system-focus,
body:not(.home) #content .elementor > .elementor-element.hk-layout--cards-focus,
body.single-post #content .elementor > .elementor-element.hk-layout--cards-focus {
	background-color: var(--hkm-internal-band) !important;
	background-image: none !important;
}

/* Long pages still need chapter boundaries, but they should come from the
 * section's role and context rather than a new colour on every container. */
body:not(.home) #content .elementor > .elementor-element.hk-viewport-intro--compact + .elementor-element.hk-section--white,
body:not(.home) #content .elementor > .elementor-element.hk-section--white + .elementor-element.hk-layout--media-story,
body:not(.home) #content .elementor > .elementor-element.hk-section--mist + .elementor-element.hk-layout--media-story,
body:not(.home) #content .elementor > .elementor-element.hk-layout--faq-focus + .elementor-element.hk-layout--cards-editorial,
body:not(.home) #content .elementor > .elementor-element.hk-layout--faq-focus + .elementor-element.hk-section--mist,
body:not(.home) #content .elementor > .elementor-element.hk-section--white + .elementor-element.hk-layout--faq-focus,
body:not(.home) #content .elementor > .elementor-element.hk-section--sand:not([class*="hk-layout--"]) + .elementor-element.hk-section--white:not([class*="hk-layout--"]),
body.single-post #content .elementor > .elementor-element.hk-layout--chapter-feature,
body.single-post #content .elementor > .elementor-element.hk-layout--sources {
	background-color: var(--hkm-internal-band) !important;
	background-image: none !important;
}

/* A media chapter followed by a system and FAQ uses a deliberate
 * warm/cool/warm cadence; otherwise three large modules read as one slab. */
body:not(.home) #content .elementor > .elementor-element.hk-layout--media-story + .elementor-element.hk-layout--system-focus {
	background-color: var(--hkm-internal-canvas) !important;
	background-image: none !important;
}
body:not(.home) #content .elementor > .elementor-element.hk-layout--media-story + .elementor-element.hk-layout--system-focus + .elementor-element.hk-layout--faq-focus {
	background-color: var(--hkm-internal-band) !important;
	background-image: none !important;
}
body:not(.home) #content .elementor > .elementor-element.hk-layout--media-story + .elementor-element.hk-layout--system-focus + .elementor-element.hk-layout--faq-focus + .elementor-element.hk-layout--cards-editorial,
body:not(.home) #content .elementor > .elementor-element.hk-layout--cards-focus + .elementor-element.hk-section--editorial-note:has(+ .elementor-element.hk-layout--system-band) {
	background-color: var(--hkm-internal-canvas) !important;
	background-image: none !important;
}

/* Practical notes now sit inside the page as one purposeful callout instead
 * of becoming another full-width coloured chapter. */
body:not(.home) #content .elementor > .elementor-element.hk-section--editorial-note {
	background: var(--hkm-internal-band) !important;
	border-top: 1px solid rgba(16,43,77,.075) !important;
}
body:not(.home) .hk-section--editorial-note .hk-content-note {
	width: min(100%,1180px) !important;
	margin: 0 auto !important;
	background: var(--hkm-internal-canvas) !important;
	border: 0 !important;
	border-left: 4px solid var(--hkm-cyan) !important;
	box-shadow: none !important;
}
body:not(.home) .hk-section--editorial-note .hk-content-note__copy {
	gap: 10px !important;
}
body:not(.home) .hk-section--editorial-note .hk-content-note__copy p {
	margin-bottom: 0 !important;
}
body:not(.home) .hk-section--editorial-note .hk-content-note__copy > .elementor-widget-text-editor:last-child {
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

/* Repeated service, type and process choices form one scannable index. The
 * separators provide structure without making every item compete as a card. */
body:not(.home) .hk-section:not(.hk-section--overlap) .hk-card-grid,
body:not(.home) .hk-section:not(.hk-section--overlap) .hk-feature-grid,
body:not(.home) .hk-section:not(.hk-section--overlap) .hk-related-grid,
body:not(.home) .hk-section:not(.hk-section--overlap) .hk-process-grid,
body:not(.home) .hk-section:not(.hk-section--overlap) .hk-hub-card-grid,
body:not(.home) .hk-section:not(.hk-section--overlap) .hk-recovery-phases,
body:not(.home) .hk-section:not(.hk-section--overlap) .hk-doctor-timeline,
body:not(.home) .hk-section:not(.hk-section--overlap) .hk-procedure-comparison,
body.single-post .hk-article-section .hk-article-card-grid,
body.single-post .hk-article-section .hk-article-timeline,
body.single-post .hk-article-section .hk-article-checklist {
	gap: 0 !important;
	overflow: hidden !important;
	border-top: 1px solid var(--hkm-internal-line) !important;
	border-left: 1px solid var(--hkm-internal-line) !important;
	background: transparent !important;
}

body:not(.home) .hk-section:not(.hk-section--overlap) .hk-card-grid > .hk-card,
body:not(.home) .hk-section:not(.hk-section--overlap) .hk-feature-grid > .hk-card,
body:not(.home) .hk-section:not(.hk-section--overlap) .hk-related-grid > .hk-card,
body:not(.home) .hk-section:not(.hk-section--overlap) .hk-process-grid > .hk-card,
body:not(.home) .hk-section:not(.hk-section--overlap) .hk-hub-card-grid > .hk-card,
body:not(.home) .hk-section:not(.hk-section--overlap) .hk-recovery-phases > .hk-card,
body:not(.home) .hk-section:not(.hk-section--overlap) .hk-doctor-timeline > .hk-card,
body:not(.home) .hk-section:not(.hk-section--overlap) .hk-procedure-comparison > .hk-card,
body.single-post .hk-article-section .hk-article-card-grid > .hk-article-card,
body.single-post .hk-article-section .hk-article-timeline > .hk-article-card,
body.single-post .hk-article-section .hk-article-checklist > .hk-article-card {
	min-height: 260px !important;
	border: 0 !important;
	border-right: 1px solid var(--hkm-internal-line) !important;
	border-bottom: 1px solid var(--hkm-internal-line) !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	transform: none !important;
}

body:not(.home) .hk-section:not(.hk-section--overlap) .hk-card-grid > .hk-card,
body:not(.home) .hk-section:not(.hk-section--overlap) .hk-feature-grid > .hk-card,
body:not(.home) .hk-section:not(.hk-section--overlap) .hk-related-grid > .hk-card,
body:not(.home) .hk-section:not(.hk-section--overlap) .hk-hub-card-grid > .hk-card,
body:not(.home) .hk-section:not(.hk-section--overlap) .hk-recovery-phases > .hk-card,
body:not(.home) .hk-section:not(.hk-section--overlap) .hk-doctor-timeline > .hk-card,
body:not(.home) .hk-section:not(.hk-section--overlap) .hk-procedure-comparison > .hk-card {
	padding-inline: clamp(24px,2.2vw,38px) !important;
}

@media (hover: hover) and (pointer: fine) {
	body:not(.home) .hk-section:not(.hk-section--overlap) .hk-card-grid > .hk-card,
	body:not(.home) .hk-section:not(.hk-section--overlap) .hk-feature-grid > .hk-card,
	body:not(.home) .hk-section:not(.hk-section--overlap) .hk-related-grid > .hk-card,
	body:not(.home) .hk-section:not(.hk-section--overlap) .hk-process-grid > .hk-card,
	body:not(.home) .hk-section:not(.hk-section--overlap) .hk-hub-card-grid > .hk-card,
	body:not(.home) .hk-section:not(.hk-section--overlap) .hk-recovery-phases > .hk-card,
	body:not(.home) .hk-section:not(.hk-section--overlap) .hk-doctor-timeline > .hk-card,
	body:not(.home) .hk-section:not(.hk-section--overlap) .hk-procedure-comparison > .hk-card,
	body.single-post .hk-article-section .hk-article-card-grid > .hk-article-card {
		transition: background-color .2s ease, border-color .2s ease !important;
	}
	body:not(.home) .hk-section:not(.hk-section--overlap) .hk-card-grid > .hk-card:hover,
	body:not(.home) .hk-section:not(.hk-section--overlap) .hk-feature-grid > .hk-card:hover,
	body:not(.home) .hk-section:not(.hk-section--overlap) .hk-related-grid > .hk-card:hover,
	body:not(.home) .hk-section:not(.hk-section--overlap) .hk-process-grid > .hk-card:hover,
	body:not(.home) .hk-section:not(.hk-section--overlap) .hk-hub-card-grid > .hk-card:hover,
	body:not(.home) .hk-section:not(.hk-section--overlap) .hk-recovery-phases > .hk-card:hover,
	body:not(.home) .hk-section:not(.hk-section--overlap) .hk-doctor-timeline > .hk-card:hover,
	body:not(.home) .hk-section:not(.hk-section--overlap) .hk-procedure-comparison > .hk-card:hover,
	body.single-post .hk-article-section .hk-article-card-grid > .hk-article-card:hover {
		background-color: var(--hkm-internal-hover) !important;
		box-shadow: none !important;
		transform: none !important;
	}
}

/* FAQ and source lists follow the same editorial rule: rows and dividers,
 * never another stack of floating white rectangles. */
body:not(.home) .hk-accordion .elementor-accordion-item {
	border: 0 !important;
	border-bottom: 1px solid var(--hkm-internal-line) !important;
	background: transparent !important;
}
body:not(.home) .hk-accordion .elementor-tab-title {
	padding: 22px 4px !important;
	background: transparent !important;
}
body:not(.home) .hk-accordion .elementor-tab-content {
	padding: 0 4px 24px 36px !important;
	border: 0 !important;
	background: transparent !important;
}
body.single-post .hk-article-sources__grid,
body:not(.home) .hk-article-sources__grid {
	gap: 0 !important;
	border-top: 1px solid var(--hkm-internal-line) !important;
}
body.single-post .hk-article-source,
body:not(.home) .hk-article-source {
	border: 0 !important;
	border-bottom: 1px solid var(--hkm-internal-line) !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}
body:not(.home):not(.single-post) .hk-article-source { padding: 24px 0 !important; }

/* The three orientation facts below the hero are one module, including on
 * mobile. Detached rounded tiles made this first screen feel like a card feed. */
body:not(.home) .hk-section--overlap .hk-quick-grid,
body.single-post .hk-article-summary .hk-quick-grid,
body.single-post .hk-article-summary .hk-article-summary__grid {
	display: grid !important;
	gap: 0 !important;
	overflow: hidden !important;
	border-top: 4px solid var(--hkm-cyan) !important;
	border-left: 1px solid var(--hkm-internal-line) !important;
	background: rgba(255,255,255,.76) !important;
	box-shadow: none !important;
}
body:not(.home) .hk-section--overlap .hk-quick-grid > .hk-editorial-card,
body.single-post .hk-article-summary .hk-quick-grid > .hk-editorial-card,
body.single-post .hk-article-summary .hk-article-summary__grid > .hk-article-card {
	margin: 0 !important;
	border: 0 !important;
	border-right: 1px solid var(--hkm-internal-line) !important;
	border-bottom: 1px solid var(--hkm-internal-line) !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	transform: none !important;
}

@media (max-width: 767px) {
	body:not(.home) .hk-section:not(.hk-section--overlap) .hk-card-grid > .hk-card,
	body:not(.home) .hk-section:not(.hk-section--overlap) .hk-feature-grid > .hk-card,
	body:not(.home) .hk-section:not(.hk-section--overlap) .hk-process-grid > .hk-card,
	body:not(.home) .hk-section:not(.hk-section--overlap) .hk-related-grid > .hk-card,
	body:not(.home) .hk-section:not(.hk-section--overlap) .hk-hub-card-grid > .hk-card,
	body:not(.home) .hk-section:not(.hk-section--overlap) .hk-recovery-phases > .hk-card,
	body:not(.home) .hk-section:not(.hk-section--overlap) .hk-doctor-timeline > .hk-card,
	body:not(.home) .hk-section:not(.hk-section--overlap) .hk-procedure-comparison > .hk-card,
	body.single-post .hk-article-section .hk-article-card-grid > .hk-article-card,
	body.single-post .hk-article-section .hk-article-timeline > .hk-article-card,
	body.single-post .hk-article-section .hk-article-checklist > .hk-article-card {
		min-height: 0 !important;
	}
	body:not(.home) .hk-section:not(.hk-section--overlap) .hk-card-grid > .hk-card,
	body:not(.home) .hk-section:not(.hk-section--overlap) .hk-feature-grid > .hk-card,
	body:not(.home) .hk-section:not(.hk-section--overlap) .hk-related-grid > .hk-card,
	body:not(.home) .hk-section:not(.hk-section--overlap) .hk-hub-card-grid > .hk-card,
	body:not(.home) .hk-section:not(.hk-section--overlap) .hk-recovery-phases > .hk-card,
	body:not(.home) .hk-section:not(.hk-section--overlap) .hk-doctor-timeline > .hk-card,
	body:not(.home) .hk-section:not(.hk-section--overlap) .hk-procedure-comparison > .hk-card {
		padding-inline: 22px !important;
	}
	body:not(.home) .hk-accordion .elementor-tab-content {
		padding-left: 30px !important;
	}
	body:not(.home) .hk-section--overlap .hk-quick-grid > .hk-editorial-card,
	body.single-post .hk-article-summary .hk-quick-grid > .hk-editorial-card,
	body.single-post .hk-article-summary .hk-article-summary__grid > .hk-article-card {
		border-right: 1px solid var(--hkm-internal-line) !important;
		border-bottom: 1px solid var(--hkm-internal-line) !important;
	}
}

/* Prototype cascade lock: V21 is the global baseline below the original V22
 * declaration, so these page-scoped rules explicitly own the final borders. */
body:not(.home) #content .hk-section--overlap .hk-quick-grid {
	width: min(100%,1320px) !important;
	max-width: 1320px !important;
	margin-right: auto !important;
	margin-left: auto !important;
	padding: 0 !important;
}
body:not(.home) #content .hk-section--overlap .hk-quick-grid > .hk-editorial-card {
	display: grid !important;
	grid-template-columns: 44px minmax(0,1fr) !important;
	grid-template-rows: auto auto !important;
	align-content: center !important;
	column-gap: 18px !important;
	row-gap: 7px !important;
	min-height: 0 !important;
	padding-inline: clamp(20px,1.8vw,30px) !important;
}
body:not(.home) #content .hk-section--overlap .hk-quick-grid > .hk-editorial-card .hk-card-kicker {
	grid-column: 1 !important;
	grid-row: 1 / span 2 !important;
	align-self: start !important;
	margin: 1px 0 0 !important;
}
body:not(.home) #content .hk-section--overlap .hk-quick-grid > .hk-editorial-card .elementor-widget-heading,
body:not(.home) #content .hk-section--overlap .hk-quick-grid > .hk-editorial-card .elementor-widget-text-editor:not(.hk-card-kicker) {
	grid-column: 2 !important;
	margin: 0 !important;
}
body:not(.home) #content .hk-section--overlap .hk-quick-grid > .hk-editorial-card p {
	margin: 0 !important;
}
body.single-post #content .hk-layout--cards-focus .hk-section-intro,
body:not(.home) #content .hk-layout--cards-editorial.e-con-full .hk-section-intro {
	gap: 10px !important;
}
body.single-post #content .elementor > .elementor-element.hk-layout--cards-focus:not(.hk-section) > .e-con-inner {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	padding-block: 0 !important;
}
body:not(.home) #content .hk-layout--cards-focus .hk-section-title h2,
body:not(.home) #content .hk-layout--cards-editorial .hk-section-title h2 {
	font-size: clamp(2.35rem,2.7vw,2.75rem) !important;
	line-height: 1.04 !important;
}
body:not(.home) #content .hk-layout--cards-focus .hk-section-lead p,
body:not(.home) #content .hk-layout--cards-editorial .hk-section-lead p,
body:not(.home) #content .hk-layout--cards-editorial .hk-review-box p {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}
body:not(.home) #content .hk-section:has(.hk-diagnosis-layout) .hk-section-title h2 {
	font-size: clamp(2.35rem,2.7vw,2.75rem) !important;
	line-height: 1.04 !important;
}
body:not(.home) #content .hk-section:has(.hk-diagnosis-layout) .hk-section-lead p {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}
body:not(.home) #content .hk-diagnosis-layout {
	align-items: center !important;
	gap: clamp(36px,3.4vw,54px) !important;
}
body:not(.home) #content .hk-diagnosis-layout .hk-editorial-image,
body:not(.home) #content .hk-diagnosis-layout .hk-editorial-image img {
	height: 520px !important;
	min-height: 0 !important;
}
body:not(.home) #content .hk-diagnosis-layout .hk-editorial-image img {
	object-fit: cover !important;
	object-position: center !important;
}
body:not(.home).wp-singular:not(.home) #content .elementor .hk-section.hk-layout--cards-focus > .e-con-inner > .hk-feature-grid {
	width: min(100%,1320px) !important;
	max-width: 1320px !important;
	align-self: center !important;
	margin-right: auto !important;
	margin-left: auto !important;
	column-gap: clamp(34px,4vw,64px) !important;
	border: 0 !important;
}
body:not(.home) #content .hk-layout--cards-focus .hk-feature-grid > .hk-card,
body:not(.home) #content .hk-layout--cards-focus .hk-feature-grid > .hk-card:nth-child(even) {
	min-height: 0 !important;
	border-right: 0 !important;
	border-left: 0 !important;
}
@media (hover: hover) and (pointer: fine) {
	body:not(.home) #content .hk-layout--cards-focus .hk-feature-grid > .hk-card:hover {
		background: transparent !important;
	}
}
body:not(.home) #content .hk-process-grid--vertical,
body:not(.home) #content .hk-layout--system-focus .hk-timeline,
body:not(.home) #content .hk-layout--cards-editorial .hk-related-grid {
	border-right: 0 !important;
	border-left: 0 !important;
}
body:not(.home) #content .hk-process-grid--vertical {
	grid-template-columns: 1fr !important;
	gap: 0 !important;
}
body:not(.home) #content .hk-process-grid--vertical > .hk-card {
	display: grid !important;
	grid-template-columns: 112px minmax(0,1fr) !important;
	grid-template-rows: auto auto !important;
	column-gap: 24px !important;
	row-gap: 7px !important;
	min-height: 0 !important;
	border-right: 0 !important;
	border-bottom: 0 !important;
	border-top: 1px solid var(--hkm-internal-line) !important;
}
body:not(.home) #content .hk-process-grid--vertical > .hk-card .hk-card-kicker {
	grid-column: 1 !important;
	grid-row: 1 / span 2 !important;
	margin: 2px 0 0 !important;
}
body:not(.home) #content .hk-process-grid--vertical > .hk-card .elementor-widget-heading,
body:not(.home) #content .hk-process-grid--vertical > .hk-card .elementor-widget-text-editor:not(.hk-card-kicker) {
	grid-column: 2 !important;
	margin: 0 !important;
}
body:not(.home) #content .hk-process-grid--vertical > .hk-card p {
	margin-bottom: 0 !important;
}
body:not(.home) #content .hk-layout--system-focus .hk-timeline > .hk-card {
	border-right: 0 !important;
	border-bottom: 0 !important;
}
body:not(.home) #content .hk-layout--cards-editorial .hk-related-grid {
	width: min(100%,1320px) !important;
	margin-right: auto !important;
	margin-left: auto !important;
	grid-template-columns: repeat(3,minmax(0,1fr)) !important;
	padding: 0 26px !important;
	border: 1px solid var(--hkm-internal-line) !important;
	border-top: 3px solid var(--hkm-cyan) !important;
	background: rgba(255,255,255,.72) !important;
}
body:not(.home) #content .hk-layout--cards-editorial .hk-related-grid > .hk-link-card {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 9px !important;
	min-height: 0 !important;
	padding-inline: clamp(22px,2vw,32px) !important;
	border-right: 1px solid var(--hkm-internal-line) !important;
	border-bottom: 0 !important;
}
body:not(.home) #content .hk-layout--cards-editorial .hk-related-grid > .hk-link-card:first-child {
	padding-left: 0 !important;
}
body:not(.home) #content .hk-layout--cards-editorial .hk-related-grid > .hk-link-card:last-child {
	padding-right: 0 !important;
	border-right: 0 !important;
}
body:not(.home) #content .hk-layout--cards-editorial .hk-related-grid > .hk-link-card .hk-button {
	margin-top: 10px !important;
}
body:not(.home) #content .hk-layout--cards-editorial .hk-related-grid > .hk-link-card .hk-button--text .elementor-button {
	min-height: 34px !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	line-height: 1.25 !important;
}
body:not(.home) #content .hk-layout--cards-editorial .hk-review-box {
	width: min(100%,1320px) !important;
	margin-right: auto !important;
	margin-left: auto !important;
	gap: 14px !important;
}
body:not(.home) #content .hk-layout--cards-editorial .hk-review-box .hk-actions {
	padding-top: 4px !important;
	padding-bottom: 4px !important;
}

@media (max-width: 767px) {
	body:not(.home) #content .hk-section--overlap .hk-quick-grid > .hk-editorial-card {
		grid-template-columns: 40px minmax(0,1fr) !important;
		padding-inline: 16px !important;
	}
	body:not(.home) #content .hk-layout--cards-focus .hk-feature-grid {
		column-gap: 0 !important;
	}
	body:not(.home) #content .hk-layout--cards-editorial .hk-related-grid {
		grid-template-columns: 1fr !important;
		padding: 0 20px !important;
	}
	body:not(.home) #content .hk-layout--cards-editorial .hk-related-grid > .hk-link-card,
	body:not(.home) #content .hk-layout--cards-editorial .hk-related-grid > .hk-link-card:first-child,
	body:not(.home) #content .hk-layout--cards-editorial .hk-related-grid > .hk-link-card:last-child {
		padding-inline: 0 !important;
		border-right: 0 !important;
		border-bottom: 1px solid var(--hkm-internal-line) !important;
	}
	body:not(.home) #content .hk-layout--system-focus .hk-timeline > .hk-card {
		border-bottom: 1px solid var(--hkm-internal-line) !important;
	}
	body:not(.home) #content .hk-process-grid--vertical > .hk-card {
		grid-template-columns: 1fr !important;
		grid-template-rows: auto !important;
		row-gap: 8px !important;
	}
	body:not(.home) #content .hk-diagnosis-layout .hk-editorial-image,
	body:not(.home) #content .hk-diagnosis-layout .hk-editorial-image img {
		height: 360px !important;
	}
	body:not(.home) #content .hk-process-grid--vertical > .hk-card .hk-card-kicker,
	body:not(.home) #content .hk-process-grid--vertical > .hk-card .elementor-widget-heading,
	body:not(.home) #content .hk-process-grid--vertical > .hk-card .elementor-widget-text-editor:not(.hk-card-kicker) {
		grid-column: 1 !important;
		grid-row: auto !important;
	}
}

/* V22 prototype polish: remove accidental decoration and turn the table of
 * contents into a compact jump rail instead of another large content card. */
body:not(.home) #content .hk-process-grid--vertical::before,
body:not(.home) #content .hk-layout--system-band .hk-section-intro::before {
	content: none !important;
	display: none !important;
}
body:not(.home) #content .hk-process-grid--vertical {
	border-top: 0 !important;
}

/* Three recovery phases are a sequence, so their order is visible without
 * adding three more boxed cards. */
body:not(.home) #content .hk-layout--system-focus .hk-timeline {
	counter-reset: hk-recovery-phase;
}
body:not(.home) #content .hk-layout--system-focus .hk-timeline > .hk-card {
	counter-increment: hk-recovery-phase;
}
body:not(.home) #content .hk-layout--system-focus .hk-timeline > .hk-card::before {
	content: counter(hk-recovery-phase, decimal-leading-zero);
	display: block;
	margin: 0 0 14px;
	color: var(--hkm-cyan) !important;
	font-family: var(--hkm-serif, Georgia, serif);
	font-size: 28px;
	font-weight: 500;
	line-height: 1;
}

body:not(.home) #content .elementor-element.hk-toc-panel {
	display: grid !important;
	grid-template-columns: auto minmax(0,1fr) !important;
	grid-template-rows: 1fr !important;
	width: min(100%,1320px) !important;
	min-height: 0 !important;
	margin-right: auto !important;
	margin-left: auto !important;
	column-gap: 22px !important;
	align-items: center !important;
	border: 0 !important;
	border-top: 1px solid var(--hkm-internal-line) !important;
	border-bottom: 1px solid var(--hkm-internal-line) !important;
	background: transparent !important;
	box-shadow: none !important;
}
body:not(.home) #content .hk-toc-panel > .hk-eyebrow {
	grid-column: 1 !important;
	grid-row: 1 !important;
	align-self: center !important;
	margin: 0 !important;
	white-space: nowrap;
}
body:not(.home) #content .hk-toc-panel > .hk-section-title {
	display: none !important;
}
body:not(.home) #content .hk-toc-panel > .hk-toc-list {
	grid-column: 2 !important;
	grid-row: 1 !important;
	width: 100% !important;
	margin: 0 !important;
	overflow-x: auto !important;
	overflow-y: hidden !important;
	scrollbar-width: none;
}
body:not(.home) #content .hk-toc-panel > .hk-toc-list::-webkit-scrollbar {
	display: none;
}
body:not(.home) #content .hk-toc-list .elementor-icon-list-items {
	display: flex !important;
	grid-template-columns: none !important;
	width: max-content !important;
	min-width: 100% !important;
	margin: 0 !important;
	gap: 0 !important;
	flex-wrap: nowrap !important;
}
body:not(.home) #content .hk-toc-list .elementor-icon-list-item {
	display: flex !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	flex: 0 0 auto !important;
	align-items: stretch !important;
	border: 0 !important;
}
body:not(.home) #content .hk-toc-list .elementor-icon-list-item::before {
	content: none !important;
	display: none !important;
}
body:not(.home) #content .hk-toc-list .elementor-icon-list-item > a {
	display: flex !important;
	min-height: 42px !important;
	padding: 0 clamp(13px,1.25vw,20px) !important;
	align-items: center !important;
	border-left: 1px solid var(--hkm-internal-line) !important;
	white-space: nowrap !important;
	transition: color .2s ease, background-color .2s ease !important;
}
body:not(.home) #content .hk-toc-list .elementor-icon-list-item > a:hover {
	background: rgba(52,174,221,.075) !important;
}
body:not(.home) #content .hk-toc-list .elementor-icon-list-text {
	font-size: 13px !important;
	line-height: 1.2 !important;
}

@media (max-width: 767px) {
	body:not(.home) #content .elementor-element.hk-toc-panel {
		display: grid !important;
		grid-template-columns: 1fr !important;
		grid-template-rows: auto auto !important;
		row-gap: 6px !important;
	}
	body:not(.home) #content .hk-toc-panel > .hk-eyebrow {
		grid-column: 1 !important;
		grid-row: 1 !important;
		padding: 0 14px !important;
	}
	body:not(.home) #content .hk-toc-panel > .hk-toc-list {
		grid-column: 1 !important;
		grid-row: 2 !important;
	}
	body:not(.home) #content .hk-toc-list .elementor-icon-list-items {
		min-width: max-content !important;
	}
}

/* The desktop jump rail becomes a compact, accessible disclosure on phones.
 * Without JavaScript the horizontal rail remains available as a fallback. */
body:not(.home) #content .hk-toc-disclosure {
	display: none;
}
/* The document already supplies 112px of scroll padding for the sticky
 * header; do not add the same offset a second time on this prototype page. */
body:not(.home) #content .hk-section[id] {
	scroll-margin-top: 0 !important;
}

@media (max-width: 767px) {
	body:not(.home) #content .elementor-element.hk-toc-panel.has-disclosure {
		display: grid !important;
		grid-template-columns: 1fr !important;
		grid-template-rows: auto auto !important;
		padding: 0 !important;
		row-gap: 0 !important;
	}
	body:not(.home) #content .hk-toc-panel.has-disclosure > .hk-eyebrow {
		display: none !important;
	}
	body:not(.home) #content .hk-toc-panel.has-disclosure > .hk-toc-disclosure {
		display: grid !important;
		grid-column: 1 !important;
		grid-row: 1 !important;
		grid-template-columns: minmax(0,1fr) auto 18px !important;
		width: 100% !important;
		min-height: 54px !important;
		margin: 0 !important;
		padding: 0 14px !important;
		gap: 10px !important;
		align-items: center !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
		color: var(--hkm-ink) !important;
		font: inherit;
		text-align: left;
		box-shadow: none !important;
		cursor: pointer;
	}
	body:not(.home) #content .hk-toc-disclosure__label {
		font-size: 15px;
		font-weight: 700;
		line-height: 1.2;
	}
	body:not(.home) #content .hk-toc-disclosure__count {
		color: #607383;
		font-size: 12px;
		font-weight: 600;
		letter-spacing: .04em;
		line-height: 1;
	}
	body:not(.home) #content .hk-toc-disclosure__icon {
		width: 9px;
		height: 9px;
		border-right: 1.5px solid var(--hkm-blue);
		border-bottom: 1.5px solid var(--hkm-blue);
		transform: translateY(-2px) rotate(45deg);
		transition: transform .2s ease;
	}
	body:not(.home) #content .hk-toc-panel.has-disclosure.is-open .hk-toc-disclosure__icon {
		transform: translateY(2px) rotate(225deg);
	}
	body:not(.home) #content .hk-toc-panel.has-disclosure > .hk-toc-list {
		grid-column: 1 !important;
		grid-row: 2 !important;
		max-height: 0 !important;
		margin: 0 !important;
		overflow: hidden !important;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition: max-height .25s ease, opacity .18s ease, visibility 0s linear .25s;
	}
	body:not(.home) #content .hk-toc-panel.has-disclosure.is-open > .hk-toc-list {
		max-height: 280px !important;
		border-top: 1px solid var(--hkm-internal-line) !important;
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transition: max-height .25s ease, opacity .2s ease, visibility 0s linear 0s;
	}
	body:not(.home) #content .hk-toc-panel.has-disclosure .hk-toc-list .elementor-icon-list-items {
		display: grid !important;
		grid-template-columns: repeat(2,minmax(0,1fr)) !important;
		width: 100% !important;
		min-width: 0 !important;
		padding: 4px 0 8px !important;
		gap: 0 !important;
	}
	body:not(.home) #content .hk-toc-panel.has-disclosure .hk-toc-list .elementor-icon-list-item {
		display: flex !important;
		width: 100% !important;
		min-width: 0 !important;
	}
	body:not(.home) #content .hk-toc-panel.has-disclosure .hk-toc-list .elementor-icon-list-item > a {
		width: 100% !important;
		min-height: 44px !important;
		padding: 9px 14px !important;
		border-left: 0 !important;
		border-bottom: 1px solid rgba(16,43,77,.09) !important;
		white-space: normal !important;
	}
	body:not(.home) #content .hk-toc-panel.has-disclosure .hk-toc-list .elementor-icon-list-item:nth-last-child(-n+2) > a {
		border-bottom: 0 !important;
	}
	body:not(.home) #content .hk-toc-disclosure:focus-visible,
	body:not(.home) #content .hk-toc-list a:focus-visible {
		outline: 2px solid var(--hkm-cyan) !important;
		outline-offset: -2px;
	}
}

/* The desktop hero summary overlays the photograph, but that same absolute
 * position clips its lower rows inside the fixed mobile media height. On this
 * prototype page the complete summary becomes a compact block below the image. */
@media (max-width: 767px) {
	body:not(.home) #content .elementor-element.hk-page-hero--editorial > .hk-hero-media {
		display: flex !important;
		height: auto !important;
		min-height: 0 !important;
		overflow: visible !important;
		flex: 0 0 auto !important;
		flex-direction: column !important;
		gap: 0 !important;
		--gap: 0px !important;
	}
	body:not(.home) #content .hk-page-hero--editorial .hk-hero-image,
	body:not(.home) #content .hk-page-hero--editorial .hk-hero-image img {
		width: 100% !important;
		height: 360px !important;
		min-height: 360px !important;
		object-fit: cover !important;
	}
	body:not(.home) #content .hk-page-hero--editorial .hk-hero-image {
		position: relative !important;
		top: auto !important;
		right: auto !important;
		bottom: auto !important;
		left: auto !important;
		order: 1 !important;
		flex: 0 0 360px !important;
	}
	body:not(.home) #content .hk-page-hero--editorial .hk-hero-summary {
		position: relative !important;
		top: auto !important;
		right: auto !important;
		bottom: auto !important;
		left: auto !important;
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 18px 20px !important;
		border: 0 !important;
		border-radius: 0 !important;
		box-shadow: none !important;
		order: 2 !important;
		flex: 0 0 auto !important;
	}
	body:not(.home) #content .hk-page-hero--editorial .hk-hero-summary .elementor-heading-title {
		font-size: 15px !important;
		line-height: 1.25 !important;
		letter-spacing: .12em !important;
		text-transform: uppercase;
	}
	body:not(.home) #content .hk-page-hero--editorial .hk-hero-summary .elementor-icon-list-item {
		padding: 8px 0 !important;
	}
	body:not(.home) #content .hk-page-hero--editorial .hk-hero-summary .elementor-icon-list-text {
		font-size: 15px !important;
		line-height: 1.35 !important;
	}
}

/* Some internal-page orientation strips are navigational and therefore carry
 * a text link. Keep those as compact vertical entries; the numbered factual
 * strip without links retains the approved two-column micro-layout. */
body:not(.home) #content .hk-section--overlap .hk-quick-grid > .hk-editorial-card:has(.hk-button) {
	display: flex !important;
	min-height: 210px !important;
	padding-inline: clamp(24px,2.2vw,34px) !important;
	gap: 10px !important;
	flex-direction: column !important;
	align-items: flex-start !important;
}
body:not(.home) #content .hk-section--overlap .hk-quick-grid > .hk-editorial-card:has(.hk-button) > * {
	grid-column: auto !important;
	grid-row: auto !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
}
body:not(.home) #content .hk-section--overlap .hk-quick-grid > .hk-editorial-card:has(.hk-button) .hk-card-kicker {
	align-self: auto !important;
	margin: 0 !important;
}
body:not(.home) #content .hk-section--overlap .hk-quick-grid > .hk-editorial-card:has(.hk-button) .hk-button {
	margin-top: auto !important;
}

@media (max-width: 767px) {
	body:not(.home) #content .hk-section--overlap .hk-quick-grid > .hk-editorial-card:has(.hk-button) {
		min-height: 0 !important;
		padding-inline: 18px !important;
	}
}

/* Blog articles use the same orientation rhythm as service pages. */
body.single-post #content .hk-article-summary .hk-article-summary__grid {
	width: min(100%,1320px) !important;
	max-width: 1320px !important;
	margin-right: auto !important;
	margin-left: auto !important;
}
body.single-post #content .hk-article-summary .hk-article-summary__grid > .hk-article-card {
	min-height: 0 !important;
}

@media (min-width: 768px) {
	body.single-post #content .hk-article-summary .hk-article-summary__grid > .hk-article-card {
		padding-inline: clamp(24px,2vw,32px) !important;
	}
}
