/* ==========================================================================
   2025 Nm4n Child Theme — Medlink Workforce
   Design system: balanced, centred section heads over symmetrical grids; full-bleed split heroes;
   mirrored contour-line corners on light sections; one dark band in roughly every three sections.
   Colours, fonts and sizes come from theme.json presets.
   ========================================================================== */

:root {
	--nm-navy: var(--wp--preset--color--navy);
	--nm-navy-deep: var(--wp--preset--color--navy-deep);
	--nm-green: var(--wp--preset--color--green);
	--nm-green-deep: var(--wp--preset--color--green-deep);
	--nm-green-text: var(--wp--preset--color--green-text);
	--nm-yellow: var(--wp--preset--color--line-yellow);
	--nm-blue-grey: var(--wp--preset--color--blue-grey);
	--nm-mint: var(--wp--preset--color--mint);
	--nm-warm: var(--wp--preset--color--warm);
	--nm-white: #fff;
	--nm-muted: var(--wp--preset--color--ink-muted);
	--nm-on-dark-muted: #B9C7D1;
	--nm-rule: #E4DCD8;
	--nm-rule-cool: #C9D7DD;
	--nm-radius: 18px;
	--nm-radius-sm: 12px;
	--nm-container: 1200px;
	--nm-gutter: max(20px, env(safe-area-inset-left, 0px));
	--nm-section-y: clamp(64px, 5rem + 2vw, 112px);
	--nm-shadow: 0 18px 40px rgba(17, 33, 47, .10);
	--nm-grad: linear-gradient(120deg, #11212F 0%, #133246 40%, #0F5B3B 78%, #108235 100%);
	--nm-grad-hero: linear-gradient(115deg, #11212F 0%, #133246 40%, #0F5B3B 78%, #108235 100%);
	--nm-grad-panel: linear-gradient(160deg, #133246 0%, #11212F 70%, #0F3A2E 100%);
	--nm-grad-mint: linear-gradient(135deg, #D5F1DF 0%, #E6F6EC 55%, #F3FAF5 100%);
	--nm-grad-badge: linear-gradient(145deg, #E3F6E9 0%, #C6EBD1 100%);
	--nm-grad-green: linear-gradient(135deg, #5ABB5E 0%, #3FA459 50%, #108235 100%);
	--nm-header-h: 100px;
	--nm-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	--nm-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	--nm-swash: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 16' preserveAspectRatio='none'%3E%3Cpath d='M3 11.5C46 4.5 118 2.8 197 6.2' fill='none' stroke='%235ABB5E' stroke-width='3.2' stroke-linecap='round'/%3E%3Cpath d='M22 14.2C70 9.6 128 8.4 176 9.8' fill='none' stroke='%23CDD84B' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
}

/* ---------- Base ---------- */
html { scroll-behavior: smooth; scroll-padding-top: 96px; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition: none !important; animation: none !important; }
}
body { -webkit-font-smoothing: antialiased; overflow-x: hidden; }
img { max-width: 100%; height: auto; }
h1, h2, h3, h4 { text-wrap: balance; }
p { text-wrap: pretty; }
:focus-visible { outline: 3px solid var(--nm-navy); outline-offset: 3px; border-radius: 6px; }
.nm-dark :focus-visible, .nm-footer :focus-visible { outline-color: var(--nm-yellow); }
.screen-reader-text:focus { z-index: 100000; }

/* Remove the default gaps between full-width sections; every section sets its own spacing. */
.wp-site-blocks > *,
.wp-site-blocks > main,
.nm-main,
.nm-main > .wp-block-post-content > .alignfull,
.nm-main > *,
.wp-block-post-content > .alignfull { margin-block-start: 0; margin-block-end: 0; }
.wp-site-blocks { padding-top: 0; }

/* Highlighted keyword in a headline: green with the hand-drawn underline. Wraps cleanly across lines. */
mark.nm-hl {
	color: var(--nm-green-deep);
	background: var(--nm-swash) left bottom / 100% .32em no-repeat;
	padding-bottom: .1em;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}
.nm-dark mark.nm-hl, .nm-footer mark.nm-hl { color: var(--nm-green); }

/* ---------- Text helpers ---------- */
.nm-eyebrow {
	font-family: var(--wp--preset--font-family--body);
	font-size: .95rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--nm-green-text);
	margin: 0;
}
.nm-dark .nm-eyebrow { color: var(--nm-yellow); }
.nm-lede { font-size: var(--wp--preset--font-size--large); color: var(--nm-muted); line-height: 1.6; max-width: 62ch; }
.nm-dark .nm-lede, .nm-dark p { color: var(--nm-on-dark-muted); }
.nm-dark h1, .nm-dark h2, .nm-dark h3, .nm-dark h4, .nm-dark strong { color: var(--nm-white); }
.nm-caption { font-size: .9rem; color: var(--nm-muted); font-style: italic; text-align: center; }
.nm-muted { color: var(--nm-muted); }
.nm-center { text-align: center; }

/* Text link with arrow */
.nm-more { margin: 0; }
.nm-more a, a.nm-link, .nm-more-inline {
	display: inline-flex; align-items: center; gap: 8px;
	font-weight: 700; color: var(--nm-green-text); text-decoration: none;
}
.nm-more a::after {
	content: ""; width: 16px; height: 16px; background: currentColor;
	-webkit-mask: var(--nm-arrow) center / contain no-repeat; mask: var(--nm-arrow) center / contain no-repeat;
	transition: transform .18s ease;
}
.nm-more a:hover, a.nm-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.nm-more a:hover::after { transform: translateX(3px); }
.nm-dark .nm-more a, .nm-dark a.nm-link { color: var(--nm-green); }
.nm-arrow { flex: none; }

/* ---------- Buttons ---------- */
.wp-block-buttons { gap: 14px; }
.wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 50px; border: 2px solid transparent; transition: background-color .18s ease, color .18s ease, border-color .18s ease; text-decoration: none; }
.wp-block-button.has-arrow .wp-block-button__link::after,
.wp-block-button.is-style-fill-arrow .wp-block-button__link::after {
	content: ""; width: 18px; height: 18px; background: currentColor;
	-webkit-mask: var(--nm-arrow) center / contain no-repeat; mask: var(--nm-arrow) center / contain no-repeat;
	transition: transform .18s ease;
}
.wp-block-button .wp-block-button__link:hover::after { transform: translateX(3px); }
.wp-block-button.is-style-navy .wp-block-button__link { background: var(--nm-navy); color: var(--nm-white); }
.wp-block-button.is-style-navy .wp-block-button__link:hover { background: var(--nm-navy-deep); color: var(--nm-white); }
.wp-block-button.is-style-outline .wp-block-button__link { background: transparent; border-color: var(--nm-navy); color: var(--nm-navy); padding: 11px 24px; }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--nm-navy); color: var(--nm-white); }
.nm-dark .wp-block-button.is-style-outline .wp-block-button__link,
.wp-block-button.is-style-light .wp-block-button__link { background: transparent; border-color: rgba(255,255,255,.75); color: var(--nm-white); padding: 11px 24px; }
.nm-dark .wp-block-button.is-style-outline .wp-block-button__link:hover,
.wp-block-button.is-style-light .wp-block-button__link:hover { background: var(--nm-white); color: var(--nm-navy); }
a.nm-btn { display: inline-flex; align-items: center; min-height: 48px; padding: 11px 24px; border-radius: 999px; background: var(--nm-green); color: var(--nm-navy); font-weight: 700; text-decoration: none; }
a.nm-btn:hover { background: var(--nm-green-deep); color: var(--nm-white); }

/* ==========================================================================
   Header
   ========================================================================== */
.nm-site-header { position: sticky; top: 0; z-index: 50; }
.admin-bar .nm-site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .nm-site-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .nm-site-header { top: 0; } }
.nm-header {
	background: rgba(247, 242, 240, .98);
	border-bottom: 1px solid var(--nm-rule);
	transition: box-shadow .2s ease;
}
.nm-header.is-scrolled { box-shadow: 0 6px 24px rgba(17, 33, 47, .08); }
.nm-header__bar { min-height: var(--nm-header-h); gap: 20px; transition: min-height .2s ease; max-width: var(--nm-container); margin-inline: auto; }
.nm-header.is-scrolled .nm-header__bar { min-height: 76px; }
.nm-logo { margin: 0; flex: none; }
.nm-logo img { width: 176px; height: auto; display: block; }
.nm-header .nm-nav { margin-left: auto; }
.nm-header .wp-block-buttons { flex: none; margin: 0; }
.nm-header .wp-block-button__link { white-space: nowrap; padding-inline: 22px; }

/* Top-level links */
.nm-nav .wp-block-navigation__container { gap: 2px; }
.nm-nav .wp-block-navigation-item__content { color: var(--nm-navy); text-decoration: none; white-space: nowrap; }
.nm-nav > .wp-block-navigation__responsive-container .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { padding: 10px 12px; font-weight: 600; }
.nm-nav .wp-block-navigation-item__content:hover,
.nm-nav .current-menu-item > .wp-block-navigation-item__content,
.nm-nav .current-menu-ancestor > .wp-block-navigation-item__content { color: var(--nm-green-text); }
.nm-nav .wp-block-navigation__container > .current-menu-item > .wp-block-navigation-item__content,
.nm-nav .wp-block-navigation__container > .current-menu-ancestor > .wp-block-navigation-item__content { box-shadow: inset 0 -2px 0 var(--nm-green); }
.nm-nav .wp-block-navigation__submenu-icon { margin-left: 2px; width: 12px; height: 12px; }

/* Mega menus (desktop) */
@media (min-width: 1200px) {
	.nm-nav .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container {
		top: calc(100% + 12px) !important;
		left: 50% !important; right: auto !important;
		transform: translate(-50%, 8px);
		min-width: 0;
		width: min(640px, 90vw);
		padding: 18px;
		display: grid !important;
		grid-template-columns: 1fr 1fr;
		gap: 4px 12px;
		background: var(--nm-white);
		border: 1px solid var(--nm-rule);
		border-radius: var(--nm-radius);
		box-shadow: 0 24px 60px rgba(17, 33, 47, .16);
		transition: opacity .18s ease, transform .18s ease, visibility .18s;
	}
	.nm-nav .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container::before { content: ""; position: absolute; inset: -14px 0 auto; height: 14px; }
	.nm-nav .wp-block-navigation__container > .has-child:hover > .wp-block-navigation__submenu-container,
	.nm-nav .wp-block-navigation__container > .has-child:focus-within > .wp-block-navigation__submenu-container { transform: translate(-50%, 0); }
	.nm-nav .wp-block-navigation__submenu-container.nm-mega-narrow { width: 340px !important; grid-template-columns: 1fr !important; }
	.nm-nav .wp-block-navigation__submenu-container.nm-mega-wide { width: min(860px, 92vw) !important; grid-template-columns: 1.05fr 1fr 1fr !important; }
	.nm-nav .wp-block-navigation__submenu-container .wp-block-navigation-item { width: 100%; }
	.nm-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		display: grid !important; grid-template-columns: 36px 1fr; column-gap: 12px; align-items: center; align-content: center;
		padding: 10px; border-radius: var(--nm-radius-sm); font-weight: 700; font-size: .95rem; line-height: 1.3; white-space: normal;
	}
	.nm-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--nm-warm); color: var(--nm-navy); }
	.nm-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__description { grid-column: 2; display: block; font-weight: 400; font-size: .84rem; color: var(--nm-muted); line-height: 1.35; margin-top: 2px; }
	.nm-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__label { grid-column: 2; }
	.nm-nav .nm-menu-icon > .wp-block-navigation-item__content::before {
		content: ""; grid-column: 1; grid-row: 1 / span 2; width: 32px; height: 32px;
		background: var(--nm-icon) center / contain no-repeat;
	}
	.nm-nav .nm-menu-feature { grid-row: span 3; }
	.nm-nav .nm-menu-feature > .wp-block-navigation-item__content { display: grid !important; grid-template-columns: 1fr; height: 100%; align-content: start; gap: 6px; padding: 18px; background: var(--nm-mint); font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: 1.02rem; }
	.nm-nav .nm-menu-feature > .wp-block-navigation-item__content .wp-block-navigation-item__description,
	.nm-nav .nm-menu-feature > .wp-block-navigation-item__content .wp-block-navigation-item__label { grid-column: 1; }
	.nm-nav .nm-menu-feature > .wp-block-navigation-item__content .wp-block-navigation-item__description { font-family: var(--wp--preset--font-family--body); font-size: .9rem; }
	.nm-nav .nm-menu-feature > .wp-block-navigation-item__content::after { content: "See all \2192"; color: var(--nm-green-text); font-family: var(--wp--preset--font-family--body); font-weight: 700; font-size: .92rem; margin-top: 6px; }
	.nm-nav .nm-menu-feature > .wp-block-navigation-item__content:hover { background: #c9ecd6; }
	.nm-nav .nm-menu-sub > .wp-block-navigation-item__content { font-size: .9rem; color: var(--nm-green-text); }
	.nm-nav .nm-menu-label-sectors, .nm-nav .nm-menu-label-growth { position: relative; }
	.nm-nav .wp-block-navigation__submenu-container.nm-menu-industries { grid-template-columns: 1fr 1fr 1fr !important; width: min(860px, 92vw) !important; }
	.nm-nav .nm-menu-industries .nm-menu-feature { grid-row: span 4; }
}

