/* ==========================================================================
   Elis Vargas Libras & Co — folha de estilo única
   Paleta extraída da apresentação oficial da empresa.
   ========================================================================== */

:root{
  --creme:#F5F1EC;
  --creme-2:#EBE4DB;
  --creme-3:#E2D8CC;
  --branco:#FFFFFF;
  --petroleo:#3C4A53;
  --petroleo-esc:#29343B;
  --dourado:#C5871F;
  --dourado-esc:#A06D14;
  --laranja:#E7985C;
  --terracota:#A8563A;
  --verde:#6E7E63;
  --texto:#2E3A41;
  --texto-suave:#5C6B74;
  --borda:rgba(60,74,83,.14);
  --sombra:0 2px 10px rgba(41,52,59,.06);
  --sombra-m:0 10px 30px rgba(41,52,59,.10);
  --sombra-g:0 20px 50px rgba(41,52,59,.14);
  --raio:14px;
  --raio-g:22px;
  --largura:1160px;
  --fonte-titulo:"Poppins","Century Gothic","Futura","Trebuchet MS",sans-serif;
  --fonte-texto:"Inter","Segoe UI","Helvetica Neue",Arial,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}

html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}

body{
  margin:0;
  font-family:var(--fonte-texto);
  font-size:17px;
  line-height:1.7;
  color:var(--texto);
  background:var(--creme);
  -webkit-font-smoothing:antialiased;
}

img{max-width:100%;height:auto;display:block}

h1,h2,h3,h4{
  font-family:var(--fonte-titulo);
  color:var(--petroleo-esc);
  line-height:1.18;
  margin:0 0 .6em;
  font-weight:600;
  letter-spacing:-.015em;
}
h1{font-size:clamp(2rem,5.2vw,3.35rem);font-weight:600}
h2{font-size:clamp(1.6rem,3.6vw,2.4rem)}
h3{font-size:clamp(1.15rem,2vw,1.4rem)}
p{margin:0 0 1.1em}
a{color:var(--terracota);text-decoration:none}
a:hover{text-decoration:underline}

.container{width:100%;max-width:var(--largura);margin:0 auto;padding:0 22px}
.estreito{max-width:780px}

