/* Balanced desktop columns; text and illustration stack on phones. */
.np-block.hero {
	min-height: 530px;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	align-items: center;
	gap: clamp(24px, 4vw, 56px);
	padding: 56px max(24px, calc((100% - 1180px) / 2));
	position: relative;
	overflow: hidden;
	isolation: isolate;
	color: var(--hero-text, #fff);
	background: radial-gradient(circle at 68% 35%, var(--hero-glow, #ab93ff), transparent 35%),
		radial-gradient(circle at 10% 95%, var(--hero-shadow, #2a1b76), transparent 42%),
		linear-gradient(120deg, var(--hero-start, #352083), var(--hero-middle, #7049df) 55%, var(--hero-end, #4f2aba));
}
.np-block.hero:not(:has(.hero-art)) { grid-template-columns: minmax(0, 1fr); }
.np-block.hero .hero-copy { min-width: 0; max-width: 640px; position: relative; z-index: 2; }
.np-block.hero h1 { font-size: clamp(36px, 4.8vw, 64px); line-height: 1.08; letter-spacing: -.035em; margin: 0; font-weight: 700; overflow-wrap: break-word; text-wrap: balance; }
.np-block.hero h1 em { font-family: Georgia, "Times New Roman", serif; font-weight: 600; }
.np-block.hero .hero-text { line-height: 1.6; max-width: 510px; margin: 22px 0; }
.np-block.hero .hero-buttons { display: flex; align-items: center; flex-wrap: wrap; gap: 18px 24px; }
.np-block.hero .hero-art { min-width: 0; width: 100%; max-width: 560px; justify-self: center; }
.np-block.hero .hero-image { display: block; width: 100%; height: auto; max-height: 480px; object-fit: contain; }
@media (max-width: 760px) {
	.np-block.hero { grid-template-columns: minmax(0, 1fr); min-height: 0; padding: 36px 20px 24px; gap: 24px; }
	.np-block.hero h1 { font-size: clamp(30px, 8vw, 42px); line-height: 1.12; }
	.np-block.hero .hero-copy { width: 100%; max-width: none; }
	.np-block.hero .hero-text { max-width: none; margin: 18px 0 22px; }
	.np-block.hero .hero-buttons { gap: 16px; }
	.np-block.hero .hero-art { max-width: 380px; }
	.np-block.hero .hero-image { max-height: 340px; }
}