/* Icons in menus */
.nm-ico-service-healthcare-admin { --nm-icon: url(../icons/service-healthcare-admin.svg); }
.nm-ico-service-it { --nm-icon: url(../icons/service-it.svg); }
.nm-ico-service-virtual-assistance { --nm-icon: url(../icons/service-virtual-assistance.svg); }
.nm-ico-service-accounting { --nm-icon: url(../icons/service-accounting.svg); }
.nm-ico-service-legal { --nm-icon: url(../icons/service-legal.svg); }
.nm-ico-service-recruitment { --nm-icon: url(../icons/service-recruitment.svg); }
.nm-ico-service-recruitment-alt { --nm-icon: url(../icons/service-recruitment-alt.svg); }
.nm-ico-industry-healthcare { --nm-icon: url(../icons/industry-healthcare.svg); }
.nm-ico-industry-professional-services { --nm-icon: url(../icons/industry-professional-services.svg); }
.nm-ico-industry-accounting-finance { --nm-icon: url(../icons/industry-accounting-finance.svg); }
.nm-ico-industry-legal { --nm-icon: url(../icons/industry-legal.svg); }
.nm-ico-industry-education-research { --nm-icon: url(../icons/industry-education-research.svg); }
.nm-ico-industry-government { --nm-icon: url(../icons/industry-government.svg); }
.nm-ico-industry-startups-technology { --nm-icon: url(../icons/industry-startups-technology.svg); }
.nm-ico-industry-growing-businesses { --nm-icon: url(../icons/industry-growing-businesses.svg); }

/* Mobile and tablet menu: the full menu needs about 1200px, so the overlay is used below that. */
@media (max-width: 1199px) {
	.nm-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; width: 48px; height: 48px; align-items: center; justify-content: center; border: 1px solid var(--nm-rule); border-radius: 12px; background: var(--nm-white); }
	.nm-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
	.nm-header .wp-block-buttons { display: none; }
	.nm-header .nm-nav { order: 3; }
}
.nm-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--nm-warm) !important; color: var(--nm-navy) !important;
	padding: calc(env(safe-area-inset-top, 0px) + 20px) var(--nm-gutter) 32px;
}
.nm-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 56px; align-items: stretch; }
.nm-nav .is-menu-open .wp-block-navigation__container { gap: 0; width: 100%; align-items: stretch !important; }
.nm-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item { border-bottom: 1px solid var(--nm-rule); width: 100%; flex-direction: column; align-items: stretch !important; }
.nm-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { font-family: var(--wp--preset--font-family--heading); font-size: 1.2rem; font-weight: 500; padding: 14px 4px !important; }
.nm-nav .is-menu-open .wp-block-navigation__submenu-container { padding: 0 0 12px 12px !important; gap: 0 !important; }
.nm-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 8px 4px !important; font-weight: 600; font-size: 1rem; }
.nm-nav .is-menu-open .wp-block-navigation-item__description { display: none; }
.nm-nav .is-menu-open .nm-menu-feature { display: none !important; }
.nm-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { --navigation-layout-justification-setting: flex-start; --navigation-layout-align: flex-start; --navigation-layout-justify: flex-start; }
.nm-nav .is-menu-open .wp-block-navigation-item, .nm-nav .is-menu-open .wp-block-navigation__submenu-container { align-items: flex-start !important; text-align: left; }
.nm-nav .is-menu-open .wp-block-navigation__container > .current-menu-item > .wp-block-navigation-item__content { box-shadow: none; }
.nm-nav .is-menu-open .nm-menu-cta { border-bottom: 0 !important; margin-top: 24px; }
.nm-nav .is-menu-open .nm-menu-cta > .wp-block-navigation-item__content { background: var(--nm-green); color: var(--nm-navy) !important; border-radius: 999px; padding: 14px 28px !important; font-family: var(--wp--preset--font-family--body) !important; font-weight: 700 !important; font-size: 1rem !important; }
.nm-nav:not(:has(.is-menu-open)) .nm-menu-cta, .nm-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .nm-menu-cta { display: none !important; }
.nm-nav .wp-block-navigation__responsive-container-close { top: 20px; right: var(--nm-gutter); width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--nm-rule); border-radius: 12px; background: var(--nm-white); }
@media (max-width: 560px) {
	:root { --nm-header-h: 78px; }
	.nm-logo img { width: 144px; }
}

/* ==========================================================================
   Sections and backgrounds
   ========================================================================== */
.nm-section { position: relative; padding-block: var(--nm-section-y); overflow: hidden; }
.nm-section > * { position: relative; z-index: 1; }
.nm-section.nm-tight { padding-block: clamp(40px, 4vw, 64px); }
.nm-dark { color: var(--nm-white); }
.has-navy-background-color.nm-section, .has-navy-deep-background-color.nm-section { color: var(--nm-white); }

/* Mirrored contour corners on light sections */
.nm-corners::before, .nm-corners::after {
	content: ""; position: absolute; width: clamp(160px, 22vw, 330px); aspect-ratio: 330 / 400;
	pointer-events: none; z-index: 0; opacity: .9;
}
.nm-corners::before { top: 0; left: 0; background: url(../brand/contour-3lt.png) left top / contain no-repeat; }
.nm-corners::after { bottom: 0; right: 0; background: url(../brand/contour-3rb.png) right bottom / contain no-repeat; }

