/**
 * OHSNJ design system — tokens, gutters, homepage + footer revamp.
 * Brand colors only (no new palette).
 */

:root {
	--ohsnj-teal: #00b8aa;
	--ohsnj-teal-aa: #005f58;
	--ohsnj-teal-dark: #004840;
	--ohsnj-ink: #313131;
	--ohsnj-muted: #5c6b6a;
	--ohsnj-line: rgba(0, 95, 88, 0.14);
	--ohsnj-surface: #f3faf9;
	--ohsnj-white: #ffffff;
	--ohsnj-max: 1140px;
	--ohsnj-gutter: 24px;
	--ohsnj-radius: 8px;
	--ohsnj-space-1: 0.5rem;
	--ohsnj-space-2: 1rem;
	--ohsnj-space-3: 1.5rem;
	--ohsnj-space-4: 2.5rem;
	--ohsnj-space-5: 4rem;
}

@media (min-width: 768px) {
	:root {
		--ohsnj-gutter: 32px;
	}
}

@media (min-width: 1025px) {
	:root {
		--ohsnj-gutter: 40px;
	}
}

/* ——— Consistent content width / side gutters ——— */
.elementor-section.elementor-section-boxed > .elementor-container,
.e-con > .e-con-inner,
.ast-container,
.ohsnj-shell {
	max-width: var(--ohsnj-max) !important;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--ohsnj-gutter);
	padding-right: var(--ohsnj-gutter);
	box-sizing: border-box;
}

/* Elementor boxed sections already pad via container — avoid double horizontal padding on nested */
.elementor-section.elementor-section-boxed > .elementor-container {
	padding-left: var(--ohsnj-gutter);
	padding-right: var(--ohsnj-gutter);
}

/* Shared buttons */
.ohsnj-btn,
.elementor-182 .elementor-button,
.elementor-182 .elementor-cta__button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 0.4em;
	min-height: 48px;
	padding: 0.75rem 1.35rem !important;
	border-radius: var(--ohsnj-radius) !important;
	font-weight: 600 !important;
	letter-spacing: 0.01em;
	text-decoration: none !important;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
	box-shadow: none !important;
}

.ohsnj-btn--primary,
.elementor-182 .elementor-button:not(.elementor-button-link),
.elementor-182 .elementor-cta__button {
	background-color: var(--ohsnj-teal-aa) !important;
	border: 2px solid var(--ohsnj-teal-aa) !important;
	color: #fff !important;
}

.ohsnj-btn--primary:hover,
.ohsnj-btn--primary:focus,
.elementor-182 .elementor-button:hover,
.elementor-182 .elementor-button:focus,
.elementor-182 .elementor-cta__button:hover,
.elementor-182 .elementor-cta__button:focus {
	background-color: var(--ohsnj-teal-dark) !important;
	border-color: var(--ohsnj-teal-dark) !important;
	color: #fff !important;
}

.ohsnj-btn--secondary {
	background-color: transparent !important;
	border: 2px solid #fff !important;
	color: #fff !important;
}

.ohsnj-btn--secondary:hover,
.ohsnj-btn--secondary:focus {
	background-color: #fff !important;
	color: var(--ohsnj-teal-aa) !important;
}

/* ========== HOME: Hero ========== */
.elementor-182 .elementor-element-3d4cc59 {
	min-height: min(78vh, 720px) !important;
	position: relative;
	overflow: hidden;
}

.elementor-182 .elementor-element-3d4cc59 > .elementor-container {
	position: relative;
	z-index: 2;
	align-items: flex-end;
	padding-top: var(--ohsnj-space-5);
	padding-bottom: var(--ohsnj-space-5);
}

.elementor-182 .elementor-element-499fb46 > .elementor-widget-wrap {
	max-width: 40rem;
}

.elementor-182 .elementor-element-46f69c1 .elementor-heading-title {
	color: #fff !important;
	font-size: clamp(1.75rem, 4vw, 2.75rem) !important;
	line-height: 1.2 !important;
	font-weight: 700 !important;
	text-shadow: 0 1px 18px rgba(0, 0, 0, 0.35);
	margin: 0 0 0.75rem !important;
}

.elementor-182 .elementor-element-c8e5f0f .elementor-heading-title {
	color: rgba(255, 255, 255, 0.95) !important;
	font-size: clamp(1rem, 2vw, 1.25rem) !important;
	font-weight: 400 !important;
	line-height: 1.5 !important;
	text-shadow: 0 1px 12px rgba(0, 0, 0, 0.3);
	margin: 0 0 1.5rem !important;
}

/* Soft dark gradient so hero type stays readable over video/slides */
.elementor-182 .elementor-element-3d4cc59::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(
		90deg,
		rgba(0, 40, 36, 0.72) 0%,
		rgba(0, 40, 36, 0.45) 48%,
		rgba(0, 40, 36, 0.2) 100%
	);
}

.ohsnj-hero-ctas {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1rem;
	margin-top: 0.25rem;
	position: relative;
	z-index: 3;
}

/* Hero carousel slides (extra backgrounds over video container) */
.ohsnj-hero-slides {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
}

.ohsnj-hero-slide {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	opacity: 0;
	transition: opacity 1s ease;
}

.ohsnj-hero-slide.is-active {
	opacity: 1;
}

.ohsnj-hero-dots {
	position: absolute;
	right: var(--ohsnj-gutter);
	bottom: 1.25rem;
	z-index: 3;
	display: flex;
	gap: 0.4rem;
}

.ohsnj-hero-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	border: 2px solid #fff;
	background: transparent;
	padding: 0;
	cursor: pointer;
}

.ohsnj-hero-dot[aria-current="true"] {
	background: #fff;
}

/* ========== HOME: Three action cards ========== */
.elementor-182 .elementor-element-048f2bf {
	background-color: var(--ohsnj-surface) !important;
	padding-top: var(--ohsnj-space-4) !important;
	padding-bottom: var(--ohsnj-space-4) !important;
}

.elementor-182 .elementor-element-048f2bf .elementor-cta {
	background: var(--ohsnj-white) !important;
	border: 1px solid var(--ohsnj-line) !important;
	border-radius: var(--ohsnj-radius) !important;
	box-shadow: none !important;
	height: 100%;
	transition: border-color 0.2s ease, transform 0.2s ease;
}

.elementor-182 .elementor-element-048f2bf .elementor-cta:hover {
	border-color: var(--ohsnj-teal-aa) !important;
	transform: translateY(-2px);
}

.elementor-182 .elementor-element-048f2bf .elementor-cta__title {
	color: var(--ohsnj-ink) !important;
	font-size: 1.25rem !important;
	font-weight: 600 !important;
}

.elementor-182 .elementor-element-048f2bf .elementor-cta__icon,
.elementor-182 .elementor-element-048f2bf .elementor-cta__icon svg {
	color: var(--ohsnj-teal-aa) !important;
	fill: var(--ohsnj-teal-aa) !important;
}

.elementor-182 .elementor-element-2c51bbe,
.elementor-182 .elementor-element-13de59d,
.elementor-182 .elementor-element-a529e29 {
	height: 100%;
}

/* ========== HOME: How We Serve You ========== */
.elementor-182 .elementor-element-9ab0187,
.elementor-182 .elementor-element-b9f952b {
	/* keep existing bg image; clean overlay via prior rules + spacing */
}

.elementor-182 .elementor-element-ad84128 .elementor-heading-title {
	color: #fff !important;
	font-size: clamp(1.5rem, 3vw, 2.25rem) !important;
	font-weight: 700 !important;
}

.elementor-182 .elementor-element-b9f952b:not(.elementor-motion-effects-element-type-background) > .elementor-widget-wrap,
.elementor-182 .elementor-element-b9f952b > .elementor-widget-wrap > .elementor-motion-effects-container > .elementor-motion-effects-layer {
	background-color: rgba(0, 40, 36, 0.78) !important;
	border-radius: var(--ohsnj-radius);
}

.elementor-182 .elementor-element-9ab0187 {
	padding-top: var(--ohsnj-space-5) !important;
	padding-bottom: var(--ohsnj-space-5) !important;
}

/* ========== HOME: Services grid ========== */
.elementor-182 .elementor-element-d8e543a .elementor-heading-title,
.elementor-182 .elementor-element-aa2676c .elementor-heading-title,
.elementor-182 .elementor-element-7bceb27 .elementor-heading-title,
.elementor-182 .elementor-element-fc54b35 .elementor-heading-title,
.elementor-182 .elementor-element-faf6d06 .elementor-heading-title,
.elementor-182 .elementor-element-886f87f .elementor-heading-title,
.elementor-182 .elementor-element-e69ea38 .elementor-heading-title,
.elementor-182 .elementor-element-e56c452 .elementor-heading-title,
.elementor-182 .elementor-element-18e9251 .elementor-heading-title {
	color: var(--ohsnj-teal-aa) !important;
	font-size: 1.35rem !important;
	line-height: 1.3 !important;
}

.elementor-182 .elementor-element-4ce4722,
.elementor-182 .elementor-element-4ce4722 p,
.elementor-182 .elementor-element-855afef,
.elementor-182 .elementor-element-855afef p,
.elementor-182 .elementor-element-855afef .s1 {
	color: var(--ohsnj-ink) !important;
}

.elementor-182 .box-shadow img:hover {
	box-shadow: 0 4px 18px rgba(0, 95, 88, 0.18) !important;
}

.elementor-182 .elementor-widget-image img {
	border-radius: var(--ohsnj-radius);
}

/* Service blocks: consistent vertical rhythm */
.elementor-182 .elementor-element-7bceb27,
.elementor-182 .elementor-element-fc54b35,
.elementor-182 .elementor-element-faf6d06,
.elementor-182 .elementor-element-886f87f,
.elementor-182 .elementor-element-e69ea38,
.elementor-182 .elementor-element-e56c452,
.elementor-182 .elementor-element-18e9251 {
	margin-bottom: 0.35rem !important;
}

.elementor-182 .elementor-button.elementor-size-sm {
	background-color: var(--ohsnj-teal-aa) !important;
	border-color: var(--ohsnj-teal-aa) !important;
	color: #fff !important;
	border-radius: var(--ohsnj-radius) !important;
}

.elementor-182 .elementor-button.elementor-size-sm:hover,
.elementor-182 .elementor-button.elementor-size-sm:focus {
	background-color: var(--ohsnj-teal-dark) !important;
	border-color: var(--ohsnj-teal-dark) !important;
	color: #fff !important;
}

/* ========== Reach Us (footer template band) ========== */
.elementor-21 .elementor-element-078f9f7:not(.elementor-motion-effects-element-type-background),
.elementor-21 .elementor-element-078f9f7 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
	background-image: none !important;
	background-color: var(--ohsnj-teal-aa) !important;
}

.elementor-21 .elementor-element-078f9f7 > .elementor-background-overlay {
	display: none !important;
	opacity: 0 !important;
}

.elementor-21 .elementor-element-078f9f7 {
	padding: var(--ohsnj-space-4) 0 !important;
}

.elementor-21 .elementor-element-843c468 .elementor-heading-title,
.elementor-21 .elementor-element-d9be39b .elementor-heading-title {
	color: #fff !important;
}

.elementor-21 .elementor-element-e87e5d8 .elementor-heading-title,
.elementor-21 .elementor-element-9ffcede .elementor-heading-title,
.elementor-21 .elementor-element-f3fcde8 .elementor-heading-title {
	color: #fff !important;
	font-weight: 400 !important;
}

/* ========== Footer main (below Reach Us) ========== */
.elementor-21 .elementor-element-66e2855:not(.elementor-motion-effects-element-type-background),
.elementor-21 .elementor-element-66e2855 > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-21 .elementor-element-ba2878b:not(.elementor-motion-effects-element-type-background),
.elementor-21 .elementor-element-ba2878b > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-21 .elementor-element-283d9d4:not(.elementor-motion-effects-element-type-background),
.elementor-21 .elementor-element-283d9d4 > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-21 .elementor-element-544e038:not(.elementor-motion-effects-element-type-background),
.elementor-21 .elementor-element-544e038 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
	background-image: none !important;
}

/* Catch-all: footer sections after Reach Us → calm surface */
.elementor-21 .elementor-element-ba2878b:not(.elementor-motion-effects-element-type-background),
.elementor-21 .elementor-element-ba2878b > .elementor-motion-effects-container > .elementor-motion-effects-layer {
	background-color: var(--ohsnj-surface) !important;
	background-image: none !important;
}

.elementor-21 .elementor-element-ba2878b {
	padding: var(--ohsnj-space-3) 0 !important;
	border-top: none;
}

.elementor-21 .elementor-element-ba2878b .elementor-heading-title,
.elementor-21 .elementor-element-ba2878b p,
.elementor-21 .elementor-element-ba2878b a,
.elementor-21 .elementor-element-ba2878b .elementor-icon-list-text {
	color: var(--ohsnj-muted) !important;
	font-size: 0.9rem !important;
	font-weight: 400 !important;
}

.elementor-21 .elementor-element-ba2878b a:hover {
	color: var(--ohsnj-teal-aa) !important;
}

.elementor-21 .elementor-element-544e038 {
	text-align: center;
}

@media (max-width: 767px) {
	.elementor-182 .elementor-element-3d4cc59 {
		min-height: 70vh !important;
	}

	.ohsnj-hero-ctas {
		flex-direction: column;
		align-items: stretch;
	}

	.ohsnj-hero-ctas .ohsnj-btn {
		width: 100%;
	}

	.ohsnj-hero-dots {
		left: var(--ohsnj-gutter);
		right: auto;
	}
}

/* ==========================================================================
   Full homepage rebuild (front-page.php)
   ========================================================================== */

body.ohsnj-revamp .site-content,
body.ohsnj-revamp #content {
	margin: 0;
	padding: 0;
	max-width: none;
	width: 100%;
	background: #fff;
}

body.ohsnj-revamp {
	overflow-x: hidden;
	--oh-home-max: 1320px;
	--oh-home-edge: clamp(20px, 4vw, 64px);
	--oh-home-section: clamp(72px, 8vw, 128px);
}

body.ohsnj-revamp .site-content > .ast-container {
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.oh-home {
	--oh-home-max: 1320px;
	--oh-home-edge: clamp(20px, 4vw, 64px);
	--oh-home-section: clamp(72px, 8vw, 128px);
	width: 100%;
	overflow: clip;
	color: var(--ohsnj-ink);
	background: #fff;
}

.oh-home-shell {
	width: min(calc(100% - (var(--oh-home-edge) * 2)), var(--oh-home-max));
	margin-inline: auto;
}

.oh-home h1,
.oh-home h2,
.oh-home h3,
.oh-home p {
	margin-top: 0;
}

.oh-home h1,
.oh-home h2,
.oh-home h3 {
	color: inherit;
	font-family: Helvetica, Arial, sans-serif;
	letter-spacing: -0.025em;
}

.oh-home h2 {
	font-size: clamp(2.15rem, 4.6vw, 4.6rem);
	line-height: 1.03;
}

.oh-home h3 {
	font-size: clamp(1.45rem, 2.2vw, 2.05rem);
	line-height: 1.15;
}

.oh-home p {
	line-height: 1.7;
}

.oh-home-eyebrow {
	margin-bottom: 1rem;
	color: var(--ohsnj-teal-aa);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.oh-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	padding: 0.82rem 1.45rem;
	border: 2px solid transparent;
	border-radius: 2px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none !important;
	transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease;
}

.oh-button--solid {
	background: var(--ohsnj-teal-aa);
	color: #fff !important;
}

.oh-button--solid:hover,
.oh-button--solid:focus {
	background: var(--ohsnj-teal-dark);
}

.oh-button--outline {
	border-color: var(--ohsnj-teal-aa);
	color: var(--ohsnj-teal-aa) !important;
	background: transparent;
}

.oh-button--outline:hover,
.oh-button--outline:focus {
	background: var(--ohsnj-teal-aa);
	color: #fff !important;
}

.oh-button--outline-light {
	border-color: rgba(255, 255, 255, 0.72);
	color: #fff !important;
	background: transparent;
}

.oh-button--outline-light:hover,
.oh-button--outline-light:focus,
.oh-button--light {
	background: #fff;
	color: var(--ohsnj-teal-aa) !important;
}

.oh-button--light:hover,
.oh-button--light:focus {
	background: var(--ohsnj-surface);
}

.oh-home-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.oh-text-link {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	color: var(--ohsnj-teal-aa) !important;
	font-weight: 700;
	text-decoration: none !important;
}

.oh-text-link span[aria-hidden="true"] {
	transition: transform 180ms ease;
}

.oh-text-link:hover span[aria-hidden="true"],
.oh-text-link:focus span[aria-hidden="true"] {
	transform: translateX(4px);
}

.oh-text-link--light {
	color: #fff !important;
}

/* Hero */
.oh-home-hero {
	position: relative;
	height: clamp(680px, 76vh, 820px);
	min-height: 680px;
	overflow: hidden;
	display: grid;
	align-items: stretch;
	background: #073d39;
	color: #fff;
	isolation: isolate;
}

.oh-home-hero__media,
.oh-home-hero__shade {
	position: absolute;
	inset: 0;
}

.oh-home-hero__media {
	z-index: -2;
	overflow: hidden;
}

.oh-home-hero__slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	transform: scale(1);
	transform-origin: center center;
	z-index: 0;
	transition: opacity 1.6s cubic-bezier(0.4, 0, 0.2, 1);
	will-change: opacity, transform;
}

/* Real <img> so LCP can discover/prioritize the hero (not CSS background). */
.oh-home-hero__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

/* First slide paints immediately — no opacity/transition gate on LCP. */
.oh-home-hero__slide--lcp {
	opacity: 1;
	z-index: 1;
	transition: none;
}

.oh-home-hero__slide.is-active {
	opacity: 1;
	z-index: 1;
	animation: oh-home-hero-zoom 6.5s ease-out forwards;
}

.oh-home-hero__slide--lcp.is-active {
	animation: none;
}

.oh-home-hero.is-carousel-ready .oh-home-hero__slide--lcp.is-active {
	animation: oh-home-hero-zoom 6.5s ease-out forwards;
}

/* Keep the zoomed frame while fading out — avoids the instant zoom-out snap. */
.oh-home-hero__slide.is-leaving-bg {
	opacity: 0;
	z-index: 0;
	animation: none;
}

@keyframes oh-home-hero-zoom {
	from {
		transform: scale(1);
	}
	to {
		transform: scale(1.06);
	}
}

@media (prefers-reduced-motion: reduce) {
	.oh-home-hero__slide.is-active {
		animation: none;
		transform: scale(1);
	}

	.oh-home-hero__slide.is-leaving-bg {
		transform: scale(1);
	}
}

.oh-home-hero__shade {
	z-index: -1;
	background:
		linear-gradient(90deg, rgba(2, 31, 29, 0.93) 0%, rgba(2, 31, 29, 0.76) 42%, rgba(2, 31, 29, 0.18) 78%),
		linear-gradient(0deg, rgba(2, 31, 29, 0.48), transparent 52%);
}

.oh-home-hero__inner {
	position: relative;
	display: flex;
	align-items: flex-start;
	height: 100%;
	min-height: 0;
	/* Extra bottom space so CTAs sit above the glance overlap */
	padding-block: clamp(72px, 7vw, 104px) clamp(120px, 12vw, 168px);
}

.oh-home-hero__content {
	width: min(1080px, 82%);
}

.oh-home-hero__eyebrow,
.oh-home-hero__title,
.oh-home-hero__text,
.oh-home-hero__content .oh-home-actions {
	will-change: opacity, transform, filter;
}

/* Leave one-by-one: chip → title → text → buttons */
.oh-home-hero__content.is-leaving .oh-home-hero__eyebrow,
.oh-home-hero__content.is-leaving .oh-home-hero__title,
.oh-home-hero__content.is-leaving .oh-home-hero__text,
.oh-home-hero__content.is-leaving .oh-home-actions {
	animation: oh-home-copy-out 420ms cubic-bezier(0.4, 0, 1, 1) both;
}

.oh-home-hero__content.is-leaving .oh-home-hero__eyebrow {
	animation-delay: 0ms;
}

.oh-home-hero__content.is-leaving .oh-home-hero__title {
	animation-delay: 160ms;
}

.oh-home-hero__content.is-leaving .oh-home-hero__text {
	animation-delay: 320ms;
}

.oh-home-hero__content.is-leaving .oh-home-actions {
	animation-delay: 480ms;
}

