/* ==========================================================================
   Landing — palco 3D preso na tela (herói → anatomia → clique) + seções
   ========================================================================== */
.pg-landing{background:var(--bg)}
.faixa-aviso{position:fixed;top:64px;left:0;right:0;z-index:40;text-align:center;font-size:13.5px;
  padding:9px 16px;background:var(--acento-fundo);color:var(--acento-2);border-bottom:1px solid rgba(255,90,54,.2);
  backdrop-filter:blur(10px)}

/* ---------------------------------------------------------------- anatomia (rolagem longa) */
.anatomia{position:relative;height:560vh;
  background:
    radial-gradient(1200px 700px at 72% 38%,rgba(255,90,54,.07),transparent 60%),
    radial-gradient(900px 600px at 20% 80%,rgba(120,140,170,.05),transparent 60%),
    var(--bg)}
.palco{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;isolation:isolate}
#cena{position:absolute;inset:0;width:100%;height:100%;z-index:0;opacity:0;transition:opacity 1.2s var(--ease)}
#cena.pronta{opacity:1}
.brilho-chao{position:absolute;left:50%;bottom:-18vh;width:110vw;height:50vh;transform:translateX(-50%);z-index:-1;
  background:radial-gradient(50% 50% at 50% 50%,rgba(255,255,255,.05),transparent 70%);pointer-events:none}

