/* =============================
   CONFIGURAÇÕES GERAIS DO SITE
   - Reset de margens/padding
   - Fonte padrão
   - Cor de fundo do body
   - Comportamento de rolagem
============================= */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&family=Big+Shoulders+Display:wght@400;500;600;700&display=swap');

* {margin:0; padding:0; box-sizing:border-box;}
body {font-family:'Montserrat',sans-serif; background:#f1f1f1; color:#222; scroll-behavior:smooth; overflow-x:hidden;}

h1 {
  font-family: 'Montserrat', sans-serif; /* mantém Montserrat */
  font-weight: 700;
}

h2 {
  font-family: 'Big Shoulders Display', sans-serif; /* usa Big Shoulders */
  font-weight: 700; /* negrito */
  text-transform: uppercase; /* opcional: dá impacto de título */
}

/* =============================
   HEADER / MENU
   - Topo fixo com logo
   - Menu de navegação
============================= */
/* Header */
header {
  display:flex; justify-content:space-between; align-items:center;
  padding:15px 40px; background:#f6f6f6; box-shadow:0 2px 6px rgba(0,0,0,0.1);
  position:sticky; top:0; z-index:100;
}
.logo h1 {font-size:1.3rem; letter-spacing:1px;}
nav ul {display:flex; list-style:none; gap:20px;}
nav a {text-decoration:none; color:#333; font-weight:600; transition:.3s;}
nav a:hover {color:#0078ff;}

/* =============================
   MENU HAMBÚRGUER (MOBILE)
   - Ícone das 3 barrinhas
   - Só aparece em telas pequenas
============================= */
/* Hamburger */
.hamburger {display:none; flex-direction:column; gap:5px; cursor:pointer;}
.hamburger span {width:25px; height:3px; background:#333; border-radius:2px;}

/* =============================
   HERO (SEÇÃO PRINCIPAL)
   - Banner inicial com logo
   - Texto de apresentação
   - Imagem de destaque
============================= */
/* Hero */
.hero {display:flex; align-items:center; justify-content:center; padding:50px 40px 30px ; background: url('imagens/bg_banner_home.png') center/contain no-repeat;}
.hero-text {
  margin: 0 auto 40px;
  max-width: 30%;
  text-align: center;
  font-size: 0.9rem; /* ↓ diminui o tamanho da fonte */
  line-height: 1.5;  /* mantém boa leitura */
  color: #868686;
}
.hero-text button {
  display:inline-block;
  border:2px solid #222;
  padding:12px 26px;
  font-weight:700;
  margin-top: 80px;
  letter-spacing:.08em;
  text-decoration:none;
  color:#222;
}
.hero-text button:hover {background:#444;color:#ffffff}
.hero-logo { margin: 0 auto 20px; width: 200px; display: flex;}
.hero-img {
  width: 45%;
  height: 600px; /* altura um pouco maior para imagens maiores */
  margin-right: 100px;
  background: url('imagens/hero-cloud.png') center/contain no-repeat;
}

/* =============================
   CONFIGURAÇÃO BASE DE SEÇÕES
   - Espaçamento padrão
   - Estilo dos H2 grandes
============================= */
/* Sections */
section {padding:20px;}
h2 {text-align:center; margin-bottom:30px; font-size:4rem;}


/*---------------------------------------*/
/* ===== Certificações  ===== */
/*---------------------------------------*/
/* Esta parte monta a seção de certificações:
   - Fundo com imagem
   - Texto descritivo
   - Linha de badges/selos em formato de hexágono
*/

.certs { background:url('imagens/cert_bg.png') center/contain no-repeat; padding-top:10px; }
.certs h2 { margin-bottom:10px; }
.cert-sub {
  text-align:center; color:#6b7280; 
  max-width:1020px; margin:0 auto 30px; line-height:1.5;
}

.cert-row{
  display:flex; justify-content:center; align-items:flex-end;
  gap:28px; flex-wrap:wrap;
}

.cert{
  display:block;
  width:200px;             /* tamanho base do hexágono */
  aspect-ratio:1/1;        /* imagens quadradas com fundo transparente */

}
.cert.big{ width:270px; }  /* o badge maior (Machine Learning) */

.cert-row.top {
  align-items: flex-start;   /* garante que a linha de cima fique mais alta */}

.cert img{
  width:100%; height:100%; object-fit:contain;
  filter: drop-shadow(0 10px 18px rgba(0,0,0,.12));
  transition: transform .18s ease; cursor: default !important;
}
.cert:hover img{   transform: translateY(-4px); /* mantém o “respiro” no hover */; }

/* Encaixe visual da segunda linha (fica um pouco “para cima”) */
.cert-row.bottom{ margin-top:-100px; margin-left: 300px; }

/* =============================
   CERTIFICAÇÕES – RESPONSIVO
   - Reorganiza os selos em 1–2–1–2
   - Remove o conceito de “linha de cima/baixo”
============================= */
/* Responsivo */
/* MOBILE – layout 1-2-1-2 dos certificados */
@media (max-width: 1100px){

  .certs{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:flex-end;
  }

  /* some com o conceito de “linha de cima/baixo” no mobile */
  .cert-row{
    display:contents;
  }

  /* base: meia largura (pra formar duplas) */
  .cert{
    flex:0 0 50%;
    max-width:50%;
    display:flex;
    justify-content:center;
    margin:0;
    transform:translateX(00px -70px);
  }

  .cert img{
    width:80%;
    height:auto;
  }

  /* 1ª linha – Machine Learning grandão, sozinho */
  .cert.big{
    flex-basis:100%;
    max-width:80%;
    justify-content:center;
    margin-bottom:-40px; /* encosta na dupla de baixo */
  }

  /* 2ª linha – dois lados */
  .certs .cert:nth-of-type(2),
  .certs .cert:nth-of-type(3){
    margin-top:-20px;
  }

/* 3ª linha – central, sozinho, mas com tamanho normal */
.certs .cert:nth-of-type(4){
    flex-basis: 100%;        /* ocupa a linha toda */
    max-width: 50%;
    margin-left: 03px;
    display: flex;
    justify-content: center;
    margin-top: -50px;
    margin-bottom: -50px;
    transform: translateX(0);
}

/* 4ª linha – dois lados, alinhados */
.certs .cert:nth-of-type(5),
.certs .cert:nth-of-type(6){
  flex-basis: 50%;
  max-width: 50%;
  margin-top: 10px;
  display: flex;
  justify-content: center;
  align-items: flex-start;
}

  /* zera offsets do desktop */
  .cert-row.bottom{
    margin-top:0;
    margin-left:0;
  }
}

/*---------------------------------------*/
/* ===== Parcerias ===== */
/*---------------------------------------*/
/* Seção de parcerias:
   - Texto explicando parcerias
   - Card ao lado com logos dos parceiros
*/

.parcerias{
  padding: 48px 40px;background: url('imagens/cert_bg_02.png') center/contain no-repeat;
}
.parc-wrap{
  max-width:1200px; margin:0 auto;
  display:grid;
  grid-template-columns: 1fr 380px;   /* texto | card de logos */
  gap:40px;
  align-items:start;
}

/* Esquerda */
.kicker{
  display:inline-block;
  font-size:.8rem;
  letter-spacing:.16em;
  color:#6b7280;
  font-weight:700;
  margin-bottom:8px;
}
.parc-title{
  font-family:'Big Shoulders Display',sans-serif; /* mantém estética dos H2 */
  font-size:4rem;
  line-height:1;
  margin:0 0 16px 0;
  text-align: left;
}
.parc-sub{
  font-weight:700;
  font-size:1.25rem;
  margin:18px 0 10px;
}
.parc-text{
  color:#666;
  max-width:680px;
  line-height:1.5;
  margin-bottom:28px;
}
.btn-outline{
  display:inline-block;
  border:2px solid #222;
  padding:12px 26px;
  font-weight:700;
  letter-spacing:.08em;
  text-decoration:none;
  color:#222;
}
.btn-outline:hover{ background:#222; color:#fff; transform: translateY(-1px); }

/* Direita (card com logos) */
.parc-right{
  background:#fff;
  border:1px solid #e5e7eb;
  box-shadow:0 6px 18px rgba(0,0,0,.07);
  padding:18px;
}
.partner-list{
  list-style:none; margin:0; padding:0;
  display:flex; flex-direction:column; gap:16px;
}
.partner-list li{
  border:1px solid #e5e7eb;
  padding:18px;
  display:flex; align-items:center; justify-content:center;
  background:#fafafa;
}
.partner-list img{
  max-width:100%; max-height:40px; object-fit:contain;
  filter: grayscale(0);
}

/* Responsivo – parcerias em coluna no mobile */
@media (max-width: 980px){
  .parc-wrap{ grid-template-columns: 1fr; }
  .parc-right{ order:2; }
  .parc-left{ order:1; }
}


/*---------------------------------------*/
/* ===== PACOTES ===== */
/*---------------------------------------*/
/* Seção de pacotes:
   - Título e texto explicando os planos
   - Faixa escura de fundo
   - 3 cards de pacotes (com um card central destacado)
*/

.pack { position: relative; background: url('imagens/cert_bg_02.png') center/contain no-repeat; }
.pack-head { max-width:1200px; margin:0 auto 130px; }
.pack-head h2 { text-align:left; font-size:4rem; margin:0 0 8px 0;}
.pack-sub { max-width:720px; color:#6b7280; line-height:1.5;}

.pack-strip{
  position:absolute; left:0; right:0; top:40%; height:230px;
  transform:translateY(-10%);                /* ajusta a faixa como no mock */
  background:#151515;
  z-index:0;
}

/* grid de cards */
.pack-grid{
  max-width:1200px; margin:80px auto;
  display:grid; grid-template-columns: repeat(3, 1fr); gap:56px;
  position:relative; z-index:1;              /* fica sobre a faixa escura */
}

/* card base */
.pack-card{
  background:#fff; padding:38px 34px; text-align:center;
  box-shadow:0 8px 26px rgba(0,0,0,.10);
  border:1px solid #eee;
}

/* destaque do card central */
.pack-card.featured {
  transform: scale(1.20) translateY(-25px); /* aumenta tamanho e destaca */
  padding: 60px 48px;                      /* mais “respiro” interno */
  z-index: 2;
  box-shadow: 0 18px 42px rgba(0,0,0,.18);
}


/* ícone topo */
.pack-icon{
  display:block; margin:0 auto 18px;
  max-width:120px; height:auto; object-fit:contain;
}

/* título do card */
.pack-card h3{
  font-weight:800; letter-spacing:.02em; margin:6px 0 10x;
}

/* preço fino */
.pack-price{
  font-weight:800; color:#555; margin:0 0 30px;
  font-size:1.6rem;
}
.pack-price span{ font-weight:600; letter-spacing:.02em; }

/* texto */
.pack-desc{ color:#6b6b6b; line-height:1.55; margin-top: 20px; margin-bottom: 20px;}

/* botão sólido */
.btn-solid{
  display:inline-block; background:#111; color:#fff; text-decoration:none;
  padding:14px 28px; font-weight:800; letter-spacing:.06em;
  box-shadow:0 6px 0 #000; border:2px solid #111;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.btn-solid:hover{ transform: translateY(-2px); box-shadow:0 8px 0 #000; }

/* responsivo – pacotes empilhados no mobile */
@media (max-width: 1024px){
  .pack-grid{ gap:26px; }
  .pack-icon{ max-width:100px; }
}
@media (max-width: 900px){
  .pack-strip{ height:100px; }
  .pack-grid{ grid-template-columns: 1fr; max-width:680px; }
  .pack-card.featured{ transform:none; }
}

/*---------------------------------------*/
/* ===== CASES (SEÇÃO PRETA HOME) ===== */
/*---------------------------------------*/
/* Seção de cases principal:
   - Fundo preto
   - Texto à esquerda
   - Imagem grande à direita com círculo decorativo
   - Botões de ação
*/

.cases-pro{
  --bk:#000000;
  background:#000000;    /* fundo geral da seção */
  padding: 0 0 -250px;
  position:relative;
  overflow:hidden;        /* evita sobras brancas nas bordas/entre recortes */
}

.cases-wrap {
  position: relative;
  z-index: 1;
  max-width: 1200px;
  margin: 0 auto;
  padding: 30px 0 10px; /* ↓ diminui o fundo preto */
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}

.cases-left {
  color: #fff;
  position: relative;
  z-index: 2; /* garante que fique acima da imagem da direita */
}

.cases-title{
  font-family:'Big Shoulders Display',sans-serif;
  text-align:left; font-size:4rem; line-height:1; margin:12px 0 12px;
}
.cases-text{
  max-width:520px; color:#cfcfcf; line-height:1.55; margin-bottom:22px; margin-top: 40px;
}

.cases-media{ margin:14px 0 10px; }
.cases-thumb{ position:relative; overflow:hidden; }
.cases-thumb img{
  display:block; width:100%; height:200px; object-fit:cover;
  filter: contrast(1.02);
}
.cases-bar{
  position:absolute; left:-28px; top:18px; height:18px; width:220px;
  background:#3a3a3a; 
}

/* lado direito */
.cases-right{ position:relative; }
.cases-hero{
  position:relative; background:#111;
  box-shadow:0 12px 30px rgba(0,0,0,.4);
}
.cases-hero img{
  display:block; width:100%; height:360px; object-fit:cover;
}

.cases-circle {
  position: absolute;
  top: 200px;          /* sobe um pouco acima da imagem */
  left: -40px;         /* encosta na quina esquerda */
  width: 130px;
  height: 130px;
  fill: #fff;
  opacity: 0.8;
  mix-blend-mode: screen;
  pointer-events: none; /* evita interferência no clique */
  transform: rotate(-20deg); /* leve giro para encaixar como no mock */
}

/* botões */
.btn-light, .btn-dark{
  display:inline-block; text-decoration:none; font-weight:800; letter-spacing:.08em;
  padding:14px 22px;
}
.btn-light{
  background:#fff; color:#111; border:2px solid #111;
  margin-right:18px;
}
.btn-light:hover{ transform:translateY(-2px); box-shadow:0 8px 0 #111; }
.btn-dark{
  background:#000000; color:#fff; border:2px solid #ffffff; margin-left: 2px;
}
.btn-dark:hover{ transform:translateY(-2px); box-shadow:0 8px 0 #000; }
.cases-actions{ margin-top:18px; }

/* responsivo – cases em coluna no mobile */
@media (max-width: 992px){
  .cases-wrap{ grid-template-columns:1fr; gap:28px; }
  .cases-pro::before{ height:520px; }
  .cases-title{ font-size:3.2rem; }
  .cases-hero img{ height:300px; }
}
@media (max-width: 560px){
  .cases-title{ font-size:2.6rem; }
  .cases-thumb img{ height:220px; }
  .cases-hero img{ height:240px; }
  .cases-circle{ width:100px; height:100px; right:18px; top:18px; }
}

/*---------------------------------------*/
/* ===== ARTIGOS ===== */
/*---------------------------------------*/
/* Seção de chamada para artigos na home:
   - Imagem grande com tarja de texto
   - Bloco de texto ao lado com botão
*/

.artigos-pro{ background: url('imagens/cert_bg_02.png') center/contain no-repeat; padding:120px 40px; }
.artigos-wrap{
  max-width:1200px; margin:0 auto;
  display:grid; grid-template-columns: 1fr 1fr; gap:60px; align-items:start;
}

/* esquerda */
.art-figure{ position:relative; margin:0; }
.art-figure img{
  display:block; width:100%; height:auto; object-fit:cover;
  box-shadow:0 12px 28px rgba(0,0,0,.15);
}
.art-mini{
  position:absolute; top:28px; right:28px;
  font-size:.9rem; line-height:1.25; letter-spacing:.08em;
  color:#111; font-weight:700; text-align:left;
  background:rgba(255,255,255,.85); padding:10px 12px;
}

.btn-contact{
  display:inline-block; margin-top:18px;
  background:#111; color:#fff; text-decoration:none;
  padding:14px 22px; font-weight:800; letter-spacing:.06em;
}

/* direita */
.art-kicker{
  display:inline-block; font-size:.75rem; letter-spacing:.16em; 
  color:#111; opacity:.8; margin-bottom:8px;
}
.art-title{
  font-family:'Big Shoulders Display',sans-serif;
  font-size:4rem; line-height:1; margin:6px 0 16px 0;
  text-align:left;
}
.art-text{ color:#555; line-height:1.6; }
.art-text p + p{ margin-top:12px; }

.btn-learn{
  margin-top:22px; padding:12px 20px;
  border:2px solid #d1d5db; color:#d1d5db; background:transparent;
  font-weight:700; letter-spacing:.06em;
  cursor:not-allowed; opacity:.9;
}

/* responsivo – artigos em coluna */
@media (max-width: 960px){
  .artigos-wrap{ grid-template-columns:1fr; gap:28px; }
  .art-title{ font-size:3rem; }
  .art-mini{ top:18px; right:18px; }
}
@media (max-width: 560px){
  .art-title{ font-size:2.4rem; }
}

/*---------------------------------------*/
/* ===== CONTATO ===== */
/*---------------------------------------*/
/* Seção de contato:
   - Fundo preto
   - Título grande “Contato”
   - Formulário com campos de nome, e-mail, etc.
   - X decorativos na lateral
*/

.contato-pro {
  background: #000;
  color: #fff;
  padding: 80px 60px;
}

.contato-wrap {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 40px;
  position: relative;
}

/* lado esquerdo */
.contato-left {
  position: relative;
}
.contato-title {
  font-family: 'Big Shoulders Display', sans-serif;
  font-size: 4rem;
  font-weight: 900;
  line-height: 1;
  text-align: center;
  color: #fff;
}

/* grupo dos X */
.contato-x-group {
  display: flex;
  flex-direction: column;
  gap: 14px;
  position: absolute;
  bottom: 20px;
  font-size: 22px;
  font-weight: 700;
  color: #000000;
}
.left-x { left: 120px; }
.right-x { right: -40px; top: 50%; transform: translateY(-50%); }

/* lado direito */
.contato-right {
  position: relative;
}

.contato-box {
  border: 1px solid #fff;
  padding: 30px 28px;
  position: relative;
  background: transparent;
}

form {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

label {
  font-size: 0.85rem;
  font-weight: 400;
  color: #fff;
}

input,
textarea {
  width: 100%;
  background: transparent;
  border: 1px solid #fff;   /* agora tem borda completa */
  color: #fff;
  font-size: 0.95rem;
  padding: 10px 12px;
  outline: none;
  transition: all 0.3s ease;
}

input:focus,
textarea:focus {
  background: #111;          /* leve destaque no foco */
  border-color: #aaa;
}

.contato-row {
  display: flex;
  gap: 14px;
}

.field { flex: 1; }

textarea {
  height: 90px;
  resize: none;
  border: 1px solid #fff;
  padding: 8px;
}

/* botão */
.btn-send {
  background: #fff;
  color: #000;
  border: none;
  padding: 10px 22px;
  font-weight: 700;
  align-self: flex-start;
  cursor: pointer;
  transition: background .3s, color .3s;
}
.btn-send:hover {
  background: #222;
  color: #fff;
}

/* responsivo – contato em coluna */
@media (max-width: 900px) {
  .contato-wrap { grid-template-columns: 1fr; gap: 40px; }
  .contato-x-group { display: none; }
  .contato-title { font-size: 3rem; }
}


/* =============================
   RODAPÉ E ANIMAÇÕES GENÉRICAS
   - Footer
   - Classes para animações de entrada
============================= */
/* Footer */
footer {background:#000; color:#fff; padding:20px; text-align:center;}

/* Animations */
.fade-in {opacity:0; transform:translateY(30px); transition:all .8s ease-out;}
.fade-in.visible {opacity:1; transform:translateY(0);}
.slide-up {opacity:0; transform:translateY(50px); transition:all .8s ease-out;}
.slide-up.visible {opacity:1; transform:translateY(0);}

/* Responsive */
@media (max-width:768px){
  .hero{flex-direction:column; text-align:center;}
  .hero-text{max-width:100%;}
  .hero-img{width:100%; height:180px;}
  nav{display:none; position:absolute; top:70px; right:0; background:#fff; width:200px; box-shadow:0 2px 10px rgba(0,0,0,0.1);}
  nav ul{flex-direction:column; padding:15px;}
  nav.show{display:block;}
  .hamburger{display:flex;}
}

/* ===== Transição diagonal entre seções ===== */
/* Imagem que cria um “corte” diagonal entre uma seção e outra */
.section-transition {
  width: 100%;
  overflow: hidden;
  line-height: 0; /* remove espaçamento extra */
  background: transparent;
}

.section-transition img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

/* ---------- ---------- */
/* ---------- Página Interna: PACOTES   ---------- */
/* ---------- ---------- */
/* Estilos exclusivos da página interna de pacotes:
   - Hero da página
   - Cards internos
   - Tabela de preços
   - Grid de parcerias
*/

.container{ max-width:1200px; margin:0 auto; padding:0 20px; }

/* título/subtítulo */
.pi-hero{ background:#efefef; padding:60px 0 30px; text-align:center; }
.pi-title{ font-family:'Montserrat',sans-serif; font-weight:800; font-size:3rem; margin:0 0 8px; }
.pi-sub{ max-width:720px; margin:0 auto; color:#6b6b6b; line-height:1.5; }

/* 3 cards */
.pi-cards{ background:#efefef; padding:20px 0 40px; }
.grid-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:36px; }
.pi-card{
  background:#fff; border:1px solid #eee; text-align:center; padding:28px 24px;
  box-shadow:0 6px 18px rgba(0,0,0,.06);
}
.pi-icon{ width:100px; height:auto ; margin:6px auto 10px; }
.pi-card-title{ font-weight:300; color:#9aa0a6; letter-spacing:.12em; margin:8px 0 12px; }
.pi-card-txt{ color:#777; line-height:1.45; margin-bottom:16px; }

/* separador com linhas e bolinhas */
.pi-divider{ background:#efefef; padding:18px 0 8px; }
.pi-divider .container{ display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:60px; }
.pi-head{ text-align:center; }
.pi-head h3{ font-family:'Montserrat',sans-serif; font-weight:800; margin:0; }
.pi-head p{ margin:2px 0 0; color:#777; }
.line{ position:relative; height:2px; background:#111; }
.line.left .dot, .line.right .dot{
  position:absolute; top:-6px; width:12px; height:12px; border-radius:50%; border:3px solid #111; background:#fff;
}
.line.left .dot{ right:-6px; } .line.right .dot{ left:-6px; }

/* CTA de pacote ao final dos artigos */
.art-cta{ text-align:center; margin:48px 0 24px; }
.art-cta .btn-solid{ font-size:1rem; padding:16px 36px; letter-spacing:.08em; }

/* separador com linhas e bolinhas para artigos */
.art-divider{ background:#ffffff; padding:18px 0 8px; }
.art-divider .container{ display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:60px; }
.art-head{ text-align:center; }
.art-head h3{ font-family:'Montserrat',sans-serif; font-weight:800; margin:0; }
.art-head p{ margin:2px 0 0; color:#777; }
.line{ position:relative; height:2px; background:#111; }
.line.left .dot, .line.right .dot{
  position:absolute; top:-6px; width:12px; height:12px; border-radius:50%; border:3px solid #111; background:#fff;
}
.line.left .dot{ right:-6px; } .line.right .dot{ left:-6px; }


/* tabela de preços */
.pi-pricing{ background:#efefef; padding:10px 0 50px; }
.pi-table-wrap{ overflow:auto; box-shadow:0 8px 20px rgba(0,0,0,.06); }
.pi-table{ width:100%; border-collapse:separate; border-spacing:0; background:#fff; }
.pi-table thead th{ padding:16px 14px; border-bottom:1px solid #eee; text-align:center; }
.pi-table thead small{ color:#6b6b6b; display:block; }
.pi-table thead s{ color:#bbb; font-size:.85em; }
.pi-table tbody td{ padding:14px; border-top:1px solid #f0f0f0; text-align:center; color:#565656; }
.chip{
  display:inline-block; margin-top:8px; padding:6px 12px; border-radius:18px;
  background:#111; color:#fff; text-decoration:none; font-weight:700; letter-spacing:.04em;
}

/* parcerias grid */
.pi-parcerias{ background:#efefef; padding:40px 0 80px; }
.pi-parc-head{ margin-bottom:14px; }
.pi-parc-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:36px;
}
.pi-parc-card{
  background:#fff; border:1px solid #eee; text-align:center; padding:26px 22px;
  box-shadow:0 6px 18px rgba(0,0,0,.06);
}
.pi-parc-card img{ max-width:120px; height:auto; margin:0 auto 12px; object-fit:contain; }
.pi-parc-card h4{ font-weight:300; color:#9aa0a6; letter-spacing:.12em; margin:6px 0 10px; }
.pi-parc-card p{ color:#777; line-height:1.45; margin-bottom:16px; }

/* card de texto à direita */
.pi-parc-aside{
  grid-column:3; grid-row:1 / span 1;
  background:#111; color:#fff; padding:22px; display:flex; flex-direction:column; justify-content:center;align-self: start; /* evita esticar demais */
  height: 130%; /* 1 linha e meia aproximadamente */
  transform: translateY(15%); /* sobe levemente para centralizar visualmente */
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.3);
}
.pi-parc-aside h5{ font-family:'Big Shoulders Display',sans-serif; font-size:1.3rem; margin:0 0 10px; }
.pi-parc-aside p{ color:#e5e5e5; line-height:1.5; }

/* responsivo – página interna pacotes */
@media (max-width: 1024px){
  .grid-3, .pi-parc-grid{ gap:26px; }
}
@media (max-width: 900px){
  .grid-3{ grid-template-columns:1fr; }
  .pi-parc-grid{ grid-template-columns:1fr; }
  .pi-parc-aside{ grid-column:auto; grid-row:auto; padding: 40px; }
  .pi-title{ font-size:2.4rem; }
}


/* =========================
/* ===== Página Interna: SOBRE NOS ===== */
/* =========================*/
/* Seção “Sobre nós”:
   - Texto institucional
   - Logo
   - Imagem ao lado (no desktop)
   - Bloco de Missão / Visão / Valores
*/

.about-pro{ background:url('imagens/sobre_nos_bg.png') center/cover no-repeat; padding:60px 0; }
.about-top{
  display:grid; grid-template-columns: 2fr 1fr;
  gap:-10px; align-items:start; max-width:1100px; margin:0 auto;
}
.about-logo{ max-width:260px; margin-bottom:20px; }
.about-left p{ color:#555; line-height:1.6; margin-bottom:14px; }
.about-left ul{ color:#555; margin:12px 0 20px 20px; line-height:1.6; }
.about-left li{ margin-bottom:6px; }
.about-right img{ width:100%; height:auto; object-fit:contain; transform:scale(1.3); }

/* Primeiro parágrafo acima da imagem */
.about-intro {
  grid-column: 1 / -1;          /* ocupa toda a largura da grid */
  max-width: 1100px;
  margin: 0 auto 40px auto;
  color: #555;
  line-height: 1.6;
  text-align: left;
}

.about-logo {
  display: block;
  margin: 0 auto 20px; /* centraliza horizontalmente e mantém espaçamento inferior */
  max-width: 260px;
}

/* =========================
   MISSÃO / VISÃO — hex de fundo
   ========================= */
.about-mv{
  background:#fff;
  padding: 90px 0 90px;
  text-align:center;
  background:url('imagens/hex-bg-light.png') center/cover no-repeat;
  margin-bottom: 50px; /* 👈 adiciona respiro entre as seções */
}

.about-mv-wrap{
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
}

/* bloco com hexágono suave ATRÁS do conteúdo */
.about-card {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;   /* centraliza verticalmente o texto */
  align-items: center;       /* centraliza horizontalmente */
  text-align: center;
  padding: 0 60px;           /* mantém respiro lateral */
  min-height: 360px;         /* garante área interna para o texto */
  background: transparent;
  box-shadow: none;
  border: none;
}

.about-card::before {
  content: "";
  position: absolute;
  top: -20%;
  left: -5%;
  width: 110%;
  height: 145%;
  background: #f7f7f7;
  clip-path: polygon(50% 0%, 93% 25%, 93% 75%, 50% 100%, 7% 75%, 7% 25%);
  -webkit-clip-path: polygon(50% 0%, 93% 25%, 93% 75%, 50% 100%, 7% 75%, 7% 25%);
  z-index: 0;
}
.about-card > *{ position: relative; z-index: 1; } /* conteúdo acima do hex */

.about-card h3{
  font-family:'Big Shoulders Display',sans-serif;
  font-size: 2.8rem;
  margin-bottom: 16px;
}
.about-card p{
  color:#444; line-height:1.6; margin:0;
}

/* ===== VALORES ===== */
/* Bloco específico dos valores em formato de pirâmide de hexágonos */

.about-values {
  position: relative;
  background: transparent;
  overflow-x: hidden;
  padding-top: 0;
}

.about-values h3 {
  font-family:'Big Shoulders Display',sans-serif;
  font-size: 2.8rem;
  letter-spacing: 0.01em;
  text-align: center;
  color: #111;
  margin: 20px auto 40px;
  position: relative;
  z-index: 3;
}

.about-values::before {
  content: "";
  position: absolute;
  inset: 0;
  text-align: center; 
  background: var(--hex-tile) center top / 360px 313px repeat;
  opacity: .38;
  pointer-events: none;
  z-index: 0;
  top: 0;
  background-position: center 0;
  margin-bottom: 50px;
}

/* conteúdo por cima */
.about-values .container {
  position: relative;
  z-index: 1;
  margin-top: 0;
}

.about-values h3 {
  font-family: 'Big Shoulders Display', sans-serif;
  font-size: 3rem;
  margin-bottom: 12px;
}

.values-sub {
  margin-bottom: 60px;
  color: #666;
}

/* ===== GRADE EM PIRÂMIDE (3-2-1) ===== */
.values-grid {
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* linhas horizontais */
.values-row {
  display: flex;
  justify-content: center;
  gap: -14px;
  margin-top: -45px;
}

/* estilo de cada hex */
.values-row > div {
  background: #fff;
  border: 1px solid #e8e8e8;
  box-shadow: 0 8px 20px rgba(0, 0, 0, .06);
  padding: 40px 28px 44px;
  width: 250px;
  height: 250px;
  clip-path: polygon(50% 0%, 93% 25%, 93% 75%, 50% 100%, 7% 75%, 7% 25%);
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}

/* tipografia interna */
.values-row h4 {
  margin: 0 0 6px;
  font-weight: 800;
  color: #111;
  text-transform: uppercase;
  font-size: .95rem;
  letter-spacing: .04em;
}

.values-row p {
  margin: 0;
  color: #666;
  font-size: .9rem;
  line-height: 1.45;
}

/* ===== VALORES – honeycomb ao redor da logo ===== */
/*
  Hex 250×250px (clip-path pointy-top).
  Gap de 20px entre bordas → centro-a-centro 235px (horizontal) e 204px (vertical).
  Container: 720×658px.
  Posições (top-left de cada box):
    upper-left  (118, 0),  upper-right (353, 0)
    mid-left    (0,   204), center      (235, 204), mid-right (470, 204)
    lower-left  (118, 408), lower-right (353, 408)
*/
.values-hex-layout {
  position: relative;
  width: 720px;
  height: 658px;
  margin: 0 auto;
}

.values-hex-layout > * {
  position: absolute;
  width: 250px;
  height: 250px;
}

.vh-upper-left  { left: 118px; top: 0; }
.vh-upper-right { left: 353px; top: 0; }
.vh-mid-left    { left: 0;     top: 204px; }
.vh-center      { left: 235px; top: 204px; }
.vh-mid-right   { left: 470px; top: 204px; }
.vh-lower-left  { left: 118px; top: 408px; }
.vh-lower-right { left: 353px; top: 408px; }

/* Card com hex clip-path (mesmo estilo do values-row > div) */
.val-card {
  background: #fff;
  border: 1px solid #e8e8e8;
  box-shadow: 0 8px 20px rgba(0,0,0,.06);
  padding: 40px 28px 44px;
  clip-path: polygon(50% 0%, 93% 25%, 93% 75%, 50% 100%, 7% 75%, 7% 25%);
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}

.val-card h4 {
  margin: 0 0 6px;
  font-weight: 800;
  color: #111;
  text-transform: uppercase;
  font-size: .95rem;
  letter-spacing: .04em;
}

.val-card p {
  margin: 0;
  color: #666;
  font-size: .9rem;
  line-height: 1.45;
}

/* Logo central – sem clip-path, imagem adapta ao espaço */
.values-hex-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
  box-shadow: none;
  clip-path: none;
  padding: 14px;
}

.values-hex-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* === HONEYCOMB – responsivo === */

/* Tablet: cabe com leve redução */
@media (max-width: 780px) {
  .values-hex-layout {
    transform: scale(0.84);
    transform-origin: top center;
    margin-bottom: calc(658px * (0.84 - 1));
  }
}

/* Tablet pequeno */
@media (max-width: 660px) {
  .values-hex-layout {
    transform: scale(0.68);
    transform-origin: top center;
    margin-bottom: calc(658px * (0.68 - 1));
  }
}

/* Mobile: zigzag diagonal, 6 hexes sem logo
   Hex: 220×220px | offset H: 100px | passo V: 175px
   Gap entre bordas ≈ 12px | Container: 320×1095px     */
@media (max-width: 520px) {
  .values-hex-layout {
    position: relative;
    width: 320px;
    height: 1095px;
    transform: none;
    margin: 0 auto;
  }

  .values-hex-layout > * {
    position: absolute;
    width: 220px;
    height: 220px;
  }

  /* Logo oculta no mobile */
  .values-hex-logo.vh-center { display: none; }

  /* Zigzag: ímpar à esquerda, par à direita */
  .vh-upper-left  { left: 0;     top: 0;    }
  .vh-upper-right { left: 100px; top: 175px; }
  .vh-mid-left    { left: 0;     top: 350px; }
  .vh-mid-right   { left: 100px; top: 525px; }
  .vh-lower-left  { left: 0;     top: 700px; }
  .vh-lower-right { left: 100px; top: 875px; }

  /* Tipografia e padding para hex de 220px */
  .val-card    { padding: 26px 14px 30px; }
  .val-card h4 { font-size: 0.85rem; }
  .val-card p  { font-size: 0.78rem; }
}

/* ===== Responsivo ===== */
/* -----------------------------
   SOBRE – MOBILE (texto centralizado)
   ----------------------------- */
@media (max-width: 900px){

  /* grid vira coluna */
  .about-top {
    grid-template-columns: 1fr;
  }

  /* bloco esquerdo */
  .about-left {
    display: flex;
    flex-direction: column;
  }

  /* imagem da direita some */
  .about-right {
    display: none;
  }

  /* MISSÃO / VISÃO centralizadas */
  .about-mv-wrap {
    grid-template-columns: 1fr;
  }

  .about-card {
    padding: 20px 20px;
    max-width: 400px;
  }

  /* VALORES: mantém tudo centralizado */
  .values-grid,
  .values-row {
    justify-content: center;
  }
}

.about-card::before {
  content: "";
  position: absolute;
  top: -10%;
  left: -5%;
  width: 110%;
  height: 125%;   /* 👈 ALTURA DO HEXAGONO */
  background: #f7f7f7;
  clip-path: polygon(50% 0%, 93% 25%, 93% 75%, 50% 100%, 7% 75%, 7% 25%);
  z-index: 0;
}


/* ================================
   MOBILE: layout 1–2–1–2
   Mantém o desktop 3–2–1 original
   ================================ */

   
/* ===== VALORES – mobile: hexágonos em diagonal (1 por linha, zigue-zague) ===== */
@media (max-width: 640px){

  .about-values .values-grid {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 0 10px;
    margin-top: 0;
  }

  .about-values .values-row {
    display: contents;
  }

  /* Base: hexágonos com tamanho adequado para o texto, leve sobreposição vertical */
  .about-values .values-row > div {
    width: 220px !important;
    height: 220px !important;
    padding: 48px 20px 52px !important;
    margin-top: -22px !important;
    margin-left: 5% !important;
    flex-shrink: 0;
  }

  /* Primeiro item: sem margem negativa no topo */
  .about-values .values-row:nth-of-type(1) > div:nth-child(1) {
    margin-top: 10px !important;
  }

  /* Posição DIREITA: itens 2 (Excelência), 4 (Colaboração), 6 (Transparência) */
  .about-values .values-row:nth-of-type(1) > div:nth-child(2),
  .about-values .values-row:nth-of-type(2) > div:nth-child(1),
  .about-values .values-row:nth-of-type(3) > div:nth-child(1) {
    margin-left: calc(95% - 220px) !important;
  }


}

@media (max-width: 768px){
  .about-right {
    display: none;
  }
}

  .imagem-centralizada {
          display: block; /* Garante que a imagem se comporte como um bloco */
          margin-left: auto;
          margin-right: auto;
          margin-top: 100px;
          margin-bottom: -40px;
        }

/* ================================
/* ====== Página Interna: CASES  ====== */
/* ================================

/* Seção de listagem de vários cases (página interna):
   - Título de cases
   - Blocos alternando fundo claro/escuro
   - Imagem grande + texto + KPIs
*/
.cases-intro{
  background:#f1f1f1; /* faixa cinza superior */
  padding:40px 0 18px;
}
.cases-cards{ background:#ffffff; padding:20px 0 40px; }
.cases-intro .kicker{
  display:block; font-size:.62rem; letter-spacing:.12em; line-height:1.2;
  color:#1a1a1a; opacity:.9; margin-bottom:6px;
  text-align:left;
}
.cases-title{
  font-family:'Big Shoulders Display',sans-serif;
  font-size:3.6rem; line-height:1; text-align:left; margin:0;
}

.case-block{ padding:68px 0; }
.case-light{ background:#fff; color:#111; }
.case-dark { background:#111; color:#fff; }

/* grid: imagem ~58% | texto ~42% */
.case-row{
  max-width:1200px; margin:0 auto; padding:0 -20px;
  display:grid; grid-template-columns: 1.4fr 1fr; gap:36px; align-items:start;
}
.case-row.invert{ grid-template-columns: 1fr 1.4fr; }

/* Quando a seção tem .invert, imagem à direita */
.case-block.invert .case-row {
  grid-template-columns: 1fr 1.4fr;
}

/* botão no canto direito */
.case-block.invert .case-cta {
  left: auto;
  right: 60px;
}

/* mídia grande, com sombra */
.case-media{ position:relative; margin:0; }
.case-media img{
  display:block; width:100%; height:340px; object-fit:cover;
  box-shadow:0 14px 34px rgba(0,0,0,.28);
}

/* botão sobreposto à imagem (como no mock) */
.case-cta{
  position:absolute; bottom:-18px; left:40px;
  display:inline-block; background:#000; color:#ffffff; text-decoration:none;
  padding:14px 86px; font-weight:800; letter-spacing:.06em;
  border:2px solid #000; box-shadow:0 8px 0 #000;
}
.case-dark .case-cta{ background:#ffffff; border-color:#ffffff;color:#000000 }
.over-left{ left:60px; }
.over-right{ right:60px; left:auto; }

/* títulos e texto */
.case-num{
  font-family:'Montserrat', sans-serif;
  font-size:1.8rem; margin:6px 0 4px; letter-spacing:.02em;
}
.case-head{
  font-family:'Montserrat', sans-serif;
  font-size:1.2rem; text-transform:uppercase; letter-spacing:.06em; text-align: left;
  margin:0 0 12px;
}
.case-text{ line-height:1.6; color:inherit; opacity:.92; }

/* KPIs grandes como no print */
.case-kpis{ display:flex; gap:36px; margin:18px 0 6px; }
.case-kpis .kpi strong{
  font-size:3rem; line-height:1; display:block;
}
.case-kpis .kpi span{
  display:block; font-size:.7rem; letter-spacing:.08em; opacity:.6; margin-top:2px;
}

/* bloco de nota nos escuros */
.case-note{
  margin:16px 0 0; background:rgba(255,255,255,.06);
  padding:12px 14px; max-width:380px;
}
.case-note strong{ display:block; font-size:.92rem; margin-bottom:4px; }
.case-note small{ display:block; opacity:.8; }

/* responsivo */
@media (max-width: 1024px){
  .case-row, .case-row.invert{ grid-template-columns:1fr; }
  .case-media img{ height:300px; }
  .over-left{ left:30px; } .over-right{ right:30px; }
}
@media (max-width: 560px){
  .cases-title{ font-size:2.8rem; }
  .case-media img{ height:240px; }
  .case-kpis{ gap:22px; }
  .case-kpis .kpi strong{ font-size:2.4rem; }
  .case-cta{ bottom:-16px; padding:12px 22px; }
}


/* ================================
/* ======= PÁGINA INTERNA: ARTIGOS ======= */
/* ================================

/* Cabeçalho e blocos da página interna de artigos:
   - Hero dos artigos
   - Artigo 1 (fundo escuro)
   - Artigo 2 (fundo claro)
*/
.arts-hero{
  background:#0d0d0d;
  padding:22px 0;
}
.arts-hero .container{
  max-width:1200px; margin:0 auto; padding:0 20px;
  display:flex; align-items:center; justify-content:space-between;
}
.arts-hero h1{
  font-family:'Big Shoulders Display',sans-serif;
  font-size:4.2rem; line-height:1; margin:0; color: #ffffff;
}
.arts-hero-right{ display:flex; align-items:flex-start; gap:18px; }
.arts-hero-right .mini{
  font-size:.85rem; color: #ffffff; letter-spacing:.12em; line-height:1.05; text-align:right;
}
.arts-hero-right .arrow{ font-size:2rem; line-height:1; }

/* ARTIGO 01 (preto) */
.art1{ background:#0d0d0d; color:#fff; padding:24px 0 10px; }
.art1 .container{ max-width:1200px; margin:0 auto; padding:0 20px; }

.art1-kicker{
  font-size:.62rem; letter-spacing:.12em; opacity:.9; margin-bottom:8px;
}
.art-title{
  font-family:'Montserrat', sans-serif;
  font-size:1.6rem; margin:0 0 20px;
}

.art1-grid{
  display:grid; grid-template-columns: 1.2fr 1fr; gap:28px; align-items:start;
}
.art1-media img{
  display:block; width:100%; height:330px; object-fit:cover;
  box-shadow: 0 12px 30px rgba(0,0,0,.35); margin-bottom: 50px;
}
.art1-copy p{ line-height:1.55; opacity:.95; }

.art1-two{ display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:22px; }
.art1-cta{ margin-top:14px; display:flex; gap:12px; }
.art1 .btn-solid{ background:#000; border:2px solid #000; box-shadow:0 8px 0 #000; }
.art1 .btn-solid.ghost{ background:transparent; color:#fff; border:2px solid #fff; box-shadow:none; }

.art1-note{
  margin:12px 0 80px; background:#111; padding:10px 14px; max-width:520px;
}
.art1-note strong{ display:block; font-weight:800; }
.art1-note small{ opacity:.8; }

/* ARTIGO 02 (branco) */
.art2{ background:#ffffff; color:#000000; padding:64px 0 10px; }
.art2 .container{ max-width:1200px; margin:0 auto; padding:0 20px; }

.art2-kicker{
  font-size:.62rem; letter-spacing:.12em; opacity:.9; margin-bottom:8px;
}
.art-title{
  font-family:'Montserrat', sans-serif;
  font-size:1.6rem; margin:0 0 20px;
}

.art2-grid{
  display:grid; grid-template-columns: 1.2fr 1fr; gap:28px; align-items:start;
}
.art2-media img{
  display:block; width:100%; height:330px; object-fit:cover;
  box-shadow:0 12px 30px rgba(0,0,0,.35);
}
.art2-copy p{ line-height:1.55; opacity:.95; }

.art2-two{ display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:12px; }
.art2-cta{ margin-top:14px; display:flex; gap:12px; }
.art2 .btn-solid{ background:#000; border:2px solid #000; box-shadow:0 8px 0 #000; }
.art2 .btn-solid.ghost{ background:transparent; color:#fff; border:2px solid #fff; box-shadow:none; }

.art2-note{
  margin:12px 0 80px; background:#111; padding:10px 14px; max-width:520px;
}
.art2-note strong{ display:block; font-weight:800; }
.art2-note small{ opacity:.8; }

/* Inverter layout (imagem à direita, texto à esquerda) */
.art2.invert .art2-grid {
  grid-template-columns: 1fr 1.2fr; /* texto 1x, imagem 1.2x */
}

.art2.invert .art2-copy {
  order: 1; /* texto primeiro */
}

.art2.invert .art2-media {
  order: 2; /* imagem depois */
}


/* responsivo – artigos internos */
@media (max-width: 1020px){
  .art1-grid{ grid-template-columns:1fr; }
  .art1-media img{ height:220px; margin-bottom:0; }
  .art1-two{ grid-template-columns:1fr; }

  .art2-grid,
  .art2.invert .art2-grid{ grid-template-columns:1fr; }
  .art2-media img{ height:220px; }
  .art2-two{ grid-template-columns:1fr; }
  .art2.invert .art2-copy{ order:unset; }
  .art2.invert .art2-media{ order:unset; }
  .art2-top{ grid-template-columns:1fr; }
  .mini-thumb{ width:100%; }
  .mini-thumb img{ height:320px; }
  .art2-hero img{ height:240px; }
  .two-cols{ grid-template-columns:1fr; }
}
@media (max-width: 560px){
  .arts-hero h1{ font-size:2.6rem; }
}

@media (max-width: 600px) {
  .hero-text {
    width: 90%;   /* ocupa quase toda a tela no celular */
  }
}


/* ================================
/* ======= GALERIA CASES/ARTIGOS ======= */
/* ================================

/* Carrossel de imagens para mostrar cases:
   - Slides com imagem
   - Legenda sobreposta
   - Botões de navegação e contador
*/
.gallery-carousel {
  position: relative;
  width: 100%;
  max-width: 1200px;
  margin: 60px auto;
  overflow: hidden;
}

.carousel-track {
  display: flex;
  align-items: center;
  gap: 24px;
  transition: transform 0.6s ease;
  will-change: transform;
}

.slide {
  position: relative;
  flex: 0 0 70%;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 8px 20px rgba(0,0,0,0.25);
  transform: scale(0.9);
  opacity: 0.6;
  transition: all 0.5s ease;
}

.slide.active {
  transform: scale(1);
  opacity: 1;
  z-index: 2;
}

.slide img {
  width: 100%;
  height: 500px;
  object-fit: cover;
  display: block;
}

.slide:hover img {
  transform: scale(1.08); /* zoom levinho */
}

.caption {
  position: absolute;
  bottom: 30px;
  left: 30px;
  right: 30px;
  color: #fff;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 1.1rem;
  text-shadow: 0 2px 10px rgba(0,0,0,0.6);
}

.controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  background: #000;            /* fundo preto contínuo */
  color: #fff;
  font-family: 'Montserrat', sans-serif;
  padding: 12px 28px;
  border-radius: 50px;
  width: fit-content;
  margin: 22px auto 0;
  box-shadow: 0 4px 16px rgba(0,0,0,0.4);
}

.controls button {
  background: none;
  border: none;
  color: #fff;
  font-size: 2rem;             /* aumenta as setas */
  cursor: pointer;
  transition: transform 0.3s ease, opacity 0.3s ease;
  line-height: 1;
}

.controls button:hover {
  transform: scale(1.2);       /* leve zoom no hover */
  opacity: 0.8;
}

/* Responsive – galeria de artigos/cases */
@media (max-width: 900px) {
  .slide { flex: 0 0 82%; }
  .slide img { height: 360px; }
}

@media (max-width: 560px) {
  .slide { flex: 0 0 90%; }
  .slide img { height: 240px; }
  .gallery-carousel { margin: 32px auto; }
  .caption { bottom: 16px; left: 16px; right: 16px; font-size: 0.95rem; }
}

.counter {
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}

.valores-row.top {
  align-items: flex-start;   /* garante que a linha de cima fique mais alta */}

  .hexa-valores{
  display:block;
  width:100px;             /* tamanho base do hexágono */
  aspect-ratio:1/1;        /* imagens quadradas com fundo transparente */
}

/* ===== HEXÁGONOS DE FUNDO (bem clarinhos) ===== */
/* Fundo decorativo geral do site:
   - Desenha hexágonos bem suaves
   - Fica fixo atrás de todo o conteúdo
*/
body {
  position: relative;
  z-index: 0;
}

/* Cria os hexágonos espalhados */
body::before {
  content: "";
  position: fixed; /* cobre toda a tela */
  inset: 0;
  pointer-events: none; /* não atrapalha clique */
  z-index: 0;
  background:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><polygon points='50,2 96,25 96,75 50,98 4,75 4,25' fill='none' stroke='%23cccccc' stroke-width='2' opacity='0.2'/></svg>") 10% 20% / 120px no-repeat,
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><polygon points='50,2 96,25 96,75 50,98 4,75 4,25' fill='none' stroke='%23cccccc' stroke-width='2' opacity='0.15'/></svg>") 80% 30% / 160px no-repeat,
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><polygon points='50,2 96,25 96,75 50,98 4,75 4,25' fill='none' stroke='%23cccccc' stroke-width='2' opacity='0.15'/></svg>") 30% 70% / 100px no-repeat,
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><polygon points='50,2 96,25 96,75 50,98 4,75 4,25' fill='none' stroke='%23cccccc' stroke-width='2' opacity='0.15'/></svg>") 70% 80% / 130px no-repeat;
  opacity: 0.4; /* controla transparência geral */
}

/* Garante que o conteúdo fique acima */
header, main, section, footer {
  position: relative;
  z-index: 1;
}

@media (max-width:768px){
  .hero{
    flex-direction:column;
    text-align:center;
  }

  .hero-text{
    max-width:100%;
  }

  .hero-img{
    width:100%;
    height:0;          /* tira a altura pra não sobrar espaço */
    background:none;   /* remove o hero-cloud.png */
    display:none;      /* esconde de vez no mobile */
  }

  nav{
    display:none;
    position:absolute;
    top:70px;
    right:0;
    background:#fff;
    width:200px;
    box-shadow:0 2px 10px rgba(0,0,0,0.1);
  }

  nav ul{
    flex-direction:column;
    padding:15px;
  }

  nav.show{
    display:block;
  }

  .hamburger{
    display:flex;
  }
}

/* força o header a voltar pro topo de tudo */
header{
  position: sticky;   /* mantém o comportamento original */
  top: 0;
  z-index: 300;       /* maior que o 1 das sections */
}

/* deixa normal no desktop */
header nav{
  position: static;
  z-index: auto;
}

/* ============================
   PÁGINA INTERNA — ARTIGO UNICO
   ============================ */

   
/* Layout do artigo individual:
   - Coluna com título e metadados
   - Coluna com texto principal do artigo
*/

.artigo-hero {
  background: #ffffff;
  padding: 80px 0;
  overflow-x: hidden; /* evita expansão do viewport no iOS Safari */
}

.artigo-hero-wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 40px;

  display: grid;
  grid-template-columns: 0.9fr 1.4fr;
  gap: 60px;
  align-items: start;
}

/* permite que os filhos do grid encolham abaixo do tamanho do conteúdo */
.ah-left,
.ah-right {
  min-width: 0;
}

.ah-kicker {
  font-size: 0.75rem;
  letter-spacing: 0.16em;
  opacity: 0.6;
  text-transform: uppercase;
}

.ah-title {
  font-family: 'Montserrat', sans-serif;
  font-weight: 800;
  font-size: 2.8rem;
  line-height: 1.2;
  margin: 14px 0 40px;
}

.ah-meta h4 {
  font-size: 0.8rem;
  letter-spacing: 0.14em;
  margin-top: 30px;
  opacity: 0.7;
}

.ah-meta p {
  margin-top: 5px;
  line-height: 1.5;
  font-size: 0.9rem;
  opacity: 0.85;
}

.ah-right p {
  margin-bottom: 22px;
  line-height: 1.65;
  font-size: 1rem;
  color: #444;
}

.ah-right ul {
  color: #444;
  font-size: 1rem;
  line-height: 1.65;
  margin-bottom: 22px;
  padding-left: 1.5rem;
}

.ah-right ul ul {
  padding-left: 1.5rem;
  margin-bottom: 0;
}

.art-img {
  text-align: center;
  margin: 0 0 22px;
}

.art-img img {
  display: inline-block;
  width: auto;
  max-width: 100%;
  height: auto;
  box-shadow: none;
  object-fit: contain;
}

.cert-badge {
  text-align: center;
}

.cert-badge img {
  box-shadow: none;
  width: auto;
  max-width: 100%;
  height: 225px;
  object-fit: contain;
  display: inline-block;
}

.ah-link {
  display: inline-block;
  margin-top: 20px;
  color: #0078ff;
  font-weight: 600;
  text-decoration: none;
}

.ah-link:hover {
  text-decoration: underline;
}

/* ================================
   SOBRE PAGE — Certificações
   ================================ */
.sobre-certs {
  padding: 60px 0 80px;
  background: url('imagens/cert_bg_02.png') center / cover no-repeat;
}

.sc-lead {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 48px;
  color: #555;
  line-height: 1.6;
}

.sc-lead-light {
  color: #aaa;
}

.sc-cert-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}

.sc-cert-card {
  background: #fff;
  border: 1px solid #e8e8e8;
  padding: 28px 24px;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 24px;
  transition: transform .18s ease, box-shadow .18s ease;
}

.sc-cert-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 36px rgba(0,0,0,.1);
}

.sc-cert-card img {
  width: 130px;
  height: 130px;
  flex-shrink: 0;
  object-fit: contain;
  filter: drop-shadow(0 4px 10px rgba(0,0,0,.1));
}

.sc-cert-card p {
  font-size: .88rem;
  color: #555;
  line-height: 1.6;
  margin: 0;
  align-self: center;
}

/* ================================
   SOBRE PAGE — Parceiros
   ================================ */
.sobre-parceiros {
  padding: 60px 0 80px;
}

.sc-partner-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 24px;
}

.sc-partner-card {
  background: #f7f7f7;
  border: 1px solid #e8e8e8;
  padding: 36px 24px 28px;
  width: calc(33.33% - 18px);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  transition: transform .18s ease, box-shadow .18s ease;
  box-sizing: border-box;
}

.sc-partner-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 36px rgba(0,0,0,.08);
}

.sc-partner-card a {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
}

.sc-partner-card img {
  height: 48px;
  width: auto;
  max-width: 130px;
  object-fit: contain;
  transition: opacity .18s ease;
}

.sc-partner-card h4 {
  font-family: 'Big Shoulders Display', sans-serif;
  font-size: 1.1rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: #111;
  margin: 0 0 10px;
}

.sc-partner-card p {
  font-size: .87rem;
  color: #555;
  line-height: 1.6;
  margin: 0;
}

/* Responsive */
@media (max-width: 960px) {
  .sc-cert-card { flex-direction: column; align-items: center; text-align: center; }
  .sc-cert-card img { width: 110px; height: 110px; }
  .sc-partner-card { width: calc(50% - 14px); }
}

@media (max-width: 560px) {
  .sc-cert-grid { grid-template-columns: 1fr; }
  .sc-partner-card { width: 100%; }
}

/* ================================
   SOBRE PAGE — NPS / Depoimentos
   ================================ */
.nps-section {
  background: #0d0d0d;
  padding: 70px 0;
  color: #fff;
}

.nps-wrap {
  display: grid;
  grid-template-columns: 1fr 1.6fr;
  gap: 64px;
  align-items: center;
}

.nps-scores {
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.nps-kicker {
  font-family: 'Montserrat', sans-serif;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .15em;
  color: #666;
  text-transform: uppercase;
}

.nps-big {
  display: flex;
  align-items: baseline;
  gap: 10px;
  line-height: 1;
}

.nps-label-big {
  font-family: 'Big Shoulders Display', sans-serif;
  font-size: 1.6rem;
  color: #666;
  letter-spacing: .08em;
}

.nps-value {
  font-family: 'Big Shoulders Display', sans-serif;
  font-size: 6rem;
  line-height: 1;
  color: #fff;
}

.nps-zone {
  display: inline-block;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #2B5BB5;
  border: 1px solid #2B5BB5;
  padding: 3px 10px;
  width: fit-content;
}

.nps-scale-bar { display: flex; flex-direction: column; gap: 8px; }

.nps-track-bar {
  position: relative;
  height: 6px;
  background: #333;
  border-radius: 3px;
}

.nps-fill {
  position: absolute;
  inset: 0;
  width: 83%;
  background: linear-gradient(to right, #333, #2B5BB5);
  border-radius: 3px;
}

.nps-marker {
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 14px;
  height: 14px;
  background: #fff;
  border: 2px solid #2B5BB5;
  border-radius: 50%;
}

.nps-scale-labels {
  display: flex;
  justify-content: space-between;
  font-size: .7rem;
  color: #555;
}

.nps-avg { display: flex; align-items: baseline; gap: 10px; }

.nps-avg-num {
  font-family: 'Big Shoulders Display', sans-serif;
  font-size: 2.8rem;
  line-height: 1;
  color: #fff;
}

.nps-avg-denom { font-size: 1.3rem; color: #777; }

.nps-avg-label {
  font-size: .78rem;
  color: #666;
  text-transform: uppercase;
  letter-spacing: .06em;
}

/* Carousel */
.nps-carousel { display: flex; flex-direction: column; gap: 32px; }

.nps-slides { position: relative; min-height: 160px; }

.nps-slide { display: none; }
.nps-slide.active { display: block; }

.nps-quote { margin: 0; padding: 0; border: none; }

.nps-quote p {
  font-size: 1.05rem;
  line-height: 1.75;
  color: #ccc;
  font-style: italic;
  margin: 0 0 24px;
}

.nps-quote footer { display: flex; flex-direction: column; gap: 4px; }

.nps-quote footer strong {
  font-family: 'Big Shoulders Display', sans-serif;
  font-size: 1.1rem;
  letter-spacing: .03em;
  color: #fff;
}

.nps-quote footer span {
  font-size: .8rem;
  color: #666;
  letter-spacing: .04em;
}

.nps-controls { display: flex; align-items: center; justify-content: center; gap: 16px; }

.nps-prev, .nps-next {
  background: none;
  border: 1px solid #333;
  color: #fff;
  font-size: 1.5rem;
  width: 38px;
  height: 38px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  transition: border-color .18s, background .18s, color .18s;
}

.nps-prev:hover, .nps-next:hover {
  border-color: #fff;
  background: #fff;
  color: #000;
}

.nps-dots { display: flex; gap: 8px; align-items: center; }

.nps-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #333;
  cursor: pointer;
  transition: background .18s;
}

.nps-dot.active { background: #fff; }

@media (max-width: 860px) {
  .nps-wrap { grid-template-columns: 1fr; gap: 40px; }
  .nps-value { font-size: 4.5rem; }
}

/* RESPONSIVO – página interna artigo */
@media (max-width: 900px) {
  .artigo-hero {
    padding: 48px 0;
  }

  .artigo-hero-wrap {
    grid-template-columns: 1fr;
    gap: 32px;
    padding: 0 20px;
  }

  .ah-title {
    font-size: 2.2rem;
  }

  .ah-right .art-divider .container {
    gap: 16px;
  }

  .cert-badge img {
    height: auto;
    max-height: 160px;
    max-width: 100%;
  }
}

@media (max-width: 560px) {
  .artigo-hero {
    padding: 32px 0;
  }

  .artigo-hero-wrap {
    padding: 0 16px;
    gap: 24px;
  }

  .ah-right .art-divider .container {
    gap: 8px;
  }

  .cert-badge img {
    max-height: 110px;
  }
}

/* ================================
   ARTIGOS PAGE — TABS + GRID
   ================================ */

.arts-section {
  background: #f1f1f1;
  padding: 40px 0 70px;
}

/* Tab bar */
.arts-tabs {
  display: flex;
  gap: 0;
  border-bottom: 2px solid #d8d8d8;
  margin-bottom: 40px;
}

.arts-tab {
  background: none;
  border: none;
  border-bottom: 3px solid transparent;
  margin-bottom: -2px;
  padding: 12px 22px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #888;
  cursor: pointer;
  transition: color 0.2s, border-color 0.2s;
  white-space: nowrap;
}

.arts-tab:hover { color: #111; }

.arts-tab.active {
  color: #111;
  border-bottom-color: #111;
}

.arts-search {
  margin-left: auto;
  align-self: center;
  border: none;
  padding: 8px 10px 8px 26px;
  font-family: 'Montserrat', sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #888;
  background: transparent url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2.5'><circle cx='11' cy='11' r='8'/><line x1='21' y1='21' x2='16.65' y2='16.65'/></svg>") no-repeat 6px center;
  outline: none;
  width: 180px;
}

.arts-search::placeholder {
  color: #888;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.arts-search::-webkit-search-cancel-button { -webkit-appearance: none; }

.arts-search:focus {
  color: #fff;
}

.arts-search:focus::placeholder { color: rgba(255,255,255,0.5); }

/* Container: hexágonos ~360px (3 por linha) */
.arts-section .container {
  max-width: 1080px;
}

/* Grid — 6 colunas, gap 0 para hexágonos próximos */
.arts-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  column-gap: 32px;
  row-gap: 0;
}

/* Todos os cards têm a mesma largura (1/3 da linha) */
.art-card { grid-column: span 2;}

/* Card base */
.art-card a {
  display: block;
  text-decoration: none;
}

.art-card figure {
  position: relative;
  aspect-ratio: 876 / 970;
  margin: 0;
  overflow: hidden;
  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
}

.art-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.35s ease;
}

.art-card:hover img { transform: scale(1.06); }


/* Tablet: 4-col grid, padrão 2,1,2,1 — JS define grid-column/row inline */
@media (max-width: 900px) {
  .arts-section .container { max-width: 100%; }
  .arts-grid {
    grid-template-columns: repeat(4, 1fr);
  }
  .art-card { grid-column: span 2; }
}

/* Mobile: 1 coluna */
@media (max-width: 560px) {
  .arts-section { padding: 28px 0 50px; }
  .arts-tabs { flex-wrap: wrap; }
  .arts-tab { padding: 10px 14px; font-size: 0.72rem; }
  .arts-grid {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .art-card {
    grid-column: 1 !important;
    grid-row: auto !important;
  }
}