/* Enter one-by-one: chip → title → text → buttons */
.oh-home-hero__content.is-entering .oh-home-hero__eyebrow,
.oh-home-hero__content.is-entering .oh-home-hero__title,
.oh-home-hero__content.is-entering .oh-home-hero__text,
.oh-home-hero__content.is-entering .oh-home-actions {
	animation: oh-home-copy-in 520ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.oh-home-hero__content.is-entering .oh-home-hero__eyebrow {
	animation-delay: 0ms;
}

.oh-home-hero__content.is-entering .oh-home-hero__title {
	animation-delay: 160ms;
}

.oh-home-hero__content.is-entering .oh-home-hero__text {
	animation-delay: 320ms;
}

.oh-home-hero__content.is-entering .oh-home-actions {
	animation-delay: 480ms;
}

@keyframes oh-home-copy-out {
	to {
		opacity: 0;
		filter: blur(3px);
		transform: translateY(-12px);
	}
}

@keyframes oh-home-copy-in {
	from {
		opacity: 0;
		filter: blur(4px);
		transform: translateY(18px);
	}
	to {
		opacity: 1;
		filter: blur(0);
		transform: translateY(0);
	}
}

.oh-home-hero__eyebrow {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	width: auto;
	max-width: 100%;
	min-height: 32px;
	margin-bottom: 1.75rem;
	padding: 0.48rem 0.75rem;
	background: rgba(0, 95, 88, 0.82);
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 2px;
	color: #fff;
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
}

.oh-home-hero__title {
	display: flex;
	align-items: flex-end;
	max-width: 18ch;
	height: 3.05em;
	min-height: 3.05em;
	margin-bottom: 1.1rem;
	overflow: hidden;
	color: #fff !important;
	font-size: clamp(2.35rem, 3.8vw, 3.65rem);
	font-weight: 700;
	line-height: 1.01;
	text-wrap: balance;
}

.oh-home-hero__text {
	max-width: 650px;
	min-height: 4.8em;
	margin-bottom: 1.5rem;
	overflow: visible;
	color: rgba(255, 255, 255, 0.88);
	font-size: clamp(1rem, 1.5vw, 1.25rem);
	line-height: 1.55;
}

.oh-home-hero .oh-button--solid {
	background: #fff;
	border-color: #fff;
	color: var(--ohsnj-teal-aa) !important;
}

.oh-home-hero .oh-button--solid:hover,
.oh-home-hero .oh-button--solid:focus {
	background: var(--ohsnj-surface);
	border-color: var(--ohsnj-surface);
	color: var(--ohsnj-teal-dark) !important;
}

.oh-home-hero__controls {
	position: absolute;
	right: 0;
	bottom: clamp(88px, 10vw, 120px);
	display: flex;
	gap: 0.65rem;
}

.oh-home-hero__dot {
	width: 38px;
	height: 4px;
	padding: 0;
	border: 0;
	background: rgba(255, 255, 255, 0.42);
	cursor: pointer;
	transition: background-color 180ms ease, width 180ms ease;
}

.oh-home-hero__dot[aria-current="true"] {
	width: 68px;
	background: #fff;
}

/* At a glance — straddles hero / services intersection */
.oh-home-glance {
	position: relative;
	z-index: 3;
	margin-top: 0;
	margin-bottom: 0;
	padding-bottom: clamp(0.5rem, 1.5vw, 1rem);
	background: var(--ohsnj-surface);
}

.oh-home-glance__grid {
	position: relative;
	z-index: 3;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
	border: 1px solid var(--ohsnj-line);
	box-shadow: 0 16px 48px rgba(0, 55, 51, 0.08);
	transform: translateY(-50%);
	overflow: hidden;
}

.oh-home-glance__item {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	padding: 1.25rem 1.35rem;
	background: #fff;
}

.oh-home-glance__item + .oh-home-glance__item {
	border-left: 1px solid var(--ohsnj-line);
}

.oh-home-glance__label {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	color: var(--ohsnj-teal-aa);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	line-height: 1;
	text-transform: uppercase;
}

.oh-home-glance__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 15px;
	height: 15px;
	color: var(--ohsnj-teal-aa);
	line-height: 0;
}

.oh-home-glance__icon svg {
	display: block;
	width: 15px;
	height: 15px;
}

.oh-home-glance__label-text {
	display: block;
	line-height: 1;
	/* Optical center with uppercase + letter-spacing */
	transform: translateY(0.5px);
}

.oh-home-glance__value {
	color: var(--ohsnj-ink) !important;
	font-size: 0.98rem;
	font-weight: 600;
	line-height: 1.35;
	text-decoration: none !important;
}

a.oh-home-glance__value:hover,
a.oh-home-glance__value:focus {
	color: var(--ohsnj-teal-aa) !important;
}

.oh-home-glance__item--accent {
	padding: 0;
	background: color-mix(in srgb, var(--ohsnj-teal-aa) 9%, #fff);
	border-color: var(--ohsnj-line);
	margin: -1px;
	position: relative;
	z-index: 1;
}

.oh-home-glance__item--accent.oh-home-glance__item + .oh-home-glance__item,
.oh-home-glance__item + .oh-home-glance__item--accent {
	border-left-color: var(--ohsnj-line);
}

.oh-home-glance__item--accent:hover,
.oh-home-glance__item--accent:focus-within {
	background: color-mix(in srgb, var(--ohsnj-teal-aa) 14%, #fff);
	border-color: var(--ohsnj-line);
}

.oh-home-glance__link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.85rem;
	flex: 1 1 auto;
	align-self: stretch;
	width: 100%;
	box-sizing: border-box;
	padding: 1.25rem 1.2rem 1.25rem 1.35rem;
	background: color-mix(in srgb, var(--ohsnj-teal-aa) 9%, #fff);
	color: var(--ohsnj-ink) !important;
	text-decoration: none !important;
	transition: background-color 180ms ease;
}

.oh-home-glance__link:hover,
.oh-home-glance__link:focus {
	background: color-mix(in srgb, var(--ohsnj-teal-aa) 14%, #fff);
	color: var(--ohsnj-ink) !important;
}

.oh-home-glance__copy {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	min-width: 0;
}

.oh-home-glance__item--accent .oh-home-glance__label {
	color: #5f6368;
}

.oh-home-glance__item--accent .oh-home-glance__icon {
	color: inherit;
}

.oh-home-glance__icon--google {
	width: 16px;
	height: 16px;
}

.oh-home-glance__icon--google svg {
	width: 16px;
	height: 16px;
}

.oh-home-glance__rating {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.35rem 0.45rem;
	color: var(--ohsnj-ink) !important;
	font-size: 0.98rem;
	font-weight: 600;
	line-height: 1.2;
}

.oh-home-glance__stars {
	display: inline-flex;
	align-self: center;
	gap: 0.02rem;
	color: #e8eaed;
	font-size: 0.95rem;
	letter-spacing: 0;
	line-height: 1;
}

.oh-home-glance__stars .is-on,
.oh-home-glance__stars .is-half {
	color: #fbbc04;
}

.oh-home-glance__score {
	color: var(--ohsnj-ink);
	font-weight: 700;
	line-height: 1;
}

.oh-home-glance__count {
	color: #5f6368;
	font-weight: 500;
	font-size: 0.9rem;
	line-height: 1;
}

.oh-home-glance__item--accent .oh-home-arrow {
	flex: 0 0 auto;
	color: #5f6368;
	font-size: 1.15rem;
	line-height: 1;
	transition: transform 180ms ease, color 180ms ease;
}

.oh-home-glance__link:hover .oh-home-arrow,
.oh-home-glance__link:focus .oh-home-arrow {
	color: #1a73e8;
	transform: translate(2px, -2px);
}

/* Quick actions — fades mint surface into the white section below */
.oh-home-quick {
	position: relative;
	z-index: 2;
	margin-top: 0;
	padding-block: 0 clamp(1.75rem, 3.5vw, 2.75rem);
	background: linear-gradient(
		180deg,
		var(--ohsnj-surface) 0%,
		var(--ohsnj-surface) 40%,
		#ffffff 100%
	);
}

.oh-home-quick__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	background: #fff;
	border: 1px solid var(--ohsnj-line);
	box-shadow: 0 20px 60px rgba(0, 55, 51, 0.1);
}

.oh-home-quick__card {
	display: grid;
	grid-template-columns: 64px 1fr auto;
	align-items: center;
	gap: 1.2rem;
	min-height: 150px;
	padding: 2rem;
	color: var(--ohsnj-ink) !important;
	text-decoration: none !important;
	transition: background-color 180ms ease, color 180ms ease;
}

.oh-home-quick__card + .oh-home-quick__card {
	border-left: 1px solid var(--ohsnj-line);
}

.oh-home-quick__card:hover,
.oh-home-quick__card:focus {
	background: var(--ohsnj-teal-aa);
	color: #fff !important;
}

.oh-home-quick__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	border: 1.5px solid color-mix(in srgb, var(--ohsnj-teal-aa) 32%, #fff);
	background: color-mix(in srgb, var(--ohsnj-teal-aa) 12%, #fff);
	color: var(--ohsnj-teal-aa);
	line-height: 0;
	box-sizing: border-box;
	transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

.oh-home-quick__icon svg {
	display: block;
	width: 24px;
	height: 24px;
}

.oh-home-quick__card:hover .oh-home-quick__icon,
.oh-home-quick__card:focus .oh-home-quick__icon {
	color: #fff;
	border-color: rgba(255, 255, 255, 0.5);
	background: rgba(255, 255, 255, 0.14);
}

.oh-home-quick__body {
	display: grid;
	gap: 0.35rem;
}

.oh-home-quick__body strong {
	font-size: clamp(1.05rem, 1.5vw, 1.3rem);
}

.oh-home-quick__body small {
	color: var(--ohsnj-muted);
	font-size: 0.88rem;
	line-height: 1.45;
}

.oh-home-quick__card:hover small,
.oh-home-quick__card:focus small {
	color: rgba(255, 255, 255, 0.78);
}

.oh-home-arrow {
	font-size: 1.3rem;
}

/* Editorial intro — open typography band, no reused panel treatment */
.oh-home-intro {
	padding-block: clamp(56px, 7vw, 96px);
	background: #fff;
	border-block: 1px solid rgba(0, 95, 88, 0.1);
}

.oh-home-intro .oh-home-eyebrow {
	margin-bottom: 1.25rem;
}

.oh-home-intro__layout {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.85fr);
	gap: clamp(1.5rem, 3.5vw, 3rem);
	align-items: start;
}

.oh-home-intro h2 {
	max-width: 18ch;
	margin-bottom: 0;
	font-size: clamp(2.2rem, 3.8vw, 3.35rem);
	line-height: 1.08;
}

.oh-home-intro__copy {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	padding-top: 0.35rem;
	border-left: 0;
}

.oh-home-intro__copy.oh-home-actions {
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem 1rem;
	padding-top: 0.5rem;
}

.oh-home-intro__copy p {
	max-width: 42ch;
	margin-bottom: 0;
	color: var(--ohsnj-muted);
	font-size: 1.08rem;
	line-height: 1.65;
}

/* Service bento grid */
.oh-home-services {
	padding-block: clamp(28px, 3.5vw, 44px) clamp(40px, 4vw, 56px);
	background: var(--ohsnj-surface);
}

.oh-home-section-head {
	display: flex;
	justify-content: space-between;
	align-items: end;
	gap: 3rem;
	margin-bottom: clamp(3rem, 5vw, 5rem);
}

.oh-home-section-head h2 {
	max-width: 13ch;
	margin-bottom: 0;
}

.oh-home-section-head > p {
	max-width: 400px;
	margin-bottom: 0;
	color: var(--ohsnj-muted);
}

.oh-home-services .oh-home-section-head {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
	align-items: start;
	gap: clamp(2rem, 4vw, 4rem);
	margin-bottom: clamp(2.25rem, 3.5vw, 3.5rem);
}

.oh-home-services .oh-home-section-head h2 {
	max-width: 19ch;
	font-size: clamp(2rem, 3.6vw, 3.5rem);
}

.oh-home-services .oh-home-section-head > p {
	max-width: 42ch;
	padding-top: 2.1rem;
}

.oh-home-services .oh-home-section-head .oh-home-eyebrow {
	margin-bottom: 0.85rem;
}

.oh-home-services__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1px;
	background: var(--ohsnj-line);
	border: 1px solid var(--ohsnj-line);
}

.oh-home-services .oh-service-card {
	display: flex;
	flex-direction: column;
	min-height: 100%;
	background: #fff;
	color: inherit;
	text-decoration: none !important;
	-webkit-tap-highlight-color: transparent;
}

.oh-home-services .oh-service-card:hover,
.oh-home-services .oh-service-card:focus,
.oh-home-services .oh-service-card:focus-visible {
	color: inherit;
	text-decoration: none !important;
	outline: none;
	box-shadow: none;
}

.oh-home-services .oh-service-card__image {
	display: block;
	flex: 0 0 auto;
	aspect-ratio: 4 / 3;
	min-height: 0;
	overflow: hidden;
	background: #dcefed;
}

.oh-home-services .oh-service-card__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 500ms ease;
}

.oh-home-services .oh-service-card:hover .oh-service-card__image img {
	transform: scale(1.04);
}

.oh-home-services .oh-service-card__content {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	align-items: flex-start;
	padding: 1.35rem 1.25rem 1.5rem;
}

.oh-home-services .oh-service-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 0.85rem;
	color: var(--ohsnj-teal-aa);
	line-height: 0;
}

.oh-home-services .oh-service-card__icon svg {
	display: block;
	width: 28px;
	height: 28px;
}

.oh-home-services .oh-service-card h3 {
	margin: 0 0 0.75rem;
	color: var(--ohsnj-ink) !important;
	font-size: clamp(1.05rem, 1.15vw, 1.2rem);
	line-height: 1.3;
}

.oh-home-services .oh-service-card p {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	overflow: hidden;
	flex: 1 1 auto;
	margin: 0 0 1.25rem;
	color: var(--ohsnj-muted);
	font-size: 0.9rem;
	line-height: 1.55;
}

.oh-home-services .oh-service-card .oh-text-link {
	margin-top: auto;
	pointer-events: none;
}

.oh-home-services .oh-service-card:hover .oh-text-link span[aria-hidden="true"] {
	transform: translateX(4px);
}

/* Legacy / shared service-card base (non-homepage) */
.oh-service-card {
	display: grid;
	grid-template-columns: minmax(180px, 0.85fr) minmax(0, 1.15fr);
	min-height: 0;
	background: #fff;
	color: inherit;
	text-decoration: none !important;
	-webkit-tap-highlight-color: transparent;
}

.oh-service-card:hover,
.oh-service-card:focus,
.oh-service-card:focus-visible {
	color: inherit;
	text-decoration: none !important;
	outline: none;
	box-shadow: none;
}

.oh-service-card__image {
	display: block;
	min-height: 100%;
	overflow: hidden;
	background: #dcefed;
}

.oh-service-card__image img {
	width: 100%;
	height: 100%;
	min-height: 100%;
	object-fit: cover;
	transition: transform 500ms ease;
}

.oh-service-card:hover .oh-service-card__image img {
	transform: scale(1.035);
}

.oh-service-card__content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	min-height: 0;
	padding: clamp(2rem, 4vw, 3.5rem);
}

.oh-service-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-bottom: auto;
	color: var(--ohsnj-teal-aa);
	line-height: 0;
}

.oh-service-card__icon svg {
	display: block;
	width: clamp(2rem, 3vw, 2.75rem);
	height: clamp(2rem, 3vw, 2.75rem);
}

.oh-service-card h3 {
	margin-block: 1.5rem 1rem;
	color: var(--ohsnj-ink) !important;
}

.oh-service-card p {
	margin-bottom: 1.5rem;
	color: var(--ohsnj-muted);
	font-size: 0.94rem;
	overflow: visible;
}

.oh-service-card .oh-text-link {
	pointer-events: none;
}

.oh-service-card:hover .oh-text-link span[aria-hidden="true"] {
	transform: translateX(4px);
}

/* Supportive care editorial rows */
.oh-home-support {
	padding-top: clamp(64px, 7vw, 104px);
	background: #fff;
	color: var(--ohsnj-ink);
}

.oh-home-support__list {
	display: block;
}

.oh-support-row {
	padding-block: clamp(48px, 5vw, 72px);
	background: #fff;
	scroll-margin-top: 140px;
}

.oh-support-row:nth-child(even) {
	background: var(--ohsnj-surface);
}

.oh-support-row__inner {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: center;
	gap: clamp(2.5rem, 5vw, 5rem);
}

.oh-support-row__media-stack {
	grid-column: 1;
	grid-row: 1;
	display: grid;
	gap: 1rem;
}

.oh-support-row__content {
	grid-column: 2;
	grid-row: 1;
}

.oh-support-row--reverse .oh-support-row__media-stack {
	grid-column: 2;
}

.oh-support-row--reverse .oh-support-row__content {
	grid-column: 1;
}

.oh-support-row .oh-home-eyebrow {
	color: var(--ohsnj-teal-aa);
}

.oh-support-row .oh-support-row__content h3 {
	color: var(--ohsnj-ink) !important;
}

.oh-support-row .oh-support-row__content > p:not(.oh-home-eyebrow) {
	color: var(--ohsnj-muted);
}

.oh-support-row .oh-text-link--light {
	color: var(--ohsnj-teal-aa) !important;
}

/* Homepage support rows: whole block is tappable, no visual change. */
.oh-home-support .oh-support-row {
	position: relative;
	-webkit-tap-highlight-color: transparent;
}

.oh-home-support .oh-support-row__link::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

/* Keep YouTube embeds playable above the stretched link. */
.oh-home-support .oh-support-row__video {
	position: relative;
	z-index: 2;
}

.oh-support-row__media {
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: #dcefed;
}

.oh-support-row__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Brand marks read as logos, not croppable photography. */
.oh-support-row__media--logo {
	aspect-ratio: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: clamp(1.75rem, 4vw, 3.25rem);
	background: #fff;
	border: 1px solid var(--ohsnj-line);
}

.oh-support-row:nth-child(even) .oh-support-row__media--logo {
	background: #fff;
}

.oh-support-row__media--logo img {
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 100%;
	object-fit: contain;
}

.oh-support-row__media--contain {
	aspect-ratio: 1;
	background: transparent;
	border: 0;
}

.oh-support-row__media--contain img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.oh-support-row__media--logo-dark {
	background: #1b1b1b;
	border-color: #1b1b1b;
}

/* Deep Lens partner band — light clinical strip, logo on transparent ground. */
.oh-support-row--partner {
	padding-block: clamp(28px, 3.5vw, 44px);
	background: var(--ohsnj-surface);
	color: var(--ohsnj-ink);
}

.oh-support-row--partner .oh-support-row__inner {
	grid-template-columns: auto minmax(0, 1fr);
	align-items: center;
	gap: clamp(1.5rem, 3vw, 2.75rem);
}

.oh-support-row--partner .oh-support-row__media-stack {
	width: min(220px, 48vw);
}

.oh-support-row--partner .oh-support-row__media,
.oh-support-row--partner .oh-support-row__media--logo,
.oh-support-row--partner .oh-support-row__media--logo-dark,
.oh-support-row--partner:nth-child(even) .oh-support-row__media--logo,
.oh-support-row--partner:nth-child(odd) .oh-support-row__media--logo {
	aspect-ratio: auto;
	width: 100%;
	padding: 0;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none;
}

.oh-support-row--partner .oh-support-row__media img {
	display: block;
	width: 100%;
	height: auto;
	max-height: none;
	object-fit: contain;
}

.oh-support-row--partner .oh-support-row__content {
	grid-column: auto;
	grid-row: auto;
}

.oh-support-row--partner .oh-support-row__lines {
	display: grid;
	gap: 0.25rem;
	margin: 0;
	color: var(--ohsnj-ink) !important;
	font-size: clamp(1.15rem, 2vw, 1.55rem);
	font-weight: 700;
	line-height: 1.25;
}

.oh-support-row--partner .oh-support-row__lines span {
	display: block;
}

.oh-support-row--partner .oh-support-row__lines span:first-child {
	color: var(--ohsnj-teal-aa);
}

.oh-support-row__media--logo-dark:not(.oh-support-row__media--logo) {
	aspect-ratio: 1;
	padding: clamp(1rem, 2vw, 1.5rem);
	background: #1b1b1b;
	border: 0;
}

.oh-support-row__media--logo-dark:not(.oh-support-row__media--logo) img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.oh-support-row__video {
	position: relative;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: #031a18;
}

.oh-support-row__video iframe,
.oh-support-row__video .oh-yt-facade {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.oh-support-row__video--mp4 video {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	background: #031a18;
}

.oh-support-row__content h3 {
	margin-bottom: 1.25rem;
	color: var(--ohsnj-ink) !important;
	font-size: clamp(2rem, 3.6vw, 3.5rem);
}

.oh-support-row__content > p:not(.oh-home-eyebrow) {
	margin-bottom: 1.75rem;
	color: var(--ohsnj-muted);
}

/* Contact */
.oh-home-contact {
	padding-block: clamp(64px, 7vw, 100px);
	background: var(--ohsnj-teal-aa);
	color: #fff;
}

.oh-home-contact__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 3rem;
}

