/* Dark CTA band (spec §4.20). --home: section 80/112, radius 32, 2-col grid; --page: section 64/80, radius 16, max-w 672. */
.cta-section { background-color: var(--color-white); }
.cta-section--home { padding-block: calc(var(--spacing) * 20); }
.cta-section--page { padding-block: calc(var(--spacing) * 16); }
@media (min-width: 48rem) {
	.cta-section--home { padding-block: calc(var(--spacing) * 28); }
	.cta-section--page { padding-block: calc(var(--spacing) * 20); }
}
.cta-band { position: relative; overflow: hidden; background-color: var(--color-brand-dark); padding: calc(var(--spacing) * 8); }
.cta-band--home { border-radius: var(--radius-4xl); }
.cta-band--page { border-radius: var(--radius-2xl); }
@media (min-width: 48rem) { .cta-band { padding: calc(var(--spacing) * 12); } }
@media (min-width: 64rem) { .cta-band { padding: calc(var(--spacing) * 16); } }
.cta-band__glow { position: absolute; inset: 0; background-image: radial-gradient(ellipse at bottom, var(--color-orange-15a), transparent 60%); }
.cta-band__inner { position: relative; }
.cta-band--home .cta-band__stripe-wrap { margin-bottom: calc(var(--spacing) * 8); }
.cta-band--page .cta-band__stripe-wrap { margin-bottom: calc(var(--spacing) * 6); }
.cta-band--home .cta-band__layout { display: grid; gap: calc(var(--spacing) * 10); align-items: center; }
@media (min-width: 64rem) { .cta-band--home .cta-band__layout { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.cta-band--page .cta-band__layout { max-width: var(--container-2xl); }
.cta-band__title {
	font-size: var(--text-2xl);
	line-height: var(--text-2xl-lh);
	font-weight: var(--font-weight-bold);
	color: var(--color-white);
	margin-bottom: calc(var(--spacing) * 4);
}
@media (min-width: 48rem) { .cta-band__title { font-size: var(--text-3xl); line-height: var(--text-3xl-lh); } }
.cta-band__text { color: var(--color-white-70); }
.cta-band--home .cta-band__text { margin-bottom: calc(var(--spacing) * 6); }
.cta-band--page .cta-band__text { margin-bottom: calc(var(--spacing) * 8); }
.cta-band__address { font-size: var(--text-sm); line-height: var(--text-sm-lh); color: var(--color-white-50); margin-bottom: calc(var(--spacing) * 8); }
.cta-band__buttons { display: flex; flex-direction: column; gap: calc(var(--spacing) * 3); }
@media (min-width: 40rem) { .cta-band__buttons { flex-direction: row; } }
