/**
 * Green Wisdom Health — Signature Edition
 * Version 3.1.0
 */

.gwh-signature {
	--gwh-primary-green: #14a64b;
	--gwh-light-green: #8bc53f;
	--gwh-background: #fbfaf4;
	--gwh-radius: 22px;
	--gwh-shadow: 0 22px 56px rgba(7, 63, 35, 0.14);
	--gwh-color-forest: #073f23;
	--gwh-color-forest-deep: #013317;
	--gwh-color-green: var(--gwh-primary-green);
	--gwh-color-green-rich: #0f9c43;
	--gwh-color-green-bright: var(--gwh-light-green);
	--gwh-color-cream: var(--gwh-background);
	--gwh-color-warm-white: #fffdf8;
	--gwh-color-ink: #25322a;
	--gwh-color-line: rgba(7, 63, 35, 0.14);
	--gwh-space-1: 0.5rem;
	--gwh-space-2: 0.75rem;
	--gwh-space-3: 1rem;
	--gwh-space-4: 1.5rem;
	--gwh-space-5: 2rem;
	--gwh-space-6: 3rem;
	--gwh-space-7: 4.5rem;
	--gwh-radius-sm: 12px;
	--gwh-radius-md: 18px;
	--gwh-radius-lg: 28px;
	--gwh-radius-pill: 999px;
	--gwh-shadow-soft: 0 12px 32px rgba(1, 51, 23, 0.09);
	--gwh-shadow-premium: 0 22px 58px rgba(1, 51, 23, 0.16);
	--gwh-transition: 180ms ease;
	color: var(--gwh-color-ink);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

.gwh-signature,
.gwh-signature *,
.gwh-signature *::before,
.gwh-signature *::after {
	box-sizing: border-box;
}

.gwh-skip-link {
	position: fixed;
	z-index: 100000;
	top: 12px;
	left: 12px;
	padding: 12px 18px;
	border-radius: var(--gwh-radius-sm);
	background: var(--gwh-color-warm-white);
	color: var(--gwh-color-forest-deep);
	font-weight: 800;
	box-shadow: var(--gwh-shadow-premium);
	transform: translateY(-160%);
	transition: transform var(--gwh-transition);
}

.gwh-skip-link:focus {
	transform: translateY(0);
}

.gwh-site-header {
	position: sticky;
	z-index: 1000;
	top: 0;
	border-bottom: 1px solid var(--gwh-color-line);
	background: rgba(255, 253, 248, 0.97);
	box-shadow: 0 7px 24px rgba(1, 51, 23, 0.055);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
}

.gwh-site-header__inner {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: clamp(34px, 3.4vw, 54px);
	min-height: 134px;
}

.gwh-site-header__inner > * {
	min-width: 0;
}

.gwh-site-header .gwh-shell {
	max-width: 1480px;
}

.gwh-brand-lockup {
	display: flex;
	flex-direction: column;
	align-items: center;
	min-width: 0;
}

.gwh-site-header .gwh-brand {
	display: inline-flex;
	align-items: center;
	min-width: 0;
}

.gwh-site-header .gwh-brand img {
	display: block;
	width: 100%;
	max-width: 292px;
	height: auto;
	max-height: 100px;
	padding: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	object-fit: contain;
}

/*
 * True desktop grid: independent brand, navigation, and CTA columns.
 * The responsive menu takes over before these columns can become crowded.
 */
@media (min-width: 1321px) {
	.gwh-site-header__inner {
		grid-template-columns: minmax(240px, 292px) minmax(0, 1fr) max-content;
		column-gap: 32px;
	}

	.gwh-site-header .gwh-brand-lockup {
		width: 100%;
		max-width: 292px;
	}

	.gwh-site-header .gwh-brand img {
		width: 100%;
		max-width: 292px;
		height: auto;
	}

	.gwh-primary-nav {
		gap: clamp(12px, 1.15vw, 20px);
		white-space: nowrap;
	}
}

.gwh-brand-tagline {
	margin: 7px 0 0;
	color: var(--gwh-color-forest);
	font-family: Arial, Helvetica, sans-serif;
	font-size: 0.72rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.08em;
	text-align: center;
	text-transform: uppercase;
	white-space: nowrap;
}

.gwh-primary-nav {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: clamp(17px, 1.65vw, 28px);
	min-width: 0;
}

.gwh-primary-nav > a:not(.gwh-primary-nav__cta) {
	position: relative;
	padding: 12px 0;
	color: var(--gwh-color-forest-deep);
	font-family: Arial, Helvetica, sans-serif;
	font-size: clamp(0.72rem, 0.76vw, 0.82rem);
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0.045em;
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap;
}

.gwh-primary-nav > a:not(.gwh-primary-nav__cta)::after {
	position: absolute;
	right: 0;
	bottom: 5px;
	left: 0;
	height: 2px;
	border-radius: var(--gwh-radius-pill);
	background: var(--gwh-color-green);
	content: "";
	transform: scaleX(0);
	transform-origin: right;
	transition: transform var(--gwh-transition);
}

.gwh-primary-nav > a:not(.gwh-primary-nav__cta):hover::after,
.gwh-primary-nav > a:not(.gwh-primary-nav__cta):focus-visible::after {
	transform: scaleX(1);
	transform-origin: left;
}

.gwh-header-cta,
.gwh-primary-nav__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0 22px;
	border: 2px solid var(--gwh-color-forest);
	border-radius: var(--gwh-radius-pill);
	background: var(--gwh-color-forest);
	color: #fff;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 0.79rem;
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0.055em;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap;
	box-shadow: 0 10px 24px rgba(1, 51, 23, 0.16);
	transition: transform var(--gwh-transition), background-color var(--gwh-transition), border-color var(--gwh-transition), box-shadow var(--gwh-transition);
}

