/*
 * Nabed theme — core stylesheet.
 *
 * Organisation:
 *   1. Design tokens (:root)
 *   2. Base reset / typography
 *   3. Layout primitives (container, section)
 *   4. Header / navigation
 *   5. Footer
 *   6. Buttons + utility classes
 *   7. Announcement bar + misc shared components
 *   8. Responsive breakpoints
 */

/* =====================================================================
 * 1. DESIGN TOKENS
 * ===================================================================== */
:root {
	/* Brand palette — NABED blue. Teal was retired site-wide on 2026-09-03;
	 * these three tokens are the single source of the site accent, so every
	 * link, button, focus ring, eyebrow and block that consumes them turned
	 * blue in one place. Values are the ones the approved redesign already
	 * used block-locally (About Us CTA, Resources, Pricing, Solutions). */
	--seamlessmd-primary:        #2563eb;
	--seamlessmd-primary-dark:   #1d4fd7;
	--seamlessmd-primary-soft:   #eff4ff;
	--seamlessmd-dark-navy:      #1e2a5c;
	--seamlessmd-accent-green:   #53d769;

	/* Neutrals */
	--seamlessmd-text:           #1a1a2e;
	--seamlessmd-text-muted:     #6b7280;
	--seamlessmd-border:         #e5e7eb;
	--seamlessmd-surface:        #ffffff;
	--seamlessmd-surface-alt:    #f7f9fc;

	/* Typography */
	--seamlessmd-font-sans:      'Nunito Sans', sans-serif;
	--seamlessmd-font-heading:   var(--seamlessmd-font-sans);
	--seamlessmd-font-base:      16px;
	--seamlessmd-line-height:    1.6;

	/* Radii */
	--seamlessmd-radius-sm:      4px;
	--seamlessmd-radius-md:      8px;
	--seamlessmd-radius-lg:      16px;
	--seamlessmd-radius-pill:    999px;

	/* Shadows */
	--seamlessmd-shadow-sm:      0 1px 2px rgba(30, 42, 92, 0.06);
	--seamlessmd-shadow-md:      0 4px 12px rgba(30, 42, 92, 0.08);
	--seamlessmd-shadow-lg:      0 10px 30px rgba(30, 42, 92, 0.12);
	--seamlessmd-shadow-xl:      0 20px 60px rgba(30, 42, 92, 0.16);

	/* Spacing scale (4px base, t-shirt sizing) */
	--space-1:   4px;
	--space-2:   8px;
	--space-3:  12px;
	--space-4:  16px;
	--space-5:  24px;
	--space-6:  32px;
	--space-7:  40px;
	--space-8:  48px;
	--space-9:  64px;
	--space-10: 80px;
	--space-11: 96px;
	--space-12: 128px;

	/* Layout — unified container + responsive gutters + section padding.
	 * Single source of truth: every header / footer / block uses the
	 * `.seamlessmd-container` utility (defined in §3) which pulls these
	 * tokens. Responsive overrides for `--seamlessmd-gutter` and
	 * `--seamlessmd-section-pad` live in the media queries directly
	 * after this :root block. */
	--seamlessmd-bp-md:					768px;
	--seamlessmd-bp-lg:         1280px;
	/* One page-margin system for every element (2026-08-19): header,
	 * content sections, and footer all share this token. Full-bleed by
	 * request — no centered cap; the page spans the screen at every
	 * width, with only the shared gutter padding keeping content off
	 * the viewport edge. */
	--seamlessmd-container-max: 100%;
	--seamlessmd-gutter:       	var(--space-4);  /* xs default: 16px */
	--seamlessmd-section-pad:  	var(--space-8);  /* xs default: 48px */
	--seamlessmd-header-height:	72px;
	/* Vertical footprint reserved for the partners/logo-row on the home
	 * page, so the hero's min-height can subtract it and the two together
	 * fill exactly 100svh. Must include: "PARTNERED WITH..." heading
	 * (≈1.25rem) + heading bottom-margin (~1.25rem) + logos row
	 * (~3rem) + section padding-block (2× 2rem) ≈ 12rem total. */
	--seamlessmd-logo-row-reserve: 12rem;

	/* Aliases — block CSS written during the initial wave used these names. */
	--seamlessmd-space-1:  var(--space-1);
	--seamlessmd-space-2:  var(--space-2);
	--seamlessmd-space-3:  var(--space-3);
	--seamlessmd-space-4:  var(--space-4);
	--seamlessmd-space-5:  var(--space-5);
	--seamlessmd-space-6:  var(--space-6);
	--seamlessmd-space-7:  var(--space-7);
	--seamlessmd-space-8:  var(--space-8);
	--seamlessmd-space-9:  var(--space-9);
	--seamlessmd-space-10: var(--space-10);
	--seamlessmd-space-11: var(--space-11);
	--seamlessmd-space-12: var(--space-12);
	--seamlessmd-muted:    var(--seamlessmd-text-muted);
	--seamlessmd-bg:       var(--seamlessmd-surface);
}

/* Responsive overrides for the gutter + section-pad tokens. Tablet (md)
 * kicks in at --seamlessmd-bp-md (768px); large monitors (L≤) kick in at
 * --seamlessmd-bp-lg (1280px). Container max stays at 1280px across the
 * range — viewport widths below cap render at width:100%. */
@media (min-width: 768px) {
	:root {
		--seamlessmd-gutter:      var(--space-5);   /* md: 24px */
		--seamlessmd-section-pad: var(--space-10);	/* md: 80px */
	}
}
@media (min-width: 1280px) {
	:root {
		--seamlessmd-gutter:      var(--space-6);   /* L≤: 32px */
		--seamlessmd-section-pad: var(--space-10);	/* L≤: 80px */
	}
}

/* =====================================================================
 * 2. BASE RESET & TYPOGRAPHY
 * ===================================================================== */
*, *::before, *::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
}

body {
	margin: 0;
	font-family: var(--seamlessmd-font-sans);
	font-size: var(--seamlessmd-font-base);
	line-height: var(--seamlessmd-line-height);
	color: var(--seamlessmd-text);
	background: var(--seamlessmd-surface);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--seamlessmd-font-heading);
	font-weight: 700;
	line-height: 1.2;
	color: var(--seamlessmd-dark-navy);
	margin-top: 0;
	margin-bottom: var(--space-4);
}

h1 { font-size: clamp(2rem, 4vw + 1rem, 3.5rem); letter-spacing: -0.02em; }
h2 { font-size: clamp(1.75rem, 2.5vw + 1rem, 2.5rem); letter-spacing: -0.015em; }
h3 { font-size: 1.5rem; }
h4 { font-size: 1.25rem; }
h5 { font-size: 1.125rem; }
h6 { font-size: 1rem; }

p {
	margin-top: 0;
	margin-bottom: var(--space-4);
}

a {
	color: var(--seamlessmd-primary);
	text-decoration: none;
	transition: color 0.2s ease;
}
a:hover, a:focus {
	color: var(--seamlessmd-primary-dark);
	text-decoration: underline;
}

img, svg, video {
	max-width: 100%;
	height: auto;
	display: block;
}

hr {
	border: 0;
	border-top: 1px solid var(--seamlessmd-border);
	margin: var(--space-6) 0;
}

/* =====================================================================
 * 3. LAYOUT PRIMITIVES
 *
 * `.seamlessmd-container` is the single shared content wrapper used by
 * header, footer, and every block. It enforces one max-width and one
 * responsive gutter across the entire site. The legacy `.container`
 * class is kept as an alias for `404.php` / `index.php` callers.
 *
 * Block markup pattern:
 *   <section class="wp-block-seamlessmd-foo">            <!-- full-bleed; padding-block only -->
 *     <div class="seamlessmd-container">                  <!-- max-width + horizontal gutter -->
 *       …block content…
 *     </div>
 *   </section>
 * ===================================================================== */
.seamlessmd-container,
.container {
	width: 100%;
	max-width: var(--seamlessmd-container-max);
	margin-inline: auto;
	padding-inline: var(--seamlessmd-gutter);
}

.seamlessmd-section {
	padding-top: var(--seamlessmd-section-pad);
	padding-bottom: var(--seamlessmd-section-pad);
}
.seamlessmd-section--muted {
	background: var(--seamlessmd-surface-alt);
}
.seamlessmd-section--dark {
	background: var(--seamlessmd-dark-navy);
	color: #ffffff;
}
.seamlessmd-section--dark h1,
.seamlessmd-section--dark h2,
.seamlessmd-section--dark h3 {
	color: #ffffff;
}
.seamlessmd-section--center {
	text-align: center;
}

.seamlessmd-section-heading {
	font-size: clamp(1.75rem, 2vw + 1rem, 2.25rem);
	margin-bottom: var(--space-5);
}

.seamlessmd-page-main {
	min-height: calc(100vh - var(--seamlessmd-header-height) - 200px);
}

/* Home: the full block stack fills the viewport on its own, so the
 * min-height floor would only introduce dead space below the CTA band. */
.seamlessmd-page-main.seamlessmd-home-main {
	min-height: 0;
}

/* =====================================================================
 * 4. HEADER / PRIMARY NAV
 * ===================================================================== */
.seamlessmd-site-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 100;
	background: rgba(255, 255, 255, 0.95);
	backdrop-filter: saturate(180%) blur(8px);
	-webkit-backdrop-filter: saturate(180%) blur(8px);
	border-bottom: 1px solid var(--seamlessmd-border);
	height: var(--seamlessmd-header-height);
}

/* Language toggle — vertical stack: large globe icon on top with the
 * OTHER locale's name underneath. No pill border; reads as an icon-link,
 * not a button, so it sits unobtrusively at the end of the header. */
.seamlessmd-lang-toggle {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2px;
	padding: 4px 6px;
	color: var(--seamlessmd-dark-navy);
	text-decoration: none;
	line-height: 1;
	border-radius: 6px;
	background: transparent;
	transition: color 150ms ease, background-color 150ms ease;
}
.seamlessmd-lang-toggle:hover,
.seamlessmd-lang-toggle:focus-visible {
	color: var(--seamlessmd-primary-dark);
	background: var(--seamlessmd-primary-soft);
	text-decoration: none;
}
.seamlessmd-lang-toggle__icon {
	font-size: 1.25rem;
	line-height: 1;
}
.seamlessmd-lang-toggle__label {
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
	line-height: 1;
	white-space: nowrap;
}

.seamlessmd-site-header__inner {
	display: flex;
	align-items: center;
	height: 100%;
	/* No flex `gap` on the row itself — individual children set their own
	 * margin-inline-start so the nav + CTA-group can sit flush (zero gap)
	 * while the logo has breathing room and the language toggle anchors
	 * to the far end via auto-margin. */
}

/* The nav is pushed to the end of the header row via auto-margin so the
 * brand anchors one edge and the nav + CTAs sit together on the opposite
 * edge. `margin-inline-start: auto` flips cleanly in RTL. */
.seamlessmd-primary-nav {
	margin-inline-start: auto;
}

/* CTA group sits alongside the nav at the end of the header row. The
 * inter-item spacing to the nav is provided by the flex `gap` on
 * `.seamlessmd-site-header__inner`; this rule just controls the internal
 * spacing between the two CTA buttons. */
.seamlessmd-site-header__ctas {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	flex: 0 0 auto;
}

.seamlessmd-site-header__brand .custom-logo,
.seamlessmd-site-header__brand img {
	max-height: 40px;
	width: auto;
}

.seamlessmd-site-title {
	font-weight: 800;
	font-size: 1.25rem;
	color: var(--seamlessmd-dark-navy);
	text-decoration: none;
	letter-spacing: -0.01em;
}
.seamlessmd-site-title:hover { text-decoration: none; }

.seamlessmd-primary-nav {
	/* Natural width so the menu flows directly after the brand and the
	 * action row (language toggle + CTAs) can sit inline immediately
	 * after the last menu item — instead of being pushed to a second
	 * line or "on top" of the menu on narrow desktops. */
	display: flex;
	align-items: center;
	flex: 0 1 auto;
	min-width: 0;
}

.seamlessmd-nav-menu {
	display: flex;
	gap: var(--space-2);
	list-style: none;
	margin: 0;
	padding: 0;
	align-items: center;
}

.seamlessmd-nav-menu > li {
	position: relative;
}

.seamlessmd-nav-menu > li > a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: var(--space-2) var(--space-3);
	color: var(--seamlessmd-text);
	font-weight: 500;
	font-size: 0.95rem;
	border-radius: var(--seamlessmd-radius-md);
	transition: background-color 0.15s ease, color 0.15s ease;
}
.seamlessmd-nav-menu > li > a:hover,
.seamlessmd-nav-menu > li.current-menu-item > a,
.seamlessmd-nav-menu > li.current-menu-parent > a {
	/* No background fill on hover — the active/hover cue is the underline
	 * set by the `.seamlessmd-primary-nav .seamlessmd-nav-menu > li > a:hover`
	 * rule further down. Keeping `background: transparent` here explicitly
	 * so the earlier pale-mint fill does not leak onto hovered links. */
	background: transparent;
	color: var(--seamlessmd-text);
	text-decoration: none;
}

.seamlessmd-nav-menu .menu-item-has-children > a::after {
	content: '\f107';
	font-family: 'Font Awesome 6 Free';
	font-weight: 900;
	font-size: 0.75rem;
	margin-left: 4px;
	opacity: 0.7;
}

.seamlessmd-nav-menu .sub-menu {
	position: absolute;
	top: calc(100% + 6px);
	left: 0;
	min-width: 220px;
	background: #ffffff;
	border: 1px solid var(--seamlessmd-border);
	border-radius: var(--seamlessmd-radius-md);
	box-shadow: var(--seamlessmd-shadow-lg);
	padding: var(--space-2);
	list-style: none;
	margin: 0;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-4px);
	transition: opacity 0.15s ease, transform 0.15s ease, visibility 0.15s;
}
.seamlessmd-nav-menu .menu-item-has-children:hover > .sub-menu,
.seamlessmd-nav-menu .menu-item-has-children:focus-within > .sub-menu,
.seamlessmd-nav-menu .menu-item-has-children.is-open > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
.seamlessmd-nav-menu .sub-menu a {
	display: block;
	padding: var(--space-2) var(--space-3);
	color: var(--seamlessmd-text);
	font-size: 0.925rem;
	border-radius: var(--seamlessmd-radius-sm);
}
.seamlessmd-nav-menu .sub-menu a:hover {
	background: var(--seamlessmd-primary-soft);
	color: var(--seamlessmd-primary-dark);
	text-decoration: none;
}

.seamlessmd-site-header__actions {
	display: flex;
	align-items: center;
	gap: var(--space-3);
	flex-shrink: 0;
}

