.ab-section {
	--ab-ink: var(--wp--preset--color--ink, #20312e);
	--ab-muted: var(--wp--preset--color--muted, #5a6b6e);
	--ab-accent: var(--wp--preset--color--teal-dark, #006669);
	--ab-surface: var(--wp--preset--color--surface, #f4f9f8);
	--ab-line: var(--wp--preset--color--line, #b8d8d6);
	--ab-white: var(--wp--preset--color--white, #fff);
	--ab-radius: var(--wp--custom--brain-balance--radius--medium, 1.25rem);
	padding-block: clamp(3.5rem, 8vw, 7rem);
}

.advantage-builder-canvas {
	min-height: 60vh;
	overflow: clip;
}

.ab-section > :first-child {
	margin-top: 0;
}

.ab-section > :last-child {
	margin-bottom: 0;
}

.ab-section--tint {
	background: var(--ab-surface);
}

.ab-hero {
	min-height: clamp(34rem, 75vh, 50rem);
	display: grid;
	align-items: center;
}

.ab-hero--conversion,
.ab-hero--content,
.ab-hero--contact {
	min-height: auto;
}

.ab-hero--compact {
	min-height: clamp(30rem, 64vh, 42rem);
}

.advantage-builder-canvas .wp-block-buttons {
	flex-wrap: wrap;
}

.advantage-builder-canvas .wp-block-button__link {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	padding: 0.78rem 1.35rem;
	border: 1px solid var(--ab-accent) !important;
	border-radius: 999px;
	background-color: var(--ab-accent) !important;
	color: var(--ab-white) !important;
	font-weight: 700 !important;
	line-height: 1.2;
	text-decoration: none;
	text-transform: none !important;
}

.advantage-builder-canvas .wp-block-button__link:hover {
	border-color: color-mix(in srgb, var(--ab-accent) 82%, #000) !important;
	background-color: color-mix(in srgb, var(--ab-accent) 82%, #000) !important;
}

.advantage-builder-canvas .is-style-outline > .wp-block-button__link {
	background-color: transparent !important;
	color: var(--ab-accent) !important;
}

.advantage-builder-canvas .is-style-outline > .wp-block-button__link:hover {
	background-color: color-mix(in srgb, var(--ab-accent) 8%, transparent) !important;
}

.advantage-builder-canvas .wp-block-button__link:focus-visible {
	outline: 3px solid color-mix(in srgb, var(--ab-accent) 38%, transparent);
	outline-offset: 3px;
}

.ab-eyebrow {
	display: inline-flex;
	width: fit-content;
	margin-bottom: 1.25rem;
	padding: 0.42rem 0.8rem;
	border-radius: 999px;
	background: var(--ab-accent);
	color: var(--ab-white) !important;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.055em;
	line-height: 1.2;
	text-transform: uppercase;
}

.ab-hero--conversion .ab-eyebrow,
.ab-hero--content .ab-eyebrow,
.ab-hero--contact .ab-eyebrow {
	display: flex;
	margin-inline: auto;
}

.ab-card-grid {
	align-items: stretch;
}

.ab-card {
	height: 100%;
	padding: clamp(1.25rem, 3vw, 2rem);
	border: 1px solid color-mix(in srgb, var(--ab-line) 78%, transparent);
	border-radius: var(--ab-radius);
	background: var(--ab-white);
	box-shadow: 0 18px 50px rgb(32 49 46 / 6%);
}

.ab-media-placeholder {
	display: grid;
	min-height: clamp(20rem, 42vw, 34rem);
	place-items: center;
	padding: 2rem;
	border: 1px dashed var(--ab-line);
	border-radius: var(--ab-radius);
	background: linear-gradient(145deg, var(--ab-surface), var(--ab-white));
	color: var(--ab-muted);
	text-align: center;
}

.ab-steps .wp-block-column {
	padding-top: 1.25rem;
	border-top: 2px solid var(--ab-line);
}

.ab-cta {
	background: var(--ab-ink);
	color: var(--ab-white);
}

.ab-cta :where(h2, p) {
	color: inherit;
}

.ab-testimonial {
	max-width: 820px;
	margin-inline: auto;
	padding: clamp(1.5rem, 4vw, 3rem);
	border: 0;
	border-radius: var(--ab-radius);
	background: var(--ab-white);
}

.ab-form-placeholder {
	min-height: 22rem;
}

@media (max-width: 781px) {
	.ab-section {
		padding-block: clamp(3rem, 12vw, 4.5rem);
	}

	.ab-hero {
		min-height: auto;
	}

	.ab-media-placeholder {
		min-height: 18rem;
	}

	.ab-hero .wp-block-buttons,
	.ab-hero .wp-block-button,
	.ab-hero .wp-block-button__link {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ab-section *,
	.ab-section *::before,
	.ab-section *::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}