.gwh-header-cta:hover,
.gwh-header-cta:focus-visible,
.gwh-primary-nav__cta:hover,
.gwh-primary-nav__cta:focus-visible {
	border-color: var(--gwh-color-green);
	background: var(--gwh-color-green);
	color: #fff;
	box-shadow: 0 14px 30px rgba(7, 63, 35, 0.22);
	transform: translateY(-2px);
}

.gwh-primary-nav__cta {
	display: none;
}

.gwh-primary-nav__account {
	display: none;
}

.gwh-header-actions {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-self: end;
	gap: 7px;
	min-width: 0;
}

.gwh-patient-login {
	position: relative;
	padding: 2px 0;
	color: var(--gwh-color-forest-deep);
	font-family: Arial, Helvetica, sans-serif;
	font-size: 0.72rem;
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0.055em;
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap;
}

.gwh-patient-login::after {
	position: absolute;
	right: 0;
	bottom: -3px;
	left: 0;
	height: 2px;
	border-radius: var(--gwh-radius-pill);
	background: var(--gwh-color-green);
	content: "";
	transform: scaleX(0);
	transform-origin: right;
	transition: transform var(--gwh-transition);
}

.gwh-patient-login:hover::after,
.gwh-patient-login:focus-visible::after {
	transform: scaleX(1);
	transform-origin: left;
}

.gwh-nav-toggle {
	display: none;
	width: 48px;
	height: 48px;
	padding: 12px;
	border: 1px solid var(--gwh-color-line);
	border-radius: var(--gwh-radius-sm);
	background: var(--gwh-color-warm-white);
	color: var(--gwh-color-forest);
	cursor: pointer;
}

.gwh-nav-toggle span {
	display: block;
	width: 22px;
	height: 2px;
	margin: 4px auto;
	border-radius: var(--gwh-radius-pill);
	background: currentColor;
	transition: transform var(--gwh-transition), opacity var(--gwh-transition);
}

.gwh-site-header.is-open .gwh-nav-toggle span:nth-child(1) {
	transform: translateY(6px) rotate(45deg);
}

.gwh-site-header.is-open .gwh-nav-toggle span:nth-child(2) {
	opacity: 0;
}

.gwh-site-header.is-open .gwh-nav-toggle span:nth-child(3) {
	transform: translateY(-6px) rotate(-45deg);
}