.seamlessmd-lang-switcher ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	gap: 4px;
	font-size: 0.85rem;
	text-transform: uppercase;
	font-weight: 600;
}
.seamlessmd-lang-switcher li a {
	padding: 4px 8px;
	border-radius: var(--seamlessmd-radius-sm);
	color: var(--seamlessmd-text-muted);
}
.seamlessmd-lang-switcher li.current-lang a,
.seamlessmd-lang-switcher li a:hover {
	color: var(--seamlessmd-primary);
	background: var(--seamlessmd-primary-soft);
	text-decoration: none;
}

.seamlessmd-mobile-toggle {
	display: none;
	width: 40px;
	height: 40px;
	background: transparent;
	border: 1px solid var(--seamlessmd-border);
	border-radius: var(--seamlessmd-radius-sm);
	padding: 0;
	cursor: pointer;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 4px;
}
.seamlessmd-mobile-toggle span {
	display: block;
	width: 20px;
	height: 2px;
	background: var(--seamlessmd-text);
	transition: transform 0.2s ease, opacity 0.2s ease;
}

/* =====================================================================
 * 5. FOOTER
 *
 * The footer is a verbatim 1:1 clone of nabed.net's `.footer.dark`
 * markup and stylesheet. Its rules live in their own file to keep the
 * upstream cascade intact — see `seamlessmd-footer.css`, enqueued by
 * functions.php alongside this stylesheet.
 * ===================================================================== */

/* =====================================================================
 * 6. BUTTONS + UTILITIES
 * ===================================================================== */
.seamlessmd-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 10px 22px;
	font-weight: 600;
	font-size: 0.95rem;
	border: 1px solid transparent;
	border-radius: var(--seamlessmd-radius-pill);
	cursor: pointer;
	text-decoration: none;
	transition: background-color 0.15s ease, color 0.15s ease, transform 0.1s ease, box-shadow 0.15s ease;
	white-space: nowrap;
}
.seamlessmd-btn:hover { text-decoration: none; transform: translateY(-1px); }
.seamlessmd-btn:active { transform: translateY(0); }

.seamlessmd-btn--primary {
	background: var(--seamlessmd-primary);
	color: #ffffff;
	box-shadow: var(--seamlessmd-shadow-sm);
}
.seamlessmd-btn--primary:hover {
	background: var(--seamlessmd-primary-dark);
	color: #ffffff;
	box-shadow: var(--seamlessmd-shadow-md);
}

.seamlessmd-btn--secondary {
	background: transparent;
	color: var(--seamlessmd-dark-navy);
	border-color: var(--seamlessmd-border);
}
.seamlessmd-btn--secondary:hover {
	background: var(--seamlessmd-surface-alt);
	color: var(--seamlessmd-dark-navy);
}

.seamlessmd-btn--ghost {
	background: transparent;
	color: var(--seamlessmd-primary);
}
.seamlessmd-btn--ghost:hover {
	background: var(--seamlessmd-primary-soft);
	color: var(--seamlessmd-primary-dark);
}

.seamlessmd-btn--lg { padding: 14px 28px; font-size: 1rem; }

/* Utility classes */
.text-accent  { color: var(--seamlessmd-primary) !important; }
.text-muted   { color: var(--seamlessmd-text-muted) !important; }
.text-navy    { color: var(--seamlessmd-dark-navy) !important; }
.bg-muted     { background: var(--seamlessmd-surface-alt) !important; }
.bg-navy      { background: var(--seamlessmd-dark-navy) !important; color: #ffffff !important; }
.bg-primary-soft { background: var(--seamlessmd-primary-soft) !important; }
.rounded-sm   { border-radius: var(--seamlessmd-radius-sm) !important; }
.rounded-md   { border-radius: var(--seamlessmd-radius-md) !important; }
.rounded-lg   { border-radius: var(--seamlessmd-radius-lg) !important; }
.shadow-sm    { box-shadow: var(--seamlessmd-shadow-sm) !important; }
.shadow-md    { box-shadow: var(--seamlessmd-shadow-md) !important; }
.shadow-lg    { box-shadow: var(--seamlessmd-shadow-lg) !important; }

.seamlessmd-card {
	background: var(--seamlessmd-surface);
	border: 1px solid var(--seamlessmd-border);
	border-radius: var(--seamlessmd-radius-lg);
	padding: var(--space-6);
	box-shadow: var(--seamlessmd-shadow-sm);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.seamlessmd-card:hover {
	transform: translateY(-2px);
	box-shadow: var(--seamlessmd-shadow-md);
}

.seamlessmd-eyebrow {
	display: inline-block;
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--seamlessmd-primary);
	margin-bottom: var(--space-3);
}

/* =====================================================================
 * 7. ANNOUNCEMENT BAR + MISC
 * ===================================================================== */
.seamlessmd-announcement-bar {
	background: var(--seamlessmd-dark-navy);
	color: #ffffff;
	font-size: 0.875rem;
	padding: 8px 0;
	text-align: center;
}
.seamlessmd-announcement-bar .container {
	display: flex;
	gap: 10px;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
}
.seamlessmd-announcement-link {
	color: var(--seamlessmd-primary);
	font-weight: 600;
}
.seamlessmd-announcement-link:hover { color: #ffffff; text-decoration: none; }

.seamlessmd-404-code {
	font-size: clamp(5rem, 12vw, 9rem);
	margin: 0;
	color: var(--seamlessmd-primary);
	letter-spacing: -0.05em;
}
.seamlessmd-404-lead {
	font-size: 1.25rem;
	color: var(--seamlessmd-text-muted);
	margin-bottom: var(--space-6);
}

.seamlessmd-post-summary {
	padding-bottom: var(--space-6);
	margin-bottom: var(--space-6);
	border-bottom: 1px solid var(--seamlessmd-border);
}
.seamlessmd-post-summary__title {
	font-size: 1.5rem;
	margin-bottom: var(--space-3);
}

/* =====================================================================
 * 8. RESPONSIVE
 * ===================================================================== */
/* The mobile-extras block lives inside the primary nav but is hidden on
 * desktop; all its items (CTAs + language toggle) are already rendered
 * in the main header row. Keeps the DOM ready for the slide-down panel
 * on mobile without double-rendering anything on desktop. */
.seamlessmd-primary-nav__extras {
	display: none;
}

@media (max-width: 991.98px) {
	/* Mobile: the header row shows the logo and the hamburger toggle ONLY.
	 * Every other element in the header row (CTAs group, language toggle,
	 * plus any residual `.seamlessmd-site-header__actions` wrapper) is
	 * hidden; the same items are duplicated inside the slide-down panel
	 * (.seamlessmd-primary-nav__extras) so nothing is lost.
	 *
	 * The hamburger is pushed to the opposite edge of the logo via
	 * `margin-inline-start: auto` — in LTR the logo sits on the left and
	 * the toggle on the right; in RTL the auto-margin naturally flips so
	 * the logo stays on the right and the toggle appears on the left. */
	.seamlessmd-mobile-toggle {
		display: inline-flex;
		margin-inline-start: auto;
	}
	.seamlessmd-site-header__ctas,
	.seamlessmd-site-header__lang,
	.seamlessmd-site-header__actions {
		display: none;
	}

	.seamlessmd-primary-nav {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		/* Reset the desktop `margin-inline-start: var(--space-6)` that
		 * separates the logo from the menu — the mobile slide-down panel
		 * is edge-to-edge with no inline offset. */
		margin-inline-start: 0;
		background: #ffffff;
		border-bottom: 1px solid var(--seamlessmd-border);
		box-shadow: var(--seamlessmd-shadow-md);
		max-height: 0;
		overflow: hidden;
		transition: max-height 0.25s ease;
		display: block;
		justify-content: initial;
	}
	.seamlessmd-primary-nav.is-open {
		max-height: calc(100vh - var(--seamlessmd-header-height));
		overflow-y: auto;
	}

	.seamlessmd-nav-menu {
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		padding: 8px 0;
	}
	.seamlessmd-nav-menu > li {
		position: static;
	}
	.seamlessmd-nav-menu > li > a {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 16px 24px;
		border-radius: 0;
		border-bottom: 1px solid var(--seamlessmd-border);
		font-size: 16px;
		font-weight: 500;
		color: #2f2879;
		width: 100%;
	}
	.seamlessmd-nav-menu > li:last-child > a {
		border-bottom: 0;
	}
	.seamlessmd-nav-menu .menu-item-has-children > a::after,
	.seamlessmd-nav-menu .seamlessmd-has-cpt-dropdown > a::after {
		margin-inline-start: auto;
		transition: transform 150ms ease;
	}
	.seamlessmd-nav-menu > li.is-open > a::after {
		transform: rotate(-135deg) translate(-2px, -2px);
	}
	.seamlessmd-nav-menu .sub-menu,
	.seamlessmd-nav-menu .seamlessmd-dropdown-menu,
	.seamlessmd-nav-menu .seamlessmd-megamenu {
		position: static;
		box-shadow: none;
		border: 0;
		padding: 4px 0 8px;
		margin: 0;
		background: #f6f8fb;
		opacity: 1;
		visibility: visible;
		transform: none;
		display: none;
		min-width: 0;
		max-width: none;
		width: auto;
		grid-template-columns: 1fr;
	}
	.seamlessmd-nav-menu .menu-item-has-children.is-open > .sub-menu,
	.seamlessmd-nav-menu .menu-item-has-children.is-open > .seamlessmd-megamenu,
	.seamlessmd-nav-menu .seamlessmd-has-cpt-dropdown.is-open > .seamlessmd-dropdown-menu,
	.seamlessmd-nav-menu .seamlessmd-has-cpt-dropdown.is-open > .seamlessmd-megamenu {
		display: block;
	}
	.seamlessmd-nav-menu .sub-menu a,
	.seamlessmd-nav-menu .seamlessmd-dropdown-menu a {
		padding: 12px 40px;
		font-size: 15px;
		color: #495a73;
	}

	/* Mobile-only extras block at the bottom of the slide-down panel.
	 * Holds the CTAs (full-width stacked) and the language toggle. */
	.seamlessmd-primary-nav__extras {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
		padding: 16px 24px 20px;
		border-top: 1px solid var(--seamlessmd-border);
	}
	.seamlessmd-primary-nav__ctas {
		display: flex;
		flex-direction: column;
		gap: 10px;
	}
	.seamlessmd-primary-nav__ctas .seamlessmd-btn,
	.seamlessmd-primary-nav__ctas .seamlessmd-header-cta {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		min-height: 46px;
		padding: 12px 18px;
		border-radius: 6px;
		font-size: 15px;
		font-weight: 600;
		line-height: 1.2;
		text-decoration: none;
		border: 0;
		box-shadow: none;
	}
	.seamlessmd-primary-nav__ctas .seamlessmd-btn--primary {
		background: #002e6e;
		color: #fff;
	}
	.seamlessmd-primary-nav__ctas .seamlessmd-btn--primary:hover {
		background: #001f4d;
		color: #fff;
	}
	.seamlessmd-primary-nav__ctas .seamlessmd-btn--patient-help {
		background: #00c172;
		color: #fff;
	}
	.seamlessmd-primary-nav__ctas .seamlessmd-btn--patient-help:hover {
		background: #00a862;
		color: #fff;
	}
	.seamlessmd-primary-nav__lang {
		align-self: flex-start;
		margin-top: 4px;
		color: #6b7280;
		border-color: rgba(47, 40, 121, 0.2);
	}
	.seamlessmd-primary-nav__lang:hover,
	.seamlessmd-primary-nav__lang:focus-visible {
		color: #2f2879;
		background: rgba(47, 40, 121, 0.05);
		border-color: rgba(47, 40, 121, 0.4);
	}

}

@media (max-width: 575.98px) {
	.seamlessmd-section {
		padding-top: var(--space-8);
		padding-bottom: var(--space-8);
	}
}

/* =====================================================================
 * 9. VISUAL POLISH PASS (later in cascade — overrides earlier rules)
 *
 * Goal: tighten the look to match a modern healthcare-SaaS marketing
 * site — softer surfaces, pill buttons, airier spacing, heavier headings.
 * ===================================================================== */

:root {
	--seamlessmd-surface-alt:     #f4f7fb;
	--seamlessmd-surface-tinted:  #eff7f6;
	--seamlessmd-text:            #1e2a5c;
	--seamlessmd-text-muted:      #546b7f;
	--seamlessmd-border:          #e6ecf3;
	--seamlessmd-radius-pill:     9999px;
	--seamlessmd-radius-card:     20px;
	--seamlessmd-shadow-sm:       0 1px 2px rgba(30, 42, 92, 0.04);
	--seamlessmd-shadow-md:       0 8px 24px rgba(30, 42, 92, 0.06);
	--seamlessmd-shadow-lg:       0 20px 50px rgba(30, 42, 92, 0.10);
	/* --seamlessmd-container-max + --seamlessmd-section-pad are now
	 * defined once in the top-level :root (§1) and applied via
	 * .seamlessmd-container / .seamlessmd-section. No override here. */
	--seamlessmd-header-height:   80px;
}

body {
	font-feature-settings: "ss01", "cv11";
	letter-spacing: -0.005em;
}

h1, h2, h3, h4 {
	font-family: var(--seamlessmd-font-heading);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.15;
	color: var(--seamlessmd-text);
}

h1 { font-size: clamp(2.25rem, 4.2vw, 3.75rem); font-weight: 800; }
h2 { font-size: clamp(1.75rem, 3vw, 2.625rem); }
h3 { font-size: clamp(1.25rem, 2vw, 1.5rem); }

p { color: inherit; }

.seamlessmd-section,
.seamlessmd-hero,
.seamlessmd-cta-band,
.seamlessmd-card-grid,
.seamlessmd-logo-row,
.seamlessmd-testimonials,
.seamlessmd-image-text,
.seamlessmd-faq,
.seamlessmd-cpt-grid {
	padding-top:    var(--seamlessmd-section-pad);
	padding-bottom: var(--seamlessmd-section-pad);
}

/* `.seamlessmd-content` consumes the same `--seamlessmd-content-pad-*`
 * vars as the block's own style.css so editor-set inline overrides win
 * here too. The bundle loads after the block's style.css and would
 * otherwise stomp the var-based padding (per blocks.md §6 cascade
 * note). Fallback to `--seamlessmd-section-pad` keeps the default
 * rhythm for every existing content block. */
.seamlessmd-content {
	padding-top:    var(--seamlessmd-content-pad-top, var(--seamlessmd-section-pad));
	padding-bottom: var(--seamlessmd-content-pad-bottom, var(--seamlessmd-section-pad));
}

/* alternating surface tint for rhythm — exclude the partners/logo-row strip
 * too so the hero + logo-row above-the-fold area reads as one continuous
 * surface (bg-circle on white) without a zebra tint seam.
 *
 * Also exclude `.seamlessmd-image-text--appearance-dark` so explicit dark
 * image-text rows (set via the block's `appearance: dark` attribute) keep
 * their own dark-navy backdrop instead of getting overwritten by the tint.
 * Without this exclusion, the visual-polish-pass selector wins on
 * specificity (3 classes + 2 element selectors vs the block's single-class
 * `.--appearance-dark` rule) and paints the section the tint color.
 *
 * `.seamlessmd-intelligent-layers` is excluded for the same reason: the
 * platform-architecture grid carries its own pastel cards on a white section,
 * and the tint muddies them. The block cannot win this on specificity from its
 * own stylesheet — this selector is (0,7,2) — so the exclusion list is the
 * only non-hacky lever.
 *
 * `.seamlessmd-ai-feature` is excluded for the same reason: it draws its own
 * rounded dark panel inside the container, and the tint paints a grey band in
 * the margin around that panel where the reference shows page white. Same
 * (0,7,2) problem, same lever.
 *
 * `.seamlessmd-outcomes` is excluded so it owns its own pale-blue surface
 * deterministically. Without this the tint wins on specificity and the block's
 * declared background silently does nothing — which would also mean the
 * section changed colour purely by moving to an odd position in the page.
 * `.seamlessmd-platform-features` is excluded for exactly the same reason. */
main > section:nth-of-type(even):not(.seamlessmd-hero):not(.seamlessmd-cta-band):not(.seamlessmd-logo-row):not(.seamlessmd-image-text--appearance-dark):not(.seamlessmd-stat-grid--theme-dark):not(.seamlessmd-testimonials--variant-quote-bubble):not(.seamlessmd-intelligent-layers):not(.seamlessmd-ai-feature):not(.seamlessmd-outcomes):not(.seamlessmd-platform-features) {
	background: var(--seamlessmd-surface-alt);
}

/* Eyebrows — small caps, brand blue */
.seamlessmd-hero__eyebrow,
.seamlessmd-card-grid__eyebrow,
.seamlessmd-image-text__eyebrow,
.seamlessmd-testimonials__eyebrow,
.seamlessmd-logo-row__eyebrow,
.seamlessmd-cta-band__eyebrow,
.seamlessmd-content__eyebrow,
.seamlessmd-cpt-grid__eyebrow {
	display: inline-block;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--seamlessmd-primary);
	margin-bottom: var(--space-3);
}

/* ---------- Buttons: pill, bolder, shadow on primary ---------- */
.seamlessmd-btn {
	border-radius: var(--seamlessmd-radius-pill);
	padding: 0.85rem 1.6rem;
	font-weight: 600;
	letter-spacing: -0.005em;
	transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease;
}
.seamlessmd-btn--lg { padding: 1rem 2rem; font-size: 1rem; }
.seamlessmd-btn--primary {
	background: var(--seamlessmd-primary);
	color: #fff;
	box-shadow: 0 6px 16px rgba(37, 99, 235, 0.28);
}
.seamlessmd-btn--primary:hover {
	background: var(--seamlessmd-primary-dark);
	transform: translateY(-1px);
	box-shadow: 0 10px 22px rgba(37, 99, 235, 0.34);
}
.seamlessmd-btn--ghost,
.seamlessmd-btn--secondary {
	background: transparent;
	color: var(--seamlessmd-text);
	border: 1px solid var(--seamlessmd-border);
}
.seamlessmd-btn--ghost:hover,
.seamlessmd-btn--secondary:hover {
	background: var(--seamlessmd-surface-alt);
	border-color: var(--seamlessmd-text);
}

/* ---------- Header: taller bar, tighter nav, nicer dropdown panel ---------- */
.seamlessmd-site-header {
	background: rgba(255, 255, 255, 0.92);
	backdrop-filter: saturate(180%) blur(14px);
	-webkit-backdrop-filter: saturate(180%) blur(14px);
	border-bottom: 1px solid rgba(30, 42, 92, 0.06);
}
/* Clear the WP admin toolbar when logged in — matching WP core's own
 * breakpoints: 32px desktop, 46px ≤782px, and at ≤600px the toolbar is
 * position:absolute (scrolls away), so the header pins to the real
 * viewport top. Without the last step a 32px strip of page content
 * peeked above the sticky header on phones. */
.admin-bar .seamlessmd-site-header {
	top: 32px;
}

@media screen and (max-width: 782px) {
	.admin-bar .seamlessmd-site-header {
		top: 46px;
	}
}

@media screen and (max-width: 600px) {
	.admin-bar .seamlessmd-site-header {
		top: 0;
	}
}
.seamlessmd-site-header__inner {
	min-height: var(--seamlessmd-header-height);
	gap: var(--space-7);
}
.seamlessmd-primary-nav .seamlessmd-nav-menu,
.seamlessmd-primary-nav ul {
	gap: var(--space-6);
}
.seamlessmd-primary-nav a {
	font-weight: 500;
	color: var(--seamlessmd-text);
	padding: 0.5rem 0.25rem;
	border-bottom: 2px solid transparent;
	transition: color 180ms ease, border-color 180ms ease;
}
.seamlessmd-primary-nav a:hover,
.seamlessmd-primary-nav .current-menu-item > a {
	color: var(--seamlessmd-primary);
	border-bottom-color: var(--seamlessmd-primary);
}

/* Multi-column dropdown panel for CPT-backed menu parents */
.seamlessmd-primary-nav .menu-item-has-children,
.seamlessmd-primary-nav .seamlessmd-has-cpt-dropdown {
	position: relative;
}
.seamlessmd-primary-nav .seamlessmd-dropdown-menu,
.seamlessmd-primary-nav .sub-menu {
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%) translateY(8px);
	min-width: 420px;
	max-width: min(620px, 90vw);
	padding: var(--space-5);
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--space-3) var(--space-5);
	background: #fff;
	border: 1px solid var(--seamlessmd-border);
	border-radius: var(--seamlessmd-radius-card);
	box-shadow: var(--seamlessmd-shadow-lg);
	opacity: 0;
	visibility: hidden;
	transition: opacity 180ms ease, transform 180ms ease, visibility 180ms;
	list-style: none;
	margin: 0;
	z-index: 60;
}
.seamlessmd-primary-nav .menu-item-has-children:hover > .seamlessmd-dropdown-menu,
.seamlessmd-primary-nav .menu-item-has-children:hover > .sub-menu,
.seamlessmd-primary-nav .seamlessmd-has-cpt-dropdown:hover > .seamlessmd-dropdown-menu,
.seamlessmd-primary-nav li:focus-within > .seamlessmd-dropdown-menu,
.seamlessmd-primary-nav li:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateX(-50%) translateY(0);
}
.seamlessmd-primary-nav .seamlessmd-dropdown-menu li,
.seamlessmd-primary-nav .sub-menu li {
	list-style: none;
}
.seamlessmd-primary-nav .seamlessmd-dropdown-menu a,
.seamlessmd-primary-nav .sub-menu a {
	display: block;
	padding: 0.5rem 0.75rem;
	border-radius: var(--seamlessmd-radius-md);
	border-bottom: 0;
	font-weight: 500;
	line-height: 1.35;
}
.seamlessmd-primary-nav .seamlessmd-dropdown-menu a:hover,
.seamlessmd-primary-nav .sub-menu a:hover {
	background: var(--seamlessmd-surface-alt);
	color: var(--seamlessmd-primary);
}
.seamlessmd-primary-nav .seamlessmd-has-cpt-dropdown > a::after {
	content: "\25BE";
	margin-inline-start: 6px;
	font-size: 0.7em;
	color: var(--seamlessmd-text-muted);
}

