/* Hero cinematografico WLC: scroll = subida da van pelos Andes. */
.wlc-cinema {
  --cinema-height: 720vh;
  --cinema-pad-inline: clamp(20px, 4vw, 64px);
  --cinema-yellow: var(--wlc-yellow, #F5B71C);
  --cinema-navy: var(--wlc-navy, #1B2A5E);
  --cinema-cream: var(--wlc-cream, #F3E8D5);
  --cinema-red: var(--wlc-red-label, #C93033);
  position: relative;
  height: var(--cinema-height);
  background: var(--cinema-navy);
}

.wlc-cinema__sticky {
  position: sticky;
  top: 0;
  height: 100svh;
  min-height: 560px;
  overflow: hidden;
  isolation: isolate;
  background: #0d1330;
}

.wlc-cinema__canvas,
.wlc-cinema__poster,
.wlc-cinema__grade,
.wlc-cinema__vignette,
.wlc-cinema__scrim {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.wlc-cinema__canvas,
.wlc-cinema__poster {
  object-fit: cover;
}

.wlc-cinema__canvas {
  opacity: 0;
  transition: opacity .5s ease;
}

.wlc-cinema__poster {
  z-index: 0;
  opacity: 1;
  transition: opacity .5s ease;
}

.wlc-cinema.is-media-ready .wlc-cinema__poster { opacity: 0; }
.wlc-cinema.is-media-ready .wlc-cinema__canvas { opacity: 1; }
.wlc-cinema__canvas { z-index: 1; }
.wlc-cinema__grade { z-index: 2; background: rgba(243, 232, 213, .16); }
.wlc-cinema__vignette {
  z-index: 3;
  background:
    linear-gradient(180deg, rgba(8, 12, 34, .58) 0%, rgba(8, 12, 34, .18) 18%, transparent 38%),
    radial-gradient(ellipse at center, transparent 48%, rgba(8, 12, 34, .58) 100%);
}
.wlc-cinema__scrim {
  z-index: 4;
  top: auto;
  height: 48%;
  background: linear-gradient(180deg, rgba(8, 12, 34, 0), rgba(8, 12, 34, .68));
}

.wlc-cinema__loader {
  position: absolute;
  inset: 0;
  z-index: 30;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: var(--space-md, 16px);
  color: var(--cinema-cream);
  background: var(--cinema-navy);
  transition: opacity .45s ease, visibility .45s ease;
}

.wlc-cinema.is-ready .wlc-cinema__loader {
  opacity: 0;
  visibility: hidden;
}

.wlc-cinema__loader-logo { width: min(210px, 52vw); }
.wlc-cinema__loader-alt {
  color: var(--cinema-yellow);
  font-size: clamp(44px, 7vw, 72px);
  font-weight: 900;
  line-height: 1;
}
.wlc-cinema__loader-alt small { color: var(--cinema-cream); font-size: .4em; }
.wlc-cinema__loader-copy {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.wlc-cinema__loader-bar {
  width: min(260px, 62vw);
  height: 4px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(243, 232, 213, .2);
}
.wlc-cinema__loader-fill {
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: var(--cinema-red);
  transition: width .2s ease;
}

.wlc-cinema__scene {
  position: absolute;
  inset: 0;
  z-index: 10;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 88px var(--cinema-pad-inline) 56px;
  text-align: center;
  opacity: 0;
  visibility: hidden;
  transform: translateY(24px);
  pointer-events: none;
  transition: opacity .45s ease, transform .45s ease, visibility .45s ease;
}

.wlc-cinema__scene.is-active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}

.wlc-cinema__eyebrow {
  margin-bottom: var(--space-md, 16px);
  color: var(--cinema-yellow);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  text-shadow: 0 2px 10px rgba(8, 12, 34, .72);
}

.wlc-cinema__title,
.wlc-cinema__scene-title {
  max-width: 1050px;
  color: #fff;
  font-family: 'Lufga', var(--font-sans-fb);
  font-size: clamp(48px, 8.4vw, 110px);
  font-weight: 900;
  line-height: .98;
  letter-spacing: -.035em;
  text-shadow: 0 7px 42px rgba(8, 12, 34, .7);
}

.wlc-cinema__scene-title {
  font-size: clamp(34px, 5vw, 66px);
  line-height: 1.04;
}

.wlc-cinema__sub,
.wlc-cinema__copy {
  max-width: 670px;
  margin-top: var(--space-lg, 24px);
  color: #fff;
  font-size: clamp(16px, 2vw, 21px);
  font-weight: 600;
  line-height: 1.55;
  text-shadow: 0 2px 14px rgba(8, 12, 34, .85);
}

.wlc-cinema__hint {
  position: absolute;
  bottom: clamp(28px, 6vh, 54px);
  left: 50%;
  display: grid;
  justify-items: center;
  gap: var(--space-sm, 8px);
  color: var(--cinema-cream);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  transform: translateX(-50%);
}
.wlc-cinema__hint::before {
  content: '';
  width: 18px;
  height: 18px;
  border-right: 3px solid var(--cinema-red);
  border-bottom: 3px solid var(--cinema-red);
  transform: rotate(45deg);
  animation: cinema-hint 1.5s ease-in-out infinite;
}
@keyframes cinema-hint {
  50% { transform: rotate(45deg) translate(6px, 6px); opacity: .45; }
}

.wlc-cinema__scene--side {
  align-items: flex-end;
  justify-content: flex-end;
  padding-bottom: clamp(54px, 9vh, 90px);
  text-align: left;
}
.wlc-cinema__side-copy { width: min(440px, 100%); }
.wlc-cinema__scene--side .wlc-cinema__scene-title { font-size: clamp(30px, 4vw, 48px); }
.wlc-cinema__scene--side .wlc-cinema__copy { font-size: clamp(15px, 1.6vw, 18px); }

.wlc-cinema__stats {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: clamp(34px, 7vw, 110px);
  width: 100%;
  flex-wrap: wrap;
}
.wlc-cinema__stat { display: grid; gap: var(--space-sm, 8px); }
.wlc-cinema__stat-number {
  color: var(--cinema-yellow);
  font-size: clamp(58px, 9vw, 128px);
  font-weight: 900;
  line-height: .92;
  letter-spacing: -.045em;
  text-shadow: 0 0 42px rgba(245, 183, 28, .32), 0 5px 28px rgba(8, 12, 34, .72);
}
.wlc-cinema__stat-label {
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .15em;
  text-transform: uppercase;
  text-shadow: 0 2px 10px rgba(8, 12, 34, .8);
}

.wlc-cinema__cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 52px;
  margin-top: var(--space-xl, 40px);
  padding: 14px 28px;
  border-radius: 999px;
  color: #fff;
  background: var(--cinema-red);
  font-size: 16px;
  font-weight: 700;
  box-shadow: 0 10px 34px rgba(27, 42, 94, .42);
  transition: transform .2s ease, background .2s ease;
}
.wlc-cinema__cta:hover { transform: translateY(-2px); background: var(--wlc-red-deep, #B02E2F); }
.wlc-cinema__cta:focus-visible { outline-color: var(--cinema-yellow); }

.wlc-cinema__hud {
  position: absolute;
  left: var(--cinema-pad-inline);
  bottom: clamp(24px, 5vh, 52px);
  z-index: 12;
  display: grid;
  gap: var(--space-sm, 8px);
  text-align: left;
  text-shadow: 0 2px 12px rgba(8, 12, 34, .72);
}
.wlc-cinema__hud-zone {
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.wlc-cinema__hud-alt {
  color: var(--cinema-yellow);
  font-size: clamp(42px, 6vw, 72px);
  font-weight: 900;
  line-height: 1;
}
.wlc-cinema__hud-alt small { color: var(--cinema-cream); font-size: .42em; }
.wlc-cinema__rail {
  position: relative;
  width: 3px;
  height: clamp(92px, 15vh, 148px);
  margin-left: 5px;
  border-radius: 999px;
  background: rgba(243, 232, 213, .32);
}
.wlc-cinema__rail-fill {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 0;
  border-radius: inherit;
  background: var(--cinema-red);
}
.wlc-cinema__rail-tick {
  position: absolute;
  left: -3px;
  width: 9px;
  height: 2px;
  background: rgba(243, 232, 213, .68);
}

@media (max-width: 760px) {
  .wlc-cinema { --cinema-height: 580vh; }
  .wlc-cinema__sticky { min-height: 520px; }
  .wlc-cinema__scene { padding-top: 104px; }
  .wlc-cinema__scene--side { align-items: center; text-align: center; }
  .wlc-cinema__stats { flex-direction: column; align-items: center; gap: var(--space-xl, 40px); }
  .wlc-cinema__stat-number { font-size: clamp(54px, 18vw, 86px); }
  .wlc-cinema__hud { left: 18px; bottom: 18px; }
  .wlc-cinema__rail { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .wlc-cinema { height: 100svh; min-height: 620px; }
  .wlc-cinema__sticky { position: relative; }
  .wlc-cinema__canvas { display: none; }
  .wlc-cinema__poster { opacity: 1 !important; }
  .wlc-cinema__scene { display: none; transition: none; }
  .wlc-cinema__scene[data-cinema-in="0"] { display: flex; opacity: 1; visibility: visible; transform: none; }
  .wlc-cinema__loader, .wlc-cinema__hud { display: none; }
  .wlc-cinema__hint::before { animation: none; }
}