/* Faint business-icon pattern */
.nm-pattern-white::before { content: ""; position: absolute; inset: 0; background: url(../brand/biz-white.png) 0 0 / 420px auto repeat; opacity: .05; pointer-events: none; z-index: 0; }
.nm-pattern-grey::before { content: ""; position: absolute; inset: 0; background: url(../brand/biz-grey.png) 0 0 / 420px auto repeat; opacity: .1; pointer-events: none; z-index: 0; }
.nm-pattern-contour::before { content: ""; position: absolute; inset: 0; background: url(../brand/contour-4.png) center 20% / 120% auto no-repeat; opacity: .35; pointer-events: none; z-index: 0; }
.has-cool-soft-gradient-background { background: linear-gradient(180deg, #DDE8EC 0%, #E3EEEA 100%); }

/* Section heading pattern */
.nm-head { max-width: 860px; margin: 0 auto clamp(40px, 4vw, 56px) !important; text-align: center; display: grid; gap: 14px; justify-items: center; }
.nm-head > * { margin: 0 !important; }
.nm-head .nm-lede { margin-inline: auto !important; }
.nm-head.is-left { margin-inline: 0 !important; text-align: left; justify-items: start; }
.nm-head.is-left .nm-lede { margin-inline: 0 !important; }
.nm-head.is-tight { margin-bottom: 8px !important; }
.nm-actions { display: flex; flex-direction: column; align-items: center; gap: 14px; margin-top: clamp(36px, 4vw, 52px) !important; text-align: center; }
.nm-actions > * { margin: 0 !important; }

/* ==========================================================================
   Heroes
   ========================================================================== */
.nm-hero { display: grid; grid-template-columns: 1fr 1fr; min-height: clamp(460px, 44vw, 600px); position: relative; padding: 0 !important; gap: 0; }
.nm-hero > * { margin: 0 !important; }
.nm-hero__text {
	position: relative; overflow: hidden; display: flex; align-items: center;
	padding-block: clamp(56px, 6vw, 96px);
	padding-left: max(var(--nm-gutter), calc((100vw - var(--nm-container)) / 2));
	padding-right: clamp(24px, 4vw, 64px);
}
.nm-hero__inner { position: relative; z-index: 1; display: grid; gap: 22px; max-width: 620px; }
.nm-hero__inner > * { margin: 0 !important; }
.nm-hero h1 { font-size: clamp(2.3rem, 1.5rem + 2.4vw, 3.4rem); }
.nm-hero--mint h1 { font-size: clamp(2.5rem, 1.6rem + 2.9vw, 3.9rem); }
.nm-hero__media { position: relative; min-height: 320px; margin: 0; }
.nm-hero__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.nm-hero--grad .nm-hero__text { background: var(--nm-grad-hero); color: var(--nm-white); }
.nm-hero--grad .nm-hero__text::before { content: ""; position: absolute; inset: 0; background: url(../brand/contour-2h.png) 30% 40% / 150% auto no-repeat; opacity: .55; }
.nm-hero--grad .nm-eyebrow { color: var(--nm-yellow); }
.nm-hero--grad .nm-lede { color: var(--nm-on-dark-muted); }
.nm-hero--grad h1 { color: var(--nm-white); }
.nm-hero--grad mark.nm-hl { color: var(--nm-green); }
.nm-hero--mint .nm-hero__text { background: var(--nm-grad-mint); }
.nm-hero--mint .nm-hero__text::before { content: ""; position: absolute; inset: 0; background: url(../brand/biz-green.png) 0 0 / 420px auto repeat; opacity: .13; }
.nm-hero--icon .nm-hero__media { background: var(--nm-grad-panel); display: grid; place-items: center; }
.nm-hero--icon .nm-hero__media::before { content: ""; position: absolute; inset: 0; background: url(../brand/contour-4.png) center / 130% auto no-repeat; opacity: .5; }
.nm-hero--icon .nm-hero__media img { position: relative; inset: auto; width: clamp(120px, 16vw, 200px); height: auto; filter: brightness(0) invert(1); }
.nm-hero-chip { position: absolute; left: calc(50% + clamp(16px, 3vw, 40px)); bottom: clamp(16px, 3vw, 40px); background: var(--nm-white); border-radius: var(--nm-radius-sm); padding: 14px 18px !important; box-shadow: 0 18px 40px rgba(17,33,47,.22); display: grid; gap: 4px; z-index: 2; }
.nm-hero-chip > * { margin: 0 !important; }
.nm-hero-chip .nm-chip-title { font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: .98rem; color: var(--nm-navy); }
.nm-hero-chip .nm-chip-steps { font-size: .78rem; font-weight: 700; color: var(--nm-green-text); letter-spacing: .02em; white-space: nowrap; }
@media (max-width: 880px) {
	.nm-hero { grid-template-columns: 1fr; min-height: 0; }
	.nm-hero__text { padding: 48px var(--nm-gutter) 44px; }
	.nm-hero__media { min-height: 0; aspect-ratio: 16 / 10; }
	.nm-hero--icon .nm-hero__media { aspect-ratio: 16 / 7; }
}
@media (max-width: 880px) { .nm-hero-chip { left: clamp(16px, 3vw, 40px); } }
@media (max-width: 420px) { .nm-hero-chip .nm-chip-steps { font-size: .7rem; } }

/* Centred hero */
.nm-hero-center { position: relative; overflow: hidden; background: var(--nm-grad); color: var(--nm-white); text-align: center; padding-block: clamp(72px, 7vw, 120px) !important; }
.nm-hero-center::before { content: ""; position: absolute; inset: 0; background: url(../brand/contour-2h.png) center 40% / 110% auto no-repeat; opacity: .45; pointer-events: none; }
.nm-hero-center > * { position: relative; z-index: 1; }
.nm-hero-center .nm-hero-center__inner { display: grid; gap: 22px; justify-items: center; max-width: 900px; margin-inline: auto; }
.nm-hero-center .nm-hero-center__inner > * { margin: 0 !important; }
.nm-hero-center h1 { color: var(--nm-white); max-width: 20ch; font-size: clamp(2.3rem, 1.5rem + 2.6vw, 3.6rem); }
.nm-hero-center .nm-lede { color: var(--nm-on-dark-muted); margin-inline: auto; }
.nm-hero-center .nm-eyebrow { color: var(--nm-yellow); }
.nm-hero-center mark.nm-hl { color: var(--nm-green); }
.nm-hero-center .wp-block-buttons { justify-content: center; }
.nm-hero-center.is-light { background: var(--nm-grad-mint); color: var(--nm-navy); }
.nm-hero-center.is-light::before { background: url(../brand/biz-green.png) 0 0 / 420px auto repeat; opacity: .12; }
.nm-hero-center.is-light h1 { color: var(--nm-navy); }
.nm-hero-center.is-light .nm-lede { color: var(--nm-muted); }
.nm-hero-center.is-light .nm-eyebrow { color: var(--nm-green-text); }
.nm-hero-center.is-light mark.nm-hl { color: var(--nm-green-deep); }

/* Breadcrumbs */
.nm-breadcrumbs { background: var(--nm-white); border-bottom: 1px solid var(--nm-rule); font-size: .9rem; margin-block: 0 !important; }
.nm-breadcrumbs ol { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: 0 auto; padding: 14px var(--nm-gutter); max-width: calc(var(--nm-container) + 2 * var(--nm-gutter)); }
.nm-breadcrumbs li { display: inline-flex; gap: 8px; align-items: center; color: var(--nm-muted); }
.nm-breadcrumbs li + li::before { content: "/"; color: var(--nm-rule-cool); }
.nm-breadcrumbs a { color: var(--nm-navy); font-weight: 600; text-decoration: none; }
.nm-breadcrumbs a:hover { text-decoration: underline; }
.nm-hero-center .nm-breadcrumbs, .nm-article-hero .nm-breadcrumbs { background: transparent; border: 0; }
.nm-hero-center .nm-breadcrumbs ol { justify-content: center; padding: 0; }
.nm-hero-center .nm-breadcrumbs a, .nm-hero-center .nm-breadcrumbs li { color: var(--nm-on-dark-muted); }
.nm-hero-center .nm-breadcrumbs a { color: var(--nm-white); }

/* ==========================================================================
   Credibility strip
   ========================================================================== */
.nm-cred { background: linear-gradient(115deg, #133246 0%, #12394A 55%, #0F4A3A 100%); padding-block: clamp(36px, 4vw, 52px) !important; color: var(--nm-white); }
.nm-cred__grid { display: grid; grid-template-columns: repeat(3, 1fr); text-align: center; max-width: var(--nm-container); margin-inline: auto !important; }
.nm-cred__grid.is-four { grid-template-columns: repeat(4, 1fr); }
.nm-cred__item { display: grid; gap: 6px; padding: 6px 24px; align-content: center; }
.nm-cred__item > * { margin: 0 !important; }
.nm-cred__item + .nm-cred__item { border-left: 1px solid rgba(255,255,255,.16); }
.nm-cred__num { font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: clamp(1.5rem, 1.1rem + 1.1vw, 2.1rem); color: var(--nm-white) !important; line-height: 1.1; }
.nm-cred__num em { font-style: normal; color: var(--nm-green); }
.nm-cred__label { color: var(--nm-on-dark-muted) !important; font-size: 1rem; }
@media (min-width: 721px) { .nm-cred__num { white-space: nowrap; } }
@media (max-width: 860px) { .nm-cred__grid.is-four { grid-template-columns: 1fr 1fr; row-gap: 22px; } .nm-cred__grid.is-four .nm-cred__item:nth-child(3) { border-left: 0; } }
@media (max-width: 720px) {
	.nm-cred__grid { grid-template-columns: 1fr; gap: 18px; }
	.nm-cred__item + .nm-cred__item { border-left: 0; border-top: 1px solid rgba(255,255,255,.16); padding-top: 18px; }
	.nm-cred__grid.is-four .nm-cred__item + .nm-cred__item { border-top: 0; padding-top: 6px; }
}

/* ==========================================================================
   Grids and cards
   ========================================================================== */
.nm-grid { display: grid !important; gap: clamp(18px, 2vw, 28px); max-width: var(--nm-container); margin-inline: auto !important; }
.nm-grid > * { margin: 0 !important; min-width: 0; }
.nm-cols-2 { grid-template-columns: repeat(2, 1fr); }
.nm-cols-3 { grid-template-columns: repeat(3, 1fr); }
.nm-cols-4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 980px) { .nm-cols-4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 760px) { .nm-cols-3 { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .nm-cols-2, .nm-cols-4 { grid-template-columns: 1fr; } }

.nm-card {
	background: var(--nm-white); border: 1px solid var(--nm-rule); border-radius: var(--nm-radius);
	padding: clamp(24px, 2.4vw, 32px) !important;
	display: flex; flex-direction: column; align-items: flex-start; gap: 14px;
}
.nm-card > * { margin: 0 !important; max-width: 100%; }
.has-white-background-color .nm-card, .nm-on-white .nm-card { background: var(--nm-warm); border-color: transparent; }
.has-blue-grey-background-color .nm-card, .has-cool-soft-gradient-background .nm-card { border-color: transparent; }
.nm-card h3 { color: var(--nm-navy); }
.nm-card p { color: var(--nm-muted); }
.nm-card .nm-more { margin-top: auto !important; }
.nm-card .nm-more a { color: var(--nm-green-text); }
.nm-card.is-centered { text-align: center; align-items: center; }

/* Balanced rows: titles, text and links line up across a row (CSS subgrid). */
.nm-balanced { grid-auto-rows: auto; }
.nm-balanced > .nm-card { display: grid; grid-template-rows: subgrid; gap: 14px; align-items: start; }
.nm-balanced.rows-3 > .nm-card { grid-row: span 3; }
.nm-balanced.rows-4 > .nm-card { grid-row: span 4; }
.nm-balanced.rows-4 > .nm-card > .nm-more { align-self: end; }
.nm-balanced > .nm-card.is-centered { justify-items: center; }

/* Icon badge: a square with the icon (image block) */
.nm-badge, .wp-block-image.nm-badge {
	width: 64px; height: 64px; border-radius: 16px; background: var(--nm-grad-badge);
	display: grid !important; place-items: center; flex: none;
}
.wp-block-image.nm-badge img, .nm-badge img { width: 38px !important; height: 38px !important; object-fit: contain; }
.wp-block-image.nm-badge.is-line img { width: 30px !important; height: 30px !important; }
.wp-block-image.nm-ring { width: 64px; height: 64px; border-radius: 50%; border: 2px dashed var(--nm-green); display: grid !important; place-items: center; }
.wp-block-image.nm-ring img { width: 30px !important; height: 30px !important; }
.nm-icon { display: block; }
img.nm-icon.is-light, .nm-dark .wp-block-image.nm-on-dark img { filter: brightness(0) invert(1); }

/* Service cards (dynamic block) — 3 + 2 centred for five */
.nm-services { display: grid; gap: clamp(18px, 2vw, 28px); max-width: var(--nm-container); margin-inline: auto !important; grid-template-columns: repeat(6, 1fr); grid-auto-rows: auto; }
.nm-services > * { grid-column: span 2; min-width: 0; }
.nm-services.has-5-items > :nth-child(4) { grid-column: 2 / span 2; }
.nm-services.has-4-items { grid-template-columns: repeat(4, 1fr); }
.nm-services.has-4-items > * { grid-column: span 1; }
.nm-services.has-2-items { grid-template-columns: repeat(2, 1fr); max-width: 900px; }
.nm-services.has-2-items > * { grid-column: span 1; }
.nm-service-card {
	display: grid; grid-template-rows: subgrid; grid-row: span 4; gap: 14px; align-items: start;
	background: var(--nm-white); border: 1px solid var(--nm-rule); border-radius: var(--nm-radius);
	padding: clamp(24px, 2.4vw, 32px); text-decoration: none; color: var(--nm-navy);
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.nm-services--detailed .nm-service-card { grid-row: span 5; }
.nm-service-card:hover { transform: translateY(-3px); box-shadow: var(--nm-shadow); border-color: var(--nm-green); }
.nm-service-card h3 { margin: 0; font-size: var(--wp--preset--font-size--x-large); font-weight: 500; }
.nm-service-card p { margin: 0; color: var(--nm-muted); }
.nm-service-card .nm-more { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; color: var(--nm-green-text); align-self: end; }
.has-white-background-color .nm-service-card { background: var(--nm-warm); border-color: transparent; }
.has-blue-grey-background-color .nm-service-card { border-color: transparent; }
@media (max-width: 980px) {
	.nm-services, .nm-services.has-4-items { grid-template-columns: repeat(2, 1fr); }
	.nm-services > *, .nm-services.has-5-items > :nth-child(4), .nm-services.has-4-items > * { grid-column: auto; }
	.nm-services.has-5-items > :nth-child(5), .nm-services.has-3-items > :nth-child(3) { grid-column: 1 / -1; justify-self: center; width: calc(50% - 14px); }
}
@media (max-width: 640px) {
	.nm-services, .nm-services.has-4-items, .nm-services.has-2-items { grid-template-columns: 1fr; }
	.nm-services.has-5-items > :nth-child(5), .nm-services.has-3-items > :nth-child(3) { width: auto; justify-self: stretch; }
}
.nm-services--list { list-style: none; padding: 0; display: flex !important; flex-wrap: wrap; justify-content: center; gap: 10px; }
.nm-services--list li, .nm-industries--compact li { grid-column: auto; }
.nm-services--list a, .nm-industries--compact a { display: inline-flex; align-items: center; gap: 10px; padding: 10px 18px 10px 12px; border-radius: 999px; background: var(--nm-white); border: 1px solid var(--nm-rule); text-decoration: none; font-weight: 600; color: var(--nm-navy); }
.nm-services--list a:hover, .nm-industries--compact a:hover { border-color: var(--nm-green); }
.nm-services--list img, .nm-industries--compact img { width: 26px; height: 26px; }
.has-white-background-color .nm-services--list a, .has-white-background-color .nm-industries--compact a { background: var(--nm-warm); border-color: transparent; }

/* Tick list */
.nm-ticks { list-style: none; padding: 0 !important; margin: 0; display: grid; gap: 10px; }
.nm-ticks li { position: relative; padding-left: 32px; color: var(--nm-navy); }
.nm-ticks li::before { content: ""; position: absolute; left: 0; top: .2em; width: 20px; height: 20px; background: var(--nm-green-deep); -webkit-mask: var(--nm-check) center / contain no-repeat; mask: var(--nm-check) center / contain no-repeat; }
.nm-dark .nm-ticks li, .is-navy .nm-ticks li { color: var(--nm-white); }
.nm-dark .nm-ticks li::before, .is-navy .nm-ticks li::before { background: var(--nm-green); }

/* ==========================================================================
   Industry tiles (dynamic block)
   ========================================================================== */
.nm-industries--tiles, .nm-industries--cards { display: grid; grid-template-columns: repeat(4, 1fr); border-radius: var(--nm-radius); overflow: hidden; max-width: var(--nm-container); margin-inline: auto !important; grid-auto-rows: auto; }
.nm-industries--tiles.has-6-items, .nm-industries--tiles.has-3-items, .nm-industries--tiles.has-9-items { grid-template-columns: repeat(3, 1fr); }
.nm-industries--cards { grid-template-columns: repeat(2, 1fr); gap: clamp(18px, 2vw, 28px); overflow: visible; border-radius: 0; max-width: 960px; }
.nm-tile {
	position: relative; display: grid; grid-template-rows: subgrid; grid-row: span 3; row-gap: 10px; align-content: stretch;
	min-height: 200px; padding: 24px; color: var(--nm-white); text-decoration: none; overflow: hidden;
	background: linear-gradient(160deg, #1A4560 0%, #11212F 100%); transition: filter .2s ease;
}
.nm-tile.is-green { background: linear-gradient(160deg, #1A9A4C 0%, #0D7330 100%); }
.nm-industries--cards .nm-tile { border-radius: var(--nm-radius); min-height: 240px; padding: 32px; }
.nm-tile:hover { filter: brightness(1.08); }
.nm-tile .nm-icon { width: 54px; height: 54px; align-self: start; }
.nm-tile b { font-family: var(--wp--preset--font-family--heading); font-weight: 500; font-size: 1.1rem; line-height: 1.25; align-self: end; }
.nm-tile small { color: rgba(255,255,255,.86); font-size: .9rem; line-height: 1.4; align-self: start; }
.nm-tile__arrow { position: absolute; top: 20px; right: 20px; width: 34px; height: 34px; border-radius: 50%; border: 1.5px solid rgba(255,255,255,.6); display: grid; place-items: center; transition: background-color .2s, border-color .2s; }
.nm-tile__arrow svg { width: 16px; height: 16px; color: var(--nm-white); }
.nm-tile:hover .nm-tile__arrow { background: var(--nm-green); border-color: var(--nm-green); }
.nm-tile:hover .nm-tile__arrow svg { color: var(--nm-navy); }
@media (max-width: 980px) {
	.nm-industries--tiles, .nm-industries--tiles.has-6-items, .nm-industries--tiles.has-3-items { grid-template-columns: repeat(2, 1fr); }
	.nm-tile { min-height: 180px; }
	.nm-industries--tiles .nm-tile:nth-child(4n+3) { background: linear-gradient(160deg, #1A9A4C 0%, #0D7330 100%); }
	.nm-industries--tiles .nm-tile:nth-child(4n+4) { background: linear-gradient(160deg, #1A4560 0%, #11212F 100%); }
	.nm-industries--tiles .nm-tile:nth-child(4n+1) { background: linear-gradient(160deg, #1A4560 0%, #11212F 100%); }
	.nm-industries--tiles .nm-tile:nth-child(4n+2) { background: linear-gradient(160deg, #1A9A4C 0%, #0D7330 100%); }
}
@media (max-width: 640px) { .nm-industries--cards { grid-template-columns: 1fr; } }
@media (max-width: 420px) { .nm-tile { padding: 18px; min-height: 168px; } .nm-tile b { font-size: 1rem; } .nm-tile small { display: none; } }
.nm-industries--compact { list-style: none; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-inline: auto !important; max-width: var(--nm-container); }
.nm-tiles-label { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin: clamp(48px, 5vw, 72px) auto 22px !important; flex-wrap: wrap; max-width: var(--nm-container); }
.nm-tiles-label > * { margin: 0 !important; }
.nm-tiles-label h3 { font-size: clamp(1.35rem, 1.2rem + .6vw, 1.7rem); font-weight: 600; }
.nm-tiles-label.is-center { justify-content: center; text-align: center; }

/* ==========================================================================
   Home: How We Help split panels
   ========================================================================== */
.nm-help { display: grid; grid-template-columns: 1fr 1fr; position: relative; z-index: 1; margin-block: 0 !important; gap: 0; }
.nm-help > * { margin: 0 !important; }
.nm-help__panel { display: flex; flex-direction: column; gap: 20px; padding-block: clamp(48px, 5vw, 80px); }
.nm-help__panel > * { margin: 0 !important; }
.nm-help__panel.is-navy { background: var(--nm-grad-panel); color: var(--nm-white); padding-left: max(var(--nm-gutter), calc((100vw - var(--nm-container)) / 2)); padding-right: clamp(28px, 4vw, 72px); }
.nm-help__panel.is-light { background: var(--nm-white); padding-right: max(var(--nm-gutter), calc((100vw - var(--nm-container)) / 2)); padding-left: clamp(28px, 4vw, 72px); }
.nm-help__photo img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--nm-radius); display: block; }
.wp-block-image.nm-help__icon { width: 72px; height: 72px; border-radius: 18px; display: grid !important; place-items: center; margin: -56px 0 0 24px !important; position: relative; z-index: 2; box-shadow: 0 12px 30px rgba(17,33,47,.22); background: var(--nm-grad-badge); }
.is-navy .wp-block-image.nm-help__icon { background: var(--nm-grad-green); }
.wp-block-image.nm-help__icon img { width: 42px !important; height: 42px !important; }
.nm-label { font-size: .9rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--nm-green-text); }
.is-navy .nm-label { color: var(--nm-green) !important; }
.nm-help__panel h3 { font-weight: 600; font-size: clamp(1.75rem, 1.3rem + 1.4vw, 2.45rem); line-height: 1.15; letter-spacing: -.015em; }
.is-navy h3 { color: var(--nm-white); }
.is-navy mark.nm-hl { color: var(--nm-green); }
.nm-help__panel p { max-width: 56ch; }
.is-navy p { color: var(--nm-on-dark-muted); }
.is-light p { color: var(--nm-muted); }
.nm-help-list { list-style: none; padding: 0 !important; margin: 4px 0 6px !important; display: grid; }
.nm-help-list li { position: relative; padding: 13px 0 13px 40px; border-top: 1px solid var(--nm-rule); font-weight: 600; }
.nm-help-list li:last-child { border-bottom: 1px solid var(--nm-rule); }
.is-navy .nm-help-list li { border-color: rgba(255,255,255,.14); color: var(--nm-white); }
.nm-help-list li::before { content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 26px; height: 26px; }
.is-navy .nm-help-list li::before { width: 20px; height: 20px; left: 3px; background: var(--nm-green); -webkit-mask: var(--nm-check) center / contain no-repeat; mask: var(--nm-check) center / contain no-repeat; }
.is-light .nm-help-list li::before { background: var(--nm-icon) center / contain no-repeat; }
.nm-help-list a { color: inherit; text-decoration: none; }
.nm-help-list a:hover { color: var(--nm-green-text); text-decoration: underline; }
.nm-help__panel .nm-more { margin-top: auto !important; }
.is-navy .nm-more a { color: var(--nm-green); }
@media (max-width: 900px) {
	.nm-help { grid-template-columns: 1fr; }
	.nm-help__panel.is-navy, .nm-help__panel.is-light { padding-left: var(--nm-gutter); padding-right: var(--nm-gutter); }
}
.nm-flow-on { padding-top: clamp(64px, 6vw, 104px) !important; }

/* ==========================================================================
   Lifecycle steps (solid navy circles, green numbers)
   ========================================================================== */
.nm-steps { display: grid !important; grid-template-columns: repeat(6, 1fr); gap: 16px; position: relative; counter-reset: step; max-width: var(--nm-container); margin-inline: auto !important; }
.nm-steps::before { content: ""; position: absolute; top: 38px; left: 8%; right: 8%; height: 3px; background: linear-gradient(90deg, var(--nm-green) 0%, var(--nm-yellow) 100%); opacity: .7; }
.nm-step { position: relative; display: grid; justify-items: center; align-content: start; text-align: center; gap: 10px; counter-increment: step; margin: 0 !important; }
.nm-step > * { margin: 0 !important; }
.wp-block-image.nm-step__icon { width: 76px; height: 76px; border-radius: 50%; background: var(--nm-navy); display: grid !important; place-items: center; position: relative; z-index: 1; box-shadow: 0 10px 24px rgba(19,50,70,.22); }
.wp-block-image.nm-step__icon img { width: 30px !important; height: 30px !important; filter: brightness(0) invert(1); }
.nm-step::after { content: counter(step); position: absolute; top: -6px; left: calc(50% + 22px); width: 28px; height: 28px; border-radius: 50%; background: var(--nm-green); color: var(--nm-navy-deep); font-size: .82rem; font-weight: 700; display: grid; place-items: center; font-family: var(--wp--preset--font-family--heading); z-index: 2; }
.nm-step h3 { font-size: 1.12rem; font-weight: 600; margin-top: 4px !important; }
.nm-step p { font-size: .95rem; color: var(--nm-muted); }
@media (max-width: 980px) { .nm-steps { grid-template-columns: repeat(3, 1fr); row-gap: 36px; } .nm-steps::before { display: none; } }
@media (max-width: 560px) {
	.nm-steps { grid-template-columns: 1fr; gap: 22px; }
	.nm-step { grid-template-columns: 76px 1fr; justify-items: start; text-align: left; column-gap: 18px; row-gap: 4px; }
	.nm-step > .wp-block-image { grid-row: 1 / span 2; }
	.nm-step::after { left: 52px; }
	.nm-step h3 { margin-top: 0 !important; align-self: end; }
}

/* Process cards (illustration series) */
.nm-process-card { display: grid !important; grid-template-columns: 160px 1fr; gap: 22px; align-items: center; padding: 16px !important; }
.nm-process-card > .wp-block-image img { border-radius: var(--nm-radius-sm); aspect-ratio: 1; object-fit: cover; width: 100%; }
.nm-process-card__body { display: grid; gap: 8px; padding-right: 10px; }
.nm-process-card__body > * { margin: 0 !important; }
.nm-step-no { font-family: var(--wp--preset--font-family--heading); font-size: .85rem; font-weight: 600; color: var(--nm-green-text) !important; letter-spacing: .1em; text-transform: uppercase; }
@media (max-width: 980px) and (min-width: 561px) { .nm-process-card { grid-template-columns: 112px 1fr; gap: 16px; } }
@media (max-width: 560px) { .nm-process-card { grid-template-columns: 96px 1fr; gap: 16px; align-items: start; padding: 14px !important; } .nm-process-card__body { padding: 0; } }

/* ==========================================================================
   Feature split (healthcare band), photo splits, point lists
   ========================================================================== */
.nm-split { display: grid !important; grid-template-columns: 1fr 1fr; gap: clamp(32px, 5vw, 80px); align-items: center; max-width: var(--nm-container); margin-inline: auto !important; }
.nm-split > * { margin: 0 !important; min-width: 0; }
.nm-split.is-reverse > :first-child { order: 2; }
.nm-split.is-wide-copy { grid-template-columns: 1.05fr 1fr; }
.nm-split__copy { display: grid; gap: 18px; align-content: start; }
.nm-split__copy > * { margin: 0 !important; }
.nm-split__copy .nm-head { margin-bottom: 6px !important; }
.wp-block-image.nm-photo { position: relative; }
.wp-block-image.nm-photo img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--nm-radius); display: block; }
.wp-block-image.nm-photo.is-wide img { aspect-ratio: 16 / 10; }
.wp-block-image.nm-photo::after { content: ""; position: absolute; right: -28px; bottom: -28px; width: 180px; height: 180px; background: url(../brand/contour-3rb.png) right bottom / contain no-repeat; pointer-events: none; }
.nm-split.is-reverse .wp-block-image.nm-photo::after { right: auto; left: -28px; transform: scaleX(-1); }
.wp-block-image.nm-photo.no-contour::after { display: none; }
@media (max-width: 880px) {
	.nm-split, .nm-split.is-wide-copy { grid-template-columns: 1fr; }
	.nm-split.is-reverse > :first-child { order: 0; }
	.wp-block-image.nm-photo::after { width: 110px; height: 110px; right: -8px; bottom: -14px; }
}
.nm-points { display: grid; gap: 16px; }
.nm-points > * { margin: 0 !important; }
.nm-point { display: grid !important; grid-template-columns: 52px 1fr; gap: 16px; align-items: start; }
.nm-point > * { margin: 0 !important; }
.nm-point .wp-block-image.nm-badge { width: 52px; height: 52px; border-radius: 14px; }
.nm-point .wp-block-image.nm-badge img { width: 24px !important; height: 24px !important; }
.nm-point__text { display: grid; gap: 2px; }
.nm-point__text > * { margin: 0 !important; }
.nm-point__text h3 { font-size: 1.12rem; font-weight: 500; }
.nm-point__text p { color: var(--nm-muted); }
.nm-dark .nm-point__text p { color: var(--nm-on-dark-muted); }

/* Feature split inside the gradient band */
.nm-feature-photo img { border-radius: var(--nm-radius); aspect-ratio: 4 / 3; object-fit: cover; width: 100%; }
.wp-block-image.nm-feature-photo { position: relative; }
.wp-block-image.nm-feature-photo::after { content: ""; position: absolute; right: -36px; bottom: -36px; width: 220px; height: 220px; background: url(../brand/contour-3rb.png) right bottom / contain no-repeat; pointer-events: none; }

/* ==========================================================================
   Recruitment timeline with photos
   ========================================================================== */
.nm-timeline { position: relative; display: grid !important; gap: 36px; max-width: 1120px; margin-inline: auto !important; counter-reset: tl; }
.nm-timeline::before { content: ""; position: absolute; top: 10px; bottom: 10px; left: 50%; width: 2px; transform: translateX(-1px); background: linear-gradient(var(--nm-green), var(--nm-yellow)); }
.nm-tl { display: grid !important; grid-template-columns: 1fr 96px 1fr; align-items: center; counter-increment: tl; position: relative; margin: 0 !important; }
.nm-tl > * { margin: 0 !important; }
.nm-tl__card { background: var(--nm-warm); border-radius: var(--nm-radius); padding: 24px 28px !important; display: grid; gap: 8px; grid-row: 1; }
.nm-tl__card > * { margin: 0 !important; }
.nm-tl__card p { color: var(--nm-muted); }
.wp-block-image.nm-tl__icon { grid-column: 2; grid-row: 1; justify-self: center; width: 72px; height: 72px; border-radius: 50%; background: var(--nm-navy); display: grid !important; place-items: center; z-index: 1; box-shadow: 0 10px 24px rgba(19,50,70,.22); position: relative; }
.wp-block-image.nm-tl__icon img { width: 30px !important; height: 30px !important; filter: brightness(0) invert(1); }
.nm-tl::after { content: counter(tl); position: absolute; top: calc(50% - 44px); left: calc(50% + 18px); width: 28px; height: 28px; border-radius: 50%; background: var(--nm-green); color: var(--nm-navy-deep); font-size: .82rem; font-weight: 700; display: grid; place-items: center; z-index: 2; font-family: var(--wp--preset--font-family--heading); }
.wp-block-image.nm-tl__photo { grid-row: 1; }
.wp-block-image.nm-tl__photo img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: var(--nm-radius); display: block; }
.nm-tl:nth-child(odd) .nm-tl__card { grid-column: 1; text-align: right; }
.nm-tl:nth-child(odd) .nm-tl__photo { grid-column: 3; }
.nm-tl:nth-child(even) .nm-tl__card { grid-column: 3; }
.nm-tl:nth-child(even) .nm-tl__photo { grid-column: 1; }
@media (max-width: 760px) {
	.nm-timeline::before { left: 36px; }
	.nm-tl { grid-template-columns: 72px 1fr; column-gap: 18px; row-gap: 14px; align-items: start; }
	.wp-block-image.nm-tl__icon { grid-column: 1; }
	.nm-tl:nth-child(odd) .nm-tl__card, .nm-tl:nth-child(even) .nm-tl__card { grid-column: 2; text-align: left; }
	.nm-tl:nth-child(odd) .nm-tl__photo, .nm-tl:nth-child(even) .nm-tl__photo { grid-column: 2; grid-row: 2; }
	.nm-tl::after { top: -6px; left: 50px; }
}

/* ==========================================================================
   Healthcare journey with photos
   ========================================================================== */
.nm-journey { display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 0; position: relative; max-width: var(--nm-container); margin-inline: auto !important; counter-reset: stage; }
.nm-journey__step { position: relative; display: grid; gap: 10px; align-content: start; padding: 0 0 26px !important; background: var(--nm-white); text-align: center; justify-items: center; counter-increment: stage; margin: 0 !important; }
.nm-journey__step > * { margin: 0 !important; }
.nm-journey__step > :not(.wp-block-image) { margin-inline: 22px !important; }
.nm-journey__step + .nm-journey__step { border-left: 1px solid var(--nm-rule-cool); }
.nm-journey__step:first-child { border-radius: var(--nm-radius) 0 0 var(--nm-radius); overflow: hidden; }
.nm-journey__step:last-child { border-radius: 0 var(--nm-radius) var(--nm-radius) 0; overflow: hidden; }
.nm-journey__step .wp-block-image { width: 100%; margin-bottom: 8px !important; }
.nm-journey__step .wp-block-image img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.nm-journey__step::before { content: "Stage " counter(stage); order: 1; font-size: .78rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--nm-green-text); }
.nm-journey__step > .wp-block-image { order: 0; }
.nm-journey__step > h3 { order: 2; }
.nm-journey__step > p { order: 3; color: var(--nm-muted); font-size: .97rem; }
.nm-journey__step:not(:last-child)::after { content: ""; position: absolute; right: -14px; top: 30%; width: 28px; height: 28px; z-index: 3; border-radius: 50%; background: var(--nm-green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 6l6 6-6 6' fill='none' stroke='%23133246' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 16px no-repeat; }
@media (max-width: 880px) {
	.nm-journey { grid-template-columns: 1fr 1fr; gap: 14px; }
	.nm-journey__step, .nm-journey__step:first-child, .nm-journey__step:last-child { border-radius: var(--nm-radius); border-left: 0 !important; overflow: hidden; }
	.nm-journey__step::after { display: none; }
}
@media (max-width: 480px) { .nm-journey { grid-template-columns: 1fr; } }
.nm-note { display: flex; gap: 12px; align-items: flex-start; justify-content: center; text-align: left; font-size: .95rem; color: var(--nm-muted); margin: 22px auto 0 !important; max-width: var(--nm-container); }
.nm-note::before { content: ""; width: 20px; height: 20px; flex: none; margin-top: 3px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' fill='none' stroke='%23108235' stroke-width='2'/%3E%3Cpath d='M12 11v6M12 7.5h.01' stroke='%23108235' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat; }

/* ==========================================================================
   Testimonials (dynamic block)
   ========================================================================== */
.nm-testimonials { max-width: var(--nm-container); margin-inline: auto !important; }
.nm-testimonials__grid { display: grid; gap: clamp(18px, 2vw, 28px); grid-template-columns: repeat(2, 1fr); }
.nm-testimonials--grid .nm-testimonials__grid { grid-template-columns: repeat(3, 1fr); }
.nm-testimonials--feature .nm-testimonials__grid { grid-template-columns: 1fr; }
@media (max-width: 980px) { .nm-testimonials--grid .nm-testimonials__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 760px) { .nm-testimonials__grid, .nm-testimonials--grid .nm-testimonials__grid { grid-template-columns: 1fr; } }
.nm-testimonial { margin: 0; background: var(--nm-white); color: var(--nm-navy); border-radius: var(--nm-radius); padding: clamp(24px, 2.6vw, 34px); display: grid; gap: 16px; align-content: start; position: relative; }
.nm-testimonial[hidden] { display: none; }
.has-white-background-color .nm-testimonial { background: var(--nm-warm); }
.nm-testimonial blockquote { margin: 0; padding: 0; border: 0; font-size: 1.06rem; line-height: 1.65; color: var(--nm-navy); }
.nm-testimonial blockquote p { margin: 0; color: inherit; }
.nm-quote-mark { width: 34px; height: 34px; fill: var(--nm-green); }
.nm-stars { display: flex; gap: 3px; }
.nm-stars svg { width: 18px; height: 18px; display: block; }
.nm-stars .on svg { fill: #E0A82E; }
.nm-stars .off svg { fill: #D7D7D7; }
.nm-who { display: grid; grid-template-columns: 48px 1fr; gap: 14px; align-items: center; border-top: 1px solid var(--nm-rule); padding-top: 16px; }
.nm-avatar { width: 48px; height: 48px; border-radius: 50%; background: var(--nm-mint); color: var(--nm-navy); display: grid; place-items: center; font-family: var(--wp--preset--font-family--heading); font-weight: 600; overflow: hidden; }
.nm-avatar img { width: 100%; height: 100%; object-fit: cover; }
.nm-who b { display: block; font-weight: 700; }
.nm-who .nm-role { display: block; font-size: .92rem; color: var(--nm-muted); }
.nm-who .nm-org { display: block; font-size: .92rem; color: var(--nm-green-text); font-weight: 600; }
.nm-testimonial--feature { max-width: 860px; margin-inline: auto; text-align: center; justify-items: center; background: transparent !important; }
.nm-testimonial--feature blockquote { font-family: var(--wp--preset--font-family--heading); font-weight: 400; font-size: clamp(1.2rem, 1.05rem + .6vw, 1.5rem); line-height: 1.5; }
.nm-testimonial--feature .nm-who { grid-template-columns: 48px auto; justify-content: center; text-align: left; border: 0; padding-top: 0; }
.nm-dark .nm-testimonial--feature blockquote, .nm-dark .nm-testimonial--feature .nm-who b { color: var(--nm-white); }
.nm-dark .nm-testimonial--feature .nm-org { color: var(--nm-green); }
.nm-dark .nm-testimonial--feature .nm-role { color: var(--nm-on-dark-muted); }
.nm-testimonial.is-placeholder { outline: 2px dashed #E0A82E; outline-offset: -8px; }
.nm-placeholder-badge { display: inline-block; justify-self: start; background: #FFF4D6; color: #6B4E00; border: 1px solid #E0A82E; border-radius: 999px; padding: 4px 12px; font-size: .78rem; font-weight: 700; letter-spacing: .02em; margin-bottom: 8px; }
.nm-testimonial--feature .nm-placeholder-badge { justify-self: center; }
.nm-filter { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-bottom: clamp(24px, 3vw, 36px); }
.nm-filter button { font: inherit; font-weight: 600; font-size: .92rem; padding: 8px 16px; border-radius: 999px; border: 1px solid var(--nm-rule-cool); background: var(--nm-white); color: var(--nm-navy); cursor: pointer; }
.nm-filter button:hover { border-color: var(--nm-green); }
.nm-filter button.is-active { background: var(--nm-navy); border-color: var(--nm-navy); color: var(--nm-white); }

/* Testimonial band layout: heading left, cards right */
.nm-testi-wrap { display: grid !important; grid-template-columns: 1fr 2fr; gap: clamp(28px, 4vw, 56px); align-items: center; max-width: var(--nm-container); margin-inline: auto !important; }
.nm-testi-wrap > * { margin: 0 !important; }
.nm-testi-wrap .nm-head { margin: 0 !important; }
@media (max-width: 880px) { .nm-testi-wrap { grid-template-columns: 1fr; } }

/* Client logo wall (placeholders until real logos arrive) */
.nm-logos { display: grid !important; grid-template-columns: repeat(6, 1fr); gap: 14px; max-width: var(--nm-container); margin-inline: auto !important; }
.nm-logos > * { margin: 0 !important; }
.nm-logos.is-wall { grid-template-columns: repeat(4, 1fr); }
.nm-logo-tile { display: flex !important; align-items: center; justify-content: center; text-align: center; min-height: 64px; padding: 10px 14px !important; border-radius: var(--nm-radius-sm); border: 1px solid rgba(255,255,255,.14); color: rgba(255,255,255,.82); font-family: var(--wp--preset--font-family--heading); font-weight: 500; font-size: .92rem; line-height: 1.25; }
.nm-logos.is-wall .nm-logo-tile { min-height: 110px; background: var(--nm-white); border-color: var(--nm-rule); color: var(--nm-navy); font-size: 1.05rem; filter: grayscale(1); opacity: .85; transition: filter .2s, opacity .2s; }
.nm-logos.is-wall .nm-logo-tile:hover { filter: none; opacity: 1; border-color: var(--nm-green); }
.nm-logo-strip { margin-top: clamp(40px, 4vw, 56px) !important; padding-top: clamp(28px, 3vw, 40px) !important; border-top: 1px solid rgba(255,255,255,.14); display: grid; gap: 14px; max-width: var(--nm-container); margin-inline: auto !important; }
.nm-logo-strip > * { margin: 0 !important; }
.nm-logo-strip .nm-placeholder-badge { justify-self: center; }
@media (max-width: 980px) { .nm-logos { grid-template-columns: repeat(3, 1fr); } .nm-logos.is-wall { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 480px) { .nm-logos, .nm-logos.is-wall { grid-template-columns: repeat(2, 1fr); } }

/* ==========================================================================
   Articles
   ========================================================================== */
.nm-cover { position: relative; aspect-ratio: 16 / 9; overflow: hidden; display: grid; place-items: center; padding: 20px; background: var(--nm-green); }
.nm-cover img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.nm-cover-title { position: relative; display: grid; justify-items: center; gap: 10px; font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); line-height: 1.1; color: var(--nm-navy-deep); text-align: center; }
.nm-cover-title small { font-family: var(--wp--preset--font-family--body); font-size: .72rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; opacity: .85; }
.nm-cover.is-navy { background: var(--nm-navy); }
.nm-cover.is-navy::before { content: ""; position: absolute; inset: 0; background: url(../brand/contour-1h.png) center / cover no-repeat; opacity: .7; }
.nm-cover.is-navy .nm-cover-title { color: var(--nm-white); }
.nm-cover--hero { aspect-ratio: 21 / 9; border-radius: var(--nm-radius); }
.nm-cover--hero .nm-cover-title { font-size: clamp(2rem, 1.4rem + 2vw, 3rem); }
.nm-post-cover { display: block; margin: 0 !important; text-decoration: none !important; }

/* Query loop article cards */
.nm-posts .wp-block-post-template { display: grid; gap: clamp(18px, 2vw, 28px); grid-template-columns: repeat(3, 1fr); margin: 0; padding: 0; grid-auto-rows: auto; }
.nm-posts .wp-block-post-template > li { margin: 0; }
@media (max-width: 980px) { .nm-posts .wp-block-post-template { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .nm-posts .wp-block-post-template { grid-template-columns: 1fr; } }
.nm-post-card { background: var(--nm-warm); border-radius: var(--nm-radius); overflow: hidden; display: grid !important; grid-template-rows: auto auto auto 1fr auto; height: 100%; transition: transform .2s ease, box-shadow .2s ease; padding: 0 !important; gap: 0; }
.has-warm-background-color .nm-post-card, .nm-posts.on-warm .nm-post-card { background: var(--nm-white); }
.nm-post-card:hover { transform: translateY(-3px); box-shadow: var(--nm-shadow); }
.nm-post-card > * { margin: 0 !important; }
.nm-post-card > :not(.nm-post-cover) { padding-inline: 24px; }
.nm-post-card .wp-block-post-terms { padding-top: 22px; font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.nm-post-card .wp-block-post-terms a { color: var(--nm-green-text); text-decoration: none; }
.nm-post-card .wp-block-post-title { font-size: 1.15rem; font-weight: 600; line-height: 1.3; padding-top: 8px; }
.nm-post-card .wp-block-post-title a { color: var(--nm-navy); text-decoration: none; }
.nm-post-card .wp-block-post-title a::after { content: ""; position: absolute; inset: 0; }
.nm-post-card { position: relative; }
.nm-post-card .wp-block-post-excerpt { padding-top: 10px; padding-bottom: 26px; color: var(--nm-muted); font-size: .97rem; }
.nm-post-card .wp-block-post-excerpt__excerpt { margin: 0; }
.nm-post-card .wp-block-post-excerpt__more-text { display: none; }

/* Related articles (dynamic) */
.nm-related:has(> :only-child) { grid-template-columns: minmax(0, 440px) !important; justify-content: center; }
.nm-related { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(18px, 2vw, 28px); max-width: 900px; margin-inline: auto !important; }
@media (max-width: 640px) { .nm-related { grid-template-columns: 1fr; } }
.nm-article-card { background: var(--nm-warm); border-radius: var(--nm-radius); overflow: hidden; display: grid; grid-template-rows: auto 1fr; text-decoration: none; color: var(--nm-navy); transition: transform .2s ease, box-shadow .2s ease; }
.has-warm-background-color .nm-article-card { background: var(--nm-white); }
.nm-article-card:hover { transform: translateY(-3px); box-shadow: var(--nm-shadow); }
.nm-article-body { padding: 22px 24px 26px; display: grid; gap: 10px; align-content: start; }
.nm-tag { font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--nm-green-text); }
.nm-article-title { font-family: var(--wp--preset--font-family--heading); font-size: 1.12rem; font-weight: 600; line-height: 1.3; }
.nm-article-excerpt { color: var(--nm-muted); font-size: .97rem; }

/* Category pills */
.nm-pills ul { list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 0; padding: 0; }
.nm-pills a { display: inline-block; padding: 8px 18px; border-radius: 999px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.35); color: var(--nm-white); text-decoration: none; font-weight: 600; font-size: .95rem; }
.nm-pills a:hover { border-color: var(--nm-green); }
.nm-pills a[aria-current="page"] { background: var(--nm-green); border-color: var(--nm-green); color: var(--nm-navy); }

/* Single article */
.nm-article-hero { padding-block: clamp(40px, 5vw, 72px) clamp(32px, 4vw, 48px) !important; background: var(--nm-grad-mint); position: relative; overflow: hidden; }
.nm-article-hero::before { content: ""; position: absolute; inset: 0; background: url(../brand/biz-green.png) 0 0 / 420px auto repeat; opacity: .1; pointer-events: none; }
.nm-article-hero > * { position: relative; z-index: 1; }
.nm-article-hero .nm-article-head { max-width: 820px; margin-inline: auto !important; display: grid; gap: 16px; justify-items: center; text-align: center; }
.nm-article-hero .nm-article-head > * { margin: 0 !important; }
.nm-article-hero .nm-breadcrumbs ol { justify-content: center; padding: 0; }
.nm-article-hero .wp-block-post-terms a { color: var(--nm-green-text); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; font-size: .85rem; text-decoration: none; }
.nm-article-hero .wp-block-post-title { font-size: clamp(2rem, 1.4rem + 2.2vw, 3.1rem); }
.nm-article-meta { color: var(--nm-muted); font-size: .95rem; display: flex !important; gap: 8px; justify-content: center; flex-wrap: wrap; }
.nm-article-meta > * { margin: 0 !important; }
.nm-article-cover { max-width: 1040px; margin: clamp(28px, 3vw, 40px) auto 0 !important; }
.nm-article-content { padding-block: clamp(40px, 5vw, 72px) !important; }
.nm-article-content .wp-block-post-content { font-size: 1.1rem; line-height: 1.75; }
.nm-article-content .wp-block-post-content h2 { font-size: clamp(1.55rem, 1.3rem + .8vw, 2rem); margin-top: 2.2em; }
.nm-article-content .wp-block-post-content h3 { font-size: 1.3rem; font-weight: 600; margin-top: 1.8em; }
.nm-article-content .wp-block-post-content li { margin-bottom: .45em; }
.nm-article-content .wp-block-post-content a { color: var(--nm-green-text); }
.nm-article-content .wp-block-table table { font-size: .98rem; }
.nm-article-cta { max-width: 720px; margin: clamp(40px, 5vw, 56px) auto 0 !important; background: var(--nm-navy); color: var(--nm-white); border-radius: var(--nm-radius); padding: clamp(24px, 3vw, 36px); display: grid; gap: 10px; position: relative; overflow: hidden; }
.nm-article-cta::before { content: ""; position: absolute; inset: 0; background: url(../brand/contour-2h.png) 60% 50% / 160% auto no-repeat; opacity: .35; }
.nm-article-cta > * { position: relative; margin: 0; }
.nm-article-cta__title { font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: 1.4rem; color: var(--nm-white); }
.nm-article-cta p { color: var(--nm-on-dark-muted); }
.nm-article-cta__links { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; margin-top: 8px !important; }
.nm-article-cta .nm-link { color: var(--nm-green); }

/* Key takeaways box inside articles */
.nm-takeaways { background: var(--nm-mint); border-radius: var(--nm-radius); padding: clamp(20px, 2.5vw, 30px) !important; }
.nm-takeaways > * { margin-block: 0 !important; }
.nm-takeaways > * + * { margin-top: 10px !important; }
.nm-takeaways .nm-takeaways__title { font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: 1.15rem; }

/* ==========================================================================
   Compare table, FAQ
   ========================================================================== */
.wp-block-table.nm-compare { overflow-x: auto; border-radius: var(--nm-radius); background: var(--nm-white); border: 1px solid var(--nm-rule); max-width: var(--nm-container); margin-inline: auto !important; position: relative; }
.wp-block-table.nm-compare table { width: 100%; border-collapse: collapse; min-width: 720px; font-size: .98rem; }
.wp-block-table.nm-compare th, .wp-block-table.nm-compare td { padding: 18px 22px; text-align: left; vertical-align: top; border: 0; border-bottom: 1px solid var(--nm-rule); }
.wp-block-table.nm-compare thead { border: 0; }
.wp-block-table.nm-compare thead th { font-family: var(--wp--preset--font-family--heading); font-weight: 500; font-size: 1rem; color: var(--nm-muted); background: var(--nm-warm); }
.wp-block-table.nm-compare thead th:nth-child(2) { background: var(--nm-navy); color: var(--nm-white); }
.wp-block-table.nm-compare tbody td:first-child { font-weight: 700; color: var(--nm-navy); width: 22%; }
.wp-block-table.nm-compare tbody td:nth-child(2) { background: var(--nm-mint); color: var(--nm-navy); font-weight: 600; }
.wp-block-table.nm-compare td { color: var(--nm-muted); }
.wp-block-table.nm-compare tr:last-child td { border-bottom: 0; }
.wp-block-table.nm-compare.is-two tbody td:nth-child(2) { background: inherit; color: var(--nm-muted); font-weight: 400; }
.wp-block-table.nm-compare.is-two thead th:nth-child(2) { background: var(--nm-warm); color: var(--nm-muted); }
.wp-block-table.nm-compare.is-two thead th:nth-child(3) { background: var(--nm-navy); color: var(--nm-white); }
.wp-block-table.nm-compare.is-two tbody td:nth-child(3) { background: var(--nm-mint); color: var(--nm-navy); font-weight: 600; }
.wp-block-table.nm-compare.is-two table { min-width: 640px; }
.wp-block-table.nm-compare.is-plain thead th:nth-child(2), .wp-block-table.nm-compare.is-plain tbody td:nth-child(2) { background: inherit; color: inherit; font-weight: inherit; }
.wp-block-table.nm-compare.is-plain thead th:nth-child(2) { background: var(--nm-warm); color: var(--nm-muted); }

.nm-faq { max-width: 860px; margin-inline: auto !important; display: grid; gap: 12px; }
.nm-faq > * { margin: 0 !important; }
.nm-faq .wp-block-details { background: var(--nm-white); border: 1px solid var(--nm-rule); border-radius: var(--nm-radius-sm); padding: 0; }
.has-white-background-color .nm-faq .wp-block-details { background: var(--nm-warm); border-color: transparent; }
.nm-faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 18px; align-items: center; padding: 20px 24px; font-family: var(--wp--preset--font-family--heading); font-weight: 500; font-size: 1.06rem; color: var(--nm-navy); }
.nm-faq summary::-webkit-details-marker { display: none; }
.nm-faq summary::after { content: ""; width: 30px; height: 30px; flex: none; border-radius: 50%; background: var(--nm-mint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 5v14M5 12h14' stroke='%23133246' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E") center / 14px no-repeat; transition: transform .2s ease; }
.nm-faq details[open] summary::after { transform: rotate(45deg); background-color: var(--nm-green); }
.nm-faq .wp-block-details > :not(summary) { padding: 0 24px 22px; color: var(--nm-muted); max-width: 70ch; margin: 0; }

/* ==========================================================================
   Other components
   ========================================================================== */
/* Value tiles */
.nm-card.is-value { text-align: center; align-items: center; padding: 30px 22px !important; }
.nm-balanced > .nm-card.is-value { justify-items: center; }

/* Org types strip */
.nm-orgs { display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 14px; max-width: var(--nm-container); margin-inline: auto !important; }
.nm-orgs > * { margin: 0 !important; }
.nm-orgtype { background: var(--nm-warm); border-radius: var(--nm-radius-sm); padding: 20px !important; display: grid; gap: 8px; text-align: center; justify-items: center; font-weight: 600; }
.nm-orgtype > * { margin: 0 !important; }
.nm-orgtype img { width: 32px !important; height: 32px !important; }
@media (max-width: 880px) { .nm-orgs { grid-template-columns: 1fr 1fr; } }

/* Role list */
.nm-roles { list-style: none; padding: 0 !important; margin: 0; display: grid; gap: 12px; }
.nm-roles li { position: relative; background: var(--nm-white); border-radius: var(--nm-radius-sm); padding: 14px 18px 14px 72px; font-weight: 600; min-height: 72px; display: flex; align-items: center; }
.nm-roles li::before { content: ""; position: absolute; left: 14px; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; border-radius: 12px; background: var(--nm-grad-badge); }
.nm-roles li::after { content: ""; position: absolute; left: 25px; top: 50%; transform: translateY(-50%); width: 22px; height: 22px; background: var(--nm-navy); -webkit-mask: url(../icons/line-onboard.svg) center / contain no-repeat; mask: url(../icons/line-onboard.svg) center / contain no-repeat; }
.has-white-background-color .nm-roles li { background: var(--nm-warm); }

/* Ownership columns: what stays with you / what we take on */
.nm-own { display: grid !important; grid-template-columns: 1fr 1fr; gap: clamp(18px, 2vw, 28px); max-width: var(--nm-container); margin-inline: auto !important; }
.nm-own > * { margin: 0 !important; }
.nm-own .nm-card.is-navy { background: linear-gradient(115deg, #133246 0%, #12394A 55%, #0F4A3A 100%); border-color: transparent; }
.nm-own .nm-card.is-navy h3 { color: var(--nm-white); }
@media (max-width: 760px) { .nm-own { grid-template-columns: 1fr; } }

/* At a glance numbered steps */
.nm-glance { display: grid !important; grid-template-columns: repeat(4, 1fr); counter-reset: g; max-width: var(--nm-container); margin-inline: auto !important; }
.nm-glance > * { margin: 0 !important; }
.nm-glance__item { counter-increment: g; display: grid; gap: 10px; justify-items: center; text-align: center; padding: 8px 18px !important; position: relative; }
.nm-glance__item > * { margin: 0 !important; }
.nm-glance__item::before { content: counter(g); width: 56px; height: 56px; border-radius: 50%; background: var(--nm-navy); color: var(--nm-white); display: grid; place-items: center; font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: 1.25rem; box-shadow: inset 0 0 0 4px var(--nm-green); }
.nm-glance__item:not(:last-child)::after { content: ""; position: absolute; top: 36px; left: calc(50% + 40px); right: calc(-50% + 40px); height: 3px; background: linear-gradient(90deg, var(--nm-green), var(--nm-yellow)); opacity: .7; }
.nm-glance__item h3 { font-size: 1.12rem; }
.nm-glance__item p { color: var(--nm-muted); font-size: .97rem; }
.nm-glance__item a { color: inherit; text-decoration: none; }
.nm-glance__item a:hover { color: var(--nm-green-text); }
@media (max-width: 760px) { .nm-glance { grid-template-columns: 1fr 1fr; row-gap: 28px; } .nm-glance__item::after { display: none; } }

/* Stage detail */
.nm-stage { display: grid !important; grid-template-columns: 5fr 7fr; gap: clamp(32px, 5vw, 72px); align-items: center; max-width: var(--nm-container); margin-inline: auto !important; }
.nm-stage > * { margin: 0 !important; }
.nm-stage.is-reverse { grid-template-columns: 7fr 5fr; }
.nm-stage.is-reverse > :first-child { order: 2; }
.nm-stage > .wp-block-image img { width: 100%; max-width: 440px; margin-inline: auto; display: block; border-radius: var(--nm-radius); aspect-ratio: 1; object-fit: cover; box-shadow: 0 20px 50px rgba(17,33,47,.10); }
.nm-stage__copy { display: grid; gap: 18px; }
.nm-stage__copy > * { margin: 0 !important; }
.nm-stage__copy h2 { font-size: clamp(1.8rem, 1.4rem + 1.3vw, 2.5rem); }
.nm-stage-no { font-family: var(--wp--preset--font-family--heading); font-weight: 600; color: var(--nm-green-text); font-size: 1rem; letter-spacing: .1em; text-transform: uppercase; }
.nm-facts { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 6px !important; }
.nm-facts > * { margin: 0 !important; }
.nm-fact { background: var(--nm-white); border-radius: var(--nm-radius-sm); padding: 16px 18px !important; display: grid; gap: 6px; align-content: start; }
.nm-fact > * { margin: 0 !important; }
.has-white-background-color .nm-fact { background: var(--nm-warm); }
.nm-fact__label { font-size: .82rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--nm-green-text); }
.nm-fact p:not(.nm-fact__label) { color: var(--nm-navy); font-size: .97rem; }
@media (max-width: 880px) { .nm-stage, .nm-stage.is-reverse { grid-template-columns: 1fr; } .nm-stage.is-reverse > :first-child { order: 0; } .nm-facts { grid-template-columns: 1fr; } }

/* Why cards */
.nm-why-card { display: grid !important; grid-template-columns: 120px 1fr; gap: 20px; align-items: center; padding: 18px !important; background: var(--nm-white); border-radius: var(--nm-radius); }
.nm-why-card > * { margin: 0 !important; }
.nm-why-card img { border-radius: var(--nm-radius-sm); aspect-ratio: 1; object-fit: cover; width: 100%; }
.nm-why-card__text { display: grid; gap: 8px; }
.nm-why-card__text > * { margin: 0 !important; }
.nm-why-card p { color: var(--nm-muted); }
@media (max-width: 520px) { .nm-why-card { grid-template-columns: 88px 1fr; } }

/* Photo trio and wide photo */
.nm-trio { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: clamp(14px, 1.6vw, 22px); max-width: var(--nm-container); margin-inline: auto !important; }
.nm-trio > * { margin: 0 !important; }
.nm-trio img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--nm-radius); }
.nm-trio figcaption { color: var(--nm-muted); font-size: .95rem; text-align: left; margin-top: 10px; }
.wp-block-image.nm-wide-photo { max-width: var(--nm-container); margin: 0 auto clamp(14px, 1.6vw, 22px) !important; }
.wp-block-image.nm-wide-photo img { width: 100%; aspect-ratio: 21 / 9; object-fit: cover; border-radius: var(--nm-radius); }
@media (max-width: 760px) { .nm-trio { grid-template-columns: 1fr; } .wp-block-image.nm-wide-photo img { aspect-ratio: 4 / 3; } }

/* Band (careers teaser, small CTAs) */
.nm-band { display: grid !important; grid-template-columns: 1.4fr 1fr; gap: 32px; align-items: center; background: var(--nm-grad-mint); border-radius: var(--nm-radius); padding: clamp(28px, 4vw, 48px) !important; position: relative; overflow: hidden; max-width: var(--nm-container); margin-inline: auto !important; }
.nm-band::after { content: ""; position: absolute; right: 0; top: 0; bottom: 0; width: 45%; background: url(../brand/biz-green.png) 0 0 / 360px auto repeat; opacity: .14; }
.nm-band > * { position: relative; z-index: 1; margin: 0 !important; }
.nm-band__copy { display: grid; gap: 10px; }
.nm-band__copy > * { margin: 0 !important; }
.nm-band__copy h3 { font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); font-weight: 600; }
.nm-band .wp-block-buttons { justify-content: flex-end; }
.nm-band.is-navy { background: var(--nm-grad-panel); color: var(--nm-white); }
.nm-band.is-navy::after { background: url(../brand/contour-2h.png) 0 50% / 200% auto no-repeat; opacity: .4; }
.nm-band.is-navy h3 { color: var(--nm-white); }
.nm-band.is-navy p { color: var(--nm-on-dark-muted); }
@media (max-width: 760px) { .nm-band { grid-template-columns: 1fr; } .nm-band .wp-block-buttons { justify-content: flex-start; } }

/* Matcher: "If you need…" rows */
.nm-matcher { display: grid !important; grid-template-columns: 1fr 1fr; gap: 14px clamp(18px, 2vw, 28px); max-width: var(--nm-container); margin-inline: auto !important; }
.nm-matcher > * { margin: 0 !important; }
.nm-match { background: var(--nm-white); border-radius: var(--nm-radius-sm); padding: 18px 22px !important; display: grid !important; grid-template-columns: 1fr auto; gap: 6px 18px; align-items: center; }
.nm-match > * { margin: 0 !important; }
.nm-match .nm-match__need { color: var(--nm-navy); font-weight: 600; }
.nm-match .nm-match__need::before { content: "If you need "; color: var(--nm-muted); font-weight: 400; }
.nm-match .nm-more a { white-space: nowrap; }
@media (max-width: 760px) { .nm-matcher { grid-template-columns: 1fr; } .nm-match { grid-template-columns: 1fr; } }

/* Horizontal strip: week, month, academic year, stages */
.nm-strip { display: grid !important; grid-template-columns: repeat(var(--nm-strip, 4), 1fr); gap: 0; max-width: var(--nm-container); margin-inline: auto !important; border-radius: var(--nm-radius); overflow: hidden; background: var(--nm-white); }
.nm-strip.is-3 { --nm-strip: 3; }
.nm-strip.is-5 { --nm-strip: 5; }
.nm-strip > * { margin: 0 !important; }
.nm-strip__item { padding: clamp(22px, 2.4vw, 30px) !important; display: grid; gap: 10px; align-content: start; position: relative; }
.nm-strip__item > * { margin: 0 !important; }
.nm-strip__item + .nm-strip__item { border-left: 1px solid var(--nm-rule-cool); }
.nm-strip__item:nth-child(odd) { background: #FBFDFC; }
.nm-strip__label { display: inline-block; justify-self: start; background: var(--nm-navy); color: var(--nm-white) !important; border-radius: 999px; padding: 4px 12px; font-size: .78rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.nm-strip__item:nth-child(even) .nm-strip__label { background: var(--nm-green-deep); }
.nm-strip__item h3 { font-size: 1.12rem; font-weight: 600; }
.nm-strip__item p:not(.nm-strip__label) { color: var(--nm-muted); font-size: .97rem; }
.nm-strip__item ul { margin: 0; padding-left: 1.1em; color: var(--nm-muted); font-size: .95rem; display: grid; gap: 4px; }
@media (max-width: 980px) { .nm-strip, .nm-strip.is-5 { grid-template-columns: 1fr 1fr; } .nm-strip__item + .nm-strip__item { border-left: 0; } .nm-strip__item { border-top: 1px solid var(--nm-rule-cool); } }
@media (max-width: 560px) { .nm-strip, .nm-strip.is-3, .nm-strip.is-5 { grid-template-columns: 1fr; } }

/* Flow: numbered steps connected by arrows (IT request flow, legal handoff) */
.nm-flow { display: grid !important; grid-template-columns: repeat(var(--nm-flow, 4), 1fr); gap: 28px; max-width: var(--nm-container); margin-inline: auto !important; counter-reset: flow; }
.nm-flow.is-5 { --nm-flow: 5; gap: 22px; }
.nm-flow > * { margin: 0 !important; }
.nm-flow__step { counter-increment: flow; position: relative; background: var(--nm-white); border-radius: var(--nm-radius); padding: 24px 22px !important; display: grid; gap: 10px; align-content: start; }
.nm-flow__step > * { margin: 0 !important; }
.nm-flow__step::before { content: counter(flow); width: 40px; height: 40px; border-radius: 50%; background: var(--nm-navy); color: var(--nm-white); display: grid; place-items: center; font-family: var(--wp--preset--font-family--heading); font-weight: 600; box-shadow: inset 0 0 0 3px var(--nm-green); }
.nm-flow__step:not(:last-child)::after { content: ""; position: absolute; right: -24px; top: 30px; width: 20px; height: 20px; background: var(--nm-green-deep); -webkit-mask: var(--nm-arrow) center / contain no-repeat; mask: var(--nm-arrow) center / contain no-repeat; }
.nm-flow.is-5 .nm-flow__step:not(:last-child)::after { right: -21px; width: 18px; }
.nm-flow__step h3 { font-size: 1.1rem; font-weight: 600; }
.nm-flow__step p { color: var(--nm-muted); font-size: .96rem; }
.nm-flow__step.is-you { background: var(--nm-mint); }
.nm-flow__step .nm-who-tag { font-size: .78rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--nm-green-text); }
.has-white-background-color .nm-flow__step { background: var(--nm-warm); }
@media (max-width: 980px) { .nm-flow, .nm-flow.is-5 { grid-template-columns: 1fr 1fr; } .nm-flow__step::after { display: none; } }
@media (max-width: 560px) { .nm-flow, .nm-flow.is-5 { grid-template-columns: 1fr; } }

/* Map: columns of task lists (healthcare practice map) */
.nm-map { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: clamp(18px, 2vw, 28px); max-width: var(--nm-container); margin-inline: auto !important; }
.nm-map > * { margin: 0 !important; }
.nm-map__col { background: var(--nm-white); border-radius: var(--nm-radius); padding: 0 !important; overflow: hidden; display: grid; align-content: start; }
.nm-map__col > * { margin: 0 !important; }
.nm-map__col > h3 { background: var(--nm-navy); color: var(--nm-white); padding: 18px 24px; font-size: 1.15rem; font-weight: 600; }
.nm-map__col:nth-child(2) > h3 { background: var(--nm-green-deep); }
.nm-map__col > p { padding: 16px 24px 0; color: var(--nm-muted); font-size: .96rem; }
.nm-map__col > ul { padding: 14px 24px 24px 24px !important; }
@media (max-width: 880px) { .nm-map { grid-template-columns: 1fr; } }

/* Notice box */
.nm-notice { max-width: 860px; margin-inline: auto !important; background: #FFF8E6; border: 1px solid #F0D58A; border-radius: var(--nm-radius); padding: clamp(20px, 2.5vw, 28px) clamp(20px, 2.5vw, 32px) !important; display: grid; gap: 8px; }
.nm-notice > * { margin: 0 !important; }
.nm-notice h2, .nm-notice h3 { font-size: 1.2rem; font-weight: 600; }
.nm-notice p { color: #4A3B12; }

/* Numbered steps (how to apply, what happens next) */
.nm-numbered { counter-reset: n; }
.nm-numbered > .nm-card { counter-increment: n; }
.nm-numbered > .nm-card::before { content: counter(n); width: 44px; height: 44px; border-radius: 50%; background: var(--nm-navy); color: var(--nm-white); display: grid; place-items: center; font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: 1.1rem; box-shadow: inset 0 0 0 3px var(--nm-green); }
.nm-numbered.rows-3 > .nm-card { grid-row: span 3; }

/* Contact page */
.nm-contact-hero { display: grid !important; grid-template-columns: 1fr 1fr; gap: 0; padding: 0 !important; }
.nm-contact-hero > * { margin: 0 !important; }
.nm-contact-hero .nm-hero__text { align-items: flex-start; }
.nm-contact-hero__form { background: var(--nm-white); padding: clamp(32px, 5vw, 72px) max(var(--nm-gutter), calc((100vw - var(--nm-container)) / 2)) clamp(32px, 5vw, 72px) clamp(24px, 4vw, 64px) !important; }
.nm-next { list-style: none; counter-reset: nx; padding: 0 !important; margin: 0; display: grid; gap: 14px; }
.nm-next li { counter-increment: nx; position: relative; padding: 6px 0 6px 52px; color: var(--nm-white); min-height: 36px; }
.nm-next li::before { content: counter(nx); position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 36px; height: 36px; border-radius: 50%; background: var(--nm-green); color: var(--nm-navy-deep); display: grid; place-items: center; font-weight: 700; font-family: var(--wp--preset--font-family--heading); }
.nm-next strong { color: var(--nm-white); }
@media (max-width: 880px) { .nm-contact-hero { grid-template-columns: 1fr; } .nm-contact-hero__form { padding: 32px var(--nm-gutter) 48px !important; } }
.nm-form-card { max-width: 640px; }
.nm-form-card h2 { font-size: 1.6rem; }
.nm-form-fallback { display: grid; gap: 14px; }
.nm-form-fallback > * { margin: 0; }
.nm-admin-note { background: #FFF8E6; border: 1px dashed #E0A82E; border-radius: 10px; padding: 10px 14px; font-size: .9rem; }

/* WPForms styling to match the theme */
.nm-form-card .wpforms-container { margin: 0 !important; }
.nm-form-card .wpforms-field-label { font-weight: 700 !important; color: var(--nm-navy) !important; font-size: .95rem !important; }
.nm-form-card .wpforms-form input[type=text], .nm-form-card .wpforms-form input[type=email], .nm-form-card .wpforms-form input[type=tel], .nm-form-card .wpforms-form select, .nm-form-card .wpforms-form textarea {
	border: 1px solid var(--nm-rule-cool) !important; border-radius: 10px !important; padding: 10px 14px !important; min-height: 48px; font: inherit !important; color: var(--nm-navy) !important; background: var(--nm-white) !important; max-width: 100% !important;
}
.nm-form-card .wpforms-form input:focus, .nm-form-card .wpforms-form select:focus, .nm-form-card .wpforms-form textarea:focus { border-color: var(--nm-green-deep) !important; box-shadow: 0 0 0 3px rgba(90,187,94,.25) !important; outline: none !important; }
.nm-form-card .wpforms-form button[type=submit], .nm-form-card .wpforms-submit { background: var(--nm-green) !important; color: var(--nm-navy) !important; border: 0 !important; border-radius: 999px !important; padding: 14px 30px !important; min-height: 52px; font-weight: 700 !important; font-size: 1rem !important; cursor: pointer; }
.nm-form-card .wpforms-form button[type=submit]:hover { background: var(--nm-green-deep) !important; color: var(--nm-white) !important; }

/* Legal pages */
.nm-legal { max-width: 760px; margin-inline: auto !important; padding-block: clamp(40px, 5vw, 72px) !important; }
.nm-legal h2 { font-size: clamp(1.4rem, 1.2rem + .6vw, 1.75rem); margin-top: 2em; }
.nm-legal h3 { font-size: 1.15rem; font-weight: 600; margin-top: 1.5em; }
.nm-legal .nm-toc { background: var(--nm-white); border-radius: var(--nm-radius); padding: 20px 26px !important; }
.nm-legal .nm-toc ol { margin: 8px 0 0; padding-left: 1.2em; display: grid; gap: 4px; }
.nm-legal .wp-block-table td, .nm-legal .wp-block-table th { border: 1px solid var(--nm-rule); padding: 10px 12px; }
.nm-last-updated { color: var(--nm-on-dark-muted); font-size: .95rem; }
.nm-last-updated::before { content: "Last updated "; }
.nm-legal > * + * { margin-block-start: 1em; }
.nm-legal > h2 { margin-block-start: 2em; }
.nm-legal li { margin-bottom: .35em; }

/* 404 and search */
.nm-search { max-width: 560px; margin-inline: auto !important; width: 100%; }
.nm-search .wp-block-search__inside-wrapper { border: 0; background: var(--nm-white); border-radius: 999px; padding: 6px; }
.nm-search .wp-block-search__input { border: 0; padding: 10px 18px; background: transparent; color: var(--nm-navy); }
.nm-search .wp-block-search__button { border-radius: 999px; margin: 0; }
.nm-search-results .wp-block-post-template { display: grid; gap: 16px; padding: 0; max-width: 860px; margin-inline: auto; }
.nm-result { background: var(--nm-white); border-radius: var(--nm-radius); padding: 22px 26px !important; }
.nm-result > * { margin: 0 !important; }
.nm-result > * + * { margin-top: 8px !important; }
.nm-result .wp-block-post-title a { text-decoration: none; color: var(--nm-navy); }
.nm-result .wp-block-post-excerpt { color: var(--nm-muted); }
.wp-block-query-pagination { margin-top: 36px !important; justify-content: center; gap: 10px; }
.wp-block-query-pagination a, .wp-block-query-pagination .page-numbers { padding: 8px 14px; border-radius: 999px; text-decoration: none; }
.wp-block-query-pagination .current { background: var(--nm-navy); color: var(--nm-white); }

/* ==========================================================================
   Scale Up band and footer
   ========================================================================== */
.nm-scaleup { background: linear-gradient(180deg, var(--nm-warm) 0%, #EEF6EF 100%); padding-block: clamp(48px, 5vw, 72px) !important; border-top: 1px solid var(--nm-rule); }
.nm-scaleup__grid { display: grid !important; grid-template-columns: 1fr 1.6fr 1fr; align-items: center; max-width: var(--nm-container); margin-inline: auto !important; }
.nm-scaleup__grid > * { padding-inline: clamp(16px, 2.5vw, 36px); margin: 0 !important; }
.nm-scaleup__grid > * + * { border-left: 1px solid var(--nm-rule-cool); }
.nm-scaleup__grid .wp-block-image img { width: min(230px, 100%); margin-inline: auto; display: block; }
.nm-scaleup__copy { display: grid; gap: 8px; }
.nm-scaleup__copy > * { margin: 0 !important; }
.nm-scaleup__copy h2 { font-size: clamp(1.35rem, 1.15rem + .8vw, 1.85rem); }
.nm-scaleup__copy p { color: var(--nm-muted); }
.nm-scaleup__grid .wp-block-buttons { justify-content: center; }
@media (max-width: 880px) { .nm-scaleup__grid { grid-template-columns: 1fr; gap: 22px; text-align: center; justify-items: center; } .nm-scaleup__grid > * + * { border-left: 0; } }

.nm-footer { background: var(--nm-navy-deep); color: var(--nm-on-dark-muted); position: relative; overflow: hidden; padding-block: clamp(56px, 6vw, 84px) 0 !important; }
.nm-footer::before { content: ""; position: absolute; top: 0; bottom: 0; left: clamp(-120px, -6vw, -40px); width: 340px; background: url(../brand/contour-1v.png) left center / cover no-repeat; opacity: .55; pointer-events: none; }
.nm-footer > * { position: relative; }
.nm-footer__grid { display: grid !important; grid-template-columns: 1.25fr 1fr 1fr 1.15fr; gap: clamp(28px, 3vw, 48px); max-width: var(--nm-container); margin-inline: auto !important; }
.nm-footer__grid > * { margin: 0 !important; }
.nm-footer__brand { display: grid; gap: 16px; align-content: start; }
.nm-footer__brand > * { margin: 0 !important; }
.nm-footer__brand img { width: 176px; }
.nm-footer__brand p { font-size: .95rem; max-width: 30ch; color: var(--nm-on-dark-muted); }
.nm-footer__col > * { margin: 0 !important; }
.nm-footer h2 { font-family: var(--wp--preset--font-family--heading); font-weight: 500; color: var(--nm-white); font-size: 1.05rem; margin-bottom: 14px !important; letter-spacing: 0; }
.nm-footer ul:not(.wp-block-social-links) { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; font-size: .95rem; }
.nm-footer a { color: var(--nm-on-dark-muted); text-decoration: none; }
.nm-footer a:hover { color: var(--nm-white); text-decoration: underline; }
.nm-footer .wp-block-social-links { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 22px !important; padding: 0; list-style: none; }
.nm-footer .wp-block-social-links .wp-social-link { width: 40px; height: 40px; display: grid; place-items: center; }
.nm-footer .wp-block-social-links .wp-social-link { background: transparent !important; color: var(--nm-white) !important; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; margin: 0; }
.nm-footer .wp-block-social-links .wp-social-link a { padding: 10px; color: var(--nm-white) !important; }
.nm-footer .wp-block-social-links .wp-social-link:hover { background: var(--nm-green) !important; border-color: var(--nm-green); transform: none; }
.nm-footer .wp-block-social-links .wp-social-link svg { width: 18px; height: 18px; }
.nm-contact-list li { position: relative; padding-left: 30px; }
.nm-contact-list li::before { content: ""; position: absolute; left: 0; top: 3px; width: 18px; height: 18px; background: var(--nm-green); -webkit-mask: var(--nm-ico) center / contain no-repeat; mask: var(--nm-ico) center / contain no-repeat; }
.nm-contact-list li.is-phone { --nm-ico: url(../icons/line-phone.svg); }
.nm-contact-list li.is-email { --nm-ico: url(../icons/line-mail.svg); }
.nm-contact-list li.is-location { --nm-ico: url(../icons/line-pin.svg); }
.nm-contact-list li.is-hours { --nm-ico: url(../icons/line-clock.svg); }
.nm-footer__bottom { margin-top: clamp(40px, 5vw, 64px) !important; border-top: 1px solid rgba(255,255,255,.12); padding-block: 22px calc(22px + env(safe-area-inset-bottom, 0px)) !important; display: flex !important; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 14px 28px; font-size: .9rem; max-width: var(--nm-container); margin-inline: auto !important; }
.nm-footer__bottom > * { margin: 0 !important; }
.nm-footer .nm-footer__bottom ul { display: flex; flex-wrap: wrap; gap: 18px; }
@media (max-width: 1080px) { .nm-footer__grid { grid-template-columns: 1fr 1fr 1fr; } .nm-footer__brand { grid-column: 1 / -1; } .nm-footer::before { width: 220px; opacity: .22; } }
@media (max-width: 720px) { .nm-footer__grid { grid-template-columns: 1fr 1fr; } .nm-footer__grid > :last-child { grid-column: 1 / -1; } }
@media (max-width: 400px) { .nm-footer__grid { grid-template-columns: 1fr; } }

/* Placeholder content outline (logged-in users only) */
.nm-placeholder { outline: 2px dashed #E0A82E; outline-offset: 6px; border-radius: 6px; }

/* Editor tweaks: show highlighted words and keep dark sections readable while editing */
.editor-styles-wrapper .nm-hero__media img { position: static; height: 100%; }
.editor-styles-wrapper .nm-section { overflow: visible; }
.nm-services.has-1-items { grid-template-columns: minmax(0, 420px); justify-content: center; }
.nm-services.has-1-items > * { grid-column: auto; }
.nm-card .nm-roles li { background: var(--nm-warm); }
.has-white-background-color .nm-strip { background: var(--nm-warm); }
.has-white-background-color .nm-strip__item:nth-child(odd) { background: #F2ECE9; }
.nm-card > .nm-roles { width: 100%; }

.nm-contact-hero__form, .nm-contact-hero__form p { color: var(--nm-muted); }
.nm-contact-hero__form h2, .nm-contact-hero__form h3, .nm-contact-hero__form label, .nm-contact-hero__form strong { color: var(--nm-navy); }
.nm-contact-hero__form a { color: var(--nm-green-text); }
.nm-contact-hero__form { display: flex; align-items: center; }

/* Article cards: covers, categories, titles and excerpts line up across each row */
@supports (grid-template-rows: subgrid) {
	.nm-posts .wp-block-post-template > li { display: grid; grid-row: span 4; grid-template-rows: subgrid; row-gap: 0; }
	.nm-posts .wp-block-post-template > li > .nm-post-card { grid-row: span 4; grid-template-rows: subgrid; height: auto; }
	.nm-posts .wp-block-post-template > li > .nm-post-card .wp-block-post-excerpt { align-self: start; padding-bottom: 26px; }
}