/* Language switcher — pill chip */
.seamlessmd-lang-switcher ul {
	display: flex;
	list-style: none;
	padding: 4px;
	margin: 0;
	background: var(--seamlessmd-surface-alt);
	border-radius: var(--seamlessmd-radius-pill);
	gap: 2px;
}
.seamlessmd-lang-switcher a {
	display: inline-flex;
	align-items: center;
	padding: 4px 12px;
	border-radius: var(--seamlessmd-radius-pill);
	color: var(--seamlessmd-text-muted);
	font-weight: 600;
	font-size: 0.8rem;
	text-transform: uppercase;
	text-decoration: none;
}
.seamlessmd-lang-switcher .current-lang a {
	background: #fff;
	color: var(--seamlessmd-text);
	box-shadow: var(--seamlessmd-shadow-sm);
}

/* ---------- Hero: airier, better type ---------- */
/* Hero padding-block is owned by the later rule (search for
 * seamlessmd-hero--variant-home below) which uses a calc that fills the
 * first viewport. Don't declare padding here. */
.seamlessmd-hero__heading { font-size: clamp(2.5rem, 5vw, 4.25rem); }
.seamlessmd-hero__subheading { font-size: clamp(1.05rem, 1.4vw, 1.25rem); color: var(--seamlessmd-text-muted); }
.seamlessmd-hero__ctas { gap: var(--space-3); margin-top: var(--space-6); }
.seamlessmd-hero__media-el { border-radius: var(--seamlessmd-radius-card); box-shadow: var(--seamlessmd-shadow-lg); }

/* ---------- Logo row: tight padding so hero + partners fit the first viewport ----------
 * Padding is in vh/rem so the footprint scales with viewport height but
 * never drops below a readable minimum. The total vertical height of this
 * section must match --seamlessmd-logo-row-reserve (consumed by the hero's
 * min-height calc) so the two together fill 100svh cleanly. */
.seamlessmd-logo-row { padding-block: clamp(1rem, 3.45vh, 3.5rem); background: var(--seamlessmd-surface); }
.seamlessmd-logo-row__heading {
	font-size: 0.85rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--seamlessmd-text-muted);
	text-align: center;
	margin-bottom: var(--space-6);
}
/* upstream renders all 8 customer logos in a single row. `.logo-container` has
 * max-width 125px with 7px horizontal padding (≈14px between items), so we
 * mirror those dimensions here.
 *
 * Layout + sizing rules are duplicated here (not just in the block's own
 * style.css) so the editor-preview iframe — which loads this bundle but
 * may NOT inline the block-level CSS — still renders logos correctly.
 * Both copies consume the same `--seamlessmd-logo-row-{height,gap}` CSS
 * variables that render.php emits inline on the section, so editor + FE
 * stay in sync no matter the cascade order. */
/* The descendant `.seamlessmd-logo-row` parent here is required to outrank
 * the WP editor canvas's `.editor-styles-wrapper img { max-width: 100%;
 * height: auto }` rule (specificity 0,1,1) — without it, the editor's
 * core image rule pinned every logo at its natural width and ignored
 * `--seamlessmd-logo-row-height`. The parent selector raises us to
 * 0,2,0 which beats the editor canvas rule cleanly. `max-width: none`
 * cancels that same WP editor cap so wide logos render at full natural
 * width when their requested height is large. */
.seamlessmd-logo-row .seamlessmd-logo-row__item {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
}
.seamlessmd-logo-row .seamlessmd-logo-row__logo {
	height: var(--seamlessmd-logo-row-height, 40px);
	width: auto;
	max-width: none;
	object-fit: contain;
	display: block;
}

/* ---------- Card grid: tighter cards, stat polish ---------- */
.seamlessmd-card-grid__heading { margin-bottom: var(--space-5); }
.seamlessmd-card-grid__subheading { color: var(--seamlessmd-text-muted); margin-bottom: var(--space-8); max-width: 55ch; }
.seamlessmd-card-grid--variant-feature .seamlessmd-card-grid__card {
	border-radius: var(--seamlessmd-radius-card);
	/* padding: var(--space-6); */
	/* background: #fff; */
	/* border: 1px solid var(--seamlessmd-border); */
	box-shadow: none;
	transition: transform 200ms ease, box-shadow 200ms ease, border-color 200ms ease;
	align-items: center;
}
/* .seamlessmd-card-grid--variant-feature .seamlessmd-card-grid__card:hover {
	transform: translateY(-2px);
	box-shadow: var(--seamlessmd-shadow-md);
	border-color: transparent;
} */
.seamlessmd-card-grid--variant-feature .seamlessmd-card-grid__icon {
	width: 92px;
	height: 92px;
	border-radius: 14px;
	background: transparent;
	/* background: var(--seamlessmd-surface-tinted); */
	color: var(--seamlessmd-primary);
	font-size: 1.25rem;
}
.seamlessmd-card-grid--variant-stat {
	background: linear-gradient(180deg, var(--seamlessmd-surface) 0%, var(--seamlessmd-surface-alt) 100%);
}
.seamlessmd-card-grid--variant-stat .seamlessmd-card-grid__list {
	gap: var(--space-6);
}
.seamlessmd-card-grid--variant-stat .seamlessmd-card-grid__number {
	font-size: clamp(2.5rem, 4.5vw, 4rem);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.03em;
	color: var(--seamlessmd-primary);
}
.seamlessmd-card-grid--variant-stat .seamlessmd-card-grid__label {
	font-size: 0.95rem;
	color: var(--seamlessmd-text-muted);
}

/* ---------- Image-text: big image, clean bullets ---------- */
/* .seamlessmd-image-text__image,
.seamlessmd-image-text__media img,
.seamlessmd-image-text img {
	border-radius: var(--seamlessmd-radius-card);
	box-shadow: var(--seamlessmd-shadow-md);
} */
.seamlessmd-image-text__bullets { gap: var(--space-3); }
.seamlessmd-image-text__bullet::before { color: var(--seamlessmd-primary); }

/* ---------- Testimonials: lighter cards ---------- */
.seamlessmd-testimonials__card {
	background: #fff;
	border-radius: var(--seamlessmd-radius-card);
	border: 1px solid var(--seamlessmd-border);
	padding: var(--space-6) var(--space-6) var(--space-5);
	box-shadow: none;
}
.seamlessmd-testimonials__quote {
	font-size: 1.05rem;
	line-height: 1.55;
	color: var(--seamlessmd-text);
	font-style: normal;
}
.seamlessmd-testimonials--variant-single-featured .seamlessmd-testimonials__quote {
	font-size: clamp(1.5rem, 2.5vw, 2.125rem);
	font-weight: 500;
	line-height: 1.35;
	max-width: 44ch;
}