.gwh-signature .gwh-hero {
	padding: clamp(108px, 10.5vw, 154px) 0 clamp(78px, 8.5vw, 124px);
	background:
		radial-gradient(circle at 82% 18%, rgba(255, 255, 255, 0.2), transparent 30%),
		linear-gradient(150deg, #25a455, #36b764 58%, #279f53);
}

.gwh-signature .gwh-hero::after {
	background: linear-gradient(180deg, transparent, rgba(7, 63, 35, 0.05));
}

.gwh-signature .gwh-hero__grid {
	grid-template-columns: minmax(0, 0.84fr) minmax(0, 1.16fr);
	gap: clamp(78px, 7.2vw, 104px);
	align-items: center;
}

.gwh-signature .gwh-hero__copy {
	padding: clamp(36px, 4.2vw, 58px);
	padding-right: clamp(52px, 5.2vw, 76px);
	border: 1px solid rgba(255, 255, 255, 0.3);
	border-radius: var(--gwh-radius-lg);
	background: rgba(255, 255, 255, 0.35);
	box-shadow: var(--gwh-shadow);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}

.gwh-signature .gwh-hero__title {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	margin-bottom: 24px;
	font-size: clamp(40px, 2.95vw, 58px);
	line-height: 1.03;
	letter-spacing: -0.03em;
	text-wrap: wrap;
	white-space: normal;
	overflow-wrap: normal;
}

.gwh-signature .gwh-hero__title span {
	display: block;
	max-width: 100%;
	white-space: normal;
}

.gwh-signature .gwh-hero__copy > p:not(.gwh-kicker) {
	max-width: 50ch;
	font-size: clamp(1.05rem, 1.25vw, 1.22rem);
	line-height: 1.72;
}

.gwh-signature .gwh-hero__actions {
	gap: 14px;
	margin-top: 30px;
}

.gwh-signature .gwh-hero__image {
	aspect-ratio: 0.94 / 1;
	padding: 8px;
	border-color: rgba(255, 255, 255, 0.22);
	border-radius: calc(var(--gwh-radius-lg) + 4px);
	background: rgba(255, 255, 255, 0.16);
	box-shadow: 0 20px 52px rgba(7, 63, 35, 0.15);
}

.gwh-signature .gwh-hero__image img {
	border-radius: calc(var(--gwh-radius-lg) - 2px);
	box-shadow: none;
}

.gwh-signature .gwh-button,
.gwh-signature .gwh-service-card__link {
	min-height: 50px;
	border-radius: var(--gwh-radius-pill);
	font-weight: 800;
	transition: transform var(--gwh-transition), background-color var(--gwh-transition), border-color var(--gwh-transition), color var(--gwh-transition), box-shadow var(--gwh-transition);
}

.gwh-signature .gwh-button:hover,
.gwh-signature .gwh-button:focus-visible,
.gwh-signature .gwh-service-card__link:hover,
.gwh-signature .gwh-service-card__link:focus-visible {
	transform: translateY(-2px);
}

.gwh-signature :is(h1, h2, h3) {
	text-wrap: balance;
}

.gwh-signature :is(p, li) {
	text-wrap: pretty;
}

.gwh-signature :is(a, button, [tabindex]:not([tabindex="-1"])):focus-visible {
	outline: 3px solid var(--gwh-color-green-bright);
	outline-offset: 4px;
}

.gwh-signature :is(.gwh-feature, .gwh-service-card, .gwh-review-card, .gwh-team-card) {
	border-radius: var(--gwh-radius-md);
}

.gwh-signature :is(.gwh-feature, .gwh-service-card, .gwh-review-card) {
	transition: transform var(--gwh-transition), box-shadow var(--gwh-transition), border-color var(--gwh-transition);
}

.gwh-signature :is(.gwh-feature, .gwh-service-card, .gwh-review-card):hover {
	transform: translateY(-4px);
	box-shadow: var(--gwh-shadow-premium);
}

@media (max-width: 1320px) {
	.gwh-site-header__inner {
		grid-template-columns: auto auto 1fr auto;
		gap: 24px;
		min-height: 112px;
	}

	.gwh-js .gwh-nav-toggle {
		display: block;
		grid-column: 2;
	}

	.gwh-js .gwh-primary-nav {
		position: absolute;
		top: calc(100% + 1px);
		right: clamp(18px, 4vw, 48px);
		left: clamp(18px, 4vw, 48px);
		display: none;
		align-items: stretch;
		gap: 0;
		max-height: calc(100vh - 112px);
		padding: 16px;
		overflow-y: auto;
		border: 1px solid var(--gwh-color-line);
		border-radius: 0 0 var(--gwh-radius-md) var(--gwh-radius-md);
		background: var(--gwh-color-warm-white);
		box-shadow: var(--gwh-shadow-premium);
	}

	.gwh-js .gwh-site-header.is-open .gwh-primary-nav {
		display: flex;
		flex-direction: column;
	}

	.gwh-primary-nav > a:not(.gwh-primary-nav__cta) {
		padding: 15px 12px;
		border-bottom: 1px solid rgba(7, 63, 35, 0.09);
		font-size: 0.82rem;
	}

	.gwh-primary-nav > a:not(.gwh-primary-nav__cta)::after {
		display: none;
	}

	.gwh-primary-nav__account {
		display: flex;
	}

	.gwh-patient-login {
		display: none;
	}

	.gwh-header-actions {
		justify-self: end;
	}
}

@media (max-width: 1080px) {
	.gwh-signature .gwh-hero__grid {
		grid-template-columns: 1fr;
		gap: 38px;
		justify-items: center;
	}

	.gwh-signature .gwh-hero__copy,
	.gwh-signature .gwh-hero__image {
		width: 100%;
		max-width: 780px;
	}

	.gwh-signature .gwh-hero__image {
		aspect-ratio: 1.12 / 1;
	}
}

@media (max-width: 680px) {
	.gwh-site-header__inner {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 12px;
		min-height: 98px;
	}

	.gwh-site-header .gwh-brand img {
		width: min(258px, 70vw);
		max-height: 72px;
	}

	.gwh-brand-tagline {
		margin-top: 5px;
		font-size: 0.61rem;
		letter-spacing: 0.055em;
	}

	.gwh-js .gwh-nav-toggle {
		grid-column: 2;
	}

	.gwh-header-cta {
		display: none;
	}

	.gwh-header-actions {
		display: none;
	}

	.gwh-primary-nav__cta {
		display: inline-flex;
		margin-top: 14px;
	}

	.gwh-signature .gwh-hero {
		padding: 58px 0 66px;
	}

	.gwh-signature .gwh-hero__copy {
		padding: 30px 24px;
		border-radius: 22px;
	}

	.gwh-signature .gwh-hero h1 {
		font-size: clamp(2rem, 9vw, 3.15rem);
	}

	.gwh-signature .gwh-hero__actions {
		align-items: stretch;
	}

	.gwh-signature .gwh-hero__actions .gwh-button {
		width: 100%;
	}
}

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