/* veiga.css — identidade do veiga360.com v3 (raiz institucional).
   Tokens de docs/IDENTIDADE-VISUAL.md §1 / spec §8. Fundo escuro = marca Veiga.
   Fontes self-hosted (OFL) em assets/fontes/. Sem CDN, sem Google Fonts em runtime. */

@font-face{font-family:'Space Grotesk';src:url('/assets/fontes/space-grotesk.woff2') format('woff2');
  font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:'Inter';src:url('/assets/fontes/inter.woff2') format('woff2');
  font-weight:400 700;font-style:normal;font-display:swap}

:root{
  --fundo:#181920; --texto:#F3EEE7; --texto-2:#A39B8F; --ouro:#D4A735;
  --ouro-claro:#EBC66A; --ouro-escuro:#A5811F; --ouro-texto:#181920;
  --cartao:#1F2128; --secundario:#23252D; --neutro:#2A2C35; --linha:#53482D;
  --linha-2:#2E3039; --campo:#2E3039; --foco:#D4A735; --erro:#E5484D; --ok:#3FB27F;
  --raio:.6rem; --max:1120px;
  --display:'Space Grotesk',system-ui,Segoe UI,sans-serif;
  --corpo:'Inter',system-ui,Segoe UI,Roboto,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--fundo);color:var(--texto);font-family:var(--corpo);
  line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--display);margin:0;line-height:1.12;font-weight:700;text-wrap:balance}
p{margin:0}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
:focus-visible{outline:2px solid var(--foco);outline-offset:3px;border-radius:4px}

.env{max-width:var(--max);margin:0 auto;padding:0 24px}
.ouro{color:var(--ouro)}
.saltar{position:absolute;left:-9999px}
.saltar:focus{left:16px;top:16px;z-index:60;background:var(--cartao);color:var(--texto);
  padding:10px 16px;border:1px solid var(--ouro);border-radius:var(--raio)}
.eyebrow{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ouro);
  font-weight:600;font-family:var(--corpo)}
.grad{background:linear-gradient(180deg,var(--ouro-claro),var(--ouro) 45%,var(--ouro-escuro));
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--ouro)}

/* botões */
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--corpo);font-weight:600;
  font-size:.88rem;padding:11px 20px;border-radius:var(--raio);text-decoration:none;
  transition:transform .2s,box-shadow .2s,background .2s,border-color .2s;cursor:pointer;border:0}
.btn-ouro{background:linear-gradient(120deg,var(--ouro),var(--ouro-escuro));color:var(--ouro-texto)}
.btn-ouro:hover{transform:translateY(-2px);box-shadow:0 10px 26px -10px rgba(212,167,53,.55)}
.btn-linha{border:1px solid var(--linha);color:var(--ouro);background:transparent}
.btn-linha:hover{background:rgba(212,167,53,.08)}

/* cabeçalho */
header.topo{position:sticky;top:0;z-index:40;background:rgba(24,25,32,.82);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--linha-2)}
.nav{display:flex;align-items:center;justify-content:space-between;height:74px;gap:16px;
  padding:0 clamp(18px,3.5vw,44px)}
.marca{display:flex;align-items:center;gap:12px;min-width:0;text-decoration:none}
.marca img{width:46px;height:46px;object-fit:contain;flex:0 0 auto}
.marca-tt{display:flex;flex-direction:column;justify-content:center;line-height:1.12}
.marca-txt{font-family:var(--display);font-weight:700;font-size:1.02rem;line-height:1.12;white-space:nowrap}
.marca-sub{font-size:.66rem;color:var(--texto-2);letter-spacing:.04em;white-space:nowrap;line-height:1.1;margin-top:2px}
.links{display:flex;align-items:center;gap:18px}
.links a{font-size:.86rem;color:var(--texto-2);text-decoration:none;transition:color .2s}
.links a:hover,.links a:focus-visible{color:var(--ouro)}
.idiomas{display:inline-flex;gap:4px;border:1px solid var(--linha);border-radius:var(--raio);padding:2px}
.idiomas a{padding:4px 8px;border-radius:.4rem;font-size:.72rem;font-weight:600;letter-spacing:.06em;color:var(--texto-2)}
.idiomas a.ativo{background:rgba(212,167,53,.14);color:var(--ouro)}
.menu-btn{display:none;background:transparent;border:1px solid var(--linha-2);color:var(--texto);
  border-radius:var(--raio);padding:8px 10px;cursor:pointer}