/* ---------- CTA band: softer gradient ---------- */
.seamlessmd-cta-band--variant-gradient {
	background: linear-gradient(130deg, #2563eb 0%, #1e2a5c 100%);
}
.seamlessmd-cta-band__heading { color: inherit; }

/* ---------- Home pre-footer CTA: mirror nabed.net's .section.dark.cta —
   deep-blue band, centred white heading + single pill CTA, ~80px vertical
   padding. Scoped to .seamlessmd-home-main so solid-variant CTA bands on inner
   pages / patterns are unaffected. ---------- */
.seamlessmd-home-main .seamlessmd-cta-band {
	padding-block: clamp(56px, 6vw, 80px);
}
.seamlessmd-home-main .seamlessmd-cta-band__inner {
	gap: var(--space-4);
}
.seamlessmd-home-main .seamlessmd-cta-band__heading {
	font-size: clamp(1.5rem, 1.1rem + 1.6vw, 2.25rem);
	font-weight: 600;
	letter-spacing: -0.005em;
}
.seamlessmd-home-main .seamlessmd-cta-band__ctas {
	margin-top: var(--space-2);
}

/* Footer base styles live in section 5 above; the only override the nav
 * system still needs here is the mobile dropdown grid. */
@media (max-width: 600px) {
	.seamlessmd-primary-nav .seamlessmd-dropdown-menu,
	.seamlessmd-primary-nav .sub-menu { grid-template-columns: 1fr; min-width: 280px; }
}

/* ---------- CPT grid: cleaner cards ---------- */
.seamlessmd-cpt-grid__card {
	background: #fff;
	border: 1px solid var(--seamlessmd-border);
	border-radius: var(--seamlessmd-radius-card);
	overflow: hidden;
	transition: transform 200ms ease, box-shadow 200ms ease;
}
.seamlessmd-cpt-grid__card:hover { transform: translateY(-2px); box-shadow: var(--seamlessmd-shadow-md); }
.seamlessmd-cpt-grid__thumb { aspect-ratio: 16/10; background: var(--seamlessmd-surface-alt); }
.seamlessmd-cpt-grid__body { padding: var(--space-5); }
.seamlessmd-cpt-grid__title { font-size: 1.1rem; margin-bottom: var(--space-2); }
.seamlessmd-cpt-grid__excerpt { color: var(--seamlessmd-text-muted); font-size: 0.95rem; }

/* ---------- FAQ: flatter ---------- */
.seamlessmd-faq__item { border-top: 1px solid var(--seamlessmd-border); padding: var(--space-4); background-color: #ffffff; margin-bottom: 1rem; }
.seamlessmd-faq__summary { font-weight: 600; color: var(--seamlessmd-text); padding: var(--space-2) 0; }
.seamlessmd-faq__question { font-size: 1.05rem; }
/* Colour only. The open/closed geometry belongs to blocks/faq/style.css, which
 * rotates the two ::before / ::after strokes individually. This rule used to
 * also spin the whole wrapper 180deg, which cancelled that flip and left the
 * open chevron pointing down; page-news-faq*.css carried a `transform: none`
 * patch to undo it on the one page anyone had noticed. Both the rotation and
 * its transition were removed on 2026-09-10 along with those patches, so the
 * block stylesheet is now the single source of truth for the animation.
 * Trace: docs/audits/2026-09-10-faq-arrow-animation-trace.md */
.seamlessmd-faq__icon { color: var(--seamlessmd-text-muted); }
.seamlessmd-faq__item[open] .seamlessmd-faq__icon { color: var(--seamlessmd-primary); }

/* Logo row layout refinement — keep in sync with polish.
 * `gap` is editor-driven via the `logoGap` block attr, exposed as
 * `--seamlessmd-logo-row-gap` inline on the section. The 4rem fallback
 * matches the schema default so blocks that haven't been re-saved still
 * render the way they always did. */
.seamlessmd-logo-row__list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: var(--seamlessmd-logo-row-gap, 4rem);
}

/* ---------- Grouped dropdown (Specialties: Medical | Surgery) ---------- */
.seamlessmd-primary-nav .seamlessmd-dropdown-menu--grouped {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--space-4) var(--space-7);
	min-width: 560px;
	max-width: min(720px, 92vw);
}
.seamlessmd-dropdown-group__label {
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--seamlessmd-text-muted);
	margin: 0 0 var(--space-2);
	padding: 0 0.75rem;
}
.seamlessmd-dropdown-group__list {
	list-style: none;
	padding: 0;
	margin: 0;
}
.seamlessmd-dropdown-group__list li { list-style: none; }
.seamlessmd-dropdown-group__list a {
	display: block;
	padding: 0.5rem 0.75rem;
	border-radius: var(--seamlessmd-radius-md);
	font-weight: 500;
	color: var(--seamlessmd-text);
	text-decoration: none;
	line-height: 1.35;
}
.seamlessmd-dropdown-group__list a:hover {
	background: var(--seamlessmd-surface-alt);
	color: var(--seamlessmd-primary);
}

/* ---------- Announcement bar ---------- */
.seamlessmd-announcement-bar {
	background: var(--seamlessmd-dark-navy);
	color: #fff;
	font-size: 0.85rem;
	padding: 10px 0;
	text-align: center;
}
.seamlessmd-announcement-bar .container {
	display: inline-flex;
	gap: var(--space-3);
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
}
.seamlessmd-announcement-text { color: rgba(255, 255, 255, 0.88); }
.seamlessmd-announcement-link {
	color: #fff;
	font-weight: 600;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}
.seamlessmd-announcement-link:hover { border-bottom-color: #fff; }

/* Header action row layout: ghost CTA + primary CTA */
.seamlessmd-site-header__actions {
	display: flex;
	align-items: center;
	gap: var(--space-3);
}
.seamlessmd-header-cta--secondary {
	background: transparent;
	color: var(--seamlessmd-text);
	border: 1px solid var(--seamlessmd-border);
	padding: 0.6rem 1.2rem;
	font-weight: 600;
	border-radius: var(--seamlessmd-radius-pill);
}
.seamlessmd-header-cta--secondary:hover {
	border-color: var(--seamlessmd-text);
	background: var(--seamlessmd-surface-alt);
}

@media (max-width: 991px) {
	.seamlessmd-primary-nav .seamlessmd-dropdown-menu--grouped {
		grid-template-columns: 1fr;
		min-width: 280px;
	}
	.seamlessmd-header-cta--secondary { display: none; }
}

/* =====================================================================
 * 10. MEGA-MENU (later cascade — final override)
 *
 * Each CPT-backed primary nav item renders a full-width panel below the
 * header: main content (card grids) + sidebar + footer strip. Cards use
 * FA icons + excerpts, sidebar surfaces related dynamic content, footer
 * holds Contact Sales + View Demo links.
 * ===================================================================== */

/* Sticky on scroll: stays in flow (so the announcement bar still scrolls
 * off naturally), then pins to the viewport top once the page scrolls past
 * it. `.is-scrolled` is toggled from JS and drops a subtle shadow in. */
.seamlessmd-site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	transition: box-shadow 200ms ease, background-color 200ms ease;
}
.seamlessmd-site-header.is-scrolled {
	box-shadow: 0 6px 20px rgba(30, 42, 92, 0.08);
}

/* Parent <li> must be position:static so the absolute-positioned panel
 * can span the full container width instead of just the <li>. */
.seamlessmd-primary-nav .seamlessmd-nav-menu > li { position: static; }

/* Full-width megamenu bar. The outer card spans the viewport (so the
 * white background, border, and shadow bleed edge-to-edge) while the
 * inner .seamlessmd-megamenu__panel is clamped to --seamlessmd-container-max
 * and centered — matching the "full-width chrome / container-width
 * content" header pattern. */
.seamlessmd-megamenu {
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	padding: 0;
	margin: 0;
	background: #fff;
	border-top: 1px solid var(--seamlessmd-border);
	box-shadow: 0 24px 60px rgba(30, 42, 92, 0.12);
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity 180ms ease, transform 180ms ease, visibility 180ms;
	z-index: 80;
	display: block;
	pointer-events: none;
}
.seamlessmd-primary-nav li:hover > .seamlessmd-megamenu,
.seamlessmd-primary-nav li:focus-within > .seamlessmd-megamenu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	pointer-events: auto;
}

.seamlessmd-megamenu__panel {
	/* Outer .seamlessmd-megamenu bleeds edge-to-edge across the viewport;
	 * the inner panel caps the CONTENT at --seamlessmd-container-max and
	 * centers it so everything reads inside the page grid. */
	max-width: var(--seamlessmd-container-max);
	margin: 0 auto;
	padding: var(--space-8) var(--space-6) 0;
}
.seamlessmd-megamenu__body {
	display: grid;
	grid-template-columns: 1fr 320px;
	gap: var(--space-8);
	padding-bottom: var(--space-7);
}
.seamlessmd-megamenu__section-label {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--seamlessmd-text-muted);
	margin: 0 0 var(--space-4);
}

/* Main content grid: specialty (2 col) */
.seamlessmd-megamenu__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--space-7);
}
.seamlessmd-megamenu__column-label {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--seamlessmd-text);
	margin: 0 0 var(--space-4);
}
.seamlessmd-megamenu__cards {
	display: grid;
	gap: var(--space-2);
}
.seamlessmd-megamenu__cards--icon { grid-template-columns: 1fr; }
.seamlessmd-megamenu__column--surgery .seamlessmd-megamenu__cards--icon {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--space-2) var(--space-3);
}
.seamlessmd-megamenu__cards--text.seamlessmd-megamenu__cards--cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.seamlessmd-megamenu__cards--text.seamlessmd-megamenu__cards--cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

/* Card base */
.seamlessmd-megamenu__card {
	display: flex;
	align-items: center;
	gap: var(--space-3);
	padding: 10px 12px;
	border-radius: 12px;
	background: transparent;
	color: var(--seamlessmd-text);
	text-decoration: none;
	transition: background 180ms ease, transform 180ms ease;
}
.seamlessmd-megamenu__card:hover {
	background: var(--seamlessmd-primary-soft);
	color: var(--seamlessmd-text);
	transform: translateX(2px);
}

/* Icon card: small colored tile + FA icon */
.seamlessmd-megamenu__card--icon .seamlessmd-megamenu__card-tile {
	flex-shrink: 0;
	width: 40px; height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 10px;
	background: var(--seamlessmd-primary-soft);
	color: var(--seamlessmd-primary);
	font-size: 1.05rem;
}
.seamlessmd-megamenu__card--surgery .seamlessmd-megamenu__card-tile {
	background: #ffe9eb;
	color: #d6435a;
}
.seamlessmd-megamenu__card-title {
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--seamlessmd-text);
	line-height: 1.3;
}

/* Text card: title + short description stacked */
.seamlessmd-megamenu__card--text {
	flex-direction: column;
	align-items: flex-start;
	padding: 12px 14px;
	gap: 4px;
}
.seamlessmd-megamenu__card--text .seamlessmd-megamenu__card-title { font-size: 0.98rem; }
.seamlessmd-megamenu__card-text {
	font-size: 0.85rem;
	color: var(--seamlessmd-text-muted);
	line-height: 1.4;
}

/* Sidebar column */
.seamlessmd-megamenu__sidebar {
	background: var(--seamlessmd-surface-alt);
	margin: calc( -1 * var(--space-8) ) calc( -1 * var(--space-6) ) 0 0;
	padding: var(--space-7) var(--space-6);
	border-radius: 0;
}
.seamlessmd-megamenu__sidebar-label {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--seamlessmd-text-muted);
	margin: 0 0 var(--space-3);
}
.seamlessmd-megamenu__sidebar-label + .seamlessmd-megamenu__sidebar-label { margin-top: var(--space-6); }

.seamlessmd-megamenu__aside-card {
	display: flex;
	gap: var(--space-3);
	padding: 10px;
	margin-bottom: var(--space-2);
	border-radius: 12px;
	background: #fff;
	text-decoration: none;
	border: 1px solid rgba(30, 42, 92, 0.04);
	transition: box-shadow 180ms ease, transform 180ms ease;
}
.seamlessmd-megamenu__aside-card:hover { box-shadow: var(--seamlessmd-shadow-md); transform: translateY(-1px); }
.seamlessmd-megamenu__aside-card--image { align-items: stretch; }
.seamlessmd-megamenu__aside-thumb {
	flex-shrink: 0;
	width: 72px; height: 72px;
	border-radius: 8px;
	background-size: cover;
	background-position: center;
	background-color: var(--seamlessmd-primary-soft);
}
.seamlessmd-megamenu__aside-thumb--empty {
	background-image: linear-gradient(135deg, var(--seamlessmd-primary-soft), #fff);
}
.seamlessmd-megamenu__aside-body {
	display: flex;
	flex-direction: column;
	gap: 2px;
	color: var(--seamlessmd-text);
}
.seamlessmd-megamenu__aside-label {
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--seamlessmd-primary);
}
.seamlessmd-megamenu__aside-title {
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--seamlessmd-text);
	line-height: 1.3;
}

/* Accreditation badges */
.seamlessmd-megamenu__badges {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--space-2);
	margin-bottom: var(--space-4);
}
.seamlessmd-megamenu__badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 10px;
	background: #fff;
	border: 1px solid var(--seamlessmd-border);
	border-radius: var(--seamlessmd-radius-pill);
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--seamlessmd-text);
}
.seamlessmd-megamenu__badge i { color: var(--seamlessmd-primary); }

/* Quote snippet */
.seamlessmd-megamenu__quote {
	padding: 10px 12px;
	margin-bottom: var(--space-3);
	background: #fff;
	border-radius: 12px;
	border: 1px solid rgba(30, 42, 92, 0.04);
}
.seamlessmd-megamenu__quote-label {
	font-size: 0.72rem;
	font-weight: 700;
	color: var(--seamlessmd-primary);
	text-transform: uppercase;
	letter-spacing: 0.1em;
	margin: 0 0 4px;
}
.seamlessmd-megamenu__quote-text {
	font-size: 0.82rem;
	font-style: italic;
	line-height: 1.45;
	color: var(--seamlessmd-text);
	margin: 0;
}

/* Footer strip (Contact Sales | View Demo) */
.seamlessmd-megamenu__footer {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-4);
	padding: 14px 0 18px;
	border-top: 1px solid var(--seamlessmd-border);
	background: #fff;
	margin-top: 0;
}
.seamlessmd-megamenu__footer-link {
	color: var(--seamlessmd-text);
	font-weight: 600;
	text-decoration: none;
	font-size: 0.9rem;
	transition: color 180ms ease;
}
.seamlessmd-megamenu__footer-link:hover { color: var(--seamlessmd-primary); }
.seamlessmd-megamenu__footer-sep {
	width: 1px; height: 20px;
	background: var(--seamlessmd-border);
}

/* Caret on every top-level nav item */
.seamlessmd-primary-nav .seamlessmd-has-cpt-dropdown > a::after,
.seamlessmd-primary-nav .menu-item-has-children > a::after {
	content: "\25BE";
	margin-inline-start: 6px;
	font-size: 0.7em;
	color: var(--seamlessmd-text-muted);
}

/* Hide the older narrow dropdown styles inside a mega-menu container so
 * the Company menu (user-authored children) gets the mega-menu look too,
 * while legacy sub-menu markup falls back to a tidy column list. */
