/**
 * MHSI Theme 2026 — Header / footer chrome (Figma MHSI Header + Footer).
 */

/* —— Utilities —— */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

/* —— Header ——
 * Transparent overlay (Figma Members / page heroes): sits over page content
 * so the hero / page-theme color shows through — no solid white bar.
 */
.wp-site-blocks {
	position: relative;
}

.mhsi-site-header {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	z-index: 100;
	background: transparent !important;
	background-color: transparent !important;
	border-bottom: 0;
	padding: 0;
	box-shadow: none;
}

.mhsi-site-header .mhsi-header__bar {
	--mhsi-header-gutter: var(--wp--style--root--padding-left, var(--wp--preset--spacing--40, 1rem));
	position: relative;
	/* Match theme wideSize — logo/nav flush to left/right edges of this box */
	max-width: var(--wp--style--global--wide-size, 1280px);
	width: min(100% - (2 * var(--mhsi-header-gutter)), var(--wp--style--global--wide-size, 1280px));
	margin-inline: auto;
	padding: 3.35rem 0 1.75rem;
	box-sizing: border-box;
	gap: 1.5rem;
}

.mhsi-site-header .mhsi-header__logo .custom-logo-link,
.mhsi-site-header .mhsi-header__logo img,
.mhsi-site-header .mhsi-header__logo .custom-logo {
	display: block;
	height: auto;
	max-width: min(280px, 42vw);
	width: auto;
}

.mhsi-site-header .mhsi-header__nav-cluster {
	gap: 0.35rem;
	margin-left: auto;
	padding-top: 0.35rem;
}

