/* REBUILD-0076 Home visual90-to95 media-slot and endpoint composition.
 * All frontend rules are Home-scoped. The four SVGs are original starter
 * artwork inside ordinary Image blocks and can be replaced in the Site Editor.
 */
body.home .dscr-home__hero,
body.home .dscr-home__campaign,
body.home .dscr-home__feature {
	position: relative;
	isolation: isolate;
	overflow: hidden;
}

body.home .dscr-home__hero {
	background: #14213b;
	color: #fff;
}

body.home .dscr-home__hero::after {
	position: absolute;
	inset: 0;
	z-index: -1;
	content: "";
	background: linear-gradient(90deg, rgb(8 19 39 / 88%) 0%, rgb(8 19 39 / 58%) 45%, rgb(8 19 39 / 8%) 78%);
	pointer-events: none;
}

body.home .dscr-home__hero-copy {
	position: relative;
	z-index: 2;
}

body.home .dscr-home__hero-copy .wp-block-button__link {
	border: 1px solid rgb(255 255 255 / 42%);
	background: #fff;
	color: #17233c;
	box-shadow: 0 12px 34px rgb(4 12 26 / 24%);
}

body.home .dscr-home__hero-media {
	position: absolute;
	inset: 0;
	z-index: -2;
	width: 100%;
	height: 100%;
	margin: 0 !important;
}

body.home .dscr-home__hero-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

body.home .dscr-home__campaign,
body.home .dscr-home__feature {
	display: grid;
	grid-template-rows: auto auto minmax(150px, 1fr);
	align-content: start;
	gap: var(--wp--preset--spacing--20);
}

body.home .dscr-home__campaign > h2,
body.home .dscr-home__campaign > p,
body.home .dscr-home__feature > h2,
body.home .dscr-home__feature > p {
	position: relative;
	z-index: 1;
	margin-block: 0 !important;
}

body.home .dscr-home__campaign-media,
body.home .dscr-home__feature-media {
	align-self: end;
	width: 100%;
	margin: var(--wp--preset--spacing--20) 0 0 !important;
	overflow: hidden;
	border: 1px solid rgb(255 255 255 / 34%);
	border-radius: calc(var(--wp--custom--border--identity-radius) * 0.72);
	background: rgb(255 255 255 / 24%);
	box-shadow: 0 16px 36px rgb(16 31 50 / 14%);
}

body.home .dscr-home__campaign-media img,
body.home .dscr-home__feature-media img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 150px;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

