/* gerado do protótipo index.html */

/* HERO */
.hero{position:relative;min-height:100vh;padding:150px 0 80px;display:flex;flex-direction:column;justify-content:center;overflow:hidden}
.hero>.wrap{width:100%;position:relative}
.hero .glow{position:absolute;border-radius:50%;pointer-events:none}
.hero .glow.a{width:900px;height:900px;right:-280px;top:-260px;background:radial-gradient(circle,rgba(11,107,85,.6),rgba(6,35,29,0) 62%);animation:flutua 16s ease-in-out infinite alternate}
.hero .glow.b{width:600px;height:600px;left:-200px;bottom:-300px;background:radial-gradient(circle,rgba(227,239,38,.1),rgba(6,35,29,0) 60%);animation:flutua 20s ease-in-out infinite alternate-reverse}
@keyframes flutua{to{transform:translate(-80px,60px) scale(1.1)}}
.titulo{font-size:clamp(60px,9.4vw,156px);margin-top:28px}
.titulo .l{display:block;overflow:hidden;padding-bottom:.06em;white-space:nowrap}
.titulo .l span{display:inline-block;transform:translateY(105%);animation:entra 1.1s var(--ease) forwards}
.titulo .l:nth-child(2) span{animation-delay:.12s;margin-left:.55em}
.titulo .l:nth-child(3) span{animation-delay:.24s}
.titulo .l:nth-child(3) span:first-child{margin-left:1.1em}
.titulo .respira{animation:entra 1.1s var(--ease) .24s forwards,peso 4.5s ease-in-out 1.6s infinite alternate}
@keyframes entra{to{transform:none}}
@keyframes peso{from{font-weight:300}to{font-weight:800}}
.hero .sub{font-size:clamp(18px,1.6vw,22px);line-height:1.5;max-width:520px;opacity:0;animation:aparece 1s var(--ease) .7s forwards;margin-top:36px}
.hero .sub b{font-weight:500}
.hero .acoes{display:flex;gap:12px;flex-wrap:wrap;margin-top:36px;opacity:0;animation:aparece 1s var(--ease) .9s forwards}
@keyframes aparece{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.palco{position:absolute;right:32px;bottom:-2%;width:min(30vw,400px);aspect-ratio:1/1.1}
.palco i{position:absolute;left:0;top:0;width:3.2%;aspect-ratio:1;border-radius:24%;background:var(--limao);box-shadow:0 0 16px 4px rgba(227,239,38,.55);opacity:0;animation:pitada 7s var(--ease) infinite;animation-delay:var(--d)}
@keyframes pitada{0%{opacity:0;transform:translate(var(--c),-40px)}8%{opacity:1}40%,82%{opacity:1;transform:translate(var(--x),var(--y))}100%{opacity:0;transform:translate(var(--x),var(--y))}}
.palco .chao{position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(247,242,228,.25),transparent)}

/* PROVOCAÇÃO */
.provoca{padding:170px 0 160px}
.provoca .grande{font-size:clamp(40px,5.4vw,84px);margin-top:32px;max-width:1100px}
.palavra{opacity:.16;transition:opacity .4s}
.palavra.acesa{opacity:1}
.palavra.dest.acesa{color:var(--limao)}

/* GESTO */
.gesto{padding:0;height:110vh;min-height:720px;overflow:hidden}
.gesto .foto{position:absolute;inset:0}
.gesto .foto img{width:100%;height:120%;object-fit:cover;object-position:60% 40%;will-change:transform}
.gesto .veu{position:absolute;inset:0;background:linear-gradient(180deg,var(--noite) 0%,rgba(6,35,29,.2) 22%,rgba(6,35,29,.1) 60%,var(--noite) 100%),linear-gradient(90deg,rgba(6,35,29,.75) 0%,rgba(6,35,29,0) 55%)}
.gesto .texto{position:relative;height:100%;display:flex;flex-direction:column;justify-content:center}
.gesto h2{font-size:clamp(52px,7.4vw,124px);max-width:760px;margin-top:24px}
.gesto p{max-width:420px;font-size:19px;opacity:.85;margin-top:28px}
.chuva{position:absolute;left:51%;top:58%;width:70px;height:40%;pointer-events:none}
.chuva i{position:absolute;width:7px;height:7px;border-radius:2px;background:var(--limao);box-shadow:0 0 14px 4px rgba(227,239,38,.75);opacity:0;animation:cai 3.4s linear infinite}
@keyframes cai{0%{transform:translateY(0);opacity:0}15%{opacity:1}100%{transform:translateY(34vh);opacity:0}}