.menu-movel{display:none;border-top:1px solid var(--linha-2);background:rgba(24,25,32,.98)}
.menu-movel a{display:block;padding:13px 24px;color:var(--texto-2);text-decoration:none;border-bottom:1px solid var(--linha-2)}
.menu-movel a:hover{color:var(--ouro)}
.menu-movel.aberto{display:block}
.idiomas-m{display:flex;gap:8px;padding:14px 24px 6px}
.menu-movel .idiomas-m a{display:inline-flex;justify-content:center;flex:1;padding:11px 0;border:1px solid var(--linha);border-radius:.5rem;font-size:.82rem;font-weight:600;letter-spacing:.06em;color:var(--texto-2)}
.menu-movel .idiomas-m a.ativo{background:rgba(212,167,53,.14);color:var(--ouro)}
.menu-movel .cta-m{display:block;margin:8px 24px 20px;padding:13px 16px;border-radius:var(--raio);background:linear-gradient(120deg,var(--ouro),var(--ouro-escuro));color:var(--ouro-texto);font-weight:600;text-align:center;text-decoration:none}
@media(max-width:1080px){.links{display:none}.menu-btn{display:inline-flex}}

/* hero */
.hero{position:relative;text-align:center;padding:80px 0 84px;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(52% 48% at 50% 12%,rgba(212,167,53,.16),transparent 68%)}
.hero .env{position:relative;z-index:2}
/* logo em destaque no hero */
.hero-logo{width:clamp(116px,15vw,184px);height:auto;margin:0 auto 22px;display:block;
  filter:drop-shadow(0 8px 30px rgba(212,167,53,.35));animation:flutua 6s ease-in-out infinite}
.hero-logo-halo{position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:min(520px,80vw);height:520px;pointer-events:none;z-index:1;
  background:radial-gradient(circle at 50% 30%,rgba(212,167,53,.16),transparent 60%)}
/* partículas e ondas ambientais */
.particulas{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.particulas span{position:absolute;bottom:-12px;border-radius:50%;background:var(--ouro);
  opacity:0;animation:subir linear infinite}
.particulas span:nth-child(1){left:8%;width:3px;height:3px;animation-duration:11s;animation-delay:0s}
.particulas span:nth-child(2){left:18%;width:5px;height:5px;animation-duration:14s;animation-delay:2s}
.particulas span:nth-child(3){left:27%;width:2px;height:2px;animation-duration:9s;animation-delay:4s}
.particulas span:nth-child(4){left:38%;width:4px;height:4px;animation-duration:13s;animation-delay:1s}
.particulas span:nth-child(5){left:47%;width:3px;height:3px;animation-duration:10s;animation-delay:5s}
.particulas span:nth-child(6){left:56%;width:5px;height:5px;animation-duration:15s;animation-delay:3s}
.particulas span:nth-child(7){left:64%;width:2px;height:2px;animation-duration:8s;animation-delay:6s}
.particulas span:nth-child(8){left:72%;width:4px;height:4px;animation-duration:12s;animation-delay:2.5s}
.particulas span:nth-child(9){left:81%;width:3px;height:3px;animation-duration:11s;animation-delay:4.5s}
.particulas span:nth-child(10){left:90%;width:5px;height:5px;animation-duration:16s;animation-delay:1.5s}
.particulas span:nth-child(11){left:33%;width:2px;height:2px;animation-duration:10s;animation-delay:7s}
.particulas span:nth-child(12){left:60%;width:3px;height:3px;animation-duration:13s;animation-delay:8s}
.onda{position:absolute;left:0;width:100%;height:1px;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(212,167,53,.22),transparent);animation:brilho ease-in-out infinite}
.onda.o1{top:34%;animation-duration:8s}
.onda.o2{top:66%;animation-duration:12s;animation-delay:3s}
@keyframes subir{0%{transform:translateY(0);opacity:0}12%{opacity:.55}100%{transform:translateY(-88vh);opacity:0}}
@keyframes flutua{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes brilho{0%,100%{opacity:.25}50%{opacity:.7}}
.pill{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--linha);
  background:rgba(212,167,53,.05);border-radius:999px;padding:7px 16px;font-size:.74rem;
  letter-spacing:.06em;text-transform:uppercase;color:var(--ouro);font-weight:600}
