/* v0.2.9: desktop lock preserved; mobile-only texture compositions added. */

html,
body,
.home,
.home .wp-site-blocks,
.home .al-site-header,
.home .al-site-footer {
	background-color: var(--wp--preset--color--cream);
}
.home .wp-site-blocks { padding: 0; }
.home .wp-site-blocks > * { margin-block-start: 0; }
.home .al-home { margin-block: 0; }

/* Story System */
.al-home__demonstrate {
	gap: clamp(1.5rem, 2.6vw, 3rem);
	grid-template-columns: minmax(11.5rem, .72fr) minmax(42rem, 2.55fr) minmax(10.5rem, .72fr);
}
.al-home__system { padding-top: 2.8rem; }
.al-home__change-callout {
	display: block;
	left: 50%;
	top: -2.35rem;
	transform: translateX(-50%) rotate(-1deg);
	width: min(21rem, 48%);
}
.al-home__change-callout span {
	display: block;
	font-size: .86rem;
	font-weight: 800;
	letter-spacing: .02em;
	text-transform: uppercase;
}
.al-home__change-callout svg {
	height: 3.4rem;
	left: 9.5rem;
	overflow: visible;
	position: absolute;
	top: .1rem;
	width: calc(100% - 8.5rem);
}
.al-home__players {
	align-items: center;
	grid-template-columns: minmax(0, 1fr) 1.45rem minmax(0, 1fr) 1.45rem minmax(0, 1fr) 1.45rem minmax(0, 1fr);
	width: 100%;
}
.al-player { gap: .5rem; isolation: isolate; position: relative; }
.al-player__label,
.al-player__meaning { position: relative; z-index: 3; }
.al-player__shape {
	height: clamp(4.5rem, 6.1vw, 5.75rem);
	width: clamp(4.5rem, 6.1vw, 5.75rem);
}
.al-player__shape { position: relative; z-index: 1; }
.al-player__arrow { font-size: 1.1rem; justify-self: center; }
.al-player--changed::before { content: none; }
.al-player__shape--where { background: transparent; border: 0; overflow: visible; position: relative; }
.al-player__shape--where img {
	height: 148%; left: 50%; max-width: none; object-fit: contain; position: absolute;
	top: 50%; transform: translate(-50%, -50%); width: 148%; z-index: 0;
}

/* Approved icon artwork */
.al-home__idea-paths article { isolation: isolate; position: relative; }
.al-idea-icon { background: transparent; border-radius: 0; height: 6rem; margin-bottom: 1.35rem; width: 6rem; z-index: 0; }
.al-idea-icon::before { content: none; }
.al-idea-icon img { display: block; height: 100%; max-width: 100%; object-fit: contain; width: 100%; }
.al-idea-icon--jar img { height: 100%; width: 100%; }
.al-home__idea-paths h3,
.al-home__idea-paths p { position: relative; z-index: 3; }

/* School Visits: photo, then full-width art, then content. */
.al-home__visits {
	isolation: isolate;
	margin-top: -137px;
	min-height: 32.5rem;
	overflow: visible;
}
.al-home__visits::before {
	background: url("../images/home/material/school-visits-approved-v1.png") left top / 100% 100% no-repeat;
	content: "";
	height: calc(100% + 60px);
	inset: 0 0 auto;
	top: 0;
	width: 100%;
	opacity: 1;
	pointer-events: none;
	position: absolute;
	z-index: 1;
}
.al-home__visits::after { content: none; }
.al-home__visits-image { z-index: 0; }
.al-home__visits-copy { z-index: 2; }
.al-home__visit-points li {
	background: radial-gradient(ellipse at center, color-mix(in srgb, var(--wp--preset--color--cream) 94%, transparent) 0 54%, transparent 82%);
	isolation: isolate;
	padding: .45rem .35rem .6rem;
	position: relative;
}
.al-home__visit-points li > * { position: relative; z-index: 3; }
.al-home__visit-points strong,
.al-home__visit-points li > span:last-child {
	text-shadow: 0 0 7px var(--wp--preset--color--cream), 0 1px 0 var(--wp--preset--color--cream);
}

/* Ideas receives the School Visits bleed and stays quiet between formations. */
.al-home__ideas { isolation: isolate; overflow: visible; }
.al-home__ideas::before,
.al-home__ideas::after { content: none; }
.al-home__ideas > * { z-index: 2; }

/* Speaking + PD: independent approved wash, full-width with no crop. */
.al-home__speaking { isolation: isolate; overflow: visible; }
.al-home__speaking::after {
	background: url("../images/home/material/speaking-pd-approved-v2.png") left top / 100% 100% no-repeat;
	content: "";
	height: calc(100% + 15px);
	inset: -15px 0 auto;
	opacity: 1;
	pointer-events: none;
	position: absolute;
	z-index: 0;
}
.al-home__speaking > * { position: relative; z-index: 2; }

