/* ==========================================================================
   BIOSONDA — Design System Industrial B2B  (estilo.css)
   Site 100% estático | Paleta extraída do logo oficial (#006436)
   Mobile-first | WCAG AA | Sem dependências externas além de fontes HTTPS
   ========================================================================== */

/* ---------- 1. TOKENS / VARIÁVEIS ---------- */
:root{
  /* Marca */
  --verde:#006436;
  --verde-hover:#00502b;
  --verde-claro:#e6f0ea;
  /* Neutros */
  --grafite:#1f2429;
  --cinza-escuro:#343b42;
  --cinza-medio:#5b6770;
  --cinza-borda:#dfe4e2;
  --cinza-fundo:#f4f6f5;
  --branco:#ffffff;
  /* Tipografia */
  --fonte:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --fonte-num:'Inter',ui-monospace,'Segoe UI',monospace;
  /* Layout */
  --max:1200px;
  --radius:10px;
  --radius-sm:6px;
  --sombra:0 1px 3px rgba(31,36,41,.08),0 8px 24px rgba(31,36,41,.06);
  --sombra-hover:0 6px 16px rgba(31,36,41,.12),0 16px 40px rgba(31,36,41,.10);
  --header-h:80px;
  --transicao:.22s ease;
}

/* ---------- 2. RESET ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--fonte);
  font-size:17px;
  line-height:1.6;
  color:var(--cinza-escuro);
  background:var(--branco);
  overflow-x:hidden; /* trava scroll horizontal no body */
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--verde);text-decoration:none;transition:color var(--transicao)}
a:hover{color:var(--verde-hover)}
ul{list-style:none}
table{border-collapse:collapse;width:100%}
button{font-family:inherit;cursor:pointer}

/* Números tabulares para fichas técnicas */
.tab-num,table td,table th{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}

/* ---------- 3. ACESSIBILIDADE ---------- */
:focus-visible{outline:3px solid var(--verde);outline-offset:2px;border-radius:3px}
.skip-link{
  position:absolute;left:-999px;top:0;z-index:2000;
  background:var(--verde);color:#fff;padding:12px 20px;border-radius:0 0 var(--radius-sm) 0;
  font-weight:600;
}
.skip-link:focus{left:0;color:#fff}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}

/* ---------- 4. LAYOUT BASE ---------- */
.container{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:20px}
section{padding-block:clamp(48px,7vw,88px)}
.bg-cinza{background:var(--cinza-fundo)}

.section-head{max-width:760px;margin-bottom:clamp(28px,4vw,48px)}
.eyebrow{
  display:inline-block;font-size:.8rem;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--verde);margin-bottom:12px;
}
.eyebrow::before{content:"";display:inline-block;width:28px;height:2px;background:var(--verde);
  vertical-align:middle;margin-right:10px;transform:translateY(-3px)}

/* ---------- 5. TIPOGRAFIA ---------- */
h1,h2,h3,h4{color:var(--grafite);line-height:1.15;font-weight:800;letter-spacing:-.01em}
h1{font-size:clamp(2rem,5vw,3.4rem)}
h2{font-size:clamp(1.7rem,3.6vw,2.6rem)}
h3{font-size:clamp(1.2rem,2vw,1.5rem);font-weight:700}
h4{font-size:1.05rem;font-weight:700}
p{margin-bottom:1rem;max-width:68ch}
.lead{font-size:clamp(1.05rem,1.8vw,1.25rem);color:var(--cinza-medio)}