.pill .dot{width:7px;height:7px;border-radius:50%;background:var(--ouro)}
.hero h1{font-size:clamp(2.3rem,1.2rem + 4.4vw,4.4rem);margin:26px auto 0;max-width:15ch}
.hero .sub{color:var(--texto-2);font-size:1.06rem;max-width:52ch;margin:22px auto 0}
.hero .acoes{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:34px}
.areas-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:44px auto 0;max-width:960px;text-align:left}
.area-card{display:flex;flex-direction:column;border:1px solid var(--linha-2);border-radius:12px;
  background:var(--cartao);padding:20px;text-decoration:none;color:inherit;
  transition:border-color .3s,transform .3s,box-shadow .3s}
.area-card:hover,.area-card:focus-visible{border-color:var(--linha);transform:translateY(-3px);
  box-shadow:0 16px 40px -24px rgba(212,167,53,.55)}
.area-card h3{font-size:1.02rem;margin-bottom:6px}
.area-card p{color:var(--texto-2);font-size:.86rem;flex:1}
.area-mais{color:var(--ouro);font-size:.8rem;font-weight:600;margin-top:12px}
@media(max-width:820px){.areas-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.areas-grid{grid-template-columns:1fr}}

/* secções */
main section{padding:74px 0}
.alt{background:linear-gradient(180deg,transparent,rgba(35,37,45,.5) 12%,rgba(35,37,45,.5) 88%,transparent)}
.cab{text-align:center;max-width:60ch;margin:0 auto 48px}
.cab h2{font-size:clamp(1.8rem,1.1rem + 2.4vw,2.85rem);margin-top:12px}
.cab p{color:var(--texto-2);margin-top:14px}
.regua{width:74px;height:2px;margin:22px auto 0;background:linear-gradient(90deg,transparent,var(--ouro),transparent)}

/* blocos e cartões de serviço */
.bloco{border:1px solid var(--linha-2);border-radius:14px;background:var(--cartao);
  padding:18px 20px;display:flex;align-items:center;gap:16px;margin-bottom:16px}
.bloco .n{font-family:var(--display);font-weight:700;font-size:1.5rem}
.bloco .bt{font-family:var(--display);font-weight:700;font-size:1.12rem}
.bloco .bs{font-size:.8rem;color:var(--ouro);opacity:.85;margin-top:2px}
.cartoes{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:0 0 40px}
.card{border:1px solid var(--linha-2);border-radius:12px;background:var(--cartao);padding:22px;
  transition:border-color .3s,transform .3s}
.card:hover{border-color:var(--linha);transform:translateY(-3px)}
.card h4{font-size:1.02rem;margin-bottom:8px}
.card p{color:var(--texto-2);font-size:.9rem}
.tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}
.tag{font-size:.7rem;padding:3px 10px;border-radius:999px;color:var(--ouro);
  background:rgba(212,167,53,.08);border:1px solid var(--linha)}