.oh-home-contact .oh-home-eyebrow {
	color: #8ee7df;
}

.oh-home-contact h2 {
	margin-bottom: 0.75rem;
	color: #fff !important;
	font-size: clamp(2rem, 4vw, 4rem);
}

/* Interior pages: keep contact CTA proportional to service type scale. */
.oh-service .oh-home-contact {
	padding-block: clamp(48px, 5.5vw, 72px);
}

.oh-service .oh-home-contact h2 {
	font-size: clamp(1.85rem, 3vw, 2.6rem);
	line-height: 1.1;
}

.oh-home-contact p:last-child {
	margin-bottom: 0;
	color: rgba(255, 255, 255, 0.82);
}

/* The custom templates include their own contact and footer areas. */
body.ohsnj-revamp .elementor-location-footer,
body.ohsnj-revamp .elementor-location-footer.elementor-location-footer,
body.blog .elementor-location-footer,
body.category .elementor-location-footer,
body.search .elementor-location-footer,
body.single-post .elementor-location-footer,
body.ohsnj-revamp .site-footer,
body.ohsnj-revamp #colophon,
body.blog .site-footer,
body.single-post .site-footer {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	max-height: 0 !important;
	overflow: hidden !important;
	margin: 0 !important;
	padding: 0 !important;
	pointer-events: none !important;
}

/* Complete homepage footer */
.oh-home-footer {
	padding-top: clamp(72px, 8vw, 120px);
	background: #062e2b;
	color: #fff;
}

.oh-home-footer__grid {
	display: grid;
	grid-template-columns: minmax(260px, 1.4fr) repeat(3, minmax(160px, 0.7fr));
	gap: clamp(2rem, 5vw, 5rem);
	padding-bottom: clamp(56px, 7vw, 96px);
}

.oh-home-footer__brand img {
	width: min(220px, 100%);
	height: auto;
	margin-bottom: 1.25rem;
}

.oh-home-footer__brand p {
	max-width: 360px;
	margin-bottom: 0;
	color: rgba(255, 255, 255, 0.68);
	font-size: 0.94rem;
}

.oh-home-footer h2 {
	margin-bottom: 1.25rem;
	color: #fff !important;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.oh-home-footer h2 a {
	color: inherit !important;
	text-decoration: none !important;
	letter-spacing: inherit;
}

.oh-home-footer h2 a:hover,
.oh-home-footer h2 a:focus {
	color: #8ee7df !important;
}

.oh-home-footer__nav,
.oh-home-footer__contact {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.8rem;
}

.oh-home-footer__nav a,
.oh-home-footer__contact a {
	color: rgba(255, 255, 255, 0.76) !important;
	font-size: 0.92rem;
	text-decoration: none !important;
}

.oh-home-footer__nav a:hover,
.oh-home-footer__nav a:focus,
.oh-home-footer__contact a:hover,
.oh-home-footer__contact a:focus {
	color: #fff !important;
}

.oh-home-footer address {
	margin-bottom: 0.4rem;
	color: rgba(255, 255, 255, 0.68);
	font-size: 0.92rem;
	font-style: normal;
	line-height: 1.7;
}

.oh-home-footer__bottom {
	padding-block: 1.5rem;
	border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.oh-home-footer__bottom p {
	margin: 0;
	color: rgba(255, 255, 255, 0.55);
	font-size: 0.8rem;
}

@media (max-width: 1024px) {
	.oh-home-hero__content {
		width: min(900px, 90%);
	}

	.oh-home-hero__title {
		height: 3.03em;
	}

	.oh-home-quick__card {
		grid-template-columns: 48px 1fr auto;
		gap: 0.75rem;
		padding: 1.5rem;
	}

	.oh-home-quick__icon {
		width: 44px;
		height: 44px;
	}

	.oh-home-quick__icon svg {
		width: 20px;
		height: 20px;
	}

	.oh-service-card {
		grid-template-columns: 1fr;
	}

	.oh-service-card__image {
		min-height: 250px;
	}

	.oh-service-card__content {
		min-height: 0;
	}
}

@media (max-width: 767px) {
	.oh-home,
	body.ohsnj-revamp {
		--oh-home-edge: 18px;
		--oh-home-section: 72px;
	}

	.oh-home-hero {
		min-height: 740px;
	}

	.oh-home-hero__shade {
		background:
			linear-gradient(0deg, rgba(2, 31, 29, 0.92) 0%, rgba(2, 31, 29, 0.72) 65%, rgba(2, 31, 29, 0.32) 100%);
	}

	.oh-home-hero__inner {
		align-items: stretch;
		padding-block: 56px 128px;
	}

	.oh-home-hero__content {
		width: 100%;
		display: flex;
		flex-direction: column;
		height: 100%;
		min-height: 0;
		padding-top: 12px;
	}

	.oh-home-hero__eyebrow {
		align-self: flex-start;
		width: fit-content;
		max-width: calc(100% - 0px);
	}

	.oh-home-hero__content .oh-home-actions {
		margin-top: auto;
		padding-top: 1.25rem;
	}

	.oh-home-hero__title {
		height: auto;
		min-height: 3.2em;
		font-size: clamp(2.05rem, 9vw, 2.85rem);
	}

	.oh-home-hero__text {
		height: auto;
		min-height: 0;
	}

	.oh-home-hero__controls {
		right: auto;
		left: 0;
		bottom: 38px;
	}

	.oh-home-actions {
		align-items: stretch;
	}

	.oh-home-actions .oh-button {
		flex: 1 1 100%;
	}

	.oh-home-quick {
		margin-top: 0;
	}

	.oh-home-quick .oh-home-shell {
		width: 100%;
	}

	.oh-home-quick__grid {
		grid-template-columns: 1fr;
		border-inline: 0;
		box-shadow: none;
	}

	.oh-home-quick__card {
		min-height: 120px;
		padding-inline: var(--oh-home-edge);
	}

	.oh-home-quick__card + .oh-home-quick__card {
		border-left: 0;
		border-top: 1px solid var(--ohsnj-line);
	}

	.oh-home-intro__layout,
	.oh-support-row__inner,
	.oh-home-contact__inner {
		grid-template-columns: 1fr;
		display: grid;
	}

	.oh-home-intro__copy {
		padding-top: 0;
	}

	.oh-home-section-head {
		display: grid;
		gap: 1.5rem;
	}

	.oh-home-services .oh-home-section-head,
	.oh-home-trust .oh-home-section-head,
	.oh-home-trust__head {
		grid-template-columns: 1fr;
	}

	.oh-home-services .oh-home-section-head > p,
	.oh-home-trust .oh-home-section-head > p,
	.oh-home-trust__head > p {
		padding-top: 0;
	}

	.oh-home-trust .oh-home-section-head h2,
	.oh-home-trust__head h2,
	.oh-home-trust .oh-home-section-head > p,
	.oh-home-trust__head > p {
		white-space: normal;
	}

	.oh-home-services__grid {
		grid-template-columns: 1fr;
	}

	.oh-home-services .oh-service-card__image {
		min-height: 0;
	}

	.oh-support-row__media-stack,
	.oh-support-row__content,
	.oh-support-row--reverse .oh-support-row__media-stack,
	.oh-support-row--reverse .oh-support-row__content {
		grid-column: 1;
		grid-row: auto;
	}

	.oh-home-contact__inner {
		align-items: stretch;
	}

	.oh-home-footer__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 560px) {
	.oh-home-footer__grid {
		grid-template-columns: 1fr;
	}
}

@media (prefers-reduced-motion: reduce) {
	.oh-home *,
	.oh-home *::before,
	.oh-home *::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
	}
}

/* ==========================================================================
   Service pages (service-page.php) — same system as the homepage
   Interior content scale: tighter than homepage marketing heads so longer
   titles (Test Results, procedure steps, etc.) stay proportional.
   ========================================================================== */

.oh-service {
	--oh-service-section-y: clamp(36px, 4.5vw, 56px);
	--oh-service-title: clamp(1.65rem, 2.4vw, 2.15rem);
	--oh-service-title-lg: clamp(1.85rem, 2.8vw, 2.5rem);
	--oh-service-step-title: clamp(1.15rem, 1.5vw, 1.35rem);
	--oh-service-body: 1.02rem;
	--oh-service-lead: clamp(1rem, 1.15vw, 1.08rem);
}

/* Calm clinical band — light surface, soft teal wash, no hard patterning. */
.oh-service-hero {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(85% 120% at 92% 0%, rgba(0, 184, 170, 0.16) 0%, rgba(0, 184, 170, 0) 62%),
		linear-gradient(180deg, var(--ohsnj-surface) 0%, #ffffff 100%);
	color: var(--ohsnj-ink);
}

/* Compact two-column band: copy left, at-a-glance facts right. */
.oh-service-hero__inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.75fr);
	align-items: center;
	gap: clamp(1.75rem, 4vw, 3.5rem);
	padding-block: clamp(32px, 4vw, 52px);
}

/* Desktop floating logo hangs below the nav — clear it in the first band. */
@media (min-width: 1025px) {
	.oh-service-hero__inner {
		padding-top: clamp(72px, 6.5vw, 100px);
		padding-bottom: clamp(32px, 4vw, 52px);
	}
}

.oh-service-breadcrumb {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 0.85rem;
	color: var(--ohsnj-muted);
	font-size: 0.82rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

/* Breadcrumbs wrap awkwardly on small screens — desktop only. */
@media (max-width: 1024px) {
	.oh-service-breadcrumb,
	.oh-provider-breadcrumb {
		display: none !important;
	}
}

.oh-service-breadcrumb a {
	color: var(--ohsnj-teal-aa) !important;
	text-decoration: none !important;
}

.oh-service-breadcrumb a:hover,
.oh-service-breadcrumb a:focus {
	text-decoration: underline !important;
}

.oh-service-hero__eyebrow {
	display: inline-flex;
	align-items: center;
	margin-bottom: 0.85rem;
	padding: 0.35rem 0.65rem;
	background: rgba(0, 95, 88, 0.07);
	border: 1px solid var(--ohsnj-line);
	border-radius: 2px;
	color: var(--ohsnj-teal-aa);
}

.oh-service-hero__title {
	max-width: min(100%, 28ch);
	margin-bottom: 0.9rem;
	color: var(--ohsnj-ink);
	font-family: Helvetica, Arial, sans-serif;
	font-size: clamp(2rem, 3.2vw, 2.75rem);
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1.08;
}

.oh-service-hero__lead {
	max-width: 52ch;
	margin-bottom: 1.5rem;
	color: var(--ohsnj-muted);
	font-size: var(--oh-service-lead);
	line-height: 1.65;
}

/* Buttons invert for the light band. */
.oh-service-hero .oh-button--light {
	background: var(--ohsnj-teal-aa);
	border-color: var(--ohsnj-teal-aa);
	color: #fff !important;
}

.oh-service-hero .oh-button--light:hover,
.oh-service-hero .oh-button--light:focus {
	background: var(--ohsnj-teal-dark);
	border-color: var(--ohsnj-teal-dark);
}

.oh-service-hero .oh-button--outline-light {
	border-color: rgba(0, 95, 88, 0.4);
	color: var(--ohsnj-teal-aa) !important;
	background: transparent;
}

.oh-service-hero .oh-button--outline-light:hover,
.oh-service-hero .oh-button--outline-light:focus {
	background: #fff;
	border-color: var(--ohsnj-teal-aa);
}

/* At-a-glance facts: open clinical column, stacked heading + detail. */
.oh-service-facts {
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 0.15rem 0 0.15rem 1.5rem;
	background: transparent;
	border: 0;
	border-left: 2px solid rgba(0, 95, 88, 0.28);
	box-shadow: none;
}

.oh-service-fact {
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
	padding-block: 0.9rem;
}

.oh-service-fact + .oh-service-fact {
	border-top: 1px solid rgba(0, 95, 88, 0.12);
}

.oh-service-fact:first-child {
	padding-top: 0;
}

.oh-service-fact:last-child {
	padding-bottom: 0;
}

.oh-service-fact__number {
	margin: 0;
	color: var(--ohsnj-ink);
	font-size: clamp(1.15rem, 1.5vw, 1.35rem);
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	letter-spacing: -0.02em;
	line-height: 1.25;
}

.oh-service-fact__label {
	margin: 0;
	max-width: 28ch;
	color: var(--ohsnj-muted);
	font-size: 0.92rem;
	line-height: 1.45;
}

/* Alternating content bands reuse the homepage supportive-care rows.
   Soft fades at section seams match homepage trust / tech / history. */
.oh-service .oh-support-row {
	padding-block: var(--oh-service-section-y);
	background: linear-gradient(
		180deg,
		var(--ohsnj-surface) 0%,
		#ffffff 22%,
		#ffffff 100%
	);
}

/* Band immediately after the hero (already white) — no mint lead-in.
   Note: :first-of-type fails here because the hero is also a <section>. */
.oh-service-hero + .oh-support-row {
	background: #ffffff;
}

.oh-service-hero + .oh-support-row--partner {
	background: linear-gradient(
		180deg,
		#ffffff 0%,
		var(--ohsnj-surface) 22%,
		var(--ohsnj-surface) 100%
	);
}

.oh-service .oh-support-row--tint {
	background: linear-gradient(
		180deg,
		#ffffff 0%,
		var(--ohsnj-surface) 22%,
		var(--ohsnj-surface) 100%
	);
}

/* Partner (mint) → next tint row: stay on surface. */
.oh-service .oh-support-row--partner + .oh-support-row--tint {
	background: var(--ohsnj-surface);
}

/* Consecutive white rows: no mint flash between them. */
.oh-service .oh-support-row:not(.oh-support-row--tint):not(.oh-support-row--partner)
	+ .oh-support-row:not(.oh-support-row--tint):not(.oh-support-row--partner) {
	background: #ffffff;
}

.oh-service .oh-support-row--partner {
	background: linear-gradient(
		180deg,
		#ffffff 0%,
		var(--ohsnj-surface) 22%,
		var(--ohsnj-surface) 100%
	);
	padding-top: clamp(24px, 3vw, 40px);
}

.oh-service-hero + .oh-support-row:not(.oh-support-row--partner) {
	padding-top: clamp(20px, 2.5vw, 36px);
}

.oh-service .oh-support-row__inner {
	gap: clamp(1.75rem, 4vw, 3.5rem);
}

.oh-service .oh-support-row__media {
	border-radius: 12px;
	overflow: hidden;
}

.oh-service .oh-support-row__media--logo,
.oh-service .oh-support-row--partner .oh-support-row__media {
	border-radius: 0;
	overflow: visible;
}

.oh-service .oh-support-row__video {
	border-radius: 12px;
	overflow: hidden;
}

.oh-service .oh-support-row--partner .oh-support-row__lines {
	font-size: clamp(1.05rem, 1.6vw, 1.3rem);
	line-height: 1.3;
}

.oh-service .oh-support-row__content h2 {
	max-width: none;
	margin-bottom: 0.85rem;
	color: var(--ohsnj-ink) !important;
	font-size: var(--oh-service-title);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.15;
}

.oh-service .oh-support-row__content > p {
	max-width: 54ch;
	margin-bottom: 0;
	color: var(--ohsnj-muted);
	font-size: var(--oh-service-body);
	line-height: 1.65;
}

.oh-service .oh-support-row__content > p + p {
	margin-top: 0.9rem;
}

.oh-service-steps {
	padding-block: var(--oh-service-section-y);
	background: linear-gradient(
		180deg,
		#ffffff 0%,
		var(--ohsnj-surface) 22%,
		var(--ohsnj-surface) 100%
	);
}

.oh-service-steps__head {
	display: grid;
	grid-template-columns: 1fr;
	align-items: start;
	gap: 0.75rem;
	margin-bottom: clamp(1.75rem, 3vw, 2.5rem);
}

.oh-service-steps__head .oh-home-eyebrow {
	margin-bottom: 0.65rem;
}

.oh-service-steps__head h2 {
	max-width: min(100%, 36ch);
	margin-bottom: 0;
	font-size: var(--oh-service-title-lg);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.12;
}

.oh-service-steps__head > p {
	max-width: 62ch;
	margin-bottom: 0;
	padding-top: 0;
	color: var(--ohsnj-muted);
	font-size: var(--oh-service-body);
	line-height: 1.65;
}

.oh-service-steps__list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1px;
	margin: 0;
	padding: 0;
	list-style: none;
	background: var(--ohsnj-line);
	border: 1px solid var(--ohsnj-line);
}

.oh-service-steps__split {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
	align-items: stretch;
	gap: clamp(1.5rem, 3.5vw, 2.75rem);
}

.oh-service-steps__media {
	align-self: stretch;
	min-height: 100%;
	border-radius: 12px;
	overflow: hidden;
	background: #dcefed;
}

.oh-service-steps__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.oh-service-steps__list--stacked {
	grid-template-columns: 1fr;
	height: 100%;
}

.oh-service-steps--split .oh-service-step {
	padding: clamp(1.1rem, 1.8vw, 1.45rem) clamp(1.2rem, 2vw, 1.65rem);
}

.oh-service-steps--split .oh-service-step__number {
	margin-bottom: 0.55rem;
	font-size: clamp(1.4rem, 2vw, 1.85rem);
}

.oh-service-steps--split .oh-service-step p {
	margin-bottom: 0;
}

.oh-service-step {
	display: flex;
	flex-direction: column;
	padding: clamp(1.35rem, 2.2vw, 1.85rem);
	background: #fff;
}

.oh-service-step__number {
	margin-bottom: 0.85rem;
	color: #3a6e68;
	font-size: clamp(1.75rem, 2.4vw, 2.25rem);
	font-weight: 800;
	font-variant-numeric: tabular-nums;
	letter-spacing: -0.06em;
	line-height: 1;
}

.oh-service-step h3 {
	margin-bottom: 0.55rem;
	font-size: var(--oh-service-step-title);
	font-weight: 700;
	letter-spacing: -0.015em;
	line-height: 1.25;
}

.oh-service-step p {
	margin-bottom: 0;
	color: var(--ohsnj-muted);
	font-size: 0.98rem;
	line-height: 1.6;
}

.oh-service-related {
	padding-block: var(--oh-service-section-y);
	background: linear-gradient(
		180deg,
		var(--ohsnj-surface) 0%,
		#ffffff 22%,
		#ffffff 100%
	);
}

.oh-service-related__head {
	display: block;
	margin-bottom: clamp(1.5rem, 2.5vw, 2.25rem);
}

.oh-service-related__head .oh-home-eyebrow {
	margin-bottom: 0.65rem;
}

.oh-service-related__head h2 {
	max-width: none;
	margin-bottom: 0;
	font-size: var(--oh-service-title-lg);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.12;
}

.oh-service-hero__inner--solo {
	grid-template-columns: minmax(0, 1fr);
}

.oh-service-hero__inner--solo .oh-service-hero__lead {
	max-width: 68ch;
}

.oh-service-hero__inner--solo .oh-service-hero__title {
	max-width: min(100%, 28ch);
}

.oh-support-row--text .oh-support-row__inner {
	grid-template-columns: minmax(0, 1fr);
}

.oh-support-row--text .oh-support-row__content {
	grid-column: 1;
	max-width: 68ch;
}

.oh-service .oh-support-row--text .oh-support-row__content {
	max-width: none;
}

.oh-service .oh-support-row--text .oh-support-row__content h2 {
	max-width: none;
}

.oh-service .oh-support-row--text .oh-support-row__content > p {
	max-width: none;
}

/* Benefits list — same information as the original bullet list. */
.oh-service-benefits {
	padding-block: var(--oh-service-section-y);
	background: linear-gradient(
		180deg,
		#ffffff 0%,
		var(--ohsnj-surface) 22%,
		var(--ohsnj-surface) 100%
	);
}

.oh-service-benefits__head {
	display: grid;
	grid-template-columns: 1fr;
	align-items: start;
	gap: 0.75rem;
	margin-bottom: clamp(1.5rem, 2.5vw, 2.25rem);
}

.oh-service-benefits__head .oh-home-eyebrow {
	margin-bottom: 0.65rem;
}

.oh-service-benefits__head h2 {
	max-width: min(100%, 42ch);
	margin-bottom: 0;
	font-size: var(--oh-service-title-lg);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.2;
}

.oh-service-benefits__head > p {
	max-width: 62ch;
	margin: 0;
	color: var(--ohsnj-muted);
	font-size: var(--oh-service-body);
	line-height: 1.65;
}

