:root {
	/* Retuned 2026-07-10 to match Lisa's homepage mockup: deep near-black navy
	   (was a brighter royal #09185D) + a redder brand orange (was amber #F87303). */
	--iv-blue: #0A1B42;
	--iv-orange: #F4722E;
	/* Same hue, deeper — for SMALL orange text on LIGHT backgrounds. The brand orange
	   is 2.88:1 on white (2.66 on soft-blue), far under WCAG AA's 4.5:1 for body-size
	   text; this shade is 5.38 on white / 4.97 soft-blue / 5.02 warm-gray. On navy the
	   brand orange itself passes (5.84), so dark sections keep --iv-orange. */
	--iv-orange-deep: #B34A10;
	--iv-white: #FFFFFF;
	--iv-soft-blue: #F3F6FC;
	--iv-warm-gray: #F7F7F5;
	--iv-text: #1F2933;
	--iv-muted: #5F6B7A;
	--iv-border: rgba(10, 27, 66, 0.14);
	--iv-orange-soft: rgba(244, 114, 46, 0.10);
	--iv-blue-soft: rgba(10, 27, 66, 0.08);

	--iv-radius-sm: 12px;
	--iv-radius-md: 20px;
	--iv-radius-lg: 32px;
	--iv-radius-pill: 999px;

	--iv-shadow-sm: 0 10px 24px rgba(9, 24, 93, 0.08);
	--iv-shadow-md: 0 18px 48px rgba(9, 24, 93, 0.14);
	--iv-shadow-lg: 0 28px 80px rgba(9, 24, 93, 0.20);

	--iv-section-padding-desktop: 96px;
	--iv-section-padding-tablet: 72px;
	--iv-section-padding-mobile: 56px;

	--iv-row-width: min(1120px, 92vw);
	--iv-row-wide: min(1280px, 94vw);
}

body.ivmedical-site {
	color: var(--iv-text);
	font-size: 18px;
	line-height: 1.65;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}

body.ivmedical-site p { color: var(--iv-muted); }

body.ivmedical-site h1,
body.ivmedical-site h2,
body.ivmedical-site h3,
body.ivmedical-site h4,
body.ivmedical-site h5,
body.ivmedical-site h6 {
	color: var(--iv-blue);
	font-weight: 800;
	letter-spacing: -0.035em;
	overflow-wrap: break-word;
	word-wrap: break-word;
}

body.ivmedical-site h1 {
	font-size: clamp(2.375rem, 5vw, 4rem);
	line-height: 1.05;
}

body.ivmedical-site h2 {
	font-size: clamp(1.5rem, 2.6vw, 2.125rem);
	line-height: 1.16;
}

body.ivmedical-site h3 {
	font-size: clamp(1.125rem, 1.5vw, 1.35rem);
	line-height: 1.28;
}

body.ivmedical-site h4 {
	font-size: clamp(1rem, 1.15vw, 1.125rem);
	line-height: 1.3;
}

/* NOTE: element-level heading sizes above are only a fallback. Divi's Heading
   module forces its own size via `.preset--module--divi-heading--default
   .et_pb_heading_container hN {font-size:50px}` (specificity 0,2,1), which those
   rules can't beat. The authoritative, higher-specificity heading-module + phone
   column overrides live at the END of this file (§ "Divi module overrides"). */

body.ivmedical-site a {
	color: var(--iv-blue);
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
}

body.ivmedical-site a:hover,
body.ivmedical-site a:focus { color: var(--iv-orange); }

.skip-link {
	position: absolute;
	left: -999px;
	top: 16px;
	z-index: 999999;
	background: var(--iv-blue);
	color: var(--iv-white);
	padding: 12px 18px;
	border-radius: var(--iv-radius-sm);
}

.skip-link:focus { left: 16px; }

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
.et_pb_button:focus-visible {
	outline: 3px solid var(--iv-orange);
	outline-offset: 4px;
}

.iv-section {
	padding-top: var(--iv-section-padding-desktop);
	padding-bottom: var(--iv-section-padding-desktop);
}

.iv-section-sm { padding-top: 64px; padding-bottom: 64px; }
.iv-row { width: var(--iv-row-width) !important; max-width: var(--iv-row-width) !important; }
.iv-row-wide { width: var(--iv-row-wide) !important; max-width: var(--iv-row-wide) !important; }

.iv-bg-white { background: var(--iv-white); }
.iv-bg-soft-blue { background: var(--iv-soft-blue); }
.iv-bg-warm-gray { background: var(--iv-warm-gray); }

.iv-bg-blue {
	/* Deep near-black navy to match the mockup Hero (was a bright royal-blue
	   gradient with a #102574 mid-stop that read as "too heavy"). */
	background:
		radial-gradient(circle at 80% 24%, rgba(244, 114, 46, 0.10), transparent 28%),
		linear-gradient(158deg, #06162F 0%, #01112A 55%, #000B1F 100%);
	color: var(--iv-white);
}

.iv-bg-blue h1,
.iv-bg-blue h2,
.iv-bg-blue h3,
.iv-bg-blue h4,
.iv-bg-blue p,
.iv-bg-blue li { color: var(--iv-white); }
.iv-bg-blue p { color: rgba(255, 255, 255, 0.82); }

.iv-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--iv-orange);
	font-size: 13px;
	line-height: 1.2;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	margin-bottom: 16px;
}

.iv-eyebrow::before {
	content: "";
	display: inline-block;
	width: 34px;
	height: 3px;
	background: var(--iv-orange);
	border-radius: 999px;
}

/* .iv-eyebrow is applied to a Divi TEXT MODULE, so the label itself is the inner
   <p>, which Divi's text preset paints in the body grey (#5F6B7A, 16px) with
   !important — the orange/13px/uppercase above only ever reached the wrapper and
   its bar, and every eyebrow on the site rendered as grey body text (3.38:1 on the
   navy heroes). Make the <p> inherit the eyebrow style (0,3,1 + !important beats
   the preset). Colour per background: brand orange on navy (5.84:1), deep orange on
   the light sections where the brand orange is only 2.7-2.9:1. */
body.ivmedical-site .iv-eyebrow .et_pb_text_inner,
body.ivmedical-site .iv-eyebrow .et_pb_text_inner p,
body.ivmedical-site .iv-eyebrow p {
	/* Explicit values, not `inherit`: Divi also styles .et_pb_text_inner itself
	   (colour + 16px), so `inherit` on the <p> picked THAT up, not the wrapper. */
	color: var(--iv-orange) !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	margin: 0 !important;
	padding: 0 !important;
}
body.ivmedical-site .iv-bg-white .iv-eyebrow,
body.ivmedical-site .iv-bg-soft-blue .iv-eyebrow,
body.ivmedical-site .iv-bg-warm-gray .iv-eyebrow,
body.ivmedical-site .iv-bg-white .iv-eyebrow .et_pb_text_inner,
body.ivmedical-site .iv-bg-soft-blue .iv-eyebrow .et_pb_text_inner,
body.ivmedical-site .iv-bg-warm-gray .iv-eyebrow .et_pb_text_inner,
body.ivmedical-site .iv-bg-white .iv-eyebrow p,
body.ivmedical-site .iv-bg-soft-blue .iv-eyebrow p,
body.ivmedical-site .iv-bg-warm-gray .iv-eyebrow p {
	color: var(--iv-orange-deep) !important;
}

.iv-card,
.iv-service-card,
.iv-stat-card,
.iv-team-card,
.iv-testimonial-card {
	background: var(--iv-white);
	border: 1px solid var(--iv-border);
	border-radius: var(--iv-radius-md);
	box-shadow: var(--iv-shadow-sm);
	overflow: hidden;
}

.iv-card-pad { padding: 32px; }

.iv-service-card,
.iv-team-card,
.iv-testimonial-card {
	transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.iv-service-card:hover,
.iv-team-card:hover,
.iv-testimonial-card:hover,
.iv-service-card:focus-within,
.iv-team-card:focus-within,
.iv-testimonial-card:focus-within {
	transform: translateY(-4px);
	box-shadow: var(--iv-shadow-md);
	border-color: rgba(244, 114, 46, 0.35);
}

.iv-icon-bubble {
	width: 58px;
	height: 58px;
	border-radius: 18px;
	background: var(--iv-orange-soft);
	color: var(--iv-orange);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 18px;
}

.iv-icon-bubble img,
.iv-icon-bubble svg { width: 30px; height: 30px; }

.et_pb_button.iv-btn-primary,
.iv-btn-primary .et_pb_button {
	background: var(--iv-orange) !important;
	border: 2px solid var(--iv-orange) !important;
	color: var(--iv-blue) !important;
	border-radius: var(--iv-radius-pill) !important;
	font-weight: 800;
	letter-spacing: -0.01em;
	padding: 14px 24px !important;
	line-height: 1.2 !important;
	box-shadow: 0 12px 28px rgba(244, 114, 46, 0.25);
}

.et_pb_button.iv-btn-primary:hover,
.iv-btn-primary .et_pb_button:hover,
.et_pb_button.iv-btn-primary:focus,
.iv-btn-primary .et_pb_button:focus {
	background: #E56600 !important;
	border-color: #E56600 !important;
	color: var(--iv-blue) !important;
	box-shadow: 0 16px 36px rgba(244, 114, 46, 0.32);
}

/* Primary button text is NAVY on the orange fill (owner decision 2026-09-06):
   white-on-#F4722E is 2.88:1, navy-on-#F4722E is 5.84:1 (AA), and the brand fill
   stays untouched. Divi's default button preset forces `color:#FFF !important`
   via `body #page-container .et_pb_section .preset--module--divi-button--default`
   (1,2,1), which silently out-ranked the .iv-btn-primary colour above (it was
   white too, so nobody saw the loss). This 1,3,0 selector actually wins. Covers
   the Theme Builder header/footer buttons too (they sit inside #page-container). */
#page-container .et_pb_section .et_pb_button.iv-btn-primary,
#page-container .et_pb_section .et_pb_button.iv-btn-primary:hover,
#page-container .et_pb_section .et_pb_button.iv-btn-primary:focus {
	color: var(--iv-blue) !important;
}

.et_pb_button.iv-btn-secondary,
.iv-btn-secondary .et_pb_button {
	background: transparent !important;
	border: 2px solid var(--iv-blue) !important;
	color: var(--iv-blue) !important;
	border-radius: var(--iv-radius-pill) !important;
	font-weight: 800 !important;
	padding: 14px 24px !important;
	line-height: 1.2 !important;
}

.iv-bg-blue .et_pb_button.iv-btn-secondary,
.iv-bg-blue .iv-btn-secondary .et_pb_button {
	border-color: rgba(255, 255, 255, 0.72) !important;
	color: var(--iv-white) !important;
}

.et_pb_button.iv-btn-secondary:hover,
.iv-btn-secondary .et_pb_button:hover,
.et_pb_button.iv-btn-secondary:focus,
.iv-btn-secondary .et_pb_button:focus {
	background: var(--iv-blue) !important;
	color: var(--iv-white) !important;
}

/* Divi's default button preset forces `color:#FFFFFF!important` through an
   ID-scoped selector (`body #page-container .et_pb_section .preset--module--divi-button--default`,
   specificity 1,2,1), which out-specifies our .iv-btn-secondary color and leaves
   the outline button's text WHITE. That's correct on dark .iv-bg-blue sections but
   unreadable on light ones. Override ONLY on the light section backgrounds, and
   include `#page-container` (an ID) so we actually beat the preset: orange text at
   rest, blue fill + white text on hover. */
#page-container .iv-bg-white .et_pb_button.iv-btn-secondary,
#page-container .iv-bg-soft-blue .et_pb_button.iv-btn-secondary,
#page-container .iv-bg-warm-gray .et_pb_button.iv-btn-secondary {
	color: var(--iv-orange-deep) !important; /* brand orange is 2.7:1 on these bgs */
}

/* Hover/focus must out-specify the orange rest rule above (which, being non-:hover,
   would otherwise keep the text orange on hover) → force the white-on-blue state. */
#page-container .iv-bg-white .et_pb_button.iv-btn-secondary:hover,
#page-container .iv-bg-white .et_pb_button.iv-btn-secondary:focus,
#page-container .iv-bg-soft-blue .et_pb_button.iv-btn-secondary:hover,
#page-container .iv-bg-soft-blue .et_pb_button.iv-btn-secondary:focus,
#page-container .iv-bg-warm-gray .et_pb_button.iv-btn-secondary:hover,
#page-container .iv-bg-warm-gray .et_pb_button.iv-btn-secondary:focus {
	background: var(--iv-blue) !important;
	color: var(--iv-white) !important;
}

.iv-hero {
	/* Tightened per client feedback ("the blue is too heavy"): was 680px min-height
	   + the section's 96px padding (~680px of blue). Now ~440px floor with its own
	   64px padding so the hero reads as a lighter band, not a full screen of blue. */
	min-height: 440px;
	padding-top: 64px;
	padding-bottom: 64px;
	display: flex;
	align-items: center;
	position: relative;
	overflow: hidden;
}

.iv-hero::after {
	content: "";
	position: absolute;
	right: -160px;
	top: 90px;
	width: 520px;
	height: 520px;
	border-radius: 999px;
	background: radial-gradient(circle, rgba(244, 114, 46, 0.20), transparent 66%);
	pointer-events: none;
}

.iv-hero-card {
	background: rgba(255, 255, 255, 0.10);
	border: 1px solid rgba(255, 255, 255, 0.18);
	backdrop-filter: blur(14px);
	border-radius: var(--iv-radius-lg);
	padding: 28px;
	box-shadow: var(--iv-shadow-lg);
}

.iv-hero-stat {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 16px 0;
	border-bottom: 1px solid rgba(255,255,255,0.16);
}

.iv-hero-stat:last-child { border-bottom: 0; }
.iv-hero-stat strong { color: var(--iv-white); display: block; font-size: 20px; }
.iv-hero-stat span { color: rgba(255,255,255,0.76); font-size: 15px; }

/* Home hero polish (client request): put the two CTAs side-by-side and stop the
   stats card (which IS the right column, .iv-hero-card) from stretching to the tall
   left column and leaving empty space. The left column is a flex-column; switching
   it to row+wrap with the text blocks forced full-width lets the two button
   wrappers share one line, while align-items:flex-start stops vertical stretch. */
#home-hero .et_pb_column_0 {
	flex-direction: row !important;
	flex-wrap: wrap !important;
	align-items: flex-start !important;
	align-content: flex-start !important;
}
#home-hero .et_pb_column_0 > .et_pb_text,
#home-hero .et_pb_column_0 > .et_pb_heading {
	flex: 0 0 100% !important;
	max-width: 100% !important;
}
#home-hero .et_pb_column_0 > .et_pb_button_module_wrapper {
	flex: 0 0 auto !important;
	width: auto !important;
	margin: 12px 14px 0 0 !important;
}
/* Card fits its content and centers beside the left column (was stretching ~549px
   with ~310px of empty space). */
#home-hero .iv-hero-card { align-self: center !important; }

.iv-stat-card { padding: 28px; text-align: center; }
.iv-stat-number { color: var(--iv-orange); font-size: clamp(2rem, 4vw, 3.25rem); font-weight: 900; line-height: 1; letter-spacing: -0.04em; }
.iv-stat-label { color: var(--iv-blue); font-weight: 800; margin-top: 10px; }
.iv-stat-note { color: var(--iv-muted); font-size: 15px; margin-top: 6px; }

.iv-contact-form input,
.iv-contact-form textarea,
.iv-contact-form select {
	border: 1px solid rgba(9, 24, 93, 0.22) !important;
	border-radius: 14px !important;
	padding: 15px 16px !important;
	font-size: 16px !important;
	color: var(--iv-text) !important;
	background: var(--iv-white) !important;
}

.iv-contact-form input:focus,
.iv-contact-form textarea:focus,
.iv-contact-form select:focus {
	border-color: var(--iv-orange) !important;
	box-shadow: 0 0 0 4px rgba(244, 114, 46, 0.12) !important;
}

/* Contact "Send Message" is a Divi outline submit by default (transparent bg,
   navy text/border) that DROPS its border on hover -> looks like it vanishes.
   Make it a solid orange square button matching the sitewide primary CTAs
   (orange fill + white label). #page-container beats Divi's preset (1,2,1). */
body.ivmedical-site #page-container .et_pb_section .et_pb_button.et_pb_contact_submit,
body.ivmedical-site #page-container .et_pb_section .et_pb_button.et_pb_contact_submit:hover,
body.ivmedical-site #page-container .et_pb_section .et_pb_button.et_pb_contact_submit:focus {
	background: var(--iv-orange) !important;
	border: 2px solid var(--iv-orange) !important;
	color: #fff !important;
	border-radius: 2px !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	padding: 14px 26px !important;
}
body.ivmedical-site #page-container .et_pb_section .et_pb_button.et_pb_contact_submit:hover,
body.ivmedical-site #page-container .et_pb_section .et_pb_button.et_pb_contact_submit:focus {
	background: #E56600 !important;
	border-color: #E56600 !important;
}

.iv-header {
	background: rgba(255, 255, 255, 0.92);
	backdrop-filter: blur(16px);
	border-bottom: 1px solid rgba(9, 24, 93, 0.10);
}

.iv-header .et_pb_menu__menu > nav > ul > li > a {
	color: var(--iv-blue) !important;
	font-weight: 800;
	/* 2026-11-04 (Lisa): Title Case nav, not all-caps. Labels are stored Title Case. */
	text-transform: none !important;
	letter-spacing: 0.01em !important;
}

.iv-header .et_pb_menu__menu > nav > ul > li > a:hover,
.iv-header .et_pb_menu__menu > nav > ul > li.current-menu-item > a {
	color: var(--iv-orange-deep) !important; /* 13px on the white header bar */
}

/* Desktop nav on ONE line. Divi's menu <ul> is flex-wrap:wrap inside a menu column
   Divi sizes to ~380px; the six 14px/800 items (the first is the 147px-wide
   "IV Medical | Home") need ~402px, so Testimonials + Contact wrapped to a 2nd line.
   Fix: never wrap, trim the item font one step and use a compact fixed gap in place
   of Divi's 22px per-item padding. Measured on staging @1920: all items on one row,
   menu starts ~200px right of the logo (no overlap). Desktop only — ≤980 the menu
   is the hamburger. */
@media (min-width: 981px) {
	.iv-header .et_pb_menu__menu > nav > ul {
		flex-wrap: nowrap !important;
		justify-content: center;
	}
	.iv-header .et_pb_menu__menu > nav > ul > li {
		margin-left: 22px !important;
		padding: 0 !important;
	}
	.iv-header .et_pb_menu__menu > nav > ul > li:first-child {
		margin-left: 0 !important;
	}
	.iv-header .et_pb_menu__menu > nav > ul > li > a {
		font-size: 13px !important;
		letter-spacing: 0 !important;
		white-space: nowrap !important;
	}
}

/* 2026-09-07 (owner): bigger menu type, still one line. The header row is Divi's
   1280px container split 342 / 456 / 342 (logo | menu | button) — 456px is what forced
   13px. Widen the row to 1440px and give the middle column 60% (logo 190px and the
   160px button need nothing like 20% each), so the menu column is ≈860px @1920 and
   still ≈680px at 1281px — room for 16px/800 items (≈530px) on a single line. */
@media (min-width: 1281px) {
	.et-l--header .iv-header .et_pb_row,
	.et-l--header .et_pb_row {
		max-width: 1440px !important;
		width: 90% !important;
	}
	.et-l--header .et_pb_column_0_tb_header { flex: 0 0 18% !important; width: 18% !important; }
	.et-l--header .et_pb_column_1_tb_header { flex: 0 0 54% !important; width: 54% !important; }
	.et-l--header .et_pb_column_2_tb_header { flex: 0 0 28% !important; width: 28% !important; }
	/* Centre the menu in its (now wide) column. Divi's structure is
	   .et_pb_menu_inner_container (flex, full column width) > .et_pb_menu__wrap
	   (content-sized) > … > ul, so the centring belongs on the inner container
	   (measured: only that level moves the list; the wrap/menu already say center). */
	.iv-header .et_pb_menu .et_pb_menu_inner_container { justify-content: center !important; }
	.iv-header .et_pb_menu .et_pb_menu__wrap { margin: 0 auto !important; }
	.iv-header .et_pb_menu__menu > nav > ul > li > a {
		font-size: 16px !important;
	}
}

/* Nav overlay + stacking. The Theme Builder header is position:static (its z-index
   is inert), so the open hamburger dropdown painted UNDER the position:relative
   hero and its lower items were hidden. Give the header its own stacking context
   above the page content and lift the dropdown itself so all items show on top. */
.et-l--header { position: -webkit-sticky; position: sticky; top: 0; z-index: 1000; }
.et-l--header .et_mobile_menu,
.iv-header .et_mobile_menu { z-index: 1001 !important; }
/* smooth compaction on scroll (see the STICKY COMPACT HEADER block at the end) */
.iv-header, .et-l--header .et_pb_section_0_tb_header { transition: padding .28s ease, box-shadow .28s ease, background-color .28s ease; }
.et_pb_column_0_tb_header img { transition: width .28s ease, max-width .28s ease; }

/* Sticky, compacted header on tablet/mobile (<=980, where the menu collapses to a
   hamburger) so the nav stays reachable while scrolling. Trims the header section's
   50px top/bottom padding to 14px (~162px -> ~90px). Desktop header is untouched. */
@media (max-width: 980px) {
	.et-l--header {
		position: -webkit-sticky !important;
		position: sticky !important;
		top: 0 !important;
		z-index: 1000 !important;
	}
	.et-l--header .et_pb_section {
		padding-top: 14px !important;
		padding-bottom: 14px !important;
	}
	/* The header's menu column is only ~80px wide (hamburger only), so the dropdown
	   inherited that width and every label wrapped ("IV Medical | Home" over 3
	   lines). Give it a comfortable width anchored to its right edge, capped to the
	   viewport, so each item sits on one line. */
	.et-l--header .et_mobile_menu {
		min-width: min(230px, calc(100vw - 150px)) !important;
		max-width: calc(100vw - 20px) !important;
		left: auto !important;
		right: 0 !important;
		/* Match the header's frosted background exactly so the dropdown doesn't read
		   as a brighter solid-white rectangle (header is rgba(255,255,255,.92)+blur;
		   the dropdown was solid rgb(255,255,255)). */
		background-color: rgba(255, 255, 255, 0.92) !important;
		-webkit-backdrop-filter: blur(16px) !important;
		backdrop-filter: blur(16px) !important;
	}
	/* The hamburger's own menu module was solid white too; make it transparent so
	   the header's frosted background shows through uniformly. */
	.et-l--header .et_pb_menu { background-color: transparent !important; }
	/* Keep the widest label ("IV Medical | Home") on one line even in the ~210px
	   dropdown small phones (360px) get. */
	.et-l--header .et_mobile_menu a { font-size: 15px !important; }
}

/* Footer: deep navy to match the mockup. The section carries the .iv-footer
   class, but Divi's per-section/module color settings win over utility CSS, so
   these are forced with !important. Logo uses the white variant; the orange CTA
   button is left intact. */