/* VIRADA (mantida) */
.virada .cab{display:flex;justify-content:space-between;align-items:flex-end;gap:40px}
.virada .cab p{max-width:380px;opacity:.75}
.tres{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:72px}
.tres .card{min-height:420px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,0));isolation:isolate}
.tres .card::before{content:"";position:absolute;inset:0;z-index:-1;opacity:0;transition:opacity .5s;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(227,239,38,.12),transparent 60%)}
.tres .card:hover::before{opacity:1}
.tres h3{font-family:var(--f-display);font-size:clamp(30px,2.8vw,42px);font-weight:500;letter-spacing:-.04em;line-height:1;margin:14px 0 12px}
.tres p{font-size:15px;opacity:.7}
.demo{height:170px;position:relative;display:flex;align-items:center;justify-content:center}
.demo .g{width:18px;height:18px;border-radius:5px;background:var(--limao);box-shadow:0 0 20px 5px rgba(227,239,38,.5);animation:pulsa 2.4s ease-in-out infinite}
@keyframes pulsa{50%{box-shadow:0 0 50px 14px rgba(227,239,38,.6);transform:scale(1.15)}}
.demo.cai i{position:absolute;top:8px;width:9px;height:9px;border-radius:3px;background:var(--limao);box-shadow:0 0 12px 3px rgba(227,239,38,.6);animation:cai2 2.6s linear infinite;opacity:0}
@keyframes cai2{0%{transform:translateY(0);opacity:0}15%{opacity:1}100%{transform:translateY(140px);opacity:0}}
.demo.sobe{align-items:flex-end;gap:12px}
.demo.sobe span{width:12px;border-radius:6px;background:var(--limao);box-shadow:0 0 14px 2px rgba(227,239,38,.4);animation:degrau 3.2s var(--ease) infinite}
@keyframes degrau{0%{height:8px}50%,100%{height:var(--h)}}

/* SERVIÇOS — lista editorial que abre */
.servicos{padding-top:60px}
.servicos .cab{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:end}
.servicos .cab p{opacity:.75;font-size:18px}
.lista-serv{margin-top:72px;border-top:1px solid var(--linha)}
.serv{border-bottom:1px solid var(--linha)}
.serv .linha{display:grid;grid-template-columns:90px 1fr auto 48px;align-items:center;gap:24px;padding:34px 0;cursor:pointer;transition:padding .6s var(--ease)}
.serv .num{font-family:var(--mono);font-size:13px;opacity:.5;transition:color .4s,opacity .4s}
.serv h3{font-family:var(--f-display);font-size:clamp(40px,5.4vw,84px);font-weight:500;letter-spacing:-.05em;line-height:.95;transition:transform .7s var(--ease),font-weight .7s}
.serv .claim{font-size:16px;opacity:.6;max-width:300px;text-align:right}
.serv .mais{width:48px;height:48px;border-radius:50%;border:1px solid var(--linha);display:grid;place-items:center;font-size:22px;transition:transform .6s var(--ease),background .4s,color .4s}
.serv:hover h3{transform:translateX(14px)}
.serv:hover .num{color:var(--limao);opacity:1}
.serv.aberto .mais{transform:rotate(45deg);background:var(--limao);color:var(--noite);border-color:var(--limao)}
.serv.aberto .num{color:var(--limao);opacity:1}
.serv .corpo{display:grid;grid-template-rows:0fr;transition:grid-template-rows .8s var(--ease)}
.serv.aberto .corpo{grid-template-rows:1fr}
.serv .corpo>div{overflow:hidden}
.serv .dentro{display:grid;grid-template-columns:90px 1.05fr .95fr;gap:24px;padding:0 0 48px}
.serv .desc{font-size:20px;line-height:1.5;max-width:520px}
.serv .cols{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:32px}
.serv .cols h4{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;font-weight:400;opacity:.55;margin-bottom:12px}
.serv .cols ul{list-style:none;display:grid;gap:9px;font-size:15px}
.serv .cols li{display:flex;gap:10px;align-items:baseline}
.serv .cols li::before{content:"";flex:0 0 6px;height:6px;border-radius:2px;background:var(--limao);transform:translateY(-2px)}
.serv .midia{border-radius:var(--raio);overflow:hidden;position:relative;aspect-ratio:4/3;background:linear-gradient(150deg,var(--mata),var(--noite));border:1px solid var(--linha)}
.serv .midia canvas{position:absolute;inset:0;width:100%;height:100%}
.serv .midia span{position:absolute;left:18px;bottom:16px}

