:root {
	--njnh-navy: #123b4a;
	--njnh-teal: #0b666b;
	--njnh-mint: #e8f4f1;
	--njnh-cream: #fbfaf6;
	--njnh-gold: #c89b3c;
	--njnh-radius: 18px;
}

body.njnh-dynamic-theme {
	background:
		radial-gradient(circle at 8% 4%, rgba(115, 190, 176, .1), transparent 28rem),
		linear-gradient(180deg, #f9fcfb 0, #f7faf9 100%);
	color: #17313b;
}

.njnh-dynamic-theme .njnhux-slider {
	isolation: isolate;
	outline: 1px solid rgba(255, 255, 255, .04);
	box-shadow: 0 34px 90px rgba(9, 42, 53, .23), 0 2px 0 rgba(255, 255, 255, .08) inset;
}

.njnh-dynamic-theme .njnhux-slider + .njnhux-discovery {
	margin-top: 1.5rem;
}

.njnh-dynamic-theme .njnhux-slide__link,
.njnh-dynamic-theme .njnhux-button {
	transition: transform .2s ease, background-color .2s ease, color .2s ease, box-shadow .2s ease;
}

.njnh-dynamic-theme .site-header {
	position: sticky;
	top: 0;
	z-index: 80;
	border-bottom-color: rgba(170, 201, 194, .72);
	background: rgba(249, 252, 251, .92);
	box-shadow: 0 10px 34px rgba(18, 59, 74, .06);
	backdrop-filter: blur(14px);
}

.njnh-dynamic-theme :is(h1, h2) {
	text-wrap: balance;
}

.njnh-dynamic-theme :is(.hero, .page-hero, .archive-hero) {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(circle at 82% 12%, rgba(77, 169, 153, .2), transparent 28%),
		linear-gradient(125deg, #eef8f5, #fbfcfb 68%);
}

.njnh-dynamic-theme :is(.card, .facility-card, .entry-card, .wp-block-group.is-style-card) {
	border-radius: var(--njnh-radius) var(--njnh-radius) var(--njnh-radius) 6px;
	box-shadow: 0 14px 38px rgba(18, 59, 74, .07);
	transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.njnh-dynamic-theme :is(button, .button, .wp-element-button, input, select, textarea) {
	min-height: 44px;
}

.njnh-dynamic-theme :is(.button, .wp-element-button, input[type="submit"]) {
	border-radius: 999px;
}

.njnh-dynamic-theme :focus-visible {
	outline: 3px solid rgba(42, 140, 141, .42);
	outline-offset: 3px;
}

.njnh-dynamic-theme .site-footer {
	background: linear-gradient(140deg, #092b37, #123f4d);
}

@media (hover: hover) and (pointer: fine) {
	.njnh-dynamic-theme .njnhux-slide__link:hover,
	.njnh-dynamic-theme .njnhux-slide__link:focus-visible {
		transform: translateY(-2px);
		box-shadow: 0 14px 32px rgba(4, 26, 33, .24);
	}

	.njnh-dynamic-theme :is(.facility-card, .entry-card, .wp-block-group.is-style-card):hover,
	.njnh-dynamic-theme :is(.facility-card, .entry-card, .wp-block-group.is-style-card):focus-within {
		transform: translateY(-3px);
		border-color: #91bfb7;
		box-shadow: 0 20px 48px rgba(18, 59, 74, .11);
	}
}

@media (max-width: 782px) {
	.njnh-dynamic-theme .site-header { position: relative; }
	.njnh-dynamic-theme :is(.hero, .page-hero, .archive-hero) { padding-inline: 1rem; }
	.njnh-dynamic-theme .njnhux-slider + .njnhux-discovery { margin-top: 1rem; }
}

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