:root {
	--nh-theme-bg: #fafaf7;
	--nh-theme-fg: #0f0f10;
	--nh-theme-muted: #6b6b70;
	--nh-theme-border: #e5e3dc;
	--nh-theme-container: 1240px;
	--nh-theme-gutter: clamp(20px, 4vw, 48px);
}

body {
	margin: 0;
	background: var(--nh-theme-bg);
	color: var(--nh-theme-fg);
	font-family: "Helvetica Neue", Helvetica, Arial, system-ui, sans-serif;
}

.nh-theme-container {
	max-width: var(--nh-theme-container);
	margin: 0 auto;
	padding-inline: var(--nh-theme-gutter);
}

.nh-site-header,
.nh-site-footer {
	border-color: var(--nh-theme-border);
	border-style: solid;
	border-width: 0 0 1px;
	padding: 20px 0;
}

.nh-site-footer {
	border-width: 1px 0 0;
}

.nh-site-header .nh-theme-container,
.nh-site-footer .nh-theme-container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

.nh-site-logo {
	color: inherit;
	font-size: 22px;
	font-weight: 600;
	text-decoration: none;
}

.nh-content-loop {
	padding-block: 72px;
}

.nh-archive-card {
	border-bottom: 1px solid var(--nh-theme-border);
	padding: 24px 0;
}

/* === neue-homepage runtime fix v2 === */
body .nh-services__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	width: 100%;
}
body .nh-services__grid > .nh-fade { min-width: 0; }
body .nh-svc { width: 100%; box-sizing: border-box; max-width: 100%; }

@media (max-width: 900px) {
	body { overflow-x: hidden; }
	body .nh-pain__grid,
	body .nh-services__grid { grid-template-columns: 1fr !important; gap: 16px; }
	body .nh-section .nh-container { padding-left: 16px; padding-right: 16px; }
	body .nh-svc { padding: 24px; border-radius: 18px; }
	body .nh-svc h3 { font-size: 22px; }
	body .nh-svc p { font-size: 16px; }
	body .nh-hero__inner { padding-left: 16px; padding-right: 16px; }
	body .nh-section-title { font-size: clamp(28px, 6vw, 36px); }
}

/* Team photo replaces placeholder */
body .nh-about__placeholder { display: none !important; }
body .nh-about__halo { display: none; }
body .nh-about__portrait {
	position: relative;
	width: 100%;
	aspect-ratio: 4 / 5;
	border-radius: 28px;
	overflow: hidden;
	background-image: url('https://neue-homepage.com/wp-content/uploads/2026/05/neue-homepage-team-scaled.jpg');
	background-size: cover;
	background-position: center top;
	box-shadow: 0 30px 80px -20px rgba(0,0,0,0.25);
}

@media (max-width: 900px) {
	body .nh-about__portrait { aspect-ratio: 1 / 1; border-radius: 20px; background-image: url('https://neue-homepage.com/wp-content/uploads/2026/05/neue-homepage-team-683x1024.jpg'); }
	body .nh-about__grid { grid-template-columns: 1fr !important; gap: 24px; }
	body .nh-about__media { max-width: 100%; }
}