.seamlessmd-primary-nav .menu-item-has-children > .sub-menu {
	/* When user-authored sub-menu is present, render as the mega-menu panel
	 * shell — same positioning + chrome as the auto-generated one. */
	position: absolute;
	left: 0; right: 0;
	top: 100%;
	max-width: none;
	min-width: 0;
	background: #fff;
	border-top: 1px solid var(--seamlessmd-border);
	box-shadow: 0 24px 60px rgba(30, 42, 92, 0.12);
	padding: var(--space-7) 0;
	list-style: none;
	margin: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--space-2) var(--space-5);
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity 180ms ease, transform 180ms ease, visibility 180ms;
	z-index: 80;
}
.seamlessmd-primary-nav .menu-item-has-children > .sub-menu > li {
	padding: 0 var(--space-6);
}
.seamlessmd-primary-nav .menu-item-has-children > .sub-menu > li > a {
	display: block;
	padding: 10px 12px;
	border-radius: 10px;
	font-weight: 600;
	font-size: 0.95rem;
	color: var(--seamlessmd-text);
}
.seamlessmd-primary-nav .menu-item-has-children > .sub-menu > li > a:hover {
	background: var(--seamlessmd-primary-soft);
	color: var(--seamlessmd-primary);
}
.seamlessmd-primary-nav .menu-item-has-children:hover > .sub-menu,
.seamlessmd-primary-nav .menu-item-has-children:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

/* "Patient Help" green CTA variant for the secondary header button */
.seamlessmd-btn--patient-help {
	background: #2ecc71;
	color: #fff;
	border: 1px solid #2ecc71;
	box-shadow: 0 6px 14px rgba(46, 204, 113, 0.26);
}
.seamlessmd-btn--patient-help:hover {
	background: #27b862;
	border-color: #27b862;
	color: #fff;
	box-shadow: 0 10px 22px rgba(46, 204, 113, 0.32);
}

@media (max-width: 991px) {
	.seamlessmd-megamenu,
	.seamlessmd-primary-nav .menu-item-has-children > .sub-menu {
		position: static;
		box-shadow: none;
		border-top: 0;
		transform: none;
		padding: var(--space-4) 0;
	}
	.seamlessmd-megamenu__body { grid-template-columns: 1fr; gap: var(--space-4); }
	.seamlessmd-megamenu__sidebar { margin: 0; padding: var(--space-5); border-radius: 12px; }
	.seamlessmd-megamenu__grid { grid-template-columns: 1fr; gap: var(--space-4); }
	.seamlessmd-megamenu__column--surgery .seamlessmd-megamenu__cards--icon { grid-template-columns: 1fr; }
	.seamlessmd-megamenu__cards--text.seamlessmd-megamenu__cards--cols-2,
	.seamlessmd-megamenu__cards--text.seamlessmd-megamenu__cards--cols-3 { grid-template-columns: 1fr; }
}

/* =====================================================================
 * 11. NAVBAR POLISH — match header visual pattern more closely
 *
 * - Square-ish buttons (not pill), dark-navy primary + bright-green help
 * - Thinner nav link weight, more horizontal breathing room
 * - Click-to-open dropdown (hover trigger disabled; CSS now uses is-open)
 * - Mega-menu: sidebar on light-grey panel, column labels with subtle rule
 * ===================================================================== */

/* ---- Header logo sizing ---- */
.seamlessmd-site-header .custom-logo-link {
	display: inline-flex;
	align-items: center;
}
.seamlessmd-site-header .custom-logo {
	height: 36px;
	width: auto;
	max-width: none;
}

/* ---- Primary nav link styling: thinner, more spaced ---- */
.seamlessmd-primary-nav .seamlessmd-nav-menu,
.seamlessmd-primary-nav ul {
	gap: var(--space-7);
}
.seamlessmd-primary-nav .seamlessmd-nav-menu > li > a {
	font-weight: 500;
	font-size: 0.95rem;
	letter-spacing: -0.005em;
	color: var(--seamlessmd-text);
	padding: 6px 2px;
	border-bottom: 2px solid transparent;
}
.seamlessmd-primary-nav .seamlessmd-nav-menu > li.is-open > a,
.seamlessmd-primary-nav .seamlessmd-nav-menu > li > a:hover {
	color: var(--seamlessmd-text);
	border-bottom-color: var(--seamlessmd-primary);
}

/* ---- Header CTAs: square-ish, compact, brand palette ---- */
.seamlessmd-site-header__actions .seamlessmd-btn,
.seamlessmd-site-header__actions .seamlessmd-header-cta,
.seamlessmd-site-header__actions .seamlessmd-header-cta--patient-help {
	border-radius: 8px;
	padding: 10px 22px;
	font-size: 0.95rem;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.2;
	box-shadow: none;
	border: 0;
}
.seamlessmd-site-header__actions .seamlessmd-btn--primary {
	background: #2f2879;
	color: #fff;
}
.seamlessmd-site-header__actions .seamlessmd-btn--primary:hover {
	background: #0f2443;
	color: #fff;
	transform: none;
	box-shadow: 0 4px 12px rgba(47, 40, 121, 0.3);
}
.seamlessmd-site-header__actions .seamlessmd-btn--patient-help {
	background: #06bd5e;
	color: #fff;
	border: 0;
}
.seamlessmd-site-header__actions .seamlessmd-btn--patient-help:hover {
	background: #05a150;
	color: #fff;
	box-shadow: 0 4px 12px rgba(6, 189, 94, 0.3);
}

/* ---- Click-to-open dropdowns (replace hover triggers) ---- */
.seamlessmd-primary-nav li:hover > .seamlessmd-megamenu,
.seamlessmd-primary-nav li:hover > .sub-menu {
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	pointer-events: none;
}
.seamlessmd-primary-nav .menu-item-has-children.is-open > .seamlessmd-megamenu,
.seamlessmd-primary-nav .menu-item-has-children.is-open > .sub-menu,
.seamlessmd-primary-nav .seamlessmd-has-cpt-dropdown.is-open > .seamlessmd-megamenu,
.seamlessmd-primary-nav li.is-open:focus-within > .seamlessmd-megamenu,
.seamlessmd-primary-nav li.is-open:focus-within > .sub-menu {
	opacity: 1 !important;
	visibility: visible !important;
	transform: translateY(0) !important;
	pointer-events: auto !important;
}

/* ---- Mega-menu refinements ---- */
.seamlessmd-megamenu__panel {
	padding-top: var(--space-7);
}
/* Column labels with underline rule (Medical / Surgery / Related articles) */
.seamlessmd-megamenu__column-label,
.seamlessmd-megamenu__sidebar-label {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #5a6b7f;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--seamlessmd-border);
	margin-bottom: var(--space-4);
}
.seamlessmd-megamenu__section-label {
	display: none;
}

/* Sidebar on light grey panel */
.seamlessmd-megamenu__sidebar {
	background: var(--seamlessmd-surface-alt);
	border-radius: 12px;
	padding: var(--space-6);
	margin: 0;
	align-self: start;
}
.seamlessmd-megamenu__sidebar-label:first-child { margin-top: 0; }
.seamlessmd-megamenu__aside-card {
	padding: 12px 14px;
	background: transparent;
	border: 0;
	border-bottom: 1px solid var(--seamlessmd-border);
	border-radius: 0;
	margin: 0;
	display: block;
}
.seamlessmd-megamenu__aside-card:last-child { border-bottom: 0; }
.seamlessmd-megamenu__aside-card:hover {
	box-shadow: none;
	transform: none;
	background: rgba(37, 99, 235, 0.04);
}
.seamlessmd-megamenu__aside-card--image {
	display: grid;
	grid-template-columns: 64px 1fr;
	gap: var(--space-3);
	align-items: start;
}
.seamlessmd-megamenu__aside-thumb {
	width: 64px; height: 64px;
	border-radius: 6px;
}
.seamlessmd-megamenu__aside-title {
	font-size: 0.88rem;
	line-height: 1.4;
	color: var(--seamlessmd-text);
	font-weight: 500;
}

/* Icon tiles: softer, smaller */
.seamlessmd-megamenu__card--icon .seamlessmd-megamenu__card-tile {
	width: 36px; height: 36px;
	border-radius: 8px;
	font-size: 0.95rem;
}
.seamlessmd-megamenu__card--medical .seamlessmd-megamenu__card-tile {
	background: #e6f0fa;
	color: #2a6ebb;
}
.seamlessmd-megamenu__card--surgery .seamlessmd-megamenu__card-tile {
	background: #fde9ec;
	color: #d6435a;
}
.seamlessmd-megamenu__card--icon .seamlessmd-megamenu__card-title {
	font-size: 0.92rem;
	font-weight: 500;
}

/* Body layout: more sidebar width for the grey panel */
.seamlessmd-megamenu__body {
	grid-template-columns: 1fr 340px;
}

/* Footer strip tighter */
.seamlessmd-megamenu__footer {
	margin-top: 0;
	padding: 12px 0 16px;
	background: var(--seamlessmd-surface-alt);
	border-top: 1px solid var(--seamlessmd-border);
	border-radius: 0;
}

/* Remove caret underline on parents that use icon markup */
.seamlessmd-primary-nav .seamlessmd-has-cpt-dropdown > a,
.seamlessmd-primary-nav .menu-item-has-children > a {
	display: inline-flex;
	align-items: center;
	gap: 4px;
}

/* Hide the lang switcher's pill bg on header CTA line for a cleaner look */
.seamlessmd-site-header__actions .seamlessmd-lang-switcher ul {
	background: transparent;
	padding: 0;
}
.seamlessmd-site-header__actions .seamlessmd-lang-switcher a {
	font-size: 0.85rem;
	color: var(--seamlessmd-text-muted);
	background: transparent;
	box-shadow: none;
}
.seamlessmd-site-header__actions .seamlessmd-lang-switcher .current-lang a {
	color: var(--seamlessmd-text);
	background: transparent;
	box-shadow: none;
	font-weight: 600;
}

/* =====================================================================
 * 12. HEADER SIZING — precise proportions
 * ===================================================================== */

:root {
	--seamlessmd-header-height: 88px;
}

.seamlessmd-site-header__inner {
	min-height: 88px;
	padding-block: 0;
	gap: var(--space-7);
}

/* Logo — taller to match the original mark's optical weight */
.seamlessmd-site-header .custom-logo {
	height: 32px;
}

/* Nav link baseline */
.seamlessmd-primary-nav .seamlessmd-nav-menu > li > a {
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0;
	padding: 6px 4px;
	color: #2f2879;
}
.seamlessmd-primary-nav .seamlessmd-nav-menu > li.is-open > a {
	border-bottom-color: #2f2879;
}
.seamlessmd-primary-nav .seamlessmd-nav-menu {
	gap: 40px;
	align-items: center;
}
/* Caret: smaller, grayer, matches the original chevron */
.seamlessmd-primary-nav .seamlessmd-has-cpt-dropdown > a::after,
.seamlessmd-primary-nav .menu-item-has-children > a::after {
	content: "\25BE";
	font-size: 10px;
	color: #a3b1c2;
	margin-inline-start: 6px;
}

/* CTAs — compact height, medium radius, brand-accurate colors */
.seamlessmd-site-header__actions { gap: 14px; }
.seamlessmd-site-header__actions .seamlessmd-btn,
.seamlessmd-site-header__actions .seamlessmd-header-cta {
	font-size: 15px;
	font-weight: 500;
	padding: 11px 24px;
	border-radius: 6px;
	line-height: 1;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
}
.seamlessmd-site-header__actions .seamlessmd-btn--primary {
	background: #2f2879;
	color: #fff;
}
.seamlessmd-site-header__actions .seamlessmd-btn--patient-help {
	background: #06bd5e;
	color: #fff;
}

/* Tiny lang switcher — don't compete with CTAs */
.seamlessmd-site-header__actions .seamlessmd-lang-switcher { margin-right: 8px; }
.seamlessmd-site-header__actions .seamlessmd-lang-switcher a { font-size: 13px; }

@media (max-width: 991px) {
	.seamlessmd-site-header__inner { min-height: 72px; }
	.seamlessmd-site-header .custom-logo { height: 28px; }
}

/* =====================================================================
 * 13. HEADER TYPOGRAPHY + SPACING — final polish
 *
 * Applies conventional marketing-site navbar proportions:
 *   - Consistent sans-serif stack (Inter already loaded)
 *   - Medium (500) weight for nav, regular (500) for CTAs
 *   - Tightened letter-spacing typical of dense marketing navs
 *   - Comfortable horizontal spacing (larger gaps between items)
 * ===================================================================== */

.seamlessmd-site-header,
.seamlessmd-site-header * {
	font-family: var(--seamlessmd-font-sans);
}

.seamlessmd-site-header__inner {
	gap: 48px;
}

/* Nav — tighter tracking, medium weight, comfortable 36px gap */
.seamlessmd-primary-nav .seamlessmd-nav-menu {
	gap: 36px;
}
.seamlessmd-primary-nav .seamlessmd-nav-menu > li > a {
	font-size: 15px;
	font-weight: 500;
	letter-spacing: -0.01em;
	line-height: 1.2;
	color: #242b3a;
	padding: 8px 2px;
	border-bottom: 2px solid transparent;
	transition: color 150ms ease, border-color 150ms ease;
}
.seamlessmd-primary-nav .seamlessmd-nav-menu > li > a:hover {
	color: #2f2879;
}
.seamlessmd-primary-nav .seamlessmd-nav-menu > li.is-open > a {
	color: #2f2879;
	border-bottom-color: #2f2879;
}

/* Caret — 9px muted chevron, consistent baseline */
.seamlessmd-primary-nav .seamlessmd-has-cpt-dropdown > a::after,
.seamlessmd-primary-nav .menu-item-has-children > a::after {
	content: "";
	width: 8px; height: 8px;
	margin-inline-start: 6px;
	border-right: 1.5px solid #9aa5b5;
	border-bottom: 1.5px solid #9aa5b5;
	transform: rotate(45deg) translate(-1px, -1px);
	display: inline-block;
	transition: transform 150ms ease, border-color 150ms ease;
}
.seamlessmd-primary-nav .seamlessmd-nav-menu > li.is-open > a::after {
	border-color: #2f2879;
	transform: rotate(-135deg) translate(-2px, -2px);
}

/* CTAs — 15px label, 500 weight, 12px 28px padding, 6px radius */
.seamlessmd-site-header__actions {
	gap: 12px;
	align-items: center;
}
.seamlessmd-site-header__actions .seamlessmd-btn,
.seamlessmd-site-header__actions .seamlessmd-header-cta {
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0;
	padding: 12px 28px;
	border-radius: 6px;
	line-height: 1;
	min-height: 46px;
	box-shadow: none;
	transition: background 150ms ease, color 150ms ease, transform 100ms ease;
}
.seamlessmd-site-header__actions .seamlessmd-btn--primary {
	background: #2f2879;
	color: #fff;
	border: 0;
}
.seamlessmd-site-header__actions .seamlessmd-btn--primary:hover {
	background: #0d2749;
	color: #fff;
	box-shadow: none;
	transform: none;
}
.seamlessmd-site-header__actions .seamlessmd-btn--patient-help {
	background: #06bd5e;
	color: #fff;
	border: 0;
}
.seamlessmd-site-header__actions .seamlessmd-btn--patient-help:hover {
	background: #05a150;
	color: #fff;
	box-shadow: none;
	transform: none;
}