.secao{padding:clamp(56px,8vw,104px) 0}
.secao--creme{background:var(--creme-2)}
.secao--branco{background:var(--branco)}
.secao--petroleo{background:var(--petroleo-esc);color:#E8EDF0}
.secao--petroleo h2,.secao--petroleo h3{color:#fff}
.secao--petroleo p{color:#C6D2D9}

.centro{text-align:center}
.centro .chapeu{justify-content:center}

/* ---------- chapéu de seção ---------- */
.chapeu{
  display:inline-flex;align-items:center;gap:9px;
  font-family:var(--fonte-titulo);
  font-size:.78rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:var(--dourado);margin-bottom:14px;
}
.chapeu::before{content:"";width:26px;height:2px;background:var(--dourado);border-radius:2px}
.secao--petroleo .chapeu{color:var(--laranja)}
.secao--petroleo .chapeu::before{background:var(--laranja)}

.subtitulo{
  font-size:clamp(1rem,1.7vw,1.13rem);
  color:var(--texto-suave);max-width:62ch;
}
.centro .subtitulo{margin-left:auto;margin-right:auto}

/* ---------- topo ---------- */
.topo{
  position:sticky;top:0;z-index:60;
  background:rgba(245,241,236,.93);
  backdrop-filter:saturate(1.6) blur(10px);
  border-bottom:1px solid var(--borda);
}
.topo__barra{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:82px}
/* flex-shrink:0 — sem isto o flex esmaga a logo (chegou a 23px de largura)
   quando o menu fica apertado, em vez de o menu ceder espaço. */
.topo__logo{display:flex;align-items:center;gap:11px;text-decoration:none;flex-shrink:0}
.topo__logo img{height:52px;width:auto}
.topo__logo:hover{text-decoration:none}

.menu{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0}
.menu a{
  /* respiro lateral apertado para caber os 9 itens numa linha só, com o
     botão do WhatsApp inteiro ao lado, até 1160px */
  display:block;padding:9px 7px;border-radius:9px;
  font-size:.91rem;font-weight:500;color:var(--petroleo);white-space:nowrap;
}
.menu a:hover{background:var(--creme-3);text-decoration:none}
.menu a[aria-current="page"]{color:var(--dourado-esc);font-weight:600}

.topo__acao{display:flex;align-items:center;gap:10px;flex-shrink:0}
/* sem isto o "Falar no WhatsApp" quebra em duas linhas quando o menu aperta */
.topo__acao .btn{white-space:nowrap}

.abrir-menu{
  display:none;border:1px solid var(--borda);background:var(--branco);
  width:46px;height:42px;border-radius:10px;cursor:pointer;
  align-items:center;justify-content:center;
}
.abrir-menu span{display:block;width:20px;height:2px;background:var(--petroleo);position:relative}
.abrir-menu span::before,.abrir-menu span::after{
  content:"";position:absolute;left:0;width:20px;height:2px;background:var(--petroleo);
}
.abrir-menu span::before{top:-6px}
.abrir-menu span::after{top:6px}

/* ---------- botões ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-family:var(--fonte-titulo);font-weight:600;font-size:1rem;
  padding:14px 26px;border-radius:999px;border:2px solid transparent;
  cursor:pointer;text-align:center;line-height:1.25;
  transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease;
}
.btn:hover{text-decoration:none;transform:translateY(-2px)}
.btn:focus-visible{outline:3px solid var(--dourado);outline-offset:3px}

.btn--zap{background:var(--terracota);color:#fff !important;box-shadow:var(--sombra-m)}
.btn--zap:hover{background:#95492f;color:#fff !important}

.btn--dourado{background:var(--dourado);color:#fff !important;box-shadow:var(--sombra-m)}
.btn--dourado:hover{background:var(--dourado-esc);color:#fff !important}

.btn--contorno{background:transparent;color:var(--petroleo) !important;border-color:var(--petroleo)}
.btn--contorno:hover{background:var(--petroleo);color:#fff !important}

.btn--claro{background:var(--branco);color:var(--petroleo-esc) !important}
.btn--claro:hover{background:var(--creme-2);color:var(--petroleo-esc) !important}

.btn--peq{padding:10px 18px;font-size:.9rem}
.btn--bloco{width:100%}

.acoes{display:flex;flex-wrap:wrap;gap:14px;margin-top:26px}
.centro .acoes{justify-content:center}

/* ---------- herói ---------- */
.heroi{position:relative;overflow:hidden;background:var(--creme);padding:clamp(48px,7vw,92px) 0}
.heroi::after{
  content:"";position:absolute;right:-13%;top:-22%;
  width:min(620px,58vw);aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle at 34% 30%,rgba(231,152,92,.30),rgba(231,152,92,0) 68%);
  pointer-events:none;
}
.heroi__grade{display:grid;gap:44px;align-items:center;position:relative;z-index:1}
.heroi__texto h1 span{color:var(--dourado)}
.heroi__texto .subtitulo{font-size:clamp(1.03rem,1.9vw,1.22rem)}
.heroi__figura{position:relative}
.heroi__figura img{border-radius:var(--raio-g);box-shadow:var(--sombra-g);width:100%}
.heroi__figura--recorte img{box-shadow:none;border-radius:0}

.selos{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px;padding:0;list-style:none}
.selos li{
  display:inline-flex;align-items:center;gap:7px;
  background:var(--branco);border:1px solid var(--borda);
  padding:7px 14px;border-radius:999px;font-size:.87rem;font-weight:500;color:var(--petroleo);
}
.selos li::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--verde)}

/* ---------- grades e cartões ---------- */
.grade{display:grid;gap:22px}
.grade--2{grid-template-columns:1fr}
.grade--3{grid-template-columns:1fr}
.grade--4{grid-template-columns:1fr}

.cartao{
  background:var(--branco);border:1px solid var(--borda);border-radius:var(--raio-g);
  padding:28px;box-shadow:var(--sombra);height:100%;
  transition:transform .18s ease,box-shadow .18s ease;
}
.cartao:hover{transform:translateY(-3px);box-shadow:var(--sombra-m)}
.cartao h3{margin-bottom:.45em}
.cartao p:last-child{margin-bottom:0}
.cartao__icone{
  width:50px;height:50px;border-radius:14px;margin-bottom:16px;
  display:grid;place-items:center;background:var(--creme-2);
  color:var(--dourado);line-height:1;
}
.cartao__icone svg{display:block;width:26px;height:26px}
/* passos numerados: número desenhado, não emoji — renderiza igual em todo sistema */
.cartao__icone--num{
  font-family:var(--fonte-titulo);font-size:1.32rem;font-weight:600;
  color:var(--dourado);background:var(--creme-2);
}
.secao--petroleo .cartao__icone,
.secao--verde .cartao__icone{color:var(--laranja)}
/* ícone pequeno dentro de texto corrido */
.preco__seguro .ico{display:inline-block;vertical-align:-3px;margin-right:5px}
.cartao--link{display:block;color:inherit}
.cartao--link:hover{text-decoration:none}
.cartao__mais{
  display:inline-block;margin-top:12px;font-weight:600;font-size:.92rem;color:var(--terracota);
}