.oh-service-benefits__list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1px;
	margin: 0;
	padding: 0;
	list-style: none;
	background: var(--ohsnj-line);
	border: 1px solid var(--ohsnj-line);
}

.oh-service-benefit {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: center;
	gap: 1rem;
	min-height: 80px;
	padding: 1.15rem clamp(1.1rem, 2vw, 1.65rem);
	background: #fff;
}

.oh-service-benefit__number {
	color: rgba(0, 95, 88, 0.18);
	font-size: clamp(1.55rem, 2.2vw, 2rem);
	font-weight: 800;
	font-variant-numeric: tabular-nums;
	letter-spacing: -0.06em;
	line-height: 1;
}

.oh-service-benefit__text {
	color: var(--ohsnj-ink);
	font-size: clamp(0.98rem, 1.2vw, 1.08rem);
	font-weight: 600;
	line-height: 1.35;
}

.oh-service-benefit:last-child:nth-child(odd) {
	grid-column: 1 / -1;
}

/* Closing CTA from the original schedule heading + call button. */
.oh-service-closing {
	padding-block: clamp(40px, 5vw, 64px);
	background: #ffffff;
	border-block: 0;
}

.oh-service-closing__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(260px, 0.8fr);
	align-items: center;
	gap: clamp(1.5rem, 3.5vw, 3rem);
}

.oh-service-closing__inner > p {
	max-width: 54ch;
	margin-bottom: 0;
	color: var(--ohsnj-muted);
	font-size: var(--oh-service-body);
	line-height: 1.65;
}

.oh-service-closing__cta {
	display: grid;
	gap: 1rem;
	justify-items: start;
}

.oh-service-closing__cta h2 {
	margin-bottom: 0;
	font-size: var(--oh-service-title);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.2;
}

.oh-service-closing__sub {
	margin: -0.15rem 0 0;
	color: color-mix(in srgb, var(--ohsnj-muted) 62%, #ffffff);
	font-size: var(--oh-service-title);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.2;
}

.oh-service-closing__inner--solo {
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
}

.oh-service-closing__inner--solo .oh-service-closing__cta {
	display: contents;
}

.oh-service-closing__inner--solo .oh-service-closing__cta h2 {
	margin-bottom: 0;
	max-width: min(100%, 36ch);
}

.oh-service-closing__inner--solo .oh-button {
	justify-self: end;
	align-self: center;
}

.oh-service-closing__inner--stack {
	grid-template-columns: minmax(0, 1fr);
	justify-items: start;
}

.oh-service-closing__inner--stack .oh-service-closing__cta {
	display: grid;
	gap: 0.45rem;
	justify-items: start;
	max-width: 100%;
}

.oh-service-closing__inner--stack .oh-service-closing__cta h2 {
	max-width: none;
	white-space: normal;
}

/* Survey-style stacked CTA: keep the heading on one line when a muted subtitle follows. */
.oh-service-closing__inner--stack .oh-service-closing__cta:has(.oh-service-closing__sub) {
	max-width: none;
}

.oh-service-closing__inner--stack .oh-service-closing__cta:has(.oh-service-closing__sub) h2 {
	white-space: nowrap;
}

.oh-service-closing__inner--stack .oh-button {
	margin-top: 0.65rem;
	justify-self: start;
}

.oh-service-info {
	padding-block: clamp(36px, 4vw, 52px);
	background: linear-gradient(
		180deg,
		#ffffff 0%,
		var(--ohsnj-surface) 22%,
		var(--ohsnj-surface) 100%
	);
	border-block: 0;
}

/* Info cards → grievance steps stay on mint (survey CTA moved lower). */
.oh-service-info + .oh-service-steps {
	background: var(--ohsnj-surface);
}

/* Mint content row → benefits: stay on surface (no white flash). */
.oh-service .oh-support-row--tint + .oh-service-benefits,
.oh-service .oh-support-row--partner + .oh-service-benefits {
	background: var(--ohsnj-surface);
}

/* After a mint benefits band, the next white row fades from surface. */
.oh-service-benefits + .oh-support-row {
	background: linear-gradient(
		180deg,
		var(--ohsnj-surface) 0%,
		#ffffff 22%,
		#ffffff 100%
	);
}

.oh-service-closing + .oh-service-related,
.oh-service-resource + .oh-service-related {
	background: #ffffff;
}

.oh-service-closing + .oh-service-resource {
	background: #ffffff;
}

/* Closing after a mint band — fade surface into white. */
.oh-service .oh-support-row--tint + .oh-service-closing,
.oh-service .oh-support-row--partner + .oh-service-closing,
.oh-service-steps + .oh-service-closing,
.oh-service-benefits:not(.oh-service-benefits--alt) + .oh-service-closing {
	background: linear-gradient(
		180deg,
		var(--ohsnj-surface) 0%,
		#ffffff 22%,
		#ffffff 100%
	);
}

/* Soft mint wash when related follows a mint-ending band. */
.oh-service-benefits + .oh-service-related,
.oh-service-steps + .oh-service-related,
.oh-service .oh-support-row--tint + .oh-service-related,
.oh-service .oh-support-row--partner + .oh-service-related,
.oh-service-abstract + .oh-service-related {
	background: linear-gradient(
		180deg,
		var(--ohsnj-surface) 0%,
		#ffffff 22%,
		#ffffff 100%
	);
}

.oh-service-info__card {
	padding: clamp(1.35rem, 2.2vw, 1.85rem);
	background: #fff;
	border: 1px solid var(--ohsnj-line);
	border-radius: 12px;
}

.oh-service-info__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(0.85rem, 1.5vw, 1.15rem);
	background: transparent;
	border: 0;
}

.oh-service-info__card h2 {
	margin-bottom: 1rem;
	font-size: clamp(1.15rem, 1.6vw, 1.4rem);
	line-height: 1.25;
}

.oh-service-info__card p {
	margin-bottom: 0.35rem;
	color: var(--ohsnj-muted);
	font-size: 0.98rem;
	line-height: 1.5;
}

.oh-service-info__card p:last-child {
	margin-bottom: 0;
}

.oh-service-info--policies {
	padding-block: var(--oh-service-section-y);
	background: linear-gradient(
		180deg,
		#ffffff 0%,
		var(--ohsnj-surface) 22%,
		var(--ohsnj-surface) 100%
	);
}

.oh-service-info--policies .oh-service-info__grid {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 1.25rem;
	width: 100%;
	margin-inline: 0;
	background: transparent;
	border: 0;
}

.oh-service-info--policies .oh-service-info__card {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	padding: clamp(1.75rem, 3vw, 2.5rem);
	background: #fff;
	border: 1px solid var(--ohsnj-line);
}

.oh-service-info--policies .oh-service-info__card h2 {
	margin-bottom: 0;
	padding-bottom: 0.95rem;
	border-bottom: 2px solid var(--ohsnj-teal-aa);
	color: var(--ohsnj-teal-aa);
	font-size: clamp(1.55rem, 2.4vw, 2rem);
	line-height: 1.2;
	letter-spacing: -0.02em;
}

.oh-service-info--policies .oh-service-info__card p {
	margin-bottom: 0.75rem;
	color: var(--ohsnj-ink);
	font-size: clamp(1.05rem, 1.35vw, 1.15rem);
	line-height: 1.7;
}

.oh-service-info--policies .oh-service-info__card p:last-child {
	margin-bottom: 0;
}

.oh-service-info--policies .oh-service-info__card p:last-child:not(:only-of-type) {
	margin-top: auto;
	color: var(--ohsnj-muted);
	font-style: italic;
	font-size: 0.92rem;
}

.oh-support-row__badge {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	margin: 1.5rem 0 0;
	padding-top: 1.25rem;
	border-top: 1px solid var(--ohsnj-line);
}

.oh-support-row__badge img {
	display: block;
	width: auto;
	height: auto;
	max-width: min(210px, 100%);
	max-height: 72px;
	object-fit: contain;
}

.oh-support-row__badge figcaption {
	margin: 0;
	color: var(--ohsnj-ink);
	font-size: 0.95rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.oh-support-row--logo-only .oh-support-row__inner {
	grid-template-columns: minmax(0, 1fr);
	justify-items: center;
}

.oh-support-row--logo-only .oh-support-row__media-stack {
	grid-column: 1;
	width: min(280px, 100%);
}

.oh-service-steps__items-title {
	margin: 0 0 1.15rem;
	color: var(--ohsnj-ink);
	font-size: var(--oh-service-title);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.2;
}

.oh-service-steps__list--wrap {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.oh-service-steps__list--wrap .oh-service-step:last-child:nth-child(odd) {
	grid-column: 1 / -1;
}

.oh-service-resource {
	padding-block: clamp(2rem, 3.5vw, 3rem) clamp(1.25rem, 2vw, 2rem);
	background: #fff;
}

/* Resource after mint steps — fade from surface into white. */
.oh-service-steps + .oh-service-resource {
	background: linear-gradient(
		180deg,
		var(--ohsnj-surface) 0%,
		#ffffff 22%,
		#ffffff 100%
	);
}

.oh-service-resource__link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.25rem;
	min-height: 88px;
	padding: 1.35rem clamp(1.25rem, 2.2vw, 1.85rem);
	border: 1px solid var(--ohsnj-line);
	color: var(--ohsnj-ink) !important;
	font-size: clamp(0.98rem, 1.2vw, 1.1rem);
	font-weight: 600;
	line-height: 1.3;
	text-decoration: none !important;
	transition: background-color 180ms ease, color 180ms ease;
}

.oh-service-resource__link:hover,
.oh-service-resource__link:focus {
	background: var(--ohsnj-teal-aa);
	color: #fff !important;
}

.oh-support-row__media--logo-dark {
	background: #1b1b1b;
	border-color: #1b1b1b;
}

.oh-service-benefits--alt {
	background: linear-gradient(
		180deg,
		var(--ohsnj-surface) 0%,
		#ffffff 22%,
		#ffffff 100%
	);
}

.oh-service-benefits + .oh-service-benefits--alt {
	/* First benefits band ends mint; alt fades into white. */
	background: linear-gradient(
		180deg,
		var(--ohsnj-surface) 0%,
		#ffffff 22%,
		#ffffff 100%
	);
}

.oh-service-abstract {
	padding-block: var(--oh-service-section-y);
	background: linear-gradient(
		180deg,
		#ffffff 0%,
		var(--ohsnj-surface) 22%,
		var(--ohsnj-surface) 100%
	);
}

.oh-service-abstract__head {
	margin-bottom: clamp(1.5rem, 2.5vw, 2.25rem);
}

.oh-service-abstract__head h2 {
	max-width: none;
	margin-bottom: 0.75rem;
	font-size: var(--oh-service-title);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.25;
}

.oh-service-abstract__authors {
	margin-bottom: 0;
	color: var(--ohsnj-muted);
	font-size: 0.95rem;
	line-height: 1.5;
}

.oh-service-abstract__blocks {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(0.85rem, 1.5vw, 1.15rem);
	margin-bottom: clamp(1.75rem, 3vw, 2.5rem);
}

.oh-service-abstract__block {
	padding: clamp(1.35rem, 2.2vw, 1.85rem);
	background: #fff;
	border: 1px solid var(--ohsnj-line);
	border-radius: 12px;
}

.oh-service-abstract__block h3 {
	margin-bottom: 0.85rem;
	font-size: 1.05rem;
	font-weight: 700;
	letter-spacing: -0.015em;
	line-height: 1.25;
}

.oh-service-abstract__block ul {
	margin: 0;
	padding-left: 1.15rem;
}

.oh-service-abstract__block li {
	margin-bottom: 0.55rem;
	color: var(--ohsnj-muted);
	font-size: 0.98rem;
	line-height: 1.55;
}

.oh-service-abstract__block li:last-child {
	margin-bottom: 0;
}

.oh-service-abstract__summary,
.oh-service-abstract__result {
	max-width: 72ch;
	margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
	color: var(--ohsnj-muted);
	font-size: var(--oh-service-body);
	line-height: 1.65;
}

.oh-service-abstract__poster {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: center;
	gap: clamp(1.15rem, 2.5vw, 1.75rem);
	margin-bottom: clamp(1.75rem, 3vw, 2.5rem);
	padding: clamp(1.15rem, 2.5vw, 1.5rem);
	border: 1px solid var(--ohsnj-line);
	border-radius: 12px;
	background: #fff;
}

.oh-service-abstract__qr {
	flex-shrink: 0;
}

.oh-service-abstract__note {
	max-width: 48ch;
	margin-bottom: 0;
	color: var(--ohsnj-muted);
	font-size: 0.9rem;
	font-style: italic;
	line-height: 1.55;
}

.oh-service-abstract__figures {
	display: grid;
	gap: 1.25rem;
	margin-bottom: clamp(1.75rem, 3vw, 2.5rem);
}

.oh-service-abstract__figure {
	margin: 0;
	overflow: hidden;
	background: #fff;
	border: 1px solid var(--ohsnj-line);
	border-radius: 12px;
}

.oh-service-abstract__figure img {
	display: block;
	width: 100%;
	height: auto;
}

.oh-service-abstract__figure--compact {
	width: 120px;
	margin: 0;
	border: 0;
	background: transparent;
}

.oh-service-abstract__figure--compact img {
	width: 100%;
	height: auto;
}

.oh-service-abstract__result {
	margin-bottom: 0;
}

/* VIPER study stats — clinical findings panel (brand teal). */
.oh-viper-stats {
	display: grid;
	grid-template-columns: minmax(220px, 0.9fr) minmax(280px, 1.1fr);
	align-items: stretch;
	gap: clamp(1.75rem, 4vw, 3rem);
	margin-bottom: 0;
	padding: clamp(1.6rem, 3vw, 2.35rem);
	border: 1px solid var(--ohsnj-line);
	border-bottom: 0;
	background: #fff;
	color: var(--ohsnj-ink);
}

.oh-viper-stats__studies {
	display: grid;
	align-content: center;
	gap: 1.15rem;
	justify-items: start;
	padding-right: clamp(1rem, 2.5vw, 1.75rem);
	border-right: 1px solid var(--ohsnj-line);
}

.oh-viper-stats__grid {
	display: grid;
	grid-template-columns: repeat(10, minmax(0, 1fr));
	gap: 0.4rem;
	width: min(100%, 300px);
}

.oh-viper-stats__cell {
	aspect-ratio: 1;
	border-radius: 2px;
	background: var(--ohsnj-surface);
	box-shadow: inset 0 0 0 1px rgba(0, 95, 88, 0.08);
}

.oh-viper-stats__cell.is-filled {
	background: var(--ohsnj-teal-aa);
	box-shadow: none;
}

.oh-viper-stats__caption {
	display: grid;
	gap: 0.2rem;
	margin: 0;
	color: var(--ohsnj-muted);
	font-size: 0.9rem;
	line-height: 1.4;
	text-align: left;
}

.oh-viper-stats__caption span:first-child {
	color: var(--ohsnj-ink);
	font-weight: 700;
}

.oh-viper-stats__funnel {
	display: grid;
	align-content: center;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.oh-viper-stats__step {
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
	padding-block: 0.85rem;
}

.oh-viper-stats__step + .oh-viper-stats__step {
	border-top: 1px solid var(--ohsnj-line);
}

.oh-viper-stats__number {
	color: var(--ohsnj-teal-aa);
	font-size: clamp(1.75rem, 2.6vw, 2.25rem);
	font-weight: 800;
	font-variant-numeric: tabular-nums;
	letter-spacing: -0.03em;
	line-height: 1;
}

.oh-viper-stats__label {
	max-width: 28ch;
	color: var(--ohsnj-muted);
	font-size: 0.92rem;
	line-height: 1.4;
}

.oh-viper-table-wrap {
	overflow-x: auto;
	margin-bottom: clamp(1.75rem, 3vw, 2.5rem);
	border: 1px solid var(--ohsnj-line);
	background: #fff;
	-webkit-overflow-scrolling: touch;
}

.oh-viper-table {
	width: 100%;
	min-width: 0;
	margin: 0;
	border-collapse: separate;
	border-spacing: 0;
	font-size: 0.95rem;
}

.oh-viper-table caption {
	padding: 0.95rem 1.15rem;
	background: var(--ohsnj-teal-aa);
	color: #fff;
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-align: left;
	text-transform: uppercase;
}

.oh-viper-table th,
.oh-viper-table td {
	padding: 1rem 1.15rem;
	border-bottom: 1px solid var(--ohsnj-line);
	vertical-align: middle;
}

.oh-viper-table thead th {
	background: var(--ohsnj-surface);
	color: var(--ohsnj-teal-aa);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-align: left;
	text-transform: uppercase;
}

.oh-viper-table thead th:not(:first-child),
.oh-viper-table td {
	text-align: right;
	font-variant-numeric: tabular-nums;
}

.oh-viper-table tbody th {
	color: var(--ohsnj-ink);
	font-weight: 400;
	text-align: left;
}

.oh-viper-table__module {
	display: inline;
	line-height: 1.45;
}

.oh-viper-table__module em {
	color: var(--ohsnj-muted);
	font-style: italic;
}

.oh-viper-table__module strong {
	color: var(--ohsnj-ink);
	font-weight: 700;
}

.oh-viper-table tbody tr {
	background: #fff;
	transition: background-color 160ms ease;
}

.oh-viper-table tbody tr:nth-child(even) {
	background: rgba(0, 95, 88, 0.035);
}

.oh-viper-table tbody tr:hover {
	background: rgba(0, 95, 88, 0.07);
}

.oh-viper-table tbody tr:last-child th,
.oh-viper-table tbody tr:last-child td {
	border-bottom: 0;
}

.oh-viper-table td {
	color: var(--ohsnj-ink);
	font-weight: 700;
	font-size: 1.02rem;
}

.oh-viper-table__count {
	font-variant-numeric: tabular-nums;
}

.oh-viper-table__label {
	display: none;
}

.oh-service-related__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1px;
	background: var(--ohsnj-line);
	border: 1px solid var(--ohsnj-line);
}

.oh-service-related__card {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.25rem;
	min-height: 88px;
	padding: 1.35rem clamp(1.25rem, 2.2vw, 1.85rem);
	background: #fff;
	color: var(--ohsnj-ink) !important;
	font-size: clamp(0.98rem, 1.2vw, 1.1rem);
	font-weight: 600;
	line-height: 1.3;
	text-decoration: none !important;
	transition: background-color 180ms ease, color 180ms ease;
}

.oh-service-related__card:hover,
.oh-service-related__card:focus {
	background: var(--ohsnj-teal-aa);
	color: #fff !important;
}

@media (max-width: 1024px) {
	.oh-service-hero__inner {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.oh-support-row--partner .oh-support-row__inner {
		grid-template-columns: 1fr;
		justify-items: start;
	}

	.oh-support-row--partner .oh-support-row__media-stack {
		width: min(180px, 55vw);
	}

	.oh-service-steps__head,
	.oh-service-steps__list,
	.oh-service-steps__list--wrap,
	.oh-service-steps__split,
	.oh-service-benefits__list,
	.oh-service-info__grid,
	.oh-service-closing__inner,
	.oh-service-closing__inner--solo {
		grid-template-columns: 1fr;
	}

	.oh-service-steps__media {
		aspect-ratio: 1024 / 688;
		min-height: 0;
	}

	.oh-service-steps__media img {
		height: 100%;
	}

	.oh-service-closing__inner--solo .oh-button {
		justify-self: start;
		width: 100%;
	}

	.oh-service-closing__inner--stack .oh-service-closing__cta:has(.oh-service-closing__sub) h2 {
		white-space: normal;
	}

	.oh-service-abstract__blocks,
	.oh-service-abstract__poster {
		grid-template-columns: 1fr;
	}

	.oh-service-abstract__figure--compact {
		width: 112px;
	}
	.oh-viper-stats {
		grid-template-columns: 1fr;
	}

	.oh-viper-stats__studies {
		padding-right: 0;
		padding-bottom: 1.25rem;
		border-right: 0;
		border-bottom: 1px solid var(--ohsnj-line);
	}

	.oh-viper-stats__funnel {
		justify-items: start;
	}
}

@media (max-width: 767px) {
	.oh-service-related__grid {
		grid-template-columns: 1fr;
	}

	.oh-viper-table thead {
		display: none;
	}

	.oh-viper-table,
	.oh-viper-table tbody,
	.oh-viper-table tr,
	.oh-viper-table th,
	.oh-viper-table td {
		display: block;
		width: 100%;
	}

	.oh-viper-table caption {
		display: block;
		width: 100%;
		box-sizing: border-box;
		caption-side: top;
	}

	.oh-viper-table tbody tr {
		padding: 1rem 1.1rem;
		border-bottom: 1px solid var(--ohsnj-line);
	}

	.oh-viper-table tbody tr:nth-child(even) {
		background: rgba(0, 95, 88, 0.04);
	}

	.oh-viper-table tbody th,
	.oh-viper-table tbody td {
		padding: 0.35rem 0;
		border: 0;
		text-align: left;
	}

	.oh-viper-table tbody td {
		display: flex;
		align-items: baseline;
		justify-content: space-between;
		gap: 0.75rem 1rem;
		color: var(--ohsnj-ink);
		font-size: 0.95rem;
		text-align: left;
	}

	.oh-viper-table__label {
		display: block;
		flex: 1 1 auto;
		min-width: 0;
		color: var(--ohsnj-muted);
		font-size: 0.72rem;
		font-weight: 700;
		letter-spacing: 0.06em;
		text-transform: uppercase;
		line-height: 1.35;
	}

	.oh-viper-table__count {
		flex: 0 0 auto;
		font-size: 1.05rem;
		font-weight: 700;
		color: var(--ohsnj-ink);
	}

	.oh-viper-table tbody th {
		margin-bottom: 0.55rem;
		padding-bottom: 0.65rem;
		border-bottom: 1px solid rgba(0, 95, 88, 0.1);
	}
}

/* —— Our Team —— */
.oh-team-hero {
	position: relative;
	display: grid;
	min-height: 720px;
	height: clamp(720px, 78vh, 880px);
	overflow: hidden;
	color: #fff;
	background: #003d38;
}

.oh-team-hero__media,
.oh-team-hero__veil,
.oh-team-hero__inner {
	grid-area: 1 / 1;
}

.oh-team-hero__media {
	z-index: 0;
	min-height: 0;
}

.oh-team-hero__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 28%;
}

.oh-team-hero__veil {
	z-index: 1;
	background:
		linear-gradient(
			180deg,
			rgba(0, 35, 32, 0.05) 0%,
			rgba(0, 35, 32, 0.05) 42%,
			rgba(0, 35, 32, 0.45) 72%,
			rgba(0, 35, 32, 0.86) 100%
		);
}

.oh-team-hero__inner {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	gap: 0.7rem;
	width: min(calc(100% - (var(--oh-home-edge) * 2)), 48rem);
	margin-inline: auto;
	padding-block: 0 clamp(32px, 5vw, 52px);
	text-align: center;
}

.oh-team-hero__title {
	margin: 0;
	font-size: clamp(2.1rem, 3.8vw, 3rem);
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1.08;
	color: #fff;
	text-shadow: 0 1px 12px rgba(0, 0, 0, 0.25);
}

.oh-team-hero__lead {
	margin: 0;
	max-width: 52ch;
	color: rgba(255, 255, 255, 0.95);
	font-size: clamp(0.98rem, 1.3vw, 1.1rem);
	line-height: 1.55;
	text-shadow: 0 1px 10px rgba(0, 0, 0, 0.28);
}

.oh-team-hero .oh-home-actions {
	margin-top: 0.35rem;
	justify-content: center;
}

.oh-team-hero .oh-button--light {
	background: #fff;
	color: var(--ohsnj-teal-aa);
	border-color: #fff;
}

.oh-team-hero .oh-button--light:hover,
.oh-team-hero .oh-button--light:focus {
	background: var(--ohsnj-surface);
	color: var(--ohsnj-teal-aa);
}

.oh-team-hero .oh-button--outline-light {
	color: #fff !important;
	border-color: rgba(255, 255, 255, 0.9);
	background: rgba(0, 35, 32, 0.2);
}

.oh-team-hero .oh-button--outline-light:hover,
.oh-team-hero .oh-button--outline-light:focus {
	background: #fff !important;
	border-color: #fff;
	color: var(--ohsnj-teal-aa) !important;
}

.oh-team-intro {
	padding-block: clamp(28px, 4vw, 48px);
	background: #fff;
	border-bottom: 0;
}

.oh-team-intro p {
	margin: 0;
	max-width: 68ch;
	color: var(--ohsnj-ink);
	font-size: clamp(1.05rem, 1.5vw, 1.2rem);
	line-height: 1.65;
}

.oh-team-roster {
	background: #fff;
}

/* Member bands — same soft white ↔ mint fades as service pages. */
.oh-team-member {
	padding-block: clamp(36px, 4.5vw, 56px);
	background: #fff;
}

.oh-team-roster > .oh-team-member:first-child {
	background: #fff;
}

.oh-team-member--tint {
	background: linear-gradient(
		180deg,
		#ffffff 0%,
		var(--ohsnj-surface) 22%,
		var(--ohsnj-surface) 100%
	);
}

.oh-team-member:not(.oh-team-member--tint) + .oh-team-member--tint {
	background: linear-gradient(
		180deg,
		#ffffff 0%,
		var(--ohsnj-surface) 22%,
		var(--ohsnj-surface) 100%
	);
}

.oh-team-member--tint + .oh-team-member:not(.oh-team-member--tint) {
	background: linear-gradient(
		180deg,
		var(--ohsnj-surface) 0%,
		#ffffff 22%,
		#ffffff 100%
	);
}

.oh-team-member--tint + .oh-team-member--tint {
	background: var(--ohsnj-surface);
}

.oh-team-member:not(.oh-team-member--tint) + .oh-team-member:not(.oh-team-member--tint) {
	background: #fff;
}

.oh-team .oh-team-roster:has(> .oh-team-member--tint:last-child) + .oh-service-related {
	background: linear-gradient(
		180deg,
		var(--ohsnj-surface) 0%,
		#ffffff 22%,
		#ffffff 100%
	);
}

.oh-team .oh-team-roster:has(> .oh-team-member:not(.oh-team-member--tint):last-child) + .oh-service-related {
	background: #fff;
}

.oh-team-member__inner {
	display: grid;
	grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
	gap: clamp(1.5rem, 4vw, 3.5rem);
	align-items: center;
}

.oh-team-member--reverse .oh-team-member__inner {
	grid-template-columns: minmax(0, 1.28fr) minmax(0, 0.72fr);
}

.oh-team-member--reverse .oh-team-member__media {
	order: 2;
	justify-self: end;
}

.oh-team-member__media {
	margin: 0;
	overflow: hidden;
	width: 100%;
	max-width: 320px;
	aspect-ratio: 4 / 5;
	border-radius: 12px;
	background: rgba(0, 95, 88, 0.06);
}

.oh-team-member__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}