/* Language switcher — minimal, aligned with CTA line */
.seamlessmd-site-header__actions .seamlessmd-lang-switcher ul {
	background: transparent;
	padding: 0;
	gap: 8px;
}
.seamlessmd-site-header__actions .seamlessmd-lang-switcher a {
	font-size: 13px;
	font-weight: 500;
	padding: 6px 10px;
	background: transparent;
	color: #6b7280;
	box-shadow: none;
}
.seamlessmd-site-header__actions .seamlessmd-lang-switcher .current-lang a {
	color: #2f2879;
	background: transparent;
}

/* Logo baseline — small optical adjustment */
.seamlessmd-site-header .custom-logo {
	height: 32px;
	display: block;
}
.seamlessmd-site-header .custom-logo-link {
	line-height: 0;
}

/* =====================================================================
 * 14. HEADER MICRO-ADJUSTS — match the branding reference exactly
 * ===================================================================== */

/* Solid white header (reference has no backdrop blur / translucency) */
.seamlessmd-site-header {
	background: #ffffff;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	border-bottom: 1px solid rgba(30, 42, 92, 0.06);
}

.seamlessmd-site-header .custom-logo { height: 28px; }
.seamlessmd-site-header__inner {
	gap: 48px;
}

/* Nav link baseline — 15px / 500, comfortable tracking, navy on hover */
.seamlessmd-primary-nav .seamlessmd-nav-menu {
	gap: 32px;
}
.seamlessmd-primary-nav .seamlessmd-nav-menu > li > a {
	letter-spacing: 0;
	font-size: 15px;
	font-weight: 500;
	color: #2f2879;
	padding: 8px 0;
	border-bottom: 0;
}
.seamlessmd-primary-nav .seamlessmd-nav-menu > li > a:hover,
.seamlessmd-primary-nav .seamlessmd-nav-menu > li.is-open > a {
	color: #0066cc;
	border-bottom: 0;
}

/* Caret: small light-navy chevron after each top-level item */
.seamlessmd-primary-nav .seamlessmd-has-cpt-dropdown > a::after,
.seamlessmd-primary-nav .menu-item-has-children > a::after {
	content: "";
	width: 6px; height: 6px;
	margin-inline-start: 6px;
	border-right: 1.5px solid #2f2879;
	border-bottom: 1.5px solid #2f2879;
	transform: rotate(45deg) translate(-1px, -1px);
	display: inline-block;
	opacity: 0.85;
}

/* CTAs — tighter padding, 4px radius to match reference */
.seamlessmd-site-header__actions {
	gap: 10px;
}
.seamlessmd-site-header__actions .seamlessmd-btn,
.seamlessmd-site-header__actions .seamlessmd-header-cta {
	font-size: 14px;
	font-weight: 600;
	padding: 10px 18px;
	border-radius: 4px;
	min-height: 40px;
	letter-spacing: 0;
}
.seamlessmd-site-header__actions .seamlessmd-btn--primary {
	background: #002e6e;
	color: #fff;
}
.seamlessmd-site-header__actions .seamlessmd-btn--primary:hover {
	background: #001f4d;
	color: #fff;
}
.seamlessmd-site-header__actions .seamlessmd-btn--patient-help {
	background: #00c172;
	color: #fff;
}
.seamlessmd-site-header__actions .seamlessmd-btn--patient-help:hover {
	background: #00a862;
	color: #fff;
}

/* Language switcher — compact, unobtrusive, left of CTAs */
.seamlessmd-site-header__actions .seamlessmd-lang-switcher {
	margin-right: 4px;
}
.seamlessmd-site-header__actions .seamlessmd-lang-switcher ul {
	gap: 4px;
}
.seamlessmd-site-header__actions .seamlessmd-lang-switcher a {
	font-size: 12px;
	padding: 4px 6px;
	color: #6b7280;
}
.seamlessmd-site-header__actions .seamlessmd-lang-switcher .current-lang a {
	color: #2f2879;
	font-weight: 600;
}

:root { --seamlessmd-header-height: 72px; }
.seamlessmd-site-header__inner { min-height: 72px; }

/* =====================================================================
 * 15. HOME HERO + PARTNERS — structural polish (generic patterns)
 * ===================================================================== */

/* --- Hero: two-col layout, bigger dark-navy heading, single CTA ---
 * upstream's `.section.home-hero` layers a dark-blue radial-glow PNG top-right
 * on top of the page's default white fill. The circle itself is painted
 * by the `.seamlessmd-hero--variant-home::before` rule in blocks/hero/
 * style.css so it can be mirrored with scaleX() in RTL via the shared
 * `--seamlessmd-dir-x` variable; painting it here again would stack an
 * un-mirrored copy on the opposite side in Arabic.
 *
 * Sizing contract: the hero + partners row together fill exactly the first
 * viewport (100svh minus the sticky header). We reserve a fixed rem-based
 * slice for the partners row via --seamlessmd-logo-row-reserve and let the
 * hero consume everything else via a min-height calc. Zero pixel literals. */
.seamlessmd-hero--variant-home {
	background-color: #ffffff;
	padding-block: clamp(1rem, 3vh, 2.5rem);
	position: relative;
	overflow: hidden;
	display: flex;
	align-items: center;
}

.seamlessmd-hero--variant-home .seamlessmd-hero__inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
	gap: clamp(24px, 4vw, 72px);
	align-items: center;
}
.seamlessmd-hero--variant-home .seamlessmd-hero__content {
	color: #2f2879;
	max-width: 640px;
}
.seamlessmd-hero--variant-home .seamlessmd-hero__eyebrow {
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--seamlessmd-primary);
}
/* v2 home hero: the previous scale (clamp(1.625rem, 2.1vw, 1.875rem) = 26-30px)
 * was tuned for the rejected single-CTA layout and reads as body copy next to
 * the new composition. Raised here rather than in blocks/hero-banner/style.css
 * because this file loads AFTER the block stylesheet, so this 0,2,0 rule beats
 * anything the block file can declare at the same specificity — overriding it
 * there would need a 0,3,0 escalation while leaving a contradicting rule in
 * place. Only this rule's own declarations changed. */
.seamlessmd-hero--variant-home .seamlessmd-hero__heading {
	font-size: clamp(2.25rem, 3.1vw, 3.25rem);
	font-weight: 800;
	line-height: 1.12;
	letter-spacing: -0.02em;
	color: var(--seamlessmd-dark-navy, #1e2a5c);
	margin: 0 0 var(--space-5);
}
/* Hero image: drop the theme-wide card chrome. upstream's hero PNG has its own
 * baked-in shadow, so we strip the radius + box-shadow. The old 380px cap +
 * auto-centering on `.seamlessmd-hero__media` was removed for the v2 home
 * composition — the media now fills its grid column, sized in
 * blocks/hero-banner/style.css. */
.seamlessmd-hero--variant-home .seamlessmd-hero__media-el {
	max-width: 100%;
	border-radius: 0;
	box-shadow: none;
	height: auto;
	display: block;
}
.seamlessmd-hero--variant-home .seamlessmd-hero__ctas {
	margin-top: clamp(24px, 3vw, 40px);
}
.seamlessmd-hero--variant-home .seamlessmd-hero__cta--primary {
	background: #2f2879;
	color: #fff;
	border-radius: 6px;
	padding: 16px 40px;
	font-size: 16px;
	font-weight: 500;
	border: 0;
	box-shadow: none;
	min-width: 280px;
	text-align: center;
	justify-content: center;
}
.seamlessmd-hero--variant-home .seamlessmd-hero__cta--primary:hover {
	background: #0d2749;
	transform: none;
	box-shadow: none;
}
@media (max-width: 991px) {
	.seamlessmd-hero--variant-home .seamlessmd-hero__inner {
		grid-template-columns: 1fr;
	}
	.seamlessmd-hero--variant-home .seamlessmd-hero__cta--primary {
		min-width: 0;
		width: 100%;
	}
}

/* --- Partners row: uppercase muted heading, logos centered on white --- */
.seamlessmd-logo-row--variant-customers {
	/* Transparent so the hero's bg-circle/white surface continues cleanly
	 * through the partners strip, matching the single-background look of
	 * the reference above-the-fold area. */
	background: transparent;
	/* Spacing between the heading and the logo row lives on `gap`, not on
	 * the heading's own margin/padding — so the heading can stay a pure
	 * text element with no intrinsic box spacing. Top/bottom padding is
	 * symmetric and tight so the strip reads as a compact band, not a
	 * vertically-padded section. */
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: clamp(1rem, 2vh, 1.75rem);
}
.seamlessmd-logo-row--variant-customers .seamlessmd-logo-row__header {
	text-align: center;
	margin: 0 0 2rem;
	padding: 0;
}
.seamlessmd-logo-row--variant-customers .seamlessmd-logo-row__heading {
	/* Font/weight/size/line-height/color/transform all verbatim from the
	 * upstream live computed style on h3.heading.accent. No margin or padding
	 * here — vertical spacing is owned by the section's `gap`.
	 *
	 * !important on font-family is intentional: the body inherits
	 * `--seamlessmd-font-sans` (Inter), and various downstream caches /
	 * editor-canvas iframes have been observed to keep that inherited value
	 * even though this rule has higher specificity than `body`. Forcing here
	 * guarantees source-matching Nunito Sans regardless of cascade quirks. */
	font-family: "Nunito Sans", sans-serif !important;
	color: #131313;
	font-size: 1.2em;
	font-weight: 700;
	line-height: 30px;
	letter-spacing: normal;
	text-transform: uppercase;
	text-align: center;
	margin: 0;
	padding: 0;
}
.seamlessmd-logo-row--variant-customers .seamlessmd-logo-row__subheading {
	display: none;
}
/* The customers variant used to force `flex-wrap: nowrap` and a hardcoded
 * `gap: clamp(1rem, 3vw, 3rem)` — the latter overrode the editor's
 * `--seamlessmd-logo-row-gap` var so changing the Gap field had no
 * effect for the customers variant. Layout for `__list` is handled by
 * blocks/logo-row/style.css; logos wrap onto multiple rows on narrow
 * viewports there, which is the responsive behavior we want. */
/* Variant-specific logo sizing + grayscale-disable used to live here. The
 * rule pinned `height: clamp(2.5rem, 4vw, 3.25rem)` (overriding the
 * `--seamlessmd-logo-row-height` editor var), `max-width: 125px`, and
 * `filter: none; opacity: 1` (which silently disabled the grayscale
 * toggle for the customers variant). All sizing + grayscale behavior
 * is owned by blocks/logo-row/style.css now. */

/* =====================================================================
 * 16. HEADER — two-side layout, uniform typography, full-width menus
 *
 * Final-cascade header rules:
 *   - Brand anchors one edge, nav + CTAs group on the opposite edge
 *     (handled in section 4 via `margin-inline-start: auto` on the nav).
 *   - Brand text / nav links / CTA buttons share the same font-family +
 *     font-size (weight differs per role).
 *   - Every header dropdown is full-viewport-width chrome with content
 *     clamped to the page container. Mega-menus already wrap content in
 *     `.seamlessmd-megamenu__panel`; user-authored sub-menus use
 *     padding-inline to achieve the same effect on the <ul> itself.
 * ===================================================================== */

.seamlessmd-site-title {
	font-family: var(--seamlessmd-font-sans);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0;
	color: #2f2879;
}

.seamlessmd-primary-nav .seamlessmd-nav-menu > li > a {
	font-family: var(--seamlessmd-font-sans);
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0;
}

/* Desktop CTA buttons (mobile CTAs inside `.seamlessmd-primary-nav__ctas`
 * keep their existing full-width styling from section 8). */
.seamlessmd-site-header__ctas .seamlessmd-btn,
.seamlessmd-site-header__ctas .seamlessmd-header-cta {
	font-family: var(--seamlessmd-font-sans);
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0;
	padding: 10px 20px;
	border-radius: 6px;
	min-height: 42px;
	line-height: 1.2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

/* Mega-menu panel: identical to .seamlessmd-container so menu content
 * aligns with the page content column below it. Uses the shared gutter
 * token so it tracks the responsive horizontal padding everywhere else. */
.seamlessmd-megamenu__panel {
	width: 100%;
	max-width: var(--seamlessmd-container-max);
	margin-inline: auto;
	padding-inline: var(--seamlessmd-gutter);
}

/* User-authored sub-menus (e.g. Resources, "Another short section"): the
 * <ul> already spans the full viewport width via `left:0; right:0` against
 * the position:relative header. Clamp its GRID content to the page's
 * container column by setting `padding-inline` to the gap between the
 * viewport edge and the container edge (with the standard responsive
 * gutter). Effect: background, border, and shadow still bleed edge-to-edge;
 * links align with the page content below. */
@media (min-width: 992px) {
	.seamlessmd-primary-nav .menu-item-has-children > .sub-menu {
		padding-inline: max(var(--seamlessmd-gutter), calc((100% - var(--seamlessmd-container-max)) / 2 + var(--seamlessmd-gutter)));
	}
	.seamlessmd-primary-nav .menu-item-has-children > .sub-menu > li {
		padding: 0;
	}
}

/* =====================================================================
 * 9. MEGA-NAV (ported 1:1 from Nabed's `.navbar-wrapper.w-nav`)
 *
 * Upstream source: upstream source line 28 + upstream source.
 * Classes match Webflow's originals so the cascade carries through when
 * compared side-by-side against nabed.net. Everything is scoped under
 * `.seamlessmd-site-header .navbar-wrapper` so these rules never leak
 * onto page content that happens to use the same Webflow class names.
 * ===================================================================== */

/* Reset the height clamp the legacy header rule (§4) imposed — the mega
 * nav manages its own height via .navbar--container's min-height. Uses
 * `:has()` so themes that still use the old flat markup keep the clamp;
 * only pages that render the new mega-nav get auto-height. */
.seamlessmd-site-header:has(.navbar-wrapper) {
	height: auto;
	min-height: 80px;
}

.seamlessmd-site-header .navbar-wrapper {
	position: relative;
	background: #fff;
	z-index: 50;
	height: 100%;
}

/* Header bar — uses the unified `.seamlessmd-container` width + gutter so
 * the header content edge aligns exactly with every block's content edge
 * at every breakpoint. The bar's outer background still bleeds full-width
 * via the parent `.seamlessmd-site-header`; this rule constrains the
 * inner row only. Upstream Webflow originally used a hardcoded 1440 cap;
 * we replaced that with the project's --seamlessmd-container-max token. */
.seamlessmd-site-header .navbar--container {
	width: 100%;
	max-width: var(--seamlessmd-container-max);
	min-height: 80px;
	margin-inline: auto;
	padding-inline: var(--seamlessmd-gutter);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-5);
}

/* Logo */
.seamlessmd-site-header .navbar--logo {
	display: inline-flex;
	align-items: center;
	flex-shrink: 0;
}
.seamlessmd-site-header .navbar--logo img,
.seamlessmd-site-header .navbar--logo .custom-logo {
	height: 52px;
	width: auto;
	display: block;
}

/* Primary nav menubar */
.seamlessmd-site-header .navbar-menu {
	display: flex;
	align-items: center;
	flex: 1 1 auto;
	justify-content: center;
}
.seamlessmd-site-header .navbar-menu__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	gap: 4px;
}
.seamlessmd-site-header .navbar-menu__item {
	position: static; /* dropdown is absolutely positioned against navbar-wrapper */
}

