/* Home › Hero (1280×752, bg #121212) + bloco de texto sobreposto animado. */
.hero-home { position: relative; min-height: clamp(560px, 58.8vw, 752px); background: var(--leto-hero);
	display: flex; align-items: flex-end; overflow: hidden; }
.hero-home__media, .hero-home__img, .hero-home__video { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero-home__img, .hero-home__video { object-fit: cover; }
.hero-home__scrim { position: absolute; inset: 0;
	background: linear-gradient(180deg, rgba(18,18,18,.45) 0%, rgba(18,18,18,.05) 28%, rgba(18,18,18,.18) 58%, rgba(18,18,18,.74) 100%); }

/* Bloco de texto sobreposto (canto inferior esquerdo), reproduzindo o vídeo de marca. */
.hero-home__inner { position: relative; z-index: 2; width: 100%; display: flex; justify-content: flex-start; padding-bottom: clamp(2.5rem, 5vw, 64px); }
.hero-home__copy { display: flex; flex-direction: column; align-items: flex-start; gap: clamp(.9rem, .5rem + 1vw, 22px); max-width: 640px; text-shadow: 0 1px 20px rgba(0,0,0,.45); }
.hero-home__title { margin: 0; font-size: clamp(2.6rem, 1.4rem + 4.6vw, 74px); line-height: 1.0; font-weight: 500; letter-spacing: -0.015em; color: #fff; }
.hero-home__title .hero-home__t { display: block; }
.hero-home__sub { margin: 0; font-size: clamp(.95rem, .85rem + .45vw, 18px); line-height: 1.35; color: rgba(255,255,255,.82); }
.hero-home__sub strong { color: #fff; font-weight: 600; }

/* Animação de entrada escalonada (fade + subida) — replica o timing do vídeo. */
@keyframes heroRise { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } }
.hero-home__t--1, .hero-home__t--2, .hero-home__sub, .hero-home__cta {
	opacity: 0; will-change: opacity, transform; animation: heroRise .7s cubic-bezier(.2, .7, .2, 1) both; }
.hero-home__t--1 { animation-delay: .55s; }
.hero-home__t--2 { animation-delay: .78s; }
.hero-home__sub  { animation-delay: 1.05s; }
.hero-home__cta  { animation-delay: 1.3s; }

/* CTA do hero: hover verde-lima da marca */
.hero-home .hero-home__cta:hover { background: var(--leto-green, #D8EEA9); border-color: var(--leto-green, #D8EEA9); color: var(--leto-ink, #2d2d2d); }

/* Linha-gradiente da marca no rodapé do hero (reproduz o vídeo; o vídeo novo não a tem). */
.hero-home__grad { position: absolute; left: 0; bottom: 0; z-index: 2;
	width: clamp(220px, 40%, 560px); height: 6px; border-radius: 0;
	transform: scaleX(0); transform-origin: left center; animation: heroLine .7s cubic-bezier(.2, .7, .2, 1) both; animation-delay: .2s; }
@keyframes heroLine { from { transform: scaleX(0); } to { transform: scaleX(1); } }

@media (prefers-reduced-motion: reduce) {
	.hero-home__t--1, .hero-home__t--2, .hero-home__sub, .hero-home__cta { opacity: 1; transform: none; animation: none; }
	.hero-home__grad { transform: none; animation: none; }
}