.oh-team-member__media-link {
	display: block;
	width: 100%;
	height: 100%;
	color: inherit;
	text-decoration: none;
}

.oh-team-member__media-link:focus-visible {
	outline: 2px solid var(--ohsnj-teal-aa);
	outline-offset: 3px;
	border-radius: 12px;
}

.oh-team-member__role {
	margin: 0 0 0.45rem;
	color: var(--ohsnj-teal-aa);
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.oh-team .oh-team-member__name {
	margin: 0 0 1rem;
	color: var(--ohsnj-ink);
	font-size: clamp(1.35rem, 2.1vw, 1.85rem);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.15;
}

.oh-team .oh-team-member__name-link {
	color: inherit;
	text-decoration: none;
	transition: color 180ms ease;
}

.oh-team .oh-team-member__name-link:hover,
.oh-team .oh-team-member__name-link:focus {
	color: var(--ohsnj-teal-aa);
}

.oh-team-member__bio {
	margin: 0;
	color: var(--ohsnj-ink);
	font-size: 1.02rem;
	line-height: 1.7;
}

.oh-team-member__readmore {
	margin-top: 1.5rem;
	gap: 0.6rem;
}

.oh-button--teal {
	background: var(--ohsnj-teal-aa);
	border: 2px solid var(--ohsnj-teal-aa);
	color: #fff !important;
}

.oh-button--teal:hover,
.oh-button--teal:focus {
	background: var(--ohsnj-teal-dark, #004d47);
	border-color: var(--ohsnj-teal-dark, #004d47);
}

.oh-button--outline-teal {
	background: transparent;
	border: 2px solid var(--ohsnj-teal-aa);
	color: var(--ohsnj-teal-aa) !important;
}

.oh-button--outline-teal:hover,
.oh-button--outline-teal:focus {
	background: var(--ohsnj-teal-aa);
	color: #fff !important;
}

@media (max-width: 900px) {
	.oh-team-hero {
		display: flex;
		flex-direction: column;
		min-height: 0;
		height: auto;
		overflow: visible;
		color: var(--ohsnj-ink);
		background: #fff;
	}

	.oh-team-hero__media,
	.oh-team-hero__veil,
	.oh-team-hero__inner {
		grid-area: auto;
		position: relative;
		z-index: auto;
	}

	.oh-team-hero__media {
		order: 1;
		width: 100%;
		background: #e8eeed;
	}

	.oh-team-hero__media img {
		width: 100%;
		height: auto;
		object-fit: contain;
		object-position: center center;
	}

	.oh-team-hero__veil {
		display: none;
	}

	.oh-team-hero__inner {
		order: 2;
		align-items: stretch;
		justify-content: flex-start;
		gap: 0.75rem;
		width: 100%;
		max-width: none;
		margin: 0;
		padding: clamp(24px, 5vw, 36px) var(--oh-home-edge);
		text-align: left;
		background: var(--ohsnj-surface);
		border-bottom: 1px solid rgba(0, 95, 88, 0.1);
	}

	.oh-team-hero__title {
		color: var(--ohsnj-ink);
		text-shadow: none;
		font-size: clamp(1.85rem, 7vw, 2.4rem);
	}

	.oh-team-hero__lead {
		max-width: none;
		color: var(--ohsnj-ink);
		text-shadow: none;
	}

	.oh-team-hero .oh-home-actions {
		justify-content: flex-start;
		width: 100%;
	}

	.oh-team-hero .oh-button--light {
		background: var(--ohsnj-teal-aa) !important;
		color: #fff !important;
		border-color: var(--ohsnj-teal-aa);
	}

	.oh-team-hero .oh-button--light:hover,
	.oh-team-hero .oh-button--light:focus {
		background: #004943 !important;
		border-color: #004943;
		color: #fff !important;
	}

	.oh-team-hero .oh-button--outline-light {
		color: var(--ohsnj-teal-aa) !important;
		border-color: var(--ohsnj-teal-aa);
		background: #fff !important;
	}

	.oh-team-hero .oh-button--outline-light:hover,
	.oh-team-hero .oh-button--outline-light:focus {
		background: var(--ohsnj-teal-aa) !important;
		border-color: var(--ohsnj-teal-aa);
		color: #fff !important;
	}

	.oh-team-member__inner,
	.oh-team-member--reverse .oh-team-member__inner {
		grid-template-columns: 1fr;
		justify-items: center;
		text-align: center;
	}

	.oh-team-member--reverse .oh-team-member__media,
	.oh-team-member--reverse .oh-team-member__copy {
		order: unset;
	}

	.oh-team-member__media,
	.oh-team-member--reverse .oh-team-member__media {
		width: min(240px, 68vw);
		max-width: 240px;
		margin-inline: auto;
		justify-self: center;
	}

	.oh-team-member__copy {
		width: 100%;
		text-align: center;
	}

	.oh-team-member__bio {
		text-align: left;
		margin-inline: auto;
		max-width: 58ch;
	}

	.oh-team-member__role,
	.oh-team .oh-team-member__name {
		text-align: center;
	}
}

/* —— Survey (Gravity Forms) —— */
.oh-survey.oh-home {
	overflow: visible;
}

.oh-survey .oh-service-hero {
	overflow: visible;
}

.oh-survey .oh-service-hero__inner {
	padding-block: clamp(18px, 2.2vw, 28px);
	gap: 0;
}

/* Desktop floating logo — clear the survey title. */
@media (min-width: 1025px) {
	.oh-survey .oh-service-hero__inner {
		padding-top: clamp(72px, 6.5vw, 100px);
		padding-bottom: clamp(18px, 2.2vw, 28px);
	}
}

.oh-survey .oh-service-breadcrumb {
	margin-bottom: 0.45rem;
	font-size: 0.75rem;
}

.oh-survey .oh-service-hero__title {
	margin-bottom: 0.35rem;
	font-size: clamp(1.75rem, 2.8vw, 2.35rem);
	line-height: 1.1;
}

.oh-survey .oh-service-hero__lead {
	margin-bottom: 0;
	font-size: 1rem;
}

.oh-survey-form {
	padding: clamp(12px, 2vw, 20px) 0 clamp(48px, 6vw, 80px);
	background: #fff;
}

.oh-survey-form__shell {
	max-width: min(100%, 720px);
	display: flex;
	flex-direction: column;
	align-items: stretch;
}

.oh-survey .gform_wrapper {
	position: relative;
	z-index: 0;
	margin: 0 !important;
	max-width: 100%;
	overflow: visible;
}

/* GF theme pulls the body up with a negative margin — that hid title top space
   under the progress bar and made the question look flush to the card top. */
.oh-survey .gform_wrapper .gform_body,
.oh-survey .gform_wrapper .gform-body,
.oh-survey .gform_wrapper form {
	margin-top: 0 !important;
}

.oh-survey .gform_wrapper .gform_heading {
	display: none;
}

.oh-survey .gform_wrapper .gform_body,
.oh-survey .gform_wrapper .gform_fields,
.oh-survey .gform_wrapper .gform-body {
	max-width: 100%;
	min-width: 0;
}

.oh-survey .gform_wrapper .gfield,
.oh-survey .gform_wrapper fieldset.gfield {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	width: 100%;
	max-width: 100%;
	min-width: 0 !important;
	box-sizing: border-box;
	overflow: visible;
}

/* Equal space above title via real spacer (legends ignore padding/margin). */
.oh-survey .oh-survey-q-spacer {
	display: block !important;
	height: 1.75rem !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	pointer-events: none;
}

/* Card chrome on the field itself (fieldsets are demoted to divs in JS). */
.oh-survey .oh-survey-step-card,
.oh-survey .gform_wrapper .gfield.oh-survey-step-card,
.oh-survey-steps .gfield.oh-survey-step-card.oh-survey-steps__field--active {
	margin: 0 !important;
	padding: 0 1.35rem 1.5rem !important;
	background: #fff !important;
	border: 1px solid rgba(0, 95, 88, 0.14) !important;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	overflow: visible;
}

/* Question title — bottom gap matches spacer height above. */
.oh-survey .oh-survey-q-title,
.oh-survey .gform_wrapper .oh-survey-q-title,
.oh-survey .gform_wrapper .gfield .oh-survey-q-title {
	display: block !important;
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 0 1.75rem !important;
	padding: 0 !important;
	color: var(--ohsnj-ink) !important;
	font-size: clamp(1.05rem, 1.5vw, 1.2rem) !important;
	font-weight: 700 !important;
	letter-spacing: -0.015em;
	line-height: 1.45 !important;
	white-space: normal !important;
	overflow: visible !important;
	overflow-wrap: break-word;
	word-break: break-word;
	position: static !important;
	box-sizing: border-box;
}

.oh-survey .oh-survey-sr-only {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* Never style raw legends as the visible title — they ignore spacing. */
.oh-survey .gform_wrapper legend.gfield_label,
.oh-survey .gform_wrapper legend {
	display: none !important;
}

.oh-survey .gform_wrapper .gfield_label:not(.oh-survey-q-title),
.oh-survey .gform_wrapper .gfield_label_before_complex:not(.oh-survey-q-title) {
	display: block;
	float: none;
	width: 100%;
	max-width: 100%;
	margin: 0 0 1.35rem;
	padding: 0;
	color: var(--ohsnj-ink);
	font-size: clamp(1.05rem, 1.5vw, 1.2rem);
	font-weight: 700;
	letter-spacing: -0.015em;
	line-height: 1.45;
	white-space: normal;
	overflow-wrap: break-word;
	word-break: break-word;
	box-sizing: border-box;
	position: static;
}

.oh-survey .gform_wrapper .gfield_required {
	color: var(--ohsnj-teal-aa);
}

.oh-survey .gform_wrapper .gfield_radio,
.oh-survey .gform_wrapper .gfield_checkbox,
.oh-survey .gform_wrapper .gfield_multi_choice,
.oh-survey .gform_wrapper .ginput_container {
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
	margin: 0;
	padding: 0;
	list-style: none;
	max-width: 100%;
	min-width: 0;
}

.oh-survey .gform_wrapper .gchoice,
.oh-survey .gform_wrapper .gfield_radio .gchoice,
.oh-survey .gform_wrapper .gfield_checkbox .gchoice {
	position: relative;
	display: block;
	margin: 0;
	padding: 0;
	background: #fff;
	border: 1px solid rgba(0, 95, 88, 0.12);
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
	cursor: pointer;
	transition: border-color 160ms ease, background-color 160ms ease;
}

.oh-survey .gform_wrapper .gchoice:hover,
.oh-survey .gform_wrapper .gchoice:focus-within {
	border-color: var(--ohsnj-teal-aa);
}

.oh-survey .gform_wrapper .gchoice:has(input:checked) {
	border-color: var(--ohsnj-teal-aa);
	background: rgba(0, 95, 88, 0.06);
}

.oh-survey .gform_wrapper .gchoice input[type="radio"],
.oh-survey .gform_wrapper .gchoice input[type="checkbox"] {
	position: absolute;
	left: 0.85rem;
	top: 50%;
	z-index: 2;
	margin: 0;
	transform: translateY(-50%);
	accent-color: var(--ohsnj-teal-aa);
	cursor: pointer;
}

.oh-survey .gform_wrapper .gchoice label,
.oh-survey .gform_wrapper .gchoice .gform-field-label {
	display: block;
	width: 100%;
	min-width: 0;
	margin: 0;
	padding: 0.75rem 0.9rem 0.75rem 2.55rem;
	box-sizing: border-box;
	color: var(--ohsnj-ink);
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.45;
	cursor: pointer;
	overflow-wrap: anywhere;
	word-break: break-word;
}

/* GF “Other” choice: radio + free-text — keep text field in normal flow. */
.oh-survey .gform_wrapper .gchoice:has(.gchoice_other_control) {
	padding-bottom: 0.75rem;
}

.oh-survey .gform_wrapper .gchoice:has(.gchoice_other_control) input[type="radio"] {
	top: 1.15rem;
	transform: none;
}

.oh-survey .gform_wrapper .gchoice br {
	display: none;
}

.oh-survey .gform_wrapper .gchoice .gchoice_other_control,
.oh-survey .gform_wrapper .gchoice input.gchoice_other_control {
	position: static !important;
	left: auto !important;
	top: auto !important;
	transform: none !important;
	display: block;
	width: calc(100% - 3.45rem);
	max-width: 100%;
	margin: 0.15rem 0.9rem 0 2.55rem;
	padding: 0.65rem 0.85rem;
	box-sizing: border-box;
	cursor: text;
}

.oh-survey .gform_wrapper input[type="text"],
.oh-survey .gform_wrapper input[type="email"],
.oh-survey .gform_wrapper input[type="tel"],
.oh-survey .gform_wrapper input[type="number"],
.oh-survey .gform_wrapper textarea,
.oh-survey .gform_wrapper select {
	width: 100%;
	max-width: 100%;
	padding: 0.85rem 1rem;
	border: 1px solid rgba(0, 95, 88, 0.2);
	border-radius: 2px;
	background: #fff;
	color: var(--ohsnj-ink);
	font-size: 1rem;
	line-height: 1.45;
	box-sizing: border-box;
}

.oh-survey .gform_wrapper input[type="text"]:focus,
.oh-survey .gform_wrapper input[type="email"]:focus,
.oh-survey .gform_wrapper input[type="tel"]:focus,
.oh-survey .gform_wrapper input[type="number"]:focus,
.oh-survey .gform_wrapper textarea:focus,
.oh-survey .gform_wrapper select:focus {
	outline: 2px solid rgba(0, 95, 88, 0.35);
	outline-offset: 1px;
	border-color: var(--ohsnj-teal-aa);
}

.oh-survey .gform_wrapper textarea {
	min-height: 140px;
	resize: vertical;
}

.oh-survey .gform_wrapper .gform_footer,
.oh-survey .gform_wrapper .gform_page_footer {
	margin-top: 0.5rem;
	padding: 0;
}

.oh-survey .gform_wrapper .gform_footer input.button,
.oh-survey .gform_wrapper .gform_footer input[type="submit"],
.oh-survey .gform_wrapper .gform-footer input.button,
.oh-survey .gform_wrapper .gform-footer input[type="submit"],
.oh-survey #gform_submit_button_2 {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	padding: 0.82rem 1.75rem;
	border: 2px solid var(--ohsnj-teal-aa) !important;
	border-radius: 2px;
	background: var(--ohsnj-teal-aa) !important;
	color: #fff !important;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.2;
	cursor: pointer;
	transition: background-color 180ms ease, border-color 180ms ease;
}

.oh-survey .gform_wrapper .gform_footer input.button:hover,
.oh-survey .gform_wrapper .gform_footer input[type="submit"]:hover,
.oh-survey .gform_wrapper .gform-footer input.button:hover,
.oh-survey .gform_wrapper .gform-footer input[type="submit"]:hover,
.oh-survey #gform_submit_button_2:hover,
.oh-survey .gform_wrapper .gform_footer input.button:focus,
.oh-survey .gform_wrapper .gform_footer input[type="submit"]:focus,
.oh-survey .gform_wrapper .gform-footer input.button:focus,
.oh-survey .gform_wrapper .gform-footer input[type="submit"]:focus,
.oh-survey #gform_submit_button_2:focus {
	background: #004840 !important;
	border-color: #004840 !important;
	color: #fff !important;
}

.oh-survey .gform_confirmation_message,
.oh-survey .gform_wrapper .validation_error,
.oh-survey .gform_wrapper .gform_submission_error {
	padding: 1.25rem 1.5rem;
	border: 1px solid rgba(0, 95, 88, 0.15);
	background: var(--ohsnj-surface);
	color: var(--ohsnj-ink);
	font-size: 1.05rem;
	line-height: 1.55;
	overflow-wrap: anywhere;
}

.oh-survey .gform_wrapper .validation_error,
.oh-survey .gform_wrapper .gform_submission_error {
	border-color: #b42318;
	background: #fff5f5;
	color: #8a1c14;
	margin-bottom: 1.5rem;
}

.oh-survey .gform_wrapper .gfield_validation_message,
.oh-survey .gform_wrapper .validation_message {
	color: #8a1c14;
	font-size: 0.92rem;
}

/* Stepped survey UI */
.oh-survey-steps .gfield {
	display: none !important;
	margin-bottom: 0 !important;
}

/* Never use flex/grid on fieldset — it clips <legend> in browsers. */
.oh-survey-steps .gfield.oh-survey-steps__field--active {
	display: block !important;
}

.oh-survey-steps__progress {
	position: relative;
	z-index: 5;
	flex: 0 0 auto;
	display: grid;
	gap: 0.45rem;
	order: -1;
	margin: 0 0 1.35rem;
	padding: 0 0 0.9rem;
	border-bottom: 1px solid rgba(0, 95, 88, 0.1);
	background: #fff;
	isolation: isolate;
}

.oh-survey-steps__bar {
	height: 6px;
	overflow: hidden;
	background: rgba(0, 95, 88, 0.12);
	border-radius: 999px;
}

.oh-survey-steps__bar-fill {
	display: block;
	height: 100%;
	width: 0;
	background: var(--ohsnj-teal-aa);
	border-radius: inherit;
	transition: width 220ms ease;
}

.oh-survey-steps__count {
	position: relative;
	z-index: 1;
	margin: 0;
	padding: 0.15rem 0 0;
	color: var(--ohsnj-muted);
	font-size: 0.92rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	line-height: 1.45;
	background: #fff;
}

.oh-survey-steps__nav {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	align-items: center;
	margin: 1.5rem 0 0;
	padding-top: 0.25rem;
}

.oh-survey-steps__prev:disabled,
.oh-survey-steps__prev[aria-disabled="true"] {
	opacity: 0.45;
	cursor: not-allowed;
}

.oh-survey .oh-survey-steps .oh-button--light {
	background: var(--ohsnj-teal-aa) !important;
	color: #fff !important;
	border-color: var(--ohsnj-teal-aa) !important;
}

.oh-survey .oh-survey-steps .oh-button--outline-light {
	background: #fff !important;
	color: var(--ohsnj-teal-aa) !important;
	border-color: var(--ohsnj-teal-aa) !important;
}

.oh-survey-steps .gform_footer {
	display: none !important;
}

.oh-survey-steps .gform_footer:not(.oh-survey-steps__footer--ready) {
	margin-top: 0;
}

.oh-survey-steps .gform_footer:not(.oh-survey-steps__footer--ready) input[type="submit"],
.oh-survey-steps .gform_footer:not(.oh-survey-steps__footer--ready) input.button {
	display: none !important;
}

.oh-survey-steps .gform_footer.oh-survey-steps__footer--ready {
	margin-top: 1rem;
}

.oh-survey-steps .gform_footer.oh-survey-steps__footer--ready input[type="submit"],
.oh-survey-steps .gform_footer.oh-survey-steps__footer--ready input.button,
.oh-survey-steps .gform_footer.oh-survey-steps__footer--ready #gform_submit_button_2 {
	display: none !important;
}

@media (max-width: 640px) {
	.oh-survey .gform_wrapper .gform_footer input.button,
	.oh-survey .gform_wrapper .gform_footer input[type="submit"],
	.oh-survey #gform_submit_button_2,
	.oh-survey-steps__nav .oh-button {
		width: 100%;
	}

	.oh-survey-steps__nav {
		flex-direction: column-reverse;
	}
}

/* —— Reach Us (contact + Gravity Forms ID 1) —— */
.oh-reach-hero .oh-service-hero__inner.oh-reach-hero__inner {
	align-items: start;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
	gap: clamp(1.75rem, 4vw, 3.5rem);
	padding-block: clamp(36px, 4vw, 56px);
}

/* Desktop floating logo — clear the intro chip / title. */
@media (min-width: 1025px) {
	.oh-reach-hero .oh-service-hero__inner.oh-reach-hero__inner {
		padding-top: clamp(72px, 6.5vw, 100px);
		padding-bottom: clamp(36px, 4vw, 56px);
	}
}

.oh-reach-hero .oh-service-hero__title {
	max-width: 16ch;
}

.oh-reach-hero .oh-service-hero__lead {
	max-width: 42ch;
	margin-bottom: 1.5rem;
}

.oh-reach-hero__form {
	min-width: 0;
	padding: clamp(1.15rem, 2.2vw, 1.5rem);
	background: #fff;
	border: 1px solid var(--ohsnj-line);
	box-sizing: border-box;
	overflow: visible;
}

.oh-reach-hero__form-title {
	margin: 0 0 1rem;
}

.oh-reach-hero__facts {
	margin-top: 1.5rem;
	max-width: 36ch;
}

.oh-reach .oh-service-fact__number a {
	color: inherit !important;
	text-decoration: none !important;
}

.oh-reach .oh-service-fact__number a:hover,
.oh-reach .oh-service-fact__number a:focus {
	color: var(--ohsnj-teal-aa) !important;
	text-decoration: underline !important;
}

.oh-reach-forms {
	background: var(--ohsnj-surface);
}

.oh-reach-forms .oh-service-resource__link {
	background: #fff;
}

.oh-reach-forms .oh-service-resource__link:hover,
.oh-reach-forms .oh-service-resource__link:focus {
	background: var(--ohsnj-teal-aa);
	color: #fff !important;
}

.oh-reach-faq {
	padding-block: clamp(48px, 6vw, 80px);
	background: #fff;
}

.oh-reach-faq__head {
	display: block;
	margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
}

.oh-reach-faq__head h2 {
	max-width: none;
	margin-bottom: 0;
	font-size: clamp(1.85rem, 3vw, 2.6rem);
	line-height: 1.1;
}

.oh-reach-faq__list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1px;
	margin: 0;
	padding: 0;
	background: var(--ohsnj-line);
	border: 1px solid var(--ohsnj-line);
}