.secao--petroleo .cartao{background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.14);box-shadow:none}
.secao--petroleo .cartao__icone{background:rgba(255,255,255,.1)}

/* ---------- lista de checagem ---------- */
.checagem{list-style:none;margin:0 0 1.2em;padding:0;display:grid;gap:12px}
.checagem li{position:relative;padding-left:32px}
.checagem li::before{
  content:"";position:absolute;left:0;top:.42em;width:19px;height:19px;border-radius:50%;
  background:var(--verde);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9.6 16.2 5 11.6l1.4-1.4 3.2 3.2 8-8L19 6.8z' fill='%23000'/%3E%3C/svg%3E") no-repeat center/contain;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9.6 16.2 5 11.6l1.4-1.4 3.2 3.2 8-8L19 6.8z' fill='%23000'/%3E%3C/svg%3E") no-repeat center/contain;
}
.secao--petroleo .checagem li::before{background:var(--laranja)}

/* ---------- bloco duplo texto + imagem ---------- */
.duplo{display:grid;gap:40px;align-items:center}
.duplo img{border-radius:var(--raio-g);box-shadow:var(--sombra-m)}

/* ---------- comparação (janela x audiodescrição) ---------- */
.comparar{display:grid;gap:22px}
.comparar__col{
  background:var(--branco);border:1px solid var(--borda);border-radius:var(--raio-g);
  padding:30px;box-shadow:var(--sombra);
}
.comparar__col--a{border-top:5px solid var(--dourado)}
.comparar__col--b{border-top:5px solid var(--verde)}
.comparar__para{
  display:inline-block;font-size:.8rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
  padding:5px 12px;border-radius:999px;margin-bottom:14px;
}
.comparar__col--a .comparar__para{background:rgba(197,135,31,.14);color:var(--dourado-esc)}
.comparar__col--b .comparar__para{background:rgba(110,126,99,.16);color:#4E5B45}

/* ---------- depoimentos ---------- */
.depoimento{
  background:var(--branco);border:1px solid var(--borda);border-radius:var(--raio-g);
  padding:30px;box-shadow:var(--sombra);display:flex;flex-direction:column;height:100%;
}
.depoimento__aspas{
  width:38px;height:28px;background:var(--dourado);margin-bottom:16px;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 36'%3E%3Cpath d='M0 36V19C0 8.5 6.5 1.5 17 0l2 5c-6 1.6-9 5-9 10h9v21H0zm29 0V19C29 8.5 35.5 1.5 46 0l2 5c-6 1.6-9 5-9 10h9v21H29z' fill='%23000'/%3E%3C/svg%3E") no-repeat center/contain;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 36'%3E%3Cpath d='M0 36V19C0 8.5 6.5 1.5 17 0l2 5c-6 1.6-9 5-9 10h9v21H0zm29 0V19C29 8.5 35.5 1.5 46 0l2 5c-6 1.6-9 5-9 10h9v21H29z' fill='%23000'/%3E%3C/svg%3E") no-repeat center/contain;
}
.depoimento p{font-size:1.04rem;color:var(--texto)}
.depoimento__rodape{margin-top:auto;padding-top:18px;display:flex;align-items:center;gap:13px}
.depoimento__marca{height:34px;width:auto;max-width:96px;object-fit:contain}
.depoimento__quem strong{display:block;font-family:var(--fonte-titulo);color:var(--petroleo-esc);font-size:.97rem}
.depoimento__quem span{font-size:.84rem;color:var(--texto-suave)}

/* ---------- carrossel de logos (esteira infinita) ---------- */
.marcas{
  position:relative;margin-top:38px;overflow:hidden;
  /* esfumaça as pontas para o logo não "nascer" cortado */
  -webkit-mask:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);
  mask:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);
}
.marcas__esteira{
  display:flex;width:max-content;
  animation:desliza var(--marcas-duracao,42s) linear infinite;
}
.marcas:hover .marcas__esteira,
.marcas:focus-within .marcas__esteira{animation-play-state:paused}

.marcas__item{
  flex:0 0 auto;
  display:grid;place-items:center;
  padding:0 clamp(22px,3.4vw,44px);
}
.marcas__item img{
  height:clamp(38px,4.6vw,56px);width:auto;
  opacity:.88;transition:opacity .2s ease,transform .2s ease;
}
.marcas__item img:hover{opacity:1;transform:scale(1.06)}