/* ---------- 6. BOTÕES ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  min-height:48px;padding:13px 26px;border:2px solid transparent;border-radius:var(--radius-sm);
  font-weight:700;font-size:1rem;line-height:1;text-align:center;
  transition:background var(--transicao),color var(--transicao),border-color var(--transicao),transform var(--transicao);
}
.btn-primario{background:var(--verde);color:#fff}
.btn-primario:hover{background:var(--verde-hover);color:#fff;transform:translateY(-2px)}
.btn-secundario{background:transparent;color:var(--verde);border-color:var(--verde)}
.btn-secundario:hover{background:var(--verde);color:#fff}
.btn-claro{background:#fff;color:var(--grafite);border-color:var(--cinza-borda)}
.btn-claro:hover{border-color:var(--verde);color:var(--verde)}
.btn-bloco-claro{background:#fff;color:var(--verde)}
.btn-bloco-claro:hover{background:var(--verde-claro)}
.btn svg{width:18px;height:18px}

/* ---------- 7. TOPBAR (utilidades + redes sociais) ---------- */
.topbar{background:#fff;color:var(--cinza-medio);font-size:.85rem;border-bottom:1px solid var(--cinza-borda)}
.topbar-inner{display:flex;align-items:center;justify-content:flex-end;gap:16px;min-height:44px}
.topbar-social{display:flex;align-items:center;gap:2px}
.topbar-social a{min-width:44px;height:44px;display:grid;place-items:center;color:var(--cinza-escuro);border-radius:var(--radius-sm)}
.topbar-social a:hover{color:#fff;background:var(--verde)}
.topbar-social svg{width:18px;height:18px;fill:currentColor}
@media (max-width:600px){
  .topbar-inner{justify-content:flex-end}
}

/* ---------- 7b. HEADER / NAV ---------- */
.site-header{
  position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.96);
  backdrop-filter:saturate(180%) blur(8px);
  border-bottom:1px solid var(--cinza-borda);
}
.nav{display:flex;align-items:center;justify-content:space-between;height:var(--header-h)}
.nav-logo img{height:38px;width:auto}
.nav-menu{display:flex;align-items:center;gap:4px}
.nav-menu a{
  display:flex;align-items:center;min-height:44px;padding:0 14px;border-radius:var(--radius-sm);
  color:var(--cinza-escuro);font-weight:600;font-size:.97rem;
}
.nav-menu a:hover,.nav-menu a[aria-current="page"]{color:var(--verde);background:var(--verde-claro)}
.nav-actions{display:flex;align-items:center;gap:12px}
.nav-lang{display:flex;gap:2px;font-size:.85rem;font-weight:700;color:var(--cinza-medio)}
.nav-lang a{padding:6px 8px}
.nav-lang .ativo{color:var(--verde)}
.nav-toggle{display:none;width:48px;height:48px;border:1px solid var(--cinza-borda);
  border-radius:var(--radius-sm);background:#fff;flex-direction:column;justify-content:center;
  align-items:center;gap:5px}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--grafite);transition:var(--transicao)}

/* ---------- 8. HERO / CARROSSEL ---------- */
.hero{position:relative;background:var(--grafite);color:#fff;overflow:hidden}
.hero-slides{position:relative;min-height:clamp(460px,68vh,640px)}
.hero-slide{
  position:absolute;inset:0;opacity:0;visibility:hidden;
  transition:opacity .6s ease;
  display:grid;place-items:center;
}
.hero-slide.ativo{opacity:1;visibility:visible}
.hero-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:brightness(.68)}
.hero-conteudo{position:relative;z-index:2;width:100%;max-width:var(--max);
  margin-inline:auto;padding:0 20px}
.hero-conteudo .inner{max-width:680px}
.hero h1,.hero-conteudo h2{color:#fff;margin-bottom:18px}
.hero p{color:rgba(255,255,255,.9);font-size:clamp(1.05rem,2vw,1.3rem);max-width:54ch;margin-bottom:28px}
.hero-acoes{display:flex;flex-wrap:wrap;gap:14px}
/* setas + dots */
.hero-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;
  width:52px;height:52px;border:none;border-radius:50%;background:rgba(255,255,255,.15);
  color:#fff;font-size:1.6rem;display:grid;place-items:center;backdrop-filter:blur(4px)}
.hero-nav:hover{background:var(--verde)}
.hero-nav.prev{left:20px}.hero-nav.next{right:20px}
.hero-dots{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);z-index:3;
  display:flex;gap:10px}
.hero-dots button{width:12px;height:12px;border-radius:50%;border:2px solid #fff;
  background:transparent;padding:0}
.hero-dots button.ativo{background:#fff}

/* ---------- 9. GRIDS / CARDS ---------- */
.grid{display:grid;gap:24px}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}