body.home .dscr-home__campaign--one {
	background: linear-gradient(150deg, #dff4ec, #89c7ba);
	color: #173a43;
}

body.home .dscr-home__feature {
	background: linear-gradient(150deg, #111a31, #263d63);
}

body.home .dscr-home__campaign--two {
	background: linear-gradient(150deg, #f9dfbd, #ef9b5c 64%, #956587);
	color: #2b2132;
}

body.home .dscr-home__section,
body.home .dscr-home__campaign,
body.home .dscr-home__feature,
body.home .dscr-home__media-loops,
body.home .dscr-home__topics,
body.home .dscr-home__reviews,
body.home .dscr-home__updates,
body.home .dscr-home__contact,
body.home .dscr-home__community {
	transform-origin: center bottom;
}

@media (max-width: 1023px) {
	body.home {
		height: 100svh;
		min-height: 100svh;
		padding-bottom: 0 !important;
		overflow: hidden;
	}

	body.home .wp-site-blocks {
		display: grid;
		grid-template-rows: auto minmax(0, 1fr) var(--wp--custom--footer--utility-reserve);
		height: 100svh;
		min-height: 0;
		overflow: hidden;
	}

	body.home main.dscr-home {
		height: auto;
		min-height: 0;
		overflow-x: hidden;
		overflow-y: auto;
		overscroll-behavior-y: contain;
		scroll-padding-block: var(--wp--preset--spacing--30);
	}

	body.home footer.wp-block-template-part {
		position: relative;
		height: var(--wp--custom--footer--utility-reserve);
		min-height: var(--wp--custom--footer--utility-reserve);
		margin: 0 !important;
		background: var(--wp--preset--color--base);
	}

	body.home footer.wp-block-template-part > .dscr-footer {
		height: var(--wp--custom--footer--utility-reserve);
		min-height: var(--wp--custom--footer--utility-reserve);
		margin: 0 !important;
		background: #f4f3f0 !important;
	}

	body.home .dscr-footer__utility {
		position: static;
		inset: auto;
		width: min(100%, var(--wp--custom--footer--utility-compact-max));
		height: var(--wp--custom--footer--utility-reserve);
		min-height: var(--wp--custom--footer--utility-reserve);
		margin-inline: auto !important;
		transform: none;
	}

	body.home .dscr-home__campaign,
	body.home .dscr-home__feature,
	body.home .dscr-home__media-loops,
	body.home .dscr-home__topics,
	body.home .dscr-home__reviews,
	body.home .dscr-home__updates,
	body.home .dscr-home__contact,
	body.home .dscr-home__community {
		width: calc(100% - (2 * var(--wp--preset--spacing--30)));
		margin: var(--wp--preset--spacing--30) var(--wp--preset--spacing--30) 0 !important;
		border-radius: var(--wp--custom--border--identity-radius);
	}

	body.home .dscr-home__campaign,
	body.home .dscr-home__feature {
		padding: var(--wp--preset--spacing--30);
	}

	body.home .dscr-home__campaign-media,
	body.home .dscr-home__feature-media {
		max-height: 220px;
	}

	body.home .dscr-home__campaign-media img,
	body.home .dscr-home__feature-media img {
		min-height: 170px;
		max-height: 220px;
	}

	body.home .dscr-home__review-grid {
		padding-bottom: 0.75rem;
		scrollbar-width: auto;
		scrollbar-color: var(--wp--preset--color--accent) rgb(40 40 40 / 8%);
	}

	body.home .dscr-home__reviews::after {
		display: block;
		margin-top: 0.75rem;
		color: var(--wp--preset--color--muted);
		font-size: 0.75rem;
		font-weight: 700;
		letter-spacing: 0.04em;
		text-align: right;
		content: "Swipe reviews →";
	}

	body.home .dscr-home__media-loops {
		display: none;
	}
}

@media (max-width: 767px) {
	body.home .dscr-home__hero {
		display: flex;
		align-items: flex-end;
		min-height: 250px;
		padding: var(--wp--preset--spacing--30);
	}

	body.home .dscr-home__hero::after {
		background: linear-gradient(0deg, rgb(7 17 34 / 90%) 0%, rgb(7 17 34 / 55%) 58%, rgb(7 17 34 / 8%) 100%);
	}

	body.home .dscr-home__hero-copy {
		width: min(100%, 22rem);
	}

	body.home .dscr-home__hero h1 {
		max-width: 17ch;
		font-size: clamp(1.45rem, 6.1vw, 1.8rem);
	}

	body.home .dscr-home__hero .wp-block-buttons {
		margin-top: var(--wp--preset--spacing--20);
	}

	body.home .dscr-home__hero .wp-block-button__link {
		min-height: 44px;
		padding-inline: var(--wp--preset--spacing--30);
	}

	body.home .dscr-home__campaign > h2,
	body.home .dscr-home__feature > h2 {
		font-size: 1.25rem;
		line-height: 1.15;
	}
}

@media (min-width: 768px) and (max-width: 1023px) {
	body.home .dscr-home__hero {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(260px, 0.8fr);
		align-items: center;
		min-height: 360px;
		padding: var(--wp--preset--spacing--50);
	}

	body.home .dscr-home__hero-copy {
		max-width: 31rem;
	}

	body.home .dscr-home__hero h1 {
		font-size: clamp(2rem, 5vw, 3rem);
	}
}

@media (min-width: 1024px) {
	body.home .dscr-home__hero {
		display: grid;
		grid-template-columns: minmax(0, 0.88fr) minmax(420px, 1.12fr);
		align-items: center;
		min-height: clamp(620px, 52vw, 790px);
	}

	body.home .dscr-home__hero-copy {
		max-width: 38rem;
	}

	body.home .dscr-home__hero h1 {
		max-width: 12ch;
		font-size: clamp(3rem, 4.3vw, 5rem);
		line-height: 0.98;
	}

	body.home .dscr-home__hero-copy > p:not(.dscr-home__eyebrow) {
		max-width: 31rem;
		font-size: 1.125rem;
		line-height: 1.55;
	}

	body.home .dscr-home__band--guide > .dscr-home__campaign,
	body.home .dscr-home__band--guide > .dscr-home__feature {
		justify-content: initial;
	}

	body.home .dscr-home__band--featured .dscr-home__products,
	body.home .dscr-home__band--story .dscr-home__products {
		position: relative;
	}

	body.home .dscr-home__band--featured .dscr-home__products :where(.wp-block-post-template,.wc-block-product-template),
	body.home .dscr-home__band--story .dscr-home__products .wp-block-post-template {
		padding-bottom: 0.75rem;
		scrollbar-width: auto;
		scrollbar-color: var(--wp--preset--color--accent) rgb(40 40 40 / 10%);
	}

	body.home .dscr-home__band--featured > .dscr-home__section::after,
	body.home .dscr-home__band--story > .dscr-home__section:has(.dscr-home__products)::after {
		display: block;
		margin-top: 0.65rem;
		color: var(--wp--preset--color--muted);
		font-size: 0.72rem;
		font-weight: 750;
		letter-spacing: 0.04em;
		text-align: right;
		content: "Scroll products →";
	}

	body.home .dscr-home__media-loops {
		grid-column: 1 / -1;
		width: 100%;
		max-width: none !important;
		padding: var(--wp--preset--spacing--50);
		overflow: hidden;
		border-radius: var(--wp--custom--border--identity-radius);
		background: linear-gradient(145deg, #121a2d, #263654 58%, #17233b);
		color: #fff;
	}

	body.home .dscr-home__media-loops > h2 {
		margin: 0 0 var(--wp--preset--spacing--30) !important;
	}

	body.home .dscr-home__media-loop-row {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: var(--wp--preset--spacing--20);
		margin: 0 !important;
	}

	body.home .dscr-home__media-loop-row + .dscr-home__media-loop-row {
		margin-top: var(--wp--preset--spacing--20) !important;
	}

	body.home .dscr-home__loop-media {
		min-width: 0;
		margin: 0 !important;
		overflow: hidden;
		border: 1px solid rgb(255 255 255 / 24%);
		border-radius: calc(var(--wp--custom--border--identity-radius) * 0.72);
		background: rgb(255 255 255 / 8%);
	}

	body.home .dscr-home__loop-media img {
		display: block;
		width: 100%;
		aspect-ratio: 16 / 9;
		object-fit: cover;
	}

	body.home .dscr-home__campaign-media,
	body.home .dscr-home__feature-media {
		min-height: 210px;
	}

	body.home .dscr-home__band--story > .dscr-home__campaign--two {
		display: grid;
		grid-template-rows: auto auto minmax(160px, 1fr);
	}
}

@media (prefers-reduced-motion: reduce) {
	body.home .dscr-home__hero-media img,
	body.home .dscr-announcement__text,
	body.home .dscr-home__media-loop-row,
	body.home .dscr-home .reveal-on-scroll {
		animation: none !important;
		transition: none !important;
		transform: none !important;
		opacity: 1 !important;
		filter: none !important;
	}
}

/* The Site Editor loads page CSS but not the frontend motion asset. Keep media
 * blocks explicit and selectable while editing the front-page template. */
.editor-styles-wrapper .dscr-home__hero-media,
.editor-styles-wrapper .dscr-home__campaign-media,
.editor-styles-wrapper .dscr-home__feature-media {
	min-height: 180px;
	opacity: 1 !important;
	transform: none !important;
}

.editor-styles-wrapper .dscr-home__media-loop-row {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--20);
}
