/* #521: native editor/public layout parity. Customer content/tokens stay owned. */
.d-hero.project-led,
.sp-builder-hero.v-project-led {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
	align-items: center;
	gap: clamp(24px, 4vw, 64px);
}
.d-hero.product-stage,
.sp-builder-hero.v-product-stage {
	display: grid;
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
	align-items: center;
	gap: 32px;
}
.d-hero.product-stage .d-media,
.sp-builder-hero.v-product-stage .sp-builder-media {
	aspect-ratio: 1;
	min-height: 0;
}
.d-hero.campaign-cover,
.sp-builder-hero.v-campaign-cover {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	position: relative;
	isolation: isolate;
	min-height: clamp(380px, 45vw, 640px);
}
.d-hero.campaign-cover > .d-media,
.sp-builder-hero.v-campaign-cover > .sp-builder-media {
	grid-area: 1 / 1;
	min-height: 380px;
	width: 100%;
}
.d-hero.campaign-cover > .d-hero-copy,
.sp-builder-hero.v-campaign-cover > .sp-builder-copy {
	grid-area: 1 / 1;
	z-index: 1;
	align-self: center;
	justify-self: start;
	max-width: min(660px, 90%);
	padding: clamp(24px, 4vw, 56px);
	background: inherit;
	box-sizing: border-box;
}
.design-section.v-media-left .d-text-image,
.sp-builder-text.v-media-left {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	align-items: center;
	gap: clamp(24px, 4vw, 56px);
}
.design-section.v-media-left .d-media,
.sp-builder-text.v-media-left .sp-builder-text-media {
	grid-column: 1;
	grid-row: 1;
}
.design-section.v-media-left .d-copy,
.sp-builder-text.v-media-left .sp-builder-text-copy {
	grid-column: 2;
	grid-row: 1;
}
.design-section.v-editorial-statement .d-text-image,
.sp-builder-text.v-editorial-statement {
	display: block;
	max-width: 1100px;
	margin-inline: auto;
}
.design-section.v-editorial-statement .d-copy,
.sp-builder-text.v-editorial-statement .sp-builder-text-copy {
	max-width: 920px;
}
.design-section.v-editorial-statement h2,
.sp-builder-text.v-editorial-statement h2 {
	font-size: clamp(28px, 4vw, 56px);
	line-height: 1.12;
	letter-spacing: -0.035em;
}
.design-section.v-editorial-statement .d-media,
.sp-builder-text.v-editorial-statement .sp-builder-text-media {
	display: none;
}
.design-section.v-bento .d-benefits,
.sp-builder-benefits.v-bento .sp-benefits {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}
.design-section.v-bento .d-benefits > div,
.sp-builder-benefits.v-bento .sp-benefits > div {
	padding: 24px;
	border: 1px solid currentColor;
	border-radius: var(--theme-radius, 8px);
}
.design-section.v-bento .d-benefits > div:first-child,
.sp-builder-benefits.v-bento .sp-benefits > div:first-child {
	grid-column: span 2;
}
.design-section.v-numbered-steps .d-benefits,
.sp-builder-benefits.v-numbered-steps .sp-benefits {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 32px;
	list-style: decimal;
	list-style-position: inside;
	padding: 0;
}
.design-section.v-numbered-steps .d-benefits > li,
.sp-builder-benefits.v-numbered-steps .sp-benefits > li {
	display: list-item;
	padding: 24px 0;
	border-top: 1px solid currentColor;
}
/* Steps are text on the section, not cards. Do not inherit the old pale
   benefits grid or its independent surface-card foreground. */
body.alki-master-surface .sp-builder-benefits.v-numbered-steps .sp-benefits,
body.alki-master-surface
	section.sp-builder-benefits.v-numbered-steps
	.sp-benefits
	> li,
#siteCanvas .design-section.v-numbered-steps .d-benefits,
#siteCanvas .design-section.v-numbered-steps .d-benefits > li {
	background: transparent;
	color: inherit;
}
body.alki-master-surface
	section.sp-builder-benefits.v-numbered-steps
	.sp-benefits
	> li
	:is(b, p),
#siteCanvas .design-section.v-numbered-steps .d-benefits > li :is(b, p) {
	color: inherit;
}
.design-section.v-editorial-mosaic .d-grid,
.sp-builder-gallery.v-editorial-mosaic .sp-gallery-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}
.design-section.v-editorial-mosaic .d-gallery-media:first-child,
.sp-builder-gallery.v-editorial-mosaic .sp-gallery-grid > div:first-child {
	grid-column: span 2;
	grid-row: span 2;
	aspect-ratio: 1;
}
.design-section.v-editorial-mosaic .d-gallery-media,
.sp-builder-gallery.v-editorial-mosaic .sp-gallery-grid > div {
	min-width: 0;
	overflow: hidden;
}
.sp-builder-gallery.v-editorial-mosaic .sp-gallery-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
@media (max-width: 820px) {
	.d-hero.project-led,
	.d-hero.product-stage,
	.sp-builder-hero.v-project-led,
	.sp-builder-hero.v-product-stage,
	.design-section.v-media-left .d-text-image,
	.sp-builder-text.v-media-left {
		grid-template-columns: minmax(0, 1fr);
	}
	.design-section.v-media-left .d-media,
	.design-section.v-media-left .d-copy,
	.sp-builder-text.v-media-left .sp-builder-text-media,
	.sp-builder-text.v-media-left .sp-builder-text-copy {
		grid-column: auto;
		grid-row: auto;
	}
	.design-section.v-numbered-steps .d-benefits,
	.sp-builder-benefits.v-numbered-steps .sp-benefits {
		grid-template-columns: minmax(0, 1fr);
		gap: 12px;
	}
	.design-section.v-bento .d-benefits,
	.sp-builder-benefits.v-bento .sp-benefits {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.design-section.v-editorial-mosaic .d-grid,
	.sp-builder-gallery.v-editorial-mosaic .sp-gallery-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.design-section.v-editorial-mosaic .d-gallery-media:first-child,
	.sp-builder-gallery.v-editorial-mosaic .sp-gallery-grid > div:first-child {
		grid-row: auto;
	}
}
@media (max-width: 520px) {
	.d-hero.campaign-cover,
	.sp-builder-hero.v-campaign-cover {
		min-height: 0;
	}
	.d-hero.campaign-cover > .d-hero-copy,
	.d-hero.campaign-cover > .d-media,
	.sp-builder-hero.v-campaign-cover > .sp-builder-copy,
	.sp-builder-hero.v-campaign-cover > .sp-builder-media {
		grid-area: auto;
		max-width: 100%;
		min-height: 0;
	}
	.d-hero.campaign-cover > .d-media,
	.sp-builder-hero.v-campaign-cover > .sp-builder-media {
		min-height: 260px;
	}
	.design-section.v-bento .d-benefits,
	.sp-builder-benefits.v-bento .sp-benefits {
		grid-template-columns: minmax(0, 1fr);
	}
	.design-section.v-bento .d-benefits > div:first-child,
	.sp-builder-benefits.v-bento .sp-benefits > div:first-child {
		grid-column: auto;
	}
}