@keyframes desliza{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-50%,0,0)}
}

/* sem movimento: vira grade estática, sem perder nada */
@media (prefers-reduced-motion:reduce){
  .marcas{-webkit-mask:none;mask:none;overflow:visible}
  .marcas__esteira{
    animation:none;width:100%;flex-wrap:wrap;justify-content:center;row-gap:26px;
  }
  .marcas__item--clone{display:none}
}

/* ---------- FAQ ---------- */
.faq{display:grid;gap:12px;margin-top:30px}
.faq details{
  background:var(--branco);border:1px solid var(--borda);border-radius:var(--raio);
  padding:18px 22px;box-shadow:var(--sombra);
}
.faq summary{
  cursor:pointer;font-family:var(--fonte-titulo);font-weight:600;color:var(--petroleo-esc);
  font-size:1.03rem;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.5rem;color:var(--dourado);line-height:1;flex:none}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:14px 0 0;color:var(--texto-suave)}

/* ---------- preço ---------- */
.preco{
  background:var(--branco);border:1px solid var(--borda);border-radius:var(--raio-g);
  padding:clamp(28px,4vw,44px);box-shadow:var(--sombra-g);max-width:560px;margin:0 auto;text-align:center;
}
.preco__valor{font-family:var(--fonte-titulo);font-size:clamp(2.4rem,6vw,3.2rem);font-weight:600;color:var(--petroleo-esc);line-height:1.05}
.preco__valor small{display:block;font-size:.95rem;font-weight:500;color:var(--texto-suave);margin-bottom:6px;letter-spacing:.02em}
.preco__avista{color:var(--texto-suave);margin:8px 0 22px}
.preco .checagem{text-align:left;max-width:380px;margin:0 auto 26px}
.preco__seguro{font-size:.86rem;color:var(--texto-suave);margin:16px 0 0}

/* ---------- módulos do curso ---------- */
.modulos{counter-reset:m;display:grid;gap:16px}
.modulo{
  background:var(--branco);border:1px solid var(--borda);border-radius:var(--raio);
  padding:24px 26px 24px 78px;position:relative;box-shadow:var(--sombra);
}
.modulo::before{
  counter-increment:m;content:counter(m,decimal-leading-zero);
  position:absolute;left:24px;top:22px;
  font-family:var(--fonte-titulo);font-size:1.42rem;font-weight:600;color:var(--dourado);
}
.modulo h3{font-size:1.1rem;margin-bottom:.3em}
.modulo p{margin:0;color:var(--texto-suave);font-size:.97rem}

