/**
 * HOME architectural edge-light between sections.
 * Replaces the previous broad halo glow.
 * Width is always ≤ viewport; no 100vw / 120% layers.
 */

.jm-what__why,
.jm-live,
.jm-about,
.jm-studio,
.jm-cta,
.jm-site-footer {
	position: relative;
}

.jm-what__why-inner,
.jm-live__inner,
.jm-about__inner,
.jm-studio__inner,
.jm-cta__inner,
.jm-site-footer__inner {
	position: relative;
	z-index: 2;
}

.jm-cta {
	z-index: 2;
	overflow-x: clip;
}

.jm-what__why::after,
.jm-live::before,
.jm-live::after,
.jm-about::before,
.jm-about::after,
.jm-studio::before,
.jm-studio::after,
.jm-cta::before,
.jm-cta::after,
.jm-site-footer::before {
	content: "";
	position: absolute;
	left: 50%;
	width: min(78vw, 1280px);
	max-width: 100%;
	pointer-events: none;
	z-index: 1;
	transform: translateX(-50%);
}

/* Shared 1px luminous core, fading at both ends. */
.jm-what__why::after,
.jm-live::after,
.jm-about::after,
.jm-cta::before,
.jm-cta::after {
	height: 1px;
	background: linear-gradient(
		90deg,
		rgba(184, 155, 106, 0) 0%,
		rgba(184, 155, 106, 0.42) 14%,
		rgba(244, 240, 232, 0.55) 50%,
		rgba(184, 155, 106, 0.42) 86%,
		rgba(184, 155, 106, 0) 100%
	);
}

/* Shared near-reflection + short falloff. */
.jm-live::before,
.jm-about::before,
.jm-studio::before,
.jm-studio::after,
.jm-site-footer::before {
	height: 14px;
	background: linear-gradient(
		90deg,
		rgba(184, 155, 106, 0) 0%,
		rgba(184, 155, 106, 0.16) 50%,
		rgba(184, 155, 106, 0) 100%
	);
	filter: blur(11px);
}

/* WHY THIS APPROACH ↓ LIVE */
.jm-what__why::after {
	bottom: 0;
	box-shadow: 0 5px 14px rgba(20, 19, 17, 0.16);
}

.jm-live::before {
	top: 0;
	height: 16px;
	background: linear-gradient(
		90deg,
		rgba(184, 155, 106, 0) 0%,
		rgba(244, 240, 232, 0.18) 50%,
		rgba(184, 155, 106, 0) 100%
	);
	filter: blur(12px);
	box-shadow: 0 18px 26px rgba(184, 155, 106, 0.05);
}

/* LIVE ↓ ABOUT — thin edge + micro-shadow; barely any stain */
.jm-live::after {
	bottom: 0;
	background: linear-gradient(
		90deg,
		rgba(184, 155, 106, 0) 0%,
		rgba(184, 155, 106, 0.4) 16%,
		rgba(244, 240, 232, 0.46) 50%,
		rgba(184, 155, 106, 0.4) 84%,
		rgba(184, 155, 106, 0) 100%
	);
	box-shadow: 0 5px 14px rgba(20, 19, 17, 0.12);
}

.jm-about::before {
	top: 0;
	height: 12px;
	background: linear-gradient(
		90deg,
		rgba(184, 155, 106, 0) 0%,
		rgba(184, 155, 106, 0.1) 50%,
		rgba(184, 155, 106, 0) 100%
	);
	filter: blur(10px);
	box-shadow: 0 16px 22px rgba(184, 155, 106, 0.03);
}

/* ABOUT ↓ STUDIO */
.jm-about::after {
	bottom: 0;
	height: 2px;
	box-shadow: 0 5px 14px rgba(20, 19, 17, 0.18);
}

.jm-studio::before {
	top: 0;
	height: 16px;
	background: linear-gradient(
		90deg,
		rgba(184, 155, 106, 0) 0%,
		rgba(244, 240, 232, 0.2) 50%,
		rgba(184, 155, 106, 0) 100%
	);
	filter: blur(12px);
	box-shadow: 0 20px 28px rgba(184, 155, 106, 0.06);
}

/* CONTACT ↑ STUDIO */
.jm-cta::before {
	top: 0;
	box-shadow: 0 -5px 14px rgba(20, 19, 17, 0.16);
}

.jm-studio::after {
	bottom: 0;
	height: 14px;
	background: linear-gradient(
		90deg,
		rgba(184, 155, 106, 0) 0%,
		rgba(244, 240, 232, 0.14) 50%,
		rgba(184, 155, 106, 0) 100%
	);
	filter: blur(12px);
	box-shadow: 0 -16px 24px rgba(184, 155, 106, 0.05);
}

/* CONTACT ↓ FOOTER */
.jm-cta::after {
	bottom: 0;
	height: 2px;
	box-shadow: 0 5px 14px rgba(20, 19, 17, 0.16);
}

.jm-site-footer::before {
	top: 0;
	height: 16px;
	background: linear-gradient(
		90deg,
		rgba(184, 155, 106, 0) 0%,
		rgba(244, 240, 232, 0.22) 50%,
		rgba(184, 155, 106, 0) 100%
	);
	filter: blur(12px);
	box-shadow: 0 18px 26px rgba(184, 155, 106, 0.06);
}

@media (max-width: 980px) {
	.jm-what__why::after,
	.jm-live::before,
	.jm-live::after,
	.jm-about::before,
	.jm-about::after,
	.jm-studio::before,
	.jm-studio::after,
	.jm-cta::before,
	.jm-cta::after,
	.jm-site-footer::before {
		width: min(74vw, 100%);
	}

	.jm-live::before,
	.jm-studio::before,
	.jm-studio::after,
	.jm-site-footer::before {
		height: 12px;
		filter: blur(10px);
	}
}

@media (max-width: 767px) {
	.jm-what__why::after,
	.jm-live::after,
	.jm-about::after,
	.jm-cta::before,
	.jm-cta::after {
		height: 1px;
	}

	.jm-live::before,
	.jm-about::before,
	.jm-studio::before,
	.jm-studio::after,
	.jm-site-footer::before {
		height: 10px;
		filter: blur(9px);
	}

	.jm-live::before,
	.jm-studio::before,
	.jm-site-footer::before {
		box-shadow: 0 14px 20px rgba(184, 155, 106, 0.04);
	}

	.jm-studio::after {
		box-shadow: 0 -14px 20px rgba(184, 155, 106, 0.04);
	}
}