.oh-reach-faq__item {
	display: flex;
	flex-direction: column;
	gap: 0.7rem;
	padding: clamp(1.25rem, 2.2vw, 1.75rem);
	background: var(--ohsnj-surface);
}

.oh-reach-faq__item dt {
	margin: 0;
	color: var(--ohsnj-ink);
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.3;
}

.oh-reach-faq__item dd {
	margin: 0;
	color: var(--ohsnj-muted);
	font-size: 0.98rem;
	line-height: 1.6;
}

@media (max-width: 720px) {
	.oh-reach-faq__list {
		grid-template-columns: 1fr;
	}
}

.oh-reach .gform_wrapper,
.oh-reach .gform_wrapper form,
.oh-reach .gform_wrapper .gform_body,
.oh-reach .gform_wrapper .gform-body,
.oh-reach .gform_wrapper .gform_fields {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	box-sizing: border-box;
}

.oh-reach .gform_wrapper .gform_heading {
	display: none;
}

.oh-reach .gform_wrapper ul.gform_fields {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 1rem 0.75rem;
	list-style: none !important;
}

.oh-reach .gform_wrapper .gfield,
.oh-reach .gform_wrapper li.gfield,
.oh-reach .gform_wrapper .gf_left_half,
.oh-reach .gform_wrapper .gf_right_half,
.oh-reach .gform_wrapper .gf_left_third,
.oh-reach .gform_wrapper .gf_middle_third,
.oh-reach .gform_wrapper .gf_right_third {
	float: none !important;
	clear: none !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	box-sizing: border-box;
}

.oh-reach .gform_wrapper .gfield--type-name,
.oh-reach .gform_wrapper .gfield--type-select,
.oh-reach .gform_wrapper .gfield--type-radio,
.oh-reach .gform_wrapper .gfield--type-textarea,
.oh-reach .gform_wrapper .gfield--type-captcha,
.oh-reach .gform_wrapper .gform_footer,
.oh-reach .gform_wrapper .gform-footer {
	grid-column: 1 / -1;
}

.oh-reach .gform_wrapper .gfield_label,
.oh-reach .gform_wrapper legend.gfield_label,
.oh-reach .gform_wrapper .gform-field-label {
	display: block;
	margin-bottom: 0.45rem;
	color: var(--ohsnj-ink);
	font-size: 0.92rem;
	font-weight: 600;
}

.oh-reach .gform_wrapper .gfield_required {
	color: var(--ohsnj-teal-aa);
}

.oh-reach .gform_wrapper .ginput_complex,
.oh-reach .gform_wrapper .gform-grid-row,
.oh-reach .gform_wrapper .ginput_container_name {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 0.75rem;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	box-sizing: border-box;
}

.oh-reach .gform_wrapper .ginput_container:not(.ginput_complex):not(.ginput_container_name):not(.ginput_container_radio) {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	box-sizing: border-box;
}

.oh-reach .gform_wrapper .ginput_complex span,
.oh-reach .gform_wrapper .gform-grid-col,
.oh-reach .gform_wrapper .name_first,
.oh-reach .gform_wrapper .name_last {
	display: block !important;
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	box-sizing: border-box;
}

.oh-reach .gform_wrapper .name_prefix,
.oh-reach .gform_wrapper .name_middle,
.oh-reach .gform_wrapper .name_suffix,
.oh-reach .gform_wrapper .gform-field-label--type-sub,
.oh-reach .gform_wrapper .ginput_complex label {
	display: none !important;
}

.oh-reach .gform_wrapper input[type="text"],
.oh-reach .gform_wrapper input[type="email"],
.oh-reach .gform_wrapper input[type="tel"],
.oh-reach .gform_wrapper input[type="number"],
.oh-reach .gform_wrapper textarea {
	display: block;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0.85rem 1rem !important;
	border: 1px solid rgba(0, 95, 88, 0.2) !important;
	border-radius: 2px !important;
	background: #fff !important;
	color: var(--ohsnj-ink) !important;
	font-size: 1rem !important;
	line-height: 1.45 !important;
	box-sizing: border-box !important;
}

.oh-reach .gform_wrapper select {
	display: block;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0.85rem 2.75rem 0.85rem 1rem !important;
	border: 1px solid rgba(0, 95, 88, 0.2) !important;
	border-radius: 2px !important;
	background-color: #fff !important;
	color: var(--ohsnj-ink) !important;
	font-size: 1rem !important;
	line-height: 1.45 !important;
	box-sizing: border-box !important;
	appearance: none;
	-webkit-appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23005F58' d='M1.4 0.6L6 5.2 10.6 0.6 12 2 6 8 0 2z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 1rem center;
	background-size: 12px 8px;
}

.oh-reach .gform_wrapper input[type="text"]:focus,
.oh-reach .gform_wrapper input[type="email"]:focus,
.oh-reach .gform_wrapper input[type="tel"]:focus,
.oh-reach .gform_wrapper input[type="number"]:focus,
.oh-reach .gform_wrapper textarea:focus,
.oh-reach .gform_wrapper select:focus {
	outline: 2px solid rgba(0, 95, 88, 0.35);
	outline-offset: 1px;
	border-color: var(--ohsnj-teal-aa) !important;
}

.oh-reach .gform_wrapper textarea {
	min-height: 140px;
	resize: vertical;
}

.oh-reach .gform_wrapper .ginput_container_radio,
.oh-reach .gform_wrapper ul.gfield_radio {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.55rem 1.35rem;
	width: 100% !important;
	margin: 0.15rem 0 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.oh-reach .gform_wrapper .gfield_radio .gchoice {
	display: inline-flex !important;
	align-items: center;
	gap: 0.45rem;
	float: none !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

.oh-reach .gform_wrapper .gfield_radio .gchoice input[type="radio"] {
	appearance: none;
	-webkit-appearance: none;
	width: 1.15rem !important;
	height: 1.15rem !important;
	min-width: 1.15rem;
	margin: 0 !important;
	padding: 0 !important;
	border: 2px solid rgba(0, 95, 88, 0.35) !important;
	border-radius: 50% !important;
	background: #fff !important;
	flex-shrink: 0;
	cursor: pointer;
	box-shadow: none !important;
	outline: none !important;
}

.oh-reach .gform_wrapper .gfield_radio .gchoice input[type="radio"]:checked {
	border-color: var(--ohsnj-teal-aa) !important;
	background:
		radial-gradient(circle at center, var(--ohsnj-teal-aa) 0 0.28rem, #fff 0.32rem 100%) !important;
}

.oh-reach .gform_wrapper .gfield_radio .gchoice input[type="radio"]:focus,
.oh-reach .gform_wrapper .gfield_radio .gchoice input[type="radio"]:focus-visible,
.oh-reach .gform_wrapper .gfield_radio .gchoice input[type="radio"]:active {
	outline: none !important;
	box-shadow: none !important;
}

.oh-reach .gform_wrapper .gfield_radio .gchoice label,
.oh-reach .gform_wrapper .gfield_radio .gchoice .gform-field-label {
	display: inline !important;
	margin: 0 !important;
	padding: 0 !important;
	color: var(--ohsnj-ink) !important;
	font-size: 0.98rem !important;
	font-weight: 500 !important;
	line-height: 1.3 !important;
	cursor: pointer;
}

.oh-reach .gform_wrapper .gform_footer,
.oh-reach .gform_wrapper .gform-footer {
	margin: 1.25rem 0 0 !important;
	padding: 0 !important;
}

.oh-reach .gform_wrapper .gform_footer input.button,
.oh-reach .gform_wrapper .gform_footer input[type="submit"],
.oh-reach .gform_wrapper .gform-footer input.button,
.oh-reach .gform_wrapper .gform-footer input[type="submit"],
.oh-reach #gform_submit_button_1 {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	width: auto !important;
	padding: 0.75rem 1.5rem !important;
	border: 2px solid var(--ohsnj-teal-aa) !important;
	border-radius: var(--ohsnj-radius) !important;
	background: var(--ohsnj-teal-aa) !important;
	color: #fff !important;
	font-size: 1rem !important;
	font-weight: 600 !important;
	cursor: pointer;
	box-shadow: none !important;
}

.oh-reach .gform_wrapper .gform_footer input.button:hover,
.oh-reach .gform_wrapper .gform_footer input[type="submit"]:hover,
.oh-reach .gform_wrapper .gform-footer input.button:hover,
.oh-reach .gform_wrapper .gform-footer input[type="submit"]:hover,
.oh-reach #gform_submit_button_1:hover,
.oh-reach .gform_wrapper .gform_footer input.button:focus,
.oh-reach .gform_wrapper .gform_footer input[type="submit"]:focus,
.oh-reach #gform_submit_button_1:focus {
	background: var(--ohsnj-teal-dark) !important;
	border-color: var(--ohsnj-teal-dark) !important;
}

.oh-reach .gform_ajax_spinner,
.oh-reach img.gform_ajax_spinner {
	display: inline-block !important;
	width: 24px !important;
	height: 24px !important;
	margin-left: 0.75rem !important;
	vertical-align: middle !important;
	visibility: visible !important;
	opacity: 1 !important;
}

.oh-reach #gform_submit_button_1.oh-form-submitting,
.oh-reach .gform_wrapper .gform_footer input.oh-form-submitting {
	opacity: 0.85 !important;
	cursor: wait !important;
}

.oh-reach .gform_confirmation_message,
.oh-reach .gform_wrapper .validation_error,
.oh-reach .gform_wrapper .gform_submission_error {
	margin: 0 0 1rem;
	padding: 0.9rem 1rem;
	border: 1px solid var(--ohsnj-line);
	background: var(--ohsnj-surface);
	color: var(--ohsnj-ink);
}

.oh-reach .gform_wrapper .validation_error,
.oh-reach .gform_wrapper .gform_submission_error {
	border-color: rgba(160, 40, 40, 0.25);
	background: #fff6f6;
}

.oh-reach .gform_wrapper .gfield_validation_message,
.oh-reach .gform_wrapper .validation_message {
	color: #8a1f1f;
	font-size: 0.9rem;
}

@media (max-width: 900px) {
	.oh-reach-hero .oh-service-hero__inner.oh-reach-hero__inner {
		grid-template-columns: 1fr;
	}

}

@media (max-width: 640px) {
	.oh-reach .gform_wrapper ul.gform_fields,
	.oh-reach .gform_wrapper .ginput_complex,
	.oh-reach .gform_wrapper .ginput_container_name,
	.oh-reach .gform_wrapper .gform-grid-row {
		grid-template-columns: minmax(0, 1fr);
	}

	.oh-reach .gform_wrapper .gform_footer input.button,
	.oh-reach .gform_wrapper .gform_footer input[type="submit"],
	.oh-reach #gform_submit_button_1 {
		width: 100% !important;
	}
}

/* ====================================================================
   Provider / Doctor individual pages
   ==================================================================== */

.oh-provider {
	--oh-provider-section-y: clamp(36px, 4.5vw, 56px);
	--oh-provider-title: clamp(1.65rem, 2.4vw, 2.15rem);
	--oh-provider-lead: 1.05rem;
	--oh-provider-body: 1.02rem;
	--oh-provider-small: 0.875rem;
	--oh-provider-card-y: 1.25rem;
	--oh-provider-card-x: 1.35rem;
}

/* ── Shared section head ─────────────────────────────────────────── */
.oh-provider-section-head {
	margin-bottom: clamp(1.35rem, 2.5vw, 1.75rem);
}

.oh-provider-section-head .oh-home-eyebrow {
	margin-bottom: 0.65rem;
}

.oh-provider .oh-provider-section-head h2 {
	margin: 0;
	font-size: var(--oh-provider-title);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -0.02em;
	color: var(--ohsnj-ink);
}

/* ── Hero ───────────────────────────────────────────────────────── */
.oh-provider-hero {
	background:
		radial-gradient(85% 120% at 92% 0%, rgba(0, 184, 170, 0.12) 0%, rgba(0, 184, 170, 0) 62%),
		linear-gradient(180deg, var(--ohsnj-surface) 0%, #ffffff 100%);
}

.oh-provider-hero__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(260px, 0.75fr);
	align-items: center;
	gap: clamp(2rem, 4vw, 3.5rem);
	padding-block: clamp(40px, 4.5vw, 64px);
}

.oh-provider-breadcrumb {
	margin-bottom: 1.25rem;
	font-size: var(--oh-provider-small);
}

.oh-provider-breadcrumb a {
	color: var(--ohsnj-teal-aa) !important;
}

.oh-provider-hero .oh-service-hero__eyebrow {
	margin-bottom: 0.85rem;
	font-size: 0.75rem;
}

.oh-provider-hero .oh-service-hero__title {
	max-width: none;
	margin-bottom: 1rem;
	font-size: clamp(2rem, 3.2vw, 2.75rem);
	line-height: 1.08;
	white-space: nowrap;
}

.oh-provider-hero .oh-service-hero__lead {
	max-width: 48ch;
	margin-bottom: 1.5rem;
	font-size: var(--oh-provider-lead);
	line-height: 1.65;
	color: var(--ohsnj-muted);
}

.oh-provider-hero__photo {
	display: flex;
	justify-content: center;
}

.oh-provider-hero__photo-wrap {
	width: min(280px, 100%);
	border-radius: 4px;
	overflow: hidden;
	border: 1px solid var(--ohsnj-line);
	box-shadow: 0 6px 28px rgba(0, 95, 88, 0.1);
}

.oh-provider-hero__photo-wrap img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
}

/* ── Quick facts ─────────────────────────────────────────────────── */
.oh-provider-facts {
	padding-block: 0 clamp(28px, 3.5vw, 40px);
	background: #fff;
	border-bottom: 0;
}