/* ---------- chamada final ---------- */
.chamada{
  background:linear-gradient(135deg,var(--petroleo-esc),#3E4F59);
  color:#fff;border-radius:var(--raio-g);padding:clamp(34px,5vw,60px);text-align:center;
  box-shadow:var(--sombra-g);
}
.chamada h2{color:#fff}
.chamada p{color:#C9D5DC;max-width:60ch;margin-left:auto;margin-right:auto}

/* ---------- formulário ---------- */
.form{
  background:var(--branco);border:1px solid var(--borda);border-radius:var(--raio-g);
  padding:clamp(24px,4vw,40px);box-shadow:var(--sombra-m);
}
.campo{margin-bottom:18px}
.campo label{display:block;font-weight:600;font-size:.92rem;color:var(--petroleo);margin-bottom:7px}
.campo input,.campo select,.campo textarea{
  width:100%;padding:13px 15px;font:inherit;font-size:1rem;color:var(--texto);
  background:var(--creme);border:1px solid var(--borda);border-radius:11px;
}
.campo input:focus,.campo select:focus,.campo textarea:focus{
  outline:none;border-color:var(--dourado);box-shadow:0 0 0 3px rgba(197,135,31,.16);background:#fff;
}
.campo textarea{min-height:120px;resize:vertical}
.form__aviso{font-size:.85rem;color:var(--texto-suave);margin:14px 0 0}

/* ---------- rodapé ---------- */
.rodape{background:var(--petroleo-esc);color:#B9C6CE;padding:64px 0 28px;font-size:.95rem}
.rodape a{color:#D8E1E6}
.rodape a:hover{color:#fff}
.rodape__grade{display:grid;gap:34px}
.rodape__logo img{height:70px;width:auto;margin-bottom:16px}
.rodape h4{color:#fff;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:16px}
.rodape ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.rodape__fim{
  border-top:1px solid rgba(255,255,255,.12);margin-top:44px;padding-top:22px;
  display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;font-size:.85rem;color:#8FA0AA;
}
.redes{display:flex;gap:10px;margin-top:18px}
.redes a{
  width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.1);
  display:grid;place-items:center;font-size:.78rem;font-weight:600;color:#D8E1E6;
}
.redes a:hover{background:var(--dourado);color:#fff;text-decoration:none}

/* ---------- botão flutuante ---------- */
.zap-flutua{
  position:fixed;right:18px;bottom:18px;z-index:70;
  width:58px;height:58px;border-radius:50%;
  background:#25D366;display:grid;place-items:center;
  box-shadow:0 8px 24px rgba(0,0,0,.24);
}
.zap-flutua:hover{transform:scale(1.06)}
.zap-flutua svg{width:31px;height:31px;fill:#fff}

/* ---------- utilidades ---------- */
.pular{
  position:absolute;left:-9999px;top:0;background:var(--dourado);color:#fff;
  padding:12px 20px;z-index:100;border-radius:0 0 10px 0;
}
.pular:focus{left:0}
.visualmente-oculto{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0;
}

/* ==========================================================================
   Responsivo — mobile-first, então aqui só crescemos
   ========================================================================== */
/* 1020px e não 860: com o Blog são 9 itens, e abaixo disso eles não cabem
   numa linha ao lado da logo e do botão sem esmagar alguma coisa. */
@media (max-width:1020px){
  .menu{
    display:none;position:absolute;left:0;right:0;top:100%;
    flex-direction:column;align-items:stretch;gap:2px;
    background:var(--creme);border-bottom:1px solid var(--borda);
    padding:12px 22px 20px;box-shadow:var(--sombra-m);
  }
  .menu.aberto{display:flex}
  .menu a{padding:12px 10px;font-size:1rem}
  .abrir-menu{display:flex}
  .topo__acao .btn{display:none}
  .topo{position:relative}
}

@media (min-width:640px){
  .grade--2,.grade--4{grid-template-columns:repeat(2,1fr)}
  .marcas{grid-template-columns:repeat(3,1fr)}
  .comparar{grid-template-columns:repeat(2,1fr)}
  .acoes .btn{width:auto}
}

@media (min-width:900px){
  /* na seção da colagem a coluna das fotos ganha mais espaço que o texto */
  .secao--verde .heroi__grade{grid-template-columns:.92fr 1.08fr}
  .colagem{--colagem-sangria:52px}

  .grade--3{grid-template-columns:repeat(3,1fr)}
  .grade--4{grid-template-columns:repeat(4,1fr)}
  .marcas{grid-template-columns:repeat(5,1fr)}
  .heroi__grade{grid-template-columns:1.06fr .94fr;gap:56px}
  .duplo{grid-template-columns:1fr 1fr}
  .duplo--invertido .duplo__img{order:-1}
  .rodape__grade{grid-template-columns:1.6fr 1fr 1fr 1.2fr}
}

@media (prefers-reduced-motion:reduce){
  *{animation:none !important;transition:none !important;scroll-behavior:auto !important}
}

@media print{
  .topo,.zap-flutua,.rodape{display:none}
}

/* ==========================================================================
   Colagem 3D — esteiras verticais dentro de um palco em perspectiva
   ========================================================================== */
.colagem{
  position:relative;display:flex;align-items:center;justify-content:center;
  height:30rem;width:100%;overflow:hidden;perspective:300px;
  /* sangra um pouco para a margem da página: o rotateZ alarga a caixa e
     sem essa folga a quarta coluna encosta na borda e fica cortada */
  margin-right:calc(var(--colagem-sangria,0px) * -1);
  width:calc(100% + var(--colagem-sangria,0px));
}
/* O rotateZ deixa a caixa girada mais larga que o conteúdo, então o palco
   precisa de uma folga lateral e de uma escala menor para a 4ª coluna
   não encostar na borda. Ajuste fino: --colagem-escala e --colagem-x. */
.colagem__palco{
  display:flex;flex-direction:row;align-items:center;gap:14px;
  transform:translateX(var(--colagem-x,0px)) translateZ(-70px)
            rotateX(16deg) rotateY(-7deg) rotateZ(13deg)
            scale(var(--colagem-escala,1));
  transform-style:preserve-3d;
}
.colagem{--colagem-gap:14px}
.colagem__coluna{display:flex;flex-direction:column;overflow:hidden;padding:6px 0}
.colagem__trilha{
  display:flex;flex-direction:column;gap:var(--colagem-gap);flex-shrink:0;
  animation:sobe var(--col-duracao,26s) linear infinite;
}
.colagem__coluna--desce .colagem__trilha{animation-direction:reverse}
/* Não pausa no mouse: a colagem roda sempre.
   Só pausa no foco por teclado — senão a foto foge de quem navega com Tab
   e o botão vira impossível de acionar. */
.colagem:focus-within .colagem__trilha{animation-play-state:paused}

.colagem__foto{
  position:relative;flex:0 0 auto;display:block;padding:0;border:0;background:none;
  width:clamp(94px,10.8vw,118px);aspect-ratio:3/4;
  border-radius:16px;overflow:hidden;cursor:zoom-in;
  box-shadow:0 10px 28px rgba(41,52,59,.22);
  transition:transform .3s ease;
}
.colagem__foto img{width:100%;height:100%;object-fit:cover;display:block}
.colagem__foto:hover{transform:scale(1.04)}
.colagem__foto:focus-visible{outline:3px solid var(--laranja);outline-offset:3px}

/* -50% cairia meio gap adiantado, porque a trilha tem 2N-1 intervalos
   para 2N fotos. O meio gap a mais fecha o ciclo exatamente no início
   da segunda cópia — é o que elimina o solavanco no reinício. */
@keyframes sobe{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(0,calc(-50% - var(--colagem-gap,14px) / 2),0)}
}

/* seção que hospeda a colagem */
.secao--verde{background:var(--verde);color:#fff}
.secao--verde h2,.secao--verde h3{color:#fff}
.secao--verde p{color:rgba(255,255,255,.92)}
.secao--verde .chapeu{color:#FBE3CC}
.secao--verde .chapeu::before{background:#FBE3CC}
.secao--verde blockquote{color:#fff;border-left-color:var(--laranja) !important}

/* ---------- lupa (lightbox) ---------- */
.lupa{
  position:fixed;inset:0;z-index:200;display:none;
  align-items:center;justify-content:center;padding:26px;
  background:rgba(25,32,36,.88);
}
.lupa[open],.lupa.ativa{display:flex}
.lupa img{
  max-width:min(92vw,760px);max-height:88vh;width:auto;height:auto;
  border-radius:18px;box-shadow:0 30px 70px rgba(0,0,0,.5);
}
.lupa__fechar{
  position:absolute;top:18px;right:18px;width:46px;height:46px;border-radius:50%;
  border:0;background:rgba(255,255,255,.14);color:#fff;font-size:1.5rem;line-height:1;
  cursor:pointer;display:grid;place-items:center;
}
.lupa__fechar:hover{background:rgba(255,255,255,.26)}

@media (max-width:860px){
  .colagem{height:24rem;--colagem-escala:.9;--colagem-sangria:24px}
}

@media (prefers-reduced-motion:reduce){
  .colagem{height:auto;perspective:none;overflow:visible}
  .colagem__palco{transform:none;flex-wrap:wrap;justify-content:center}
  .colagem__coluna{flex-direction:row;flex-wrap:wrap;justify-content:center}
  .colagem__trilha{animation:none;flex-direction:row;flex-wrap:wrap;justify-content:center}
  /* cada trilha traz o conteúdo duplicado; sem animação, a segunda metade sai */
  .colagem__trilha .colagem__foto:nth-child(n+4){display:none}
}

/* ==========================================================================
   Carrossel simples — um slide por vez, setas e bolinhas
   ========================================================================== */
.carrossel{position:relative;max-width:560px;margin:40px auto 0}
.carrossel__janela{overflow:hidden;border-radius:var(--raio-g)}
.carrossel__trilha{
  display:flex;transition:transform .5s cubic-bezier(.4,0,.2,1);
}
.carrossel__slide{min-width:100%;box-sizing:border-box}
.carrossel__slide img{
  width:100%;height:auto;display:block;border-radius:var(--raio-g);
  box-shadow:var(--sombra-m);
}
.carrossel__legenda{
  margin:14px 4px 0;font-size:.92rem;color:var(--texto-suave);text-align:center;
}
.secao--petroleo .carrossel__legenda{color:#B9C6CE}

.carrossel__seta{
  position:absolute;top:50%;transform:translateY(-50%);z-index:2;
  width:46px;height:46px;border-radius:50%;border:0;cursor:pointer;
  background:rgba(255,255,255,.94);color:var(--petroleo-esc);
  display:grid;place-items:center;box-shadow:0 4px 16px rgba(0,0,0,.22);
  transition:background-color .2s,transform .2s;
}
.carrossel__seta:hover{background:#fff;transform:translateY(-50%) scale(1.06)}
.carrossel__seta:focus-visible{outline:3px solid var(--dourado);outline-offset:3px}
.carrossel__seta--ant{left:-14px}
.carrossel__seta--prox{right:-14px}
.carrossel__seta svg{width:20px;height:20px}

.carrossel__bolinhas{
  display:flex;gap:9px;justify-content:center;margin-top:18px;padding:0;list-style:none;
}
.carrossel__bolinhas button{
  width:9px;height:9px;padding:0;border:0;border-radius:50%;cursor:pointer;
  background:rgba(60,74,83,.26);transition:background-color .2s,width .2s;
}
.carrossel__bolinhas button[aria-current="true"]{background:var(--dourado);width:26px;border-radius:5px}
.secao--petroleo .carrossel__bolinhas button{background:rgba(255,255,255,.3)}
.secao--petroleo .carrossel__bolinhas button[aria-current="true"]{background:var(--laranja)}

@media (max-width:700px){
  .carrossel__seta--ant{left:6px}
  .carrossel__seta--prox{right:6px}
}
@media (prefers-reduced-motion:reduce){
  .carrossel__trilha{transition:none}
}

/* ---------- contato: as duas colunas terminam juntas ---------- */
.grade--contato{align-items:stretch}
.grade--contato > div{display:flex;flex-direction:column}
/* o cartão de baixo da coluna direita estica para fechar a altura */
.grade--contato > div > .cartao:last-child{flex:1}
/* o formulário vira coluna e o campo de mensagem absorve a sobra,
   em vez de deixar espaço vazio no fim do cartão */
.grade--contato .form{display:flex;flex-direction:column;flex:1}
.campo--cresce{display:flex;flex-direction:column;flex:1;min-height:120px}
.campo--cresce textarea{flex:1;min-height:120px}

@media (max-width:639px){
  .grade--contato > div > .cartao:last-child,
  .campo--cresce{flex:initial}
  .campo--cresce textarea{min-height:120px}
}

/* ---------- preço compacto, para oferta secundária ---------- */
.preco-linha{
  display:flex;align-items:baseline;flex-wrap:wrap;gap:10px;
  margin:22px 0 4px;
}
.preco-linha__valor{
  font-family:var(--fonte-titulo);font-size:2.1rem;font-weight:600;
  color:var(--petroleo-esc);line-height:1;
}
.preco-linha__parcela{font-size:.98rem;color:var(--texto-suave)}

/* ==========================================================================
   Avaliações do Google — selo, cartões e ações
   ========================================================================== */
.selo-google{
  display:inline-flex;align-items:center;gap:12px;
  background:var(--branco);border:1px solid var(--borda);border-radius:999px;
  padding:11px 22px;box-shadow:var(--sombra);
}
.selo-google__g{height:20px;width:auto;flex:none}
.selo-google__estrelas{color:#F5A623;font-size:1.05rem;letter-spacing:1px;line-height:1}
.selo-google__nota{font-family:var(--fonte-titulo);font-weight:600;font-size:1.12rem;color:var(--petroleo-esc)}
.selo-google__qtd{font-size:.92rem;color:var(--texto-suave)}
.secao--petroleo .selo-google{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.16)}
.secao--petroleo .selo-google__nota{color:#fff}
.secao--petroleo .selo-google__qtd{color:#C6D2D9}

.avaliacao{
  background:var(--branco);border:1px solid var(--borda);border-radius:var(--raio-g);
  padding:20px 22px;box-shadow:var(--sombra);height:100%;
  display:flex;flex-direction:column;text-align:left;
}
.avaliacao__topo{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.avaliacao__foto{
  /* min e max juntos: nenhuma regra de img genérica consegue esticar */
  width:40px;min-width:40px;max-width:40px;
  height:40px;min-height:40px;max-height:40px;
  border-radius:50%;object-fit:cover;flex:0 0 40px;
  background:var(--creme-2);display:block;
}
.avaliacao__quem{flex:1;min-width:0}
.avaliacao__quem strong{
  display:block;font-family:var(--fonte-titulo);font-size:.93rem;color:var(--petroleo-esc);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.avaliacao__quando{font-size:.83rem;color:var(--texto-suave)}
.avaliacao__g{height:17px;width:auto;flex:none;opacity:.9}
.avaliacao__estrelas{color:#F5A623;font-size:.92rem;letter-spacing:1.4px;margin-bottom:9px}
.avaliacao p{
  font-size:.92rem;line-height:1.62;color:var(--texto);margin:0;
  /* trava em 7 linhas: mesmo que uma avaliação nova venha enorme,
     os cartões continuam com a mesma altura */
  display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden;
}

/* o carrossel de avaliações é mais largo que o de fotos */
.carrossel--largo{max-width:var(--largura)}
.carrossel--largo .carrossel__slide{display:flex}
.carrossel--largo .carrossel__slide > .grade{flex:1;align-items:stretch}
.carrossel--largo .carrossel__janela{border-radius:var(--raio-g);padding:4px}
.carrossel--largo .carrossel__seta--ant{left:-18px}
.carrossel--largo .carrossel__seta--prox{right:-18px}
@media (max-width:1240px){
  .carrossel--largo .carrossel__seta--ant{left:4px}
  .carrossel--largo .carrossel__seta--prox{right:4px}
}

/* ---------- blog ---------- */
.post{padding:clamp(40px,6vw,76px) 0 clamp(20px,3vw,36px);background:var(--creme-2)}
.post__voltar{
  /* bloco, senão o chapéu da categoria sobe para a mesma linha e o traço
     dourado dele encosta no link */
  display:block;margin-bottom:24px;font-weight:600;font-size:.92rem;
  color:var(--terracota);
}
.post h1{margin:.25em 0 .5em;font-size:clamp(1.8rem,4.2vw,2.75rem);line-height:1.18}
.post__data{
  margin:0 0 1.1em;font-size:.9rem;color:var(--petroleo);opacity:.72;
}
.post__resumo{
  font-size:1.09rem;line-height:1.66;color:var(--petroleo);
  padding:18px 22px;border-left:3px solid var(--dourado);
  background:var(--branco);border-radius:0 var(--raio-g) var(--raio-g) 0;
}
.post__corpo{margin-top:34px;font-size:1.03rem;line-height:1.78}
.post__corpo h2{
  margin:1.7em 0 .55em;font-size:clamp(1.32rem,2.6vw,1.72rem);color:var(--petroleo-esc);
}
.post__corpo h3{margin:1.4em 0 .45em}
.post__corpo h2:first-child,.post__corpo h3:first-child{margin-top:0}
.post__lista{list-style:none;margin:0 0 1.3em;padding:0;display:grid;gap:11px}
.post__lista li{position:relative;padding-left:24px}
.post__lista li::before{
  content:"";position:absolute;left:2px;top:.62em;width:7px;height:7px;
  border-radius:50%;background:var(--terracota);
}

/* cartões da listagem */
.post-cartao{display:flex;flex-direction:column}
.post-cartao__meta{
  display:block;margin-bottom:10px;font-size:.8rem;font-weight:600;
  letter-spacing:.04em;text-transform:uppercase;color:var(--dourado);
}
.post-cartao h3{font-size:1.1rem;line-height:1.36}
.post-cartao p{
  font-size:.93rem;line-height:1.6;opacity:.86;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.post-cartao .cartao__mais{margin-top:auto;padding-top:12px}
/* listas numeradas dos artigos — a .post__lista zera o marcador, aqui ele volta */
.post__lista--num{counter-reset:item}
.post__lista--num li{padding-left:34px;counter-increment:item}
.post__lista--num li::before{
  content:counter(item);top:0;left:0;width:22px;height:22px;border-radius:50%;
  background:var(--creme-2);color:var(--dourado);
  font-family:var(--fonte-titulo);font-size:.78rem;font-weight:600;
  display:grid;place-items:center;
}
.post__lista--num li br{display:block;content:"";margin-bottom:2px}
.post__lista--num li strong{display:block}

/* ---------- formulário: armadilha de robô e aviso de erro ---------- */
/* fora da tela em vez de display:none — alguns robôs pulam o que está oculto */
.mel{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form__erro{
  margin:0 0 14px;padding:11px 14px;border-radius:var(--raio-g);
  background:#FBEAE5;border:1px solid #E3B4A6;color:#8C3B22;
  font-size:.92rem;font-weight:500;
}

/* A colagem sangra para fora da coluna de propósito (a 4ª fileira ficava
   cortada sem isso). Perto de 900px essa sangria passava da viewport e
   criava barra de rolagem horizontal na página inteira. `clip` corta o
   excesso sem transformar a seção em área rolável — diferente de `hidden`,
   não quebra `position:sticky` de elementos ancestrais. */
.secao:has(.colagem){overflow-x:clip}
@supports not (selector(:has(*))){
  .secao--verde{overflow-x:clip}
}

/* Faixa apertada: logo acima do ponto em que o menu deixa de ser sanduíche,
   os 9 itens + logo + botão cabem, mas sem folga. Aqui tudo encolhe um
   pouco em vez de empurrar a barra para fora da tela. */
@media (min-width:1021px) and (max-width:1180px){
  .menu a{padding:9px 5px;font-size:.88rem}
  .topo__acao .btn--peq{padding:9px 13px;font-size:.85rem}
  .topo__logo img{height:46px}
}
