/**
 * Homepage rendering budget.
 * Keeps the visual design while preventing perpetual GPU compositing.
 */

/*
 * Modern homepage widgets previously inherited border-box from the retired
 * legacy home stylesheet. Keep that contract scoped to the builder so a
 * widget's padding can never increase its rendered width beyond the viewport.
 */
body.home .luna-builder-document,
body.home .luna-builder-document *,
body.home .luna-builder-document *::before,
body.home .luna-builder-document *::after {
	box-sizing: border-box;
}

body.home .luna-builder-document {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	overflow-x: clip;
}

/* The cutout hero inherited a second, legacy animation set from widgets.css. */
body.home .luna-widget-hero,
body.home .luna-widget-hero::before,
body.home .luna-widget-hero .luna-cutout-hero__image,
body.home .luna-widget-hero .luna-cutout-hero__halo,
body.home .luna-widget-hero .luna-cutout-hero__eyebrow,
body.home .luna-widget-hero h1 em,
body.home .luna-widget-hero .luna-cutout-hero__primary::before,
body.home .luna-widget-hero .luna-cutout-hero__primary b,
body.home .luna-widget-hero .luna-cutout-hero__secondary i,
body.home .luna-widget-hero .luna-cutout-hero__badge,
body.home .luna-widget-hero .luna-cutout-hero__benefit,
body.home .luna-widget-hero .luna-cutout-hero__benefit-icon {
	animation: none !important;
	will-change: auto !important;
}

/* Large live blur layers are expensive on Safari and integrated GPUs. */
body.home .luna-cutout-hero__badge,
body.home .luna-cutout-hero__benefits,
body.home .luna-cutout-hero__visual figcaption,
body.home .luna-home-story__shell,
body.home .luna-home-service-card {
	-webkit-backdrop-filter: none !important;
	backdrop-filter: none !important;
}

/* One decorative moon does not need to keep a compositor layer alive forever. */
body.home .luna-home-story__moon,
body.home .luna-home-story__moon::before,
body.home .luna-home-story__moon::after {
	animation: none !important;
	will-change: auto !important;
}

/* Defer layout/paint of sections until they approach the viewport. */
@supports (content-visibility: auto) {
	body.home .luna-builder-document .luna-widget:not(.luna-widget-hero) {
		content-visibility: auto;
		contain-intrinsic-size: auto 620px;
	}
}

/* Avoid costly hover lighting on touch and lower-precision devices. */
@media (hover: none), (pointer: coarse), (max-width: 760px) {
	body.home .liquid-hover-target::after {
		display: none !important;
	}
	body.home .liquid-hover-target:hover {
		transform: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.home *,
	body.home *::before,
	body.home *::after {
		scroll-behavior: auto !important;
	}
}