/* contorno topográfico de fundo (desenhado em CSS, sem imagem) */
.anatomia::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.5;
  background-image:repeating-radial-gradient(circle at 78% 42%,transparent 0 38px,rgba(255,255,255,.028) 38px 39px);
  -webkit-mask-image:radial-gradient(70% 60% at 75% 45%,#000 0%,transparent 75%);
          mask-image:radial-gradient(70% 60% at 75% 45%,#000 0%,transparent 75%)}

.heroi,.camadas,.clique{position:absolute;inset:0;z-index:2;pointer-events:none;
  display:flex;flex-direction:column;justify-content:center;
  transition:opacity .5s var(--ease),transform .6s var(--ease)}
.heroi a,.heroi button,.camadas li{pointer-events:auto}
[data-fase].fora{opacity:0;transform:translateY(-14px)}
[data-fase].fora a{pointer-events:none}

/* herói */
.heroi{max-width:var(--largura);padding-top:64px}
.heroi-sobre{display:flex;align-items:center;gap:10px;margin:0 0 22px;color:var(--texto-2)}
.ponto{width:7px;height:7px;border-radius:99px;background:var(--acento);box-shadow:0 0 0 0 rgba(255,90,54,.6);animation:pulso 2.4s infinite}
@keyframes pulso{70%{box-shadow:0 0 0 10px rgba(255,90,54,0)}100%{box-shadow:0 0 0 0 rgba(255,90,54,0)}}
.heroi-titulo{font-family:var(--serif);font-weight:400;margin:0;max-width:11ch;
  font-size:clamp(54px,8.6vw,128px);line-height:.92;letter-spacing:-.022em}
.heroi-titulo em,.secao-titulo em,.final-titulo em,.clique-txt em{font-style:italic;color:var(--texto-2)}
.heroi-titulo em{background:linear-gradient(100deg,#fff 10%,#ffb39e 55%,var(--acento) 95%);
  -webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.06em}
.heroi-lede{max-width:44ch;margin:28px 0 34px;font-size:clamp(16px,1.5vw,19px);line-height:1.55;color:var(--texto-2)}
.heroi-acoes{display:flex;flex-wrap:wrap;gap:12px}
.heroi-fatos{display:flex;flex-wrap:wrap;gap:10px 28px;list-style:none;padding:0;margin:44px 0 0;font-size:14px;color:var(--mudo)}
.heroi-fatos b{color:var(--texto);font-weight:500;margin-right:2px}

/* camadas */
.camadas{max-width:var(--largura)}
.camadas .sobrelinha{margin:0 0 18px}
.camadas-lista{list-style:none;margin:0;padding:0;max-width:380px;display:flex;flex-direction:column;gap:6px}
.camadas-lista li{display:flex;gap:16px;padding:14px 16px;border-radius:var(--r-3);border:1px solid transparent;
  opacity:.32;transition:opacity .45s var(--ease),background .45s,border-color .45s,transform .45s var(--ease)}
.camadas-lista li.ativa{opacity:1;background:rgba(19,19,23,.72);border-color:var(--linha-2);transform:translateX(6px);
  backdrop-filter:blur(8px)}
.c-num{font-size:12px;color:var(--acento);padding-top:4px}
.camadas-lista h3{margin:0 0 4px;font-size:17px;font-weight:600;letter-spacing:-.01em}
.camadas-lista p{margin:0;font-size:14px;line-height:1.5;color:var(--mudo);max-height:0;overflow:hidden;
  transition:max-height .5s var(--ease),color .3s}
.camadas-lista li.ativa p{max-height:120px;color:var(--texto-2)}

/* clique */
.clique{align-items:center;text-align:center;justify-content:flex-end;padding-bottom:12vh}
.clique-txt{font-family:var(--serif);font-size:clamp(64px,10vw,150px);line-height:1;margin:0;letter-spacing:-.02em}
.clique-sub{color:var(--texto-2);margin:14px 0 0;font-size:17px;max-width:40ch}

/* trilho de progresso */
.trilho{position:absolute;right:var(--gutter);top:50%;width:2px;height:140px;transform:translateY(-50%);
  background:var(--linha-2);border-radius:2px;z-index:3;overflow:hidden}
.trilho-fill{position:absolute;left:0;top:0;width:100%;height:0;background:var(--acento);border-radius:2px}
.carregando-3d{position:absolute;right:var(--gutter);bottom:28px;z-index:3;font-size:12px;color:var(--mudo-2);
  margin:0;letter-spacing:.04em;transition:opacity .6s}
.carregando-3d.feito{opacity:0}

@media (max-width:860px){
  .anatomia{height:520vh}
  .heroi{justify-content:flex-end;padding-bottom:9vh;padding-top:0}
  .heroi-titulo{font-size:clamp(48px,13vw,76px)}
  .heroi-lede{margin:18px 0 22px;font-size:16px}
  .heroi-fatos{margin-top:24px;gap:6px 18px;font-size:13px}
  .heroi-acoes .btn-lg{height:50px;padding:0 20px;font-size:15px}
  /* no celular "ver por dentro" é a própria rolagem: o espaço vai para a placa */
  .heroi-acoes .btn-fantasma{display:none}
  .camadas{justify-content:flex-end;padding-bottom:5vh}
  .camadas .sobrelinha{display:none}
  .camadas-lista{max-width:none}
  .camadas-lista li{display:none}
  .camadas-lista li.ativa{display:flex;transform:none}
  .trilho{right:10px;height:100px}
  .clique{padding-bottom:9vh}
}

/* ---------------------------------------------------------------- seções */
.secao{position:relative;padding:clamp(88px,12vw,160px) 0;border-top:1px solid var(--linha)}
.secao-cab{max-width:760px;margin-bottom:clamp(40px,6vw,72px)}
.secao-titulo{font-family:var(--serif);font-weight:400;margin:14px 0 0;font-size:clamp(38px,5.4vw,72px);line-height:1;letter-spacing:-.018em}
.envelope-estreito{max-width:860px}

/* passos */
.passos-grandes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,40px)}
.passos-grandes li{position:relative;padding-top:28px;border-top:1px solid var(--linha-2)}
.pg-num{display:block;font-size:84px;line-height:.9;color:var(--acento);margin-bottom:18px}
.passos-grandes h3{margin:0 0 10px;font-size:21px;font-weight:600;letter-spacing:-.015em}
.passos-grandes p{margin:0;color:var(--mudo);font-size:15.5px;max-width:34ch}
@media (max-width:760px){.passos-grandes{grid-template-columns:1fr;gap:36px}}

/* modelos */
.grade-modelos{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:minmax(260px,auto);gap:16px}
.modelo{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:18px;
  padding:26px;border-radius:var(--r-4);background:linear-gradient(180deg,var(--sup),var(--bg-2));border:1px solid var(--linha);
  overflow:hidden;transition:border-color .3s,transform .4s var(--ease)}
.modelo:hover{border-color:var(--linha-2);transform:translateY(-3px)}
.modelo-arte{color:var(--texto-2);display:flex;align-items:center;justify-content:center;flex:1;min-height:140px}
.modelo-arte svg{width:auto;height:150px;transition:transform .6s var(--ease)}
.modelo:hover .modelo-arte svg{transform:scale(1.04) rotate(-1deg)}
.modelo-arte .ac{stroke:var(--acento)}
.modelo-arte .ou{stroke:var(--ouro)}
.modelo h3{margin:10px 0 6px;font-size:20px;font-weight:600;letter-spacing:-.015em}
.modelo p{margin:0;color:var(--mudo);font-size:14.5px}
.modelo .modelo-preco{margin-top:12px;color:var(--texto);font-weight:600;font-size:15px}
.modelo-destaque{grid-row:span 2;flex-direction:row;align-items:stretch;gap:28px;
  background:radial-gradient(700px 400px at 30% 30%,rgba(255,90,54,.10),transparent 60%),linear-gradient(180deg,var(--sup),var(--bg-2))}
.modelo-destaque .modelo-arte svg{height:min(380px,42vw)}
.modelo-destaque .modelo-txt{display:flex;flex-direction:column;justify-content:flex-end;max-width:300px}
.modelo-destaque h3{font-family:var(--serif);font-weight:400;font-size:44px;line-height:1;margin:16px 0 12px;letter-spacing:-.01em}
.modelo-destaque{grid-column:span 2}
@media (max-width:960px){
  .grade-modelos{grid-template-columns:1fr 1fr}
  .modelo-destaque{grid-column:span 2;grid-row:auto}
}
@media (max-width:620px){
  .grade-modelos{grid-template-columns:1fr}
  .modelo-destaque{grid-column:auto;flex-direction:column}
  .modelo-destaque .modelo-arte svg{height:240px}
}

/* preços */
.grade-precos{display:grid;grid-template-columns:1.1fr 1fr;gap:16px;align-items:stretch}
.plano{display:flex;flex-direction:column;gap:24px;padding:clamp(24px,3.4vw,40px);border-radius:var(--r-4);
  border:1px solid var(--linha);background:var(--bg-2)}
.plano-fisico{background:radial-gradient(600px 360px at 85% 0%,rgba(255,90,54,.14),transparent 60%),var(--sup);border-color:rgba(255,90,54,.25)}
.plano h3{font-family:var(--serif);font-weight:400;font-size:clamp(30px,3.4vw,40px);line-height:1.05;margin:16px 0 18px;letter-spacing:-.01em}
.plano-valor{margin:0;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.plano-valor b{font-size:clamp(46px,5vw,64px);line-height:1;color:var(--texto);font-weight:400;letter-spacing:-.02em}
.plano-lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;flex:1}
.plano-lista li{position:relative;padding-left:28px;color:var(--texto-2);font-size:15.5px}
.plano-lista li::before{content:"";position:absolute;left:0;top:8px;width:14px;height:8px;border-left:2px solid var(--acento);
  border-bottom:2px solid var(--acento);transform:rotate(-45deg)}
.plano-lista b{color:var(--texto);font-weight:600}
/* venda pausada no painel: o plano continua visível (é a promessa da marca), sem botão ativo */
.plano-pausado{opacity:.55}
.plano-pausado .btn{pointer-events:none;opacity:.6}
.plano-pausado header::after{content:"Em breve";display:inline-flex;margin-top:12px;height:24px;padding:0 10px;border-radius:99px;align-items:center;
  font-size:12px;font-weight:600;color:var(--alerta);background:var(--alerta-fundo);border:1px solid rgba(245,185,74,.3)}
.precos-nota{margin:24px 0 0;font-size:14px;text-align:center}
@media (max-width:820px){.grade-precos{grid-template-columns:1fr}}

/* engenharia */
.grade-metricas{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--linha-2);border-bottom:1px solid var(--linha-2)}
.metrica{padding:36px 24px 34px 0;display:flex;flex-direction:column;gap:12px}
.metrica+.metrica{padding-left:24px;border-left:1px solid var(--linha)}
.metrica b{font-size:clamp(40px,4.8vw,64px);font-weight:300;line-height:1;letter-spacing:-.04em;color:var(--texto)}
.metrica small{font-size:.38em;color:var(--mudo);margin-left:4px;letter-spacing:0}
.metrica span{color:var(--mudo);font-size:14.5px;max-width:24ch}
@media (max-width:860px){
  .grade-metricas{grid-template-columns:1fr 1fr}
  .metrica:nth-child(3){padding-left:0;border-left:none}
  .metrica:nth-child(n+3){border-top:1px solid var(--linha)}
}

