/* =========================================================================
   Contact CTA — homepage closing band. Mirrors the shape and design of
   template-parts/page-cta.php (used on /references/, /partners/, /labs/,
   /team/, /publications/) so all closing CTAs share one visual language.
   Background stays deep-blue via the .surface-deep utility on the section.
   ========================================================================= */
.id30-contact-cta {
	position: relative;
	padding: clamp(40px, 4.5vw, 56px) 24px clamp(44px, 5vw, 64px);
	overflow: hidden;
}

.id30-contact-cta__glow {
	position: absolute;
	right: -120px;
	bottom: -120px;
	width: 480px;
	height: 480px;
	border-radius: 9999px;
	opacity: 0.32;
	filter: blur(40px);
	background: radial-gradient(closest-side, rgba(226, 39, 1, 0.85), transparent 70%);
	pointer-events: none;
}

.id30-contact-cta__inner {
	position: relative;
	max-width: 1200px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
}

@media (min-width: 720px) {
	.id30-contact-cta__inner {
		grid-template-columns: minmax(0, 60ch) auto;
		gap: clamp(32px, 4vw, 64px);
		align-items: center;
		justify-content: center;
	}
}

.id30-contact-cta__text {
	min-width: 0;
}

.id30-contact-cta__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	font-family: var(--font-mono);
	font-size: 11px;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.7);
	margin: 0 0 16px;
}

.id30-contact-cta__eyebrow::before {
	content: "";
	display: inline-block;
	width: 28px;
	height: 1px;
	background-color: var(--color-ember);
}

.id30-contact-cta__heading {
	font-family: var(--font-title);
	font-weight: 300;
	font-size: clamp(1.55rem, 3vw, 2.2rem);
	line-height: 1.1;
	letter-spacing: -0.018em;
	color: #fff;
	margin: 0 0 14px;
	max-width: 26ch;
}

.id30-contact-cta__copy {
	font-family: var(--font-body);
	font-size: 14.5px;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.78);
	max-width: 60ch;
	margin: 0;
}

.id30-contact-cta__button {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 13px 22px;
	border-radius: 9999px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.02em;
	color: #fff;
	background-color: var(--color-ember);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.2),
		0 10px 24px -10px rgba(226, 39, 1, 0.55);
	transition: opacity 200ms, transform 150ms;
	text-decoration: none;
}

.id30-contact-cta__button:hover { opacity: 0.94; }
.id30-contact-cta__button:active { transform: translateY(1px); }

.id30-contact-cta__button svg {
	transition: transform 150ms ease;
}

.id30-contact-cta__button:hover svg {
	transform: translate(2px, -2px);
}
