/* Gutenberg wrappers should not fight the designed layout. */
.wp-site-blocks,
.wp-site-blocks > * {
	margin: 0;
}

.wp-site-blocks,
.wp-block-post-content,
main.wp-block-group {
	overflow: visible;
}

/* Keep the hero clipPath SVG at 0×0 so global svg { height: auto } cannot break it. */
.cd-hero-clip {
	position: absolute !important;
	width: 0 !important;
	height: 0 !important;
	overflow: hidden !important;
}

main.wp-block-group,
.wp-block-group {
	margin-block-start: 0;
}

.wp-block-post-content,
.entry-content {
	margin: 0;
	max-width: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* WordPress flow layout adds vertical gaps and can override display:grid. */
.wp-block-post-content.is-layout-flow > * + *,
.wp-block-group.is-layout-flow > * + *,
.wp-block-group-is-layout-flow > * + * {
	margin-block-start: 0 !important;
}

.wp-block-group.grid,
.wp-block-group.grid-2,
.wp-block-group.grid-3,
.wp-block-group.split,
.wp-block-group.tailored-grid,
.wp-block-group.therapist-grid,
.wp-block-group.benefits-grid,
.wp-block-group.space-grid {
	display: grid !important;
}

.wp-block-group.grid-2 {
	grid-template-columns: repeat(2, 1fr) !important;
}

.wp-block-group.grid-3 {
	grid-template-columns: repeat(3, 1fr) !important;
}

.wp-block-group.split {
	grid-template-columns: 1.05fr 0.95fr !important;
	gap: clamp(2rem, 5vw, var(--sp-8)) !important;
	align-items: center !important;
}

.wp-block-group.tailored-grid {
	grid-template-columns: repeat(4, 1fr) !important;
}

.wp-block-group.therapist-grid {
	grid-template-columns: 0.86fr 1.18fr 0.72fr !important;
	gap: clamp(1.6rem, 3.5vw, 2.8rem) !important;
	align-items: center !important;
}

.wp-block-group.benefits-grid {
	grid-template-columns: 1.55fr repeat(6, 1fr) !important;
	align-items: center !important;
	gap: 0 !important;
}

.wp-block-group.space-grid {
	grid-template-columns: repeat(4, 1fr) !important;
	gap: clamp(1rem, 2.4vw, 1.6rem) !important;
}

.wp-block-group.card,
.wp-block-group.feature,
.wp-block-group.btn-group,
.wp-block-group.hero-actions,
.wp-block-group.card-body,
.wp-block-group.access-strip-inner,
.wp-block-group.title-orn,
.wp-block-group.lotus-rule,
.wp-block-group.access-block,
.cta-strip > .wp-block-group.container {
	display: flex !important;
}

.wp-block-group.card,
.wp-block-group.card-body {
	flex-direction: column !important;
}

.wp-block-group.btn-group,
.wp-block-group.hero-actions,
.wp-block-group.access-strip-inner,
.wp-block-group.title-orn,
.wp-block-group.lotus-rule,
.cta-strip > .wp-block-group.container {
	flex-wrap: wrap;
	align-items: center;
}

.wp-block-group.prose > * + * {
	margin-block-start: var(--sp-4) !important;
}

@media (max-width: 960px) {
	.wp-block-group.split,
	.wp-block-group.therapist-grid {
		grid-template-columns: 1fr !important;
	}

	.wp-block-group.grid-3 {
		grid-template-columns: repeat(2, 1fr) !important;
	}

	.wp-block-group.tailored-grid,
	.wp-block-group.space-grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}

	.wp-block-group.benefits-grid {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

@media (max-width: 620px) {
	.wp-block-group.grid-2,
	.wp-block-group.grid-3 {
		grid-template-columns: 1fr !important;
	}

	.wp-block-group.access-strip-inner {
		flex-direction: column !important;
	}
}

.wp-block-post-content > *:first-child {
	margin-top: 0;
}

.editor-styles-wrapper .wp-block-html {
	max-width: none;
}

.wp-block-post-content .wp-block-group,
.editor-styles-wrapper .wp-block-group {
	max-width: none;
}

.wp-block-group.grid > *,
.wp-block-group.grid-2 > *,
.wp-block-group.grid-3 > *,
.wp-block-group.split > *,
.wp-block-group.tailored-grid > *,
.wp-block-group.therapist-grid > *,
.wp-block-group.benefits-grid > *,
.wp-block-group.space-grid > *,
.wp-block-group.card > *,
.wp-block-group.arch-photo > * {
	min-width: 0;
	max-width: 100%;
}

.wp-block-image,
.wp-block-image figure,
figure.wp-block-image {
	margin: 0 !important;
	max-width: 100% !important;
}

.wp-block-image img {
	display: block;
	max-width: 100% !important;
	height: auto;
}

.card > .wp-block-image,
.split > .wp-block-image,
.arch-photo > .wp-block-image,
.arch-photo .wp-block-image {
	width: 100% !important;
}

.tailored-head p {
	max-width: 62ch !important;
	margin: 0.6rem auto 0 !important;
	text-align: center !important;
	color: var(--color-text-muted);
}

.tailored-ic img {
	width: auto !important;
	max-width: 60% !important;
	max-height: 60% !important;
	height: auto !important;
}

.benefit img {
	width: auto !important;
	height: clamp(38px, 4vw, 48px) !important;
	margin: 0 auto var(--sp-3) !important;
}

.creds-arch img {
	width: clamp(100px, 11vw, 138px) !important;
	height: auto !important;
}

.arch-photo {
	max-width: 420px;
}

.arch-photo img {
	width: 100% !important;
	aspect-ratio: 4 / 5;
	object-fit: cover;
}

.space-item img {
	width: 100% !important;
	aspect-ratio: 4 / 5 !important;
	object-fit: cover !important;
}

.wp-block-group.creds-arch {
	display: flex !important;
	flex-direction: column !important;
	justify-content: center !important;
}

.section-head,
.section-head p,
.title-orn,
.tailored-head {
	text-align: center;
}

.wp-block-group.feature:not(:has(.feat-icon)) {
	flex-direction: column !important;
	align-items: flex-start !important;
}

.wp-block-group.feature:has(.feat-icon) {
	flex-direction: row !important;
	align-items: flex-start !important;
}

.wp-block-group.feature-body {
	flex: 1;
	min-width: 0;
}

.card .card-media img,
.wp-block-image.card-media img,
figure.card-media img {
	aspect-ratio: 16 / 10;
	width: 100%;
	object-fit: cover;
	display: block;
}

.lotus-rule .wp-block-image,
.lotus-rule figure {
	margin: 0 !important;
	width: auto !important;
}

.lotus-rule img {
	width: 50px;
	height: auto;
}

.split > .wp-block-image img {
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow);
	width: 100%;
	height: auto;
}

.space-item.wp-block-image,
figure.space-item {
	margin: 0;
	text-align: center;
}

.hero-blob .wp-block-group,
.hero-blob video {
	width: 100%;
	height: 100%;
}

.hero--split h1.wp-block-heading {
	margin: 0;
}

.page-hero h1.wp-block-heading {
	margin: 0;
}

.btn-group.wp-block-group {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem;
}

.btn-group.wp-block-group p {
	margin: 0;
}

.cta-band .btn-group {
	justify-content: center;
}

.cta-band h2.wp-block-heading {
	color: #fff;
}

.prose .wp-block-heading {
	margin-top: var(--sp-6);
}

.prose .wp-block-heading:first-child,
.page-hero .wp-block-heading {
	margin-top: 0;
}

.split {
	align-items: start;
}

.feature .wp-block-heading {
	margin: 0 0 0.4rem;
}

p.btn-group {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	align-items: center;
}
