/* Home hero: what blocks can't express — the diagonal panel over a full-bleed photo,
   the floating call card and its row-by-row highlight. Colors, type and spacing come from
   theme.json and block attributes. */
.spd-hero {
	position: relative;
	display: flex;
	min-height: min(720px, 82vh);
	overflow: hidden;
}

.spd-hero__art {
	position: absolute;
	inset: 0 0 0 38%;
	margin: 0;
}

.spd-hero__art img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 60% 50%;
}

.spd-hero__panel {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	width: 60%;
	clip-path: polygon(0 0, 100% 0, 80% 100%, 0 100%);
}

/* Line the copy up with the wide content edge used by every other section. */
.spd-hero__copy {
	max-width: 700px;
	margin-left: max(1rem, calc((100vw - 1240px) / 2));
}

/* The panel narrows toward the bottom (clip-path), so the headline balances its lines and the lead keeps a shorter measure. */
.spd-hero h1 { max-width: 8.5em; text-wrap: balance; }
.spd-hero__lead { max-width: 28em; }

.spd-trail {
	position: absolute;
	z-index: 2;
	top: 40px;
	right: max(1rem, calc((100vw - 1240px) / 2));
	width: 330px;
	box-shadow: 0 18px 40px rgb(0 0 0 / 28%);
}

.spd-trail__list {
	list-style: none;
	padding: 0;
}

.spd-trail__list li {
	padding: 8px 6px;
	border-bottom: 1px dashed var(--wp--preset--color--gray-80-lighter);
	animation: spd-trail-row 1.4s ease-out both;
}

.spd-trail__list li:last-child { border-bottom: 0; }
.spd-trail__list li:nth-child(1) { animation-delay: 0.5s; }
.spd-trail__list li:nth-child(2) { animation-delay: 1.2s; }
.spd-trail__list li:nth-child(3) { animation-delay: 1.9s; }
.spd-trail__list li:nth-child(4) { animation-delay: 2.6s; }

@keyframes spd-trail-row {
	30% { background: var(--wp--preset--color--accent-90-lighter); }
}

@media (prefers-reduced-motion: reduce) {
	.spd-trail__list li { animation: none; }
}

@media (max-width: 1080px) {
	.spd-hero__panel { width: 66%; }
	.spd-hero__art { left: 30%; }
	.spd-hero__lead { max-width: 23em; }
	.spd-trail { display: none; }
}

@media (max-width: 781px) {
	.spd-hero { flex-direction: column; min-height: 0; }
	.spd-hero__panel { width: 100%; clip-path: none; }
	.spd-hero__art { position: relative; inset: auto; order: 2; height: 280px; }
}
