/* Intro da homepage */

html.lh-intro-active,
html:has(body.lh-intro-active),
body.lh-intro-active {
	overflow: hidden;
	height: 100%;
	overscroll-behavior: none;
	touch-action: none;
}

.lh-intro {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #f0eae6;
	opacity: 1;
	visibility: visible;
	transition: opacity 1.5s cubic-bezier(0.4, 0, 0.2, 1), visibility 0s linear 1.5s;
}

/* Fase 1: o logo desvanece com o fundo ainda visível */
.lh-intro__logo {
	transition: opacity 1s cubic-bezier(0.4, 0, 0.2, 1);
}

.lh-intro--logo-out .lh-intro__logo {
	opacity: 0;
}

/* Fase 2: o conteúdo do site faz fade in em sincronia com o fade do fundo */
body.lh-intro-active #header,
body.lh-intro-active #main-container {
	opacity: 0;
}

body.lh-intro-revealing #header,
body.lh-intro-revealing #main-container {
	opacity: 1 !important;
	transition: opacity 1.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.lh-intro.is-done {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

.lh-intro__inner {
	display: flex;
	align-items: center;
	justify-content: center;
	width: min(78vw, 560px);
	padding: 0 var(--lh-site-gutter);
}

.lh-intro__logo {
	display: block;
	width: 100%;
	color: #4e463d;
}

.lh-intro__logo-svg {
	display: block;
	width: 100%;
	height: auto;
	overflow: visible;
}

.lh-intro__o-ring,
.lh-intro__logo-type path,
.lh-intro__logo-tagline {
	opacity: 0;
}

/* O redondo → anel (morph SMIL no SVG) */
.lh-intro--animate .lh-intro__o-ring {
	animation: lh-o-ring-in 0.5s cubic-bezier(0.22, 0.8, 0.28, 1) both;
}

@keyframes lh-o-ring-in {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

/* Letras do wordmark em cascata (L entra com o O) */
.lh-intro--animate .lh-intro__logo-type path {
	opacity: 0;
	animation: lh-letter 0.5s cubic-bezier(0.22, 0.8, 0.28, 1) both;
}

@keyframes lh-letter {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

/* Ordem no SVG: N G H O U S E L */
.lh-intro--animate .lh-intro__logo-type path:nth-child(8) {
	animation-delay: 0s;
}

.lh-intro--animate .lh-intro__logo-type path:nth-child(1) {
	animation-delay: 1.2s;
}

.lh-intro--animate .lh-intro__logo-type path:nth-child(2) {
	animation-delay: 1.27s;
}

.lh-intro--animate .lh-intro__logo-type path:nth-child(3) {
	animation-delay: 1.34s;
}

.lh-intro--animate .lh-intro__logo-type path:nth-child(4) {
	animation-delay: 1.41s;
}

.lh-intro--animate .lh-intro__logo-type path:nth-child(5) {
	animation-delay: 1.48s;
}

.lh-intro--animate .lh-intro__logo-type path:nth-child(6) {
	animation-delay: 1.55s;
}

.lh-intro--animate .lh-intro__logo-type path:nth-child(7) {
	animation-delay: 1.62s;
}

/* Tagline */
.lh-intro--animate .lh-intro__logo-tagline {
	opacity: 0;
	animation: lh-letter 0.6s ease-out 2.05s both;
}

.lh-intro--recovered .lh-intro__o-ring,
.lh-intro--recovered .lh-intro__logo-type path,
.lh-intro--recovered .lh-intro__logo-tagline {
	animation: none !important;
	opacity: 1 !important;
}

@media (prefers-reduced-motion: reduce) {
	.lh-intro--animate .lh-intro__o-ring,
	.lh-intro--animate .lh-intro__logo-type path,
	.lh-intro--animate .lh-intro__logo-tagline {
		animation: none !important;
		opacity: 1 !important;
	}
}
