/* Mira-Sens · cenas cinematográficas */

html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-stopped { overflow: hidden; }

/* Seletor de idioma */
.lang { display: inline-flex; border: 1px solid rgba(237, 138, 213, .3); border-radius: 999px; padding: 3px; gap: 2px; }
.lang button { font: 600 .72rem var(--sans); letter-spacing: .08em; background: none; border: 0; color: #cdb5c7; padding: 6px 10px; border-radius: 999px; cursor: pointer; }
.lang button.ativo { background: rgba(237, 138, 213, .18); color: var(--white); }
.lang-footer { margin-top: 10px; align-self: flex-start; }

/* ---------- CENA 1 · Intro ---------- */
.cena-intro { position: relative; height: 100vh; height: 100svh; min-height: 560px; overflow: hidden; background: var(--plum-900); color: #f3e6ef; padding: 0; isolation: isolate; }
.particulas { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; }
.cena-intro::before { content: ""; position: absolute; inset: -20%; z-index: 0; pointer-events: none;
  background: radial-gradient(40% 35% at 75% 20%, rgba(155, 28, 127, .55), transparent 70%),
              radial-gradient(35% 30% at 20% 85%, rgba(237, 138, 213, .28), transparent 70%); }
.bloom { position: absolute; left: 50%; top: 50%; width: 170vmax; height: 170vmax; margin: -85vmax 0 0 -85vmax; border-radius: 50%; z-index: 1; transform: scale(0); pointer-events: none;
  background: radial-gradient(circle, #fff 0%, #fdf8fb 30%, var(--rose-50) 55%, rgba(251, 244, 248, 0) 71%); }
.intro-logo, .intro-texto { position: absolute; inset: 0; z-index: 2; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 0 20px; }
.intro-tag { font-size: clamp(.62rem, 1.1vw, .78rem); letter-spacing: .3em; text-transform: uppercase; color: #cdb5c7; margin-bottom: 34px; max-width: 760px; }
.hero-logo { width: min(760px, 88vw); height: auto; overflow: visible; }
.hero-logo > g:first-of-type { color: var(--magenta); }
.hero-logo > g:last-of-type { color: var(--pink); }
.hero-logo .glifo { filter: drop-shadow(0 0 22px rgba(237, 138, 213, .25)); }
.intro-texto { pointer-events: none; }
.intro-texto > * { pointer-events: auto; }
.intro-linhas { margin: 0 0 26px; display: flex; flex-direction: column; gap: .05em; font-weight: 300; line-height: 1.02; }
.intro-linhas .l1 { font-family: var(--sans); font-weight: 300; font-size: clamp(2.6rem, 8.5vw, 7.2rem); letter-spacing: -.02em; color: var(--white); }
.intro-linhas .l2 { font-size: clamp(3rem, 10vw, 8.6rem); color: var(--magenta); }
.intro-sub { max-width: 600px; color: var(--muted); font-size: clamp(1rem, 1.5vw, 1.15rem); margin: 0 auto 30px; }
.palavra { display: inline-block; white-space: pre; will-change: transform, opacity, filter; }
.scroll-hint { position: absolute; z-index: 3; left: 50%; bottom: 28px; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; gap: 10px; font-size: .7rem; letter-spacing: .25em; text-transform: uppercase; color: #bfa8b9; }
.scroll-hint i { width: 1px; height: 44px; background: linear-gradient(var(--pink), transparent); animation: pinga 2.2s ease-in-out infinite; transform-origin: top; }
@keyframes pinga { 0% { transform: scaleY(0); opacity: 1; } 60% { transform: scaleY(1); opacity: 1; } 100% { transform: scaleY(1); opacity: 0; } }

/* ---------- CENA 2 · Manifesto ---------- */
.cena-manifesto { background: var(--rose-50); min-height: 100vh; display: flex; align-items: center; padding: 80px 0; }
.manif-texto { font-family: var(--serif); font-weight: 300; font-size: clamp(2rem, 5.6vw, 4.8rem); line-height: 1.12; color: var(--plum-800); margin: 0; max-width: 1050px; }
.manif-texto .palavra { opacity: .13; }

/* ---------- CENA 3 · Sobre ---------- */
.cena-sobre { position: relative; overflow: hidden; background: var(--rose-50); padding-top: 40px; }
.orb { position: absolute; border-radius: 50%; pointer-events: none; filter: blur(10px); z-index: 0; }
.orb-a { width: 460px; height: 460px; right: -140px; top: 0; background: radial-gradient(circle, rgba(237, 138, 213, .35), transparent 68%); }
.orb-b { width: 620px; height: 620px; left: -220px; top: 30%; background: radial-gradient(circle, rgba(155, 28, 127, .45), transparent 68%); }
.orb-c { width: 520px; height: 520px; right: -160px; top: 10%; background: radial-gradient(circle, rgba(237, 138, 213, .3), transparent 68%); }
.cena-sobre .container, .booking .container, .cena-ringana .container { position: relative; z-index: 1; }

/* ---------- CENA 4 · Abordagem (horizontal) ---------- */
.cena-abordagem { background: var(--plum-900); color: #f0e2ec; padding: 0; position: relative; overflow: hidden; }
.cena-abordagem::before { content: ""; position: absolute; inset: 0; background: radial-gradient(50% 60% at 85% 50%, rgba(155, 28, 127, .35), transparent 70%); pointer-events: none; }
.abord-pin { min-height: 100vh; display: flex; flex-direction: column; justify-content: center; padding: 90px 0 50px; position: relative; }
.abord-head { margin-bottom: 44px; }
.abord-head .eyebrow { color: var(--pink); }
.abord-head h2 { color: var(--white); margin-bottom: 10px; }
.abord-head h2 .serif { color: var(--pink); }
.abord-head p { color: #cdb5c7; max-width: 560px; margin: 0; }
.abord-trilho { display: flex; gap: clamp(20px, 3vw, 40px); padding-left: max(20px, calc((100vw - 1120px) / 2)); padding-right: 12vw; will-change: transform; }
.painel-p { flex: 0 0 min(560px, 78vw); min-height: 340px; border-radius: 28px; padding: clamp(28px, 4vw, 46px); background: linear-gradient(145deg, rgba(255, 255, 255, .07), rgba(255, 255, 255, .02)); border: 1px solid rgba(237, 138, 213, .18); display: flex; flex-direction: column; justify-content: space-between; gap: 24px; backdrop-filter: blur(6px); }
.num-gigante { font-family: var(--serif); font-style: italic; font-size: clamp(5rem, 11vw, 9rem); line-height: .85; color: transparent; -webkit-text-stroke: 1px rgba(237, 138, 213, .7); }
.painel-p h3 { font-size: clamp(1.4rem, 2.4vw, 2rem); font-weight: 300; color: var(--white); margin-bottom: 10px; }
.painel-p p { color: #d6c0d0; margin: 0; font-size: 1.02rem; max-width: 420px; }
.abord-progresso { margin-top: 40px; height: 2px; background: rgba(237, 138, 213, .15); border-radius: 2px; overflow: hidden; }
.abord-progresso i { display: block; height: 100%; width: 100%; background: linear-gradient(90deg, var(--magenta), var(--pink)); transform-origin: left; transform: scaleX(0); }

/* ---------- CENA 5 · Como funciona ---------- */
.cena-como { background: var(--rose-50); }
.linha-tempo { position: relative; max-width: 760px; padding-left: 74px; }
.linha { position: absolute; left: 22px; top: 8px; bottom: 8px; width: 2px; background: var(--line); }
.linha i { position: absolute; inset: 0; background: linear-gradient(var(--magenta), var(--pink)); transform-origin: top; transform: scaleY(0); }
.passo { position: relative; padding: 6px 0 46px; }
.passo:last-child { padding-bottom: 0; }
.passo .bola { position: absolute; left: -74px; top: 0; width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; background: var(--plum-800); color: var(--pink); font-weight: 600; box-shadow: 0 0 0 8px var(--rose-50); }
.passo h3 { font-size: clamp(1.2rem, 2vw, 1.5rem); font-weight: 400; margin-bottom: 6px; }
.passo p { color: var(--muted); margin: 0; max-width: 520px; }

/* ---------- CENA 6 · Marcação ---------- */
.booking { position: relative; overflow: hidden; }

/* ---------- CENA 7 / 8 ---------- */
.cena-ringana { position: relative; overflow: hidden; background: var(--rose-50); }
.cena-instagram { background: linear-gradient(160deg, var(--plum-800), var(--plum-950)); color: #f0e2ec; text-align: center; }
.cena-instagram .eyebrow { color: var(--pink); }
.ig-t { color: #cdb5c7; margin-bottom: 6px; }
.ig-handle { display: inline-block; font-size: clamp(2.4rem, 7vw, 5.6rem); color: var(--white); text-decoration: none; margin-bottom: 28px; transition: color .3s; }
.ig-handle:hover { color: var(--pink); }

/* Revelações genéricas (estado inicial só quando a animação está ativa) */
.cinema-on [data-revela] { opacity: 0; transform: translateY(40px); }

/* Sem animação: tudo visível e estático */
.sem-cinema .bloom { display: none; }
.sem-cinema .cena-intro { background: var(--plum-900); }
.sem-cinema .intro-logo { position: relative; inset: auto; padding-top: 120px; }
.sem-cinema .intro-texto { position: relative; inset: auto; padding: 30px 20px 120px; }
.sem-cinema .cena-intro { height: auto; }
.sem-cinema .intro-sub { color: #d9c3d3; }
.sem-cinema .manif-texto .palavra { opacity: 1; }
.sem-cinema .scroll-hint { display: none; }

@media (max-width: 860px) {
  .abord-trilho { flex-direction: column; padding: 0 20px; }
  .painel-p { flex: none; width: 100%; min-height: 0; }
  .abord-progresso { display: none; }
  .lang { margin-top: 14px; align-self: flex-start; }
  .linha-tempo { padding-left: 64px; }
  .passo .bola { left: -64px; }
}