/* ARGUMENTOS — infográfico */
.argumentos .grande{font-size:clamp(44px,6.2vw,100px);max-width:1150px;margin-top:28px}
.dados{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:80px}
.dado{border-radius:var(--raio);padding:32px;background:#fff;border:1px solid var(--linha-cl);display:flex;flex-direction:column;justify-content:space-between;min-height:460px}
.dado .n{font-family:var(--f-display);font-size:clamp(72px,8vw,120px);font-weight:500;letter-spacing:-.06em;line-height:.9}
.dado p{font-size:17px;line-height:1.45;margin-top:14px}
.dado .fonte{font-family:var(--mono);font-size:11px;letter-spacing:.03em;opacity:.5;margin-top:18px;line-height:1.5}
.vis{height:120px;display:flex;align-items:center}
.regua{width:100%;height:10px;border-radius:5px;background:var(--linha-cl);position:relative;overflow:hidden}
.regua i{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--noite);border-radius:5px;transition:width 1.6s var(--ease) .3s}
.on .regua i{width:5%}
.regua+.mono{margin-left:12px;opacity:.6;white-space:nowrap}
.anel{width:120px;height:120px}
.anel circle{fill:none;stroke-width:12}
.anel .fundo{stroke:var(--linha-cl)}
.anel .valor{stroke:var(--folha);stroke-linecap:round;stroke-dasharray:0 302;transition:stroke-dasharray 1.8s var(--ease) .3s;transform:rotate(-90deg);transform-origin:50% 50%}
.on .anel .valor{stroke-dasharray:284 302}
.matriz{display:grid;grid-template-columns:repeat(20,1fr);gap:4px;width:100%}
.matriz i{aspect-ratio:1;border-radius:2px;background:var(--linha-cl);transition:background .4s}
.matriz i.ac{background:var(--noite)}
.ganhos{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:90px}
.ganho{border-radius:var(--raio);background:var(--noite);color:var(--sal);padding:26px;display:flex;flex-direction:column;justify-content:space-between;min-height:400px;overflow:hidden;position:relative;transition:transform .6s var(--ease)}
.ganho:hover{transform:translateY(-6px)}
.ganho b{font-family:var(--f-display);font-size:26px;font-weight:500;letter-spacing:-.03em;display:block;margin:14px 0 10px;line-height:1.1}
.ganho p{font-size:15px;opacity:.7}
.ganho .mono{opacity:.5}
.ganho .vis2{height:150px;position:relative;display:flex;align-items:center;justify-content:center}
.ganho:last-child{background:var(--limao);color:var(--noite)}
/* 01 valor: duas barras, a de valor sobe */
.v-valor{display:flex;align-items:flex-end;gap:18px;height:120px}
.v-valor span{width:34px;border-radius:8px;position:relative}
.v-valor .preco{height:40px;background:rgba(247,242,228,.18)}
.v-valor .marca{height:40px;background:var(--limao);box-shadow:0 0 24px 2px rgba(227,239,38,.35);animation:valoriza 3.6s var(--ease) infinite}
.v-valor span::after{content:attr(data-r);position:absolute;bottom:-24px;left:50%;transform:translateX(-50%);font-family:var(--mono);font-size:10px;letter-spacing:.05em;text-transform:uppercase;opacity:.6;white-space:nowrap}
@keyframes valoriza{0%{height:40px}45%,85%{height:118px}100%{height:40px}}
/* 02 lembrança: ondas saindo do grão */
.v-memoria .g2{width:14px;height:14px;border-radius:4px;background:var(--limao);box-shadow:0 0 18px 4px rgba(227,239,38,.6);position:relative;z-index:1}
.v-memoria i{position:absolute;left:50%;top:50%;width:14px;height:14px;border:1.5px solid var(--limao);border-radius:50%;transform:translate(-50%,-50%);animation:onda 3s ease-out infinite;opacity:0}
.v-memoria i:nth-child(2){animation-delay:1s}.v-memoria i:nth-child(3){animation-delay:2s}
@keyframes onda{0%{width:14px;height:14px;opacity:.9}100%{width:150px;height:150px;opacity:0}}
/* 03 confiança: selo de check que se desenha */
.v-check svg{width:120px;height:120px}
.v-check circle{fill:none;stroke:rgba(247,242,228,.18);stroke-width:2}
.v-check .traco{fill:none;stroke:var(--limao);stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:80;stroke-dashoffset:80;animation:desenha 3.2s var(--ease) infinite;filter:drop-shadow(0 0 6px rgba(227,239,38,.6))}
.v-check .anelc{fill:none;stroke:var(--limao);stroke-width:2;stroke-dasharray:302;stroke-dashoffset:302;animation:contorna 3.2s var(--ease) infinite;transform:rotate(-90deg);transform-origin:50% 50%}
@keyframes desenha{0%,30%{stroke-dashoffset:80}60%,90%{stroke-dashoffset:0}100%{stroke-dashoffset:80}}
@keyframes contorna{0%{stroke-dashoffset:302}35%,90%{stroke-dashoffset:0}100%{stroke-dashoffset:302}}
/* 04 velocidade: grãos correndo numa trilha */
.v-veloz{width:100%;height:60px;position:relative}
.v-veloz::before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:rgba(6,35,29,.25)}
.v-veloz i{position:absolute;top:50%;width:12px;height:12px;margin-top:-6px;border-radius:3px;background:var(--noite);animation:corre2 1.8s cubic-bezier(.6,0,.3,1) infinite}
.v-veloz i:nth-child(2){animation-delay:.25s;opacity:.6}.v-veloz i:nth-child(3){animation-delay:.5s;opacity:.3}
@keyframes corre2{0%{left:0}100%{left:calc(100% - 12px)}}

