/* Partial: cta-banner (global contact banner) */
.sw-cta-banner {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-block-size: 36rem;
	padding-block: var(--space-40);
	background: var(--color-bg-alt);
	overflow: hidden;
}

.sw-cta-banner__media { position: absolute; inset: 0; overflow: hidden; }
.sw-cta-banner__media::after { content: ""; position: absolute; inset: 0; background: rgb(35 35 35 / 0.2); }
.sw-cta-banner__image { inline-size: 100%; block-size: 100%; object-fit: cover; }

/* Parallax on scroll: .sw-parallax (blocks.css, assets/js/parallax.js) */

.sw-cta-banner__container { position: relative; }

.sw-cta-banner__panel {
	--cut: var(--cut-m);
	display: grid;
	gap: var(--gap-m);
	padding: var(--space-40) var(--space-24);
	background: var(--color-secondary);
}

.sw-cta-banner__title { max-inline-size: 29rem; }
.sw-cta-banner__body { display: grid; gap: var(--gap-m); max-inline-size: 33rem; }

.sw-cta-banner__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: var(--space-24) var(--gap-l);
}

.sw-cta-banner__contact { display: grid; gap: var(--space-4); }

@media (min-width: 62em) {
	.sw-cta-banner { min-block-size: 46.75rem; }

	.sw-cta-banner__panel {
		grid-template-columns: minmax(0, 1fr) minmax(0, 33rem);
		justify-content: space-between;
		padding: var(--space-40) var(--space-80);
	}
}
