/* Landing da Iluria — mesma linguagem da apresentação do Apolo, com os tokens do Gondim UI (site.css) */
*, *::before, *::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; scroll-padding-top:72px; }
body.lp{ margin:0; font:16px/1.62 var(--sans); background:#fafaf7; color:#262626; overflow-x:hidden; --serif:"Instrument Serif",Georgia,serif; --largura:1180px; --ambar-escuro:#8a6a00; --tracejado:#d4d4d4; }
.lp h1, .lp h2, .lp h3, .lp h4, .lp p{ margin:0; }
.lp a{ text-decoration:none; }
.lp main, .lp .rodape{ position:relative; z-index:1; }
#fundoG{ position:fixed; inset:0; width:100%; height:100%; z-index:0; pointer-events:none; }
.env{ width:min(var(--largura),calc(100% - 48px)); margin:0 auto; }

.eyebrow{ display:inline-flex; align-items:center; gap:8px; font-family:var(--mono); font-size:11px; font-weight:500; letter-spacing:.16em; text-transform:uppercase; color:var(--ambar-escuro); }
.eyebrow::before, .eyebrow::after{ content:""; width:16px; height:1px; background:currentColor; opacity:.6; }
.eyebrow i{ font-style:normal; color:#737373; }
.eyebrow.centro{ justify-content:center; }
.titulo, .lp .cta h2{ font-family:var(--serif); font-weight:400; letter-spacing:-.025em; color:#262626; text-wrap:balance; }
.titulo{ font-size:clamp(36px,4.6vw,54px); line-height:1.02; margin-top:14px; }
.titulo em, .lp .cta h2 em{ font-style:italic; color:var(--ambar-escuro); }
.lead{ color:#525252; font-size:17.5px; max-width:62ch; margin-top:18px; }
.lead b{ color:#262626; font-weight:600; }

.lp-btn{ display:inline-flex; align-items:center; justify-content:center; height:40px; padding:0 18px; border-radius:var(--radius); border:1px solid transparent; font-size:14px; font-weight:600; transition:transform .25s var(--ease-spring), background .2s, border-color .2s, color .2s; }
.lp-btn-grande{ height:44px; padding:0 24px; font-size:15px; }
.lp-btn-cheio{ width:100%; margin-top:20px; }
.lp-btn-primario{ background:#ffcd00; color:#161616; }
.lp-btn-primario:hover{ background:#f5c400; color:#161616; transform:translateY(-1px); }
.lp-btn-contorno{ background:transparent; color:#262626; border-color:#d4d4d4; }
.lp-btn-contorno:hover{ background:#f5f5f5; color:#262626; transform:translateY(-1px); }

/* ---------- Navegação ---------- */
.progresso{ position:fixed; top:0; left:0; width:100%; height:3px; z-index:60; transform-origin:0 50%; transform:scaleX(0); background:#ffcd00; pointer-events:none; }
.topo{ position:fixed; inset:0 0 auto 0; z-index:50; height:64px; display:flex; align-items:center; background:color-mix(in srgb,#fafaf7 78%,transparent); backdrop-filter:blur(14px) saturate(1.3); border-bottom:1px solid #ededed; transition:height .35s var(--ease-out), box-shadow .35s; }
.topo.rolou{ height:56px; box-shadow:0 10px 30px -18px rgba(80,55,10,.35); }
.topo .env{ display:flex; align-items:center; gap:22px; }
.marca{ display:flex; align-items:center; gap:10px; font-size:19px; font-weight:600; letter-spacing:-.02em; color:#262626; }
.marca:hover{ color:#262626; }
.marca img{ height:30px; width:auto; }
.topo ul{ list-style:none; margin:0 0 0 auto; padding:0; display:flex; gap:24px; }
.topo ul a{ position:relative; padding:4px 0; font-size:14px; color:#525252; }
.topo ul a::after{ content:""; position:absolute; left:0; right:100%; bottom:0; height:2px; background:#ffcd00; transition:right .3s var(--ease-out); }
.topo ul a:hover, .topo ul a.ativo{ color:var(--ambar-escuro); }
.topo ul a:hover::after, .topo ul a.ativo::after{ right:0; }
/* Sobre o hero escuro, a barra fica como o topo original do hero */
.topo.sobre{ height:72px; background:transparent; border-bottom-color:transparent; backdrop-filter:none; box-shadow:none; }
.topo.sobre .env{ width:calc(100% - 2*clamp(20px,5vw,72px)); max-width:none; }
.topo.sobre ul{ visibility:hidden; }
.topo.sobre .marca{ color:#fafaf7; font-size:18px; }
.topo.sobre .marca img{ height:28px; }
.topo.sobre .lp-btn-primario{ height:var(--control-h-dense); padding:0 14px; font-size:13.5px; background:#fafaf7; color:#161616; }
.topo.sobre .lp-btn-primario:hover{ background:#fff; color:#161616; }
@media (max-width:760px){ .topo ul{ display:none; } .topo .lp-btn{ margin-left:auto; } }

/* ---------- Hero ---------- */
.lp-hero{ --lp-m:clamp(20px,5vw,72px); position:relative; display:flex; flex-direction:column; min-height:100vh; padding:72px var(--lp-m) 28px; background:#161616; color:#fafaf7; }
.lp-hero > :not(.lp-luzes){ position:relative; z-index:1; }
.lp-luzes{ position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.lp-hero-texto{ max-width:920px; padding-top:clamp(20px,5vh,56px); }
.lp .lp-hero h1{ color:#fafaf7; font-size:clamp(38px,6vw,76px); font-weight:600; line-height:1.03; letter-spacing:-.035em; }
.lp .lp-hero-texto p{ max-width:58ch; margin-top:20px; font-size:clamp(16px,1.5vw,19px); color:#a8a8a8; }
.lp-acoes{ display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.lp-btn-hero-primario, .lp-btn-hero-contorno{ height:var(--control-h); padding:0 20px; font-size:15px; }
.lp-btn-hero-primario{ background:#ffcd00; border-color:#ffcd00; color:#161616; }
.lp-btn-hero-primario:hover{ background:#ffd633; border-color:#ffd633; color:#161616; transform:translateY(-1px); }
.lp-btn-hero-contorno{ border-color:#3a3a3a; color:#fafaf7; }
.lp-btn-hero-contorno:hover{ background:#262626; color:#fafaf7; transform:translateY(-1px); }
.lp-onda-bloco{ margin-top:auto; padding-top:32px; }
.lp-onda{ position:relative; display:flex; align-items:center; justify-content:space-between; height:104px; }
.lp-onda > i{ flex:0 1 5px; min-width:1px; border-radius:2px; background:#3a3a3a; will-change:transform; }
.lp-agulha{ position:absolute; top:-6px; bottom:-6px; left:0; width:2px; background:#fafaf7; opacity:0; }
.lp-falas{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:18px; min-height:56px; }
.lp-fala{ display:flex; gap:12px; opacity:.28; transition:opacity .3s var(--ease-out); }
.lp-fala.ligada{ opacity:1; }
.lp-fala time{ flex:0 0 auto; padding-top:3px; font-family:var(--mono); font-size:11.5px; color:#8b8b8b; }
.lp .lp-fala p{ font-size:15px; color:#fafaf7; }
.lp-fala b{ font-weight:600; transition:opacity .2s; }
.lp-fala span{ opacity:0; transition:opacity .2s; }
.lp-fala span.dita{ opacity:1; }
.lp-hero-pausa{ align-self:flex-end; display:inline-flex; align-items:center; gap:6px; margin-top:10px; padding:4px 0; background:none; border:none; color:#a8a8a8; font-size:12.5px; cursor:pointer; }
.lp-hero-pausa:hover{ color:#fafaf7; }
.lp-hero-pausa[hidden]{ display:none; }
@media (max-width:760px){
  .lp-falas{ grid-template-columns:1fr; gap:8px; }
  .lp-onda{ height:72px; }
  .lp-onda > i:nth-of-type(even){ display:none; }
}

/* Janela da demonstração */
.janela-filme{ background:#fff; border:1px solid #d4d4d4; border-radius:8px; box-shadow:var(--shadow-lg); overflow:hidden; }
.barra{ height:40px; display:flex; align-items:center; gap:8px; padding:0 14px; border-bottom:1px solid #ededed; background:#fafaf7; }
.barra > i{ width:11px; height:11px; border-radius:50%; }
.barra > i:nth-child(1){ background:#f26b5b; } .barra > i:nth-child(2){ background:#f5b83d; } .barra > i:nth-child(3){ background:#4bc26e; }
.url{ margin-left:10px; padding:3px 10px; font-family:var(--mono); font-size:11.5px; color:#737373; background:#fff; border:1px solid #ededed; border-radius:6px; }

/* ---------- Faixas em degrau ---------- */
[data-faixas]{ position:relative; width:100%; pointer-events:none; z-index:1; }
[data-faixas] svg{ display:block; width:100%; overflow:visible; }
.faixa-traco{ fill:none; stroke-dasharray:1; stroke-dashoffset:1; transition:stroke-dashoffset 1.6s var(--ease-out); }
.on .faixa-traco{ stroke-dashoffset:0; }
.faixa-brilho{ fill:none; stroke:#fffbe6; stroke-width:3; stroke-linecap:round; stroke-dasharray:.05 .95; stroke-dashoffset:1; opacity:0; transition:opacity .6s 1.4s; }
.on .faixa-brilho{ opacity:.9; animation:lpBrilho 5s linear 1.6s infinite; }
@keyframes lpBrilho{ to{ stroke-dashoffset:0; } }

/* ---------- Faixa de destaques ---------- */
.faixa{ position:relative; z-index:1; padding:34px 0; background:#fafaf7; border-block:1px dashed var(--tracejado); }
.faixa .env{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.faixa .env > div + div{ border-left:1px dashed var(--tracejado); padding-left:20px; }
.faixa b{ display:block; font-family:var(--serif); font-style:italic; font-weight:400; font-size:34px; line-height:1; color:var(--ambar-escuro); }
.faixa span{ display:block; margin-top:6px; font-size:12.5px; color:#737373; }
@media (max-width:760px){ .faixa .env{ grid-template-columns:repeat(2,1fr); } .faixa .env > div:nth-child(3){ border-left:none; padding-left:0; } }

/* ---------- Seções ---------- */
.lp section{ position:relative; padding:110px 0; }
.lp section::before{ content:""; position:absolute; top:0; bottom:0; left:50%; width:min(var(--largura),calc(100% - 48px)); transform:translateX(-50%); border-inline:1px dashed var(--tracejado); opacity:.55; pointer-events:none; }
.lp section > .env{ position:relative; }
.js .revela{ opacity:0; transform:translateY(26px); transition:opacity .8s var(--ease-out), transform .8s var(--ease-out); }
.js .revela.on{ opacity:1; transform:none; }
.revela[data-atraso="1"]{ transition-delay:.1s; } .revela[data-atraso="2"]{ transition-delay:.2s; } .revela[data-atraso="3"]{ transition-delay:.3s; }

.grade{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin-top:44px; }
.cartao{ padding:26px; background:#fff; border:1px dashed var(--tracejado); border-radius:8px; transition:border-color .2s, opacity .8s var(--ease-out), transform .8s var(--ease-out); }
.cartao:hover{ border-style:solid; border-color:#262626; }
.icone{ width:40px; height:40px; flex:0 0 auto; display:flex; align-items:center; justify-content:center; background:#fff; color:#262626; border:1px solid var(--tracejado); border-bottom:3px solid #ffcd00; border-radius:6px; }
.cartao h3{ margin-top:18px; font-size:19px; font-weight:600; letter-spacing:-.02em; color:#262626; }
.cartao p{ margin-top:10px; font-size:15px; color:#525252; }
@media (max-width:860px){ .grade{ grid-template-columns:minmax(0,1fr); } }

.beneficios{ display:grid; gap:6px; margin-top:32px; max-width:760px; }
.beneficio{ display:flex; align-items:center; gap:14px; padding:12px; }
.beneficio h3{ font-size:17px; font-weight:600; letter-spacing:-.01em; color:#262626; }
.beneficio p{ font-size:15px; color:#525252; }
.lp-nota-privacidade{ margin-top:18px; font-size:15px; color:#525252; }
.lp-nota-privacidade a, .rodape a{ color:inherit; text-decoration:underline; text-underline-offset:3px; }
.lp-nota-privacidade a:hover, .rodape a:hover{ color:#262626; }

/* ---------- Demonstração ---------- */
.lp-filme-grade{ display:grid; grid-template-columns:minmax(0,7fr) minmax(260px,4fr); column-gap:clamp(24px,4vw,56px); row-gap:14px; align-items:center; margin-top:44px; }
.janela-filme{ grid-column:1; }
.lp-palco{ position:relative; width:100%; aspect-ratio:640/460; overflow:hidden; background:#fff; }
.lp-palco-int{ position:absolute; top:0; left:0; width:640px; height:460px; transform-origin:0 0; color:#262626; font-size:17px; }
.lp-passo{ font-family:var(--mono); font-size:12px; color:var(--ambar-escuro); }
.lp-capitulo h3{ margin-top:8px; font-family:var(--serif); font-weight:400; font-size:clamp(30px,3.2vw,40px); line-height:1.05; letter-spacing:-.02em; color:#262626; }
.lp-capitulo p{ margin-top:12px; font-size:17px; color:#525252; min-height:6.2em; }
@media (max-width:900px){ .lp-filme-grade{ grid-template-columns:minmax(0,1fr); } .lp-capitulo{ grid-row:3; } .lp-capitulo p{ min-height:0; } }

/* ---------- Fechamento ---------- */
.lp .cta{ padding:110px 0 60px; text-align:center; overflow:hidden; }
.lp .cta h2{ margin-top:14px; font-size:clamp(40px,5vw,64px); line-height:1.02; }
.cta-texto p{ margin:16px auto 0; max-width:56ch; font-size:17px; color:#525252; }
.cta-palco{ position:relative; height:380px; margin-top:40px; }
.cta-palco [data-faixas]{ position:absolute; inset:0 0 auto; }
.cta-cartao{ position:absolute; z-index:2; left:50%; top:190px; width:min(560px,calc(100% - 48px)); padding:26px 28px 28px; text-align:left; background:#fff; border:1px solid var(--tracejado); border-radius:8px; box-shadow:0 30px 60px -30px rgba(22,22,22,.28); }
.js .cta-cartao.revela, .js .cta-cartao.revela.on{ transform:translate(-50%,-50%); }
html:not(.js) .cta-cartao{ transform:translate(-50%,-50%); }
.cta-cartao::before{ content:""; position:absolute; inset:-12px; border:1px dashed var(--tracejado); border-radius:12px; pointer-events:none; }
.cta-cab{ display:flex; align-items:center; gap:12px; }
.selo-g{ width:44px; height:44px; flex:0 0 auto; display:flex; align-items:center; justify-content:center; background:#161616; border-bottom:3px solid #ffcd00; border-radius:6px; }
.selo-g img{ height:28px; width:auto; }
.cta-cab b{ display:block; font-size:17px; font-weight:600; letter-spacing:-.01em; }
.cta-cab small{ display:block; font-family:var(--mono); font-size:10.5px; letter-spacing:.08em; text-transform:uppercase; color:#737373; }
.cta-modulos{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-top:20px; }
.cta-modulos span{ display:flex; flex-direction:column; gap:6px; padding:10px 12px; font-size:13px; font-weight:600; color:#525252; border:1px solid #ededed; border-bottom:2px solid #ededed; border-radius:6px; }
.cta-modulos .ativo{ background:rgba(255,205,0,.16); border-bottom-color:#ffcd00; color:#262626; }
@media (max-width:560px){ .cta-modulos{ grid-template-columns:repeat(2,minmax(0,1fr)); } .cta-palco{ height:440px; } .cta-cartao{ top:220px; } }

.rodape{ padding:34px 0 50px; color:#737373; font-size:13.5px; border-top:1px dashed var(--tracejado); }
.rodape .env{ display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; align-items:center; }
.rodape img{ height:20px; width:auto; vertical-align:-5px; margin-right:6px; }

/* ---------- Cenas (coordenadas fixas de 640x460) ---------- */
.cena{ position:absolute; inset:0; padding:32px; display:none; flex-direction:column; align-items:center; justify-content:center; gap:20px; }
.cena.on{ display:flex; }
.pausado .cena *, .pausado .cena *::before, .pausado .cena *::after{ animation-play-state:paused!important; }

.a{ animation:cSurge .5s var(--ease-out) both; animation-delay:var(--d,0s); }
.rev{ animation:cRevela .9s linear both; animation-delay:var(--d,0s); }
.c-aperta{ display:inline-flex; align-items:center; gap:6px; animation:cAperta .45s ease both; animation-delay:var(--d,0s); }
@keyframes cSurge{ from{ opacity:0; transform:translateY(12px); } }
@keyframes cRevela{ from{ clip-path:inset(0 100% 0 0); } to{ clip-path:inset(0 0 0 0); } }
@keyframes cAperta{ 40%{ transform:scale(.92); } }

.c-titulo{ align-self:flex-start; font-size:21px; font-weight:600; letter-spacing:-.02em; }
.c-zona{ position:relative; width:480px; height:190px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; border:2px dashed #ffcd00; border-radius:var(--radius-card); background:rgba(255,205,0,.14); animation:cAcende .35s ease both 1.5s; }
.c-zona .hi{ font-size:30px; color:#8a6a00; margin-bottom:6px; }
.c-zona b{ font-weight:600; font-size:19px; }
.c-zona small{ font-size:15px; color:#737373; }
@keyframes cAcende{ from{ border-color:#d4d4d4; background:transparent; } }
.c-arquivo{ display:inline-flex; align-items:center; gap:10px; padding:10px 14px; background:#f5f5f5; border:1px solid #ededed; border-radius:var(--radius-card); font-size:16px; }
.c-arquivo .hi{ color:#8a6a00; font-size:16px; }
.c-arquivo em{ font-family:var(--mono); font-style:normal; font-size:13px; color:#737373; }
.c-zona > *{ animation:cSome .3s ease both 1.3s; }
@keyframes cSome{ to{ opacity:0; } }
.c-voa{ position:absolute; top:207px; animation:cVoa 1.3s var(--ease-out) both .3s; }
@keyframes cVoa{ from{ opacity:0; transform:translate(190px,-170px) rotate(7deg); } 25%{ opacity:1; } }
.c-iniciar{ position:absolute; bottom:44px; padding:12px 22px; background:#ffcd00; color:#161616; font-size:17px; font-weight:600; border-radius:var(--radius); }

.c-barras{ position:relative; width:100%; height:160px; display:flex; align-items:center; justify-content:space-between; }
.c-barras > i{ width:8px; border-radius:2px; }
#barrasPreparo > i{ height:calc(var(--h2)*1px); background:#ffcd00; animation:cLimpa .45s var(--ease-out) both; animation-delay:calc(.7s + var(--i)*.058s); }
@keyframes cLimpa{ from{ height:calc(var(--h1)*1px); background:#a3a3a3; } }
.c-varre{ position:absolute; top:-6px; bottom:-6px; left:0; width:2px; background:#262626; animation:cVarre 2.4s linear both .7s; }
@keyframes cVarre{ from{ left:0; opacity:1; } 96%{ opacity:1; } to{ left:100%; opacity:0; } }
.c-selos{ display:flex; gap:10px; }
.c-selo{ display:inline-flex; align-items:center; gap:6px; padding:5px 12px; border-radius:var(--radius-pill); font-size:15px; font-weight:600; color:#15803d; background:rgba(34,197,94,.12); border:1px solid rgba(34,197,94,.3); }

.c-barras-baixa{ height:92px; }
#barrasFalantes > i{ background:var(--c); animation:cPinta .25s ease both; animation-delay:calc(.2s + var(--i)*.1s); }
@keyframes cPinta{ from{ background:#d4d4d4; } }
.c-linhas{ position:relative; width:100%; display:flex; flex-direction:column; gap:6px; }
.c-linha{ position:relative; display:flex; gap:14px; padding:9px 12px; border-radius:var(--radius); }
.c-linha time{ flex:0 0 auto; padding-top:2px; font-family:var(--mono); font-size:14px; color:#737373; }
.c-linha p{ margin:0; font-size:18px; line-height:1.3; }
.f0{ color:#8a6a00; } .f1{ color:#1d4ed8; } .f2{ color:#15803d; }
.cena b{ font-weight:600; }

.c-player{ width:100%; display:flex; align-items:center; gap:14px; padding:12px 14px; background:#f5f5f5; border-radius:var(--radius-card); }
.c-play{ width:40px; height:40px; display:flex; align-items:center; justify-content:center; background:#ffcd00; color:#161616; border-radius:var(--radius); font-size:16px; }
.c-trilha{ flex:1; height:6px; overflow:hidden; border-radius:2px; background:#d4d4d4; }
.c-preenche{ display:block; height:100%; background:#ffcd00; transform-origin:left; animation:cEnche 5.4s linear both; }
@keyframes cEnche{ from{ transform:scaleX(0); } }
.c-player time{ font-family:var(--mono); font-size:14px; color:#737373; }
.fala{ animation:cFala 1.3s linear both; animation-delay:var(--d,0s); }
@keyframes cFala{ 0%,100%{ background:transparent; box-shadow:none; } 8%,92%{ background:rgba(255,205,0,.14); box-shadow:inset 0 0 0 1px #ffcd00; } }

.c-linhas-recorte{ gap:0; }
.c-linhas-recorte .c-linha{ height:48px; align-items:center; }
.c-selecao{ position:absolute; left:0; right:0; top:48px; height:96px; background:rgba(255,205,0,.35); border-radius:var(--radius); transform-origin:top; animation:cSeleciona 1s var(--ease-out) both .5s; }
@keyframes cSeleciona{ from{ transform:scaleY(0); } }
.c-corte{ width:100%; display:flex; align-items:center; gap:10px; padding:10px 14px; background:rgba(255,205,0,.14); border:1px solid #ffcd00; border-radius:var(--radius); font-size:16px; }
.c-corte .hi{ color:#8a6a00; }
.c-corte span{ font-family:var(--mono); font-size:14px; }
.c-corte b{ margin-left:auto; padding:7px 14px; background:#ffcd00; color:#161616; border-radius:var(--radius); font-size:15px; }
.c-saida .hi{ color:#15803d; }

.cena[data-cena="5"]{ gap:10px; }
.c-ponto{ width:100%; padding:10px 14px; background:#f5f5f5; border:1px solid #ededed; border-radius:var(--radius); }
.c-ponto h4{ color:#737373; font-size:14px; font-weight:500; letter-spacing:0; }
.c-ponto p{ margin-top:3px; font-size:17px; }
.c-ponto time{ margin-right:6px; padding:1px 6px; font-family:var(--mono); font-size:13px; color:#8a6a00; border:1px solid #ffcd00; border-radius:var(--radius); background:rgba(255,205,0,.14); }

.cena[data-cena="6"]{ gap:14px; }
.c-doc{ width:370px; height:340px; padding:24px; display:flex; flex-direction:column; align-items:flex-start; gap:7px; background:#fafaf7; color:#262626; border:1px solid #ededed; border-radius:var(--radius); }
.c-doc-titulo{ font-size:19px; font-weight:600; letter-spacing:-.02em; margin-bottom:6px; }
.c-doc-sec{ font-size:14.5px; font-weight:600; margin-top:7px; }
.c-doc-l{ display:block; width:var(--w); height:7px; border-radius:2px; background:#d4d4d4; transform-origin:left; animation:cLinhaDoc .4s var(--ease-out) both; animation-delay:var(--d,0s); }
@keyframes cLinhaDoc{ from{ transform:scaleX(0); } }
.c-baixar{ display:inline-flex; align-items:center; gap:8px; padding:10px 20px; background:#ffcd00; color:#161616; font-size:16px; font-weight:600; border-radius:var(--radius); }