/* FAIXA DE CONVERSÃO */
.chamada{background:var(--limao);color:var(--noite);padding:90px 0;overflow:hidden}
.chamada .wrap{display:flex;justify-content:space-between;align-items:center;gap:40px}
.chamada h2{font-size:clamp(36px,4.6vw,72px);max-width:820px}

/* PORTFÓLIO */
.port .cab{display:flex;justify-content:space-between;align-items:flex-end;gap:40px}
.port .grid{display:grid;grid-template-columns:repeat(12,1fr);gap:20px;margin-top:72px}
.case{position:relative;border-radius:var(--raio);overflow:hidden;min-height:460px;background:linear-gradient(150deg,var(--mata),var(--noite));border:1px solid var(--linha)}
.case .img{position:absolute;inset:0;transition:transform 1.4s var(--ease)}
.case:hover .img{transform:scale(1.05)}
.case .img img{width:100%;height:100%;object-fit:cover}
.case .info{position:absolute;left:0;right:0;bottom:0;padding:26px;display:flex;justify-content:space-between;align-items:flex-end;background:linear-gradient(0deg,rgba(6,35,29,.88),transparent)}
.case h3{font-family:var(--f-display);font-size:30px;font-weight:500;letter-spacing:-.03em}
.case .abrir{width:46px;height:46px;border-radius:50%;background:var(--limao);color:var(--noite);display:grid;place-items:center;transform:scale(.8);opacity:0;transition:all .5s var(--ease)}
.case:hover .abrir{transform:none;opacity:1}
.case .vazio{position:absolute;inset:0;display:grid;place-items:center}
.c1{grid-column:span 7}.c2{grid-column:span 5}.c3{grid-column:span 5}.c4{grid-column:span 7}

/* PROCESSO */
.passos{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:80px;align-items:end}
.passo{border-radius:var(--raio);padding:28px;background:var(--noite);color:var(--sal);display:flex;flex-direction:column;justify-content:space-between}
.passo:nth-child(1){min-height:260px}.passo:nth-child(2){min-height:320px}.passo:nth-child(3){min-height:380px}.passo:nth-child(4){min-height:440px;background:var(--limao);color:var(--noite)}
.passo .n{font-family:var(--f-display);font-size:64px;font-weight:300;letter-spacing:-.05em;line-height:1}
.passo h3{font-family:var(--f-display);font-size:28px;font-weight:500;letter-spacing:-.03em;margin-bottom:8px}
.passo p{font-size:15px;opacity:.75}