/* FAQ */
.faq details{border-bottom:1px solid var(--linha)}
.faq summary{list-style:none;cursor:pointer;padding:24px 44px 24px 0;position:relative;font-size:clamp(17px,1.8vw,20px);font-weight:500;letter-spacing:-.01em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:8px;top:50%;width:12px;height:12px;margin-top:-8px;
  border-right:1.5px solid var(--mudo);border-bottom:1.5px solid var(--mudo);transform:rotate(45deg);transition:transform .3s var(--ease)}
.faq details[open] summary::after{transform:rotate(225deg);margin-top:-2px}
.faq details p{margin:0 0 26px;color:var(--texto-2);max-width:66ch;font-size:16px}

/* final */
.final{text-align:center;overflow:hidden;
  background:radial-gradient(800px 500px at 50% 110%,rgba(255,90,54,.16),transparent 65%),var(--bg)}
.final-titulo{font-family:var(--serif);font-weight:400;font-size:clamp(46px,7.4vw,108px);line-height:.95;letter-spacing:-.02em;margin:0 0 44px}
.final-nota{font-size:14px;margin:18px 0 0}

/* rodapé da landing */
.rodape-tag{margin:10px 0 0;color:var(--mudo-2);font-size:13.5px}
.rodape-copy{margin:0;color:var(--mudo-2)}

/* entrada das seções */
.revelar{opacity:0;transform:translateY(22px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.revelar.vis{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .revelar{opacity:1;transform:none;transition:none}
  .ponto{animation:none}
  .heroi,.camadas,.clique,.camadas-lista li{transition:none}
}