.oh-provider-facts__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1px;
	background: var(--ohsnj-line);
	border: 1px solid var(--ohsnj-line);
}

.oh-provider-fact {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	padding: 1.15rem 1.25rem;
	background: #fff;
}

.oh-provider-fact__value {
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.2;
	color: var(--ohsnj-teal-aa);
}

.oh-provider-fact__label {
	font-size: var(--oh-provider-small);
	line-height: 1.45;
	color: var(--ohsnj-muted);
}

/* ── Bio ─────────────────────────────────────────────────────────── */
.oh-provider-bio {
	padding-block: var(--oh-provider-section-y);
	background: #fff;
}

.oh-provider-facts + .oh-provider-bio {
	background: #fff;
}

.oh-provider-bio__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.65fr) minmax(260px, 0.35fr);
	gap: clamp(2rem, 4vw, 3.5rem);
	align-items: start;
}

.oh-provider-bio__copy p {
	margin-bottom: 1rem;
	color: var(--ohsnj-muted);
	font-size: var(--oh-provider-body);
	line-height: 1.75;
}

.oh-provider-bio__copy p:last-child {
	margin-bottom: 0;
}

.oh-provider-card {
	padding: var(--oh-provider-card-y) var(--oh-provider-card-x);
	background: var(--ohsnj-surface);
	border: 1px solid var(--ohsnj-line);
	margin-bottom: 0.85rem;
}

.oh-provider-card:last-child {
	margin-bottom: 0;
}

.oh-provider-card h3 {
	margin: 0 0 0.65rem;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--ohsnj-teal-aa);
}

.oh-provider-card ul {
	margin: 0;
	padding: 0 0 0 1rem;
}

.oh-provider-card ul li {
	margin-bottom: 0.35rem;
	color: var(--ohsnj-ink);
	font-size: var(--oh-provider-body);
	line-height: 1.5;
}

.oh-provider-card p {
	margin: 0 0 0.85rem;
	color: var(--ohsnj-muted);
	font-size: var(--oh-provider-body);
	line-height: 1.55;
}

.oh-provider-card .oh-button {
	display: flex;
	width: 100%;
}

.oh-provider-card .oh-button--light {
	border-color: var(--ohsnj-teal-aa);
}

.oh-provider-card .oh-button--light:hover,
.oh-provider-card .oh-button--light:focus {
	background: var(--ohsnj-teal-aa);
	border-color: var(--ohsnj-teal-aa);
	color: #fff !important;
}

.oh-button--sm {
	padding: 0.55rem 1rem;
	font-size: var(--oh-provider-small);
}

/* ── Credentials (2 columns) ─────────────────────────────────────── */
.oh-provider-credentials {
	padding-block: var(--oh-provider-section-y);
	background: linear-gradient(
		180deg,
		#ffffff 0%,
		var(--ohsnj-surface) 22%,
		var(--ohsnj-surface) 100%
	);
}

.oh-provider-credentials__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(2rem, 4vw, 3rem);
	align-items: start;
}

.oh-provider-credentials__col {
	min-width: 0;
}

.oh-provider-edu-list,
.oh-provider-cert-list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.75rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.oh-provider-edu-item,
.oh-provider-cert-item,
.oh-provider-hospital-card,
.oh-provider-review {
	background: #fff;
	border: 1px solid var(--ohsnj-line);
}

.oh-provider-edu-item,
.oh-provider-cert-item {
	padding: var(--oh-provider-card-y) var(--oh-provider-card-x);
}

.oh-provider-cert-item {
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
}

.oh-provider-edu-item__year {
	margin: 0 0 0.35rem;
	color: var(--ohsnj-teal-aa);
	font-size: var(--oh-provider-small);
	font-weight: 700;
	letter-spacing: 0.03em;
}

.oh-provider .oh-provider-edu-item h3.oh-provider-edu-item__title {
	margin: 0 0 0.35rem;
	color: var(--ohsnj-ink);
	font-size: var(--oh-provider-small);
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: normal;
}

.oh-provider-edu-item__meta,
.oh-provider-cert-item span,
.oh-provider-hospital-card > span:not(.oh-provider-hospital-card__badge) {
	margin: 0;
	color: var(--ohsnj-muted);
	font-size: var(--oh-provider-small);
	line-height: 1.55;
}

.oh-provider-cert-item strong,
.oh-provider-hospital-card strong {
	color: var(--ohsnj-ink);
	font-weight: 700;
	font-size: 1.0625rem;
	line-height: 1.35;
}

/* ── Education (timeline) ───────────────────────────────────────── */
.oh-provider-edu-list {
	display: flex;
	flex-direction: column;
	gap: 1.05rem;
	position: relative;
	padding-left: 0; /* timeline line + dots are aligned against item padding */
}

.oh-provider-edu-list::before {
	content: "";
	position: absolute;
	left: 0.45rem;
	top: 0;
	bottom: 0;
	width: 2px;
	background: rgba(0, 95, 88, 0.18);
	z-index: 0;
}

.oh-provider-edu-item {
	position: relative;
	z-index: 1;
	background: transparent; /* override card look */
	border: 0;
	padding: 0 0 1.05rem 2.25rem; /* indent content to the right of dot/line */
}

.oh-provider-edu-item:last-child {
	padding-bottom: 0;
}

.oh-provider-edu-item::before {
	content: "";
	position: absolute;
	left: 0.17rem; /* align dot with timeline line (pixel nudge) */
	top: 0.46rem;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: rgba(0, 95, 88, 0.95);
	box-shadow: 0 0 0 3px rgba(0, 95, 88, 0.10);
}

.oh-provider-edu-item__meta {
	line-height: 1.45; /* slightly tighter than general provider meta */
}

/* ── Hospital affiliations ───────────────────────────────────────── */
.oh-provider-hospitals {
	padding-block: var(--oh-provider-section-y);
	background: linear-gradient(
		180deg,
		var(--ohsnj-surface) 0%,
		#ffffff 22%,
		#ffffff 100%
	);
}

.oh-provider-hospital-list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.oh-provider-hospital-card {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	padding: var(--oh-provider-card-y) var(--oh-provider-card-x);
	min-height: 100%;
}

.oh-provider-hospital-card__badge {
	margin: 0.15rem 0 0;
	padding: 0;
	background: none;
	border: 0;
	color: var(--ohsnj-muted);
	font-size: 0.8125rem;
	font-weight: 500;
	line-height: 1.45;
	letter-spacing: normal;
}

.oh-provider-hospital-card--featured {
	border-color: rgba(0, 95, 88, 0.22);
}

/* ── Recognition / awards ────────────────────────────────────────── */
.oh-provider-recognition {
	padding-block: var(--oh-provider-section-y);
	background: linear-gradient(
		180deg,
		#ffffff 0%,
		var(--ohsnj-surface) 22%,
		var(--ohsnj-surface) 100%
	);
}

.oh-provider-recognition .oh-provider-hospital-list {
	grid-template-columns: minmax(0, 1fr);
	max-width: 42rem;
}

/* ── Focus areas ─────────────────────────────────────────────────── */
.oh-provider-focus {
	padding-block: var(--oh-provider-section-y);
	background: linear-gradient(
		180deg,
		#ffffff 0%,
		var(--ohsnj-surface) 22%,
		var(--ohsnj-surface) 100%
	);
}

.oh-provider-hospitals + .oh-provider-focus {
	background: linear-gradient(
		180deg,
		#ffffff 0%,
		var(--ohsnj-surface) 22%,
		var(--ohsnj-surface) 100%
	);
}

.oh-provider-recognition + .oh-provider-focus {
	background: var(--ohsnj-surface);
}

.oh-provider-focus-list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.75rem;
}

.oh-provider-focus-list li {
	padding: 0.85rem 1rem;
	background: #fff;
	border: 1px solid var(--ohsnj-line);
	color: var(--ohsnj-ink);
	font-size: var(--oh-provider-body);
	line-height: 1.45;
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
}

.oh-provider-focus-list li::before {
	content: none;
}

.oh-provider-focus-list__icon {
	color: var(--ohsnj-teal-aa);
	flex: 0 0 auto;
	margin-top: 0.14rem;
}

.oh-provider-focus-list__icon svg {
	display: block;
	width: 18px;
	height: 18px;
}

.oh-provider-focus-list__text {
	display: block;
}

/* ── Patient reviews ───────────────────────────────────────────────── */
.oh-provider-reviews {
	padding-block: var(--oh-provider-section-y);
	background: linear-gradient(
		180deg,
		var(--ohsnj-surface) 0%,
		#ffffff 22%,
		#ffffff 100%
	);
}

.oh-provider-reviews__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
	align-items: stretch;
}

.oh-provider-review {
	margin: 0;
	padding: var(--oh-provider-card-y) var(--oh-provider-card-x);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 100%;
}

.oh-provider-review p {
	margin: 0 0 1rem;
	color: var(--ohsnj-ink);
	font-size: var(--oh-provider-body);
	line-height: 1.7;
}

.oh-provider-review cite {
	display: block;
	color: var(--ohsnj-muted);
	font-size: var(--oh-provider-small);
	font-style: normal;
	font-weight: 600;
	line-height: 1.45;
}

/* ── Legacy cert list fallback ───────────────────────────────────── */
.oh-provider-certs {
	padding-block: var(--oh-provider-section-y);
	background: #fff;
}

.oh-provider-certs__inner {
	max-width: 760px;
}

.oh-provider-cert-list li:not(.oh-provider-cert-item) {
	display: flex;
	gap: 1rem;
	align-items: baseline;
	padding-block: 1rem;
	border-bottom: 1px solid var(--ohsnj-line);
	font-size: var(--oh-provider-body);
}

.oh-provider-cert-list li:not(.oh-provider-cert-item):last-child {
	border-bottom: 0;
}

.oh-provider-cert-list li:not(.oh-provider-cert-item) strong {
	flex-shrink: 0;
	min-width: 180px;
	color: var(--ohsnj-ink);
	font-weight: 700;
}

.oh-provider-cert-list li:not(.oh-provider-cert-item) span {
	color: var(--ohsnj-muted);
	font-size: var(--oh-provider-small);
}

/* ── Responsive ──────────────────────────────────────────────────── */
@media (max-width: 980px) {
	.oh-provider-hospital-list,
	.oh-provider-focus-list,
	.oh-provider-reviews__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 900px) {
	.oh-provider-hero__inner,
	.oh-provider-bio__inner,
	.oh-provider-credentials__grid {
		grid-template-columns: 1fr;
	}

	.oh-provider-hero__photo {
		order: -1;
	}

	.oh-provider-hero__photo-wrap {
		width: min(240px, 100%);
	}

	.oh-provider-hero .oh-service-hero__title {
		white-space: normal;
	}
}

@media (max-width: 720px) {
	.oh-provider-facts__grid,
	.oh-provider-hospital-list,
	.oh-provider-focus-list,
	.oh-provider-reviews__grid {
		grid-template-columns: 1fr;
	}
}

/* ── Homepage expansions (mission, history, team, trust, tech, FAQ) ─ */
.oh-home-section-head--stack {
	display: grid;
	gap: 0.85rem;
	margin-bottom: clamp(2.5rem, 4vw, 3.75rem);
}

.oh-home-section-head--stack h2 {
	max-width: 22ch;
	margin-bottom: 0;
}

.oh-home-section-head--stack > p {
	max-width: 58ch;
	margin-bottom: 0;
	color: var(--ohsnj-muted);
}

.oh-home-wellness {
	padding-block: clamp(1.5rem, 3vw, 2.5rem) clamp(1.5rem, 3vw, 2.5rem);
	background: #fff;
	color: #fff;
}

.oh-home-wellness__frame {
	position: relative;
	isolation: isolate;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
	min-height: clamp(640px, 82vh, 900px);
	overflow: hidden;
	box-sizing: border-box;
	padding: clamp(1.5rem, 3vw, 2.25rem);
}

.oh-home-wellness__bg,
.oh-home-wellness__shade {
	position: absolute;
	inset: 0;
}

.oh-home-wellness__bg {
	z-index: -2;
	background-color: #073d39;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	transform-origin: center center;
	will-change: transform;
	animation: oh-home-wellness-zoom 9s ease-in-out infinite alternate;
}

@keyframes oh-home-wellness-zoom {
	from {
		transform: scale(1);
	}
	to {
		transform: scale(1.1);
	}
}

@media (prefers-reduced-motion: reduce) {
	.oh-home-wellness__bg {
		animation: none;
		transform: none;
	}
}

.oh-home-wellness__shade {
	z-index: -1;
	background:
		linear-gradient(90deg, rgba(2, 31, 29, 0.86) 0%, rgba(2, 31, 29, 0.52) 52%, rgba(2, 31, 29, 0.2) 100%),
		linear-gradient(0deg, rgba(2, 31, 29, 0.78) 0%, rgba(2, 31, 29, 0.22) 48%, transparent 72%);
}

.oh-home-wellness__eyebrow {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	width: fit-content;
	max-width: fit-content;
	min-height: 0;
	margin: 0;
	padding: 0.32rem 0.58rem;
	background: rgba(0, 95, 88, 0.82);
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 2px;
	color: #fff;
	font-size: 0.62rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	line-height: 1.15;
	text-transform: uppercase;
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
}

.oh-home-wellness__content {
	position: relative;
	z-index: 1;
	box-sizing: border-box;
	width: min(100%, 40rem);
	max-width: 40rem;
	margin-top: auto;
	padding: 0;
}

.oh-home-wellness__content h2 {
	max-width: none;
	width: max-content;
	max-width: 100%;
	margin-bottom: 1rem;
	color: #fff !important;
	font-size: clamp(1.85rem, 3.2vw, 2.75rem);
	line-height: 1.15;
	white-space: nowrap;
}

.oh-home-wellness__content p {
	max-width: 42ch;
	margin-bottom: 0;
	color: rgba(255, 255, 255, 0.88);
	font-size: 0.95rem;
	line-height: 1.6;
}

.oh-home-wellness__actions {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0.75rem 1rem;
	margin-top: 1.5rem;
}

.oh-home-wellness__actions .oh-button {
	flex: 0 0 auto;
	white-space: nowrap;
}

.oh-home-wellness .oh-button--solid {
	background: #fff;
	border-color: #fff;
	color: var(--ohsnj-teal-aa) !important;
}

.oh-home-wellness .oh-button--solid:hover,
.oh-home-wellness .oh-button--solid:focus {
	background: var(--ohsnj-surface);
	border-color: var(--ohsnj-surface);
	color: var(--ohsnj-teal-dark) !important;
}

.oh-home-community {
	padding-block: clamp(28px, 3.5vw, 44px) clamp(64px, 6vw, 96px);
	background: #fff;
}

.oh-home-community__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr);
	gap: clamp(1.75rem, 3.2vw, 3rem);
	align-items: center;
}

.oh-home-community__media {
	overflow: hidden;
	background: var(--ohsnj-surface);
}

.oh-home-community__media img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.oh-home-community__stack {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 11;
	perspective: 1200px;
}

.oh-home-community__card {
	position: absolute;
	inset: 6% 5% 3% 5%;
	margin: 0;
	overflow: hidden;
	background: #fff;
	border: 1px solid var(--ohsnj-line);
	box-shadow: 0 18px 40px rgba(0, 55, 51, 0.14);
	transform-origin: center center;
	z-index: 1;
	transition:
		transform 750ms cubic-bezier(0.22, 1, 0.36, 1),
		box-shadow 750ms ease;
	will-change: transform;
}

.oh-home-community__card:nth-child(1) {
	transform: rotate(-4.5deg) translate(-2%, 2%);
}

.oh-home-community__card:nth-child(2) {
	transform: rotate(3.5deg) translate(3%, -1%);
}

.oh-home-community__card.is-front {
	z-index: 3;
	box-shadow: 0 24px 52px rgba(0, 55, 51, 0.2);
}

.oh-home-community__card:nth-child(1).is-front {
	transform: rotate(-1.5deg) translate(0, 0) scale(1.02);
}

.oh-home-community__card:nth-child(2).is-front {
	transform: rotate(1.25deg) translate(0, 0) scale(1.02);
}

.oh-home-community__card.is-exit {
	z-index: 2;
}

.oh-home-community__card img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media (prefers-reduced-motion: reduce) {
	.oh-home-community__card {
		transition: none;
	}
}

.oh-home-community__copy .oh-home-eyebrow {
	margin-bottom: 0.85rem;
	font-size: 0.78rem;
}

.oh-home-community__copy h2 {
	max-width: none;
	width: max-content;
	max-width: 100%;
	margin-bottom: 1rem;
	font-size: clamp(2rem, 3.6vw, 3.5rem);
	line-height: 1.03;
	white-space: nowrap;
}

.oh-home-community__copy > p:not(.oh-home-eyebrow) {
	max-width: 42ch;
	margin: 0;
	color: var(--ohsnj-muted);
	font-size: 1.08rem;
	line-height: 1.65;
}

/* Achievements — fades from community white into mint surface */
.oh-home-trust {
	padding-block: clamp(28px, 3.5vw, 44px) clamp(40px, 4vw, 56px);
	background: linear-gradient(
		180deg,
		#ffffff 0%,
		var(--ohsnj-surface) 22%,
		var(--ohsnj-surface) 100%
	);
}

/* Same section-head language as Services; stacked so intro sits under the title. */
.oh-home-trust .oh-home-section-head,
.oh-home-trust__head {
	display: grid;
	grid-template-columns: 1fr;
	align-items: start;
	gap: 0.85rem;
	margin-bottom: clamp(2.25rem, 3.5vw, 3.5rem);
}

.oh-home-trust .oh-home-section-head h2,
.oh-home-trust__head h2 {
	max-width: none;
	margin-bottom: 0;
	font-size: clamp(2rem, 3.6vw, 3.5rem);
	line-height: 1.03;
}

.oh-home-trust .oh-home-section-head > p,
.oh-home-trust__head > p {
	max-width: none;
	padding-top: 0;
	margin-bottom: 0;
	color: var(--ohsnj-muted);
}

.oh-home-trust .oh-home-section-head .oh-home-eyebrow,
.oh-home-trust__head .oh-home-eyebrow {
	margin-bottom: 0.85rem;
}

@media (min-width: 1100px) {
	.oh-home-trust .oh-home-section-head h2,
	.oh-home-trust__head h2,
	.oh-home-trust .oh-home-section-head > p,
	.oh-home-trust__head > p {
		white-space: nowrap;
	}
}

.oh-home-trust__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1px;
	margin: 0 0 clamp(3rem, 5vw, 4.5rem);
	padding: 0;
	list-style: none;
	background: var(--ohsnj-line);
	border: 1px solid var(--ohsnj-line);
}

.oh-home-trust__card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: clamp(1.35rem, 2.2vw, 1.85rem);
	background: #fff;
}

.oh-home-trust__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin-bottom: 0.85rem;
	border-radius: 50%;
	border: 1.5px solid color-mix(in srgb, var(--ohsnj-teal-aa) 32%, #fff);
	background: color-mix(in srgb, var(--ohsnj-teal-aa) 12%, #fff);
	color: var(--ohsnj-teal-aa);
	line-height: 0;
	box-sizing: border-box;
}

.oh-home-trust__icon svg {
	display: block;
	width: 22px;
	height: 22px;
	flex-shrink: 0;
	overflow: visible;
}

.oh-home-trust__icon--badge {
	border: 0;
	background: transparent;
	padding: 0;
}

.oh-home-trust__icon--badge img {
	display: block;
	width: 44px;
	height: 44px;
	object-fit: contain;
}

.oh-home-trust__icon--logo {
	width: auto;
	min-width: 44px;
	height: 44px;
	border: 0;
	border-radius: 0;
	background: transparent;
	padding: 0;
}

.oh-home-trust__icon--logo img {
	display: block;
	width: auto;
	height: 28px;
	object-fit: contain;
}

/* BoardCertified wordmark reads small — enlarge inside same 44px slot (no clip). */
.oh-home-trust__icon--logo-zoom {
	overflow: visible;
}

.oh-home-trust__icon--logo-zoom img {
	height: 40px;
	max-width: none;
}

.oh-home-trust__card strong {
	display: block;
	margin-bottom: 0.55rem;
	font-size: 1.05rem;
	line-height: 1.3;
}

.oh-home-trust__card p {
	margin: 0;
	color: var(--ohsnj-muted);
	font-size: 0.95rem;
	line-height: 1.6;
}

.oh-home-reviews__head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1.75rem;
}

.oh-home-reviews__head h3 {
	margin: 0;
	font-size: clamp(1.35rem, 2vw, 1.75rem);
}

.oh-home-reviews__marquee {
	overflow: hidden;
	width: 100%;
}