.card{
  background:#fff;border:1px solid var(--cinza-borda);border-radius:var(--radius);
  overflow:hidden;box-shadow:var(--sombra);transition:transform var(--transicao),box-shadow var(--transicao);
  display:flex;flex-direction:column;
}
.card:hover{transform:translateY(-4px);box-shadow:var(--sombra-hover)}
.card-img{aspect-ratio:3/2;overflow:hidden;background:var(--cinza-fundo)}
.card-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.card:hover .card-img img{transform:scale(1.04)}
.card-body{padding:22px 24px 26px;display:flex;flex-direction:column;gap:10px;flex:1}
.card-body h3{margin-bottom:2px}
.card-body p{color:var(--cinza-medio);font-size:.98rem;margin:0}
.card-link{margin-top:auto;font-weight:700;display:inline-flex;align-items:center;gap:6px}
.card-link::after{content:"\2192";transition:transform var(--transicao)}
.card:hover .card-link::after{transform:translateX(4px)}

/* Mercado (cards com imagem de fundo) */
.mercado-card{
  position:relative;border-radius:var(--radius);overflow:hidden;
  min-height:380px;display:flex;align-items:flex-end;color:#fff;
  box-shadow:var(--sombra);
}
.mercado-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:brightness(.55);transition:transform .5s ease}
.mercado-card:hover img{transform:scale(1.06)}
.mercado-card .overlay{position:relative;z-index:2;padding:28px;width:100%;
  background:linear-gradient(to top,rgba(15,18,21,.85),transparent)}