@media(max-width:720px){.cartoes{grid-template-columns:1fr}}
/* Acordeão de serviços por categoria (nativo <details>/<summary>) */
.acordeao{display:flex;flex-direction:column;gap:12px;margin-top:8px}
.cat{border:1px solid var(--linha-2);border-radius:14px;background:var(--cartao);overflow:hidden;transition:border-color .2s}
.cat[open]{border-color:var(--linha)}
.cat-cab{display:flex;align-items:center;gap:16px;padding:18px 22px;cursor:pointer;list-style:none}
.cat-cab::-webkit-details-marker{display:none}
.cat-cab:hover{background:rgba(212,167,53,.04)}
.cat-n{font-family:var(--display);font-weight:700;font-size:1.35rem;min-width:2ch;flex-shrink:0}
.cat-tit{margin:0;font-size:1.08rem;font-weight:700;display:flex;flex-direction:column;gap:2px;flex:1}
.cat-tit small{font-weight:400;color:var(--ouro);opacity:.85;font-size:.8rem}
.cat-seta{width:11px;height:11px;border-right:2px solid var(--ouro);border-bottom:2px solid var(--ouro);transform:rotate(45deg);transition:transform .25s;flex-shrink:0;margin-right:2px}
.cat[open] .cat-seta{transform:rotate(-135deg)}
.cat .cartoes{margin:0;padding:2px 22px 24px}
@media(max-width:640px){.cat-cab{padding:15px 16px;gap:12px}.cat-tit{font-size:1rem}.cat .cartoes{padding:0 14px 18px}}