/* Top-level trigger (the button-style menuitem) */
.seamlessmd-site-header .dropdown-toggle-7 {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: transparent;
	border: 0;
	cursor: pointer;
	padding: 12px 14px;
	font: inherit;
	font-weight: 500;
	color: var(--seamlessmd-dark-navy);
	text-decoration: none;
	border-radius: var(--seamlessmd-radius-md);
	transition: color 140ms ease, background-color 140ms ease;
}
.seamlessmd-site-header .dropdown-toggle-7:hover,
.seamlessmd-site-header .dropdown-toggle-7:focus-visible,
.seamlessmd-site-header .dropdown-4.is-open > .dropdown-toggle-7 {
	color: var(--seamlessmd-primary-dark);
	background-color: rgba(37, 99, 235, 0.06);
}
.seamlessmd-site-header .dropdown-toggle-7:focus-visible {
	outline: 2px solid var(--seamlessmd-primary);
	outline-offset: 2px;
}
.seamlessmd-site-header .dropdown-toggle-text { line-height: 1.2; }
.seamlessmd-site-header .caret {
	display: inline-flex;
	transition: transform 160ms ease;
}
.seamlessmd-site-header .dropdown-4.is-open > .dropdown-toggle-7 .caret {
	transform: rotate(180deg);
}

/* CTAs on the far right — upstream Webflow classes `.nav-button` (solid blue
 * "Contact Sales" variant) and `.nav-button.green-btn` (solid green "View
 * Demo"/"Patient Support" variant). Colors, radius, and padding are copied
 * verbatim from nabed.net's compiled webflow stylesheet. */
.seamlessmd-site-header .navbar--ctas {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	flex-shrink: 0;
}
.seamlessmd-site-header .nav-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 12px 22px;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.2;
	color: #fff;
	background-color: #045089;
	border: 0;
	border-radius: 5px;
	text-decoration: none;
	transition: background-color 0.2s ease-in-out;
	white-space: nowrap;
	cursor: pointer;
}
.seamlessmd-site-header .nav-button:hover,
.seamlessmd-site-header .nav-button:focus-visible {
	background-color: #1e2a5c;
	color: #fff;
}
.seamlessmd-site-header .nav-button.green-btn {
	background-color: #2ecb70;
	color: #fff;
}
.seamlessmd-site-header .nav-button.green-btn:hover,
.seamlessmd-site-header .nav-button.green-btn:focus-visible {
	background-color: #26a860;
	color: #fff;
}

/* Mobile CTAs block lives inside .navbar-menu for the drawer; hidden
 * on desktop (CTAs there render via .navbar--ctas on the outer row). */
.seamlessmd-site-header .mobile-ctas { display: none; }

/* Mobile hamburger — hidden on desktop. */
.seamlessmd-site-header .mobile-menu-btn {
	display: none;
	width: 44px;
	height: 44px;
	padding: 10px;
	border: 0;
	background: transparent;
	cursor: pointer;
	flex-direction: column;
	justify-content: center;
	align-items: stretch;
	gap: 5px;
	border-radius: var(--seamlessmd-radius-sm);
}
.seamlessmd-site-header .mobile-menu-btn__line {
	display: block;
	height: 2px;
	background: var(--seamlessmd-dark-navy);
	border-radius: 2px;
	transition: transform 160ms ease, opacity 120ms ease;
	transform-origin: center;
}
.seamlessmd-site-header .mobile-menu-btn[aria-expanded="true"] .mobile-menu-btn__line:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.seamlessmd-site-header .mobile-menu-btn[aria-expanded="true"] .mobile-menu-btn__line:nth-child(2) { opacity: 0; }
.seamlessmd-site-header .mobile-menu-btn[aria-expanded="true"] .mobile-menu-btn__line:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ---------------------------------------------------------------------
 * Mega dropdown panel
 *
 * Upstream: `.dropdown--list.w-dropdown-list` — full-bleed panel that
 * sits below the nav bar. When open it spans 100vw. Structure:
 *   .dropdown-overflow          → white full-bleed base + clip
 *     .dropdown-inner-shadow    → 8px inner shadow strip at top
 *     .dropdown-list-body       → grid content (main columns + sidebar)
 *       .dropdown-column--sidebar → grey band (extends to viewport right edge
 *                                   via ::after pseudo), auto-aligns with
 *                                   the grid column boundary
 * --------------------------------------------------------------------- */
.seamlessmd-site-header .dropdown--list {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	z-index: 40;
	display: none;
	background: transparent;
	box-shadow: 0 20px 40px rgba(30, 42, 92, 0.08);
}
.seamlessmd-site-header .dropdown-4.is-open > .dropdown--list {
	display: block;
	animation: seamlessmd-mega-in 180ms ease forwards;
}
@keyframes seamlessmd-mega-in {
	from { opacity: 0; transform: translateY(-4px); }
	to   { opacity: 1; transform: translateY(0);    }
}
.seamlessmd-site-header .dropdown-overflow {
	position: relative;
	overflow: hidden;
	background: #ffffff;
}
.seamlessmd-site-header .dropdown-inner-shadow {
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 8px;
	background: linear-gradient(to bottom, rgba(30, 42, 92, 0.08), transparent);
	pointer-events: none;
	z-index: 2;
}
.seamlessmd-site-header .dropdown-list-body {
	position: relative;
	z-index: 1;
	padding: 0;
}

/* Mega-nav grid — verbatim 1:1 clone of seamless.md's Webflow modifier
 * classes. Each known panel uses a different layout:
 *
 *   Specialties → `.dropdown-grid` (no mod)         columns: Medical | Surgery (2-grid subgrid) | Related articles sidebar
 *   Product     → `.dropdown-grid.mod_g2`           columns: Product cards (2-grid subgrid) | sidebar
 *   Solutions   → `.dropdown-grid.resources`        columns: Solutions cards (2-grid subgrid) | sidebar
 *   Resources   → `.dropdown-grid.resources.mod__g3` columns: Resources cards (3-group subgrid) | sidebar
 *   Company     → `.dropdown-grid.resources.mod__g4` columns: Company cards (flat) | sidebar
 *
 * Column widths follow upstream's fixed-pixel grid template within the
 * 1312px container; we use percentage shares for fluid behavior at narrower
 * desktop breakpoints. */
.seamlessmd-site-header .dropdown-grid {
	display: grid;
	grid-template-columns: 250px 480px 1fr;
	gap: 75px 50px;
	align-items: start;
	padding: 40px 0 0;
}
/* Specialty panel "no sidebar" case — xlsx row 4 explicitly removes the
 * "Related articles" sidebar from the Specialty mega-nav, leaving only
 * Medical + Surgery. With only two content columns rendered, the parent
 * grid's `250px 480px 1fr` template stranded Medical at just 250px —
 * not enough to hold an internal `.dropdown-subgrid.mod__2-grid`
 * (2-col cards), which spilled into Surgery's column at desktop widths.
 *
 * Detect the no-sidebar case via `:not(:has(.dropdown-column.third))`
 * and rebalance to equal-share columns so both Medical and Surgery have
 * the same horizontal real estate for their 2-col card grids. If the
 * sidebar is re-enabled later (via Customizer), the original
 * `250px 480px 1fr` template applies again. */
.seamlessmd-site-header .dropdown-grid:not(:has(.dropdown-column.third)) {
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 75px 64px;
}
.seamlessmd-site-header .dropdown-grid.mod_g2 {
	grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
	gap: 60px 50px;
}
.seamlessmd-site-header .dropdown-grid.resources {
	grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
	gap: 60px 50px;
}
.seamlessmd-site-header .dropdown-grid.resources.mod__g3 {
	grid-template-columns: minmax(0, 2.4fr) minmax(0, 1fr);
}
.seamlessmd-site-header .dropdown-grid.resources.mod__g4 {
	grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
}

.seamlessmd-site-header .dropdown-column {
	position: relative;
	min-width: 0;
}

/*
 * Defend the mega-nav from Webflow IX2's auto-init.
 *
 * When a `seamlessmd/source-section` block is on the current post, the
 * theme conditionally enqueues Webflow's IX2 JS runtime so source HTML
 * can render its scroll animations + lightbox modals correctly. IX2
 * binds to Webflow-flavored class names (.dropdown-column, .dropdown-bg,
 * .dropdown-card-bg, etc.) and sets `style="opacity: 0; transform: …"`
 * inline as an animation START state. Without the user's hover/click
 * actually firing the Webflow nav-open trigger (we use our own theme
 * nav JS), those inline styles persist — making the dropdown columns
 * and card overlays invisible.
 *
 * The fix: override the inline opacity with `!important` on every
 * Webflow-IX2-managed element inside the theme's site header. Inline
 * `style="opacity: 0"` loses to a CSS rule with `!important`.
 *
 * Scoped strictly to `.seamlessmd-site-header` so source-section
 * content (which DOES want its IX2 animations) is untouched.
 */
.seamlessmd-site-header .dropdown-column,
.seamlessmd-site-header .dropdown-column.first,
.seamlessmd-site-header .dropdown-column.second,
.seamlessmd-site-header .dropdown-column.third {
	opacity: 1 !important;
	transform: none !important;
}
.seamlessmd-site-header .dropdown-bg,
.seamlessmd-site-header .dropdown-inner-shadow,
.seamlessmd-site-header .dropdown-card-bg {
	opacity: 0 !important;
	transform: none !important;
}
/* Sidebar column (`.dropdown-column.third`) — full-bleed lavender bg
 * extending to the right viewport edge, matching upstream. */
.seamlessmd-site-header .dropdown-column.third {
	position: relative;
	padding: 40px 24px 24px 32px;
	align-self: stretch;
}
.seamlessmd-site-header .dropdown-column.third .sidebar-column-bg {
	position: absolute;
	top: 0; bottom: 0; left: 0;
	width: 100vw;
	background: #f4f6fb;
	z-index: -1;
	pointer-events: none;
}

/* Product dropdown's bespoke right rail — Accreditations grid + Patient
 * Testimonials list. Mirrors the live seamless.md /product/ panel.
 * Heading style reuses .dropdown-column-title; this block adds the
 * 4×2 badge grid + the testimonial list. */
.seamlessmd-site-header .seamlessmd-product-sidebar-col {
	padding-top: 0;
}
.seamlessmd-site-header .seamlessmd-product-sidebar__heading {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--seamlessmd-text-muted);
	margin: 0 0 16px;
	padding-bottom: 12px;
	border-bottom: 1px solid #e6e8ee;
}
.seamlessmd-site-header .seamlessmd-product-sidebar__heading + .seamlessmd-product-sidebar__heading,
.seamlessmd-site-header .seamlessmd-product-sidebar__accred-grid + .seamlessmd-product-sidebar__heading,
.seamlessmd-site-header .seamlessmd-product-sidebar__testimonials + .seamlessmd-product-sidebar__heading {
	margin-top: 28px;
}
.seamlessmd-site-header .seamlessmd-product-sidebar__accred-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
	margin-bottom: 4px;
}
.seamlessmd-site-header .seamlessmd-product-sidebar__badge {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1 / 1;
	text-decoration: none;
}
.seamlessmd-site-header .seamlessmd-product-sidebar__badge img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
}
.seamlessmd-site-header .seamlessmd-product-sidebar__testimonials {
	display: flex;
	flex-direction: column;
	gap: 18px;
}
.seamlessmd-site-header .seamlessmd-product-sidebar__testimonial-title {
	font-size: 14px;
	font-weight: 600;
	font-style: italic;
	color: var(--seamlessmd-text-strong, #0f172a);
	margin-bottom: 4px;
}
.seamlessmd-site-header .seamlessmd-product-sidebar__testimonial-body {
	font-size: 13px;
	line-height: 1.55;
	color: var(--seamlessmd-text-muted);
}
.seamlessmd-site-header .dropdown-column-title {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--seamlessmd-text-muted);
	margin: 0 0 14px;
}
.seamlessmd-site-header .dropdown-column-title.mod--mbl-hide,
.seamlessmd-site-header .dropdown-column-title.mod__second {
	margin-top: 24px;
}

/* Subgrid wrappers — upstream uses `.dropdown-subgrid` (single col) and
 * `.dropdown-subgrid.mod__2-grid` (2 columns of cards). */
.seamlessmd-site-header .dropdown-subgrid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
}
.seamlessmd-site-header .dropdown-subgrid.mod__2-grid {
	grid-template-columns: 1fr 1fr;
	gap: 0 32px;
}
/* 4-col row-major grid — cards flow left-to-right across 4 equal
 * columns, wrap to the next row beyond the 4th. Used by Solutions
 * (5 items → 4+1) and Company (≥4 items) panels after the right-rail
 * sidebar was removed per xlsx. */
.seamlessmd-site-header .dropdown-subgrid.mod__4-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px 32px;
}
/* Solutions + Company panels use `.dropdown-grid.resources.mod__no-sidebar`
 * when the right-rail sidebar is suppressed. The base `.dropdown-grid.resources`
 * template (`minmax(0, 2fr) minmax(0, 1fr)`) reserves the right column
 * for a sidebar that no longer exists, leaving a wide empty strip;
 * override to a single full-width content column so the 4-col subgrid
 * spreads across the whole panel. */
.seamlessmd-site-header .dropdown-grid.resources.mod__no-sidebar {
	grid-template-columns: minmax(0, 1fr);
}
/* Resources panel uses an unmodified `.dropdown-subgrid` with three inner
 * `<div>` groups (`.div-block-247`, `.div-block-245`, `.div-block-246`).
 * Spread them across 3 columns inside the Resources mod__g3 grid only —
 * the same selector elsewhere stays single-column. */
.seamlessmd-site-header .dropdown-grid.resources.mod__g3 .dropdown-subgrid {
	grid-template-columns: 1fr 1fr 1fr;
	gap: 0 32px;
}
.seamlessmd-site-header .dropdown-subgrid > div {
	display: flex;
	flex-direction: column;
}