/* DEPOIMENTOS */
.depo{overflow:hidden}
.depo .wrap{position:relative}
.depo .topo{display:grid;grid-template-columns:1.25fr .75fr;gap:40px;margin-top:72px;align-items:stretch}
.destaque{border-radius:var(--raio);padding:44px;background:rgba(6,35,29,.6);backdrop-filter:blur(6px);border:1px solid var(--linha);display:flex;flex-direction:column;justify-content:space-between;min-height:440px}
.destaque blockquote{font-family:var(--f-display);font-size:clamp(28px,3vw,44px);letter-spacing:-.035em;line-height:1.12}
.aspas{font-family:var(--f-display);font-size:120px;line-height:.5;color:var(--limao);height:46px}
.quem{display:flex;align-items:center;gap:14px;margin-top:32px}
.av{width:52px;height:52px;border-radius:50%;background:linear-gradient(140deg,var(--folha),var(--mata));border:1px solid var(--linha);flex:0 0 auto}
.quem b{display:block;font-weight:500}
.quem span{font-size:14px;opacity:.6}
.numeros{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.numeros div{border-radius:var(--raio);padding:26px;border:1px solid var(--linha);background:rgba(6,35,29,.6);backdrop-filter:blur(6px);display:flex;flex-direction:column;justify-content:space-between}
.numeros b{font-family:var(--f-display);font-size:clamp(44px,4.4vw,64px);font-weight:500;letter-spacing:-.05em;line-height:1;color:var(--limao)}
.numeros p{font-size:14px;opacity:.7;margin-top:10px}
.menores{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}
.menores .card{background:rgba(6,35,29,.6);backdrop-filter:blur(6px)}
.menores blockquote{font-family:var(--f-display);font-size:22px;letter-spacing:-.025em;line-height:1.3}

/* BLOG */
.blog .cab{display:flex;justify-content:space-between;align-items:flex-end;gap:40px}
.blog .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:64px}
.post-card{border-radius:var(--raio);overflow:hidden;border:1px solid var(--linha-cl);background:#fff;transition:transform .6s var(--ease),box-shadow .6s var(--ease)}
.post-card:hover{transform:translateY(-6px);box-shadow:0 30px 60px -30px rgba(6,35,29,.35)}
.post-card .capa{aspect-ratio:16/10;position:relative;overflow:hidden}
.post-card .corpo{padding:24px}
.post-card h3{font-family:var(--f-display);font-size:24px;font-weight:500;letter-spacing:-.03em;line-height:1.15;margin:10px 0 14px}
.post-card .meta{font-family:var(--mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase;opacity:.55}

/* FAQ */
.faq .grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px}

/* FINAL */
.final .glow{position:absolute;width:1000px;height:1000px;left:50%;top:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(227,239,38,.12),rgba(6,35,29,0) 60%);pointer-events:none}

@media (max-width:900px){
  .palco{position:relative;right:auto;bottom:auto;width:240px;margin:40px auto 0}
  .titulo .l:nth-child(2) span{margin-left:.3em}.titulo .l:nth-child(3) span:first-child{margin-left:.6em}
  .tres,.dados,.depo .topo,.menores,.blog .grid,.faq .grid,.servicos .cab{grid-template-columns:1fr}
  .virada .cab,.port .cab,.blog .cab,.chamada .wrap{flex-direction:column;align-items:flex-start}
  .serv .linha{grid-template-columns:44px 1fr 40px;gap:12px;padding:26px 0}
  .serv .claim{display:none}
  .serv .mais{width:40px;height:40px}
  .serv .dentro{grid-template-columns:1fr}
  .serv .dentro>span{display:none}
  .serv .cols{grid-template-columns:1fr}
  .ganhos{grid-template-columns:1fr}
  .ganho{min-height:320px}
  .port .grid{grid-template-columns:1fr}.case{grid-column:auto!important;min-height:320px}
  .case .abrir{opacity:1;transform:none}
  .passos{grid-template-columns:1fr}.passo{min-height:180px!important;gap:24px}
  .gesto{height:90vh}.chuva{left:46%}
  .destaque{padding:28px;min-height:auto}
}