/* sobre */
.duas{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.stat{border:1px solid var(--linha-2);border-radius:12px;background:var(--cartao);padding:22px;text-align:center}
.stat .v{font-family:var(--display);font-weight:700;font-size:2rem;color:var(--ouro)}
.stat .l{font-size:.82rem;color:var(--texto-2);margin-top:4px}
.pessoa{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.pessoa img{width:60px;height:60px;object-fit:contain;flex:0 0 auto}
.badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.badge{display:inline-flex;align-items:center;gap:7px;font-size:.82rem;color:var(--ouro);
  border:1px solid var(--linha);background:rgba(212,167,53,.05);border-radius:999px;padding:6px 14px}
.sobre-p{color:var(--texto-2);margin-top:14px}
.sobre-p strong{color:var(--texto)}
@media(max-width:820px){.duas{grid-template-columns:1fr;gap:34px}}

/* drones */
.drones-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:center}
.lista{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:11px}
.lista li{display:flex;gap:11px;align-items:flex-start;color:var(--texto-2);font-size:.94rem}
.lista li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ouro);margin-top:8px;flex:0 0 auto}
.selos{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
@media(max-width:820px){.drones-grid{grid-template-columns:1fr}}

/* confiança */
.tres{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.tcard{border:1px solid var(--linha-2);border-radius:12px;background:var(--cartao);padding:26px;text-align:center}
.tcard .ic{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;margin:0 auto 16px;
  background:rgba(212,167,53,.1);color:var(--ouro);font-size:1.3rem}
.tcard h4{font-size:1rem;margin-bottom:8px}
.tcard p{font-size:.86rem;color:var(--texto-2)}
.empresas{text-align:center;margin-top:46px}
.empresas .rot{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--texto-2)}
.empresas .logos{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:20px}
.empresas .logos span{border:1px solid var(--linha-2);border-radius:10px;background:var(--cartao);
  padding:10px 22px;font-weight:600;color:var(--texto-2);font-size:.92rem}
@media(max-width:720px){.tres{grid-template-columns:1fr}}

/* cobertura */
.cob{border:1px solid var(--linha);border-radius:18px;padding:44px 34px;
  background:linear-gradient(120deg,rgba(35,37,45,.7),var(--cartao),rgba(35,37,45,.7))}
.paises{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:26px 0}
.pais{display:flex;gap:14px;align-items:flex-start;border:1px solid var(--linha-2);
  border-radius:12px;background:rgba(24,25,32,.5);padding:18px}
.pais .band{font-size:1.8rem;line-height:1}
.pais .pn{font-family:var(--display);font-weight:700;font-size:1.05rem}
.pais .pd{font-size:.84rem;color:var(--texto-2);margin-top:3px}
.ctags{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 22px;color:var(--texto-2);font-size:.88rem}
.ctags span{display:inline-flex;gap:8px;align-items:center}
.ctags span::before{content:"✓";color:var(--ouro);font-weight:700}
@media(max-width:720px){.paises{grid-template-columns:1fr}}

/* contacto */
.cform{display:grid;grid-template-columns:1fr 1fr;gap:44px}
.campo{width:100%;background:var(--secundario);border:1px solid var(--linha-2);border-radius:var(--raio);
  color:var(--texto);padding:12px 14px;font-family:var(--corpo);font-size:.94rem;margin-bottom:14px}
.campo::placeholder{color:var(--texto-2)}
.campo:focus{outline:none;border-color:var(--ouro)}
.linha-dupla{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.info .item{display:flex;align-items:center;gap:12px;color:var(--texto-2);margin-bottom:14px;font-size:.92rem}
.info .item .ic{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;flex:0 0 auto;
  background:rgba(212,167,53,.1);color:var(--ouro)}
.info .item a{color:var(--texto-2);text-decoration:none}
.info .item a:hover{color:var(--ouro)}
.redes{display:flex;gap:12px;margin-top:6px;flex-wrap:wrap}
.msg-ok{padding:26px;border:1px solid var(--ouro);border-radius:12px;background:var(--cartao);text-align:center}
.msg-erro{color:var(--erro);font-size:.88rem;text-align:center;margin-bottom:10px}
@media(max-width:820px){.cform{grid-template-columns:1fr}}
@media(max-width:520px){.linha-dupla{grid-template-columns:1fr}}

/* catálogo */
.cat-busca{max-width:480px;margin:0 auto 36px}
.cat-busca .campo{margin-bottom:0}
.cat-grupo{margin-bottom:38px}
.cat-titulo{font-size:1.3rem;color:var(--texto)}
.cat-desc{color:var(--texto-2);font-size:.9rem;margin:4px 0 18px}
.catalogo{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.serv{border:1px solid var(--linha-2);border-radius:12px;background:var(--cartao);padding:20px;
  display:flex;flex-direction:column;transition:border-color .3s,transform .3s}
.serv:hover{border-color:var(--linha);transform:translateY(-3px)}
.serv-topo{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px}
.serv-sub{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--texto-2)}
.serv-preco{font-family:var(--display);font-weight:700;color:var(--ouro);white-space:nowrap}
.serv h4{font-size:.98rem;margin-bottom:8px}
.serv p{color:var(--texto-2);font-size:.86rem;flex:1}
.serv .btn{margin-top:16px;justify-content:center}
.sem-result{text-align:center;color:var(--texto-2)}
@media(max-width:900px){.catalogo{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.catalogo{grid-template-columns:1fr}}

/* tipos de secção do motor de páginas (§5.5) */
.prosa{max-width:760px;margin:0 auto}
.prosa p,.prosa li{color:var(--texto-2)}
.prosa p + p{margin-top:12px}
.prosa ul,.prosa ol{padding-left:22px}
.prosa a{color:var(--ouro)}
.lista-cartoes{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.lista-cartoes .card h4{display:flex;gap:8px;align-items:center}
.passos{max-width:820px;margin:0 auto;display:grid;gap:16px}
.passo{display:flex;gap:18px;align-items:flex-start;border:1px solid var(--linha-2);
  border-radius:12px;background:var(--cartao);padding:20px}
.passo .np{font-family:var(--display);font-weight:700;font-size:1.4rem;color:var(--ouro);
  flex:0 0 auto;width:40px;text-align:center}
.passo h4{margin-bottom:4px}
.passo p{color:var(--texto-2);font-size:.9rem}
.faq{max-width:820px;margin:0 auto;display:grid;gap:12px}
.faq details{border:1px solid var(--linha-2);border-radius:12px;background:var(--cartao);padding:0 20px}
.faq summary{cursor:pointer;padding:16px 0;font-family:var(--display);font-weight:700;
  list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--ouro)}
.faq details[open] summary::after{content:"–"}
.faq details p{color:var(--texto-2);padding:0 0 16px;font-size:.92rem}
.aviso-box{max-width:820px;margin:0 auto;border:1px solid var(--linha);border-left:3px solid var(--ouro);
  border-radius:12px;background:rgba(212,167,53,.05);padding:22px 24px}
.aviso-box p{color:var(--texto-2)}
.cta-bloco{max-width:820px;margin:0 auto;text-align:center;border:1px solid var(--linha);border-radius:16px;
  background:linear-gradient(120deg,rgba(35,37,45,.7),var(--cartao),rgba(35,37,45,.7));padding:44px 34px}
.cta-bloco h2{font-size:clamp(1.5rem,1.1rem + 1.4vw,2.1rem)}
.cta-bloco p{color:var(--texto-2);margin:12px auto 24px;max-width:52ch}
@media(max-width:820px){.lista-cartoes{grid-template-columns:1fr}}

/* rodapé */
footer.rodape{border-top:1px solid var(--linha-2);padding:34px 0;margin-top:20px}
.frow{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}
.frow .legais{display:flex;gap:22px}
.frow .legais a{color:var(--texto-2);text-decoration:none;font-size:.84rem}
.frow .legais a:hover{color:var(--ouro)}
.copy{color:var(--texto-2);font-size:.8rem;margin-top:18px;text-align:center}

/* páginas legais e de conteúdo */
.pagina{max-width:760px;margin:0 auto;padding:70px 0}
.pagina h1{font-size:clamp(2rem,1.4rem + 2vw,2.8rem);margin-bottom:26px}
.pagina h2{font-size:1.25rem;margin:30px 0 8px}
.pagina p,.pagina li{color:var(--texto-2)}
.pagina ul,.pagina ol{padding-left:22px}
.pagina a{color:var(--ouro)}
.voltar{display:inline-flex;gap:8px;color:var(--ouro);text-decoration:none;font-size:.88rem;margin-bottom:26px}

/* banner de consentimento */
.consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:50;max-width:560px;margin:0 auto;
  background:var(--cartao);border:1px solid var(--linha);border-radius:14px;padding:18px 20px;
  display:flex;gap:16px;align-items:center;flex-wrap:wrap;box-shadow:0 20px 50px -20px rgba(0,0,0,.7)}
.consent p{font-size:.84rem;color:var(--texto-2);flex:1 1 260px;margin:0}
.consent .acoes{display:flex;gap:10px}
.consent[hidden]{display:none}

/* passagem fina — ritmo e conforto em ecrãs pequenos */
@media(max-width:640px){
  .env{padding:0 18px}
  main section{padding:52px 0}
  .cab{margin-bottom:32px}
  .hero{padding:52px 0 56px}
  .hero .sub{font-size:1rem}
  .hero .acoes{flex-direction:column;align-items:stretch;gap:12px}
  .hero .acoes .btn{justify-content:center;width:100%}
  .cob{padding:30px 20px}
  .cta-bloco{padding:34px 22px}
  .aviso-box{padding:20px 18px}
  .passo{padding:18px}
}

/* revelação ao scroll — visível por defeito; só esconde quando há JS */
.js .rev{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s ease}
.js .rev.visto{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js .rev{opacity:1;transform:none;transition:none}
  .btn,.card,.btn-ouro:hover{transition:none}
  .hero-logo,.particulas span,.onda{animation:none}
  .particulas span{opacity:0}
}