.mercado-card h3{color:#fff;margin-bottom:8px}
.mercado-card p{color:rgba(255,255,255,.88);font-size:.96rem;margin-bottom:14px}
.mercado-card .card-link{color:#fff}

/* ---------- 10. FAIXA DESTAQUE / NÚMEROS ---------- */
.faixa-verde{background:var(--verde);color:#fff}
.faixa-verde h2,.faixa-verde h3{color:#fff}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
.stat .num{font-size:clamp(2rem,4vw,3rem);font-weight:800;line-height:1;font-variant-numeric:tabular-nums}
.stat .rotulo{font-size:.92rem;opacity:.9;margin-top:6px}
/* Variante de número único centralizado e destacado */
.stats-solo{grid-template-columns:1fr;max-width:460px;margin-inline:auto}
.stats-solo .num{font-size:clamp(3.4rem,9vw,5.5rem)}
.stats-solo .rotulo{font-size:1.15rem;letter-spacing:.04em;text-transform:uppercase;opacity:1;margin-top:10px}

/* ---------- 11. PARCEIROS ---------- */
.parceiros-grid{display:flex;flex-wrap:wrap;gap:32px;align-items:center;justify-content:center}
.parceiro{padding:22px 30px;border:1px solid var(--cinza-borda);border-radius:var(--radius);
  background:#fff;font-weight:800;font-size:1.3rem;color:var(--cinza-medio);letter-spacing:.02em}

/* ---------- 12. INSTAGRAM (rodapé global) ---------- */
.instagram{padding-block:clamp(40px,6vw,72px)}
#instagram-feed{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.ig-item{position:relative;aspect-ratio:1;border-radius:var(--radius-sm);overflow:hidden;
  background:var(--cinza-fundo);display:grid;place-items:center;border:1px solid var(--cinza-borda)}
.ig-item img{width:100%;height:100%;object-fit:cover}
.ig-placeholder{color:var(--cinza-medio);font-size:.8rem;text-align:center;padding:10px}

/* ---------- 13. FOOTER ---------- */
.site-footer{background:var(--grafite);color:#c7ccd0;padding-block:56px 28px;font-size:.95rem}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px;margin-bottom:40px}
.site-footer img.flogo{height:34px;margin-bottom:16px}
.site-footer h4{color:#fff;font-size:.95rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:16px}
.site-footer a{color:#c7ccd0}
.site-footer a:hover{color:#fff}
.footer-links li{margin-bottom:10px}
.footer-social{display:flex;gap:12px;margin-top:16px}
.footer-social a{width:40px;height:40px;border:1px solid #3a4248;border-radius:var(--radius-sm);
  display:grid;place-items:center}
.footer-social a:hover{background:var(--verde);border-color:var(--verde)}
.footer-social svg{width:20px;height:20px;fill:currentColor}
.footer-bottom{border-top:1px solid #2c3338;padding-top:22px;display:flex;
  flex-wrap:wrap;gap:12px;justify-content:space-between;font-size:.85rem;color:#8a929a}

/* ---------- 14. ANIMAÇÃO REVEAL ---------- */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}
.reveal.visivel{opacity:1;transform:none}

/* ---------- 15. RESPONSIVO ---------- */
@media (max-width:960px){
  .footer-grid{grid-template-columns:1fr 1fr;gap:32px}
  .grid-3{grid-template-columns:repeat(2,1fr)}
  .stats{grid-template-columns:repeat(2,1fr);gap:32px}
}
@media (max-width:768px){
  .nav-toggle{display:flex}
  .nav-menu{
    position:fixed;inset:var(--header-h) 0 auto 0;flex-direction:column;align-items:stretch;
    background:#fff;border-bottom:1px solid var(--cinza-borda);padding:12px;gap:4px;
    box-shadow:var(--sombra);transform:translateY(-150%);transition:transform .3s ease;
  }
  .nav-menu.aberto{transform:translateY(0)}
  .nav-menu a{min-height:52px;padding:0 16px}
  .hero-nav{display:none}
}
@media (max-width:600px){
  body{font-size:16px}
  .grid-2,.grid-3{grid-template-columns:1fr}
  #instagram-feed{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr 1fr}
  .hero-acoes .btn{flex:1}
}

/* ---------- 16. PAGE HERO (páginas internas) ---------- */
.page-hero{position:relative;background:var(--grafite);color:#fff;overflow:hidden;
  min-height:clamp(280px,40vh,420px);display:flex;align-items:flex-end}
.page-hero-bg{position:absolute;inset:0}
.page-hero-bg img{width:100%;height:100%;object-fit:cover;filter:brightness(.5)}
.page-hero-conteudo{position:relative;z-index:2;padding-block:clamp(48px,6vw,80px)}
.page-hero-conteudo h1{color:#fff;margin-bottom:16px}
.page-hero-conteudo p{color:rgba(255,255,255,.85);font-size:clamp(1rem,1.8vw,1.2rem);max-width:60ch;margin:0}
.page-hero-conteudo sup{font-size:.6em;vertical-align:super}

/* ---------- 17. SOBRE — grids e componentes ---------- */
.sobre-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.sobre-texto sup{font-size:.6em;vertical-align:super}
.video-wrapper{position:relative;padding-bottom:56.25%;height:0;border-radius:var(--radius);overflow:hidden;
  background:var(--grafite);box-shadow:var(--sombra)}
.video-wrapper iframe{position:absolute;inset:0;width:100%;height:100%;border:none}
.video-facade{position:absolute;inset:0;cursor:pointer;background:#000;display:flex;align-items:center;justify-content:center}
.video-facade img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.82;transition:opacity .2s}
.video-facade:hover img{opacity:.65}
.video-facade .play-btn{position:relative;z-index:1;background:rgba(220,0,0,.92);border:none;border-radius:12px;width:68px;height:48px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s,transform .2s;flex-shrink:0}
.video-facade:hover .play-btn{background:#c00;transform:scale(1.08)}

.missao-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.missao-img img{border-radius:var(--radius);width:100%;height:auto;object-fit:cover;box-shadow:var(--sombra)}
.missao-quote{
  border-left:4px solid var(--verde);padding:20px 24px;margin:24px 0;
  background:var(--verde-claro);border-radius:0 var(--radius-sm) var(--radius-sm) 0;
  font-size:1.08rem;line-height:1.7;color:var(--cinza-escuro);font-style:italic;
}
.valores-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:8px}
.valor-item{display:flex;gap:14px;align-items:flex-start}
.valor-icon{flex-shrink:0;width:40px;height:40px;background:var(--verde-claro);border-radius:var(--radius-sm);
  display:grid;place-items:center;color:var(--verde)}
.valor-icon svg{width:20px;height:20px}
.valor-item h4{margin-bottom:4px}
.valor-item p{font-size:.93rem;color:var(--cinza-medio);margin:0}

.area-card{background:#fff;border:1px solid var(--cinza-borda);border-radius:var(--radius);overflow:hidden;
  box-shadow:var(--sombra);transition:transform var(--transicao),box-shadow var(--transicao)}
.area-card:hover{transform:translateY(-4px);box-shadow:var(--sombra-hover)}
.area-img{aspect-ratio:3/2;overflow:hidden;background:var(--cinza-fundo)}
.area-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.area-card:hover .area-img img{transform:scale(1.04)}
.area-corpo{padding:26px 28px 30px}
.area-corpo h3{margin:8px 0 12px}
.area-corpo p{color:var(--cinza-medio);font-size:.97rem;margin-bottom:14px}

.galeria-fab-grid{display:grid;grid-template-columns:1.6fr 1fr;grid-template-rows:1fr 1fr;gap:14px}
.gf-item{border-radius:var(--radius);overflow:hidden;background:var(--cinza-fundo)}
.gf-item img{width:100%;height:100%;object-fit:cover;display:block}
.gf-destaque{grid-row:1/3}

/* ---------- 18. PRODUTOS — fichas técnicas ---------- */
/* Índice fixo (FAQ): cola abaixo do header ao rolar */
.sticky-produtos-nav{position:sticky;top:var(--header-h);z-index:900;background:rgba(255,255,255,.96);
  backdrop-filter:saturate(180%) blur(8px);border-bottom:1px solid var(--cinza-borda);
  padding-block:14px;margin-bottom:clamp(24px,3vw,40px)}
.sticky-produtos-nav .produtos-nav{margin-bottom:0}
.produtos-nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:clamp(32px,4vw,52px)}
.produtos-nav a{padding:9px 18px;border:1px solid var(--cinza-borda);border-radius:var(--radius-sm);
  font-weight:600;font-size:.9rem;color:var(--cinza-escuro);transition:all var(--transicao)}
.produtos-nav a:hover,.produtos-nav a.ativo{background:var(--verde);color:#fff;border-color:var(--verde)}

.cat-titulo{display:flex;align-items:center;gap:16px;margin-bottom:clamp(28px,3vw,40px)}
.cat-titulo h2{margin:0}
.cat-linha{flex:1;height:2px;background:var(--cinza-borda)}

.produto-bloco{
  display:grid;grid-template-columns:420px 1fr;gap:48px;align-items:start;
  padding-block:clamp(32px,4vw,52px);border-bottom:1px solid var(--cinza-borda);
}
.produto-bloco:last-child{border-bottom:none}
.produto-bloco.invertido{grid-template-columns:1fr 420px}
.produto-bloco.invertido .produto-img{order:2}
.produto-bloco.invertido .produto-info{order:1}

.produto-img{border-radius:var(--radius);overflow:hidden;background:var(--cinza-fundo);
  box-shadow:var(--sombra);aspect-ratio:4/3}
.produto-img img{width:100%;height:100%;object-fit:cover}

.produto-info h3{font-size:clamp(1.4rem,2.5vw,1.9rem);margin-bottom:6px}
.produto-info .produto-cat{font-size:.82rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.1em;color:var(--verde);margin-bottom:16px;display:block}
.produto-info p{color:var(--cinza-medio);margin-bottom:20px}

.produto-specs{margin:0 0 24px;padding:0}
.produto-specs li{
  display:flex;align-items:baseline;gap:10px;padding:10px 0;
  border-bottom:1px solid var(--cinza-borda);font-size:.95rem;color:var(--cinza-escuro);
}
.produto-specs li:last-child{border-bottom:none}
.produto-specs li::before{content:"✓";color:var(--verde);font-weight:800;flex-shrink:0}

.produto-acoes{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
.nota-asterisco{font-size:.8rem;color:var(--cinza-medio);margin-top:clamp(24px,3vw,40px);border-top:1px solid var(--cinza-borda);padding-top:16px}

/* ---------- FAQ ---------- */
.faq-lista{display:flex;flex-direction:column;gap:0}
.faq-item{border-bottom:1px solid var(--cinza-borda)}
.faq-item:first-child{border-top:1px solid var(--cinza-borda)}
.faq-pergunta{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:20px 0;cursor:pointer;font-weight:600;font-size:1rem;
  color:var(--grafite);list-style:none;user-select:none
}
.faq-pergunta::-webkit-details-marker{display:none}
.faq-pergunta::after{
  content:"";display:block;flex-shrink:0;width:20px;height:20px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23006436' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-size:contain;background-repeat:no-repeat;
  transition:transform .25s ease
}
details[open] .faq-pergunta::after{transform:rotate(180deg)}
details[open] .faq-pergunta{color:var(--verde)}
.faq-resposta{padding:0 0 20px;color:var(--cinza-medio);line-height:1.7}
.faq-resposta p+p{margin-top:12px}

/* FAQ aplicação table */
.tabela-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}
.tabela-aplicacao{width:100%;border-collapse:collapse;font-size:.9rem}
.tabela-aplicacao th{background:var(--verde);color:#fff;text-align:left;padding:12px 16px;font-weight:700}
.tabela-aplicacao td{padding:10px 16px;border-bottom:1px solid var(--cinza-borda);vertical-align:top}
.tabela-aplicacao tr:last-child td{border-bottom:none}
.tabela-aplicacao tr:nth-child(even) td{background:rgba(0,0,0,.02)}
.tabela-aplicacao td:first-child a{color:var(--verde);font-weight:600;white-space:nowrap}

/* Ficha técnica tabular */
.tabela-specs{margin:16px 0 24px;border:1px solid var(--cinza-borda);border-radius:var(--radius-sm);overflow:hidden}
.tabela-specs thead{background:var(--verde);color:#fff}
.tabela-specs th{padding:11px 16px;font-size:.88rem;font-weight:700;text-align:left;
  text-transform:uppercase;letter-spacing:.06em}
.tabela-specs td{padding:10px 16px;font-size:.93rem;border-bottom:1px solid var(--cinza-borda)}
.tabela-specs tbody tr:last-child td{border-bottom:none}
.tabela-specs tbody tr:nth-child(even){background:var(--cinza-fundo)}

/* ---------- 19. SERVIÇOS ---------- */
.servico-secao{padding-block:clamp(32px,4vw,52px);border-bottom:1px solid var(--cinza-borda)}
.servico-secao:last-child{border-bottom:none}
.servico-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.servico-card{background:#fff;border:1px solid var(--cinza-borda);border-radius:var(--radius);
  overflow:hidden;box-shadow:var(--sombra)}
.servico-card-img{aspect-ratio:16/9;overflow:hidden;background:var(--cinza-fundo)}
.servico-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.servico-card:hover .servico-card-img img{transform:scale(1.04)}
.servico-card-corpo{padding:22px 24px 26px}
.servico-card-corpo h3{margin-bottom:10px}
.servico-card-corpo p{color:var(--cinza-medio);font-size:.96rem;margin:0}

/* ---------- 20. GALERIA ---------- */
.galeria-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.video-card{background:#fff;border:1px solid var(--cinza-borda);border-radius:var(--radius);
  overflow:hidden;box-shadow:var(--sombra)}
.video-card-embed{position:relative;padding-bottom:56.25%;background:var(--grafite)}
.video-card-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:none}
.video-card-info{padding:18px 20px 22px}
.video-card-info h3{font-size:1.1rem;margin-bottom:6px}
.video-card-info p{color:var(--cinza-medio);font-size:.93rem;margin:0}

/* ---------- 21. CONTATO ---------- */
.contato-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:start}
.contato-info h2{margin-bottom:16px}
.contato-info p{color:var(--cinza-medio)}
.contato-lista{margin:28px 0;display:flex;flex-direction:column;gap:18px}
.contato-item{display:flex;gap:14px;align-items:flex-start}
.contato-icone{flex-shrink:0;width:44px;height:44px;background:var(--verde-claro);
  border-radius:var(--radius-sm);display:grid;place-items:center;color:var(--verde)}
.contato-icone svg{width:20px;height:20px}
.contato-item h3{font-size:.95rem;margin-bottom:2px}
.contato-item p,.contato-item a{font-size:.95rem;color:var(--cinza-medio);margin:0}

.form-card{background:#fff;border:1px solid var(--cinza-borda);border-radius:var(--radius);
  padding:clamp(24px,4vw,40px);box-shadow:var(--sombra)}
.form-card h3{margin-bottom:24px}
.form-grupo{display:flex;flex-direction:column;gap:6px;margin-bottom:18px}
.form-grupo label{font-size:.9rem;font-weight:600;color:var(--cinza-escuro)}
.form-grupo input,.form-grupo select,.form-grupo textarea{
  width:100%;padding:12px 14px;border:1px solid var(--cinza-borda);
  border-radius:var(--radius-sm);font-family:var(--fonte);font-size:.97rem;
  color:var(--cinza-escuro);background:#fff;
  transition:border-color var(--transicao),box-shadow var(--transicao);
}
.form-grupo input:focus,.form-grupo select:focus,.form-grupo textarea:focus{
  outline:none;border-color:var(--verde);box-shadow:0 0 0 3px rgba(0,100,54,.12)}
.form-grupo textarea{resize:vertical;min-height:130px}
.form-honeypot{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}
.form-aviso{font-size:.82rem;color:var(--cinza-medio);margin-top:8px}
.form-sucesso{display:none;padding:16px 20px;background:#e6f4ed;border:1px solid #b3d9c4;
  border-radius:var(--radius-sm);color:#00502b;font-weight:600;margin-top:12px}
.form-erro{display:none;padding:16px 20px;background:#fdecea;border:1px solid #f5c6c2;
  border-radius:var(--radius-sm);color:#8b1a1a;font-weight:600;margin-top:12px}
.form-erro a{color:#8b1a1a;text-decoration:underline}

/* ---------- 22. RESPONSIVO INTERNO ---------- */
@media (max-width:960px){
  .sobre-grid,.missao-grid,.contato-grid{grid-template-columns:1fr}
  .produto-bloco,.produto-bloco.invertido{grid-template-columns:1fr}
  .produto-bloco.invertido .produto-img,.produto-bloco.invertido .produto-info{order:unset}
  .galeria-fab-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .gf-destaque{grid-row:auto}
}
@media (max-width:768px){
  .valores-grid{grid-template-columns:1fr}
  .galeria-grid{grid-template-columns:1fr}
  .servico-grid{grid-template-columns:1fr}
}
@media (max-width:600px){
  .produtos-nav{gap:6px}
  .produtos-nav a{font-size:.85rem;padding:8px 14px}
}

/* ---------- 16. PREFERS-REDUCED-MOTION ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;
    scroll-behavior:auto!important}
}

/* ---------- 17. COOKIE CONSENT BANNER (LGPD) ---------- */
#cookie-banner{
  position:fixed;bottom:0;left:0;right:0;z-index:9999;
  display:flex;align-items:center;gap:20px;flex-wrap:wrap;
  padding:18px 32px;
  background:var(--grafite);color:#fff;
  box-shadow:0 -4px 24px rgba(0,0,0,.30);
  transform:translateY(100%);
  transition:transform .4s cubic-bezier(.4,0,.2,1);
}
#cookie-banner.cb-visivel{ transform:translateY(0); }
#cookie-banner.cb-saindo{ transform:translateY(110%); }
.cb-texto{flex:1;min-width:240px;font-size:.875rem;line-height:1.55;}
.cb-texto p+p{margin-top:3px;}
.cb-texto strong{font-size:.9rem;}
.cb-texto a{color:#7fcfa4;text-underline-offset:3px;}
.cb-texto a:hover{color:#fff;}
.cb-botoes{display:flex;gap:10px;flex-shrink:0;}
.cb-botoes button{
  padding:10px 22px;border-radius:var(--radius-sm);
  font-family:var(--fonte);font-size:.875rem;font-weight:600;
  border:2px solid transparent;cursor:pointer;
  transition:background var(--transicao),color var(--transicao),border-color var(--transicao);
}
#cb-aceitar{background:var(--verde);color:#fff;border-color:var(--verde);}
#cb-aceitar:hover{background:var(--verde-hover);border-color:var(--verde-hover);}
#cb-recusar{background:transparent;color:#fff;border-color:rgba(255,255,255,.38);}
#cb-recusar:hover{border-color:#fff;background:rgba(255,255,255,.08);}
@media(max-width:600px){
  #cookie-banner{padding:16px 20px;gap:14px;}
  .cb-botoes{width:100%;justify-content:flex-end;}
}
