/**
 * Homepage section styles.
 */

.lh-home section {
	padding-block: var(--spacing-xl);
}

.lh-home section + section {
	border-top: 1px solid var(--color-border);
}

.lh-hero,
.lh-lesson--piano,
.lh-testimonials {
	background-color: var(--color-section-surface);
}

.lh-trust {
	background-color: var(--color-section-neutral);
}

.lh-lesson--violin {
	background-color: var(--color-section-accent);
}

/* Hero
   ========================================================================== */

.lh-hero__inner {
	display: grid;
	gap: var(--spacing-md);
	overflow-x: clip;
	position: relative;
}

.lh-hero__inner::before {
	background: linear-gradient(135deg, rgb(54 86 75 / 0.08) 0%, rgb(195 145 61 / 0.06) 100%);
	border: 1px solid rgb(54 86 75 / 0.12);
	border-radius: var(--radius-block);
	content: "";
	inset: -0.75rem 0;
	position: absolute;
	z-index: -1;
}

.lh-hero__heading {
	margin-bottom: 0;
}

.lh-hero__body {
	display: grid;
	gap: var(--spacing-md);
}

.lh-hero__lead {
	font-size: var(--font-size-base);
	margin-bottom: 0;
	max-width: none;
}

.lh-hero__personal {
	font-size: var(--font-size-base);
	margin-bottom: 0;
	max-width: none;
}

.lh-hero__supporting {
	color: var(--color-text);
	margin-bottom: 0;
	max-width: none;
}

.lh-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--spacing-sm);
}

.lh-hero__media {
	display: block;
}

.lh-intro-video-player {
	aspect-ratio: 16 / 9;
	background-color: var(--color-background);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-block);
	box-shadow: var(--shadow-soft);
	line-height: 0;
	overflow: hidden;
	position: relative;
}

.lh-intro-video-player__poster {
	height: 100%;
	inset: 0;
	object-fit: cover;
	pointer-events: none;
	position: absolute;
	transition: opacity var(--transition-base), visibility var(--transition-base);
	width: 100%;
	z-index: 2;
}

.lh-intro-video-player.is-playing .lh-intro-video-player__poster,
.lh-intro-video-player.is-poster-failed .lh-intro-video-player__poster {
	opacity: 0;
	visibility: hidden;
}

.lh-intro-video-player__video {
	background-color: transparent;
	display: block;
	height: 100%;
	max-width: 100%;
	object-fit: cover;
	opacity: 0;
	pointer-events: auto;
	position: relative;
	transition: opacity var(--transition-base);
	vertical-align: top;
	width: 100%;
	z-index: 1;
}

.lh-intro-video-player.is-playing .lh-intro-video-player__video {
	pointer-events: auto;
}

.lh-intro-video-player.is-playing .lh-intro-video-player__video {
	opacity: 1;
}
@media (min-width: 768px) {
	.lh-hero__inner {
		align-items: start;
		column-gap: var(--spacing-xl);
		grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
		row-gap: var(--spacing-md);
	}

	.lh-hero__heading {
		grid-column: 1 / -1;
		grid-row: 1;
	}

	.lh-hero__body {
		grid-column: 1;
		grid-row: 2;
	}

	.lh-hero__media {
		align-self: center;
		grid-column: 2;
		grid-row: 2;
	}
}

/* Trust signals
   ========================================================================== */

.lh-trust__heading {
	margin-bottom: var(--spacing-md);
}

.lh-trust__actions {
	margin-top: var(--spacing-md);
}

/* Lesson sections
   ========================================================================== */

.lh-lesson__inner {
	border-left: 3px solid var(--color-accent);
	display: grid;
	gap: var(--spacing-sm);
	max-width: var(--container-narrow-width);
	padding-left: var(--spacing-md);
}

.lh-lesson--violin .lh-lesson__inner {
	border-left-color: var(--color-accent-secondary);
}

.lh-lesson__heading {
	margin-bottom: 0;
}

.lh-lesson__text {
	margin-bottom: 0;
	max-width: none;
}

.lh-lesson__link {
	font-weight: var(--font-weight-medium);
	text-decoration: none;
}

.lh-lesson__link:hover,
.lh-lesson__link:focus-visible {
	text-decoration: underline;
}

/* Enquiry section (homepage)
   ========================================================================== */

.lh-enquiry-section--homepage .lh-enquiry-section__inner {
	background-color: var(--color-surface);
	border: 1px solid var(--color-border);
	border-left: 4px solid var(--color-accent-secondary);
	border-radius: var(--radius-block);
	gap: var(--spacing-md);
	max-width: var(--container-narrow-width);
	padding: var(--spacing-lg);
}

@media (max-width: 767px) {
	.lh-enquiry-section--homepage {
		padding-inline: var(--container-padding);
	}
}

.lh-enquiry-section--homepage .lh-enquiry-section__heading,
.lh-enquiry-section--homepage .lh-enquiry-section__intro {
	margin-bottom: 0;
	max-width: none;
}

/* Testimonials spacing on homepage
   ========================================================================== */

.lh-home .lh-testimonials {
	padding-block: var(--spacing-xl);
}