.et-l--footer .et_builder_inner_content .iv-footer.et_pb_section.et_flex_section {
	background-color: #081A3C !important;
	background-image: none !important;
	color: var(--iv-white);
}
.et-l--footer .iv-footer .et_pb_heading_container h1,
.et-l--footer .iv-footer .et_pb_heading_container h2,
.et-l--footer .iv-footer .et_pb_heading_container h3,
.et-l--footer .iv-footer .et_pb_heading_container h4,
.et-l--footer .iv-footer li, .et-l--footer .iv-footer strong {
	color: #FFFFFF !important;
}
.iv-footer .et_pb_text, .iv-footer .et_pb_text p, .iv-footer p {
	color: rgba(255, 255, 255, 0.74) !important;
}
.iv-footer a { color: rgba(255, 255, 255, 0.88) !important; }
.iv-footer a:hover, .iv-footer a:focus { color: var(--iv-orange) !important; }
/* Keep the orange CTA button readable (white label on orange). */
.iv-footer .et_pb_button, .iv-footer .et_pb_button:hover { color: #FFFFFF !important; }

@media (max-width: 980px) {
	.iv-section { padding-top: var(--iv-section-padding-tablet); padding-bottom: var(--iv-section-padding-tablet); }
	.iv-hero { min-height: auto; padding-top: 60px; padding-bottom: 60px; }
	.iv-card-pad { padding: 26px; }
}

@media (max-width: 767px) {
	body.ivmedical-site { font-size: 16px; }
	.iv-section { padding-top: var(--iv-section-padding-mobile); padding-bottom: var(--iv-section-padding-mobile); }
	.iv-section-sm { padding-top: 44px; padding-bottom: 44px; }
	.iv-hero { padding-top: 48px; padding-bottom: 48px; }
	.iv-card-pad { padding: 22px; }
	.et_pb_button.iv-btn-primary,
	.et_pb_button.iv-btn-secondary { width: 100%; text-align: center; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: 0.001ms !important;
	}
}

/* =========================================================================
   § Divi module overrides (site-wide defaults, so headings/columns behave
   without hand-editing every module).

   Heading sizes: Divi's default heading preset forces 50/28/20 on every level
   via `.preset--module--divi-heading--default .et_pb_heading_container hN`
   (specificity 0,2,1). We keep H1/H2 at that default (they read well) and bring
   H3 and H4 down. `body.ivmedical-site .et_pb_heading_container hN` = (0,2,2) so
   it wins without !important; card H3 = (0,3,2) so it wins over the general H3.
   Values match the tested per-page settings: H3 30/20/20, card H3 30/18/20,
   H4 28/28/20.
   ========================================================================= */

/* Responsive heading sizes — vw-based clamp() so a heading scales smoothly with the
   viewport (and its column) instead of a fixed pixel size that outgrows narrow
   cards. Card H3 is capped small enough to hold multi-syllable words (e.g.
   "Accountability", "Communication") in a 4-up desktop card; the hyphens:auto
   safety-net below covers anything still too long. clamp(min, vw, max):
   general H3 22-30px, H4 20-28px, card H3 18-22px. One rule each — clamp replaces
   the old per-breakpoint px overrides. */
body.ivmedical-site .et_pb_heading_container h3 { font-size: clamp(1.375rem, 2.4vw, 1.875rem); line-height: 1.22; }
body.ivmedical-site .et_pb_heading_container h4 { font-size: clamp(1.25rem, 2vw, 1.75rem); line-height: 1.3; }
body.ivmedical-site .iv-card .et_pb_heading_container h3,
body.ivmedical-site .iv-service-card .et_pb_heading_container h3,
body.ivmedical-site .iv-stat-card .et_pb_heading_container h3,
body.ivmedical-site .iv-team-card .et_pb_heading_container h3,
body.ivmedical-site .iv-testimonial-card .et_pb_heading_container h3 { font-size: clamp(1.125rem, 1.6vw, 1.375rem); line-height: 1.25; }

/* Never break a word mid-letter. hyphens:auto hyphenates at syllable boundaries
   (html lang="en-US"); overflow-wrap:break-word is the last resort only when no
   hyphenation point exists; word-break:normal forbids the ugly break-all Divi/UA
   styles can introduce. Applies to every heading + blurb module title. */
body.ivmedical-site .et_pb_heading_container h1,
body.ivmedical-site .et_pb_heading_container h2,
body.ivmedical-site .et_pb_heading_container h3,
body.ivmedical-site .et_pb_heading_container h4,
body.ivmedical-site .et_pb_heading_container h5,
body.ivmedical-site .et_pb_heading_container h6,
body.ivmedical-site .et_pb_module_header {
	overflow-wrap: break-word;
	word-break: normal;
	-webkit-hyphens: auto;
	hyphens: auto;
}

/* Paragraphs in navy sections. `.iv-bg-blue p` (0,1,1) intends white text, but
   Divi's text preset paints `.et_pb_text_inner p` in the body grey (#5F6B7A) with
   !important, so every hero sub-line and the legal-page hero copy rendered grey on
   navy (3.38:1 — fails AA). Enforce the intent at 0,3,1 + !important. Card
   descendants are excluded so the dark-text-in-white-card rules below still apply. */
body.ivmedical-site .iv-bg-blue .et_pb_text_inner p:not(.iv-card *, .iv-service-card *, .iv-stat-card *, .iv-team-card *, .iv-testimonial-card *, .iv-tm *, .iv-eyebrow *, .iv-results *, .iv-cycle *, .iv-launch *) {
	color: rgba(255, 255, 255, 0.86) !important;
}

/* A white .iv-card inside a .iv-bg-blue section: the section's white-text rules
   (.iv-bg-blue p/li/hN, specificity 0,1,1) bleed into the card and render
   white-on-white — e.g. the Key Benefits list in the Services "IV AI" section.
   These 0,3,2 selectors win and force dark, legible text back inside the card.
   (Headings inside cards are already dark: Divi's heading preset sets
   gcid-heading-color !important, which beats the .iv-bg-blue white rule.) */
body.ivmedical-site .iv-bg-blue .iv-card p,
body.ivmedical-site .iv-bg-blue .iv-card li,
body.ivmedical-site .iv-bg-blue .iv-service-card p,
body.ivmedical-site .iv-bg-blue .iv-service-card li,
body.ivmedical-site .iv-bg-blue .iv-stat-card p,
body.ivmedical-site .iv-bg-blue .iv-stat-card li,
body.ivmedical-site .iv-bg-blue .iv-team-card p,
body.ivmedical-site .iv-bg-blue .iv-team-card li,
body.ivmedical-site .iv-bg-blue .iv-testimonial-card p,
body.ivmedical-site .iv-bg-blue .iv-testimonial-card li {
	color: var(--iv-text);
}

/* Headings on .iv-bg-blue sections: Divi's heading preset forces
   color:var(--gcid-heading-color)!important (dark) on EVERY heading, which is
   illegible on the dark-blue gradient. Force them to Soft Blue Tint. The 0,3,2
   !important selector beats the preset's 0,2,1 !important. */
body.ivmedical-site .iv-bg-blue .et_pb_heading_container h1,
body.ivmedical-site .iv-bg-blue .et_pb_heading_container h2,
body.ivmedical-site .iv-bg-blue .et_pb_heading_container h3,
body.ivmedical-site .iv-bg-blue .et_pb_heading_container h4,
body.ivmedical-site .iv-bg-blue .et_pb_heading_container h5,
body.ivmedical-site .iv-bg-blue .et_pb_heading_container h6 {
	color: var(--iv-soft-blue) !important;
}

/* EXCEPTION: a heading inside a white card that sits in a blue section (e.g. the
   "Key Benefits" heading in the Services IV AI card) must stay dark on its white
   background. 0,4,2 !important beats the light-heading rule above. */
body.ivmedical-site .iv-bg-blue .iv-card .et_pb_heading_container h1,
body.ivmedical-site .iv-bg-blue .iv-card .et_pb_heading_container h2,
body.ivmedical-site .iv-bg-blue .iv-card .et_pb_heading_container h3,
body.ivmedical-site .iv-bg-blue .iv-card .et_pb_heading_container h4,
body.ivmedical-site .iv-bg-blue .iv-service-card .et_pb_heading_container h2,
body.ivmedical-site .iv-bg-blue .iv-service-card .et_pb_heading_container h3,
body.ivmedical-site .iv-bg-blue .iv-stat-card .et_pb_heading_container h3,
body.ivmedical-site .iv-bg-blue .iv-team-card .et_pb_heading_container h3,
body.ivmedical-site .iv-bg-blue .iv-testimonial-card .et_pb_heading_container h3 {
	color: var(--iv-blue) !important;
}

/* Phone column layout: Divi 5 emits NO default phone stacking, so columns keep
   desktop widths. Reflow PAGE CONTENT only — scoped to `.et-l--post` (the regular
   page-content wrapper), which naturally excludes the Theme Builder header (menu
   column is 3_5 too) and footer (already configured in the global footer). 4-col
   grids -> 2-up, everything else -> single column. !important is required to beat
   Divi's compound gutter selectors (`.et_pb_gutters3...>.et_pb_column_1_4`). */
@media (max-width: 767px) {
	body.ivmedical-site .et-l--post .et_pb_row { flex-wrap: wrap !important; }

	body.ivmedical-site .et-l--post .et_pb_column.et_pb_column_1_4 {
		width: 47.25% !important;
		margin-right: 5.5% !important;
		margin-bottom: 24px !important;
	}
	body.ivmedical-site .et-l--post .et_pb_column.et_pb_column_1_4:nth-child(2n) { margin-right: 0 !important; }

	body.ivmedical-site .et-l--post .et_pb_column.et_pb_column_1_2,
	body.ivmedical-site .et-l--post .et_pb_column.et_pb_column_1_3,
	body.ivmedical-site .et-l--post .et_pb_column.et_pb_column_2_3,
	body.ivmedical-site .et-l--post .et_pb_column.et_pb_column_3_4,
	body.ivmedical-site .et-l--post .et_pb_column.et_pb_column_2_5,
	body.ivmedical-site .et-l--post .et_pb_column.et_pb_column_3_5 {
		width: 100% !important;
		margin-right: 0 !important;
		margin-bottom: 24px !important;
	}
}

/* Divi 5 flex card grids: the value/feature/team/stat/testimonial cards are FLEX
   columns (`.et_flex_column_24_24` sharing a flex row — NOT legacy `.et_pb_column_1_4`),
   so the reflow above never touched them and 4-up rows stayed 4-up down to phone,
   crushing cards to ~90-130px (words wrapped mid-letter). Reflow them by their
   `.iv-*-card` class: 2-up on tablet/narrow desktop (<=1200), 1-up on phone (<=767).
   47.5% + 5% gutter (2nd of each pair drops its right margin) = a clean 2-up row. */
@media (max-width: 1200px) {
	/* Divi 5 flex rows already space columns with `column-gap`, so we set the gap
	   ourselves and size cards to fit two per row (47.5% + 47.5% + 4% gap = 99%).
	   Adding our own margins on top of the row's gap is what pushed the 2nd card
	   past 100% and stacked them 1-up. */
	body.ivmedical-site .et-l--post .et_flex_row {
		flex-wrap: wrap !important;
		column-gap: 4% !important;
		row-gap: 28px !important;
	}
	body.ivmedical-site .et-l--post .et_pb_column.iv-card,
	body.ivmedical-site .et-l--post .et_pb_column.iv-service-card,
	body.ivmedical-site .et-l--post .et_pb_column.iv-stat-card,
	body.ivmedical-site .et-l--post .et_pb_column.iv-team-card,
	body.ivmedical-site .et-l--post .et_pb_column.iv-testimonial-card {
		flex: 0 0 47.5% !important;
		max-width: 47.5% !important;
		width: 47.5% !important;
		margin: 0 !important;
	}
}
@media (max-width: 767px) {
	body.ivmedical-site .et-l--post .et_pb_column.iv-card,
	body.ivmedical-site .et-l--post .et_pb_column.iv-service-card,
	body.ivmedical-site .et-l--post .et_pb_column.iv-stat-card,
	body.ivmedical-site .et-l--post .et_pb_column.iv-team-card,
	body.ivmedical-site .et-l--post .et_pb_column.iv-testimonial-card {
		flex: 0 0 100% !important;
		max-width: 100% !important;
		width: 100% !important;
		margin: 0 !important;
	}
}

/* =========================================================================
   § Scrolling "works alongside your tools" marquee + richer icons
   ========================================================================= */

/* Marquee: two identical item sets in .iv-marquee__track; translateX(-50%)
   scrolls exactly one set for a seamless loop. Each item uses margin-right (not
   flex gap) so -50% lands perfectly. Edges fade via a mask; hover pauses;
   reduced-motion stops the animation and wraps the chips into a static grid. */
body.ivmedical-site .iv-marquee-band { padding: 6px 0; }
body.ivmedical-site .iv-marquee {
	position: relative;
	display: flex;
	overflow: hidden;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
	        mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}
body.ivmedical-site .iv-marquee__track {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	flex-shrink: 0;
	animation: iv-marquee-scroll 42s linear infinite;
	will-change: transform;
}
body.ivmedical-site .iv-marquee:hover .iv-marquee__track { animation-play-state: paused; }
body.ivmedical-site .iv-marquee__item {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	white-space: nowrap;
	margin-right: 18px;
	padding: 12px 22px;
	border: 1px solid var(--iv-border);
	border-radius: var(--iv-radius-pill);
	background: var(--iv-white);
	box-shadow: var(--iv-shadow-sm);
	color: var(--iv-blue);
	font-weight: 800;
	font-size: 16px;
	letter-spacing: -0.01em;
}
body.ivmedical-site .iv-marquee__item svg { width: 22px; height: 22px; color: var(--iv-orange); flex-shrink: 0; }
@keyframes iv-marquee-scroll { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
	body.ivmedical-site .iv-marquee__track { animation: none; flex-wrap: wrap; justify-content: center; }
	body.ivmedical-site .iv-marquee {
		-webkit-mask-image: none; mask-image: none;
	}
	body.ivmedical-site .iv-marquee__item { margin-bottom: 12px; }
}

/* Richer icon bubbles: subtle gradient + inner ring, and a playful lift when the
   parent card is hovered. Applies site-wide to every existing .iv-icon-bubble. */
body.ivmedical-site .iv-icon-bubble {
	background: linear-gradient(135deg, var(--iv-orange-soft), rgba(9, 24, 93, 0.05));
	box-shadow: inset 0 0 0 1px rgba(244, 114, 46, 0.18);
	transition: transform 200ms ease, box-shadow 200ms ease;
}
body.ivmedical-site .iv-service-card:hover .iv-icon-bubble,
body.ivmedical-site .iv-card:hover .iv-icon-bubble {
	transform: translateY(-3px) rotate(-4deg);
	box-shadow: inset 0 0 0 1px rgba(244, 114, 46, 0.32), var(--iv-shadow-sm);
}

/* ---------------------------------------------------------------------------
   CARD ANIMATION (v1.0.10 — varied per section + trigger-based reveal w/ delay)
   Hover lift (all card types) + a scroll-in REVEAL whose motion differs by
   section/card so the page never repeats one identical effect. Signatures:
     • .iv-service-card      → tilt-rise        • .iv-stat-card  → zoom / pop
     • .iv-team-card         → slide-in-left     • .iv-testimonial-card → slide-in-right
     • generic .iv-card      → varies by the SECTION BACKGROUND it sits in:
                               white = slide-left, soft-blue = zoom,
                               blue = slide-right, warm-gray = rise.
   The reveal is TRIGGER-based (IntersectionObserver in ivmedical-custom.js adds
   `.iv-inview`), NOT scroll-scrubbed: it plays on its own ~640ms timeline after a
   ~300ms delay (staggered per card via --iv-reveal-delay) once a card is meaningfully
   in view — so the effect is watchable. This replaced the old `animation-timeline:
   view()` scrub, which fired the instant a card touched the viewport edge (owner
   couldn't see it) and did nothing in Safari. JS adds `.iv-pre` ONLY to cards that
   START below the fold, so above-the-fold cards never hide (no flash) and nothing is
   stuck hidden if JS is off / errors / reduced-motion (fail-open). Each reveal
   animates opacity + the INDIVIDUAL translate/scale/rotate props (never `transform`)
   so it composes with the hover `transform`. Gated: prefers-reduced-motion:
   no-preference.
--------------------------------------------------------------------------- */

/* 1. Hover lift — every card type */
body.ivmedical-site .iv-card,
body.ivmedical-site .iv-service-card,
body.ivmedical-site .iv-stat-card,
body.ivmedical-site .iv-team-card,
body.ivmedical-site .iv-testimonial-card {
	transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}

body.ivmedical-site .iv-card:hover,
body.ivmedical-site .iv-service-card:hover,
body.ivmedical-site .iv-stat-card:hover,
body.ivmedical-site .iv-team-card:hover,
body.ivmedical-site .iv-testimonial-card:hover,
body.ivmedical-site .iv-card:focus-within,
body.ivmedical-site .iv-service-card:focus-within,
body.ivmedical-site .iv-stat-card:focus-within,
body.ivmedical-site .iv-team-card:focus-within,
body.ivmedical-site .iv-testimonial-card:focus-within {
	transform: translateY(-6px);
	box-shadow: var(--iv-shadow-lg);
	border-color: rgba(244, 114, 46, 0.35);
}

/* 2. Trigger-based scroll reveal. ivmedical-custom.js adds `.iv-pre` to cards that
   START below the fold, then `.iv-inview` when each enters view → a time-based
   animation plays (~640ms) after a delay (--iv-reveal-delay, staggered per card),
   so the effect is watchable instead of scroll-scrubbed. Above-fold cards are never
   prepped (no flash); if JS is off / errors / reduced-motion, nothing hides. */
@media (prefers-reduced-motion: no-preference) {
	/* Pre-reveal: hidden + offset, with NO transition — so JS adding `.iv-pre` (which
	   only ever happens to cards below the fold) is an INSTANT hide, never a fade-out.
	   The transition lives on `.iv-inview` below and fires when that class is added. */
	body.ivmedical-site .iv-pre {
		opacity: 0;
		will-change: opacity, translate, scale;
	}

	/* Motion varies by card type … (opacity + INDIVIDUAL translate/scale/rotate,
	   never `transform`, so it composes with the hover `transform`) */
	body.ivmedical-site .iv-pre.iv-service-card     { translate: 0 34px; rotate: -2.5deg; }
	body.ivmedical-site .iv-pre.iv-stat-card        { scale: 0.9; }
	body.ivmedical-site .iv-pre.iv-team-card        { translate: -48px 0; }
	body.ivmedical-site .iv-pre.iv-testimonial-card { translate: 48px 0; }
	body.ivmedical-site .iv-pre.iv-card             { translate: 0 34px; }
	body.ivmedical-site .iv-pre.iv-tm               { translate: 0 34px; scale: 0.96; } /* leadership grid cards */
	body.ivmedical-site .iv-pre.iv-res-card         { translate: 0 30px; scale: 0.96; } /* results metric cards */

	/* … and, for generic .iv-card, by the SECTION BACKGROUND it sits in */
	body.ivmedical-site .iv-bg-white     .iv-pre.iv-card { translate: -48px 0; }
	body.ivmedical-site .iv-bg-soft-blue .iv-pre.iv-card { translate: 0 0; scale: 0.9; }
	body.ivmedical-site .iv-bg-blue      .iv-pre.iv-card { translate: 48px 0; }
	body.ivmedical-site .iv-bg-warm-gray .iv-pre.iv-card { translate: 0 34px; }

	/* Revealed. The transition is defined HERE (fires on the .iv-inview add — verified)
	   so the reveal animates while the hidden state stays instant. Reveal props carry
	   --iv-reveal-delay (per-card stagger); transform/shadow/border stay instant so the
	   hover lift is unaffected. !important beats the more-specific per-section offsets. */
	body.ivmedical-site .iv-pre.iv-inview {
		opacity: 1 !important;
		translate: 0 0 !important;
		scale: 1 !important;
		rotate: 0deg !important;
		transition:
			opacity   640ms cubic-bezier(0.22, 0.61, 0.36, 1) var(--iv-reveal-delay, 300ms),
			translate 640ms cubic-bezier(0.22, 0.61, 0.36, 1) var(--iv-reveal-delay, 300ms),
			scale     640ms cubic-bezier(0.22, 0.61, 0.36, 1) var(--iv-reveal-delay, 300ms),
			rotate    640ms cubic-bezier(0.22, 0.61, 0.36, 1) var(--iv-reveal-delay, 300ms),
			transform 220ms ease,
			box-shadow 220ms ease,
			border-color 220ms ease;
	}
}

/* ==========================================================================
   ANIMATED PROCESS-STYLE CARDS  (added 2026-07-10)
   Sections: "A Foundation Built on Clarity and Support"  (.iv-stat-card)
             "Services Designed to Support the Full Revenue Cycle" (.iv-service-card)
   Inspired by Fellow Health Partners' animated numbered rings + the
   "Every Step. Every Dollar." card style. Company navy + orange, CSS only.
   ========================================================================== */

@keyframes iv-ring-spin { to { transform: rotate(360deg); } }

/* process-step auto numbering (independent counters per section) */
.et_pb_section:has(.iv-stat-card)    { counter-reset: iv-foundation; }
.iv-stat-card                        { counter-increment: iv-foundation; }
.et_pb_section:has(.iv-service-card) { counter-reset: iv-service; }
.iv-service-card                     { counter-increment: iv-service; }

/* let rings / badges sit outside the card edge, and give a springier hover */
.iv-stat-card, .iv-service-card {
	overflow: visible;
	position: relative;
	transition: transform .42s cubic-bezier(.2,.75,.3,1),
	            box-shadow .42s ease, border-color .3s ease;
}
.iv-stat-card:hover, .iv-service-card:hover,
.iv-stat-card:focus-within, .iv-service-card:focus-within {
	transform: translateY(-10px);
	border-color: rgba(244, 114, 46,.45) !important;
	box-shadow: inset 0 3px 0 0 var(--iv-orange),
	            0 26px 46px -20px rgba(10,27,66,.5) !important;
}

/* ---------- FOUNDATION: numbered medallion + rotating dashed ring ---------- */
.iv-stat-card { padding-top: 36px; }
.iv-stat-card::before {                 /* static number medallion */
	content: counter(iv-foundation, decimal-leading-zero);
	align-self: center;
	width: 58px; height: 58px;
	display: flex; align-items: center; justify-content: center;
	border-radius: 50%;
	background: var(--iv-blue);
	color: #fff; font: 800 21px/1 Inter, sans-serif;
	margin-bottom: 20px;
	position: relative; z-index: 1;
	transition: background .35s ease, transform .35s ease;
}
.iv-stat-card::after {                   /* rotating dashed ring */
	content: ""; position: absolute;
	top: 28px; left: 50%; margin-left: -37px;
	width: 74px; height: 74px; border-radius: 50%;
	border: 2px dashed rgba(244, 114, 46,.55);
	animation: iv-ring-spin 13s linear infinite;
	z-index: 0; pointer-events: none;
}
.iv-stat-card:hover::before { background: var(--iv-orange); transform: scale(1.07); }
.iv-stat-card:hover::after  { border-style: solid; border-color: var(--iv-orange); }

/* ---------- SERVICES: rotating ring + number badge on the icon tile ---------- */
.iv-service-card .iv-icon-bubble {
	position: relative; overflow: visible;
	transition: background .35s ease;
}
.iv-service-card .iv-icon-bubble::before {   /* rotating dashed ring around the tile */
	content: ""; position: absolute; top: -13px; left: -13px;
	width: 84px; height: 84px; border-radius: 50%;
	border: 2px dashed rgba(244, 114, 46,.55);
	animation: iv-ring-spin 13s linear infinite;
	z-index: 0; pointer-events: none;
}
.iv-service-card .iv-icon-bubble::after {    /* static number badge */
	content: counter(iv-service);
	position: absolute; top: -10px; right: -10px;
	width: 25px; height: 25px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	background: var(--iv-blue); color: #fff;
	font: 800 12px/1 Inter, sans-serif;
	border: 2px solid #fff; z-index: 3;
}
.iv-service-card .iv-icon-bubble svg { position: relative; z-index: 1; transition: stroke .3s ease, color .3s ease; }
.iv-service-card:hover .iv-icon-bubble { background: var(--iv-orange) !important; }
.iv-service-card:hover .iv-icon-bubble svg,
.iv-service-card:hover .iv-icon-bubble svg * { stroke: #fff !important; color: #fff !important; }
.iv-service-card:hover .iv-icon-bubble::before { border-style: solid; border-color: var(--iv-orange); }

@media (prefers-reduced-motion: reduce) {
	.iv-stat-card::after,
	.iv-service-card .iv-icon-bubble::before { animation: none; }
}

/* ==========================================================================
   HOMEPAGE HERO — 2-surgeon image (added 2026-09-04)
   Surgeons photo as the section background (right), navy gradient over the left
   for legible text; the old stats card is emptied so the image reads through.
   Only targets the hero (.iv-hero.iv-bg-blue), not other .iv-bg-blue sections.
   ========================================================================== */
.iv-hero.iv-bg-blue {
	background: #05142E;
	min-height: 520px;
}

/* PARALLAX (added 2026-09-06). The photo lives on an absolutely-positioned
   ::before layer that is 45% TALLER than the hero (overflowing above it, clipped by
   the hero's overflow:hidden) and is translated DOWN by 0.3 × scrollY from
   ivmedical-custom.js (--iv-plx) — so the image climbs at 70% of page speed while
   the copy scrolls normally. Implemented with a transform, not
   background-attachment:fixed, which iOS Safari ignores and which breaks under any
   ancestor transform/backdrop-filter. The legibility gradient rides ON the layer:
   it is horizontal (uniform top-to-bottom), so shifting the layer vertically never
   changes what the text sits on. Headroom: 45% of 520px = 234px ≥ 0.3 × (header +
   hero height) ≈ 210px, so the top edge is never exposed while the hero is visible.
   Rows are lifted above the layer; the orange ::after glow already paints above it
   (later pseudo). prefers-reduced-motion: the JS never sets --iv-plx → static. */
.iv-hero.iv-bg-blue::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: -55%;
	height: 175%;
	background:
		linear-gradient(90deg, rgba(5,20,46,.93) 0%, rgba(5,20,46,.80) 33%,
		                rgba(5,20,46,.52) 55%, rgba(5,20,46,.24) 77%, rgba(5,20,46,.05) 100%),
		url("/wp-content/uploads/2026/09/iv-hero-surgeons-opt.jpg")
		    center right / cover no-repeat;
	transform: translate3d(0, var(--iv-plx, 0px), 0);
	will-change: transform;
	pointer-events: none;
	z-index: 0;
}
.iv-hero.iv-bg-blue > .et_pb_row { position: relative; z-index: 1; }

.iv-hero .iv-hero-card {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
}
.iv-hero .iv-hero-card > * { display: none !important; }

@media (max-width: 980px) {
	.iv-hero.iv-bg-blue { min-height: 440px; }
	/* Text is centred over the photo on small screens, so the overlay is a flat
	   (vertically uniform) navy tint — still safe to shift with the parallax. */
	.iv-hero.iv-bg-blue::before {
		background:
			linear-gradient(rgba(5,20,46,.88), rgba(5,20,46,.88)),
			url("/wp-content/uploads/2026/09/iv-hero-surgeons-opt.jpg")
			    center / cover no-repeat;
	}
	.iv-hero .iv-hero-card { display: none !important; }
}

/* ==========================================================================
   INTERACTIVE PROCESS EXPLORER (.iv-proc) + card CONNECTORS (added 2026-09-04)
   Hover/click a step -> it activates and the shared detail panel swaps to it.
   "Every Step. Every Dollar." styling, company navy + warm orange.
   ========================================================================== */
.iv-proc { max-width: 1120px; margin: 8px auto 0; }

/* ---- step track ---- */
.iv-proc-track {
	display: flex; align-items: stretch; justify-content: center;
	gap: 6px; flex-wrap: wrap;
}
.iv-proc-step {
	flex: 1 1 0; min-width: 150px; max-width: 230px;
	display: flex; flex-direction: column; align-items: center; text-align: center;
	gap: 12px; padding: 22px 16px 20px;
	background: var(--iv-white);
	border: 1px solid var(--iv-border);
	border-top: 3px solid transparent;
	border-radius: var(--iv-radius-md);
	box-shadow: var(--iv-shadow-sm);
	cursor: pointer; position: relative;
	transition: transform .35s cubic-bezier(.2,.75,.3,1), box-shadow .35s ease, border-color .3s ease;
	font-family: inherit;
}
.iv-proc-num {
	font: 800 13px/1 Inter, sans-serif; color: var(--iv-orange);
	letter-spacing: .04em;
}
.iv-proc-ico {
	position: relative; width: 56px; height: 56px; border-radius: 16px;
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--iv-orange-soft); color: var(--iv-orange);
	transition: background .35s ease, color .35s ease;
}
.iv-proc-ico::before {
	content: ""; position: absolute; top: -11px; left: -11px;
	width: 78px; height: 78px; border-radius: 50%;
	border: 2px dashed rgba(244,114,46,.5);
	animation: iv-ring-spin 13s linear infinite;
}
.iv-proc-ico svg { width: 28px; height: 28px; position: relative; z-index: 1; stroke: currentColor; }
.iv-proc-label { font: 700 15px/1.25 Inter, sans-serif; color: var(--iv-blue); }
.iv-proc-step.is-active {
	border-color: var(--iv-orange); border-top-color: var(--iv-orange);
	box-shadow: 0 18px 34px -18px rgba(10,27,66,.5);
	transform: translateY(-4px);
}
.iv-proc-step.is-active .iv-proc-ico { background: var(--iv-orange); color: #fff; }
.iv-proc-step.is-active .iv-proc-ico::before { border-style: solid; border-color: var(--iv-orange); }

/* connector chevron between steps */
.iv-proc-conn {
	flex: 0 0 auto; align-self: center;
	display: flex; align-items: center; justify-content: center;
	min-width: 22px; color: rgba(244,114,46,.85);
}
.iv-proc-conn::before { content: "\203A"; font: 700 30px/1 Inter, system-ui, sans-serif; }

/* ---- detail panel ---- */
.iv-proc-panel {
	position: relative; margin-top: 26px;
	background: var(--iv-white);
	border: 1px solid var(--iv-border);
	border-left: 4px solid var(--iv-orange);
	border-radius: var(--iv-radius-md);
	box-shadow: var(--iv-shadow-sm);
	padding: 34px 38px;
}
.iv-proc-detail { display: none; grid-template-columns: 1.1fr 1fr; gap: 30px 44px; align-items: start; }
.iv-proc-detail.is-active { display: grid; animation: iv-proc-fade .4s ease; }
@keyframes iv-proc-fade { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.iv-proc-detail-num { display: inline-block; font: 800 12px/1 Inter, sans-serif; letter-spacing: .14em; text-transform: uppercase; color: var(--iv-orange-deep); margin-bottom: 10px; }
.iv-proc-detail-main h3 { margin: 0 0 10px; color: var(--iv-blue); font-size: clamp(1.35rem, 2.4vw, 1.9rem); font-weight: 800; line-height: 1.15; }
.iv-proc-detail-main p { margin: 0; color: var(--iv-muted); font-size: 1rem; line-height: 1.6; }
.iv-proc-feats { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 20px; }
.iv-proc-feat { display: flex; align-items: flex-start; gap: 10px; color: var(--iv-text); font-size: .95rem; line-height: 1.4; font-weight: 600; }
.iv-proc-feat-ico {
	flex-shrink: 0; width: 30px; height: 30px; border-radius: 9px;
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--iv-orange-soft); color: var(--iv-orange);
}

@media (max-width: 980px) {
	.iv-proc-conn { display: none; }
	.iv-proc-step { flex: 1 1 40%; min-width: 130px; }
	.iv-proc-detail.is-active { grid-template-columns: 1fr; gap: 22px; }
	.iv-proc-feats { grid-template-columns: 1fr 1fr; }
	.iv-proc-panel { padding: 26px 22px; }
}
@media (max-width: 560px) {
	.iv-proc-feats { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
	.iv-proc-ico::before { animation: none; }
	.iv-proc-detail.is-active { animation: none; }
}

/* ---- connector chevrons between Foundation cards (desktop 4-across only) ---- */
.iv-connector {
	position: absolute; top: 53px; right: -22px; width: 24px; height: 24px;
	display: flex; align-items: center; justify-content: center;
	color: var(--iv-orange); z-index: 4; pointer-events: none;
}
.iv-connector-chev { display: flex; }
.iv-connector svg { width: 20px; height: 20px; }
@media (max-width: 1080px) { .iv-connector { display: none; } }

/* ==========================================================================
   LEADERSHIP & TEAM GRID  ([iv_team_grid])
   ========================================================================== */
.iv-team { --iv-tm-blue: var(--iv-blue, #0A1B42); --iv-tm-orange: var(--iv-orange, #F4722E); --iv-tm-orange-text: var(--iv-orange-deep, #B34A10); --iv-tm-muted: #5B6880; }
.iv-team-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 26px;
	align-items: stretch;
}
.iv-tm {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid rgba(10, 27, 66, 0.08);
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 10px 26px rgba(10, 27, 66, 0.08);
	transition: transform .22s ease, box-shadow .22s ease;
}
.iv-tm:hover { transform: translateY(-6px); box-shadow: 0 18px 40px rgba(10, 27, 66, 0.16); }

/* Photo / initials medallion */
.iv-tm-photo {
	position: relative;
	aspect-ratio: 1 / 1;
	background:
		radial-gradient(circle at 50% 38%, rgba(244,114,46,0.10), transparent 60%),
		linear-gradient(160deg, #eef3fb, #dfe8f5);
	display: flex; align-items: center; justify-content: center;
}
.iv-tm-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.iv-tm-initials {
	width: 96px; height: 96px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	background: var(--iv-tm-blue); color: #fff;
	font-family: "Space Grotesk", "Inter", sans-serif;
	font-weight: 700; font-size: 30px; letter-spacing: .02em;
	box-shadow: 0 0 0 4px #fff, 0 0 0 7px rgba(244,114,46,0.85), 0 10px 22px rgba(10,27,66,0.28);
}

/* Body */
.iv-tm-body { padding: 20px 22px 22px; display: flex; flex-direction: column; flex: 1 1 auto; }
.iv-tm-name { margin: 0; color: var(--iv-tm-blue); font-size: 19px; font-weight: 700; line-height: 1.2; }
.iv-tm-role {
	margin: 6px 0 10px; color: var(--iv-tm-orange-text);
	font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase;
}
.iv-tm-blurb { margin: 0 0 16px; color: #4a5875; font-size: 14px; line-height: 1.55; }
.iv-tm-more {
	margin-top: auto; align-self: flex-start;
	background: none; border: 0; padding: 0; cursor: pointer;
	color: var(--iv-tm-orange-text); font-size: 13px; font-weight: 800;
	letter-spacing: .03em; text-transform: uppercase;
	display: inline-flex; align-items: center; gap: 6px;
}
.iv-tm-more span { transition: transform .18s ease; }
.iv-tm-more:hover span, .iv-tm-more:focus span { transform: translateX(4px); }
.iv-tm-more:focus-visible { outline: 2px solid var(--iv-tm-orange); outline-offset: 3px; border-radius: 3px; }
.iv-tm-pending { margin-top: auto; color: var(--iv-tm-muted); font-size: 13px; font-style: italic; } /* was #8794ab = 3.06:1 */
.iv-tm.is-pending .iv-tm-photo { filter: none; }

/* Read-bio modal */
.iv-team-modal { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 24px; }
.iv-team-modal[hidden] { display: none; }
.iv-team-modal-backdrop { position: absolute; inset: 0; background: rgba(5, 16, 40, 0.62); backdrop-filter: blur(3px); }
.iv-team-modal-panel {
	position: relative; z-index: 1;
	width: min(680px, 100%); max-height: min(86vh, 820px); overflow-y: auto;
	background: #fff; border-radius: 18px; padding: 34px 38px 36px;
	box-shadow: 0 30px 80px rgba(5, 16, 40, 0.5);
}
.iv-team-modal-close {
	position: absolute; top: 12px; right: 14px;
	width: 40px; height: 40px; border: 0; border-radius: 50%;
	background: #eef2f8; color: var(--iv-blue, #0A1B42);
	font-size: 26px; line-height: 1; cursor: pointer;
}
.iv-team-modal-close:hover { background: var(--iv-orange, #F4722E); color: #fff; }
.iv-tm-bio-name { margin: 0; color: var(--iv-blue, #0A1B42); font-size: 26px; font-weight: 700; padding-right: 40px; }
.iv-tm-bio-role { margin: 6px 0 18px; color: var(--iv-orange-deep, #B34A10); font-size: 13px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.iv-team-modal-content p { color: #33405c; font-size: 15.5px; line-height: 1.72; margin: 0 0 14px; }
.iv-team-modal-content .iv-tm-beyond { margin-top: 18px; padding-top: 16px; border-top: 1px solid rgba(10,27,66,0.1); color: #4a5875; font-size: 14.5px; }
.iv-team-modal-content .iv-tm-beyond span { color: var(--iv-blue, #0A1B42); font-weight: 800; }
body.iv-modal-open { overflow: hidden; }

/* Responsive */
@media (max-width: 1100px) { .iv-team-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 820px)  { .iv-team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; } }
@media (max-width: 520px)  { .iv-team-grid { grid-template-columns: 1fr; max-width: 380px; margin: 0 auto; } .iv-team-modal-panel { padding: 28px 22px 26px; } }

/* Brand colors must win over Divi text-module (.et_pb_text_inner p) paragraph styles,
   since [iv_team_grid] renders inside a Divi Text module. */
.iv-team .iv-tm-name,
.iv-team .iv-tm-bio-name { color: var(--iv-tm-blue) !important; }
.iv-team .iv-tm-role,
.iv-team .iv-tm-bio-role { color: var(--iv-tm-orange-text) !important; }
.iv-team .iv-tm-blurb { color: #4a5875 !important; font-size: 14px !important; line-height: 1.55 !important; }
.iv-team .iv-tm-more { color: var(--iv-tm-orange-text) !important; }
.iv-team .iv-tm-pending { color: var(--iv-tm-muted) !important; }
.iv-team .iv-team-modal-content p { color: #33405c !important; font-size: 15.5px !important; line-height: 1.72 !important; }
.iv-team .iv-team-modal-content .iv-tm-beyond span { color: var(--iv-tm-blue) !important; }

/* ==========================================================================
   LEADERSHIP HERO  ([iv_leadership_hero])  — inside .iv-bg-blue section
   ========================================================================== */
.iv-lead-hero {
	display: grid;
	grid-template-columns: 1.12fr 0.88fr;
	gap: 48px;
	align-items: center;
}
.iv-lead-hero-text { min-width: 0; }
.iv-lead-eyebrow {
	color: var(--iv-orange, #F4722E) !important;
	text-transform: uppercase; letter-spacing: .16em; font-weight: 800;
	font-size: 13px; margin: 0 0 16px !important;
}
.iv-lead-title {
	color: #fff !important;
	font-size: clamp(30px, 4.3vw, 47px); line-height: 1.08; font-weight: 700;
	margin: 0 0 22px !important; letter-spacing: -0.01em;
}
.iv-lead-title .iv-lead-accent { display: block; color: var(--iv-orange, #F4722E) !important; }
.iv-lead-intro {
	color: rgba(255, 255, 255, 0.82) !important;
	font-size: 17px; line-height: 1.68; margin: 0 !important; max-width: 620px;
}
.iv-lead-hero-media img {
	width: 100%; height: auto; display: block;
	aspect-ratio: 4 / 3; object-fit: cover;
	border-radius: 16px;
	box-shadow: 0 22px 55px rgba(3, 12, 32, 0.55);
	border: 1px solid rgba(255, 255, 255, 0.10);
}
@media (max-width: 900px) {
	.iv-lead-hero { grid-template-columns: 1fr; gap: 30px; }
	.iv-lead-hero-media { order: -1; max-width: 520px; }
	.iv-lead-intro { max-width: none; }
}

/* ==========================================================================
   TEAM CTA BAND  ([iv_team_cta])  — inside .iv-bg-blue section
   ========================================================================== */
.iv-team-cta {
	display: flex; align-items: center; justify-content: space-between;
	gap: 36px; flex-wrap: wrap;
}
.iv-team-cta-lead { display: flex; align-items: center; gap: 20px; flex: 1 1 340px; }
.iv-team-cta-icon {
	flex: 0 0 auto; width: 58px; height: 58px; border-radius: 16px;
	display: flex; align-items: center; justify-content: center;
	background: rgba(244, 114, 46, 0.14); color: var(--iv-orange, #F4722E);
	border: 1px solid rgba(244, 114, 46, 0.4);
}
.iv-team-cta-icon svg { width: 30px; height: 30px; }
.iv-team-cta-title {
	color: #fff !important; margin: 0 !important;
	font-size: clamp(21px, 2.5vw, 29px); line-height: 1.18; font-weight: 700;
}
.iv-team-cta-title span { color: rgba(255, 255, 255, 0.92) !important; }
.iv-team-cta-action { flex: 1 1 360px; display: flex; flex-direction: column; gap: 16px; align-items: flex-start; }
.iv-team-cta-action p { color: rgba(255, 255, 255, 0.78) !important; margin: 0 !important; font-size: 15px; line-height: 1.62; }
.iv-team-cta-btn {
	display: inline-flex; align-items: center; gap: 9px;
	background: var(--iv-orange, #F4722E); color: var(--iv-blue, #0A1B42) !important; text-decoration: none; /* navy-on-orange, like .iv-btn-primary */
	padding: 14px 28px; border-radius: 9px;
	font-size: 14px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase;
	box-shadow: 0 12px 26px rgba(244, 114, 46, 0.32);
	transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.iv-team-cta-btn span { transition: transform .18s ease; }
.iv-team-cta-btn:hover { transform: translateY(-2px); filter: brightness(1.05); box-shadow: 0 16px 32px rgba(244, 114, 46, 0.44); }
.iv-team-cta-btn:hover span { transform: translateX(4px); }
@media (max-width: 720px) {
	.iv-team-cta { flex-direction: column; align-items: flex-start; gap: 24px; }
}

/* Divi tags the shortcode's Text module bg_layout_light, forcing dark headings.
   On the navy hero/CTA the H1/H2 must stay white — scope with .iv-bg-blue to win. */
.iv-bg-blue .iv-lead-hero .iv-lead-title { color: #fff !important; }
.iv-bg-blue .iv-lead-hero .iv-lead-title .iv-lead-accent { color: var(--iv-orange, #F4722E) !important; }
.iv-bg-blue .iv-team-cta .iv-team-cta-title { color: #fff !important; }
.iv-bg-blue .iv-team-cta .iv-team-cta-title span { color: rgba(255, 255, 255, 0.92) !important; }

/* ==========================================================================
   HEADER TONING-DOWN (site-wide) + white-section heading color fix
   Lighter weight on all headings; smaller H1/H2. High-specificity + !important
   to beat Divi's preset critical CSS (.preset--module--divi-*--default … hN).
   ========================================================================== */
body.ivmedical-site h1,
body.ivmedical-site h2,
body.ivmedical-site h3,
body.ivmedical-site h4 { font-weight: 600 !important; letter-spacing: -0.005em; }

body.ivmedical-site h1,
body.ivmedical-site .et_pb_text_inner h1,
body.ivmedical-site .et_pb_heading_container h1 { font-size: clamp(1.85rem, 3.3vw, 2.7rem) !important; line-height: 1.14 !important; }

body.ivmedical-site h2,
body.ivmedical-site .et_pb_text_inner h2,
body.ivmedical-site .et_pb_heading_container h2 { font-size: clamp(1.3rem, 2vw, 1.65rem) !important; line-height: 1.22 !important; }

/* Fix: a heading in a white section was assigned Divi "Soft Blue Tint" (near-white)
   and rendered invisible. White-section headings should be navy. */
body.ivmedical-site .iv-bg-white .et_pb_heading_container h1,
body.ivmedical-site .iv-bg-white .et_pb_heading_container h2,
body.ivmedical-site .iv-bg-white .et_pb_heading_container h3 { color: var(--iv-blue) !important; }

/* Keep navy-band shortcode titles white / accent orange after the weight change. */
.iv-bg-blue .iv-lead-hero .iv-lead-title { color: #fff !important; }
.iv-bg-blue .iv-lead-hero .iv-lead-title .iv-lead-accent { color: var(--iv-orange, #F4722E) !important; }
.iv-bg-blue .iv-team-cta .iv-team-cta-title { color: #fff !important; }

/* The homepage-hero surgeon background (.iv-hero.iv-bg-blue) also matched the
   Leadership hero, doubling the image. The Leadership hero supplies its own
   surgeon photo (.iv-lead-hero-media), so keep this section clean navy. */
.iv-hero.iv-bg-blue:has(.iv-lead-hero) {
	background:
		radial-gradient(circle at 82% 22%, rgba(244, 114, 46, 0.12), transparent 34%),
		linear-gradient(158deg, #06162F 0%, #01112A 55%, #000B1F 100%) !important;
}
/* Leadership building hero (2026-09-14): the building photo is edge-to-edge and ~2.74:1,
   almost exactly the hero's own aspect, so the whole facade must show — a tall parallax
   layer + cover would crop the sides (the "zoomed in" report). Keep the layer close to the
   image aspect (height:108%) so the COMPLETE building shows, with only a gentle, reduced
   parallax (0.12× vs the global 0.45×) that stays within the small headroom. Building on the
   ::before, light wash on ::after, copy on the row above. */
.iv-hero.iv-bg-blue:has(.iv-lead-hero)::before {
	content: "";
	top: -4%;
	height: 108%;
	background: url("/wp-content/uploads/2026/09/iv-building-clean.jpg") no-repeat 50% 50% / cover;
	transform: translate3d(0, calc(var(--iv-plx, 0px) * 0.12), 0);
}


/* ==========================================================================
   CONTENT SECTIONS from Lisa's 2026-09-06 brief (inc/iv-content.php):
   [iv_results] [iv_cycle] [iv_specialties] [iv_launch]
   All render inside a Divi TEXT module, so text colours/sizes carry
   body.ivmedical-site + !important to beat Divi's .et_pb_text_inner preset.
   ========================================================================== */

/* Shared inline eyebrow (plain <p> emitted by the shortcodes) */
body.ivmedical-site .et_pb_text_inner .iv-eyebrow-inline {
	display: inline-flex !important; align-items: center; gap: 10px;
	color: var(--iv-orange) !important; font-size: 13px !important; font-weight: 800 !important;
	line-height: 1.2 !important; letter-spacing: 0.12em !important; text-transform: uppercase !important;
	margin: 0 0 14px !important; padding: 0 !important;
}
body.ivmedical-site .et_pb_text_inner .iv-eyebrow-inline::before {
	content: ""; display: inline-block; width: 34px; height: 3px; background: var(--iv-orange); border-radius: 999px;
}
body.ivmedical-site .iv-bg-white .et_pb_text_inner .iv-eyebrow-inline,
body.ivmedical-site .iv-bg-soft-blue .et_pb_text_inner .iv-eyebrow-inline,
body.ivmedical-site .iv-bg-warm-gray .et_pb_text_inner .iv-eyebrow-inline { color: var(--iv-orange-deep) !important; }

/* ---- [iv_results] — navy band, glass cards, count-up numbers ---- */
.iv-results { max-width: 1140px; margin: 0 auto; }
.iv-results-head { text-align: center; max-width: 720px; margin: 0 auto 40px; }
body.ivmedical-site .et_pb_text_inner .iv-results-title { color: #fff !important; font-size: clamp(1.5rem, 2.4vw, 2rem) !important; font-weight: 600 !important; line-height: 1.2 !important; margin: 0 0 12px !important; padding: 0 !important; }
body.ivmedical-site .et_pb_text_inner .iv-results-intro { color: rgba(255,255,255,0.78) !important; font-size: 16px !important; line-height: 1.6 !important; margin: 0 !important; padding: 0 !important; }
.iv-results-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.iv-res-card {
	position: relative; padding: 26px 26px 24px; border-radius: 16px;
	background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.12);
	box-shadow: 0 18px 40px rgba(0, 8, 30, 0.35);
	transition: transform .22s ease, border-color .22s ease, background .22s ease;
}
.iv-res-card:hover { transform: translateY(-4px); border-color: rgba(244,114,46,0.55); background: rgba(255,255,255,0.07); }
.iv-res-icon { display: inline-flex; width: 40px; height: 40px; border-radius: 12px; align-items: center; justify-content: center; color: var(--iv-orange); background: rgba(244,114,46,0.14); margin-bottom: 14px; }
.iv-res-icon svg { width: 22px; height: 22px; }
body.ivmedical-site .et_pb_text_inner .iv-res-value { color: #fff !important; font-size: clamp(2.2rem, 3.6vw, 2.9rem) !important; font-weight: 700 !important; line-height: 1 !important; letter-spacing: -0.02em; margin: 0 0 8px !important; padding: 0 !important; font-variant-numeric: tabular-nums; }
body.ivmedical-site .et_pb_text_inner .iv-res-value .iv-res-affix { font-size: 0.55em; font-weight: 700; color: var(--iv-orange); vertical-align: baseline; }
/* "Up to" prefix: smaller than the % affix it sits inside (owner 2026-11-04). */
body.ivmedical-site .et_pb_text_inner .iv-res-value .iv-res-affix .iv-res-upto { font-size: 0.68em; }
body.ivmedical-site .et_pb_text_inner .iv-res-value-text { font-size: 1.55rem !important; color: var(--iv-orange) !important; padding-top: 6px !important; }
body.ivmedical-site .et_pb_text_inner .iv-res-label { color: #fff !important; font-size: 17px !important; font-weight: 700 !important; line-height: 1.25 !important; margin: 0 0 8px !important; padding: 0 !important; }
body.ivmedical-site .et_pb_text_inner .iv-res-note { color: rgba(255,255,255,0.74) !important; font-size: 14.5px !important; line-height: 1.55 !important; margin: 0 !important; padding: 0 !important; }
@media (max-width: 980px) { .iv-results-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; } }
@media (max-width: 600px) { .iv-results-grid { grid-template-columns: 1fr; } }

/* ---- [iv_cycle] — navy section, ring of stage nodes + detail panel ---- */
.iv-cycle { max-width: 1140px; margin: 0 auto; }
.iv-cycle-head { text-align: center; max-width: 760px; margin: 0 auto 40px; }
body.ivmedical-site .et_pb_text_inner .iv-cycle-title { color: #fff !important; font-size: clamp(1.5rem, 2.4vw, 2rem) !important; font-weight: 600 !important; line-height: 1.2 !important; margin: 0 0 12px !important; padding: 0 !important; }
body.ivmedical-site .et_pb_text_inner .iv-cycle-intro { color: rgba(255,255,255,0.78) !important; font-size: 16px !important; line-height: 1.6 !important; margin: 0 !important; padding: 0 !important; }
.iv-cycle-body { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 40px; align-items: center; }
.iv-cycle-ring { --size: 480px; --node: 68px; position: relative; width: var(--size); height: var(--size); margin: 0 auto; }
.iv-cycle-track {
	position: absolute; inset: calc(var(--node) / 2); border-radius: 50%;
	border: 2px dashed rgba(255,255,255,0.22);
}
.iv-cycle-track::before {
	/* slowly orbiting orange arc = "the cycle keeps turning" */
	content: ""; position: absolute; inset: -3px; border-radius: 50%;
	background: conic-gradient(from 0deg, transparent 0 78%, rgba(244,114,46,0.0) 78%, var(--iv-orange) 92%, transparent 100%);
	-webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 5px), #000 calc(100% - 4px));
	        mask: radial-gradient(farthest-side, transparent calc(100% - 5px), #000 calc(100% - 4px));
	animation: iv-cycle-orbit 14s linear infinite;
}
@keyframes iv-cycle-orbit { to { transform: rotate(360deg); } }
.iv-cycle-center {
	position: absolute; top: 50%; left: 50%; width: 46%; aspect-ratio: 1; transform: translate(-50%, -50%);
	border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center;
	background: radial-gradient(circle at 50% 35%, rgba(244,114,46,0.18), rgba(5,20,46,0.0) 70%);
}
.iv-cycle-center-num { color: #fff; font-size: clamp(2.4rem, 4vw, 3.4rem); font-weight: 700; line-height: 1; letter-spacing: -0.02em; }
.iv-cycle-center-num small { font-size: 0.5em; color: var(--iv-orange); font-weight: 700; }
.iv-cycle-center-label { color: rgba(255,255,255,0.72); font-size: 13px; letter-spacing: 0.06em; text-transform: uppercase; font-weight: 700; margin-top: 8px; max-width: 150px; line-height: 1.3; }
.iv-cycle-node {
	--angle: calc(var(--i) * (360deg / var(--n)) - 90deg);
	position: absolute; top: 50%; left: 50%; width: var(--node); height: var(--node); margin: calc(var(--node) / -2) 0 0 calc(var(--node) / -2);
	transform: rotate(var(--angle)) translate(calc(var(--size) / 2 - var(--node) / 2)) rotate(calc(var(--angle) * -1));
	border-radius: 50%; border: 2px solid rgba(255,255,255,0.35); background: #0B1D48; color: #fff; cursor: pointer;
	display: flex; align-items: center; justify-content: center; padding: 0;
	transition: background .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.iv-cycle-node-icon { display: inline-flex; }
.iv-cycle-node-icon svg { width: 26px; height: 26px; }
.iv-cycle-node-num {
	position: absolute; top: -6px; right: -6px; width: 24px; height: 24px; border-radius: 50%;
	background: var(--iv-orange); color: var(--iv-blue); font-size: 12px; font-weight: 800; line-height: 24px; text-align: center;
}
.iv-cycle-node-label {
	position: absolute; top: calc(100% + 8px); left: 50%; transform: translateX(-50%);
	white-space: nowrap; font-size: 12px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: rgba(255,255,255,0.72);
}
.iv-cycle-node:hover, .iv-cycle-node:focus-visible { border-color: var(--iv-orange); box-shadow: 0 0 0 6px rgba(244,114,46,0.18); outline: none; }
.iv-cycle-node.is-active { background: var(--iv-orange); border-color: var(--iv-orange); color: var(--iv-blue); box-shadow: 0 0 0 8px rgba(244,114,46,0.2); }
.iv-cycle-node.is-active .iv-cycle-node-num { background: #fff; }
.iv-cycle-node.is-active .iv-cycle-node-label { color: #fff; }
/* All 7 panels are stacked in ONE grid cell, so the panel box is always the height
   of the TALLEST stage and the prev/next buttons (margin-top:auto) sit in exactly
   the same place for every stage. Inactive panels stay in the layout but invisible
   ([hidden] would be display:none and drop out of the height calculation). */
.iv-cycle-panels { position: relative; display: grid; }
.iv-cycle-panel {
	grid-area: 1 / 1; display: flex; flex-direction: column;
	padding: 32px 34px; border-radius: 18px;
	background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.14);
	box-shadow: 0 24px 60px rgba(0, 8, 30, 0.4);
}
.iv-cycle-panel[hidden] { display: flex; visibility: hidden; opacity: 0; pointer-events: none; }
.iv-cycle-panel-nav { margin-top: auto; padding-top: 6px; }
.iv-cycle-panel.is-active { animation: iv-cycle-in .32s ease both; }
@keyframes iv-cycle-in { from { opacity: 0; translate: 0 10px; } to { opacity: 1; translate: 0 0; } }
.iv-cycle-panel-step { display: inline-block; color: var(--iv-orange); font-size: 12px; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; margin-bottom: 10px; }
body.ivmedical-site .et_pb_text_inner .iv-cycle-panel-title { color: #fff !important; font-size: clamp(1.3rem, 2vw, 1.65rem) !important; font-weight: 600 !important; line-height: 1.2 !important; margin: 0 0 6px !important; padding: 0 !important; }
body.ivmedical-site .et_pb_text_inner .iv-cycle-panel-tag { color: var(--iv-orange) !important; font-style: italic; font-size: 16px !important; margin: 0 0 14px !important; padding: 0 !important; }
body.ivmedical-site .et_pb_text_inner .iv-cycle-panel-body { color: rgba(255,255,255,0.82) !important; font-size: 15.5px !important; line-height: 1.65 !important; margin: 0 0 16px !important; padding: 0 !important; }
body.ivmedical-site .et_pb_text_inner .iv-cycle-panel-metric { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; margin: 0 0 18px !important; padding: 14px 16px !important; border-radius: 12px; background: rgba(244,114,46,0.12); border: 1px solid rgba(244,114,46,0.3); color: rgba(255,255,255,0.8) !important; font-size: 14px !important; }
body.ivmedical-site .et_pb_text_inner .iv-cycle-panel-metric strong { color: #fff; font-size: 1.6rem; font-weight: 700; line-height: 1; }
.iv-cycle-panel-nav { display: flex; gap: 10px; justify-content: space-between; }
.iv-cycle-prev { min-width: 52px; justify-content: center; }
.iv-cycle-next { min-width: 150px; text-align: center; }
.iv-cycle-prev, .iv-cycle-next {
	border: 1px solid rgba(255,255,255,0.3); background: transparent; color: #fff; cursor: pointer;
	border-radius: 999px; padding: 10px 18px; font-size: 13px; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase;
	transition: background .18s ease, border-color .18s ease, color .18s ease;
}
.iv-cycle-prev:hover, .iv-cycle-next:hover, .iv-cycle-prev:focus-visible, .iv-cycle-next:focus-visible { background: var(--iv-orange); border-color: var(--iv-orange); color: var(--iv-blue); outline: none; }
@media (max-width: 1100px) { .iv-cycle-ring { --size: 400px; --node: 60px; } .iv-cycle-body { gap: 28px; } }
@media (max-width: 900px) {
	.iv-cycle-body { grid-template-columns: 1fr; }
	/* Ring becomes a stage list; the labels move inline. */
	.iv-cycle-ring { width: auto; height: auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; }
	.iv-cycle-track, .iv-cycle-center { display: none; }
	.iv-cycle-node { position: static; width: auto; height: auto; margin: 0; transform: none; border-radius: 12px; padding: 10px 12px; justify-content: flex-start; gap: 10px; }
	.iv-cycle-node-icon svg { width: 22px; height: 22px; }
	.iv-cycle-node-num { position: static; flex: 0 0 auto; }
	.iv-cycle-node-label { position: static; transform: none; white-space: normal; text-align: left; line-height: 1.2; }
	.iv-cycle-panel { padding: 24px 22px; }
}
@media (prefers-reduced-motion: reduce) { .iv-cycle-track::before { animation: none; } .iv-cycle-panel.is-active { animation: none; } }

/* ---- [iv_specialties] — chips ---- */
.iv-spec { max-width: 1040px; margin: 0 auto; text-align: center; }
.iv-spec-head { max-width: 680px; margin: 0 auto 28px; }
body.ivmedical-site .et_pb_text_inner .iv-spec-title { color: var(--iv-blue) !important; font-size: clamp(1.5rem, 2.4vw, 2rem) !important; font-weight: 600 !important; line-height: 1.2 !important; margin: 0 0 12px !important; padding: 0 !important; }
body.ivmedical-site .et_pb_text_inner .iv-spec-intro { color: var(--iv-muted) !important; font-size: 16px !important; line-height: 1.6 !important; margin: 0 !important; padding: 0 !important; }
body.ivmedical-site .et_pb_text_inner .iv-spec-list { list-style: none !important; display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin: 0 !important; padding: 0 !important; }
body.ivmedical-site .et_pb_text_inner .iv-spec-chip {
	display: inline-flex; align-items: center; gap: 10px; margin: 0 !important; padding: 12px 20px !important;
	border-radius: 999px; background: #fff; border: 1px solid rgba(10,27,66,0.14); box-shadow: 0 6px 18px rgba(10,27,66,0.06);
	color: var(--iv-blue) !important; font-size: 15px !important; font-weight: 700 !important; line-height: 1.2 !important;
	transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
body.ivmedical-site .et_pb_text_inner .iv-spec-chip::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--iv-orange); flex: 0 0 auto; }
body.ivmedical-site .et_pb_text_inner .iv-spec-chip:hover { transform: translateY(-2px); border-color: var(--iv-orange); box-shadow: 0 10px 24px rgba(244,114,46,0.18); }

/* ---- [iv_launch] — navy panel with orange CTA (sits in a light section) ---- */
.iv-launch {
	max-width: 1140px; margin: 0 auto; display: flex; align-items: center; gap: 30px; flex-wrap: wrap;
	padding: 40px 44px; border-radius: 22px;
	background: radial-gradient(circle at 88% 18%, rgba(244,114,46,0.22), transparent 36%), linear-gradient(150deg, #0A1B42 0%, #06162F 60%, #03102A 100%);
	box-shadow: 0 30px 70px rgba(10,27,66,0.28);
}
.iv-launch-icon { flex: 0 0 auto; width: 72px; height: 72px; border-radius: 20px; display: flex; align-items: center; justify-content: center; color: var(--iv-orange); background: rgba(244,114,46,0.14); border: 1px solid rgba(244,114,46,0.35); }
.iv-launch-icon svg { width: 36px; height: 36px; }
.iv-launch-copy { flex: 1 1 420px; }
body.ivmedical-site .et_pb_text_inner .iv-launch .iv-eyebrow-inline { color: var(--iv-orange) !important; }
body.ivmedical-site .et_pb_text_inner .iv-launch-title { color: #fff !important; font-size: clamp(1.4rem, 2.2vw, 1.85rem) !important; font-weight: 600 !important; line-height: 1.2 !important; margin: 0 0 10px !important; padding: 0 !important; }
body.ivmedical-site .et_pb_text_inner .iv-launch-body { color: rgba(255,255,255,0.8) !important; font-size: 15.5px !important; line-height: 1.62 !important; margin: 0 !important; padding: 0 !important; max-width: 640px; }
.iv-launch-btn {
	flex: 0 0 auto; display: inline-flex; align-items: center; gap: 9px;
	background: var(--iv-orange); color: var(--iv-blue) !important; text-decoration: none !important;
	padding: 15px 28px; border-radius: 999px; font-size: 14px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase;
	box-shadow: 0 12px 26px rgba(244,114,46,0.32); transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.iv-launch-btn span { transition: transform .18s ease; }
.iv-launch-btn:hover { transform: translateY(-2px); filter: brightness(1.05); box-shadow: 0 16px 32px rgba(244,114,46,0.44); }
.iv-launch-btn:hover span { transform: translateX(4px); }
@media (max-width: 700px) { .iv-launch { padding: 30px 24px; } .iv-launch-btn { width: 100%; justify-content: center; } }


/* ==========================================================================
   LISA'S 2026-09-08 FEEDBACK (mockup #2): light home hero with the statement as
   the H1, display serif, pillar strip, who-we-serve cards + specialty icons,
   header tagline. (inc/iv-content.php)
   ========================================================================== */

/* Display serif (self-hosted DM Serif Display, see wp-content/local-fonts) for the
   hero H1s and section statements — the mockup's editorial headline look. */
.iv-display,
body.ivmedical-site .et_pb_text_inner .iv-display,
body.ivmedical-site .iv-hero .et_pb_module_header,
body.ivmedical-site .iv-hero h1,
body.ivmedical-site .iv-lead-hero .iv-lead-title {
	font-family: "Playfair Display", "DM Serif Display", Georgia, "Times New Roman", serif !important;
	font-weight: 400 !important;
	letter-spacing: -0.01em;
}
body.ivmedical-site .iv-hero h1 { font-size: clamp(2.3rem, 4.2vw, 3.6rem) !important; line-height: 1.06 !important; }

/* ---- [iv_home_hero] — light hero, copy left / photo right with a white fade ---- */
.iv-hero.iv-hero-light {
	background: linear-gradient(90deg, #ffffff 0%, #f7f9fd 55%, #eef3fa 100%) !important;
	min-height: 560px; padding-top: 48px !important; padding-bottom: 48px !important;
}
.iv-hero.iv-hero-light::after { display: none; }             /* no orange glow blob here */
.iv-hero.iv-hero-light > .et_pb_row { max-width: 1440px !important; width: 92% !important; position: relative; z-index: 1; }
.iv-hh { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr); gap: 28px; align-items: center; }
body.ivmedical-site .et_pb_text_inner .iv-hh-eyebrow { color: var(--iv-orange-deep) !important; letter-spacing: 0.22em !important; margin-bottom: 18px !important; }
body.ivmedical-site .et_pb_text_inner .iv-hh-title {
	color: var(--iv-blue) !important; font-size: clamp(2.6rem, 5vw, 4.4rem) !important; line-height: 1.02 !important;
	margin: 0 0 8px !important; padding: 0 0 18px !important; position: relative;
}
body.ivmedical-site .et_pb_text_inner .iv-hh-title em { font-style: normal; color: var(--iv-orange); }
body.ivmedical-site .et_pb_text_inner .iv-hh-title::after { content: ""; position: absolute; left: 0; bottom: 0; width: 56px; height: 2px; background: var(--iv-orange); }
body.ivmedical-site .et_pb_text_inner .iv-hh-sub { color: var(--iv-text) !important; font-size: 18px !important; line-height: 1.55 !important; margin: 16px 0 0 !important; padding: 0 !important; }
/* Highlight strip — serif, navy, orange dividers (mockup) */
body.ivmedical-site .et_pb_text_inner .iv-highlights {
	list-style: none !important; margin: 28px 0 0 !important; padding: 0 !important;
	display: flex; flex-wrap: wrap; gap: 10px 0;
}
body.ivmedical-site .et_pb_text_inner .iv-highlights li {
	margin: 0 !important; padding: 0 16px !important; color: var(--iv-blue) !important; line-height: 1.2 !important;
	font-family: "Playfair Display", "DM Serif Display", Georgia, serif !important; font-size: clamp(0.98rem, 1.1vw, 1.15rem) !important; font-weight: 400 !important;
	border-left: 1px solid rgba(244,114,46,0.7); white-space: nowrap;
}
body.ivmedical-site .et_pb_text_inner .iv-highlights li:first-child { padding-left: 0 !important; border-left: 0; }
.iv-hh-actions { display: flex; align-items: center; gap: 26px; flex-wrap: wrap; margin-top: 30px; }
.iv-hh-btn {
	display: inline-flex; align-items: center; gap: 12px; background: var(--iv-orange); color: var(--iv-blue) !important; text-decoration: none !important;
	padding: 16px 28px; border-radius: 6px; font-size: 13px; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase;
	box-shadow: 0 12px 26px rgba(244,114,46,0.28); transition: transform .18s ease, box-shadow .18s ease;
}
.iv-hh-btn:hover { transform: translateY(-2px); box-shadow: 0 16px 32px rgba(244,114,46,0.4); }
.iv-hh-link { color: var(--iv-blue) !important; font-size: 14px; font-weight: 800; text-decoration: none !important; border-bottom: 2px solid var(--iv-orange); padding-bottom: 2px; }
.iv-hh-media { position: relative; margin: 0; min-height: 420px; max-height: 520px; overflow: hidden; }
.iv-hh-photo {
	/* taller than its window (top:-30% + height:160%) so the parallax shift never
	   exposes an edge; stronger multiplier than before for a more pronounced move. */
	display: block; position: relative; top: -30%; width: 100%; height: 160%; min-height: 420px; object-fit: cover; object-position: 50% 62%;
	border-radius: 0 0 0 0;
	-webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 22%, #000 100%);
	        mask-image: linear-gradient(90deg, transparent 0%, #000 22%, #000 100%);
	transform: translate3d(0, calc(var(--iv-plx, 0px) * 0.55), 0);
	will-change: transform;
}
body.ivmedical-site .et_pb_text_inner .iv-hh-tag {
	position: absolute; right: 14px; top: 14px; max-width: 190px;
	color: var(--iv-blue) !important; font-size: 11px !important; font-weight: 800 !important; letter-spacing: 0.24em !important; text-transform: uppercase; line-height: 1.8 !important;
	margin: 0 !important; padding: 0 0 12px !important; border-bottom: 2px solid var(--iv-orange);
	background: rgba(255,255,255,0.72); backdrop-filter: blur(6px); padding: 10px 12px 12px !important; border-radius: 4px;
}
@media (max-width: 980px) {
	.iv-hh { grid-template-columns: 1fr; gap: 26px; }
	.iv-hh-media { min-height: 300px; order: -1; }
	.iv-hh-photo { height: 100%; top: 0; min-height: 300px; -webkit-mask-image: linear-gradient(180deg, #000 70%, transparent 100%); mask-image: linear-gradient(180deg, #000 70%, transparent 100%); transform: none; } /* parallax off on mobile -> no headroom needed */
	body.ivmedical-site .et_pb_text_inner .iv-hh-tag { display: none; }
	.iv-hero.iv-hero-light { min-height: auto; }
}

/* ---- [iv_pillars] — navy strip under the hero ---- */
body.ivmedical-site .et_pb_text_inner .iv-pillars {
	list-style: none !important; margin: 0 auto !important; padding: 0 !important; max-width: 1240px;
	display: grid; grid-template-columns: repeat(5, minmax(0, 1fr));
}
body.ivmedical-site .et_pb_text_inner .iv-pillar {
	margin: 0 !important; padding: 8px 22px !important; text-align: center;
	border-left: 1px solid rgba(255,255,255,0.16);
}
body.ivmedical-site .et_pb_text_inner .iv-pillar:first-child { border-left: 0; }
.iv-pillar-icon { display: inline-flex; width: 44px; height: 44px; align-items: center; justify-content: center; color: var(--iv-orange); margin-bottom: 10px; }
.iv-pillar-icon svg { width: 34px; height: 34px; stroke-width: 1.6; }
body.ivmedical-site .et_pb_text_inner .iv-pillar-title { color: #fff !important; font-size: 13px !important; font-weight: 800 !important; letter-spacing: 0.08em; text-transform: uppercase; line-height: 1.25 !important; margin: 0 0 8px !important; padding: 0 !important; }
body.ivmedical-site .et_pb_text_inner .iv-pillar-text { color: rgba(255,255,255,0.8) !important; font-size: 14px !important; line-height: 1.5 !important; margin: 0 !important; padding: 0 !important; }
@media (max-width: 1100px) { body.ivmedical-site .et_pb_text_inner .iv-pillars { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 26px; } body.ivmedical-site .et_pb_text_inner .iv-pillar:nth-child(4) { border-left: 0; } }
@media (max-width: 640px)  { body.ivmedical-site .et_pb_text_inner .iv-pillars { grid-template-columns: 1fr; } body.ivmedical-site .et_pb_text_inner .iv-pillar { border-left: 0; border-top: 1px solid rgba(255,255,255,0.16); padding-top: 22px !important; } body.ivmedical-site .et_pb_text_inner .iv-pillar:first-child { border-top: 0; padding-top: 0 !important; } }

/* ---- [iv_boutique] — Surgical Boutique section (building photo since 2026-09-09) ---- */
.iv-boutique { max-width: 1240px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 48px; align-items: center; }
body.ivmedical-site .et_pb_text_inner .iv-boutique-title { color: var(--iv-blue) !important; font-size: clamp(2rem, 3.4vw, 3rem) !important; line-height: 1.1 !important; margin: 0 0 16px !important; padding: 0 !important; }
body.ivmedical-site .et_pb_text_inner .iv-boutique-body { color: var(--iv-text) !important; font-size: 16.5px !important; line-height: 1.65 !important; margin: 0 0 26px !important; padding: 0 !important; max-width: 560px; }
.iv-boutique-btn { display: inline-flex; align-items: center; gap: 12px; background: var(--iv-blue); color: #fff !important; text-decoration: none !important; padding: 15px 26px; border-radius: 8px; font-size: 13px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.iv-boutique-media { position: relative; margin: 0; border-radius: 18px; overflow: hidden; box-shadow: 0 30px 70px rgba(10,27,66,0.25); }
.iv-boutique-media img { display: block; width: 100%; height: 100%; object-fit: cover; aspect-ratio: 16 / 10; }
.iv-boutique-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(5,20,46,0) 45%, rgba(5,20,46,0.78) 100%); pointer-events: none; }
.iv-boutique-tag { position: absolute; top: 26px; right: 26px; z-index: 1; color: #fff; font-size: 11px; font-weight: 800; letter-spacing: 0.22em; text-transform: uppercase; line-height: 1.7; padding-left: 14px; border-left: 2px solid var(--iv-orange); }
.iv-boutique-strip { position: absolute; left: 26px; right: 26px; bottom: 22px; z-index: 1; color: rgba(255,255,255,0.92); font-size: 10px; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.iv-boutique-strip span { color: var(--iv-orange); margin: 0 8px; }
@media (max-width: 980px) { .iv-boutique { grid-template-columns: 1fr; gap: 28px; } }

/* ---- [iv_specialties] — who we serve (mockup #2) ---- */
.iv-spec { max-width: 1240px; margin: 0 auto; text-align: center; position: relative; }
/* Mockup: the section sits on a very light grey with a huge faint "IV" mark on the right.
   The section wrapper is Divi's, so target it by what it contains. Watermark PNG =
   uploads/2026/09/iv-mark-watermark.png (navy @6 % alpha, root-relative so it's domain-agnostic). */
.et_pb_section:has(> .et_pb_row .iv-spec) { background: #f5f7fa !important; position: relative; overflow: hidden; }
/* IV-mark watermark removed 2026-09-10 (Lisa) — attachment 360 stays in the library, unreferenced */
.et_pb_section:has(> .et_pb_row .iv-spec) > .et_pb_row { position: relative; z-index: 1; }
body.ivmedical-site .et_pb_text_inner .iv-spec-head .iv-eyebrow-inline::before { display: none; }
body.ivmedical-site .et_pb_text_inner .iv-spec-head .iv-eyebrow-inline { color: var(--iv-orange-deep) !important; letter-spacing: 0.3em !important; font-size: 12px !important; }
body.ivmedical-site .et_pb_text_inner .iv-spec-title { font-size: clamp(2.1rem, 3.8vw, 3.3rem) !important; line-height: 1.06 !important; color: var(--iv-blue) !important; margin: 0 0 16px !important; }
body.ivmedical-site .et_pb_text_inner .iv-spec-intro { max-width: 820px; margin: 0 auto 36px !important; font-size: 17px !important; }
body.ivmedical-site .et_pb_text_inner .iv-audience {
	list-style: none !important; margin: 0 0 40px !important; padding: 0 !important;
	display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px;
}
body.ivmedical-site .et_pb_text_inner .iv-audience-card {
	margin: 0 !important; padding: 34px 22px 30px !important; text-align: center;
	background: #fff; border: 1px solid rgba(10,27,66,0.12); box-shadow: none; border-radius: 0;
	transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
body.ivmedical-site .et_pb_text_inner .iv-audience-card:hover { transform: translateY(-4px); border-color: rgba(244,114,46,0.5); box-shadow: 0 22px 44px rgba(10,27,66,0.14); }
.iv-audience-icon { display: inline-flex; width: 64px; height: 64px; align-items: center; justify-content: center; color: var(--iv-orange); margin-bottom: 14px; }
.iv-audience-icon svg { width: 56px; height: 56px; stroke-width: 1.3; }
body.ivmedical-site .et_pb_text_inner .iv-audience-title { color: var(--iv-blue) !important; font-size: 15px !important; font-weight: 800 !important; letter-spacing: 0.14em; text-transform: uppercase; line-height: 1.3 !important; margin: 0 0 10px !important; padding: 0 !important; }
body.ivmedical-site .et_pb_text_inner .iv-audience-text { color: var(--iv-text) !important; font-size: 15px !important; line-height: 1.55 !important; margin: 0 !important; padding: 0 !important; }
body.ivmedical-site .et_pb_text_inner .iv-spec-sub {
	display: flex; align-items: center; gap: 18px; margin: 0 0 22px !important; padding: 0 !important;
	color: var(--iv-orange-deep) !important; font-size: 12px !important; font-weight: 800 !important; letter-spacing: 0.22em; text-transform: uppercase;
}
body.ivmedical-site .et_pb_text_inner .iv-spec-sub::before,
body.ivmedical-site .et_pb_text_inner .iv-spec-sub::after { content: ""; flex: 1; height: 1px; background: rgba(244,114,46,0.55); }
body.ivmedical-site .et_pb_text_inner .iv-spec-icons {
	list-style: none !important; margin: 0 0 34px !important; padding: 0 !important;
	display: grid; grid-template-columns: repeat(7, minmax(0, 1fr));
}
body.ivmedical-site .et_pb_text_inner .iv-spec-icon { margin: 0 !important; padding: 6px 10px !important; border-left: 1px solid rgba(10,27,66,0.14); display: flex; flex-direction: column; align-items: center; gap: 12px; }
body.ivmedical-site .et_pb_text_inner .iv-spec-icon:first-child { border-left: 0; }
.iv-spec-icon-glyph { display: inline-flex; width: 60px; height: 60px; align-items: center; justify-content: center; color: var(--iv-blue); }
.iv-spec-icon-glyph svg { width: 48px; height: 48px; stroke-width: 1.3; }
.iv-spec-icon-label { color: var(--iv-blue); font-size: 12px; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; line-height: 1.35; }
body.ivmedical-site .et_pb_text_inner .iv-spec-more { margin: 0 !important; padding: 0 !important; }
.iv-spec-btn { display: inline-flex; align-items: center; gap: 12px; background: var(--iv-blue); color: #fff !important; text-decoration: none !important; padding: 15px 26px; border-radius: 6px; font-size: 13px; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; transition: transform .18s ease, background .18s ease; }
.iv-spec-btn:hover { transform: translateY(-2px); background: #142a5e; }
@media (max-width: 1100px) { body.ivmedical-site .et_pb_text_inner .iv-spec-icons { grid-template-columns: repeat(4, minmax(0, 1fr)); row-gap: 22px; } body.ivmedical-site .et_pb_text_inner .iv-spec-icon:nth-child(5) { border-left: 0; } }
@media (max-width: 900px)  { body.ivmedical-site .et_pb_text_inner .iv-audience { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px)  { body.ivmedical-site .et_pb_text_inner .iv-spec-icons { grid-template-columns: repeat(2, minmax(0, 1fr)); } body.ivmedical-site .et_pb_text_inner .iv-spec-icon:nth-child(odd) { border-left: 0; } }
@media (max-width: 480px)  { body.ivmedical-site .et_pb_text_inner .iv-audience { grid-template-columns: 1fr; } }

/* ---- Header tagline "People. Process. Performance." beside the button (TB layout 208) ---- */
@media (min-width: 1281px) {
	/* Divi columns are flex-direction:column — lay the button + tagline out as a row. */
	.et-l--header .et_pb_column_2_tb_header { display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; align-items: center !important; justify-content: flex-end !important; gap: 18px; }
	.et-l--header .et_pb_column_2_tb_header > .et_pb_module { margin-bottom: 0 !important; flex: 0 0 auto !important; width: auto !important; }
	.et-l--header .et_pb_column_2_tb_header .et_pb_button_module_wrapper { width: auto !important; }
	.et-l--header .et_pb_column_2_tb_header .et_pb_button_module_wrapper { margin: 0 !important; }
}
body.ivmedical-site .et-l--header .iv-header-tagline .et_pb_text_inner p,
body.ivmedical-site .et-l--header .iv-header-tagline p {
	color: var(--iv-blue) !important; font-size: 10px !important; font-weight: 800 !important; letter-spacing: 0.2em !important;
	text-transform: uppercase; line-height: 1.7 !important; margin: 0 !important; padding: 0 !important; white-space: nowrap;
}
@media (max-width: 1280px) { .et-l--header .iv-header-tagline { display: none !important; } }


/* Header button: navy, square, uppercase — like the mockup's CLIENT PORTAL. Applies at
   EVERY viewport (owner 2026-09-08: mobile square too); placed outside the ≥981 block. */
#page-container .et-l--header .et_pb_section .et_pb_button.iv-btn-primary,
.et-l--header .et_pb_button.iv-btn-primary {
	background: var(--iv-blue) !important; border-color: var(--iv-blue) !important; color: #fff !important;
	border-radius: 0 !important; text-transform: uppercase; letter-spacing: 0.12em; font-size: 13px !important;
	padding: 15px 30px !important; box-shadow: none !important; white-space: nowrap;
}
#page-container .et-l--header .et_pb_section .et_pb_button.iv-btn-primary:hover,
#page-container .et-l--header .et_pb_section .et_pb_button.iv-btn-primary:focus { background: #142a5e !important; border-color: #142a5e !important; color: #fff !important; }
.et-l--header .et_pb_button_0_tb_header.et_pb_button, .et-l--header .et_pb_button_module_wrapper .et_pb_button { border-radius: 0 !important; }
@media (max-width: 980px) {
	#page-container .et-l--header .et_pb_section .et_pb_button.iv-btn-primary { padding: 12px 20px !important; font-size: 12px !important; letter-spacing: 0.1em; }
}

/* ==========================================================================
   MOCKUP #1 FIDELITY (Lisa, 2026-09-08): compact white header, full-bleed hero
   with the building photo under the copy, tight navy pillar band, and the
   Surgical Boutique section with the surgeons photo bleeding to the right edge.
   Desktop ≥981px; the stacked mobile layouts from earlier stay as they are.
   ========================================================================== */
@media (min-width: 981px) {
	/* ---- header: ~90px tall, edge-to-edge row, uppercase nav, active underline ---- */
	.et-l--header .et_pb_section { padding-top: 16px !important; padding-bottom: 16px !important; }
	.et-l--header .et_pb_row { max-width: none !important; width: calc(100% - 96px) !important; margin: 0 auto !important; padding: 0 !important; gap: 0 !important; column-gap: 0 !important; }
	.et-l--header .et_pb_column_0_tb_header img { max-width: 250px; }
	.iv-header .et_pb_menu__menu > nav > ul > li > a {
		font-size: 13px !important; font-weight: 700 !important; letter-spacing: 0.08em !important; text-transform: uppercase;
		padding-bottom: 6px !important; border-bottom: 2px solid transparent;
	}
	.iv-header .et_pb_menu__menu > nav > ul > li.current-menu-item > a,
	.iv-header .et_pb_menu__menu > nav > ul > li.current_page_item > a { color: var(--iv-orange-deep) !important; border-bottom-color: var(--iv-orange) !important; }
	.et-l--header .iv-header-tagline p { font-size: 10px !important; letter-spacing: 0.22em !important; }
	/* the OR photo is bright top-right: give the tag a navy backdrop so it stays legible */
	.iv-boutique-tag { background: rgba(5,20,46,0.55); backdrop-filter: blur(4px); padding: 12px 16px 12px 16px; border-left: 3px solid var(--iv-orange); border-radius: 3px; }

	/* ---- hero: photo under the copy, edge to edge, lawn flush with the band ---- */
	.iv-hero.iv-hero-light {
		padding: 0 !important; min-height: clamp(440px, 38vw, 660px); background: #fff !important;
		display: flex; align-items: stretch; overflow: hidden;
	}
	.iv-hero.iv-hero-light > .et_pb_row {
		max-width: none !important; width: 100% !important; margin: 0 !important;
		padding: 0 0 0 max(48px, calc((100vw - 1440px) / 2 + 24px)) !important; box-sizing: border-box;
		min-height: clamp(440px, 38vw, 660px); position: relative; display: flex; align-items: center;
	}
	.iv-hero.iv-hero-light .et_pb_column, .iv-hero.iv-hero-light .et_pb_module, .iv-hero.iv-hero-light .et_pb_text_inner { position: static !important; padding: 0 !important; margin: 0 !important; }
	.iv-hh { display: block; }
	.iv-hh-copy { position: relative; z-index: 2; max-width: 720px; padding: 26px 0; }
	.iv-hh-media { position: absolute; top: 0; bottom: 0; right: 0; left: 22%; z-index: 1; min-height: 0; max-height: none; overflow: hidden; margin: 0; }
	.iv-hh-photo {
		width: 100%; height: 160%; top: -30%; position: relative; min-height: 0; object-fit: cover; object-position: 50% 4%;
		-webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,0.2) 16%, #000 40%);
		        mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,0.2) 16%, #000 40%);
	}
	/* mockup: tag sits plain on the photo (no card), navy caps + short orange rule */
	body.ivmedical-site .et_pb_text_inner .iv-hh-tag { right: 48px; top: 30%; max-width: 162px; background: none; backdrop-filter: none; border-radius: 0; padding: 0 !important; border-bottom: 0; }
	body.ivmedical-site .et_pb_text_inner .iv-hh-tag::after { content: ""; display: block; width: 56px; height: 2px; background: var(--iv-orange); margin-top: 12px; }
	/* mockup: hero eyebrow is plain navy caps, no dash; single button, near-square; larger serif metrics */
	body.ivmedical-site .et_pb_text_inner .iv-hh-eyebrow { color: var(--iv-blue) !important; letter-spacing: 0.3em !important; font-size: 12px !important; }
	body.ivmedical-site .et_pb_text_inner .iv-hh-eyebrow::before { display: none; }
	body.ivmedical-site .et_pb_text_inner .iv-highlights li { font-size: clamp(1.15rem, 1.6vw, 1.7rem) !important; padding: 0 22px !important; }
	.iv-hh-btn { border-radius: 3px; box-shadow: none; padding: 15px 26px; }
	.iv-hh-btn:hover { box-shadow: none; }
	body.ivmedical-site .et_pb_text_inner .iv-hh-title { font-size: clamp(2.5rem, 4.2vw, 3.9rem) !important; margin-bottom: 4px !important; padding-bottom: 14px !important; }
	body.ivmedical-site .et_pb_text_inner .iv-hh-sub { margin-top: 12px !important; font-size: 17px !important; }
	body.ivmedical-site .et_pb_text_inner .iv-highlights { margin-top: 20px !important; }
	body.ivmedical-site .et_pb_text_inner .iv-highlights li { font-size: 1.05rem !important; padding: 0 14px !important; }
	.iv-hh-actions { margin-top: 22px; }

	/* ---- pillar band: tight ---- */
	.iv-pillars-section { padding: 22px 0 !important; }
	.iv-pillars-section > .et_pb_row { max-width: none !important; width: 100% !important; padding: 0 40px !important; box-sizing: border-box; }
	body.ivmedical-site .et_pb_text_inner .iv-pillars { max-width: none; }
	body.ivmedical-site .et_pb_text_inner .iv-pillar { padding: 2px 26px !important; }
	body.ivmedical-site .et_pb_text_inner .iv-pillar-text { font-size: 13.5px !important; }
	.iv-pillar-icon { margin-bottom: 6px; }

	/* ---- Surgical Boutique: copy left, BUILDING photo bleeding to the right/bottom edge (2026-09-09) ---- */
	.iv-boutique-section { padding: 0 !important; position: relative; overflow: hidden; }
	.iv-boutique-section > .et_pb_row {
		max-width: none !important; width: 100% !important; margin: 0 !important;
		padding: 0 0 0 max(48px, calc((100vw - 1440px) / 2 + 24px)) !important; box-sizing: border-box;
		min-height: clamp(380px, 27vw, 520px); position: relative; display: flex; align-items: center;
	}
	.iv-boutique-section .et_pb_column, .iv-boutique-section .et_pb_module, .iv-boutique-section .et_pb_text_inner { position: static !important; padding: 0 !important; margin: 0 !important; }
	.iv-boutique { display: block; max-width: none; margin: 0; }
	.iv-boutique-copy { position: relative; z-index: 2; max-width: 560px; padding: 56px 0; }
	.iv-boutique-media { position: absolute; top: 0; bottom: 0; right: 0; left: 44%; z-index: 1; border-radius: 0; box-shadow: none; margin: 0; overflow: hidden; }
	.iv-boutique-media img {
		width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; object-position: 55% 100%;
		-webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 24%);
		        mask-image: linear-gradient(90deg, transparent 0%, #000 24%);
	}
	.iv-boutique-media::after { background: linear-gradient(180deg, rgba(5,20,46,0) 60%, rgba(5,20,46,0.55) 100%); }
	.iv-boutique-tag { top: 40px; right: 48px; }
	.iv-boutique-strip { left: auto; right: 48px; bottom: 24px; }
	body.ivmedical-site .et_pb_text_inner .iv-boutique-title { font-size: clamp(2.2rem, 3.6vw, 3.3rem) !important; }
}

/* ==========================================================================
   MOCKUP TYPE + BUTTON SPEC (Lisa's 2026-09-09 mockup, owner: "exactly match font and
   button colors, sizes, styles"). Measured off the 1223px-wide mockup. Appended LAST so
   it wins every equal-specificity rule above. Type scale: uppercase labels 11–12px /
   600–700 / wide tracking; serif display (DM Serif Display) for H1/H2/metrics; body
   sans 400 in a mid grey. Buttons: square (2px), uppercase 12px/600/0.12em, orange
   fill + WHITE label (mockup) or navy fill + white label. NOTE: white on #F4722E is
   2.9:1 — below AA for small text; the mockup chose it, flagged to the owner.
   ========================================================================== */
:root { --iv-body-grey: #3F4756; --iv-body-grey-2: #4B5563; }

/* ---- header ---- */
@media (min-width: 981px) {
	.iv-header .et_pb_menu__menu > nav > ul > li > a {
		font-size: 12px !important; font-weight: 600 !important; letter-spacing: 0.09em !important; color: var(--iv-blue) !important;
	}
	.iv-header .et_pb_menu__menu > nav > ul > li.current-menu-item > a,
	.iv-header .et_pb_menu__menu > nav > ul > li.current_page_item > a { color: var(--iv-orange) !important; border-bottom-color: var(--iv-orange) !important; }
	.iv-header .et_pb_menu__menu > nav > ul > li > a:hover { color: var(--iv-orange) !important; }
}
#page-container .et-l--header .et_pb_section .et_pb_button.iv-btn-primary,
.et-l--header .et_pb_button.iv-btn-primary {
	font-size: 12px !important; font-weight: 600 !important; letter-spacing: 0.1em !important; padding: 14px 28px !important; line-height: 1.2 !important;
}
body.ivmedical-site .et-l--header .iv-header-tagline .et_pb_text_inner p,
body.ivmedical-site .et-l--header .iv-header-tagline p { font-weight: 700 !important; letter-spacing: 0.26em !important; }

/* ---- hero ---- */
body.ivmedical-site .iv-hero-light .et_pb_text_inner .iv-hh-eyebrow,
body.ivmedical-site .et_pb_text_inner .iv-hh-eyebrow {
	color: #2B3445 !important; font-size: 11px !important; font-weight: 500 !important; letter-spacing: 0.34em !important; margin-bottom: 20px !important;
}
body.ivmedical-site .et_pb_text_inner .iv-hh-title { font-size: clamp(2.8rem, 5.1vw, 4.7rem) !important; line-height: 0.98 !important; letter-spacing: -0.012em !important; }
body.ivmedical-site .et_pb_text_inner .iv-hh-sub { font-weight: 400 !important; color: var(--iv-body-grey) !important; font-size: 17px !important; line-height: 1.5 !important; }
body.ivmedical-site .et_pb_text_inner .iv-highlights li { font-size: clamp(1.25rem, 2vw, 1.6rem) !important; padding: 0 24px !important; border-left-color: rgba(244,114,46,0.85); }
body.ivmedical-site .et_pb_text_inner .iv-highlights li:first-child { padding-left: 0 !important; }
body.ivmedical-site .et_pb_text_inner .iv-hh-tag { font-size: 10.5px !important; font-weight: 600 !important; letter-spacing: 0.3em !important; line-height: 1.9 !important; }

/* ---- who we serve ---- */
body.ivmedical-site .et_pb_text_inner .iv-spec-head .iv-eyebrow-inline { color: var(--iv-orange) !important; font-size: 11px !important; font-weight: 600 !important; letter-spacing: 0.34em !important; margin-bottom: 18px !important; }
body.ivmedical-site .et_pb_text_inner .iv-spec-title { font-size: clamp(2.3rem, 4.1vw, 3.5rem) !important; line-height: 1.08 !important; letter-spacing: -0.01em !important; }
body.ivmedical-site .et_pb_text_inner .iv-spec-intro { font-size: 18px !important; font-weight: 400 !important; color: var(--iv-body-grey-2) !important; line-height: 1.5 !important; }
body.ivmedical-site .et_pb_text_inner .iv-audience-title { font-family: "Inter", system-ui, sans-serif !important; font-size: 15px !important; font-weight: 700 !important; letter-spacing: 0.14em !important; }
body.ivmedical-site .et_pb_text_inner .iv-audience-text { font-size: 15.5px !important; font-weight: 400 !important; color: var(--iv-body-grey-2) !important; line-height: 1.5 !important; }
.iv-audience-icon { width: 64px; height: 64px; }
.iv-audience-icon svg { width: 60px; height: 60px; stroke-width: 1.25; }
body.ivmedical-site .et_pb_text_inner .iv-spec-sub { color: var(--iv-orange) !important; font-size: 11px !important; font-weight: 600 !important; letter-spacing: 0.32em !important; }
body.ivmedical-site .et_pb_text_inner .iv-spec-sub::before,
body.ivmedical-site .et_pb_text_inner .iv-spec-sub::after { background: rgba(244,114,46,0.7); }
.iv-spec-icon-glyph svg { width: 50px; height: 50px; stroke-width: 1.25; }
.iv-spec-icon-label { font-size: 11px; font-weight: 600; letter-spacing: 0.12em; }

/* ---- buttons: one square system, sitewide ---- */
.iv-hh-btn, .iv-spec-btn, .iv-boutique-btn, .iv-launch-btn {
	border-radius: 2px; font-size: 12px; font-weight: 600; letter-spacing: 0.12em; padding: 15px 26px; line-height: 1.2; box-shadow: none;
}
.iv-hh-btn, .iv-hh-btn:hover, .iv-hh-btn:focus { color: #fff !important; background: var(--iv-orange); box-shadow: none; }
.iv-hh-btn:hover, .iv-hh-btn:focus { background: #E56600; }
.iv-spec-btn, .iv-boutique-btn { background: var(--iv-blue); color: #fff !important; }
.iv-spec-btn:hover, .iv-boutique-btn:hover { background: #142a5e; }
/* Divi button modules (page CTAs, header, footer): square + white-on-orange primary,
   navy-fill secondary on light sections. #page-container beats Divi's ID-scoped preset. */
.et_pb_button.iv-btn-primary, .iv-btn-primary .et_pb_button,
.et_pb_button.iv-btn-secondary, .iv-btn-secondary .et_pb_button {
	border-radius: 2px !important; font-size: 12px !important; font-weight: 600 !important; letter-spacing: 0.12em !important;
	text-transform: uppercase; padding: 15px 26px !important; line-height: 1.2 !important; box-shadow: none !important;
}
#page-container .et_pb_section .et_pb_button.iv-btn-primary,
#page-container .et_pb_section .et_pb_button.iv-btn-primary:hover,
#page-container .et_pb_section .et_pb_button.iv-btn-primary:focus { color: #fff !important; box-shadow: none !important; }
#page-container .iv-bg-white .et_pb_section .et_pb_button.iv-btn-secondary,
#page-container .et_pb_section.iv-bg-white .et_pb_button.iv-btn-secondary,
#page-container .et_pb_section.iv-bg-soft-blue .et_pb_button.iv-btn-secondary,
#page-container .et_pb_section.iv-bg-warm-gray .et_pb_button.iv-btn-secondary {
	background: var(--iv-blue) !important; border-color: var(--iv-blue) !important; color: #fff !important;
}
#page-container .et_pb_section.iv-bg-white .et_pb_button.iv-btn-secondary:hover,
#page-container .et_pb_section.iv-bg-soft-blue .et_pb_button.iv-btn-secondary:hover,
#page-container .et_pb_section.iv-bg-warm-gray .et_pb_button.iv-btn-secondary:hover { background: #142a5e !important; border-color: #142a5e !important; color: #fff !important; }
/* the header button keeps its navy fill from the rule above (it is not inside .iv-bg-*) */
/* metrics strip runs on ONE line across the photo (mockup), independent of the copy column width */
@media (min-width: 981px) {
	body.ivmedical-site .et_pb_text_inner .iv-hh-highlights { width: max-content; max-width: calc(100vw - 96px); flex-wrap: nowrap; }
	body.ivmedical-site .et_pb_text_inner .iv-highlights li { font-size: clamp(1.15rem, 1.85vw, 1.5rem) !important; padding: 0 20px !important; }
}
@media (max-width: 640px) {
	body.ivmedical-site .et_pb_text_inner .iv-spec-title br { display: none; }   /* no orphaned "for" on phones */
	body.ivmedical-site .et_pb_text_inner .iv-highlights li { border-left: 0; padding: 0 !important; width: 100%; }
}
/* hero tag is WHITE on the photo (mockup; owner 2026-09-09) — faint shadow keeps it legible on the bright lamp */
body.ivmedical-site .et_pb_text_inner .iv-hh-tag { color: #fff !important; text-shadow: 0 1px 8px rgba(5,20,46,0.45); }
/* Surgical Boutique: show the WHOLE building (Lisa 2026-09-09: "zoom out like the mockup").
   The photo box is sized to the photo's own 2.18:1 ratio (66vw wide × 30vw tall) so
   object-fit:cover no longer crops the facade; the copy sits over a longer white fade. */
@media (min-width: 981px) {
	.iv-boutique-section > .et_pb_row { min-height: clamp(360px, 30.5vw, 560px); }
	.iv-boutique-media { left: 33%; }
	.iv-boutique-media img {
		object-position: 50% 100%;
		-webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,0.35) 14%, #000 34%);
		        mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,0.35) 14%, #000 34%);
	}
	.iv-boutique-media::after { background: linear-gradient(180deg, rgba(5,20,46,0) 70%, rgba(5,20,46,0.45) 100%); }
	.iv-boutique-copy { max-width: 520px; }
	body.ivmedical-site .et_pb_text_inner .iv-boutique-body { max-width: 480px; }
}

/* ==========================================================================
   OWNER PASS 2026-09-09 (1920×1080 review): one ~1" left gutter for everything
   (header logo, hero copy, boutique copy), lighter/smaller hero H1 (Playfair Display 400 —
   DM Serif Display has a single heavy weight), metrics strip bigger/bolder on a white
   halo with heavy orange pipes, quieter pillar band, building photo fading into the
   section (no hard left edge) and framed 2:1 for the new wide shot.
   ========================================================================== */
:root { --iv-gutter: clamp(48px, 5vw, 96px); }
@media (min-width: 981px) {
	/* body + 2 classes beats the older `.et-l--header .iv-header .et_pb_row {max-width:1440px}` (≥1281px) */
	body.ivmedical-site .et-l--header .et_pb_row { max-width: none !important; width: calc(100% - 2 * var(--iv-gutter)) !important; margin: 0 auto !important; }
	.iv-hero.iv-hero-light > .et_pb_row { padding-left: var(--iv-gutter) !important; }
	/* photo box ≈ 68vw wide; Lisa's clean building image is 2.74:1 → row ≈ 25vw keeps the whole facade */
	.iv-boutique-section > .et_pb_row { padding-left: var(--iv-gutter) !important; min-height: clamp(340px, 25vw, 520px); }
	.iv-pillars-section > .et_pb_row { padding: 0 var(--iv-gutter) !important; }
	body.ivmedical-site .et_pb_text_inner .iv-hh-tag { right: var(--iv-gutter); }
	.iv-boutique-tag { right: var(--iv-gutter); }
	.iv-boutique-strip { right: var(--iv-gutter); }
	.iv-hh-copy { max-width: 760px; }

	/* hero H1: lighter face, ~10px smaller */
	body.ivmedical-site .et_pb_text_inner .iv-hh-title {
		font-family: "Playfair Display", "DM Serif Display", Georgia, serif !important; font-weight: 400 !important;
		font-size: clamp(2.4rem, 4.3vw, 4rem) !important; line-height: 1.02 !important; letter-spacing: -0.005em !important;
	}
	/* metrics: +2px, weight 600 (real weight via Playfair variable), extra-bold orange pipes, white halo */
	body.ivmedical-site .et_pb_text_inner .iv-hh-highlights {
		/* soft white halo, all four edges feathered by the shadow blur — no visible box over the photo */
		background: rgba(255,255,255,0.86); box-shadow: 0 0 46px 34px rgba(255,255,255,0.86);
		padding: 8px 8px 8px 0 !important; border-radius: 10px;
	}
	body.ivmedical-site .et_pb_text_inner .iv-highlights li {
		font-family: "Playfair Display", "DM Serif Display", Georgia, serif !important; font-weight: 600 !important;
		font-size: clamp(1.28rem, 2vw, 1.62rem) !important; padding: 0 22px !important;
		border-left: 3px solid var(--iv-orange); text-shadow: 0 0 14px #fff, 0 0 4px #fff;
	}
	body.ivmedical-site .et_pb_text_inner .iv-highlights li:first-child { border-left: 0; padding-left: 0 !important; }

	/* pillar band: lighter + smaller */
	body.ivmedical-site .et_pb_text_inner .iv-pillar-title { font-size: 12px !important; font-weight: 600 !important; letter-spacing: 0.1em; }
	body.ivmedical-site .et_pb_text_inner .iv-pillar-text { font-size: 13px !important; font-weight: 400 !important; color: rgba(255,255,255,0.78) !important; }

	/* building photo: the left fade lives on the IMG + the bottom-shade ::after overlay (NOT the
	   figure itself) — a mask on the figure also clips its children, which washed the HQ badge
	   out to transparent on its left. Masking the img and the overlay with the same gradient keeps
	   the identical bleed (no hard left edge) while leaving the badge at full opacity. */
	.iv-boutique-media { left: 32%; -webkit-mask-image: none; mask-image: none; }
	.iv-boutique-media img {
		object-position: 50% 100%;
		-webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,0.3) 12%, #000 36%);
		        mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,0.3) 12%, #000 36%);
	}
	.iv-boutique-media::after {
		background: linear-gradient(180deg, rgba(5,20,46,0) 72%, rgba(5,20,46,0.4) 100%);
		-webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,0.3) 12%, #000 36%);
		        mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,0.3) 12%, #000 36%);
	}
}

/* ==========================================================================
   COMPACT FOOTER (owner 2026-09-09): ~1/3 the height — wider row (same gutter as the
   header), 13px type with tight leading, small caps column headings, copyright with
   ~1/4 of the old bottom padding. Desktop ≥981px; phones keep the stacked layout.
   ========================================================================== */
@media (min-width: 981px) {
	/* the section is a flex container with a 60px row gap between its two rows — collapse it */
	body.ivmedical-site .et-l--footer .iv-footer.et_pb_section { padding-top: 24px !important; padding-bottom: 12px !important; gap: 0 !important; row-gap: 0 !important; }
	body.ivmedical-site .et-l--footer .et_pb_row { max-width: none !important; width: calc(100% - 2 * var(--iv-gutter)) !important; margin: 0 auto !important; padding: 0 !important; }
	body.ivmedical-site .et-l--footer .et_pb_row_0_tb_footer { margin-bottom: 14px !important; }
	/* Divi 5 flex columns space their modules with `gap` — that, not margins, was the airiness */
	body.ivmedical-site .et-l--footer .et_pb_column { padding: 0 !important; margin-bottom: 0 !important; gap: 3px !important; row-gap: 3px !important; }
	body.ivmedical-site .et-l--footer .et_pb_row { gap: 0 24px !important; row-gap: 0 !important; }
	body.ivmedical-site .et-l--footer .et_pb_module { margin-bottom: 0 !important; }
	body.ivmedical-site .et-l--footer .et_pb_image_wrap img, body.ivmedical-site .et-l--footer .et_pb_image { max-width: 150px; }
	body.ivmedical-site .et-l--footer .et_pb_image { margin-bottom: 8px !important; }
	body.ivmedical-site .et-l--footer .iv-footer .et_pb_heading_container h1,
	body.ivmedical-site .et-l--footer .iv-footer .et_pb_heading_container h2,
	body.ivmedical-site .et-l--footer .iv-footer .et_pb_heading_container h3,
	body.ivmedical-site .et-l--footer .iv-footer .et_pb_heading_container h4 {
		font-size: 12px !important; font-weight: 700 !important; letter-spacing: 0.14em !important; text-transform: uppercase;
		line-height: 1.3 !important; padding: 0 0 6px !important; margin: 0 !important; color: rgba(255,255,255,0.92) !important;
	}
	/* the CTA column heading is a sentence, not a label */
	body.ivmedical-site .et-l--footer .et_pb_column_3_tb_footer .et_pb_heading_container h1,
	body.ivmedical-site .et-l--footer .et_pb_column_3_tb_footer .et_pb_heading_container h2,
	body.ivmedical-site .et-l--footer .et_pb_column_3_tb_footer .et_pb_heading_container h3,
	body.ivmedical-site .et-l--footer .et_pb_column_3_tb_footer .et_pb_heading_container h4 {
		font-size: 15px !important; letter-spacing: 0 !important; text-transform: none; font-weight: 600 !important; line-height: 1.35 !important; padding-bottom: 10px !important;
	}
	body.ivmedical-site .et-l--footer .iv-footer .et_pb_text, body.ivmedical-site .et-l--footer .iv-footer .et_pb_text p, body.ivmedical-site .et-l--footer .iv-footer p {
		font-size: 13px !important; line-height: 1.45 !important; margin: 0 0 4px !important; padding: 0 !important;
	}
	body.ivmedical-site .et-l--footer .et_pb_column_0_tb_footer .et_pb_text p { max-width: 340px; color: rgba(10,27,66,0.82) !important; } /* light footer (2026-09-13): navy, was white 0.7 */
	body.ivmedical-site .et-l--footer .et_pb_button_module_wrapper { margin: 2px 0 0 !important; }
	body.ivmedical-site #page-container .et-l--footer .et_pb_section .et_pb_button { font-size: 11px !important; padding: 11px 18px !important; letter-spacing: 0.1em !important; }
	/* copyright row: hairline + minimal spacing (was 54px section padding below it) */
	body.ivmedical-site .et-l--footer .et_pb_row_1_tb_footer { border-top: 1px solid rgba(10,27,66,0.16); padding-top: 10px !important; }
	body.ivmedical-site .et-l--footer .et_pb_row_1_tb_footer .et_pb_text p { font-size: 12px !important; line-height: 1.4 !important; margin: 0 !important; color: rgba(10,27,66,0.72) !important; }
}

/* ==========================================================================
   LEADERSHIP HERO on the building (owner 2026-09-09): the clean building photo is the
   section background; the eyebrow/title/intro column and the surgeon photo sit on
   frosted white panels (blur + soft white halo) so navy type reads over the facade.
   ========================================================================== */
.iv-hero.iv-bg-blue:has(.iv-lead-hero) {
	background: #dfe6ef !important; /* building moved to the ::before parallax layer (2026-09-13) */
	position: relative;
	overflow: hidden; /* clip the taller parallax layer */
}
.iv-hero.iv-bg-blue:has(.iv-lead-hero)::after {
	/* light wash so the panels blend into the photo rather than sit on it */
	/* the base .iv-hero::after glow sets width/height 520px — inset alone doesn't cover the section */
	content: ""; display: block; position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; opacity: 1; transform: none; filter: none; border-radius: 0;
	/* stronger left wash: the copy lives in the left ~45 %, so keep it bright there and let the sign + card side stay clean */
	background: linear-gradient(90deg, rgba(255,255,255,0.72) 0%, rgba(255,255,255,0.62) 30%, rgba(255,255,255,0.3) 50%, rgba(255,255,255,0.06) 68%, rgba(255,255,255,0.04) 100%);
}
.iv-hero.iv-bg-blue:has(.iv-lead-hero) > .et_pb_row { position: relative; z-index: 1; }
.iv-lead-hero-text {
	/* owner 2026-09-09: no panel at all — the text-shadow halos carry legibility on their own */
	background: none; -webkit-backdrop-filter: none; backdrop-filter: none;
	box-shadow: none; border-radius: 0; padding: 0;
	/* panel hugs its copy instead of filling the grid column, so it stops short of the sign on the building */
	width: fit-content; max-width: min(100%, 720px); justify-self: start;
}
.iv-lead-hero-media {
	background: rgba(255,255,255,0.6); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
	box-shadow: 0 0 34px 22px rgba(255,255,255,0.6); border-radius: 20px; padding: 10px; max-width: 375px; justify-self: end;
}
.iv-lead-hero-media img { box-shadow: 0 18px 44px rgba(3,12,32,0.28); border-color: rgba(10,27,66,0.08); }
/* (0,5,1)+ — beats the navy-section "white p" rules (body + 3 classes + :not chains) */
body.ivmedical-site .iv-bg-blue .et_pb_text_inner .iv-lead-hero .iv-lead-eyebrow,
body.ivmedical-site .iv-bg-blue .iv-lead-hero p.iv-lead-eyebrow { color: var(--iv-orange-deep) !important; }
body.ivmedical-site .iv-bg-blue .et_pb_text_inner .iv-lead-hero .iv-lead-title,
body.ivmedical-site .iv-bg-blue .iv-lead-hero h1.iv-lead-title { color: var(--iv-blue) !important; }
body.ivmedical-site .iv-bg-blue .et_pb_text_inner .iv-lead-hero .iv-lead-title .iv-lead-accent,
body.ivmedical-site .iv-bg-blue .iv-lead-hero h1.iv-lead-title .iv-lead-accent { color: var(--iv-orange) !important; }
body.ivmedical-site .iv-bg-blue .et_pb_text_inner .iv-lead-hero .iv-lead-intro,
body.ivmedical-site .iv-bg-blue .iv-lead-hero p.iv-lead-intro {
	/* navy at 600 reads over the building through the 30 % panel; a white halo lifts it off the dark entrance */
	color: var(--iv-blue) !important; font-weight: 600; text-shadow: 0 0 14px #fff, 0 0 6px #fff, 0 0 2px #fff;
}
body.ivmedical-site .iv-bg-blue .et_pb_text_inner .iv-lead-hero .iv-lead-title,
body.ivmedical-site .iv-bg-blue .iv-lead-hero h1.iv-lead-title { text-shadow: 0 0 18px #fff, 0 0 8px #fff, 0 0 3px #fff; }
body.ivmedical-site .iv-bg-blue .iv-lead-hero p.iv-lead-eyebrow { text-shadow: 0 0 10px #fff, 0 0 4px #fff; }
/* the orange accent line gets a NAVY shadow (owner 2026-09-09) — a soft dark halo instead of white */
body.ivmedical-site .iv-bg-blue .et_pb_text_inner .iv-lead-hero .iv-lead-title .iv-lead-accent,
body.ivmedical-site .iv-bg-blue .iv-lead-hero h1.iv-lead-title .iv-lead-accent { text-shadow: 0 1px 2px rgba(10,27,66,0.55), 0 0 14px rgba(10,27,66,0.45), 0 0 4px rgba(10,27,66,0.35); }
@media (min-width: 981px) {
	.iv-hero.iv-bg-blue:has(.iv-lead-hero) > .et_pb_row { max-width: none !important; width: calc(100% - 2 * var(--iv-gutter)) !important; }
	.iv-hero.iv-bg-blue:has(.iv-lead-hero) .iv-lead-hero { grid-template-columns: 1.4fr 0.6fr; gap: 64px; }
}
body.ivmedical-site .iv-bg-blue .iv-lead-hero h1.iv-lead-title,
body.ivmedical-site .iv-lead-hero .iv-lead-title { font-size: clamp(26px, 3.3vw, 35px) !important; }  /* owner: −12px */

/* ==========================================================================
   SPECIALTIES PAGE (Lisa's concept "IV_Medical_Specialties_Page_Concept.png", 2026-09-09)
   Four shortcode sections: hero + icon row / photo + "goes deeper" / navy numbered band /
   CTA. Same type + button system as Home (Playfair not used here — the concept's serif is
   the DM Serif display face).
   ========================================================================== */
.iv-sp-hero, .iv-sp-deeper, .iv-sp-approach, .iv-sp-cta { max-width: none; margin: 0; }
body.ivmedical-site .et_pb_text_inner .iv-sp-eyebrow { color: var(--iv-orange) !important; font-size: 11px !important; font-weight: 600 !important; letter-spacing: 0.32em !important; margin-bottom: 18px !important; }
body.ivmedical-site .et_pb_text_inner .iv-sp-eyebrow::before { display: none; }
body.ivmedical-site .et_pb_text_inner .iv-sp-eyebrow-rule { display: block !important; padding-top: 18px !important; position: relative; }
body.ivmedical-site .et_pb_text_inner .iv-sp-eyebrow-rule::before { content: ""; display: block; position: absolute; top: 0; left: 0; width: 48px; height: 2px; background: var(--iv-orange); border-radius: 0; }
body.ivmedical-site .et_pb_text_inner .iv-sp-eyebrow-light { color: rgba(255,255,255,0.85) !important; }
body.ivmedical-site .et_pb_text_inner .iv-sp-title { color: var(--iv-blue) !important; font-size: clamp(2.4rem, 4.6vw, 4.2rem) !important; line-height: 1.0 !important; letter-spacing: -0.01em; margin: 0 0 18px !important; padding: 0 !important; }
body.ivmedical-site .et_pb_text_inner .iv-sp-h2 { color: var(--iv-blue) !important; font-size: clamp(2rem, 3.4vw, 3.1rem) !important; line-height: 1.06 !important; letter-spacing: -0.01em; margin: 0 0 18px !important; padding: 0 !important; }
body.ivmedical-site .et_pb_text_inner .iv-sp-title em, body.ivmedical-site .et_pb_text_inner .iv-sp-h2 em { font-style: normal; color: var(--iv-orange); }
body.ivmedical-site .et_pb_text_inner .iv-sp-h2-light { color: #fff !important; }
body.ivmedical-site .et_pb_text_inner .iv-sp-sub { color: var(--iv-body-grey) !important; font-size: 18px !important; line-height: 1.5 !important; margin: 0 !important; padding: 0 !important; max-width: 560px; }
body.ivmedical-site .et_pb_text_inner .iv-sp-body { color: var(--iv-body-grey-2) !important; font-size: 16.5px !important; line-height: 1.6 !important; margin: 0 !important; padding: 0 !important; max-width: 520px; }

/* hero: copy left, vertical-rule tagline right, icon row below */
.iv-sp-hero-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 40px; margin-bottom: 44px; }
body.ivmedical-site .et_pb_text_inner .iv-sp-tag {
	flex: 0 0 auto; margin: 10px 0 0 !important; padding: 4px 0 4px 26px !important; border-left: 2px solid var(--iv-orange);
	color: var(--iv-blue) !important; font-size: 11px !important; font-weight: 600 !important; letter-spacing: 0.3em !important; line-height: 1.9 !important; text-transform: uppercase;
}
body.ivmedical-site .et_pb_text_inner .iv-sp-icons { margin: 0 !important; }

/* "goes deeper": photo left, copy right */
.iv-sp-deeper { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr); gap: 56px; align-items: center; }
.iv-sp-deeper-media { margin: 0; }
.iv-sp-deeper-media img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; object-position: 60% 50%; }

/* navy band: OR photo fading in from the right, four numbered pillars */
.iv-sp-approach-section { position: relative; overflow: hidden; }
.iv-sp-approach-section::before {
	content: ""; position: absolute; top: 0; bottom: 0; right: 0; width: 55%; pointer-events: none;
	/* instruments on a tray (Unsplash Z6sbbTdPJTY, navy-toned → attachment 381) like the concept */
	background: url("/wp-content/uploads/2026/09/iv-surgical-instruments.jpg") no-repeat 55% 50% / cover; opacity: 0.55;
	-webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 45%); mask-image: linear-gradient(90deg, transparent 0%, #000 45%);
}
.iv-sp-approach-section > .et_pb_row { position: relative; z-index: 1; }
body.ivmedical-site .et_pb_text_inner .iv-sp-steps { list-style: none !important; margin: 40px 0 0 !important; padding: 0 !important; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
body.ivmedical-site .et_pb_text_inner .iv-sp-step { margin: 0 !important; padding: 4px 28px 4px 0 !important; border-left: 1px solid rgba(255,255,255,0.22); padding-left: 24px !important; }
body.ivmedical-site .et_pb_text_inner .iv-sp-step:first-child { border-left: 0; padding-left: 0 !important; }
.iv-sp-step-n { display: block; font-family: "Playfair Display", "DM Serif Display", Georgia, serif; font-size: 44px; line-height: 1; color: var(--iv-orange); margin-bottom: 12px; }
.iv-sp-step-l { display: block; color: #fff; font-size: 12px; font-weight: 600; letter-spacing: 0.24em; text-transform: uppercase; line-height: 1.7; }

/* CTA: copy left, orange square button right */
.iv-sp-cta { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.iv-sp-btn { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 12px; background: var(--iv-orange); color: #fff !important; text-decoration: none !important; padding: 18px 34px; border-radius: 2px; font-size: 12px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; }
.iv-sp-btn:hover { background: #E56600; }

@media (min-width: 981px) {
	.iv-sp-hero-section > .et_pb_row, .iv-sp-deeper-section > .et_pb_row, .iv-sp-approach-section > .et_pb_row, .iv-sp-cta-section > .et_pb_row {
		max-width: none !important; width: calc(100% - 2 * var(--iv-gutter)) !important;
	}
	.iv-sp-hero-section { padding-top: 56px !important; padding-bottom: 48px !important; }
	.iv-sp-deeper-section { padding-top: 24px !important; padding-bottom: 24px !important; }
	.iv-sp-approach-section { padding-top: 64px !important; padding-bottom: 64px !important; }
	.iv-sp-cta-section { padding-top: 56px !important; padding-bottom: 56px !important; }
}
@media (max-width: 980px) {
	.iv-sp-hero-top { flex-direction: column; gap: 22px; }
	.iv-sp-deeper { grid-template-columns: 1fr; gap: 28px; }
	body.ivmedical-site .et_pb_text_inner .iv-sp-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 26px; }
	body.ivmedical-site .et_pb_text_inner .iv-sp-step:nth-child(3) { border-left: 0; padding-left: 0 !important; }
	.iv-sp-cta { flex-direction: column; align-items: flex-start; }
}

/* Specialties page headings: lighter serif (Playfair 400) — the concept's display face is light, DM Serif is heavy */
body.ivmedical-site .et_pb_text_inner .iv-sp-title,
body.ivmedical-site .et_pb_text_inner .iv-sp-h2 { font-family: "Playfair Display", "DM Serif Display", Georgia, serif !important; font-weight: 400 !important; letter-spacing: -0.005em; }
body.ivmedical-site .et_pb_text_inner .iv-sp-title { line-height: 1.02 !important; }
.iv-sp-step-n { font-family: "Playfair Display", "DM Serif Display", Georgia, serif; font-weight: 400; }
/* nav a step lighter (concept nav is regular weight) */
@media (min-width: 981px) { .iv-header .et_pb_menu__menu > nav > ul > li > a { font-weight: 500 !important; } }
/* specialty icon glyphs: a touch larger now that the strokes are thinner */
.iv-spec-icon-glyph svg { width: 52px; height: 52px; }
/* Sitewide display face (owner 2026-09-09): every H1/H2 — Divi heading modules and text-module
   headings included — is Playfair Display 400, matching the mockups. H3+ (card titles) stay sans. */
body.ivmedical-site .et_pb_heading_container h1, body.ivmedical-site .et_pb_heading_container h2,
body.ivmedical-site .et_pb_text_inner h1, body.ivmedical-site .et_pb_text_inner h2,
body.ivmedical-site h1.entry-title, body.ivmedical-site .iv-team-modal-panel h2 {
	font-family: "Playfair Display", "DM Serif Display", Georgia, serif !important; font-weight: 400 !important; letter-spacing: -0.005em;
}
/* Divi section-title H3s (30px module headers) follow the display face; card/panel H3s stay sans */
body.ivmedical-site h3.et_pb_module_header { font-family: "Playfair Display", "DM Serif Display", Georgia, serif !important; font-weight: 400 !important; letter-spacing: -0.005em; }

/* ==========================================================================
   EYEBROWS — global size bump (owner 2026-09-10: match the mockups). Every eyebrow class → 13px.
   ========================================================================== */
body.ivmedical-site .et_pb_section .et_pb_text_inner .iv-eyebrow-inline, body.ivmedical-site .iv-hero-light .et_pb_text_inner .iv-hh-eyebrow,
body.ivmedical-site .et_pb_section .et_pb_text_inner .iv-sp-eyebrow, body.ivmedical-site .et_pb_section .et_pb_text_inner .iv-spec-head .iv-eyebrow-inline,
body.ivmedical-site .et_pb_section .et_pb_text_inner .iv-spec-sub, body.ivmedical-site .iv-bg-blue .iv-lead-hero p.iv-lead-eyebrow,
body.ivmedical-site .et_pb_section .et_pb_text_inner .iv-launch .iv-eyebrow-inline { font-size: 13px !important; }

/* ==========================================================================
   IV AI — COMING SOON band ([iv_ivai], Home; mirrors Images/ivmwebsiteideas.png):
   navy copy panel left, dotted light-streak arrow across the middle, IVAI lockup on a
   light panel right. This section keeps the concept's bold sans headline on purpose.
   ========================================================================== */
.iv-ivai-section { padding: 0 !important; position: relative; overflow: hidden;
	background: linear-gradient(100deg, #06152F 0%, #0A2157 46%, #123478 52%, #dfe9f7 58%, #f3f7fc 76%, #ffffff 100%) !important; }
.iv-ivai-section > .et_pb_row { max-width: none !important; width: 100% !important; margin: 0 !important; padding: 0 !important; }
.iv-ivai-section .et_pb_column, .iv-ivai-section .et_pb_module, .iv-ivai-section .et_pb_text_inner { padding: 0 !important; margin: 0 !important; }
.iv-ivai { position: relative; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); align-items: center; min-height: 340px; scroll-margin-top: 110px; }
.iv-ivai-copy { position: relative; z-index: 2; padding: 56px 40px 56px var(--iv-gutter, 48px); max-width: 720px; }
body.ivmedical-site .et_pb_text_inner .iv-ivai-eyebrow { color: #4DA3FF !important; font-size: 13px !important; font-weight: 700 !important; letter-spacing: 0.08em !important; margin-bottom: 14px !important; }
body.ivmedical-site .et_pb_text_inner .iv-ivai-eyebrow::before { display: none; }
body.ivmedical-site .et_pb_text_inner h2.iv-ivai-title { font-family: "Playfair Display", "DM Serif Display", Georgia, serif !important; font-weight: 400 !important; color: #fff !important; font-size: clamp(1.8rem, 2.7vw, 2.6rem) !important; line-height: 1.12 !important; letter-spacing: -0.005em; margin: 0 0 16px !important; padding: 0 !important; }
body.ivmedical-site .et_pb_text_inner .iv-ivai-body { color: rgba(255,255,255,0.86) !important; font-size: 15.5px !important; line-height: 1.6 !important; margin: 0 0 26px !important; padding: 0 !important; max-width: 560px; }
.iv-ivai-btn { display: inline-flex; align-items: center; padding: 13px 26px; border: 1.5px solid rgba(255,255,255,0.85); color: #fff !important; text-decoration: none !important; font-size: 12px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; border-radius: 2px; background: transparent; }
.iv-ivai-btn:hover { background: #fff; color: var(--iv-blue) !important; }
.iv-ivai-streak { position: absolute; left: 24.5%; right: 41%; top: 49%; transform: translateY(-50%); z-index: 1; pointer-events: none; }
.iv-ivai-streak svg, .iv-ivai-streak img { width: 100%; height: auto; display: block; }
.iv-ivai-lockup { position: relative; z-index: 2; justify-self: center; text-align: center; padding: 40px 32px; width: min(100%, 560px); }
body.ivmedical-site .et_pb_text_inner .iv-ivai-born { color: var(--iv-blue) !important; font-family: "Poppins", sans-serif; font-size: 15px !important; font-weight: 600 !important; letter-spacing: 0.04em; text-transform: uppercase; line-height: 1.3 !important; margin: 0 0 4px !important; padding: 0 !important; }
body.ivmedical-site .et_pb_text_inner .iv-ivai-born span { color: var(--iv-orange); font-size: 24px; font-weight: 700; letter-spacing: 0; }
.iv-ivai-mark { margin: 0 auto 6px; width: 100%; }
.iv-ivai-mark svg, .iv-ivai-mark img { width: 100%; height: auto; display: block; }
body.ivmedical-site .et_pb_text_inner .iv-ivai-line { display: flex; align-items: center; gap: 14px; margin: 0 0 8px !important; padding: 0 !important; color: var(--iv-blue) !important; font-size: 12.5px !important; font-weight: 700 !important; letter-spacing: 0.24em; text-transform: uppercase; line-height: 1.4 !important; }
body.ivmedical-site .et_pb_text_inner .iv-ivai-line::before, body.ivmedical-site .et_pb_text_inner .iv-ivai-line::after { content: ""; flex: 1; height: 2px; }
body.ivmedical-site .et_pb_text_inner .iv-ivai-line-blue::before, body.ivmedical-site .et_pb_text_inner .iv-ivai-line-blue::after { background: #2F7BFF; }
body.ivmedical-site .et_pb_text_inner .iv-ivai-line-orange::before, body.ivmedical-site .et_pb_text_inner .iv-ivai-line-orange::after { background: var(--iv-orange); }
body.ivmedical-site .et_pb_text_inner .iv-ivai-line-orange { font-size: 12px !important; letter-spacing: 0.16em; }
body.ivmedical-site .et_pb_text_inner .iv-ivai-line em { font-style: normal; color: var(--iv-orange); }
@media (max-width: 980px) {
	.iv-ivai-section { background: linear-gradient(180deg, #06152F 0%, #0A2157 52%, #eef4fb 52%, #ffffff 100%) !important; }
	.iv-ivai { grid-template-columns: 1fr; }
	.iv-ivai-copy { padding: 44px 24px; max-width: none; }
	.iv-ivai-streak { display: none; }
	.iv-ivai-lockup { padding: 36px 24px 44px; }
}
/* nav: "IV AI" item is a plain link like the others (owner 2026-09-10: no "Coming soon" sub-label) */
/* the IV AI item links to /#ivai, so WP marks it "current" on the front page — never show it active */
@media (min-width: 981px) {
	.iv-header .et_pb_menu__menu > nav > ul > li.iv-nav-ivai.current-menu-item > a { color: var(--iv-blue) !important; border-bottom-color: transparent !important; }
	.iv-header .et_pb_menu__menu > nav > ul > li.iv-nav-ivai > a:hover { color: var(--iv-orange) !important; }
}

/* IVAI nav item is rendered as its brand logo (Lisa 2026-11: "use its actual logo"),
   placed AFTER Contact, linking to /services/#iv-ai. Sized to sit inline with the
   menu font and nudged up a touch (Lisa 2026-11-04: "more inline with the menu font, moved up"). */
@media (min-width: 981px) {
	/* Center the mark on the menu text's midline (Mike 2026-11-04: "inline with the
	   letters, not align-top"). The li is a Divi flex item (align-items:stretch), so a
	   fixed-height inline-block child lands at the TOP unless we center it explicitly. */
	.iv-header .et_pb_menu__menu > nav > ul > li.iv-nav-ivai { align-items: center !important; }
	.iv-header .et_pb_menu__menu > nav > ul > li.iv-nav-ivai > a {
		display: inline-block !important;
		align-self: center !important;
		width: 80px; height: 25px;
		padding: 0 !important;
		background: url('../images/ivai-nav-logo.png') center/contain no-repeat;
		text-indent: 120%; white-space: nowrap; overflow: hidden;
		border-bottom: 0 !important;
		vertical-align: middle;
	}
	.iv-header .et_pb_menu__menu > nav > ul > li.iv-nav-ivai > a:hover { opacity: .78; }
	/* IVAI stays FULL SIZE on scroll (Mike 2026-11-04 — no shrink) and is larger than
	   the menu font, stepping up on wider screens. */
	@media (min-width: 1600px) { .iv-header .et_pb_menu__menu > nav > ul > li.iv-nav-ivai > a { width: 90px; height: 28px; } }
	@media (min-width: 1920px) { .iv-header .et_pb_menu__menu > nav > ul > li.iv-nav-ivai > a { width: 100px; height: 31px; } }
}
/* mobile dropdown: show the mark, left-aligned to match the list */
.et-l--header .et_mobile_menu li.iv-nav-ivai > a {
	background: url('../images/ivai-nav-logo.png') left center/auto 22px no-repeat;
	text-indent: 120%; white-space: nowrap; overflow: hidden;
	min-height: 22px;
}

/* ==========================================================================
   2026-09-10 (Lisa call): "Our Team" → "Leadership" (/leadership/), copy-only hero,
   bigger desktop nav to fill the header.
   ========================================================================== */
.iv-hero.iv-bg-blue:has(.iv-lead-hero) .iv-lead-hero { grid-template-columns: 1fr !important; gap: 0; }
.iv-lead-hero-text { max-width: 820px !important; }
/* 7 items must stay on one line INSIDE the middle column: widen it (15/62/23) and step the size by width */
@media (min-width: 1281px) {
	.et-l--header .et_pb_column_0_tb_header { flex: 0 0 15% !important; width: 15% !important; }
	.et-l--header .et_pb_column_1_tb_header { flex: 0 0 62% !important; width: 62% !important; }
	.et-l--header .et_pb_column_2_tb_header { flex: 0 0 23% !important; width: 23% !important; }
}
@media (max-width: 1439px) { .et-l--header .iv-header-tagline { display: none !important; } }
@media (min-width: 981px)  { .iv-header .et_pb_menu__menu > nav > ul > li > a { font-size: 13px !important; letter-spacing: 0.08em !important; } .iv-header .et_pb_menu__menu > nav > ul > li { margin-right: 14px !important; } }
@media (min-width: 1440px) { .iv-header .et_pb_menu__menu > nav > ul > li > a { font-size: 14px !important; } .iv-header .et_pb_menu__menu > nav > ul > li { margin-right: 20px !important; } }
@media (min-width: 1536px) { .iv-header .et_pb_menu__menu > nav > ul > li > a { font-size: 15px !important; } .iv-header .et_pb_menu__menu > nav > ul > li { margin-right: 24px !important; } }
@media (min-width: 1800px) { .iv-header .et_pb_menu__menu > nav > ul > li { margin-right: 32px !important; } }
/* Services #iv-ai: the IV AI lockup sits at the top of the white Key Benefits card (2026-09-10) */
body.ivmedical-site .et_pb_text_inner .iv-ivai-inset, .iv-ivai-inset { display: block; width: 260px; max-width: 100%; height: auto; margin: 0 0 22px; }

/* ==========================================================================
   FOOTER v2 ([iv_footer], TB layout 209) — 2026-09-10 after Lisa's call. Navy ground,
   brand + contact / Explore / Services / Connect, optional affiliations strip, slim legal
   bar. The older Divi-module footer rules above are inert now (layout 209 is one text module).
   ========================================================================== */
/* LIGHT-BLUE footer (owner 2026-09-13): light blue ground, dark-navy text everywhere white/light-grey
   text used to be; orange stays orange (icons, link hover, the orange CTA button); the logo is now the
   full-colour original (swapped in iv-footer.php from the white knockout). (0,6,1) beats the legacy
   (0,5,0) rule `.et-l--footer .et_builder_inner_content .iv-footer.et_pb_section.et_flex_section`. */
body.ivmedical-site .et-l--footer .et_builder_inner_content .iv-footer.iv-footer-v2.et_pb_section { background: #DBE6F6 !important; background-color: #DBE6F6 !important; padding: 0 !important; }
body.ivmedical-site .et-l--footer .iv-footer-v2 > .et_pb_row { max-width: none !important; width: calc(100% - 2 * var(--iv-gutter, 48px)) !important; margin: 0 auto !important; padding: 0 !important; }
body.ivmedical-site .et-l--footer .iv-footer-v2 .et_pb_column, body.ivmedical-site .et-l--footer .iv-footer-v2 .et_pb_module, body.ivmedical-site .et-l--footer .iv-footer-v2 .et_pb_text_inner { padding: 0 !important; margin: 0 !important; }
.iv-ft { color: var(--iv-blue); font-size: 14px; line-height: 1.5; }
.iv-ft a { color: var(--iv-blue) !important; text-decoration: none !important; transition: color .15s ease; }
.iv-ft a:hover, .iv-ft a:focus { color: var(--iv-orange) !important; }
.iv-ft-grid { display: grid; grid-template-columns: minmax(0, 1.8fr) minmax(0, 1fr) minmax(0, 1.3fr) minmax(0, 1.2fr); gap: 40px; padding: 44px 0 34px; } /* brand col widened 1.6->1.8fr (2026-11-03) to give the bigger footer logo room */
.iv-ft-logo img { display: block; width: 190px; height: auto; margin-bottom: 14px; }
body.ivmedical-site .et_pb_text_inner .iv-ft-statement { color: rgba(10,27,66,0.82) !important; font-size: 14px !important; line-height: 1.55 !important; margin: 0 0 18px !important; padding: 0 !important; max-width: 340px; }
body.ivmedical-site .et_pb_text_inner .iv-ft-contact { list-style: none !important; margin: 0 !important; padding: 0 !important; display: grid; gap: 10px; }
body.ivmedical-site .et_pb_text_inner .iv-ft-contact li { margin: 0 !important; padding: 0 !important; display: flex; align-items: flex-start; gap: 10px; font-size: 14px !important; line-height: 1.45 !important; color: var(--iv-blue) !important; }
.iv-ft-contact svg { flex: 0 0 18px; width: 18px; height: 18px; color: var(--iv-orange); margin-top: 2px; }
body.ivmedical-site .et_pb_text_inner .iv-ft-h { color: var(--iv-blue) !important; font-family: "Inter", sans-serif !important; font-size: 12px !important; font-weight: 700 !important; letter-spacing: 0.16em !important; text-transform: uppercase; line-height: 1.3 !important; margin: 6px 0 14px !important; padding: 0 !important; }
body.ivmedical-site .et_pb_text_inner .iv-ft-col ul { list-style: none !important; margin: 0 !important; padding: 0 !important; display: grid; gap: 8px; }
body.ivmedical-site .et_pb_text_inner .iv-ft-col li { margin: 0 !important; padding: 0 !important; font-size: 14px !important; line-height: 1.45 !important; }
body.ivmedical-site .et_pb_text_inner .iv-ft-social { display: flex !important; gap: 10px; margin: 0 0 20px !important; }
.iv-ft-social a, .iv-ft-social span { display: inline-flex; width: 38px; height: 38px; align-items: center; justify-content: center; border-radius: 50%; border: 1px solid rgba(10,27,66,0.30); color: var(--iv-blue) !important; }
.iv-ft-social svg { width: 18px; height: 18px; }
.iv-ft-social a:hover { border-color: var(--iv-orange); background: var(--iv-orange); color: #fff !important; }
.iv-ft-social span.is-pending { opacity: 0.4; cursor: default; }
body.ivmedical-site .et_pb_text_inner .iv-ft-cta-text { color: var(--iv-blue) !important; font-size: 15px !important; font-weight: 600 !important; line-height: 1.35 !important; margin: 0 0 12px !important; padding: 0 !important; }
.iv-ft a.iv-ft-btn { display: inline-flex; align-items: center; gap: 10px; background: var(--iv-orange); color: #fff !important; padding: 12px 20px; border-radius: 2px; font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; }
.iv-ft a.iv-ft-btn:hover, .iv-ft a.iv-ft-btn:focus { background: #E56600; color: #fff !important; } /* beat .iv-ft a:hover (orange) so the label stays white on the orange fill */
.iv-ft-seals { border-top: 1px solid rgba(10,27,66,0.16); padding: 18px 0; display: flex; align-items: center; gap: 28px; flex-wrap: wrap; }
body.ivmedical-site .et_pb_text_inner .iv-ft-seals-h { color: rgba(10,27,66,0.6) !important; font-size: 11px !important; font-weight: 700 !important; letter-spacing: 0.16em; text-transform: uppercase; margin: 0 !important; padding: 0 !important; }
body.ivmedical-site .et_pb_text_inner .iv-ft-seals ul { list-style: none !important; margin: 0 !important; padding: 0 !important; display: flex; gap: 26px; align-items: center; flex-wrap: wrap; }
.iv-ft-seals img { height: 44px; width: auto; display: block; opacity: 0.9; }
.iv-ft-legal { border-top: 1px solid rgba(10,27,66,0.16); padding: 14px 0 16px; display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
body.ivmedical-site .et_pb_text_inner .iv-ft-legal p { color: rgba(10,27,66,0.72) !important; font-size: 12px !important; line-height: 1.4 !important; margin: 0 !important; padding: 0 !important; }
body.ivmedical-site .et_pb_text_inner .iv-ft-legal ul { list-style: none !important; margin: 0 !important; padding: 0 !important; display: flex; gap: 18px; flex-wrap: wrap; }
body.ivmedical-site .et_pb_text_inner .iv-ft-legal li { margin: 0 !important; padding: 0 !important; font-size: 12px !important; color: rgba(10,27,66,0.72); }
@media (max-width: 980px) {
	.iv-ft-grid { grid-template-columns: 1fr 1fr; gap: 28px; padding: 36px 0 26px; }
	.iv-ft-brand { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
	.iv-ft-grid { grid-template-columns: 1fr; }
	.iv-ft-legal { flex-direction: column; align-items: flex-start; }
}

/* ==========================================================================
   COLOUR VARIETY + COMPACT FOUNDATION CARDS (Lisa, 2026-09-10)
   Lisa: the "Foundation" cards are too big — she likes the compact Services tabs and their
   animations; and the site is too uniformly orange/blue/white — she wants each card in a
   family to carry its own colour (FHP-style variety, our own palette).
   Palette (accent / soft tint / on-navy tint): orange, teal, violet, sky, gold, rose.
   ========================================================================== */
:root {
	--iv-acc-1: #F4722E; --iv-acc-1s: rgba(244,114,46,0.14);  --iv-acc-1n: #FF9A5C;
	--iv-acc-2: #0E9F8C; --iv-acc-2s: rgba(14,159,140,0.14);  --iv-acc-2n: #3ED3BE;
	--iv-acc-3: #6C5CE7; --iv-acc-3s: rgba(108,92,231,0.14);  --iv-acc-3n: #A99BFF;
	--iv-acc-4: #1E88E5; --iv-acc-4s: rgba(30,136,229,0.14);  --iv-acc-4n: #66B8FF;
	--iv-acc-5: #E0A100; --iv-acc-5s: rgba(224,161,0,0.16);   --iv-acc-5n: #FFC94D;
	--iv-acc-6: #E0457B; --iv-acc-6s: rgba(224,69,123,0.14);  --iv-acc-6n: #FF7FAB;
}
/* per-card accents by position (columns: nth-child among sibling columns; buttons: data-i) */
.iv-stat-card:nth-child(1), .iv-audience-card:nth-child(1), .iv-res-card:nth-child(1), .iv-proc-step[data-i="0"], .iv-proc-detail:nth-child(1) { --iv-accent: var(--iv-acc-1); --iv-accent-soft: var(--iv-acc-1s); }
.iv-stat-card:nth-child(2), .iv-audience-card:nth-child(2), .iv-res-card:nth-child(2), .iv-proc-step[data-i="1"], .iv-proc-detail:nth-child(2) { --iv-accent: var(--iv-acc-2); --iv-accent-soft: var(--iv-acc-2s); }
.iv-stat-card:nth-child(3), .iv-audience-card:nth-child(3), .iv-res-card:nth-child(3), .iv-proc-step[data-i="2"], .iv-proc-detail:nth-child(3) { --iv-accent: var(--iv-acc-3); --iv-accent-soft: var(--iv-acc-3s); }
.iv-stat-card:nth-child(4), .iv-audience-card:nth-child(4), .iv-res-card:nth-child(4), .iv-proc-step[data-i="3"], .iv-proc-detail:nth-child(4) { --iv-accent: var(--iv-acc-4); --iv-accent-soft: var(--iv-acc-4s); }
.iv-res-card:nth-child(5) { --iv-accent: var(--iv-acc-5); --iv-accent-soft: var(--iv-acc-5s); }
.iv-res-card:nth-child(6) { --iv-accent: var(--iv-acc-6); --iv-accent-soft: var(--iv-acc-6s); }
.iv-pillar:nth-child(1) .iv-pillar-icon { color: var(--iv-acc-1n); } .iv-pillar:nth-child(2) .iv-pillar-icon { color: var(--iv-acc-2n); }
.iv-pillar:nth-child(3) .iv-pillar-icon { color: var(--iv-acc-3n); } .iv-pillar:nth-child(4) .iv-pillar-icon { color: var(--iv-acc-4n); }
.iv-pillar:nth-child(5) .iv-pillar-icon { color: var(--iv-acc-5n); }

/* ---- FOUNDATION → compact, styled exactly like the Services tabs ---- */
body.ivmedical-site .et-l--post .et_pb_column.iv-stat-card, .iv-stat-card {
	padding: 22px 16px 20px !important; border-radius: var(--iv-radius-md); border: 1px solid var(--iv-border) !important;
	border-top: 3px solid var(--iv-accent, var(--iv-orange)) !important; box-shadow: var(--iv-shadow-sm); text-align: center;
	display: flex; flex-direction: column; align-items: center; gap: 0;
}
.iv-stat-card::before {            /* number tile: rounded square, accent tint, accent number (mirrors .iv-proc-ico) */
	width: 56px; height: 56px; border-radius: 16px; background: var(--iv-accent-soft, var(--iv-orange-soft)); color: var(--iv-accent, var(--iv-orange));
	font: 800 18px/1 Inter, sans-serif; margin: 6px 0 12px; box-shadow: none;
}
.iv-stat-card::after { top: 19px; width: 82px; height: 82px; margin-left: -41px; border-color: var(--iv-accent, var(--iv-orange)); opacity: .55; }
.iv-stat-card:hover::before { background: var(--iv-accent, var(--iv-orange)); color: #fff; transform: scale(1.06); }
.iv-stat-card:hover::after  { border-style: solid; opacity: 1; }
.iv-stat-card:hover, .iv-stat-card:focus-within { transform: translateY(-6px); border-color: var(--iv-accent, var(--iv-orange)) !important; box-shadow: 0 22px 40px -22px rgba(10,27,66,.45) !important; }
body.ivmedical-site .iv-stat-card .et_pb_heading_container h3, body.ivmedical-site .iv-stat-card h3.et_pb_module_header {
	font-family: "Inter", sans-serif !important; font-size: 15px !important; font-weight: 700 !important; line-height: 1.25 !important; color: var(--iv-blue) !important; letter-spacing: 0; margin: 0 0 6px !important; padding: 0 !important;
}
body.ivmedical-site .iv-stat-card .et_pb_heading { margin-bottom: 0 !important; }
body.ivmedical-site .iv-stat-card .et_pb_text_inner p { font-size: 13.5px !important; line-height: 1.45 !important; color: var(--iv-muted) !important; margin: 0 !important; }
body.ivmedical-site .iv-stat-card .et_pb_text { margin-bottom: 0 !important; }
.et_pb_section:has(.iv-stat-card) .et_pb_row { gap: 18px !important; }

/* ---- SERVICES tabs + panel follow their accent ---- */
.iv-proc-num { color: var(--iv-accent, var(--iv-orange)); }
.iv-proc-ico { background: var(--iv-accent-soft, var(--iv-orange-soft)); color: var(--iv-accent, var(--iv-orange)); }
.iv-proc-ico::before { border-color: var(--iv-accent, var(--iv-orange)); opacity: .55; }
.iv-proc-step.is-active { border-color: var(--iv-accent, var(--iv-orange)); border-top-color: var(--iv-accent, var(--iv-orange)); }
.iv-proc-step.is-active .iv-proc-ico { background: var(--iv-accent, var(--iv-orange)); color: #fff; }
.iv-proc-step.is-active .iv-proc-ico::before { border-color: var(--iv-accent, var(--iv-orange)); opacity: 1; }
.iv-proc-detail-num { color: var(--iv-accent, var(--iv-orange)) !important; }
.iv-proc-detail .iv-proc-feat-ico { background: var(--iv-accent-soft, var(--iv-orange-soft)); color: var(--iv-accent, var(--iv-orange)); }
.iv-proc-panel:has(.iv-proc-detail:nth-child(1).is-active) { border-left-color: var(--iv-acc-1); }
.iv-proc-panel:has(.iv-proc-detail:nth-child(2).is-active) { border-left-color: var(--iv-acc-2); }
.iv-proc-panel:has(.iv-proc-detail:nth-child(3).is-active) { border-left-color: var(--iv-acc-3); }
.iv-proc-panel:has(.iv-proc-detail:nth-child(4).is-active) { border-left-color: var(--iv-acc-4); }

/* ---- WHO WE SERVE cards + RESULTS cards ---- */
body.ivmedical-site .et_pb_text_inner .iv-audience-card { border-top: 3px solid var(--iv-accent, var(--iv-orange)); }
.iv-audience-icon { color: var(--iv-accent, var(--iv-orange)); }
body.ivmedical-site .et_pb_text_inner .iv-audience-card:hover { border-color: var(--iv-accent, var(--iv-orange)); }
.iv-res-card .iv-res-icon { color: var(--iv-accent, var(--iv-orange)); background: var(--iv-accent-soft, var(--iv-orange-soft)); }
.iv-res-card { border-top: 3px solid var(--iv-accent, var(--iv-orange)); }
.iv-res-card .iv-res-affix, .iv-res-card .iv-res-value-text, body.ivmedical-site .et_pb_text_inner .iv-res-card .iv-res-affix, body.ivmedical-site .et_pb_text_inner .iv-res-card .iv-res-value-text { color: var(--iv-accent, var(--iv-orange)) !important; }
/* rings must clear the copy (owner 2026-09-10): the dashed ring extends ~13px past its tile on every side */
.iv-stat-card::before { margin: 14px 0 36px !important; }
.iv-stat-card::after { top: 23px; }
.iv-proc-ico { margin: 12px 0 14px; }

/* ==========================================================================
   REVENUE CYCLE explorer (/services/) — per-stage accent palette (owner 2026-09-11), the same
   family as the Home card accents. 7 stages: orange, teal, violet, sky, gold, rose, + mint.
   Nodes on the ring, their number badges + labels, the active glow, the panel's step label /
   tag / metric, and the panel's left edge all follow the stage colour.
   ========================================================================== */
:root { --iv-acc-7: #2BB673; --iv-acc-7s: rgba(43,182,115,0.16); --iv-acc-7n: #5FE0A0; }
.iv-cycle-node[style*="--i:0"], .iv-cycle-panel:nth-child(1) { --iv-accent: var(--iv-acc-1); --iv-accent-n: var(--iv-acc-1n); --iv-accent-soft: rgba(244,114,46,0.22); }
.iv-cycle-node[style*="--i:1"], .iv-cycle-panel:nth-child(2) { --iv-accent: var(--iv-acc-2); --iv-accent-n: var(--iv-acc-2n); --iv-accent-soft: rgba(14,159,140,0.22); }
.iv-cycle-node[style*="--i:2"], .iv-cycle-panel:nth-child(3) { --iv-accent: var(--iv-acc-3); --iv-accent-n: var(--iv-acc-3n); --iv-accent-soft: rgba(108,92,231,0.22); }
.iv-cycle-node[style*="--i:3"], .iv-cycle-panel:nth-child(4) { --iv-accent: var(--iv-acc-4); --iv-accent-n: var(--iv-acc-4n); --iv-accent-soft: rgba(30,136,229,0.22); }
.iv-cycle-node[style*="--i:4"], .iv-cycle-panel:nth-child(5) { --iv-accent: var(--iv-acc-5); --iv-accent-n: var(--iv-acc-5n); --iv-accent-soft: rgba(224,161,0,0.22); }
.iv-cycle-node[style*="--i:5"], .iv-cycle-panel:nth-child(6) { --iv-accent: var(--iv-acc-6); --iv-accent-n: var(--iv-acc-6n); --iv-accent-soft: rgba(224,69,123,0.22); }
.iv-cycle-node[style*="--i:6"], .iv-cycle-panel:nth-child(7) { --iv-accent: var(--iv-acc-7); --iv-accent-n: var(--iv-acc-7n); --iv-accent-soft: rgba(43,182,115,0.22); }
/* nodes: coloured ring + icon at rest, filled when active */
.iv-cycle-node { border-color: var(--iv-accent, rgba(255,255,255,0.35)); color: var(--iv-accent-n, #fff); }
.iv-cycle-node .iv-cycle-node-num { background: var(--iv-accent, var(--iv-orange)); color: #fff; }
.iv-cycle-node:hover, .iv-cycle-node:focus-visible { border-color: var(--iv-accent-n, var(--iv-orange)); box-shadow: 0 0 0 6px var(--iv-accent-soft, rgba(244,114,46,0.18)); }
.iv-cycle-node.is-active { background: var(--iv-accent, var(--iv-orange)); border-color: var(--iv-accent, var(--iv-orange)); color: #fff; box-shadow: 0 0 0 8px var(--iv-accent-soft, rgba(244,114,46,0.2)); }
.iv-cycle-node.is-active .iv-cycle-node-num { background: #fff; color: var(--iv-accent, var(--iv-blue)); }
.iv-cycle-node.is-active .iv-cycle-node-label { color: var(--iv-accent-n, #fff); }
/* panel: left edge + step label + tag + metric numbers in the stage colour */
.iv-cycle-panel { border-left: 4px solid var(--iv-accent, var(--iv-orange)); }
.iv-cycle-panel-step { color: var(--iv-accent-n, var(--iv-orange)); }
body.ivmedical-site .et_pb_text_inner .iv-cycle-panel .iv-cycle-panel-tag { color: var(--iv-accent-n, var(--iv-orange)) !important; }
body.ivmedical-site .et_pb_text_inner .iv-cycle-panel .iv-cycle-panel-metric strong { color: var(--iv-accent-n, #fff); }
.iv-cycle-panel .iv-cycle-prev:hover, .iv-cycle-panel .iv-cycle-next:hover, .iv-cycle-panel .iv-cycle-prev:focus-visible, .iv-cycle-panel .iv-cycle-next:focus-visible { background: var(--iv-accent, var(--iv-orange)); border-color: var(--iv-accent, var(--iv-orange)); color: #fff; }
/* the orbiting track dot follows the active stage too (the track is a sibling, so key on the ring) */
.iv-cycle-ring:has(.iv-cycle-node[style*="--i:0"].is-active) .iv-cycle-track::before { background: conic-gradient(from 0deg, transparent 0 78%, var(--iv-acc-1) 92%, transparent 100%); }
.iv-cycle-ring:has(.iv-cycle-node[style*="--i:1"].is-active) .iv-cycle-track::before { background: conic-gradient(from 0deg, transparent 0 78%, var(--iv-acc-2n) 92%, transparent 100%); }
.iv-cycle-ring:has(.iv-cycle-node[style*="--i:2"].is-active) .iv-cycle-track::before { background: conic-gradient(from 0deg, transparent 0 78%, var(--iv-acc-3n) 92%, transparent 100%); }
.iv-cycle-ring:has(.iv-cycle-node[style*="--i:3"].is-active) .iv-cycle-track::before { background: conic-gradient(from 0deg, transparent 0 78%, var(--iv-acc-4n) 92%, transparent 100%); }
.iv-cycle-ring:has(.iv-cycle-node[style*="--i:4"].is-active) .iv-cycle-track::before { background: conic-gradient(from 0deg, transparent 0 78%, var(--iv-acc-5n) 92%, transparent 100%); }
.iv-cycle-ring:has(.iv-cycle-node[style*="--i:5"].is-active) .iv-cycle-track::before { background: conic-gradient(from 0deg, transparent 0 78%, var(--iv-acc-6n) 92%, transparent 100%); }
.iv-cycle-ring:has(.iv-cycle-node[style*="--i:6"].is-active) .iv-cycle-track::before { background: conic-gradient(from 0deg, transparent 0 78%, var(--iv-acc-7n) 92%, transparent 100%); }

/* ==========================================================================
   TESTIMONIALS carousel [iv_testimonials] ("What Our Clients Say", Home, 2026-09-12)
   Auto-advancing, one long quote per slide, big orange quote mark, arrows + dots,
   pause on hover/focus, reduced-motion friendly. Our own layout (ref: what-our-clients-say.png).
   ========================================================================== */
.iv-tst { max-width: 1180px; margin: 0 auto; }
.iv-tst-head { text-align: center; max-width: 760px; margin: 0 auto 12px; }
body.ivmedical-site .et_pb_text_inner .iv-tst-eyebrow { justify-content: center; color: var(--iv-orange) !important; margin-bottom: 14px !important; }
body.ivmedical-site .et_pb_text_inner .iv-tst-eyebrow::before { display: none; }
body.ivmedical-site .et_pb_text_inner .iv-tst-title { color: var(--iv-blue) !important; font-size: clamp(2rem, 3.6vw, 3.1rem) !important; line-height: 1.06 !important; margin: 0 0 14px !important; padding: 0 0 16px !important; position: relative; }
body.ivmedical-site .et_pb_text_inner .iv-tst-title em { font-style: normal; color: var(--iv-orange); }
body.ivmedical-site .et_pb_text_inner .iv-tst-title::after { content: ""; position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); width: 64px; height: 3px; background: var(--iv-orange); border-radius: 999px; }
body.ivmedical-site .et_pb_text_inner .iv-tst-intro { color: var(--iv-body-grey-2, #4B5563) !important; font-size: 17px !important; line-height: 1.6 !important; margin: 0 !important; padding: 0 !important; }
.iv-tst-stage { display: grid; grid-template-columns: 56px minmax(0,1fr) 56px; align-items: center; gap: 8px; margin-top: 20px; }
.iv-tst-viewport { overflow: hidden; }
.iv-tst-track { list-style: none !important; margin: 0 !important; padding: 0 !important; display: flex; transition: transform .55s cubic-bezier(.22,.75,.3,1); }
.iv-tst-slide { flex: 0 0 100%; min-width: 100%; display: flex; align-items: center; justify-content: center; padding: 8px 6px 4px; }
.iv-tst-card { margin: 0; max-width: 820px; text-align: center; position: relative; padding: 8px 12px 0; border: 0 !important; background: none !important; quotes: none; }
.iv-tst-card::before, .iv-tst-card::after { content: none !important; }  /* neutralise the theme's blockquote left rule + auto quotes */
.iv-tst-mark { display: block; font-family: Georgia, "Times New Roman", serif; font-size: 68px; line-height: .6; color: var(--iv-orange); height: 42px; }
body.ivmedical-site .et_pb_text_inner .iv-tst-quote { color: var(--iv-blue) !important; font-size: clamp(1.05rem, 1.5vw, 1.3rem) !important; line-height: 1.6 !important; font-style: italic; margin: 0 auto !important; padding: 0 !important; max-width: 760px; }
.iv-tst-by { display: flex; flex-direction: column; align-items: center; margin-top: 24px; }
.iv-tst-rule { width: 48px; height: 2px; background: var(--iv-orange); margin-bottom: 16px; }
.iv-tst-name { color: var(--iv-blue); font-weight: 800; font-size: 16px; letter-spacing: 0.01em; }
.iv-tst-role { color: var(--iv-text); font-size: 14px; font-weight: 600; margin-top: 3px; }
.iv-tst-org { color: var(--iv-muted); font-size: 13.5px; margin-top: 2px; }
.iv-tst-arrow { width: 46px; height: 46px; border-radius: 50%; border: 1px solid var(--iv-border); background: #fff; color: var(--iv-blue); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: var(--iv-shadow-sm); transition: background .18s ease, color .18s ease, border-color .18s ease, transform .18s ease; }
.iv-tst-arrow svg { width: 20px; height: 20px; }
.iv-tst-arrow:hover, .iv-tst-arrow:focus-visible { background: var(--iv-orange); border-color: var(--iv-orange); color: #fff; outline: none; transform: scale(1.06); }
.iv-tst-dots { display: flex; gap: 10px; justify-content: center; margin-top: 22px; }
.iv-tst-dot { width: 10px; height: 10px; border-radius: 50%; border: 0; padding: 0; background: rgba(10,27,66,0.22); cursor: pointer; transition: background .2s ease, transform .2s ease; }
.iv-tst-dot:hover { background: rgba(10,27,66,0.4); }
.iv-tst-dot.is-active { background: var(--iv-orange); transform: scale(1.25); }
.iv-tst-dot:focus-visible { outline: 2px solid var(--iv-orange); outline-offset: 3px; }
@media (max-width: 680px) {
	.iv-tst-stage { grid-template-columns: 1fr; }
	.iv-tst-arrow { display: none; }        /* touch: swipe + dots */
	.iv-tst-mark { font-size: 54px; }
}
@media (prefers-reduced-motion: reduce) { .iv-tst-track { transition: none; } }

/* ==========================================================================
   TESTIMONIALS PAGE (/testimonials/) — hero + full-quote grid (2026-09-13)
   Same accent palette + quote-card language as the Home carousel; cards read as a set.
   ========================================================================== */
/* 2026-11-11 (Emma, via Lisa): page headers were inconsistent — Home/Specialties/
   Leadership left-aligned but Services/About Us/Testimonials/Contact (all .iv-th-hero)
   centered. Emma prefers left throughout, so the shared text-hero is now left-aligned
   to match the rest; margin:0 seats the copy block at the row's left gutter like the
   other pages. */
.iv-th-hero { max-width: 820px; margin: 0; text-align: left; }
body.ivmedical-site .iv-bg-blue .et_pb_text_inner .iv-th-hero .iv-eyebrow-inline { justify-content: flex-start; color: var(--iv-orange) !important; }
/* 2026-11-05: restore the canonical leading dash on the Who We Serve + Testimonials
   page heroes (the 2026-11-04 "every eyebrow gets the dash" pass missed .iv-th-hero). */
body.ivmedical-site .iv-bg-blue .et_pb_text_inner .iv-th-hero .iv-eyebrow-inline::before {
	content: "" !important; display: inline-block !important; width: 34px !important; height: 3px !important;
	background: var(--iv-orange) !important; border-radius: 999px !important;
}
body.ivmedical-site .et_pb_text_inner .iv-th-hero h1 { color: #fff !important; font-size: clamp(2.2rem, 4vw, 3.4rem) !important; line-height: 1.06 !important; margin: 0 0 16px !important; padding: 0 !important; }
body.ivmedical-site .et_pb_text_inner .iv-th-hero h1 em { font-style: normal; color: var(--iv-orange); }
body.ivmedical-site .iv-bg-blue .et_pb_text_inner .iv-th-hero p.iv-th-sub { color: rgba(255,255,255,0.82) !important; font-size: 18px !important; line-height: 1.6 !important; margin: 0 !important; padding: 0 !important; max-width: 660px; }
/* 2026-11-05: uniform compact cards — short consolidated copy + Read-more modal.
   3-up grid, equal-height cards (align-items:stretch), preview clamped to 4 lines. */
.iv-tgrid { list-style: none !important; margin: 0 auto !important; padding: 0 !important; max-width: 1200px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; align-items: stretch; }
.iv-tgrid-item { margin: 0 !important; }
.iv-tgrid-card { margin: 0; width: 100%; height: 100%; background: #fff; border: 1px solid var(--iv-border); border-top: 4px solid var(--iv-accent, var(--iv-orange)); border-radius: var(--iv-radius-md); box-shadow: var(--iv-shadow-sm); padding: 24px 24px 22px; display: flex; flex-direction: column; }
.iv-tgrid-item:nth-child(6n+1) .iv-tgrid-card { --iv-accent: var(--iv-acc-1); } .iv-tgrid-item:nth-child(6n+2) .iv-tgrid-card { --iv-accent: var(--iv-acc-2); }
.iv-tgrid-item:nth-child(6n+3) .iv-tgrid-card { --iv-accent: var(--iv-acc-3); } .iv-tgrid-item:nth-child(6n+4) .iv-tgrid-card { --iv-accent: var(--iv-acc-4); }
.iv-tgrid-item:nth-child(6n+5) .iv-tgrid-card { --iv-accent: var(--iv-acc-5); } .iv-tgrid-item:nth-child(6n) .iv-tgrid-card { --iv-accent: var(--iv-acc-6); }
.iv-tgrid-card::before, .iv-tgrid-card::after { content: none !important; }
.iv-tgrid-mark { display: block; font-family: Georgia, "Times New Roman", serif; font-size: 48px; line-height: .5; color: var(--iv-accent, var(--iv-orange)); height: 26px; }
body.ivmedical-site .et_pb_text_inner .iv-tgrid-quote { color: var(--iv-blue) !important; font-size: 14.5px !important; line-height: 1.6 !important; font-style: italic; margin: 0 0 14px !important; padding: 0 !important; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; min-height: 6.4em; }
.iv-tgrid-more { align-self: flex-start; margin: 0 0 18px; padding: 0; border: 0; background: none; cursor: pointer; font-family: inherit; color: var(--iv-accent, var(--iv-orange)); font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; display: inline-flex; align-items: center; gap: 6px; }
.iv-tgrid-more:hover { opacity: .8; }
.iv-tgrid-more:focus-visible { outline: 2px solid var(--iv-accent, var(--iv-orange)); outline-offset: 3px; border-radius: 3px; }
.iv-tgrid-by { display: flex; flex-direction: column; margin-top: auto; padding-top: 16px; border-top: 1px solid var(--iv-border); }
.iv-tgrid-name { color: var(--iv-blue); font-weight: 800; font-size: 14.5px; }
.iv-tgrid-role { color: var(--iv-text); font-size: 13px; font-weight: 600; margin-top: 3px; }
.iv-tgrid-org { color: var(--iv-muted); font-size: 12.5px; margin-top: 2px; }
/* Read-more modal (reuses .iv-team-modal shell; carries the card's accent) */
.iv-tst-modal .iv-team-modal-panel { border-top: 5px solid var(--iv-accent, var(--iv-orange)); }
.iv-tst-modal-mark { display: block; font-family: Georgia, "Times New Roman", serif; font-size: 58px; line-height: .5; height: 34px; color: var(--iv-accent, var(--iv-orange)); }
body.ivmedical-site .iv-team-modal-content .iv-tst-modal-quote { color: var(--iv-blue) !important; font-size: 16px !important; line-height: 1.72 !important; font-style: italic; margin: 0 0 20px !important; }
.iv-tst-modal-by { display: flex; flex-direction: column; padding-top: 16px; border-top: 1px solid var(--iv-border); }
.iv-tst-modal-name { color: var(--iv-blue); font-weight: 800; font-size: 16px; }
.iv-tst-modal-role { color: var(--iv-text); font-size: 14px; font-weight: 600; margin-top: 3px; }
.iv-tst-modal-org { color: var(--iv-muted); font-size: 13.5px; margin-top: 2px; }
html[data-iv-theme="dark"] body.ivmedical-site .iv-team-modal-content .iv-tst-modal-quote,
html[data-iv-theme="dark"] .iv-tst-modal-name { color: var(--iv-text) !important; }
@media (max-width: 1100px) { .iv-tgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) { .iv-tgrid { grid-template-columns: 1fr; gap: 20px; max-width: 460px; } }

/* ==========================================================================
   HEADER FIT FIX (2026-09-13): the 250px logo overflowed its 15% column and collided
   with the nav from ~1281–1650px (regression from v1.0.91's 15/62/23 split). Rebalance to
   16/61/23 and cap the logo to its own column so it never overlaps the menu.
   ========================================================================== */
@media (min-width: 1281px) {
	.et-l--header .et_pb_column_0_tb_header { flex: 0 0 16% !important; width: 16% !important; }
	.et-l--header .et_pb_column_1_tb_header { flex: 0 0 61% !important; width: 61% !important; }
	.et-l--header .et_pb_column_2_tb_header { flex: 0 0 23% !important; width: 23% !important; }
	.et-l--header .et_pb_column_0_tb_header img { max-width: min(250px, 100%) !important; width: auto; height: auto; }
}
@media (min-width: 1281px) and (max-width: 1380px) {
	.et-l--header .et_pb_column_0_tb_header img { max-width: min(196px, 100%) !important; }
	.iv-header .et_pb_menu__menu > nav > ul { padding-left: 6px; }
}

/* Testimonials hero: the female-surgeon case-review photo (attachment 378, same as /specialties/),
   centered white copy over a navy wash (2026-09-13). Lisa 2026-11-04: the overlay buried the
   surgeons and the row had too much dead space — lighten the wash so the photo reads (text stays
   legible via a shadow) and shorten the hero. (New photo pending from Lisa; swap the url then.) */
.iv-hero.iv-bg-blue.iv-th-hero-section { min-height: 320px !important; }
.iv-hero.iv-bg-blue.iv-th-hero-section::before {
	/* keep the base top:-45%/height:145% headroom so the parallax shift never exposes an edge */
	background:
		linear-gradient(rgba(5,20,46,0.68), rgba(5,20,46,0.52)),
		url("/wp-content/uploads/2026/09/iv-surgeon-case-review.jpg") center / cover no-repeat;
}
body.ivmedical-site .et_pb_text_inner .iv-th-hero h1,
body.ivmedical-site .iv-bg-blue .et_pb_text_inner .iv-th-hero p.iv-th-sub {
	text-shadow: 0 2px 22px rgba(0,0,0,0.6), 0 1px 3px rgba(0,0,0,0.5);
}

/* 8-item nav (Testimonials added 2026-09-13): keep the whole menu inside its column at 1281-1536
   so it never overflows onto the logo. Tighter type/spacing + a wider middle column in that band. */
@media (min-width: 1281px) {
	.et-l--header .et_pb_column_0_tb_header { flex: 0 0 14% !important; width: 14% !important; }
	.et-l--header .et_pb_column_1_tb_header { flex: 0 0 65% !important; width: 65% !important; }
	.et-l--header .et_pb_column_2_tb_header { flex: 0 0 21% !important; width: 21% !important; }
	.et-l--header .et_pb_column_0_tb_header img { max-width: min(210px, 100%) !important; }
	.iv-header .et_pb_menu__menu > nav > ul > li > a { font-size: 12px !important; letter-spacing: 0.03em !important; }
	.iv-header .et_pb_menu__menu > nav > ul > li { margin-right: 9px !important; }
}
@media (min-width: 1281px) and (max-width: 1599px) { .et-l--header .iv-header-tagline { display: none !important; } }  /* tagline returns >=1600, where the right column has room beside the 8-item nav */
@media (min-width: 1281px) and (max-width: 1360px) {
	.et-l--header .et_pb_column_0_tb_header { flex: 0 0 13% !important; width: 13% !important; }
	.et-l--header .et_pb_column_1_tb_header { flex: 0 0 66% !important; width: 66% !important; }
	.et-l--header .et_pb_column_0_tb_header img { max-width: min(178px, 100%) !important; }
	.iv-header .et_pb_menu__menu > nav > ul { padding-left: 30px; }   /* clear the logo in this narrow band */
}

/* ==========================================================================
   DARK MODE — 2026-09-13. Header toggle (ivmedical-custom.js) flips
   html[data-iv-theme]; the attribute is set FOUC-free in <head> (functions.php).
   Every rule here is scoped under html[data-iv-theme="dark"], which adds one
   attribute's worth of specificity over the light rule it mirrors, so it wins by
   specificity AND source order. Orange stays the brand accent (reads on dark);
   the navy .iv-bg-blue sections were already dark and are largely left alone.
   ========================================================================== */
html[data-iv-theme="dark"] {
	--iv-text: #E7ECF4;
	--iv-muted: #A7B2C4;
	--iv-border: rgba(255,255,255,0.14);
	--iv-orange-deep: #F4722E;            /* bright orange is legible on dark; retire the deep-on-light shade */
	--iv-soft-blue: #0C1A30;              /* formerly-light section grounds -> dark */
	--iv-warm-gray: #0E1626;
	--iv-blue-soft: rgba(255,255,255,0.06);
	--iv-orange-soft: rgba(244,114,46,0.18);
	--iv-shadow-sm: 0 10px 24px rgba(0,0,0,0.45);
	--iv-shadow-md: 0 18px 48px rgba(0,0,0,0.55);
	--iv-shadow-lg: 0 28px 80px rgba(0,0,0,0.62);
	--iv-dark-page: #0A1424;             /* page ground */
	--iv-dark-surface: #12203A;          /* cards / raised surfaces */
	--iv-dark-raise: #17294A;
	color-scheme: dark;
}

/* ---- page + Divi structural wrappers ---- */
html[data-iv-theme="dark"] body.ivmedical-site,
html[data-iv-theme="dark"] #page-container,
html[data-iv-theme="dark"] #et-main-area,
html[data-iv-theme="dark"] #main-content,
html[data-iv-theme="dark"] .et-l--body,
html[data-iv-theme="dark"] .et_pb_post_content,
html[data-iv-theme="dark"] .et-l--post { background: var(--iv-dark-page) !important; color: var(--iv-text); }

/* ---- section background classes (formerly light) ---- */
html[data-iv-theme="dark"] .iv-bg-white { background: var(--iv-dark-page) !important; }
html[data-iv-theme="dark"] .iv-bg-soft-blue { background: #0C1A30 !important; }
html[data-iv-theme="dark"] .iv-bg-warm-gray { background: #0E1626 !important; }
/* Who We Serve section (hardcoded #f5f7fa via :has) */
html[data-iv-theme="dark"] .et_pb_section:has(> .et_pb_row .iv-spec) { background: #0C1A30 !important; }

/* ---- headings + text on dark ---- */
html[data-iv-theme="dark"] body.ivmedical-site h1,
html[data-iv-theme="dark"] body.ivmedical-site h2,
html[data-iv-theme="dark"] body.ivmedical-site h3,
html[data-iv-theme="dark"] body.ivmedical-site h4,
html[data-iv-theme="dark"] body.ivmedical-site h5,
html[data-iv-theme="dark"] body.ivmedical-site h6,
html[data-iv-theme="dark"] body.ivmedical-site .et_pb_heading_container h1,
html[data-iv-theme="dark"] body.ivmedical-site .et_pb_heading_container h2,
html[data-iv-theme="dark"] body.ivmedical-site .et_pb_heading_container h3,
html[data-iv-theme="dark"] body.ivmedical-site .et_pb_heading_container h4,
html[data-iv-theme="dark"] body.ivmedical-site .iv-bg-white .et_pb_heading_container h1,
html[data-iv-theme="dark"] body.ivmedical-site .iv-bg-white .et_pb_heading_container h2,
html[data-iv-theme="dark"] body.ivmedical-site .iv-bg-white .et_pb_heading_container h3,
html[data-iv-theme="dark"] body.ivmedical-site .iv-bg-white .et_pb_heading_container h4,
html[data-iv-theme="dark"] body.ivmedical-site .iv-bg-soft-blue .et_pb_heading_container h2,
html[data-iv-theme="dark"] body.ivmedical-site .iv-bg-warm-gray .et_pb_heading_container h2 { color: var(--iv-text) !important; }

/* default paragraph colour (light muted). Forced navy p on light sections included. */
html[data-iv-theme="dark"] body.ivmedical-site p,
html[data-iv-theme="dark"] body.ivmedical-site .iv-bg-white .et_pb_text_inner p,
html[data-iv-theme="dark"] body.ivmedical-site .iv-bg-soft-blue .et_pb_text_inner p,
html[data-iv-theme="dark"] body.ivmedical-site .iv-bg-warm-gray .et_pb_text_inner p { color: var(--iv-muted) !important; }

/* links */
html[data-iv-theme="dark"] body.ivmedical-site a { color: var(--iv-text); }
html[data-iv-theme="dark"] body.ivmedical-site a:hover,
html[data-iv-theme="dark"] body.ivmedical-site a:focus { color: var(--iv-orange); }

/* ---- cards / raised surfaces ---- */
html[data-iv-theme="dark"] .iv-card,
html[data-iv-theme="dark"] .iv-service-card,
html[data-iv-theme="dark"] .iv-stat-card,
html[data-iv-theme="dark"] .iv-team-card,
html[data-iv-theme="dark"] .iv-testimonial-card,
html[data-iv-theme="dark"] .iv-tgrid-card,
html[data-iv-theme="dark"] .iv-spec-card,
html[data-iv-theme="dark"] .iv-tst-card,
html[data-iv-theme="dark"] .iv-proc-detail,
html[data-iv-theme="dark"] .iv-cycle-panel { background: var(--iv-dark-surface) !important; border-color: var(--iv-border) !important; }
/* 2026-11-05: the shorthand border-color above washes the accent top border to grey.
   Re-assert each accented card's accent border in dark mode so it keeps its colour. */
html[data-iv-theme="dark"] .iv-stat-card,
html[data-iv-theme="dark"] .iv-res-card,
html[data-iv-theme="dark"] .iv-tgrid-card,
html[data-iv-theme="dark"] body.ivmedical-site .et_pb_text_inner .iv-audience-card { border-top-color: var(--iv-accent, var(--iv-orange)) !important; }

/* small hardcoded-#fff bits */
html[data-iv-theme="dark"] .iv-cycle-node.is-active .iv-cycle-node-num { background: var(--iv-dark-raise); }
html[data-iv-theme="dark"] .iv-tst-arrow { background: var(--iv-dark-surface); color: var(--iv-text); border-color: var(--iv-border); }
html[data-iv-theme="dark"] .iv-team-modal { background: var(--iv-dark-surface) !important; color: var(--iv-text); }
html[data-iv-theme="dark"] .iv-tgrid-chip,
html[data-iv-theme="dark"] .iv-chip { background: var(--iv-dark-raise) !important; border-color: var(--iv-border) !important; color: var(--iv-text) !important; }

/* ---- header ---- */
html[data-iv-theme="dark"] .iv-header { background: rgba(10,20,36,0.90) !important; border-bottom-color: rgba(255,255,255,0.10) !important; }
html[data-iv-theme="dark"] .iv-header .et_pb_menu__menu > nav > ul > li > a { color: var(--iv-text) !important; }
html[data-iv-theme="dark"] .iv-header .et_pb_menu__menu > nav > ul > li > a:hover,
html[data-iv-theme="dark"] .iv-header .et_pb_menu__menu > nav > ul > li.current-menu-item > a { color: var(--iv-orange) !important; }
/* IVAI mark: white knockout on the dark header + dark mobile dropdown */
html[data-iv-theme="dark"] .iv-header .et_pb_menu__menu > nav > ul > li.iv-nav-ivai > a,
html[data-iv-theme="dark"] .et-l--header .et_mobile_menu li.iv-nav-ivai > a { background-image: url('../images/ivai-nav-logo-white.png'); }
html[data-iv-theme="dark"] .iv-header-tagline,
html[data-iv-theme="dark"] .iv-header-tagline * { color: var(--iv-muted) !important; }
/* beat the light tagline rule's (0,4,2) specificity (color:var(--iv-blue) at line ~1787) */
html[data-iv-theme="dark"] body.ivmedical-site .et-l--header .iv-header-tagline .et_pb_text_inner p,
html[data-iv-theme="dark"] body.ivmedical-site .et-l--header .iv-header-tagline p { color: var(--iv-muted) !important; }
/* mobile dropdown panel */
html[data-iv-theme="dark"] .et-l--header .et_mobile_menu,
html[data-iv-theme="dark"] .et-l--header .et_pb_menu__menu-wrap { background: rgba(10,20,36,0.98) !important; }

/* ---- forms ---- */
html[data-iv-theme="dark"] .iv-contact-form input,
html[data-iv-theme="dark"] .iv-contact-form textarea,
html[data-iv-theme="dark"] .iv-contact-form select,
html[data-iv-theme="dark"] .et_pb_contact_field input,
html[data-iv-theme="dark"] .et_pb_contact_field textarea,
html[data-iv-theme="dark"] .et_pb_contact_field .input { background: var(--iv-dark-surface) !important; color: var(--iv-text) !important; border-color: var(--iv-border) !important; }
html[data-iv-theme="dark"] .iv-contact-form ::placeholder,
html[data-iv-theme="dark"] .et_pb_contact_field ::placeholder { color: rgba(231,236,244,0.5) !important; }

/* ---- buttons ---- */
/* secondary (navy outline on light) -> light outline on dark */
html[data-iv-theme="dark"] #page-container .et_pb_section .et_pb_button.iv-btn-secondary { border-color: var(--iv-text) !important; color: var(--iv-text) !important; background: transparent !important; }
html[data-iv-theme="dark"] #page-container .et_pb_section .et_pb_button.iv-btn-secondary:hover { background: var(--iv-orange) !important; border-color: var(--iv-orange) !important; color: #fff !important; }
/* navy-fill spec button -> keep readable on dark (raise the fill) */
html[data-iv-theme="dark"] .iv-spec-btn, html[data-iv-theme="dark"] .iv-boutique-btn { background: var(--iv-dark-raise) !important; border: 1px solid var(--iv-border); }
html[data-iv-theme="dark"] .iv-spec-btn:hover, html[data-iv-theme="dark"] .iv-boutique-btn:hover { background: var(--iv-orange) !important; }
/* leadership CTA navy-on-orange stays; header Contact Us (navy fill) stays navy — reads on dark. */

/* ---- footer (was light blue) -> dark ---- */
html[data-iv-theme="dark"] body.ivmedical-site .et-l--footer .et_builder_inner_content .iv-footer.iv-footer-v2.et_pb_section { background: #0B1730 !important; background-color: #0B1730 !important; }
html[data-iv-theme="dark"] .iv-ft { color: rgba(231,236,244,0.86); }
html[data-iv-theme="dark"] .iv-ft a { color: rgba(231,236,244,0.92) !important; }
html[data-iv-theme="dark"] .iv-ft a:hover, html[data-iv-theme="dark"] .iv-ft a:focus { color: var(--iv-orange) !important; }
html[data-iv-theme="dark"] body.ivmedical-site .et_pb_text_inner .iv-ft-statement,
html[data-iv-theme="dark"] body.ivmedical-site .et-l--footer .et_pb_column_0_tb_footer .et_pb_text p { color: rgba(231,236,244,0.8) !important; }
html[data-iv-theme="dark"] body.ivmedical-site .et_pb_text_inner .iv-ft-contact li,
html[data-iv-theme="dark"] body.ivmedical-site .et_pb_text_inner .iv-ft-h,
html[data-iv-theme="dark"] body.ivmedical-site .et_pb_text_inner .iv-ft-cta-text { color: var(--iv-text) !important; }
html[data-iv-theme="dark"] .iv-ft-social a, html[data-iv-theme="dark"] .iv-ft-social span { border-color: rgba(255,255,255,0.28); color: var(--iv-text) !important; }
html[data-iv-theme="dark"] .iv-ft-seals, html[data-iv-theme="dark"] .iv-ft-legal { border-top-color: rgba(255,255,255,0.16); }
html[data-iv-theme="dark"] body.ivmedical-site .et_pb_text_inner .iv-ft-legal p,
html[data-iv-theme="dark"] body.ivmedical-site .et_pb_text_inner .iv-ft-legal li,
html[data-iv-theme="dark"] body.ivmedical-site .et-l--footer .et_pb_row_1_tb_footer .et_pb_text p { color: rgba(231,236,244,0.72) !important; }
/* footer logo: swap the colour logo for the white knockout in dark */
html[data-iv-theme="dark"] .iv-ft-logo img { content: url('/wp-content/uploads/2026/09/iv-medical-services-logo-white.png'); }

/* ==========================================================================
   Dark-mode toggle control (both themes) — sits in the header's right column.
   ========================================================================== */
.iv-theme-toggle {
	-webkit-appearance: none; appearance: none;
	display: inline-flex; align-items: center; justify-content: center;
	width: 40px; height: 40px; padding: 0; margin: 0 14px 0 0;
	border: 1px solid rgba(9,24,93,0.18); border-radius: 999px;
	background: rgba(9,24,93,0.04); color: var(--iv-blue);
	cursor: pointer; flex: 0 0 auto; vertical-align: middle;
	transition: background .18s ease, color .18s ease, border-color .18s ease, transform .18s ease;
}
.iv-theme-toggle:hover { border-color: var(--iv-orange); color: var(--iv-orange); transform: translateY(-1px); }
.iv-theme-toggle .iv-ic { width: 20px; height: 20px; display: block; }
.iv-theme-toggle .iv-ic-sun { display: none; }
.iv-theme-toggle .iv-ic-moon { display: block; }
html[data-iv-theme="dark"] .iv-theme-toggle { border-color: rgba(255,255,255,0.2); background: rgba(255,255,255,0.06); color: var(--iv-text); }
html[data-iv-theme="dark"] .iv-theme-toggle:hover { border-color: var(--iv-orange); color: var(--iv-orange); }
html[data-iv-theme="dark"] .iv-theme-toggle .iv-ic-sun { display: block; }
html[data-iv-theme="dark"] .iv-theme-toggle .iv-ic-moon { display: none; }
@media (max-width: 980px) {
	.iv-theme-toggle { width: 38px; height: 38px; margin-right: 10px; }
}

/* ---- dark mode pass 2: header logo, home hero ---- */
/* header logo -> white knockout on the dark bar (navy wordmark would vanish) */
html[data-iv-theme="dark"] .et_pb_column_0_tb_header img,
html[data-iv-theme="dark"] .iv-header .et_pb_image img { content: url('/wp-content/uploads/2026/09/iv-medical-services-logo-white.png'); }

/* home hero (surgeon photo + white left fade) -> dark fade + light type */
html[data-iv-theme="dark"] .iv-hero.iv-hero-light { background: linear-gradient(90deg, #0A1424 0%, #0B1830 55%, #0D1D39 100%) !important; }
html[data-iv-theme="dark"] body.ivmedical-site .et_pb_text_inner .iv-hh-title { color: var(--iv-text) !important; }
html[data-iv-theme="dark"] body.ivmedical-site .et_pb_text_inner .iv-hh-sub { color: var(--iv-text) !important; }
html[data-iv-theme="dark"] body.ivmedical-site .et_pb_text_inner .iv-highlights li { color: var(--iv-text) !important; }
html[data-iv-theme="dark"] .iv-hh-link { color: var(--iv-text) !important; }
html[data-iv-theme="dark"] body.ivmedical-site .et_pb_text_inner .iv-hh-eyebrow { color: var(--iv-orange) !important; }
html[data-iv-theme="dark"] body.ivmedical-site .et_pb_text_inner .iv-hh-tag { color: var(--iv-text) !important; background: rgba(10,20,36,0.55) !important; }

/* ---- dark mode pass 3: boutique title, hero highlights halo ---- */
html[data-iv-theme="dark"] body.ivmedical-site .et_pb_text_inner .iv-boutique-title { color: var(--iv-text) !important; }
html[data-iv-theme="dark"] body.ivmedical-site .et_pb_text_inner .iv-hh-highlights { background: transparent !important; box-shadow: none !important; }
html[data-iv-theme="dark"] body.ivmedical-site .et_pb_text_inner .iv-highlights li { text-shadow: 0 0 14px #0A1424, 0 0 5px #0A1424 !important; }

/* ---- dark mode pass 4: the menu module carries its own white background ---- */
html[data-iv-theme="dark"] .et-l--header .et_pb_menu.et_pb_menu_0_tb_header,
html[data-iv-theme="dark"] .et-l--header .et_pb_menu_0_tb_header { background-color: transparent !important; }

/* ---- dark mode pass 5: "Who We Serve" band (iv-audience/iv-spec), used on Home,
   Services and the Specialties page ---- */
html[data-iv-theme="dark"] body.ivmedical-site .et_pb_text_inner .iv-audience-card { background: var(--iv-dark-surface) !important; border-color: var(--iv-border) !important; }
html[data-iv-theme="dark"] body.ivmedical-site .et_pb_text_inner .iv-spec-title,
html[data-iv-theme="dark"] body.ivmedical-site .et_pb_text_inner .iv-audience-title { color: var(--iv-text) !important; }
html[data-iv-theme="dark"] body.ivmedical-site .et_pb_text_inner .iv-audience-text { color: var(--iv-muted) !important; }
html[data-iv-theme="dark"] .iv-spec-icon-glyph { color: var(--iv-text); }
html[data-iv-theme="dark"] .iv-spec-icon-label { color: var(--iv-text); }

/* ---- dark mode pass 6: leadership team cards (.iv-tm, .iv-team token scope) ---- */
html[data-iv-theme="dark"] .iv-team { --iv-tm-blue: var(--iv-text); --iv-tm-orange-text: var(--iv-orange); --iv-tm-muted: #A7B2C4; }
html[data-iv-theme="dark"] .iv-tm { background: var(--iv-dark-surface); border-color: var(--iv-border); box-shadow: 0 10px 26px rgba(0,0,0,0.45); }
html[data-iv-theme="dark"] .iv-tm-photo { background: radial-gradient(circle at 50% 38%, rgba(244,114,46,0.12), transparent 60%), linear-gradient(160deg, #16253f, #0e1a30); }
html[data-iv-theme="dark"] .iv-tm-initials { box-shadow: 0 0 0 4px var(--iv-dark-surface), 0 0 0 7px rgba(244,114,46,0.85), 0 10px 22px rgba(0,0,0,0.5); }
html[data-iv-theme="dark"] .iv-tm-blurb,
html[data-iv-theme="dark"] .iv-team .iv-tm-blurb { color: var(--iv-muted) !important; }
html[data-iv-theme="dark"] .iv-team-modal, html[data-iv-theme="dark"] .iv-team-modal-content { background: var(--iv-dark-surface) !important; color: var(--iv-text); }
html[data-iv-theme="dark"] .iv-team .iv-tm-bio-name { color: var(--iv-text) !important; }
html[data-iv-theme="dark"] .iv-team-modal-content .iv-tm-beyond { color: var(--iv-muted); border-top-color: var(--iv-border); }
html[data-iv-theme="dark"] .iv-team-modal-content .iv-tm-beyond span { color: var(--iv-text) !important; }

/* ---- dark mode pass 7: navy section titles / names / quotes / labels that sit on
   now-dark surfaces -> light. (Leadership hero .iv-lead-title and the IV AI band's
   .iv-ivai-born/.iv-ivai-line are deliberately EXCLUDED — they stay on light grounds.) */
html[data-iv-theme="dark"] body.ivmedical-site .et_pb_text_inner .iv-sp-title,
html[data-iv-theme="dark"] body.ivmedical-site .et_pb_text_inner .iv-sp-h2,
html[data-iv-theme="dark"] body.ivmedical-site .et_pb_text_inner .iv-tst-title,
html[data-iv-theme="dark"] body.ivmedical-site .et_pb_text_inner .iv-tst-name,
html[data-iv-theme="dark"] body.ivmedical-site .et_pb_text_inner .iv-tst-quote,
html[data-iv-theme="dark"] body.ivmedical-site .et_pb_text_inner .iv-tgrid-name,
html[data-iv-theme="dark"] body.ivmedical-site .et_pb_text_inner .iv-tgrid-quote,
html[data-iv-theme="dark"] body.ivmedical-site .et_pb_text_inner .iv-proc-label,
html[data-iv-theme="dark"] body.ivmedical-site .et_pb_text_inner .iv-stat-label,
html[data-iv-theme="dark"] body.ivmedical-site .iv-proc-label,
html[data-iv-theme="dark"] body.ivmedical-site .iv-stat-label { color: var(--iv-text) !important; }

/* ---- dark mode pass 8: bare <strong> (e.g. Contact card Phone/Email/Office labels)
   render navy; light them, except inside the leadership hero which keeps its light photo. */
html[data-iv-theme="dark"] body.ivmedical-site strong:not(.iv-lead-hero *):not(.iv-ivai-copy *) { color: var(--iv-text) !important; }

/* ---- dark mode pass 9: Home/Services interactive process explorer (.iv-proc) ---- */
html[data-iv-theme="dark"] .iv-proc-step,
html[data-iv-theme="dark"] .iv-proc-panel { background: var(--iv-dark-surface) !important; border-color: var(--iv-border) !important; }
/* the detail grid sits ON the panel — no inner box (undo the pass-1 dark-surface) */
html[data-iv-theme="dark"] .iv-proc-detail { background: transparent !important; border: 0 !important; }
html[data-iv-theme="dark"] .iv-proc-detail-main h3 { color: var(--iv-text) !important; }

/* ---- dark mode pass 10: two fixes ---- */
/* the initials medallion reused --iv-tm-blue (redefined light in dark) for its FILL, so
   white initials vanished on a light disc — force a navy disc with white initials. */
html[data-iv-theme="dark"] .iv-tm-initials { background: #22345c; color: #fff; }
/* footer CTA label stayed white on hover in light (v1.0.107) but the dark ".iv-ft a:hover"
   rule (higher specificity) turned it orange-on-orange again — re-assert white in dark. */
html[data-iv-theme="dark"] .iv-ft a.iv-ft-btn,
html[data-iv-theme="dark"] .iv-ft a.iv-ft-btn:hover,
html[data-iv-theme="dark"] .iv-ft a.iv-ft-btn:focus { color: #fff !important; }

/* ==========================================================================
   STICKY COMPACT HEADER — 2026-09-13. The header is sticky (top:0) at all widths;
   after scrolling past 40px the body gets .iv-hdr-compact (JS) and the header
   shrinks ~1/3: section padding 16->8, logo 190->150, plus a soft drop shadow.
   Transitions live on the header/logo rules near the top of this file.
   ========================================================================== */
/* Sticky header stays FULL SIZE on scroll (owner 2026-10-31 — Lisa & Vince). The
   compact class now adds ONLY a soft drop shadow; the logo, section padding, and the
   right-column controls no longer shrink. (JS still toggles .iv-hdr-compact past the
   scroll threshold; it just carries the shadow now.) */
body.iv-hdr-compact .iv-header { box-shadow: 0 6px 20px rgba(9,24,93,0.12); }
html[data-iv-theme="dark"] body.iv-hdr-compact .iv-header { box-shadow: 0 8px 24px rgba(0,0,0,0.55); }

/* ---- Leadership hero on MOBILE (2026-09-14): a portrait viewport + cover cropped the
   wide building hard, so show the COMPLETE building as a full-bleed band at the top
   (100% width) and drop the copy beneath it onto the light ground. Parallax off here. */
@media (max-width: 980px) {
	.iv-hero.iv-bg-blue:has(.iv-lead-hero) { min-height: auto !important; }
	.iv-hero.iv-bg-blue:has(.iv-lead-hero)::before {
		top: 0; height: 100%;
		background: url("/wp-content/uploads/2026/09/iv-building-clean.jpg") no-repeat 50% 0 / 100% auto;
		transform: none;
	}
	/* the left white wash is for text over the photo; the text now sits below the band,
	   so keep the band clean (very light uniform tint only). */
	.iv-hero.iv-bg-blue:has(.iv-lead-hero)::after { background: rgba(255,255,255,0.05) !important; }
	/* push the copy below the full-width building band (band height = 100vw / 2.738 ratio) */
	.iv-hero.iv-bg-blue:has(.iv-lead-hero) .iv-lead-hero-text { padding-top: calc(100vw / 2.738 + 22px) !important; }
}

/* =========================================================================
   § LISA FEEDBACK 2026-10-23 — bigger header/footer logo, bigger + bolder +
   tighter desktop nav, bigger hero headline/ribbon/sub, plus the new home
   components (.iv-boutique-hq permanence line, .iv-boutique-badge HQ pill,
   .iv-launch-contact email). Appended LAST so it wins by source order over the
   matching earlier rules.
   ========================================================================= */

/* Header logo larger (owner): the real size pin is Divi's own module rule
   `.et_pb_image_0_tb_header { width:190px }` (the logo module's configured width) —
   the <img> max-width:100% collapses to THAT, so setting img width alone can't
   enlarge it. We override the MODULE width (class + !important beats Divi's inline
   module rule) and let the img fill it. Columns stay 19/65/16 so the logo lives in
   col0 and never crowds the 8-item nav in col1. */
/* Column split (Lisa 2026-11-03). The 8-item nav + logo + CTA is a lot for one row, so
   the balance is banded: narrow desktop (1281–1439) keeps the nav roomy with a modest
   logo; wide desktop (≥1440), where there's real width, gives the logo the big bump.
   col2 stays 16% throughout — the CTA button is trimmed below (so toggle+button fit 16%
   down to 1281 instead of spilling into the nav, which caused the moon/CONTACT overlap). */
@media (min-width: 1281px) and (max-width: 1365px) {
	.et-l--header .et_pb_column_0_tb_header { flex: 0 0 20% !important; width: 20% !important; }
	.et-l--header .et_pb_column_1_tb_header { flex: 0 0 64% !important; width: 64% !important; }
	.et-l--header .et_pb_column_2_tb_header { flex: 0 0 16% !important; width: 16% !important; }
}
@media (min-width: 1366px) and (max-width: 1439px) {
	.et-l--header .et_pb_column_0_tb_header { flex: 0 0 22% !important; width: 22% !important; }
	.et-l--header .et_pb_column_1_tb_header { flex: 0 0 62% !important; width: 62% !important; }
	.et-l--header .et_pb_column_2_tb_header { flex: 0 0 16% !important; width: 16% !important; }
}
@media (min-width: 1440px) {
	.et-l--header .et_pb_column_0_tb_header { flex: 0 0 24% !important; width: 24% !important; }
	.et-l--header .et_pb_column_1_tb_header { flex: 0 0 60% !important; width: 60% !important; }
	.et-l--header .et_pb_column_2_tb_header { flex: 0 0 16% !important; width: 16% !important; }
}
/* Taller header (Lisa 2026-11-03: "make it large"). The earlier change only widened the
   logo, leaving an ~83px bar that still read short. Height scales with the logo: a modest
   bump on narrow desktop, the full tall bar ≥1440. ≤1280 keeps the 16px padding. */
@media (min-width: 1281px) and (max-width: 1439px) {
	.et-l--header .et_pb_section { padding-top: 18px !important; padding-bottom: 18px !important; }
}
@media (min-width: 1440px) {
	.et-l--header .et_pb_section { padding-top: 24px !important; padding-bottom: 24px !important; }
}
/* Centre every column on the bar's midline so the nav + controls line up with the logo
   instead of hugging the top. */
@media (min-width: 1281px) {
	.et-l--header .et_pb_row { align-items: center !important; }
}
/* Trim the header CTA so toggle+button fit col2 (16%) down to 1281px (was 15px 30px →
   ~151px, which overflowed col2 below ~1490px and pushed the toggle onto the nav). */
@media (min-width: 981px) {
	#page-container .et-l--header .et_pb_section .et_pb_button.iv-btn-primary,
	.et-l--header .et_pb_button.iv-btn-primary { padding: 13px 22px !important; }
}
/* Nav module background (Lisa 2026-11-03): Divi's menu-module setting gives .et_pb_menu a
   SOLID white bg, but the header section is rgba(255,255,255,.92). On scroll the opaque
   30px menu block showed through as a brighter rectangle behind the nav. Make the module
   transparent so it inherits the header's shade (matches the header at rest too). The
   mobile dropdown (.et_mobile_menu) keeps its own solid bg and is unaffected. */
.et-l--header .et_pb_menu { background-color: transparent !important; }
/* img fills whatever width the module gets (desktop); capped to col0 by the module. */
@media (min-width: 981px) {
	.et-l--header .et_pb_image_0_tb_header .et_pb_image_wrap { width: 100% !important; max-width: 100% !important; }
	.et-l--header .et_pb_column_0_tb_header img { width: 100% !important; max-width: 100% !important; height: auto !important; }
}
/* Module width steps up with the viewport (Lisa 2026-11-03: still too small — grown
   again, and col0 widened to 24% above so these sit inside it with a gutter and never
   reach the nav). The wordmark is ~4.6:1, so these widths set the visible HEIGHT too
   (~55px @1281 up to ~78px @1920), which is what makes it read bigger. 981–1280 keeps
   Divi's 190px. */
@media (min-width: 1281px) { .et-l--header .et_pb_image_0_tb_header { width: 210px !important; max-width: 210px !important; } }
@media (min-width: 1366px) { .et-l--header .et_pb_image_0_tb_header { width: 230px !important; max-width: 230px !important; } }
@media (min-width: 1440px) { .et-l--header .et_pb_image_0_tb_header { width: 290px !important; max-width: 290px !important; } }
@media (min-width: 1600px) { .et-l--header .et_pb_image_0_tb_header { width: 320px !important; max-width: 320px !important; } }
@media (min-width: 1920px) { .et-l--header .et_pb_image_0_tb_header { width: 360px !important; max-width: 360px !important; } }

/* Footer logo larger (owner 2026-11-03: bigger still). Scales with the footer the way the
   header logo does — 250px at the narrow 4-col range (981–1099, where the brand column is
   tightest), up to 310px on wide screens. Below 981 the footer is 2-col and the brand
   column is full-width, so 250px has plenty of room there. */
.iv-ft-logo img { width: 250px !important; }
@media (min-width: 1100px) { .iv-ft-logo img { width: 290px !important; } }
@media (min-width: 1280px) { .iv-ft-logo img { width: 310px !important; } }

/* Desktop nav: bolder + a little less spacing at every desktop width; the size
   steps up with the viewport (8 items can't take 17px below ~1425px without
   overflowing, so it scales 14 -> 17 and wide screens get the biggest nav). */
@media (min-width: 981px) {
	.iv-header .et_pb_menu__menu > nav > ul > li { margin-left: 8px !important; }
	.iv-header .et_pb_menu__menu > nav > ul > li:first-child { margin-left: 0 !important; }
	/* 981-1280 is cramped for 8 items (the menu ul sizes to content); 12px keeps the
	   nav inside its column here. Wider screens step up to 14-17px below. */
	.iv-header .et_pb_menu__menu > nav > ul > li > a { font-size: 12px !important; font-weight: 700 !important; }
}
/* Nav font ladder — stepped down one notch (Lisa 2026-11-03) because col1 gave ~5%
   width to the bigger logo (col0 now 24%). At the trimmed column the 8 items would
   overflow into the toggle/button at the old sizes, so: 14px to 1439, 15px to 1599,
   16px to 1919, 17px at ≥1920. The 1px drop is invisible next to the much larger logo,
   and it keeps the nav off the controls at 1366/1440. */
@media (min-width: 1281px) {
	.iv-header .et_pb_menu__menu > nav > ul > li { margin-left: 9px !important; }
	.iv-header .et_pb_menu__menu > nav > ul > li > a { font-size: 15px !important; }
}
/* 1281–1365 is the tightest desktop row (8 items + logo + CTA); 13px keeps the nav well
   clear of the toggle. */
@media (min-width: 1281px) and (max-width: 1365px) {
	.iv-header .et_pb_menu__menu > nav > ul > li > a { font-size: 14px !important; }
	.iv-header .et_pb_menu__menu > nav > ul > li { margin-left: 7px !important; }
}
@media (min-width: 1440px) { .iv-header .et_pb_menu__menu > nav > ul > li > a { font-size: 16px !important; } }
@media (min-width: 1600px) { .iv-header .et_pb_menu__menu > nav > ul > li > a { font-size: 17px !important; } }
@media (min-width: 1920px) { .iv-header .et_pb_menu__menu > nav > ul > li > a { font-size: 18px !important; } }

/* Hero: bigger headline + bigger ribbon (eyebrow) + bigger sub-line (owner). */
body.ivmedical-site .et_pb_text_inner .iv-hh-title { font-size: clamp(3.1rem, 5.8vw, 5.4rem) !important; }
body.ivmedical-site .iv-hero-light .et_pb_text_inner .iv-hh-eyebrow,
body.ivmedical-site .et_pb_text_inner .iv-hh-eyebrow { font-size: 13px !important; font-weight: 600 !important; }
body.ivmedical-site .et_pb_text_inner .iv-hh-sub { font-size: 19px !important; }

/* Home "Surgical Boutique": corporate-HQ badge on the photo + the HQ / ownership
   permanence line under the copy. */
.iv-boutique-media .iv-boutique-badge {
	position: absolute; top: 16px; left: 16px; z-index: 2;
	display: inline-flex; align-items: center; gap: 8px;
	background: rgba(5,20,46,0.96); -webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px);
	color: #fff; font-size: 11px; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase;
	padding: 9px 14px; border-radius: 999px; box-shadow: 0 8px 22px rgba(5,20,46,0.45);
	border: 1px solid rgba(255,255,255,0.14);
}
.iv-boutique-media .iv-boutique-badge::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--iv-orange); flex: 0 0 auto; }
body.ivmedical-site .et_pb_text_inner .iv-boutique-hq { color: var(--iv-muted) !important; font-size: 14.5px !important; line-height: 1.55 !important; margin: 14px 0 4px !important; padding: 0 !important; }

/* Home launch band: contact email line (the band is navy). */
body.ivmedical-site .et_pb_text_inner .iv-launch-contact { color: rgba(255,255,255,0.82) !important; font-size: 14.5px !important; line-height: 1.5 !important; margin: 12px 0 0 !important; padding: 0 !important; }
body.ivmedical-site .et_pb_text_inner .iv-launch-contact a { color: var(--iv-orange) !important; font-weight: 700 !important; text-decoration-thickness: 2px; text-underline-offset: 3px; }

/* =========================================================================
   § CONTACT HERO 2026-10-31 — the shared .iv-hero.iv-bg-blue min-height (520px)
   left ~258px of empty background below the copy on /contact/, pushing the form
   far down the page. Scope a shorter hero to #contact-hero only (id beats the
   shared class) so the bottom of the image is cropped and the form rises into
   view. Desktop only — mobile keeps the auto-height .iv-hero behavior. Copy is
   top-anchored, so this trims the empty band below it, not the copy itself.
   ========================================================================= */
@media (min-width: 981px) {
	#contact-hero.iv-hero.iv-bg-blue { min-height: 340px; padding-bottom: 44px; }
	/* 2026-11-11 (Mike): same trim for Services / About / Who-We-Serve — the shared
	   520px min-height left ~140px of dead space under the hero copy/CTA. These have
	   taller copy (eyebrow+H1+sub, two with a CTA button) than /contact, so they land
	   a touch taller (~400-419px) but lose the empty band. Desktop only; mobile keeps
	   auto height. */
	#services-hero.iv-hero.iv-bg-blue,
	#about-hero.iv-hero.iv-bg-blue,
	.iv-hero.iv-bg-blue.iv-wws-hero {
		min-height: 400px;
		padding-top: 48px !important;
		padding-bottom: 44px !important;
	}
}

/* ==========================================================================
   2026-11-04 (Lisa call): EYEBROW CONSISTENCY — every section/hero eyebrow gets
   the brand orange dash to the LEFT (never above, never missing). Several variants
   had suppressed the ::before dash (heroes, "Who We Serve"), pushed it above
   (.iv-sp-eyebrow-rule), or inherited Divi's column flex on a centered text module
   (.iv-eyebrow). Restore the single canonical treatment: leading dash, bold.
   ========================================================================== */
/* Divi text-module eyebrows (.iv-eyebrow): force a leading (row) dash even when the
   module is centered, so it never stacks above the label. */
body.ivmedical-site .iv-eyebrow { flex-direction: row !important; align-items: center !important; }
body.ivmedical-site .iv-eyebrow::before { align-self: center !important; }
/* Shortcode eyebrows whose dash was suppressed or displaced — bring the left dash back. */
body.ivmedical-site .et_pb_text_inner .iv-hh-eyebrow,
body.ivmedical-site .iv-hero-light .et_pb_text_inner .iv-hh-eyebrow,
body.ivmedical-site .et_pb_text_inner .iv-spec-head .iv-eyebrow-inline,
body.ivmedical-site .et_pb_text_inner .iv-sp-eyebrow {
	display: inline-flex !important; align-items: center; gap: 12px; font-weight: 800 !important;
}
body.ivmedical-site .et_pb_text_inner .iv-hh-eyebrow::before,
body.ivmedical-site .et_pb_text_inner .iv-spec-head .iv-eyebrow-inline::before,
body.ivmedical-site .et_pb_text_inner .iv-sp-eyebrow::before {
	content: "" !important; display: inline-block !important; position: static !important;
	top: auto !important; width: 34px !important; height: 3px !important;
	border-radius: 999px !important; padding-top: 0 !important;
}
/* Specialties eyebrows slightly larger + bold (Lisa: "font slightly larger, and bold"). */
body.ivmedical-site .et_pb_section .et_pb_text_inner .iv-sp-eyebrow { font-size: 13px !important; }
/* The "-rule" variant was a block with an ABOVE line — collapse it to the inline-left dash. */
body.ivmedical-site .et_pb_text_inner .iv-sp-eyebrow-rule { display: inline-flex !important; padding-top: 0 !important; }
body.ivmedical-site .et_pb_text_inner .iv-sp-eyebrow-rule::before { position: static !important; top: auto !important; width: 34px !important; height: 3px !important; }

/* ==========================================================================
   2026-11-04 (Lisa call): FOOTER REBUILD, Fellow-Health style. No logo, no
   statement, no Services column, nothing stacked. Four horizontal bands with
   space between them: CTA ("Ready to strengthen…"), Connect (contact + social),
   a header-style horizontal Title-Case menu, and the legal bar. The old
   .iv-ft-grid / .iv-ft-brand / .iv-ft-col rules above are now unused.
   ========================================================================== */
.iv-ftx { display: block; max-width: 1200px; margin: 0 auto; }
/* CTA band */
.iv-ftx-cta { text-align: center; padding: 56px 0 48px; }
body.ivmedical-site .et_pb_text_inner .iv-ftx-eyebrow {
	display: inline-flex; align-items: center; gap: 12px;
	color: var(--iv-orange-deep) !important; font-size: 13px !important; font-weight: 800 !important;
	letter-spacing: 0.14em !important; text-transform: uppercase; line-height: 1.2 !important;
	margin: 0 0 16px !important; padding: 0 !important;
}
body.ivmedical-site .et_pb_text_inner .iv-ftx-eyebrow::before {
	content: ""; display: inline-block; width: 34px; height: 3px; background: var(--iv-orange); border-radius: 999px;
}
body.ivmedical-site .et_pb_text_inner .iv-ftx-cta-h {
	color: var(--iv-blue) !important; font-family: "Poppins", sans-serif !important;
	font-size: clamp(1.7rem, 3vw, 2.4rem) !important; font-weight: 700 !important;
	line-height: 1.12 !important; margin: 0 auto 26px !important; padding: 0 !important;
	/* 2026-11-05: was max-width:760px → "cycle?" wrapped onto its own line. Widen so
	   it sits on one line on wider screens; balance any wrap on narrow ones. */
	max-width: 900px; text-wrap: balance;
}
.iv-ft a.iv-ftx-btn { font-size: 12px; padding: 15px 28px; }
/* Connect band */
.iv-ftx-connect {
	display: flex; align-items: center; justify-content: space-between; gap: 24px 40px; flex-wrap: wrap;
	padding: 26px 0; border-top: 1px solid rgba(10,27,66,0.16);
}
body.ivmedical-site .et_pb_text_inner .iv-ftx-contact {
	list-style: none !important; margin: 0 !important; padding: 0 !important;
	display: flex; align-items: center; gap: 12px 30px; flex-wrap: wrap;
}
body.ivmedical-site .et_pb_text_inner .iv-ftx-contact li {
	margin: 0 !important; padding: 0 !important; display: inline-flex; align-items: center; gap: 9px;
	font-size: 14px !important; line-height: 1.4 !important; color: var(--iv-blue) !important;
}
.iv-ftx-contact svg { flex: 0 0 18px; width: 18px; height: 18px; color: var(--iv-orange); }
.iv-ftx-follow { display: inline-flex; align-items: center; gap: 14px; }
body.ivmedical-site .et_pb_text_inner .iv-ftx-follow-label {
	color: var(--iv-blue) !important; font-size: 12px !important; font-weight: 800 !important;
	letter-spacing: 0.16em !important; text-transform: uppercase; margin: 0 !important; padding: 0 !important;
}
body.ivmedical-site .et_pb_text_inner .iv-ftx-social { margin: 0 !important; }
.iv-ftx-social a, .iv-ftx-social span { width: 36px; height: 36px; }
/* Menu bar — horizontal, header style, Title Case */
.iv-ftx-nav { padding: 22px 0; border-top: 1px solid rgba(10,27,66,0.16); }
body.ivmedical-site .et_pb_text_inner .iv-ftx-nav ul,
.iv-ftx-nav ul {
	list-style: none !important; margin: 0 !important; padding: 0 !important;
	display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 10px 30px;
}
.iv-ftx-nav li { margin: 0 !important; padding: 0 !important; }
.iv-ft a { /* nav links inherit the footer link colour; make them header-weight */ }
.iv-ftx-nav a { font-size: 14px; font-weight: 800; letter-spacing: 0.02em; }
/* Legal band (reuses .iv-ft-legal) */
.iv-ftx-legal { margin-top: 2px; }
/* "Proudly built & hosted by EECONS" credit — sits centered between the copyright
   and the Privacy/Terms links (the legal bar is justify-content:space-between). */
.iv-ftx-credit { text-align: center; }
body.ivmedical-site .et_pb_text_inner .iv-ftx-credit a { color: var(--iv-orange) !important; text-decoration: none; font-weight: 700; }
body.ivmedical-site .et_pb_text_inner .iv-ftx-credit a:hover,
body.ivmedical-site .et_pb_text_inner .iv-ftx-credit a:focus { text-decoration: underline; }

/* dark mode for the new bands */
html[data-iv-theme="dark"] .iv-ftx-connect,
html[data-iv-theme="dark"] .iv-ftx-nav { border-top-color: rgba(255,255,255,0.16); }
html[data-iv-theme="dark"] body.ivmedical-site .et_pb_text_inner .iv-ftx-cta-h,
html[data-iv-theme="dark"] body.ivmedical-site .et_pb_text_inner .iv-ftx-contact li,
html[data-iv-theme="dark"] body.ivmedical-site .et_pb_text_inner .iv-ftx-follow-label { color: var(--iv-text) !important; }

@media (max-width: 860px) {
	.iv-ftx-connect { flex-direction: column; align-items: center; text-align: center; gap: 20px; }
	.iv-ftx-contact { justify-content: center; }
}
@media (max-width: 560px) {
	.iv-ftx-cta { padding: 42px 0 36px; }
	.iv-ftx-contact { flex-direction: column; gap: 10px; }
}

/* ==========================================================================
   2026-11-04 (Lisa): IVAI PRODUCT SECTION rebuild (Services /#iv-ai). A balanced
   split card — light IVAI-branding panel (reduced logo, navy headings, orange
   accents) beside a deep-navy product panel (larger headline, brighter non-italic
   copy, "Designed for Surgical Complexity" + benefit list). Shortcode [iv_ivai_product].
   ========================================================================== */
.iv-ivaip { max-width: 1160px; margin: 0 auto; display: grid; grid-template-columns: 0.82fr 1.18fr;
	border-radius: 14px; overflow: hidden; box-shadow: 0 30px 70px rgba(10,27,66,0.20); }
/* left — branding (light) */
.iv-ivaip-brand { background: #fff; padding: 54px 40px; display: flex; flex-direction: column;
	align-items: center; justify-content: center; text-align: center; }
.iv-ivaip-logo { width: 220px; max-width: 78%; height: auto; margin: 0 0 22px; }
body.ivmedical-site .et_pb_text_inner .iv-ivaip-tag { color: var(--iv-orange-deep) !important;
	font-size: 12px !important; font-weight: 800 !important; letter-spacing: 0.18em !important;
	text-transform: uppercase; margin: 0 0 6px !important; padding: 0 !important; }
body.ivmedical-site .et_pb_text_inner .iv-ivaip-dev { color: var(--iv-blue) !important;
	font-size: 13px !important; font-weight: 600 !important; margin: 0 0 22px !important; padding: 0 !important; }
.iv-ivaip-dev em { font-style: normal; }
body.ivmedical-site .et_pb_text_inner .iv-ivaip-motto { color: var(--iv-blue) !important;
	font-family: "Poppins", sans-serif !important; font-size: 19px !important; font-weight: 700 !important;
	line-height: 1.25 !important; margin: 0 !important; padding: 20px 0 0 !important; position: relative; }
body.ivmedical-site .et_pb_text_inner .iv-ivaip-motto::before { content: ""; position: absolute; top: 0; left: 50%;
	transform: translateX(-50%); width: 42px; height: 3px; background: var(--iv-orange); border-radius: 999px; }
/* right — product (deep navy) */
.iv-ivaip-panel { background: #0A1A33; color: #fff; padding: 54px 50px; }
body.ivmedical-site .et_pb_text_inner .iv-ivaip-h { color: #fff !important; font-family: "Poppins", sans-serif !important;
	font-size: clamp(1.55rem, 2.5vw, 2.1rem) !important; font-weight: 700 !important; line-height: 1.14 !important;
	margin: 0 0 22px !important; padding: 0 !important; }
.iv-ivaip-h em { font-style: normal; color: var(--iv-orange); }
body.ivmedical-site .et_pb_text_inner .iv-ivaip-lead { color: rgba(255,255,255,0.86) !important;
	font-size: 16.5px !important; line-height: 1.6 !important; font-style: normal !important; margin: 0 0 16px !important; padding: 0 !important; }
body.ivmedical-site .et_pb_text_inner .iv-ivaip-sub { display: inline-flex; align-items: center; gap: 12px;
	color: #fff !important; font-size: 14px !important; font-weight: 800 !important; letter-spacing: 0.1em !important;
	text-transform: uppercase; margin: 28px 0 18px !important; padding: 0 !important; }
body.ivmedical-site .et_pb_text_inner .iv-ivaip-sub::before { content: ""; display: inline-block;
	width: 34px; height: 3px; background: var(--iv-orange); border-radius: 999px; }
body.ivmedical-site .et_pb_text_inner .iv-ivaip-list { list-style: none !important; margin: 0 !important; padding: 0 !important; display: grid; gap: 14px; }
body.ivmedical-site .et_pb_text_inner .iv-ivaip-list li { position: relative; margin: 0 !important; padding: 0 0 0 24px !important;
	color: rgba(255,255,255,0.84) !important; font-size: 15.5px !important; line-height: 1.5 !important; }
body.ivmedical-site .et_pb_text_inner .iv-ivaip-list li::before { content: ""; position: absolute; left: 0; top: 8px;
	width: 9px; height: 9px; border-radius: 2px; background: var(--iv-orange); }
.iv-ivaip-li-t { color: #fff; font-weight: 800; }
.iv-ivaip-li-t::after { content: " \2014 "; color: rgba(255,255,255,0.55); font-weight: 400; }
body.ivmedical-site .et_pb_text_inner .iv-ivaip-note { color: rgba(255,255,255,0.58) !important; font-size: 13px !important;
	line-height: 1.5 !important; margin: 26px 0 0 !important; padding: 16px 0 0 !important; border-top: 1px solid rgba(255,255,255,0.14); }
/* dark mode: flip the light branding panel */
html[data-iv-theme="dark"] .iv-ivaip-brand { background: #0F1D38; }
html[data-iv-theme="dark"] body.ivmedical-site .et_pb_text_inner .iv-ivaip-dev,
html[data-iv-theme="dark"] body.ivmedical-site .et_pb_text_inner .iv-ivaip-motto { color: var(--iv-text) !important; }
@media (max-width: 860px) {
	.iv-ivaip { grid-template-columns: 1fr; max-width: 560px; }
	.iv-ivaip-brand { padding: 40px 32px; }
	.iv-ivaip-panel { padding: 40px 32px; }
}

/* ==========================================================================
   2026-11-04 (Lisa): dedicated WHO WE SERVE page [iv_who_we_serve]. Four
   alternating audience sections (Leading Surgeons carries the boutique
   feature treatment). The media panels are branded icon placeholders until
   Lisa supplies real photographs — swap the <figure> contents for an <img>.
   ========================================================================== */
.iv-wws { max-width: 1140px; margin: 0 auto; }
.iv-wws-row { display: grid; grid-template-columns: 0.92fr 1.08fr; gap: 50px; align-items: center; padding: 56px 0; border-top: 1px solid var(--iv-border); }
.iv-wws-row:first-child { border-top: 0; padding-top: 8px; }
.iv-wws-row--flip .iv-wws-media { order: 2; }
.iv-wws-row--flip .iv-wws-copy { order: 1; }
/* media placeholder (icon panel) */
.iv-wws-media { position: relative; aspect-ratio: 4 / 3; border-radius: 14px; overflow: hidden;
	display: flex; align-items: center; justify-content: center; margin: 0;
	background: linear-gradient(145deg, #0B1E3C 0%, #10376b 100%); box-shadow: 0 24px 54px rgba(10,27,66,0.20); }
.iv-wws-badge { position: absolute; top: 18px; left: 22px; font: 800 44px/1 "Poppins", sans-serif; color: rgba(255,255,255,0.14); letter-spacing: 0.02em; }
.iv-wws-icon { display: inline-flex; width: 110px; height: 110px; align-items: center; justify-content: center; color: #fff; }
.iv-wws-icon svg { width: 96px; height: 96px; stroke-width: 1.15; }
.iv-wws-row--feature .iv-wws-media { background: linear-gradient(145deg, #0A1A33 0%, #1a2d52 60%, #b8560f 160%); box-shadow: 0 28px 64px rgba(10,27,66,0.30); }
.iv-wws-row--feature .iv-wws-media::after { content: ""; position: absolute; inset: 0; border: 2px solid rgba(244,114,46,0.42); border-radius: 14px; pointer-events: none; }
.iv-wws-row--feature .iv-wws-icon { color: #fff; }
/* copy */
body.ivmedical-site .et_pb_text_inner .iv-wws-kicker { display: inline-flex; align-items: center; gap: 12px;
	color: var(--iv-orange-deep) !important; font-size: 12px !important; font-weight: 800 !important;
	letter-spacing: 0.18em !important; text-transform: uppercase; margin: 0 0 12px !important; padding: 0 !important; }
body.ivmedical-site .et_pb_text_inner .iv-wws-kicker::before { content: ""; display: inline-block; width: 34px; height: 3px; background: var(--iv-orange); border-radius: 999px; }
body.ivmedical-site .et_pb_text_inner .iv-wws-title { color: var(--iv-blue) !important; font-size: clamp(1.7rem, 2.8vw, 2.4rem) !important;
	font-weight: 700 !important; line-height: 1.1 !important; margin: 0 0 16px !important; padding: 0 !important; }
.iv-wws-title em { font-style: normal; color: var(--iv-orange); }
body.ivmedical-site .et_pb_text_inner .iv-wws-body { color: var(--iv-text) !important; font-size: 16.5px !important; line-height: 1.62 !important; margin: 0 0 18px !important; padding: 0 !important; }
body.ivmedical-site .et_pb_text_inner .iv-wws-tagline { position: relative; color: var(--iv-orange-deep) !important;
	font-size: 16px !important; font-weight: 800 !important; line-height: 1.4 !important; margin: 0 !important; padding: 16px 0 0 !important; }
body.ivmedical-site .et_pb_text_inner .iv-wws-tagline::before { content: ""; position: absolute; top: 0; left: 0; width: 46px; height: 3px; background: var(--iv-orange); border-radius: 999px; }
/* dark mode */
html[data-iv-theme="dark"] .iv-wws-row { border-top-color: rgba(255,255,255,0.14); }
html[data-iv-theme="dark"] body.ivmedical-site .et_pb_text_inner .iv-wws-title { color: var(--iv-text) !important; }
@media (max-width: 860px) {
	.iv-wws-row, .iv-wws-row--flip { grid-template-columns: 1fr; gap: 26px; padding: 40px 0; }
	.iv-wws-row--flip .iv-wws-media { order: 0; }
	.iv-wws-row--flip .iv-wws-copy { order: 0; }
	.iv-wws-media { aspect-ratio: 16 / 9; max-height: 260px; }
}

/* ==========================================================================
   2026-11-04 (Mike): GLOBAL HERO UNIFORMITY. Every page hero's eyebrow and
   headline must match in size, style, alignment and weight. Font + weight were
   already uniform (Playfair 400 headline / Inter 800 caps eyebrow); this
   normalizes headline SIZE, eyebrow SIZE + LETTER-SPACING, and ALIGNMENT —
   all heroes are left-aligned (Testimonials + Who We Serve were centred).
   ========================================================================== */
/* headline: one responsive size, left, for every hero (text-module + Divi-heading).
   #main-content gives an ID so this beats every per-hero rule, incl. the owner's
   leadership −12px clamp and the .iv-bg-blue-scoped title overrides. */
body.ivmedical-site #main-content .iv-hero .et_pb_text_inner h1,
body.ivmedical-site #main-content .iv-hero .et_pb_heading_container h1,
body.ivmedical-site #main-content .iv-sp-hero-section .et_pb_text_inner h1,
body.ivmedical-site #main-content .iv-sp-hero-section .et_pb_heading_container h1 {
	font-size: clamp(2.3rem, 3.2vw, 3.05rem) !important;
	line-height: 1.1 !important;
	text-align: left !important;
}
/* eyebrow: one size + tracking for every hero eyebrow. Scoped by the SECTION hero
   class (.iv-hero / .iv-sp-hero-section) as the outer ancestor — the shortcode
   wrappers (.iv-lead-hero, .iv-th-hero, .iv-sp-hero) sit INSIDE .et_pb_text_inner. */
body.ivmedical-site #main-content .iv-hero .et_pb_text_inner .iv-hh-eyebrow,
body.ivmedical-site #main-content .iv-hero .et_pb_text_inner .iv-lead-eyebrow,
body.ivmedical-site #main-content .iv-hero .et_pb_text_inner .iv-eyebrow-inline,
body.ivmedical-site #main-content .iv-sp-hero-section .et_pb_text_inner .iv-sp-eyebrow,
body.ivmedical-site #main-content .iv-hero .iv-eyebrow .et_pb_text_inner p,
body.ivmedical-site #main-content .iv-hero .iv-eyebrow .et_pb_text_inner {
	font-size: 13px !important;
	letter-spacing: 0.12em !important;
	font-weight: 800 !important;
}
/* left-align the previously-centred heroes (Testimonials, Who We Serve) */
body.ivmedical-site .iv-th-hero { text-align: left !important; max-width: 820px; margin-left: 0 !important; margin-right: auto !important; }
body.ivmedical-site .iv-th-hero .iv-eyebrow-inline { justify-content: flex-start !important; }
/* leadership eyebrow: guarantee the same left dash as the others */
body.ivmedical-site .et_pb_text_inner .iv-lead-eyebrow { display: inline-flex !important; align-items: center; gap: 12px; }
body.ivmedical-site .et_pb_text_inner .iv-lead-eyebrow::before { content: "" !important; display: inline-block !important; width: 34px !important; height: 3px !important; background: var(--iv-orange) !important; border-radius: 999px !important; }

/* ==========================================================================
   2026-11-04 (Mike): keep the bigger header logo. "Who We Serve" moved to a
   submenu under About Us (WP menu 7: item 420 -> parent 55), so the desktop
   row is 7 top-level items + logo + CTA and the stepped logo (210-360px above)
   has room without crowding — no logo cap / column override needed here now.
   Below 1281 the nav collapses to the hamburger.
   ========================================================================== */
/* 981-1280: logo + nav + CTA is tight on one row — collapse to the hamburger. */
@media (min-width: 981px) and (max-width: 1280px){
	.iv-header .et_pb_menu__menu{ display: none !important; }
	.iv-header .et_mobile_nav_menu{ display: block !important; }
}
/* <=980 (mobile): the header CTA button overflowed the right edge. Contact lives
   in the hamburger menu and the footer CTA, so hide the button at mobile widths. */
@media (max-width: 980px){
	.et-l--header .et_pb_column_2_tb_header .et_pb_button_module_wrapper{ display: none !important; }
}
/* About Us -> Who We Serve dropdown: brand polish over Divi's default panel. */
@media (min-width: 981px){
	.iv-header .et_pb_menu__menu ul.sub-menu{
		border-top: 3px solid var(--iv-orange, #F87303) !important;
		box-shadow: 0 16px 34px rgba(9,24,93,.16) !important;
		padding: 10px 0 !important;
	}
	.iv-header .et_pb_menu__menu ul.sub-menu li a{
		color: var(--iv-navy, #09185D) !important;
		font-weight: 600 !important;
		text-transform: none !important;
	}
	.iv-header .et_pb_menu__menu ul.sub-menu li a:hover{
		color: var(--iv-orange, #F87303) !important;
		opacity: 1 !important;
	}
}
/* Dark mode: dark dropdown panel. */
html[data-iv-theme="dark"] .iv-header .et_pb_menu__menu ul.sub-menu{
	background: #0f1b33 !important;
	border-top-color: var(--iv-orange, #F87303) !important;
}
html[data-iv-theme="dark"] .iv-header .et_pb_menu__menu ul.sub-menu li a{ color: #e6ebf5 !important; }
html[data-iv-theme="dark"] .iv-header .et_pb_menu__menu ul.sub-menu li a:hover{ color: var(--iv-orange, #F87303) !important; }

/* ==========================================================================
   2026-11-04 (Mike): SLIM, FIXED header — only ~3-5mm of white above/below the
   logo, no resizing on scroll. The header is already position:sticky top:0, so
   it stays pinned; this just trims the height and removes every scroll-time
   size change (the compact class now carries ONLY a shadow — see above).
   The real height driver was Divi's 31px top/bottom padding on each menu link
   (the tall hit area), NOT the logo — trimming it + the section padding drops
   the bar from ~147px to ~88px (~40%).
   ========================================================================== */
@media (min-width: 981px) {
	.et-l--header .et_pb_section_0_tb_header,
	.et-l--header .et_pb_section { padding-top: 12px !important; padding-bottom: 12px !important; }
	.et-l--header .et_pb_row { padding-top: 0 !important; padding-bottom: 0 !important; margin-top: 0 !important; margin-bottom: 0 !important; }
	/* Trim the menu-link hit area (Divi ships 31px) so the logo, not the nav, sets
	   the bar height. Links stay vertically centred by the row's align-items:center. */
	.iv-header .et_pb_menu__menu > nav > ul > li > a { padding-top: 7px !important; padding-bottom: 7px !important; }
}

/* ==========================================================================
   2026-11-04 (Mike): the light/dark toggle was not clickable. ROOT CAUSE: at
   >=1440 the right column (16%) can't hold toggle + "People·Process·Performance"
   tagline + CONTACT US button, so its flex row overflowed and the MENU module's
   full-width (transparent) inner container painted over the toggle and swallowed
   the click. Three-part fix:
   1) Give the right column real room (the nav is 7 top-level items now).
   2) The menu module's empty container no longer captures pointer events — only
      its actual links / hamburger / logo do — so blank header space is click-through.
   3) Lift the toggle above any residual overlap.
   The real fix is #2 (pointer-events, below, unmediated so it holds at every width).
   2026-11-05 (Mike): this block's col re-split was banded to >=1600 only. At 1440-1599
   the tagline is hidden (line ~2639), so col2 does NOT need 25% here; the wide col2 was
   starving col1 (53% = 687px @1440 < the ~717px 7-item nav), so the centered nav spilled
   ~15px LEFT onto the 290px logo ("SERVICES over the logo"). Below 1600 the 24/60/16 split
   (the min-width:1440 block above) now governs — verified clean 43-120px logo/nav gaps across
   1440-1599. At >=1600 the row caps at 1440px, the tagline returns, and 22/53/25 fits (12px gap). */
@media (min-width: 1600px) {
	.et-l--header .et_pb_column_0_tb_header { flex: 0 0 22% !important; width: 22% !important; }
	.et-l--header .et_pb_column_1_tb_header { flex: 0 0 53% !important; width: 53% !important; }
	.et-l--header .et_pb_column_2_tb_header { flex: 0 0 25% !important; width: 25% !important; }
}
.iv-header .et_pb_menu_inner_container { pointer-events: none; }
.iv-header .et_pb_menu__menu, .iv-header .et_pb_menu__menu *,
.iv-header .et_mobile_nav_menu, .iv-header .et_mobile_nav_menu *,
.iv-header .et_mobile_menu, .iv-header .et_mobile_menu *,
.iv-header .et_pb_menu__logo-wrap, .iv-header .et_pb_menu__logo-wrap * { pointer-events: auto; }
.et-l--header .et_pb_column_2_tb_header { z-index: 5 !important; }
.iv-theme-toggle { position: relative; z-index: 50; }

/* ==========================================================================
   2026-11-05: TRI-TONE specialty icons. Custom line art — navy line + soft
   navy-tint mass (.sm) + orange accent (.sa stroke / .saf fill); .sf = navy
   fill (eyes/dots). Three tones driven by CSS vars so the set is theme-aware.
   Both specialty grids sit on light iv-bg-soft-blue; dark mode flips line/tint.
   ========================================================================== */
:root{ --iv-spec-line:#0A1B42; --iv-spec-tint:#D6E2F4; --iv-spec-acc:#F4722E; }
html[data-iv-theme="dark"]{ --iv-spec-line:#CDD9F2; --iv-spec-tint:#2A4A84; --iv-spec-acc:#FF8C2A; }
body.ivmedical-site .iv-spec-icon-glyph svg{
	fill:none !important; stroke:var(--iv-spec-line) !important; stroke-width:1.6 !important;
	stroke-linecap:round; stroke-linejoin:round;
}
body.ivmedical-site .iv-spec-icon-glyph svg .sm{ fill:var(--iv-spec-tint) !important; stroke:var(--iv-spec-line) !important; }
body.ivmedical-site .iv-spec-icon-glyph svg .sa{ stroke:var(--iv-spec-acc) !important; fill:none !important; }
body.ivmedical-site .iv-spec-icon-glyph svg .sa.sm{ fill:var(--iv-spec-tint) !important; }
body.ivmedical-site .iv-spec-icon-glyph svg .saf{ fill:var(--iv-spec-acc) !important; stroke:none !important; }
body.ivmedical-site .iv-spec-icon-glyph svg .sf{ fill:var(--iv-spec-line) !important; stroke:none !important; }

/* ==========================================================================
   2026-11-05: SPECIALTY MARQUEE ([iv_spec_marquee]). Two rows (7 top, 8 bottom)
   of icon+label chips scrolling in OPPOSITE directions. Two identical sets per
   row so translateX(-50%) loops seamlessly. No hover pause (owner). Reduced
   motion → static centred wrap.
   ========================================================================== */
body.ivmedical-site .iv-smq-band{ display:flex; flex-direction:column; gap:16px; padding:6px 0; margin-top:8px; }
body.ivmedical-site .iv-smq{
	position:relative; display:flex; overflow:hidden; padding:4px 0;
	-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
	        mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
}
body.ivmedical-site .iv-smq__track{
	display:flex; flex-wrap:nowrap; align-items:center; flex-shrink:0; width:max-content;
	animation:iv-smq-scroll 48s linear infinite; will-change:transform;
}
body.ivmedical-site .iv-smq__track--rev{ animation-direction:reverse; }
body.ivmedical-site .iv-smq__item{
	display:inline-flex; align-items:center; gap:10px; white-space:nowrap; margin-right:16px;
	padding:9px 18px; border:2px solid var(--iv-accent, var(--iv-border)); border-radius:var(--iv-radius-pill);
	background:var(--iv-white); box-shadow:var(--iv-shadow-sm);
	color:var(--iv-blue); font-weight:800; font-size:13px; letter-spacing:0.04em; text-transform:uppercase;
}
body.ivmedical-site .iv-smq__item .iv-spec-icon-glyph{ width:28px; height:28px; flex-shrink:0; }
body.ivmedical-site .iv-smq__item .iv-spec-icon-glyph svg{ width:28px; height:28px; }
@keyframes iv-smq-scroll{ to{ transform:translateX(-50%); } }
html[data-iv-theme="dark"] body.ivmedical-site .iv-smq__item{ background:var(--iv-dark-raise,#17294A); color:var(--iv-text); }
@media (prefers-reduced-motion: reduce){
	body.ivmedical-site .iv-smq__track{ animation:none; flex-wrap:wrap; justify-content:center; width:auto; }
	body.ivmedical-site .iv-smq{ -webkit-mask-image:none; mask-image:none; }
	body.ivmedical-site .iv-smq__item[aria-hidden="true"]{ display:none; }
}
@media (max-width:600px){ body.ivmedical-site .iv-smq__item{ font-size:12px; padding:8px 14px; } body.ivmedical-site .iv-smq-band{ gap:12px; } }

/* ==========================================================================
   2026-11-05: SPECIALTY EXPLORER ([iv_spec_explorer]). Interactive tablist —
   pick a specialty (left) to reveal its billing challenge + IV Medical solution
   (right). All panels render for SEO; JS toggles the active one. Theme-aware.
   ========================================================================== */
body.ivmedical-site .iv-spx{ max-width:1160px; margin:0 auto; }
body.ivmedical-site .iv-spx-head{ text-align:center; max-width:760px; margin:0 auto 28px; }
body.ivmedical-site .iv-spx-wrap{ display:grid; grid-template-columns:minmax(260px,330px) 1fr; gap:22px; align-items:start; }
body.ivmedical-site .iv-spx-list{ display:flex; flex-direction:column; gap:6px; max-height:560px; overflow-y:auto; padding-right:4px; }
body.ivmedical-site .iv-spx-tab{
	display:flex; align-items:center; gap:12px; width:100%; text-align:left; cursor:pointer;
	padding:11px 14px; border:1px solid var(--iv-border); border-radius:12px; background:var(--iv-white);
	color:var(--iv-blue); font-family:inherit; font-size:13.5px; font-weight:800; letter-spacing:.01em; line-height:1.3;
	box-shadow:inset 3px 0 0 0 var(--iv-accent, var(--iv-orange));
	transition:border-color .16s ease, background .16s ease, box-shadow .16s ease;
}
/* per-specialty accent, cycled across the 15 (each tab + its panel) */
body.ivmedical-site .iv-spx-list .iv-spx-tab:nth-child(7n+1), body.ivmedical-site .iv-spx-panels .iv-spx-panel:nth-child(7n+1){ --iv-accent:var(--iv-acc-1); }
body.ivmedical-site .iv-spx-list .iv-spx-tab:nth-child(7n+2), body.ivmedical-site .iv-spx-panels .iv-spx-panel:nth-child(7n+2){ --iv-accent:var(--iv-acc-2); }
body.ivmedical-site .iv-spx-list .iv-spx-tab:nth-child(7n+3), body.ivmedical-site .iv-spx-panels .iv-spx-panel:nth-child(7n+3){ --iv-accent:var(--iv-acc-3); }
body.ivmedical-site .iv-spx-list .iv-spx-tab:nth-child(7n+4), body.ivmedical-site .iv-spx-panels .iv-spx-panel:nth-child(7n+4){ --iv-accent:var(--iv-acc-4); }
body.ivmedical-site .iv-spx-list .iv-spx-tab:nth-child(7n+5), body.ivmedical-site .iv-spx-panels .iv-spx-panel:nth-child(7n+5){ --iv-accent:var(--iv-acc-5); }
body.ivmedical-site .iv-spx-list .iv-spx-tab:nth-child(7n+6), body.ivmedical-site .iv-spx-panels .iv-spx-panel:nth-child(7n+6){ --iv-accent:var(--iv-acc-6); }
body.ivmedical-site .iv-spx-list .iv-spx-tab:nth-child(7n), body.ivmedical-site .iv-spx-panels .iv-spx-panel:nth-child(7n){ --iv-accent:var(--iv-acc-7); }
body.ivmedical-site .iv-spx-tab .iv-spec-icon-glyph{ width:26px; height:26px; flex-shrink:0; }
body.ivmedical-site .iv-spx-tab:hover{ border-color:var(--iv-accent, rgba(10,27,66,0.28)); }
body.ivmedical-site .iv-spx-tab.is-active{ background:var(--iv-soft-blue); border-color:var(--iv-accent, var(--iv-orange)); box-shadow:inset 3px 0 0 0 var(--iv-accent, var(--iv-orange)), var(--iv-shadow-sm); }
body.ivmedical-site .iv-spx-tab:focus-visible{ outline:2px solid var(--iv-accent, var(--iv-orange)); outline-offset:2px; }
body.ivmedical-site .iv-spx-panel{ background:var(--iv-white); border:1px solid var(--iv-border); border-top:4px solid var(--iv-accent, var(--iv-orange)); border-radius:16px; padding:28px 30px; box-shadow:var(--iv-shadow-sm); }
body.ivmedical-site .iv-spx-panel[hidden]{ display:none; }
body.ivmedical-site .iv-spx-panel:focus-visible{ outline:2px solid var(--iv-orange); outline-offset:3px; }
body.ivmedical-site .iv-spx-panel-head{ display:flex; align-items:center; gap:14px; margin:0 0 18px; }
body.ivmedical-site .iv-spx-panel-head .iv-spec-icon-glyph{ width:40px; height:40px; flex-shrink:0; }
body.ivmedical-site .iv-spx-panel-title{ margin:0; color:var(--iv-blue); font-size:22px; font-weight:800; line-height:1.15; }
body.ivmedical-site .iv-spx-block{ margin:0 0 16px; color:var(--iv-text); font-size:15.5px; line-height:1.7; }
body.ivmedical-site .iv-spx-k{ display:block; font-size:11px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; margin-bottom:5px; }
body.ivmedical-site .iv-spx-chal .iv-spx-k{ color:var(--iv-orange-deep); }
body.ivmedical-site .iv-spx-sol{ padding-top:16px; border-top:1px solid var(--iv-border); }
body.ivmedical-site .iv-spx-sol .iv-spx-k{ color:var(--iv-blue); }
body.ivmedical-site .iv-spx-cta{ display:inline-flex; align-items:center; gap:7px; margin-top:2px; color:var(--iv-accent, var(--iv-orange-deep)); font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; text-decoration:none; }
body.ivmedical-site .iv-spx-cta:hover{ color:var(--iv-orange); }
/* dark mode */
html[data-iv-theme="dark"] body.ivmedical-site .iv-spx-tab{ background:var(--iv-dark-surface); color:var(--iv-text); }
html[data-iv-theme="dark"] body.ivmedical-site .iv-spx-tab.is-active{ background:var(--iv-dark-raise); }
html[data-iv-theme="dark"] body.ivmedical-site .iv-spx-panel{ background:var(--iv-dark-surface); }
html[data-iv-theme="dark"] body.ivmedical-site .iv-spx-panel-title{ color:var(--iv-text); }
html[data-iv-theme="dark"] body.ivmedical-site .iv-spx-sol .iv-spx-k{ color:#CDD9F2; }
html[data-iv-theme="dark"] body.ivmedical-site .iv-spx-cta{ color:var(--iv-accent, var(--iv-orange-deep)); }
/* responsive: stack; list becomes a horizontal rail */
@media (max-width:860px){
	body.ivmedical-site .iv-spx-wrap{ grid-template-columns:1fr; gap:16px; }
	body.ivmedical-site .iv-spx-list{ flex-direction:row; flex-wrap:nowrap; overflow-x:auto; max-height:none; padding:0 0 6px; gap:8px; }
	body.ivmedical-site .iv-spx-tab{ flex:0 0 auto; }
	body.ivmedical-site .iv-spx-tab.is-active{ box-shadow:inset 3px 0 0 0 var(--iv-accent, var(--iv-orange)), var(--iv-shadow-sm); }
	body.ivmedical-site .iv-spx-panel{ padding:24px 20px; }
}

/* ==========================================================================
   HEADER LAYOUT — single source of truth (2026-11-05, Mike). This block is the
   authoritative desktop header sizing; being last in the file it supersedes EVERY
   earlier banded column-% / stepped-font / 1440 / 1600 header rule above (left in
   place as history — this block wins by source order).

   ROOT CAUSE of the recurring "SERVICES sits over the logo": the three header
   columns were fixed percentages, the nav was CENTERED inside its column, and the
   logo + tagline were sized independently in fixed px. Whenever the centered nav
   grew wider than its fixed column (bigger font and/or an 8th item), it spilled
   symmetrically — and the LEFT half slid under the logo. Every prior fix re-tuned
   the percentages for one width band and broke another; the overlap kept moving.

   FIX (makes the sizing self-adjusting instead of hand-tuned per band): size the
   SIDE columns to their CONTENT — col0 hugs the logo, col2 hugs the toggle + CTA
   (+ tagline) — and let the NAV column take exactly the leftover. A centered nav
   then always has symmetric clearance from the logo and the controls, at any width,
   with no per-band column maths. The row already scales with the viewport (its
   width is calc(100% - 2*gutter), not capped), so the leftover grows on big screens.

   The only remaining job is to keep the nav from out-growing the leftover at the
   narrow end, so the font steps 13→16px (capped at 16; the row never gets wide
   enough at the 1440px content width to seat a bigger 7-item nav AND the tagline),
   and the tagline stays hidden until the row is genuinely wide enough to seat it
   beside the nav (>=1760) rather than squeezing the nav back toward the logo.
   Verified live (real column widths) across 1281/1366/1456/1600/1760/1920 — the
   logo-to-nav gap is 43px at the tightest (1281) and grows from there.
   The pointer-events / toggle-click fix (earlier, unmediated) is untouched. */
@media (min-width: 1281px) {
	.et-l--header .et_pb_column_0_tb_header { flex: 0 0 auto !important; width: auto !important; }
	.et-l--header .et_pb_column_1_tb_header { flex: 1 1 0 !important;  width: auto !important; min-width: 0 !important; }
	.et-l--header .et_pb_column_2_tb_header { flex: 0 0 auto !important; width: auto !important; }
	.iv-header .et_pb_menu__menu > nav > ul > li > a { font-size: 13px !important; }
}
@media (min-width: 1366px) { .iv-header .et_pb_menu__menu > nav > ul > li > a { font-size: 14px !important; } }
@media (min-width: 1440px) { .iv-header .et_pb_menu__menu > nav > ul > li > a { font-size: 15px !important; } }
@media (min-width: 1600px) { .iv-header .et_pb_menu__menu > nav > ul > li > a { font-size: 16px !important; } }
/* Tagline ("People · Process · Performance") needs ~160px; only show it once the row
   is wide enough to seat it beside the 7-item nav without squeezing the nav leftward. */
@media (min-width: 1281px) and (max-width: 1759px) { .et-l--header .iv-header-tagline { display: none !important; } }

/* ==========================================================================
   HERO LEFT-GUTTER CONSISTENCY (2026-11-11, Emma via Mike; revised for wide screens).
   The page headers were NOT an alignment problem (all are left-aligned) but a GUTTER
   one: the .iv-hero text pages (Services / About / Contact / Who-We-Serve) and
   Testimonials sat on a narrower/centered row, so their hero text started further
   right than Home / Specialties / Leadership — and the gap GREW on wide screens.
   The references (e.g. Leadership, line ~2154) size the hero row as
   `width: calc(100% - 2*var(--iv-gutter))` (centered via the default margin:0 auto),
   so the text begins at exactly --iv-gutter at EVERY width (72px @1440, 96px @1920).
   Give the photo heroes that same rule so all page headers share one left edge at all
   widths. (The first attempt used --iv-row-wide, a fixed 1280px cap, which matched at
   1440 but drifted inward at 1920 and over-reached onto the home hero.)
   Home (.iv-hero-light) is a 2-column grid with an INLINE photo, so it is excluded
   here and handled below. */
body.ivmedical-site .iv-hero:not(.iv-hero-light) .iv-row,
body.ivmedical-site .iv-hero:not(.iv-hero-light) .iv-row-wide {
	max-width: none !important;
	width: calc(100% - 2 * var(--iv-gutter)) !important;
}
/* Home hero: let the inline surgeon photo (the right grid column) bleed to the right
   viewport edge so there's no white gap on wide screens, while the copy stays at
   --iv-gutter (padding-left from the rule near line ~2016). Desktop only; mobile
   positions .iv-hh-media absolutely and is unaffected. */
@media (min-width: 981px) {
	body.ivmedical-site .iv-hero.iv-hero-light .iv-row { width: 100% !important; max-width: none !important; }
	body.ivmedical-site .iv-hero.iv-hero-light > .et_pb_row { padding-right: 0 !important; }
}