/* Books and close share one actual layer so the formation cannot clip at their boundary. */
.al-home__ending {
	background-color: var(--wp--preset--color--cream);
	isolation: isolate;
	margin: 0;
	position: relative;
}
.al-home__ending::before {
	background: url("../images/home/material/books-close-approved-v1.png") left top / 100% 100% no-repeat;
	content: "";
	inset: 0;
	opacity: 1;
	pointer-events: none;
	position: absolute;
	z-index: 0;
}
.al-home__ending > section {
	background-color: transparent;
	border: 0;
	margin: 0;
	overflow: visible;
	padding-inline: max(clamp(1.25rem, 5vw, 5rem), calc((100vw - var(--al-home-max))/2));
	position: relative;
}
.al-home__books,
.al-home__close { isolation: auto; overflow: visible; }
.al-home__books::before { content: none; }
.al-home__books > *,
.al-home__close > * { position: relative; z-index: 2; }
.al-home__close::before,
.al-home__close::after { content: none; }
.al-home__close > * { transform: translateX(50px); }
.al-home__book-guests { align-items: start; }
.al-book-guest { grid-template-rows: 12.5rem auto 3.2rem; }
.al-book-guest img {
	align-self: end;
	height: 12.5rem;
	max-height: 12.5rem;
	max-width: 100%;
	object-fit: contain;
	width: auto;
}

/* Footer closes directly against the artwork. */
.home .al-site-footer {
	background-color: var(--wp--preset--color--cream);
	background-image: none;
	border: 0;
	margin-block-start: 0 !important;
	position: relative;
}
.home .al-site-header { background-color: var(--wp--preset--color--cream); }

@media (max-width: 1100px) and (min-width: 761px) {
	.al-home__demonstrate {
		gap: 1.25rem;
		grid-template-columns: minmax(9rem, .68fr) minmax(35rem, 2.7fr) minmax(8.5rem, .68fr);
	}
	.al-player__label,
	.al-player__meaning { font-size: .58rem; }
}

@media (max-width: 760px) {
	.al-home__orient::before {
		background-image: url("../images/home/mobile/hero-mobile-v1.png");
		background-position: center;
		background-size: 100% 100%;
		opacity: 1;
	}
	.al-home__demonstrate { display: block; }
	.al-home__system { padding-top: 2.6rem; }
	.al-home__change-callout { left: 51%; top: -.15rem; width: 70%; }
	.al-home__change-callout span { font-size: .66rem; }
	.al-home__change-callout svg { height: 2.5rem; left: 7.2rem; width: calc(100% - 6.5rem); }
	.al-home__players {
		grid-template-columns: minmax(0, 1fr) .7rem minmax(0, 1fr) .7rem minmax(0, 1fr) .7rem minmax(0, 1fr);
	}
	.al-player__shape { height: clamp(2.8rem, 15vw, 3.75rem); width: clamp(2.8rem, 15vw, 3.75rem); }
	.al-player__shape--where img { height: 142%; width: 142%; }
	.al-player__arrow { font-size: .72rem; }
	.al-idea-icon { height: 4.3rem; width: 4.3rem; }

	.al-home__visits { min-height: 32.5rem; }
	.al-home__visits { margin-top: -32px; }
	.al-home__close > * { transform: none; }
	.al-home__visits::before {
		background-image: url("../images/home/mobile/school-visits-mobile-v1.png");
		background-position: left top;
		background-size: 100% 100%;
		height: calc(100% + 60px);
	}
	.al-home__ideas::before {
		background: url("../images/home/mobile/ideas-mobile-v1.png") left top / 100% 100% no-repeat;
		content: "";
		inset: 0;
		opacity: 1;
		pointer-events: none;
		position: absolute;
		z-index: 0;
	}
	.al-home__ideas::after { content: none; }
	.al-home__speaking::after {
		background-image: url("../images/home/mobile/speaking-pd-mobile-v1.png");
		background-position: left top;
		background-size: 100% 100%;
	}
	.al-home__ending::before {
		background-image: url("../images/home/mobile/books-close-mobile-v1.png");
		background-position: left top;
		background-size: 100% 100%;
	}
	.al-home__ending > section { padding-inline: 1.25rem; }
	.al-book-guest { grid-template-rows: 9rem; }
	.al-book-guest img { height: 9rem; max-height: 9rem; }
}

@media (forced-colors: active) {
	.al-player__shape--where img,
	.al-idea-icon img { filter: grayscale(1) contrast(1.4); }
}