/* Join CTA — flush to header top; right edge aligns with wide bar / search */
.mhsi-site-header .mhsi-header__join {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.5rem 1.25rem;
	background: var(--mhsi-color-primary, #ff7151);
	color: var(--mhsi-color-black-text, #212121);
	font-family: var(--wp--preset--font-family--mark-ot, "Mark OT", system-ui, sans-serif);
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.5;
	text-decoration: none;
	border-radius: 0 0 20px 20px;
	white-space: nowrap;
	transition: background-color 0.2s ease, transform 0.2s ease;
}

.mhsi-site-header .mhsi-header__join:hover,
.mhsi-site-header .mhsi-header__join:focus-visible {
	background: var(--mhsi-color-primary-dark, #e95e4c);
	color: var(--mhsi-color-black-text, #212121);
	text-decoration: none;
}

.mhsi-site-header .mhsi-header__join:focus-visible {
	outline: 2px solid var(--mhsi-color-black-text, #212121);
	outline-offset: 2px;
}

/* Primary nav */
.mhsi-site-header .mhsi-primary-nav {
	/*
	 * Shared open timing: inverted parent tab + dropdown panel must move as one
	 * black surface (overrides core submenu `opacity 0.1s linear`).
	 */
	--mhsi-nav-open-duration: 0.15s;
	--mhsi-nav-open-easing: ease;
	--mhsi-nav-open-delay: 0s;
}

.mhsi-site-header .mhsi-primary-nav,
.mhsi-site-header .mhsi-primary-nav .wp-block-navigation__container {
	gap: 0;
}

.mhsi-site-header .mhsi-primary-nav .wp-block-navigation-item {
	margin: 0;
}

.mhsi-site-header .mhsi-primary-nav .wp-block-navigation-item__content {
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
	padding: 0.85rem 1.15rem;
	color: var(--mhsi-color-black-text, #212121);
	font-family: var(--wp--preset--font-family--mark-ot, "Mark OT", system-ui, sans-serif);
	font-size: clamp(1rem, 1.4vw, 1.375rem);
	font-weight: 700;
	line-height: 1.5;
	text-decoration: none;
	/* Leaf items: full pill on all four corners (default + hover). */
	border-radius: 110px;
}

.mhsi-site-header .mhsi-primary-nav .wp-block-navigation-item__content:hover,
.mhsi-site-header .mhsi-primary-nav .wp-block-navigation-item__content:focus-visible {
	text-decoration: none;
}

/*
 * MHSI-182: top-level focus = thick outline only (no bg). Leaf + has-child.
 * Submenu links keep their own underline hover; no thick ring there.
 */
.mhsi-site-header .mhsi-primary-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:focus-visible {
	outline: 3px solid var(--mhsi-color-black-text, #212121);
	outline-offset: 3px;
	background-color: transparent;
	background: transparent;
}

/*
 * MHSI-181: leaf (no dropdown) hover invert — black pill + light text.
 * Focus stays outline-only (above); dropdown parents keep their own invert.
 */
.mhsi-site-header .mhsi-primary-nav .wp-block-navigation__container > .wp-block-navigation-item:not(.has-child) > .wp-block-navigation-item__content {
	transition:
		background-color var(--mhsi-nav-open-duration) var(--mhsi-nav-open-easing) var(--mhsi-nav-open-delay),
		color var(--mhsi-nav-open-duration) var(--mhsi-nav-open-easing) var(--mhsi-nav-open-delay);
}

.mhsi-site-header .mhsi-primary-nav .wp-block-navigation__container > .wp-block-navigation-item:not(.has-child) > .wp-block-navigation-item__content:hover {
	background: var(--mhsi-color-black, #000);
	background-color: var(--mhsi-color-black, #000);
	color: var(--mhsi-color-base, #fff);
}

/* Custom chevron for dropdown-capable items; hide core SVG indicator */
.mhsi-site-header .mhsi-primary-nav .wp-block-navigation-submenu__toggle,
.mhsi-site-header .mhsi-primary-nav .wp-block-navigation__submenu-icon {
	display: none;
}

/*
 * Resting has-child tab: same transition clock as the dropdown panel so invert
 * + panel opacity cannot drift apart on open/close.
 * Top corners only — never round the bottom (closed / hover / open).
 */
.mhsi-site-header .mhsi-primary-nav .wp-block-navigation-item.has-child > .wp-block-navigation-item__content {
	background-color: transparent;
	border-radius: 0.75rem 0.75rem 0 0;
	transition:
		background-color var(--mhsi-nav-open-duration) var(--mhsi-nav-open-easing) var(--mhsi-nav-open-delay),
		color var(--mhsi-nav-open-duration) var(--mhsi-nav-open-easing) var(--mhsi-nav-open-delay);
}

.mhsi-site-header .mhsi-primary-nav .wp-block-navigation-item.has-child > .wp-block-navigation-item__content::after,
.mhsi-site-header .mhsi-primary-nav .wp-block-navigation-item.mhsi-nav-dropdown > .wp-block-navigation-item__content::after {
	content: "";
	display: inline-block;
	width: 0.55rem;
	height: 0.5rem;
	margin-left: 0.15rem;
	/* Closed: primary orange, point down (SVG defaults up). */
	background: var(--mhsi-color-primary, #ff7151);
	mask: url("../images/nav-chevron.svg") center / contain no-repeat;
	-webkit-mask: url("../images/nav-chevron.svg") center / contain no-repeat;
	transform: rotate(180deg);
	flex-shrink: 0;
	transition:
		transform var(--mhsi-nav-open-duration) var(--mhsi-nav-open-easing) var(--mhsi-nav-open-delay),
		background-color var(--mhsi-nav-open-duration) var(--mhsi-nav-open-easing) var(--mhsi-nav-open-delay);
}

/*
 * Figma “dropdown styling” (10096:1223): open/active parent inverts to black
 * tab + white label; chevron flips white/up. Hover + .is-open only — focus
 * uses outline (MHSI-182), not a background change. Keyboard open still
 * inverts via .is-open from navigation.js focusin.
 */
.mhsi-site-header .mhsi-primary-nav .wp-block-navigation-item.has-child:hover > .wp-block-navigation-item__content,
.mhsi-site-header .mhsi-primary-nav .wp-block-navigation-item.has-child.is-open > .wp-block-navigation-item__content {
	background: var(--mhsi-color-black, #000);
	background-color: var(--mhsi-color-black, #000);
	color: var(--mhsi-color-base, #fff);
	border-radius: 0.75rem 0.75rem 0 0;
}

.mhsi-site-header .mhsi-primary-nav .wp-block-navigation-item.has-child:hover > .wp-block-navigation-item__content::after,
.mhsi-site-header .mhsi-primary-nav .wp-block-navigation-item.has-child.is-open > .wp-block-navigation-item__content::after {
	background: currentColor;
	transform: rotate(0deg);
}

/*
 * Left-align panels to the parent tab. Core `.items-justified-right` sets
 * `left: auto; right: 0` (right-edge flush) — override so the sharp top-left
 * radius meets the inverted parent (Figma 10096:1223).
 */
.mhsi-site-header .mhsi-primary-nav .wp-block-navigation-item.has-child > .wp-block-navigation__submenu-container {
	left: 0;
	right: auto;
}

.mhsi-site-header .mhsi-primary-nav .wp-block-navigation__submenu-container {
	background-color: var(--mhsi-color-black, #000);
	border: 0;
	padding: 0.25rem 0 0.65rem;
	border-radius: 0 0.75rem 0.75rem 0.75rem;
	box-shadow: none;
	/* Sit flush under inverted parent tab (Figma contiguous black shape). */
	margin-top: 0;
	gap: 0;
	/* Keep children from painting square corners over the panel radius. */
	overflow: hidden;
	/*
	 * MHSI-180: lock the open panel’s box through the close fade.
	 * Core open sets `min-width: 200px` only while :hover/:focus-within — on
	 * mouse-out that rule drops while opacity still fades, so width snapped
	 * (often to theme `14rem` or shrink-to-fit vs content). Keep identical
	 * width / min-width / max-width open + closed; size to content, never
	 * transition box metrics — hide via opacity/visibility only.
	 * Also overrides core closed `width:0; height:0` (MHSI-179 height flash).
	 */
	width: max-content;
	min-width: max(14rem, 100%);
	max-width: none;
	height: auto;
	/*
	 * Match parent invert clock. Visibility stays visible for the full fade-out
	 * so the panel does not vanish a frame before the tab finishes closing.
	 */
	transition:
		opacity var(--mhsi-nav-open-duration) var(--mhsi-nav-open-easing) var(--mhsi-nav-open-delay),
		visibility 0s linear var(--mhsi-nav-open-duration);
}

.mhsi-site-header .mhsi-primary-nav .wp-block-navigation__submenu-container .wp-block-navigation-item,
.mhsi-site-header .mhsi-primary-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	background: transparent;
	background-color: transparent;
}

.mhsi-site-header .mhsi-primary-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	font-size: 1rem;
	font-weight: 500;
	padding: 0.65rem 1.15rem;
	border-radius: 0;
	width: 100%;
	color: var(--mhsi-color-base, #fff);
}

.mhsi-site-header .mhsi-primary-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.mhsi-site-header .mhsi-primary-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible {
	color: var(--mhsi-color-base, #fff);
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.mhsi-site-header .mhsi-primary-nav .wp-block-navigation-item.has-child:focus-within > .wp-block-navigation__submenu-container,
.mhsi-site-header .mhsi-primary-nav .wp-block-navigation-item.has-child:hover > .wp-block-navigation__submenu-container,
.mhsi-site-header .mhsi-primary-nav .wp-block-navigation-item.has-child.is-open > .wp-block-navigation__submenu-container {
	visibility: visible;
	opacity: 1;
	/* Same width lock as closed — beats core open-only `min-width: 200px`. */
	width: max-content;
	min-width: max(14rem, 100%);
	max-width: none;
	height: auto;
	/* Core sets overflow:visible when open; keep hidden so radius clips. */
	overflow: hidden;
	/* Show immediately on open so opacity fade and parent invert start together. */
	transition:
		opacity var(--mhsi-nav-open-duration) var(--mhsi-nav-open-easing) var(--mhsi-nav-open-delay),
		visibility 0s linear var(--mhsi-nav-open-delay);
}

@media (prefers-reduced-motion: reduce) {
	.mhsi-site-header .mhsi-primary-nav {
		--mhsi-nav-open-duration: 0s;
	}
}

/* Search toggle — leaf-nav pill radius; hover invert like MHSI-181. */
.mhsi-header__search-toggle {
	appearance: none;
	background: transparent;
	border: 0;
	border-radius: 110px;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.85rem 0.65rem;
	margin: 0;
	color: var(--mhsi-color-black-text, #212121);
	transition:
		background-color var(--mhsi-nav-open-duration, 0.15s) var(--mhsi-nav-open-easing, ease) var(--mhsi-nav-open-delay, 0s),
		color var(--mhsi-nav-open-duration, 0.15s) var(--mhsi-nav-open-easing, ease) var(--mhsi-nav-open-delay, 0s);
}

.mhsi-header__search-toggle:hover {
	background: var(--mhsi-color-black, #000);
	background-color: var(--mhsi-color-black, #000);
	color: var(--mhsi-color-base, #fff);
}

.mhsi-header__search-toggle:focus-visible {
	outline: 2px solid var(--mhsi-color-black-text, #212121);
	outline-offset: 2px;
}

.mhsi-header__search-icon {
	display: block;
	width: 1.375rem;
	height: 1.375rem;
	background: url("../images/icon-search.svg") center / contain no-repeat;
	transition: filter var(--mhsi-nav-open-duration, 0.15s) var(--mhsi-nav-open-easing, ease) var(--mhsi-nav-open-delay, 0s);
}

.mhsi-header__search-toggle:hover .mhsi-header__search-icon {
	filter: brightness(0) invert(1);
}

/*
 * Light-on-dark page themes (teal): transparent header inherits white chrome
 * via --mhsi-page-theme-fg / body.mhsi-page-theme-on-dark.
 */
body.mhsi-page-theme-on-dark .mhsi-site-header .mhsi-primary-nav .wp-block-navigation-item__content,
body.mhsi-theme-teal .mhsi-site-header .mhsi-primary-nav .wp-block-navigation-item__content {
	color: var(--mhsi-page-theme-fg, #fff);
}

body.mhsi-page-theme-on-dark .mhsi-site-header .mhsi-primary-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:focus-visible,
body.mhsi-theme-teal .mhsi-site-header .mhsi-primary-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:focus-visible,
body.mhsi-page-theme-on-dark .mhsi-header__search-toggle:focus-visible,
body.mhsi-theme-teal .mhsi-header__search-toggle:focus-visible {
	outline-color: var(--mhsi-page-theme-fg, #fff);
}

/* Open/inverted parents + black panels stay white-on-black on dark page themes. */
body.mhsi-page-theme-on-dark .mhsi-site-header .mhsi-primary-nav .wp-block-navigation-item.has-child:hover > .wp-block-navigation-item__content,
body.mhsi-page-theme-on-dark .mhsi-site-header .mhsi-primary-nav .wp-block-navigation-item.has-child.is-open > .wp-block-navigation-item__content,
body.mhsi-theme-teal .mhsi-site-header .mhsi-primary-nav .wp-block-navigation-item.has-child:hover > .wp-block-navigation-item__content,
body.mhsi-theme-teal .mhsi-site-header .mhsi-primary-nav .wp-block-navigation-item.has-child.is-open > .wp-block-navigation-item__content,
body.mhsi-page-theme-on-dark .mhsi-site-header .mhsi-primary-nav .wp-block-navigation__container > .wp-block-navigation-item:not(.has-child) > .wp-block-navigation-item__content:hover,
body.mhsi-theme-teal .mhsi-site-header .mhsi-primary-nav .wp-block-navigation__container > .wp-block-navigation-item:not(.has-child) > .wp-block-navigation-item__content:hover,
body.mhsi-page-theme-on-dark .mhsi-site-header .mhsi-primary-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
body.mhsi-theme-teal .mhsi-site-header .mhsi-primary-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	color: var(--mhsi-color-base, #fff);
}

body.mhsi-page-theme-on-dark .mhsi-site-header .mhsi-header__logo img,
body.mhsi-page-theme-on-dark .mhsi-site-header .mhsi-header__logo .custom-logo,
body.mhsi-theme-teal .mhsi-site-header .mhsi-header__logo img,
body.mhsi-theme-teal .mhsi-site-header .mhsi-header__logo .custom-logo {
	filter: brightness(0) invert(1);
}

body.mhsi-page-theme-on-dark .mhsi-header__search-icon,
body.mhsi-theme-teal .mhsi-header__search-icon {
	filter: brightness(0) invert(1);
}

/*
 * Figma “Search Styling” (10096:1238): black pill covers the main nav width;
 * white placeholder/text; toggle icon stays on the right.
 */
.mhsi-header__nav-cluster {
	position: relative;
}

.mhsi-header__search {
	position: absolute;
	left: 0;
	right: 2.75rem;
	top: 50%;
	z-index: 20;
	transform: translateY(-50%);
	min-width: 0;
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

.mhsi-header__search[hidden] {
	display: none !important;
}

.mhsi-header__nav-cluster.is-search-open .mhsi-primary-nav {
	visibility: hidden;
	pointer-events: none;
}

.mhsi-header__search-form {
	display: flex;
	align-items: stretch;
	width: 100%;
	margin: 0;
}

.mhsi-header__search-input {
	flex: 1;
	min-width: 0;
	width: 100%;
	padding: 0.75rem 1.35rem;
	border: 0;
	/* Match dropdown panel corner radius (0.75rem). */
	border-radius: 0.75rem;
	background: var(--mhsi-color-black, #000);
	color: var(--mhsi-color-base, #fff);
	font-family: var(--wp--preset--font-family--mark-ot, "Mark OT", system-ui, sans-serif);
	font-size: clamp(1rem, 1.4vw, 1.25rem);
	font-weight: 500;
	line-height: 1.5;
	outline: none;
	-webkit-appearance: none;
	appearance: none;
}

.mhsi-header__search-input::placeholder {
	color: var(--mhsi-color-base, #fff);
	opacity: 1;
}

/* No visible focus ring on the search field (Escape returns focus to toggle). */
.mhsi-header__search-input:focus,
.mhsi-header__search-input:focus-visible {
	outline: none;
	box-shadow: none;
}

.mhsi-header__search-input::-webkit-search-decoration,
.mhsi-header__search-input::-webkit-search-cancel-button {
	-webkit-appearance: none;
}

/* Figma shows input-only; keep submit for Enter / AT but visually hidden. */
.mhsi-header__search-submit {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* —— Main ——
 * Templates / Site Editor often set Group(main) margin-bottom to spacing--70
 * as an inline style. Keep main flush to the footer regardless of that source.
 */
.wp-site-blocks > main,
main.wp-block-group {
	margin-bottom: 0 !important;
	margin-block-end: 0 !important;
}

/* —— Footer —— */
/*
 * Kill core FSE gap above the footer template part.
 * `:where(.wp-site-blocks) > *` sets margin-block-start: spacing--70 on every
 * top-level child (including footer); :where() has zero specificity.
 */
.wp-site-blocks > footer.wp-block-template-part {
	margin-block-start: 0;
	margin-top: 0;
}

.mhsi-site-footer {
	background: var(--mhsi-color-inverse, #000);
	color: var(--mhsi-color-pure-white, #fff);
	padding: 0;
	border-top: 0;
}

.mhsi-site-footer a {
	color: var(--mhsi-color-pure-white, #fff);
}

.mhsi-footer__inner {
	padding: 4.5rem 4.5% 2.5rem;
	box-sizing: border-box;
}

.mhsi-footer__main {
	align-items: flex-start !important;
	gap: 3rem !important;
	margin-bottom: 3.5rem;
}

.mhsi-footer__brand {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 3rem;
	margin-bottom: 2.75rem;
}

/* Logo + socials side-by-side on desktop */
.mhsi-footer__brand-row {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	gap: 1.75rem 2rem;
	width: 100%;
}

.mhsi-footer__logo-link {
	display: block;
	flex: 0 1 auto;
	min-width: 0;
	max-width: min(320px, 70%);
}

.mhsi-footer__logo {
	display: block;
	width: 100%;
	max-width: 320px;
	height: auto;
}

.mhsi-footer__social {
	display: flex;
	flex: 0 0 auto;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: 1.15rem;
	align-items: center;
}

.mhsi-footer__tagline {
	margin: 0;
	max-width: 32rem;
	font-size: 1.125rem;
	line-height: 1.4;
	font-weight: 400;
	color: #fff;
}

.mhsi-footer__social-link {
	display: inline-flex;
	width: 1.85rem;
	height: 1.85rem;
	color: #fff;
	text-decoration: none;
}

.mhsi-footer__social-link:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 3px;
}

.mhsi-footer__social-icon {
	display: block;
	width: 100%;
	height: 100%;
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}

.mhsi-footer__social-link--instagram .mhsi-footer__social-icon {
	background-image: url("../images/icon-instagram.svg");
}

.mhsi-footer__social-link--linkedin .mhsi-footer__social-icon {
	background-image: url("../images/icon-linkedin.svg");
}

.mhsi-footer__menus {
	display: flex;
	flex-wrap: wrap;
	gap: 2.5rem 4rem;
}

.mhsi-footer__menu-title {
	margin: 0 0 0.85rem;
	font-family: var(--wp--preset--font-family--mark-ot, "Mark OT", system-ui, sans-serif);
	font-size: 1.35rem;
	font-weight: 700;
	line-height: 1.3;
	color: #fff;
}

.mhsi-footer__menu-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
}

.mhsi-footer__menu-list a {
	font-family: var(--wp--preset--font-family--mark-ot, "Mark OT", system-ui, sans-serif);
	font-size: 1.05rem;
	font-weight: 400;
	line-height: 1.3;
	text-decoration: none;
	color: #fff;
}

.mhsi-footer__menu-list a:hover,
.mhsi-footer__menu-list a:focus-visible {
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.mhsi-footer__enews-title {
	margin: 0 0 1.25rem;
	font-family: var(--wp--preset--font-family--mark-ot, "Mark OT", system-ui, sans-serif);
	font-size: clamp(1.5rem, 2.2vw, 2rem);
	font-weight: 400;
	line-height: 1.25;
	color: #fff;
}

.mhsi-footer__enews-form {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	align-items: stretch;
	margin-bottom: 1.5rem;
}

.mhsi-footer__enews-input {
	flex: 1 1 14rem;
	min-width: 0;
	padding: 0.9rem 1.4rem;
	border: 0;
	border-radius: 0;
	background: #fff;
	color: #000;
	font-family: var(--wp--preset--font-family--mark-ot, "Mark OT", system-ui, sans-serif);
	font-size: 1.2rem;
	line-height: 1.5;
}

.mhsi-footer__enews-input::placeholder {
	color: #555;
}

.mhsi-footer__enews-submit {
	appearance: none;
	border: 0;
	border-radius: 100px;
	padding: 0.9rem 1.55rem;
	background: var(--mhsi-color-primary, #ff7151);
	color: #fff;
	font-family: var(--wp--preset--font-family--mark-ot, "Mark OT", system-ui, sans-serif);
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 1.5;
	cursor: pointer;
	white-space: nowrap;
	transition: background-color 0.2s ease;
}

.mhsi-footer__enews-submit:hover,
.mhsi-footer__enews-submit:focus-visible {
	background: var(--mhsi-color-primary-dark, #e95e4c);
}

.mhsi-footer__enews-submit:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 2px;
}

.mhsi-footer__enews-note {
	display: flex;
	gap: 0.75rem;
	align-items: flex-start;
	margin: 0;
	max-width: 36rem;
	font-family: var(--wp--preset--font-family--mark-ot, "Mark OT", system-ui, sans-serif);
	font-size: 1.05rem;
	font-weight: 400;
	line-height: 1.3;
	color: #fff;
}

.mhsi-footer__enews-note a {
	text-decoration: underline;
	text-underline-offset: 0.12em;
}

.mhsi-footer__enews-star {
	flex-shrink: 0;
	width: 1rem;
	height: 1rem;
	margin-top: 0.2rem;
	background: var(--mhsi-color-primary, #ff7151);
	mask: url("../images/star-accent.svg") center / contain no-repeat;
	-webkit-mask: url("../images/star-accent.svg") center / contain no-repeat;
}

.mhsi-footer__legal {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	gap: 1rem 2rem;
	padding-top: 1.5rem;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.mhsi-footer__legal-copy {
	margin: 0;
	flex: 1 1 20rem;
	max-width: 42rem;
	font-family: var(--wp--preset--font-family--mark-ot, "Mark OT", system-ui, sans-serif);
	font-size: 1.05rem;
	line-height: 1.3;
	color: #fff;
}

.mhsi-footer__legal-links {
	display: flex;
	flex-wrap: wrap;
	gap: 1.75rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.mhsi-footer__legal-links a {
	font-family: var(--wp--preset--font-family--mark-ot, "Mark OT", system-ui, sans-serif);
	font-size: 1.05rem;
	line-height: 1.5;
	color: #fff;
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

/* —— Responsive —— */
@media (max-width: 960px) {
	.mhsi-site-header .mhsi-header__bar {
		flex-wrap: wrap;
		padding-top: 3.75rem;
		padding-bottom: 1.25rem;
	}

	.mhsi-site-header .mhsi-header__join {
		font-size: 1rem;
		padding: 0.7rem 1rem;
		right: 0;
	}

	.mhsi-site-header .mhsi-primary-nav .wp-block-navigation-item__content {
		padding: 0.55rem 0.65rem;
		font-size: 1rem;
	}

	.mhsi-footer__main {
		flex-direction: column !important;
	}

	.mhsi-footer__left,
	.mhsi-footer__right {
		flex-basis: 100% !important;
	}
}

@media (max-width: 600px) {
	.mhsi-footer__brand-row {
		flex-wrap: wrap;
	}

	.mhsi-footer__logo-link {
		max-width: 100%;
	}

	.mhsi-footer__enews-form {
		flex-direction: column;
	}

	.mhsi-footer__enews-submit {
		width: 100%;
	}

	.mhsi-footer__legal {
		flex-direction: column;
	}
}