.oh-home-reviews__track {
	display: flex;
	width: max-content;
	transform: translate3d(0, 0, 0);
	animation: oh-home-reviews-marquee 55s linear infinite;
}

/* JS drive: subpixel scroll + eased hover slowdown (no CSS pause). */
.oh-home-reviews__marquee.is-js .oh-home-reviews__track {
	animation: none;
	will-change: transform;
}

.oh-home-reviews__marquee:not(.is-js):not(.is-static):hover .oh-home-reviews__track,
.oh-home-reviews__marquee:not(.is-js):not(.is-static):focus-within .oh-home-reviews__track {
	animation-play-state: paused;
}

.oh-home-reviews__set {
	display: flex;
	flex: 0 0 auto;
	gap: 1.25rem;
	padding-right: 1.25rem;
}

.oh-home-review {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	flex: 0 0 auto;
	width: min(22rem, 78vw);
	min-height: 16.5rem;
	gap: 0.85rem;
	margin: 0;
	padding: 1.5rem;
	background: #fff;
	border: 1px solid var(--ohsnj-line);
}

.oh-home-review__google {
	display: inline-flex;
	width: 1.15rem;
	height: 1.15rem;
	flex: 0 0 auto;
}

.oh-home-review__google svg {
	width: 100%;
	height: 100%;
	display: block;
}

.oh-home-review p {
	margin: 0;
	flex: 1;
	color: var(--ohsnj-ink);
	font-size: 0.98rem;
	line-height: 1.65;
}

.oh-home-review footer {
	display: grid;
	gap: 0.25rem;
	margin-top: auto;
}

.oh-home-review cite {
	font-style: normal;
	font-weight: 700;
	font-size: 0.92rem;
}

.oh-home-review__stars {
	display: inline-flex;
	gap: 0.02rem;
	color: #fbbc04;
	font-size: 0.85rem;
	line-height: 1;
	letter-spacing: 0;
}

@keyframes oh-home-reviews-marquee {
	from {
		transform: translate3d(0, 0, 0);
	}
	to {
		transform: translate3d(-50%, 0, 0);
	}
}

@media (prefers-reduced-motion: reduce) {
	.oh-home-reviews__marquee,
	.oh-home-reviews__marquee.is-static {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.oh-home-reviews__track {
		animation: none !important;
		transform: none !important;
	}

	.oh-home-reviews__set[aria-hidden="true"] {
		display: none;
	}
}

/* Technology — fades from Achievements mint into white */
.oh-home-tech {
	padding-block: 0 0;
	background: linear-gradient(
		180deg,
		var(--ohsnj-surface) 0%,
		#ffffff 22%,
		#ffffff 100%
	);
}

.oh-home-tech__intro {
	padding-block: clamp(32px, 4vw, 52px) clamp(16px, 2vw, 28px);
}

/* Match Recognition / Services stacked section-head. */
.oh-home-tech .oh-home-section-head,
.oh-home-tech__head {
	display: grid;
	grid-template-columns: 1fr;
	align-items: start;
	gap: 0.85rem;
	margin-bottom: 0;
}

.oh-home-tech .oh-home-section-head h2,
.oh-home-tech__head h2 {
	max-width: none;
	margin-bottom: 0;
	font-size: clamp(2rem, 3.6vw, 3.5rem);
	line-height: 1.03;
}

.oh-home-tech .oh-home-section-head > p,
.oh-home-tech__head > p {
	max-width: none;
	padding-top: 0;
	margin-bottom: 0;
	color: var(--ohsnj-muted);
}

.oh-home-tech .oh-home-section-head .oh-home-eyebrow,
.oh-home-tech__head .oh-home-eyebrow {
	margin-bottom: 0.85rem;
}

@media (min-width: 1100px) {
	.oh-home-tech .oh-home-section-head h2,
	.oh-home-tech__head h2,
	.oh-home-tech .oh-home-section-head > p,
	.oh-home-tech__head > p {
		white-space: nowrap;
	}
}

.oh-home-tech__features {
	display: grid;
	gap: 1.25rem;
	padding-bottom: clamp(12px, 2vw, 20px);
	border-top: 0;
}

.oh-home-tech-row {
	padding: clamp(1.25rem, 2.2vw, 1.75rem);
	background: #fff;
	border: 1px solid var(--ohsnj-line);
}

.oh-home-tech-row__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
	gap: clamp(1.25rem, 2.5vw, 2.5rem);
	align-items: center;
}

.oh-home-tech-row--reverse .oh-home-tech-row__media {
	order: 2;
}

.oh-home-tech-row--reverse .oh-home-tech-row__copy {
	order: 1;
}

.oh-home-tech-row__media {
	overflow: hidden;
	width: 100%;
	max-width: 520px;
	background: #073d39;
}

.oh-home-tech-row--reverse .oh-home-tech-row__media {
	margin-left: auto;
}

.oh-home-tech-row__media > img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.oh-home-tech-row__video {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	background: #073d39;
}

.oh-home-tech-row__video iframe {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

.oh-yt-facade {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	padding: 0;
	margin: 0;
	border: 0;
	cursor: pointer;
	background: #073d39;
	color: inherit;
}

.oh-yt-facade__poster {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.oh-yt-facade__play {
	position: relative;
	z-index: 1;
	display: grid;
	place-items: center;
	width: 4.25rem;
	height: 4.25rem;
	border-radius: 50%;
	background: rgba(7, 61, 57, 0.88);
	box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.85);
	transition: transform 0.2s ease, background-color 0.2s ease;
}

.oh-yt-facade__play::before {
	content: "";
	display: block;
	width: 0;
	height: 0;
	margin-left: 0.2rem;
	border-style: solid;
	border-width: 0.55rem 0 0.55rem 0.95rem;
	border-color: transparent transparent transparent #fff;
}

.oh-yt-facade:hover .oh-yt-facade__play,
.oh-yt-facade:focus-visible .oh-yt-facade__play {
	transform: scale(1.06);
	background: rgba(7, 61, 57, 0.96);
}

.oh-yt-facade:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 3px;
}

.oh-home-tech-row__copy {
	display: grid;
	align-content: start;
	gap: 0.55rem;
}

.oh-home-tech-row__index {
	color: rgba(0, 95, 88, 0.18);
	font-size: clamp(2rem, 3vw, 2.75rem);
	font-weight: 800;
	font-variant-numeric: tabular-nums;
	letter-spacing: -0.07em;
	line-height: 1;
}

.oh-home-tech-row__copy h3 {
	margin: 0;
	max-width: none;
	white-space: nowrap;
	font-size: clamp(1.45rem, 2.4vw, 2.1rem);
	line-height: 1.15;
}

.oh-home-tech-row__copy p {
	margin: 0;
	max-width: 46ch;
	color: var(--ohsnj-muted);
	font-size: 0.98rem;
}

.oh-home-tech-row__copy .oh-text-link {
	margin-top: 0.25rem;
	justify-self: start;
}

.oh-home-tech__list {
	display: grid;
	gap: 1rem;
	margin: 0;
	padding: clamp(4px, 1vw, 12px) 0 clamp(36px, 4vw, 56px);
	list-style: none;
	border-top: 0;
}

.oh-home-tech__item {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr) auto;
	gap: clamp(1rem, 2.5vw, 2rem);
	align-items: start;
	padding: clamp(1.1rem, 1.8vw, 1.4rem) clamp(1.15rem, 2vw, 1.5rem);
	background: #fff;
	border: 1px solid var(--ohsnj-line);
}

.oh-home-tech__item:first-child {
	padding-top: clamp(1.1rem, 1.8vw, 1.4rem);
}

.oh-home-tech__num {
	color: rgba(0, 95, 88, 0.2);
	font-size: clamp(1.75rem, 2.4vw, 2.25rem);
	font-weight: 800;
	font-variant-numeric: tabular-nums;
	letter-spacing: -0.06em;
	line-height: 1;
}

.oh-home-tech__item-copy h3 {
	margin: 0 0 0.45rem;
	font-size: clamp(1.15rem, 1.8vw, 1.4rem);
	line-height: 1.25;
}

.oh-home-tech__item-copy p {
	margin: 0;
	max-width: 58ch;
	color: var(--ohsnj-muted);
	font-size: 0.98rem;
}

.oh-home-tech__item .oh-text-link {
	margin-top: 0.2rem;
	white-space: nowrap;
}

/* History — fades from Technology white into mint surface */
.oh-home-history {
	padding-block: var(--oh-home-section);
	background: linear-gradient(
		180deg,
		#ffffff 0%,
		var(--ohsnj-surface) 22%,
		var(--ohsnj-surface) 100%
	);
}

/* Match Technology / Recognition stacked section-head. */
.oh-home-history .oh-home-section-head,
.oh-home-history__head {
	display: grid;
	grid-template-columns: 1fr;
	align-items: start;
	gap: 0.85rem;
	margin-bottom: clamp(2.25rem, 3.5vw, 3.5rem);
}

.oh-home-history .oh-home-section-head h2,
.oh-home-history__head h2 {
	max-width: none;
	margin-bottom: 0;
	font-size: clamp(2rem, 3.6vw, 3.5rem);
	line-height: 1.03;
}

.oh-home-history .oh-home-section-head > p,
.oh-home-history__head > p {
	max-width: none;
	padding-top: 0;
	margin-bottom: 0;
	color: var(--ohsnj-muted);
}

.oh-home-history .oh-home-section-head .oh-home-eyebrow,
.oh-home-history__head .oh-home-eyebrow {
	margin-bottom: 0.85rem;
}

@media (min-width: 1100px) {
	.oh-home-history .oh-home-section-head h2,
	.oh-home-history__head h2 {
		white-space: nowrap;
	}
}

.oh-home-history__list {
	display: grid;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
	background: #fff;
	border: 1px solid var(--ohsnj-line);
}

.oh-home-history__item {
	display: grid;
	grid-template-columns: minmax(120px, 160px) minmax(0, 1fr);
	gap: clamp(1rem, 3vw, 2.5rem);
	padding: 1.35rem clamp(1.15rem, 2vw, 1.5rem);
	border-bottom: 1px solid var(--ohsnj-line);
}

.oh-home-history__item:last-child {
	border-bottom: 0;
}

.oh-home-history__year {
	color: var(--ohsnj-teal-aa);
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.oh-home-history__item h3 {
	margin: 0 0 0.45rem;
	font-size: clamp(1.15rem, 1.7vw, 1.4rem);
}

.oh-home-history__item p {
	margin: 0;
	max-width: 62ch;
	color: var(--ohsnj-muted);
	font-size: 0.98rem;
}

.oh-home-mission {
	padding-block: var(--oh-home-section);
	background: #073d39;
	color: #fff;
}

.oh-home-mission__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
	gap: clamp(2rem, 4.5vw, 4.5rem);
	align-items: center;
}

.oh-home-mission__copy {
	min-width: 0;
}

.oh-home-mission__media {
	overflow: hidden;
	background: rgba(255, 255, 255, 0.06);
}

.oh-home-mission__media img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 800 / 522;
	object-fit: cover;
	object-position: center top;
}

.oh-home-mission .oh-home-eyebrow {
	color: rgba(255, 255, 255, 0.72);
}

.oh-home-mission h2 {
	max-width: 18ch;
	margin-bottom: 1.25rem;
	color: #fff;
	font-size: clamp(2.1rem, 4vw, 3.5rem);
}

.oh-home-mission__lead {
	max-width: 58ch;
	margin-bottom: 1.75rem;
	color: rgba(255, 255, 255, 0.86);
	font-size: clamp(1.05rem, 1.6vw, 1.25rem);
}

.oh-home-mission__points {
	display: grid;
	gap: 0.85rem;
	max-width: 64ch;
	margin: 0 0 2rem;
	padding: 0;
	list-style: none;
}

.oh-home-mission__points li {
	position: relative;
	padding-left: 1.35rem;
	color: rgba(255, 255, 255, 0.82);
	font-size: 0.98rem;
	line-height: 1.6;
}

.oh-home-mission__points li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 0.45rem;
	height: 0.45rem;
	background: var(--ohsnj-teal);
}

.oh-home-mission .oh-button--outline {
	border-color: rgba(255, 255, 255, 0.7);
	color: #fff !important;
}

.oh-home-mission .oh-button--outline:hover,
.oh-home-mission .oh-button--outline:focus {
	background: #fff;
	color: var(--ohsnj-teal-aa) !important;
}

.oh-home-mission .oh-button--solid {
	background: #fff;
	border-color: #fff;
	color: var(--ohsnj-teal-aa) !important;
}

.oh-home-mission .oh-button--solid:hover,
.oh-home-mission .oh-button--solid:focus {
	background: var(--ohsnj-surface);
	color: var(--ohsnj-teal-dark) !important;
}

.oh-home-team {
	padding-block: var(--oh-home-section);
	background: #fff;
}

/* Match History / Technology stacked section-head. */
.oh-home-team .oh-home-section-head,
.oh-home-team__head {
	display: grid;
	grid-template-columns: 1fr;
	align-items: start;
	gap: 0.85rem;
	margin-bottom: clamp(2.25rem, 3.5vw, 3.5rem);
}

.oh-home-team .oh-home-section-head h2,
.oh-home-team__head h2 {
	max-width: none;
	margin-bottom: 0;
	font-size: clamp(2rem, 3.6vw, 3.5rem);
	line-height: 1.03;
}

.oh-home-team .oh-home-section-head > p,
.oh-home-team__head > p {
	max-width: none;
	padding-top: 0;
	margin-bottom: 0;
	color: var(--ohsnj-muted);
}

.oh-home-team .oh-home-section-head .oh-home-eyebrow,
.oh-home-team__head .oh-home-eyebrow {
	margin-bottom: 0.85rem;
}

.oh-home-team__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.25rem;
	margin: 0 0 2rem;
	padding: 0;
	list-style: none;
}

.oh-home-team__card {
	display: grid;
	gap: 0.85rem;
	color: inherit !important;
	text-decoration: none !important;
}

.oh-home-team__photo {
	display: block;
	overflow: hidden;
	aspect-ratio: 4 / 5;
	background: var(--ohsnj-surface);
}

.oh-home-team__photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top center;
	transition: transform 280ms ease;
}

.oh-home-team__card:hover .oh-home-team__photo img,
.oh-home-team__card:focus .oh-home-team__photo img {
	transform: scale(1.03);
}

.oh-home-team__meta {
	display: grid;
	gap: 0.2rem;
}

.oh-home-team__meta strong {
	font-size: 1rem;
	line-height: 1.3;
}

.oh-home-team__meta small {
	color: var(--ohsnj-muted);
	font-size: 0.88rem;
}

.oh-home-team__cta {
	display: flex;
	justify-content: flex-start;
}

/* FAQs — fades from Team white into mint surface */
.oh-home-faq {
	padding-block: var(--oh-home-section);
	background: linear-gradient(
		180deg,
		#ffffff 0%,
		var(--ohsnj-surface) 22%,
		var(--ohsnj-surface) 100%
	);
}

.oh-home-faq .oh-home-section-head,
.oh-home-faq .oh-home-section-head--stack {
	display: grid;
	grid-template-columns: 1fr;
	align-items: start;
	gap: 0.85rem;
	margin-bottom: clamp(2.25rem, 3.5vw, 3.5rem);
}

.oh-home-faq .oh-home-section-head h2,
.oh-home-faq .oh-home-section-head--stack h2 {
	max-width: none;
	margin-bottom: 0;
	font-size: clamp(2rem, 3.6vw, 3.5rem);
	line-height: 1.03;
}

.oh-home-faq .oh-home-section-head .oh-home-eyebrow {
	margin-bottom: 0.85rem;
}

.oh-home-faq__list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1px;
	margin: 0 0 1.75rem;
	padding: 0;
	background: var(--ohsnj-line);
	border: 1px solid var(--ohsnj-line);
}

.oh-home-faq__item {
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
	padding: clamp(1.25rem, 2vw, 1.75rem);
	background: #fff;
}

.oh-home-faq__item dt {
	margin: 0;
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.3;
}

.oh-home-faq__item dd {
	margin: 0;
	color: var(--ohsnj-muted);
	font-size: 0.95rem;
	line-height: 1.65;
}

.oh-home-faq__more {
	margin: 0;
}

@media (max-width: 1100px) {
	.oh-home-glance__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.oh-home-glance__item:nth-child(2n + 1) {
		border-left: 0;
	}

	.oh-home-glance__item:nth-child(n + 3) {
		border-top: 1px solid var(--ohsnj-line);
	}

	.oh-home-team__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.oh-home-services__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 900px) {
	.oh-home-glance {
		padding-top: 1.35rem;
	}

	.oh-home-glance__grid {
		transform: translateY(-1.25rem);
	}

	.oh-home-services__grid {
		grid-template-columns: 1fr;
	}

	.oh-home-wellness__frame {
		min-height: clamp(520px, 78vh, 720px);
		padding: 1.25rem;
	}

	.oh-home-wellness__content h2 {
		white-space: normal;
		font-size: clamp(1.7rem, 7vw, 2.2rem);
	}

	.oh-home-wellness__actions {
		flex-direction: column;
		flex-wrap: nowrap;
		align-items: stretch;
		width: 100%;
	}

	.oh-home-wellness__actions .oh-button {
		flex: 1 1 auto;
		width: 100%;
		max-width: 100%;
		justify-content: center;
		white-space: normal;
		text-align: center;
	}

	.oh-home-wellness__shade {
		background:
			linear-gradient(0deg, rgba(2, 31, 29, 0.9) 0%, rgba(2, 31, 29, 0.72) 55%, rgba(2, 31, 29, 0.45) 100%);
	}

	.oh-home-community__copy h2 {
		white-space: normal;
	}

	.oh-home-community__inner {
		display: flex;
		flex-direction: column;
		grid-template-columns: none;
		align-items: stretch;
		gap: 1.25rem;
	}

	.oh-home-community__copy {
		display: contents;
	}

	.oh-home-community__copy .oh-home-eyebrow {
		order: 1;
		margin-bottom: 0;
	}

	.oh-home-community__copy h2 {
		order: 2;
		margin: 0;
	}

	.oh-home-community__stack {
		order: 3;
		width: 100%;
	}

	.oh-home-community__copy > p:not(.oh-home-eyebrow) {
		order: 4;
		margin: 0;
	}

	.oh-home-trust__grid,
	.oh-home-faq__list,
	.oh-home-mission__inner {
		grid-template-columns: 1fr;
	}

	.oh-home-mission__media {
		order: -1;
		max-width: 520px;
	}

	.oh-home-tech-row__inner,
	.oh-home-tech-row--reverse .oh-home-tech-row__inner {
		grid-template-columns: 1fr;
	}

	.oh-home-tech-row__media,
	.oh-home-tech-row--reverse .oh-home-tech-row__media {
		max-width: none;
		margin-left: 0;
	}

	.oh-home-tech-row__copy h3 {
		white-space: normal;
	}

	.oh-home-tech-row--reverse .oh-home-tech-row__media,
	.oh-home-tech-row--reverse .oh-home-tech-row__copy {
		order: unset;
	}

	.oh-home-tech__item {
		grid-template-columns: 48px minmax(0, 1fr);
	}

	.oh-home-tech__item .oh-text-link {
		grid-column: 2;
	}

	.oh-home-tech .oh-home-section-head,
	.oh-home-tech__head,
	.oh-home-team .oh-home-section-head,
	.oh-home-team__head,
	.oh-home-services .oh-home-section-head,
	.oh-home-trust .oh-home-section-head {
		grid-template-columns: 1fr;
	}

	.oh-home-tech .oh-home-section-head h2,
	.oh-home-tech__head h2,
	.oh-home-tech .oh-home-section-head > p,
	.oh-home-tech__head > p {
		white-space: normal;
	}

	.oh-home-team__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.oh-home-history .oh-home-section-head h2,
	.oh-home-history__head h2 {
		white-space: normal;
	}

	.oh-home-history__item {
		grid-template-columns: 1fr;
		gap: 0.4rem;
	}
}

@media (max-width: 720px) {
	.oh-home-glance {
		margin-top: 0;
		padding-top: 1.5rem;
	}

	.oh-home-glance__grid {
		grid-template-columns: 1fr;
		border-inline: 0;
		box-shadow: none;
		transform: none;
	}

	.oh-home-glance__item + .oh-home-glance__item {
		border-left: 0;
		border-top: 1px solid var(--ohsnj-line);
	}

	.oh-home-glance__item:nth-child(n + 3) {
		border-top: 1px solid var(--ohsnj-line);
	}

	.oh-home-team__grid {
		grid-template-columns: 1fr 1fr;
		gap: 0.85rem;
	}

	.oh-home-team__cta {
		justify-content: center;
	}
}