/* Single dropdown card — icon-left + title + optional description.
 * Upstream uses an oversized `.dropdown-card-bg` rectangle that sits
 * BEHIND the card and lights up on hover; we honour that. */
.seamlessmd-site-header .dropdown-card {
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 8px 16px 8px 12px;
	margin-bottom: 18px;
	border-radius: 5px;
	text-decoration: none;
	color: var(--seamlessmd-dark-navy);
	transition: background-color 140ms ease;
}
.seamlessmd-site-header .dropdown-card.mod__hide { display: none; }
.seamlessmd-site-header .dropdown-card:focus-visible {
	outline: 2px solid var(--seamlessmd-primary);
	outline-offset: 2px;
}
.seamlessmd-site-header .dropdown-card-bg {
	position: absolute;
	top: -8px; bottom: -8px; left: -8px; right: -8px;
	border-radius: 6px;
	opacity: 0;
	pointer-events: none;
	transition: opacity 140ms ease;
	z-index: 0;
}
.seamlessmd-site-header .dropdown-card-bg.is-blue { background: rgb(237, 248, 255); }
.seamlessmd-site-header .dropdown-card-bg.is-red  { background: rgb(255, 240, 240); }
.seamlessmd-site-header .dropdown-card-bg.white   { background: #fff; }
.seamlessmd-site-header .dropdown-card:hover .dropdown-card-bg,
.seamlessmd-site-header .dropdown-card:focus-visible .dropdown-card-bg { opacity: 1; }
.seamlessmd-site-header .dropdown-card-icon {
	position: relative;
	z-index: 1;
	width: 21px;
	height: 21px;
	flex-shrink: 0;
	object-fit: contain;
	margin-top: 4px;
}
.seamlessmd-site-header .dropdown-card-content {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}
.seamlessmd-site-header .dropdown-card-title {
	font-size: 15px;
	font-weight: 700;
	color: rgb(21, 27, 38);
	line-height: 1.4;
}
.seamlessmd-site-header .dropdown-card-text {
	margin: 0;
	font-size: 13px;
	line-height: 1.65;
	color: rgb(85, 95, 110);
}

/* Sidebar Specialties "Related articles" — title-only cards (white bg)
 * with a top border separator. */
.seamlessmd-site-header .dropdown-column.third .dropdown-card {
	padding: 14px 0;
	margin: 0;
	border-top: 1px solid rgba(35, 47, 76, 0.12);
}
.seamlessmd-site-header .dropdown-column.third .dropdown-card:first-of-type {
	border-top: 0;
}
.seamlessmd-site-header .dropdown-column.third .dropdown-card-title {
	font-size: 13px;
	font-weight: 600;
	line-height: 1.45;
}
.seamlessmd-site-header .dropdown-column.third .dropdown-card-bg {
	display: none;
}

/* Sidebar blog-card-scroll list — Product/Solutions/Resources/Company. */
.seamlessmd-site-header .blog-card-scroll-wrapper {
	display: flex;
	flex-direction: column;
	gap: 18px;
	margin-top: 4px;
}
.seamlessmd-site-header .blog-card-scroll {
	display: flex;
	flex-direction: column;
	gap: 18px;
}
.seamlessmd-site-header .blog-card {
	display: flex;
	flex-direction: column;
	padding: 18px 18px 16px;
	background: #fff;
	border: 1px solid rgba(35, 47, 76, 0.10);
	border-radius: 8px;
	text-decoration: none;
	color: var(--seamlessmd-dark-navy);
	transition: box-shadow 140ms ease, transform 140ms ease;
}
.seamlessmd-site-header .blog-card:hover {
	box-shadow: 0 6px 20px rgba(30, 42, 92, 0.08);
	transform: translateY(-1px);
}
.seamlessmd-site-header .blog-card-content {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.seamlessmd-site-header .blog-card-label {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--seamlessmd-primary-dark, var(--seamlessmd-primary));
}
.seamlessmd-site-header .blog-card-title {
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	color: rgb(21, 27, 38);
}
.seamlessmd-site-header .blog-card-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	font-weight: 600;
	color: var(--seamlessmd-primary, #2563eb);
	margin-top: 4px;
}
.seamlessmd-site-header .blog-card-link .dropdown-card-icon.arrow {
	width: 14px;
	height: 10px;
	margin: 0;
}

/* Dropdown footer — upstream class `.dropdown-footer-full`. */
.seamlessmd-site-header .dropdown-footer-full {
	position: relative;
	z-index: 1;
	border-top: 1px solid var(--seamlessmd-border);
	background: #fafbfc;
}
.seamlessmd-site-header .dropdown-footer-full .navbar--container {
	min-height: 0;
	padding-top: 12px;
	padding-bottom: 12px;
}
.seamlessmd-site-header .dropdown-footer {
	display: inline-flex;
	align-items: center;
	gap: 20px;
}
.seamlessmd-site-header .dropdown-footer-link {
	color: var(--seamlessmd-dark-navy);
	font-weight: 500;
	font-size: 14px;
	text-decoration: none;
}
.seamlessmd-site-header .dropdown-footer-link:hover {
	color: var(--seamlessmd-primary-dark);
}
.seamlessmd-site-header .footer-divider {
	width: 1px;
	height: 16px;
	background: var(--seamlessmd-border);
}
.seamlessmd-site-header .footer-divider .divider { display: none; }

/* Full-viewport scrim behind open dropdowns + mobile menu. */
.seamlessmd-site-header .w-nav-overlay {
	position: fixed;
	inset: var(--seamlessmd-header-height, 80px) 0 0 0;
	background: rgba(30, 42, 92, 0.35);
	z-index: 30;
}
.seamlessmd-site-header .w-nav-overlay[hidden] { display: none; }

/* ---------------------------------------------------------------------
 * Mobile/tablet (<=1102px): collapse nav into a full-screen drawer
 * triggered by the hamburger.
 *
 * The threshold is measured, not chosen for tidiness. `.navbar--container`
 * is a nowrap flex row whose logo and `.navbar--ctas` are both
 * `flex-shrink: 0`, while `.navbar-menu` bottoms out at its
 * `min-width: auto` min-content width. Nothing can absorb a deficit, so
 * below the row's real minimum it overflows and the document scrolls past
 * the painted layout — the "empty strip on the right" that this threshold
 * exists to prevent. Gaps and padding are far too small to close the
 * shortfall, so trimming them was never an option.
 *
 * It has moved twice: 900 → 1032 when the redesigned row was measured, and
 * 1032 → 1102 on 2026-09-10 when the optional secondary header CTA was
 * restored. The second button adds ~70px to the row, taking the English
 * minimum from 1033 to 1103; measured at 1103 (English) and 1063 (Arabic).
 * Both languages deliberately share the English figure — one breakpoint,
 * no language branch, and Arabic simply switches to the drawer with room
 * to spare. Re-measure this whenever the header row gains or loses an
 * element.
 *
 * Keep this in sync with the same threshold in `seamlessmd-header.css`
 * and the `matchMedia` query in `assets/js/seamlessmd-blocks.js`.
 * --------------------------------------------------------------------- */
@media (max-width: 1102px) {
	.seamlessmd-site-header .mobile-menu-btn { display: flex; }
	.seamlessmd-site-header .navbar-menu,
	.seamlessmd-site-header .navbar--ctas {
		display: none;
	}
	.seamlessmd-site-header.is-mobile-open .navbar-menu {
		display: block;
		position: fixed;
		top: var(--seamlessmd-header-height, 80px);
		left: 0;
		right: 0;
		background: #fff;
		/* Auto height: drawer sizes to its content. The max-height cap + inner
		 * scroll keeps a runaway-long menu from overflowing the viewport. */
		max-height: calc(100vh - var(--seamlessmd-header-height, 80px));
		overflow-y: auto;
		z-index: 45;
		box-shadow: 0 12px 28px rgba(30, 42, 92, 0.12);
		animation: seamlessmd-nav-drawer-in 260ms cubic-bezier(.2,.8,.2,1) both;
	}
	@keyframes seamlessmd-nav-drawer-in {
		from { opacity: 0; transform: translateY(-10px); }
		to   { opacity: 1; transform: translateY(0);     }
	}
	.seamlessmd-site-header.is-mobile-open .navbar-menu__list {
		flex-direction: column;
		align-items: stretch;
		gap: 0;
	}
	.seamlessmd-site-header.is-mobile-open .navbar-menu__item {
		border-bottom: 1px solid var(--seamlessmd-border);
	}
	.seamlessmd-site-header .dropdown-toggle-7 {
		width: 100%;
		justify-content: space-between;
		padding: 18px 24px;
		border-radius: 0;
	}
	.seamlessmd-site-header .dropdown--list {
		position: static;
		display: none;
		box-shadow: none;
	}
	.seamlessmd-site-header .dropdown-4.is-open > .dropdown--list {
		display: block;
		animation: seamlessmd-nav-sub-in 220ms ease both;
		transform-origin: top;
	}
	@keyframes seamlessmd-nav-sub-in {
		from { opacity: 0; transform: translateY(-6px); }
		to   { opacity: 1; transform: translateY(0);    }
	}
	.seamlessmd-site-header .dropdown-inner-shadow { display: none; }
	.seamlessmd-site-header .dropdown-list-body { padding: 8px 0 16px; }
	.seamlessmd-site-header .dropdown-list-body .navbar--container {
		padding-left: 24px;
		padding-right: 24px;
		min-height: 0;
		display: block;
	}
	.seamlessmd-site-header .dropdown-grid {
		grid-template-columns: 1fr !important;
		gap: 16px;
	}
	/* Collapse the Medical/Surgery 2-col subgrid back to 1col on narrow
	 * viewports — selector intentionally matches the upstream-Webflow
	 * `.dropdown-subgrid.mod__2-grid` class the PHP renderer emits, not
	 * a `--2col` BEM variant that was never wired up. */
	.seamlessmd-site-header .dropdown-subgrid.mod__2-grid {
		grid-template-columns: 1fr;
		gap: 8px 0;
	}
	/* Solutions / Company 4-col grid collapses to single-column on
	 * mobile (one card per row) so cards remain legible. */
	.seamlessmd-site-header .dropdown-subgrid.mod__4-grid {
		grid-template-columns: 1fr;
		gap: 8px 0;
	}
	/* Resources panel's 3-col bare subgrid (`.resources.mod__g3 .dropdown-subgrid`)
	 * also collapses to one card per row on mobile — desktop has
	 * `1fr 1fr 1fr` set earlier, which on mobile would still try to fit
	 * three side-by-side. Override here. */
	.seamlessmd-site-header .dropdown-grid.resources.mod__g3 .dropdown-subgrid {
		grid-template-columns: 1fr;
		gap: 8px 0;
	}
	.seamlessmd-site-header .mod__hide-mobile,
	.seamlessmd-site-header .dropdown-column--sidebar { display: none; }
	.seamlessmd-site-header.is-mobile-open .navbar-menu__item--ctas {
		display: flex;
		flex-direction: column;
		gap: 8px;
		padding: 24px;
	}
	.seamlessmd-site-header.is-mobile-open .mobile-ctas {
		display: flex;
		flex-direction: column;
		gap: 10px;
		padding: 24px;
	}
	.seamlessmd-site-header.is-mobile-open .mobile-ctas .nav-button {
		width: 100%;
	}
}

/* RTL mirror — caret should flip when the language flips. The rest of
 * the layout is bidi-safe thanks to logical gap values. */
[dir="rtl"] .seamlessmd-site-header .caret { transform: scaleX(-1); }
[dir="rtl"] .seamlessmd-site-header .dropdown-4.is-open > .dropdown-toggle-7 .caret {
	transform: scaleX(-1) rotate(180deg);
}

/* ------------------------------------------------------------------
 * Static fallbacks for IX2-driven widgets inside source-section.
 *
 * The Webflow JS runtime is enqueued conditionally (see
 * inc/source-section-assets.php), but the per-page IX2 *data* JSON
 * (animation definitions) lives on Webflow's CDN behind site/page IDs
 * we don't host. That means modules like `ix2` load but have no
 * animations to play, so widgets that depend on JS-driven state
 * transitions render as if the page is in their initial state — often
 * with sections overlapping, stuck behind sticky containers, or with
 * 0 opacity that never gets transitioned to 1.
 *
 * These rules give those widgets a usable static look. Scoped strictly
 * to `.seamlessmd-source-section` so theme chrome is never affected.
 * ------------------------------------------------------------------ */

/* care-plan-library Operational/Clinical Benefits switcher.
 * Source uses two stacked <h1 class="state operational/clinical"> +
 * an IX2 switch that toggles which "state" is visible. Without IX2
 * data, both states render on top of each other inside the same
 * positioned container, looking like garbled text. We stack them
 * vertically (Operational first, then Clinical) and let each render
 * its own benefits column underneath. Also hide the now-purposeless
 * switch indicator and click target so the layout isn't fragmented
 * by an inert toggle row. */
.seamlessmd-source-section .state_container { position: static; }
.seamlessmd-source-section h1.state { position: static; opacity: 1 !important; transform: none !important; }
.seamlessmd-source-section .switch_indicator,
.seamlessmd-source-section .switch_bg,
.seamlessmd-source-section .switch_operational,
.seamlessmd-source-section .switch_clinical { display: none !important; }

/* scroll-track sticky panel (e.g. product-overview "How it works").
 * Source uses `.scroll-track > .the-sticky` with `position: sticky`
 * and IX2 to swap which `.product-image-N` is visible at each scroll
 * step. Without IX2, the sticky panel sticks to top forever and a
 * single empty product-image div shows. Disable stickiness, let the
 * content flow naturally, and force any product-image div to a sane
 * fallback rendering (visible via its CSS background-image). */
.seamlessmd-source-section .scroll-track .the-sticky {
	position: static !important;
	height: auto !important;
	top: auto !important;
}
.seamlessmd-source-section .scroll-track [class*="product-image-"] {
	opacity: 1 !important;
	transform: none !important;
}
/* IX2 sets data-w-id elements to opacity:0 as their initial state.
 * Force visibility so they don't disappear inside source-section. */
.seamlessmd-source-section [data-w-id] {
	opacity: 1 !important;
}

/* Zero out the first child's top margin.
 *
 * Webflow's source CSS sets `margin-top: 80px` on hero sections
 * (.section.hero.bg.lp, .section.hero.bg.lp.customers, etc.) and
 * other top-level wrappers as a built-in offset for the source's own
 * fixed navbar (which we strip during clone). With our theme's
 * site-header already providing a sticky top bar + its own offset,
 * the extra 80px leaves a visible empty band above the first hero
 * on /customers/ and /press/. The first-of-type selector keeps the
 * rule scoped to the section directly under our wrapper, not nested
 * hero clones deeper in the markup. */
.seamlessmd-source-section > :first-child {
	margin-top: 0 !important;
}

