/* =====================================================================
   FARMAGALB — LANDING PAGE DE CAMPANHA
   Sistema visual: verde institucional + acentos dourados
   ===================================================================== */

:root{
  /* Identidade */
  --verde:        #007E48;
  --verde-luz:    #0EB06A;
  --verde-fundo:  #04331F;
  --verde-noite:  #032418;
  --cinza:        #EEEEEE;

  --ouro-esc:     #A57314;
  --ouro:         #D1970F;
  --ouro-claro:   #EEDD92;

  /* Neutros de leitura */
  --tinta:        #10201A;
  --tinta-media:  #3E514A;
  --tinta-suave:  #6B7C74;
  --branco:       #FFFFFF;
  --linha:        rgba(16,32,26,.10);
  --linha-forte:  rgba(16,32,26,.16);

  /* Tipografia */
  --fonte-titulo: "Philosopher", Georgia, "Times New Roman", serif;
  --fonte-texto:  "Manrope", "DM Sans", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;

  /* Estrutura */
  --container: 1280px;
  --gutter: 40px;
  --raio-cartao: 24px;
  --raio-grande: 28px;
  --raio-btn: 999px;

  --secao-y: 128px;

  /* Sombras (discretas) */
  --sombra-1: 0 1px 2px rgba(16,32,26,.04), 0 8px 24px rgba(16,32,26,.05);
  --sombra-2: 0 2px 4px rgba(16,32,26,.05), 0 18px 44px rgba(16,32,26,.08);
  --sombra-3: 0 4px 8px rgba(16,32,26,.06), 0 32px 72px rgba(16,32,26,.12);

  --transicao: .45s cubic-bezier(.22,.61,.36,1);
}

/* ---------------------------------------------------------------- reset */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; overflow-x:clip; }
body{
  margin:0;
  font-family:var(--fonte-texto);
  font-size:17px;
  line-height:1.7;
  font-weight:400;
  color:var(--tinta);
  background:var(--branco);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
img,video,svg,iframe{ display:block; max-width:100%; }
picture{ display:contents; }
img,video{ height:auto; }
figure{ margin:0; }
ul,ol{ margin:0; padding:0; list-style:none; }
h1,h2,h3{ margin:0; font-family:var(--fonte-titulo); font-weight:700; line-height:1.14; letter-spacing:-.01em; }
p{ margin:0 0 1.05em; }
p:last-child{ margin-bottom:0; }
a{ color:inherit; }
button{ font:inherit; color:inherit; background:none; border:0; cursor:pointer; }

:focus-visible{
  outline:2.5px solid var(--verde-luz);
  outline-offset:3px;
  border-radius:6px;
}

/* ------------------------------------------------------------ estrutura */
.container{
  width:100%;
  max-width:var(--container);
  margin-inline:auto;
  padding-inline:var(--gutter);
}
/* overflow-x:clip (e não hidden) para não quebrar o position:sticky interno */
.secao,.porque,.fechamento,.confianca{ overflow-x:clip; }
.secao{ position:relative; padding-block:var(--secao-y); }
.centro{ text-align:center; margin-top:56px; }

/* ---------------------------------------------------------- tipografia  */
.rotulo{
  display:inline-flex; align-items:center; gap:9px;
  font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
  color:var(--verde); margin-bottom:20px;
}
.rotulo::before{
  content:""; width:7px; height:7px; border-radius:50%;
  background:var(--ouro); box-shadow:0 0 0 4px rgba(209,151,15,.16);
}
.rotulo--ouro{ color:var(--ouro-claro); }
.rotulo--ouro::before{ background:var(--ouro-claro); box-shadow:0 0 0 4px rgba(238,221,146,.18); }

.titulo-secao{
  font-size:clamp(30px, 4vw, 50px);
  color:var(--tinta);
  margin-bottom:22px;
  text-wrap:balance;
}
.titulo-secao em{ font-style:normal; color:var(--verde); }
.titulo-secao--claro{ color:var(--branco); }
.titulo-secao--claro em{ color:var(--ouro-claro); }
.titulo-secao--centro{ text-align:center; }

.paragrafo{ font-size:clamp(16px,1.2vw,18px); color:var(--tinta-media); max-width:56ch; }
.paragrafo--claro{ color:rgba(255,255,255,.86); }

.cabeca-secao{ max-width:820px; margin:0 auto 64px; text-align:center; }
.cabeca-secao .rotulo{ justify-content:center; }
.cabeca-secao--claro{ margin-bottom:56px; }

/* -------------------------------------------------------------- botões  */
.btn{
  --btn-bg:var(--verde-luz); --btn-cor:#fff;
  display:inline-flex; align-items:center; justify-content:center; gap:11px;
  padding:16px 30px;
  min-height:54px;
  border-radius:var(--raio-btn);
  background:var(--btn-bg); color:var(--btn-cor);
  font-family:var(--fonte-texto);
  font-size:14px; font-weight:700; letter-spacing:.055em; text-transform:uppercase;
  text-decoration:none; white-space:nowrap;
  transition:transform .3s cubic-bezier(.22,.61,.36,1), box-shadow .3s ease, background-color .3s ease;
  will-change:transform;
}
.btn--primario{
  background:linear-gradient(135deg, var(--verde-luz) 0%, var(--verde) 100%);
  box-shadow:0 6px 18px rgba(14,176,106,.26), inset 0 1px 0 rgba(255,255,255,.18);
}
.btn--primario:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 30px rgba(14,176,106,.34), inset 0 1px 0 rgba(255,255,255,.22);
}
.btn--claro{ background:var(--branco); color:var(--verde); box-shadow:0 8px 26px rgba(0,0,0,.20); }
.btn--claro:hover{ transform:translateY(-2px); box-shadow:0 14px 36px rgba(0,0,0,.26); }
.btn--contorno{
  background:transparent; color:var(--verde);
  border:1.5px solid rgba(0,126,72,.32);
}
.btn--contorno:hover{ background:rgba(0,126,72,.055); border-color:var(--verde); transform:translateY(-2px); }
.btn--grande{ padding:19px 38px; min-height:60px; font-size:14.5px; }
.btn--compacto{ padding:12px 22px; min-height:44px; font-size:12.5px; }
.btn .ico-seta{ width:18px; height:18px; transition:transform .3s ease; }
.btn:hover .ico-seta{ transform:translateX(4px); }
.btn .ico-zap{ width:18px; height:18px; fill:currentColor; }

/* ---------------------------------------------- elementos decorativos   */
.deco{ position:absolute; inset:0; pointer-events:none; overflow:hidden; z-index:1; }
.deco *{ pointer-events:none; }

/* halos desfocados: profundidade de campo, nunca "bolas" desenhadas */
.bolha{
  position:absolute; border-radius:50%;
  background:
    radial-gradient(circle at 38% 32%, rgba(255,255,255,.30) 0%, rgba(255,255,255,.06) 38%, rgba(255,255,255,0) 68%),
    radial-gradient(circle at 62% 68%, rgba(14,176,106,.18) 0%, rgba(14,176,106,0) 70%);
  filter:blur(18px);
  will-change:transform;
}
.bolha--vidro{
  background:
    radial-gradient(circle at 36% 30%, rgba(255,255,255,.22) 0%, rgba(255,255,255,.05) 40%, rgba(255,255,255,0) 70%),
    radial-gradient(circle at 66% 72%, rgba(238,221,146,.16) 0%, rgba(238,221,146,0) 72%);
  filter:blur(22px);
}
.bolha--ouro{
  background:
    radial-gradient(circle at 32% 28%, rgba(255,255,255,.9) 0%, rgba(255,255,255,.22) 24%, rgba(255,255,255,0) 48%),
    radial-gradient(circle at 68% 72%, rgba(209,151,15,.32) 0%, rgba(209,151,15,0) 60%);
}

.molecula{
  position:absolute;
  will-change:transform;
  filter:drop-shadow(0 24px 44px rgba(4,51,31,.22));
  animation:flutuar 14s ease-in-out infinite;
}
@keyframes flutuar{
  0%,100%{ translate:0 0; }
  50%{ translate:0 -14px; }
}

/* posições específicas ------------------------------------------------ */
.bolha--a{ width:170px; height:170px; right:11%; top:14%; }
.bolha--b{ width:92px;  height:92px;  right:33%; bottom:20%; filter:blur(.4px); opacity:.8; }

.bolha--c{ width:300px; height:300px; left:-140px; top:18%; opacity:.5; filter:blur(2px); }
.molecula--frete-solo{ width:96px; right:-26px; top:4%; opacity:.95; animation-duration:11s; animation-delay:-2s;
  filter:drop-shadow(0 12px 24px rgba(4,51,31,.20)); z-index:3; }
.molecula--frete{ width:190px; left:-70px; bottom:4%; opacity:.85; animation-duration:15s; animation-delay:-3s;
  filter:drop-shadow(0 20px 36px rgba(4,51,31,.16)); }

.bolha--d{ width:120px; height:120px; right:-34px; top:-34px; z-index:3; }
.molecula--processo{ width:165px; left:-64px; bottom:-40px; z-index:3; opacity:.9; animation-duration:13s; animation-delay:-6s;
  filter:drop-shadow(0 18px 34px rgba(4,51,31,.18)); }

.molecula--catalogo-2{ width:210px; left:-86px; bottom:16%; opacity:.34; animation-duration:17s; animation-delay:-7s;
  filter:drop-shadow(0 18px 34px rgba(4,51,31,.10)); }
.molecula--catalogo-3{ width:88px; left:16%; top:4%; opacity:.42; animation-duration:12s; animation-delay:-3s;
  filter:drop-shadow(0 12px 22px rgba(4,51,31,.10)); }
.molecula--catalogo{ width:360px; right:-120px; top:6%; opacity:.42; animation-duration:19s;
  filter:drop-shadow(0 20px 40px rgba(4,51,31,.10)); }
.bolha--e{ width:220px; height:220px; left:-110px; bottom:14%; opacity:.4; filter:blur(1.5px); }

.bolha--f{ width:210px; height:210px; right:7%; top:12%; opacity:.5; }
.bolha--g{ width:126px; height:126px; left:4%; bottom:16%; opacity:.45; }

.molecula--provas{ width:190px; right:-70px; top:12%; opacity:.34; animation-duration:18s; animation-delay:-5s;
  filter:drop-shadow(0 18px 34px rgba(4,51,31,.12)); }
.mol-art{ filter:drop-shadow(0 16px 32px rgba(4,51,31,.10)); }
.mol-art--1{ width:220px; left:-88px;  top:7%;   opacity:.40; animation-duration:20s; animation-delay:-2s; }
.mol-art--2{ width:150px; right:-52px; top:24%;  opacity:.34; animation-duration:16s; animation-delay:-6s; }
.mol-art--3{ width:74px;  left:8%;     top:41%;  opacity:.46; animation-duration:11s; animation-delay:-4s; }
.mol-art--4{ width:186px; right:-64px; top:58%;  opacity:.32; animation-duration:22s; animation-delay:-9s; }
.mol-art--5{ width:96px;  left:-34px;  top:72%;  opacity:.36; animation-duration:18s; animation-delay:-1s; }
.mol-art--6{ width:128px; right:6%;    bottom:2%; opacity:.28; animation-duration:15s; animation-delay:-11s; }

.bolha--h{ width:260px; height:260px; left:-80px; top:-70px; opacity:.35; }
.bolha--i{ width:150px; height:150px; right:8%; bottom:-40px; opacity:.4; }

.bolha--j{ width:260px; height:260px; right:-120px; top:22%; opacity:.35; filter:blur(2px); }

/* ================================================================ HEADER */
.cabecalho{
  position:fixed; inset:0 0 auto 0; z-index:100;
  padding-block:18px;
  transition:background-color .4s ease, box-shadow .4s ease, padding .4s ease, backdrop-filter .4s ease;
}
.cabecalho__interno{ display:flex; align-items:center; justify-content:space-between; gap:24px; }
.cabecalho.rolado{
  padding-block:11px;
  background:rgba(255,255,255,.86);
  backdrop-filter:blur(16px) saturate(160%);
  -webkit-backdrop-filter:blur(16px) saturate(160%);
  box-shadow:0 1px 0 rgba(16,32,26,.07), 0 8px 30px rgba(16,32,26,.05);
}
.marca{ display:block; line-height:0; }
.marca__img{ height:44px; width:auto; transition:height .4s ease; }
.marca__img--escuro{ display:none; }
.cabecalho.rolado .marca__img--claro{ display:none; }
.cabecalho.rolado .marca__img--escuro{ display:block; height:40px; }

/* ================================================================== HERO */
.hero{
  position:relative;
  min-height:86vh;
  display:flex; align-items:center;
  padding-block:150px 130px;
  overflow:hidden;
  background:
    radial-gradient(120% 90% at 78% 40%, #0d6b46 0%, #075136 45%, #04351f 100%);
  isolation:isolate;
}
.hero__midia{
  position:absolute; inset:0; z-index:-2;
  background:url("../img/hero-poster.jpg") center/cover no-repeat;
}
.hero__video{ width:100%; height:100%; object-fit:cover; }
.hero__veu{
  position:absolute; inset:0;
  background:
    linear-gradient(100deg, rgba(3,36,24,.94) 0%, rgba(4,51,31,.86) 34%, rgba(6,74,47,.52) 62%, rgba(9,94,60,.20) 100%),
    radial-gradient(90% 120% at 0% 50%, rgba(2,26,17,.55) 0%, rgba(2,26,17,0) 60%);
}
.hero__interno{ position:relative; z-index:2; }
.hero__conteudo{ max-width:660px; }

.hero__titulo{
  font-size:clamp(34px, 4.6vw, 64px);
  line-height:1.08;
  color:var(--branco);
  margin-bottom:26px;
  text-wrap:balance;
}
.hero__titulo em{
  font-style:normal;
  color:var(--ouro-claro);
  background:linear-gradient(100deg, var(--ouro-claro) 0%, #fff5cf 50%, var(--ouro) 100%);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.hero__texto{
  font-size:clamp(16.5px, 1.3vw, 19px);
  color:rgba(255,255,255,.86);
  max-width:52ch;
  margin-bottom:40px;
}

/* =================================================== BARRA DE CONFIANÇA */
.confianca{ position:relative; z-index:5; margin-top:-58px; }
.confianca__barra{
  display:flex; align-items:center; justify-content:space-between; gap:8px;
  background:var(--branco);
  border:1px solid var(--linha);
  border-radius:var(--raio-grande);
  padding:26px 38px;
  box-shadow:var(--sombra-3);
}
.confianca__item{
  display:flex; align-items:center; gap:12px;
  font-size:14.5px; font-weight:600; color:var(--tinta);
  line-height:1.35;
}
.confianca__ico{ width:26px; height:26px; flex:none; color:var(--verde); }
.confianca__sep{ color:var(--ouro); font-size:22px; line-height:1; opacity:.6; }

/* ============================================================== 3. FRETE */
.frete{ background:linear-gradient(180deg, #fff 0%, #fafcfb 100%); }
.frete__grade{
  position:relative; z-index:2;
  display:grid; grid-template-columns:1fr 1fr; gap:88px; align-items:center;
}
.frete__texto .btn{ margin-top:36px; }

.frete__visual{ position:relative; z-index:2; }
.moldura{
  position:relative;
  border-radius:var(--raio-grande);
  overflow:hidden;
  background:linear-gradient(150deg, #e9f3ee 0%, #dcebe3 48%, #cfe3d8 100%);
  box-shadow:var(--sombra-3);
}
.moldura::after{
  content:""; position:absolute; inset:0; border-radius:inherit;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.4);
  pointer-events:none;
}
.moldura img{ width:100%; height:100%; object-fit:cover; }
.moldura--alta{ aspect-ratio:5/6; }
.moldura--video{
  aspect-ratio:4/5;
  background:url("../img/processo-poster.jpg") center/cover no-repeat;
}

/* placeholder visual enquanto a foto real não existe */
.moldura.sem-imagem::before,
.cartao__figura.sem-imagem::before,
.artigo__figura.sem-imagem::before,
.porque__fundo.sem-imagem::before{
  content:"";
  position:absolute; inset:0;
  background-image:
    radial-gradient(circle at 26% 24%, rgba(255,255,255,.85) 0%, rgba(255,255,255,0) 34%),
    radial-gradient(circle at 74% 68%, rgba(14,176,106,.24) 0%, rgba(14,176,106,0) 46%),
    radial-gradient(circle at 52% 88%, rgba(209,151,15,.16) 0%, rgba(209,151,15,0) 40%),
    url("../img/molecula.svg");
  background-size:auto, auto, auto, 58%;
  background-position:center, center, center, center;
  background-repeat:no-repeat;
  opacity:.9;
}

}

/* ==================================================== 4. COMO FUNCIONA  */
.processo{ background:var(--branco); }
.processo__grade{ display:grid; grid-template-columns:47fr 53fr; gap:72px; align-items:start; }
.processo__coluna{ display:flex; flex-direction:column; gap:40px; }
.processo__midia{ position:relative; }
.processo__passos{ padding-top:6px; }

.linha-tempo{ margin:0 0 40px; }

.etapa{
  position:relative;
  display:grid;
  grid-template-columns:62px 1fr;
  column-gap:22px;
  padding-bottom:34px;
}
.etapa:last-child{ padding-bottom:0; }

/* traço vertical ligando as etapas */
.etapa::before{
  content:"";
  position:absolute; left:19px; top:46px; bottom:4px; width:1.5px;
  background:rgba(16,32,26,.12);
  transition:background-color .6s ease;
}
.etapa:last-child::before{ display:none; }
.etapa.ativa::before{ background:linear-gradient(180deg, rgba(209,151,15,.55), rgba(209,151,15,.12)); }

.etapa__num{
  grid-column:1;
  align-self:start;
  font-family:var(--fonte-titulo);
  font-size:34px; font-weight:700; line-height:1.05;
  letter-spacing:-.02em;
  color:rgba(16,32,26,.18);
  transition:color .55s ease;
}
.etapa.ativa .etapa__num{ color:var(--ouro); }

.etapa__corpo{ grid-column:2; padding-top:3px; }
.etapa__titulo{ font-size:clamp(19px,1.5vw,23px); margin-bottom:8px; color:var(--tinta); }
.etapa__corpo p{ color:var(--tinta-media); font-size:16px; max-width:48ch; }

/* a moldura da seção agora é foto vertical */
.processo__midia .moldura{ aspect-ratio:4/3; }

/* ============================================== 5. O QUE MANIPULAMOS    */
.catalogo{ position:relative; background:linear-gradient(180deg, #fafcfb 0%, var(--cinza) 100%); overflow:hidden; }
.catalogo .container{ position:relative; z-index:2; }
.cartoes{ display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }
.cartao{
  background:var(--branco);
  border:1px solid var(--linha);
  border-radius:var(--raio-cartao);
  overflow:hidden;
  box-shadow:var(--sombra-1);
  transition:transform .45s cubic-bezier(.22,.61,.36,1), box-shadow .45s ease, border-color .45s ease;
}
.cartao:hover{ transform:translateY(-6px); box-shadow:var(--sombra-3); border-color:rgba(0,126,72,.18); }
.cartao__figura{
  position:relative; aspect-ratio:4/3; overflow:hidden;
  background:linear-gradient(150deg,#e9f3ee,#d4e6dc);
}
.cartao__figura img{ width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.22,.61,.36,1); }
.cartao:hover .cartao__figura img{ transform:scale(1.045); }
.cartao__corpo{ padding:32px 30px 36px; }
.cartao__titulo{ font-size:clamp(20px,1.5vw,24px); margin-bottom:12px; }
.cartao__corpo p{ color:var(--tinta-media); font-size:16px; }

/* ============================================ 6. POR QUE A FARMAGALB    */
.porque{
  position:relative; overflow:hidden;
  padding-block:clamp(96px,10vw,150px);
  background:var(--verde-fundo);
  isolation:isolate;
}
.porque__fundo{ position:absolute; inset:0; z-index:-1; }
.porque__fundo img{ width:100%; height:100%; object-fit:cover; }
.porque__veu{
  position:absolute; inset:0;
  background:
    linear-gradient(180deg, rgba(3,36,24,.72) 0%, rgba(4,51,31,.52) 46%, rgba(3,36,24,.76) 100%),
    radial-gradient(64% 72% at 50% 46%, rgba(2,26,17,.58) 0%, rgba(2,26,17,.12) 66%, rgba(2,26,17,0) 84%);
}
.porque__fundo img{ filter:saturate(.92); }
.porque .titulo-secao--claro{ text-shadow:0 2px 20px rgba(2,26,17,.6); }
.porque__interno{ position:relative; z-index:2; }

.diferenciais{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.diferencial{
  display:flex; gap:18px; align-items:flex-start;
  padding:30px 28px;
  border-radius:var(--raio-cartao);
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  transition:background-color .4s ease, border-color .4s ease, transform .4s ease;
}
.diferencial:hover{ background:rgba(255,255,255,.11); border-color:rgba(238,221,146,.35); transform:translateY(-4px); }
.diferencial__ico{ width:30px; height:30px; flex:none; color:var(--ouro-claro); margin-top:2px; }
.diferencial p{ color:rgba(255,255,255,.80); font-size:15.5px; line-height:1.62; }
.diferencial strong{
  font-family:var(--fonte-titulo); font-size:18.5px; font-weight:700;
  color:var(--branco); letter-spacing:.005em;
}

/* =========================================================== 7. PROVAS  */
.provas{ background:var(--branco); }
.avaliacoes__palco{ position:relative; }

.avaliacoes{
  display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 52px) / 3);
  gap:26px;
  overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth;
  padding:6px 4px 18px;
  scrollbar-width:none;
}
.avaliacoes::-webkit-scrollbar{ display:none; }

.avaliacao{
  position:relative; scroll-snap-align:start;
  padding:34px 30px 30px;
  border-radius:var(--raio-cartao);
  background:linear-gradient(180deg,#fbfdfc 0%,#f4f8f6 100%);
  border:1px solid var(--linha);
  box-shadow:var(--sombra-1);
  display:flex; flex-direction:column;
  transition:transform .4s cubic-bezier(.22,.61,.36,1), box-shadow .4s ease, border-color .4s ease;
}
.avaliacao:hover{ transform:translateY(-4px); box-shadow:var(--sombra-2); border-color:rgba(0,126,72,.16); }

.avaliacao__google{ position:absolute; top:26px; right:28px; width:21px; height:21px; }
.avaliacao__nota{ display:flex; gap:4px; margin-bottom:18px; }
.avaliacao__nota i{
  width:16px; height:16px; display:block; background:var(--ouro);
  clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);
}
.avaliacao__texto{ flex:1; color:var(--tinta-media); font-size:16px; margin-bottom:22px; }
.avaliacao__nome{
  font-family:var(--fonte-titulo); font-size:18px; font-weight:700; color:var(--tinta);
  margin:0; padding-top:18px; border-top:1px solid var(--linha);
}

.avaliacoes__seta{
  position:absolute; top:50%; translate:0 -50%;
  width:50px; height:50px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:var(--branco); color:var(--verde);
  border:1px solid var(--linha-forte);
  box-shadow:var(--sombra-2);
  transition:background-color .3s ease, color .3s ease, opacity .3s ease, transform .3s ease;
  z-index:3;
}
.avaliacoes__seta svg{ width:22px; height:22px; }
.avaliacoes__seta:hover{ background:var(--verde); color:#fff; border-color:transparent; }
.avaliacoes__seta--ant{ left:-24px; }
.avaliacoes__seta--prox{ right:-24px; }
.avaliacoes__seta[disabled]{ opacity:0; pointer-events:none; }

/* ======================================================= 8. FECHAMENTO  */
.fechamento{
  position:relative; overflow:hidden;
  padding-block:clamp(96px,10vw,148px);
  background:radial-gradient(110% 140% at 50% 0%, #0a6742 0%, #04331f 60%, #032418 100%);
  isolation:isolate;
}
.fechamento__fundo{ position:absolute; inset:0; z-index:-1; }
.fechamento__fundo img{ width:100%; height:100%; object-fit:cover; object-position:center 42%; }
.fechamento__veu{
  position:absolute; inset:0;
  background:
    radial-gradient(62% 78% at 50% 52%, rgba(2,26,17,.74) 0%, rgba(2,26,17,.30) 62%, rgba(2,26,17,0) 82%),
    linear-gradient(180deg, rgba(3,36,24,.72) 0%, rgba(4,51,31,.58) 45%, rgba(3,36,24,.78) 100%),
    linear-gradient(0deg, rgba(0,126,72,.22), rgba(0,126,72,.22));
}
.fechamento__interno .titulo-secao--claro,
.fechamento__interno .paragrafo--claro{ text-shadow:0 2px 18px rgba(2,26,17,.55); }
.fechamento__interno{ position:relative; z-index:2; max-width:760px; margin-inline:auto; text-align:center; }
.fechamento .paragrafo{ margin:0 auto 40px; }

/* ========================================================== 9. CONTATO  */
.contato{ background:linear-gradient(180deg,#fff 0%,#fafcfb 100%); }
.contato__grade{ display:grid; grid-template-columns:40fr 60fr; gap:34px; align-items:stretch; }
.contato__cartao{
  padding:48px 44px;
  border-radius:var(--raio-grande);
  background:var(--branco);
  border:1px solid var(--linha);
  box-shadow:var(--sombra-2);
}
.contato__lista{ display:grid; gap:24px; margin-top:12px; }
.contato__lista li{ display:flex; gap:15px; align-items:flex-start; font-size:16px; color:var(--tinta-media); line-height:1.6; }
.contato__ico{ width:24px; height:24px; flex:none; color:var(--verde); margin-top:3px; }
.contato__lista a{ color:var(--verde); font-weight:600; text-decoration:none; border-bottom:1px solid rgba(0,126,72,.3); }
.contato__lista a:hover{ border-color:var(--verde); }

.contato__mapa{
  border-radius:var(--raio-grande);
  overflow:hidden;
  min-height:440px;
  border:1px solid var(--linha);
  box-shadow:var(--sombra-2);
  background:var(--cinza);
}
.contato__mapa iframe{ width:100%; height:100%; min-height:440px; border:0; filter:saturate(.85); }

/* ======================================= 10. CURIOSIDADES (MINI BLOG)   */
.artigos{ background:var(--cinza); overflow:hidden; }
.artigos .container{ position:relative; z-index:2; }
.artigos__lista{ display:grid; gap:18px; }

.artigo{
  display:grid;
  grid-template-columns:210px 1fr 72px;
  gap:34px; align-items:center;
  padding:22px;
  background:var(--branco);
  border:1px solid var(--linha);
  border-radius:var(--raio-grande);
  box-shadow:var(--sombra-1);
  transition:box-shadow .45s ease, border-color .45s ease, transform .45s ease;
}
.artigo:hover{ box-shadow:var(--sombra-2); border-color:rgba(0,126,72,.16); }
.artigo.aberto{ box-shadow:var(--sombra-3); border-color:rgba(0,126,72,.2); align-items:flex-start; }

.artigo__figura{
  position:relative;
  aspect-ratio:1/1; border-radius:20px; overflow:hidden;
  background:linear-gradient(150deg,#e9f3ee,#d4e6dc);
  transition:aspect-ratio .5s ease;
}
.artigo__figura img{ width:100%; height:100%; object-fit:cover; transition:transform .8s cubic-bezier(.22,.61,.36,1); }
.artigo:hover .artigo__figura img{ transform:scale(1.05); }

.artigo__texto{ padding-block:6px; }
.artigo__titulo{ font-size:clamp(20px,1.6vw,26px); margin-bottom:11px; color:var(--tinta); }

.artigo__conteudo{
  --altura-aberta:0px;
  color:var(--tinta-media); font-size:16px;
  max-height:3.4em;
  overflow:hidden;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  transition:max-height .55s cubic-bezier(.22,.61,.36,1);
}
.artigo.aberto .artigo__conteudo{
  max-height:var(--altura-aberta);
  -webkit-line-clamp:200;
}
.artigo__conteudo p + p{ margin-top:1em; }
.artigo:not(.aberto) .artigo__conteudo > p:not(:first-child){ display:none; }

.artigo__gatilho{
  width:56px; height:56px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  color:var(--verde);
  border:1.5px solid rgba(0,126,72,.2);
  background:var(--branco);
  transition:background-color .35s ease, color .35s ease, transform .45s cubic-bezier(.22,.61,.36,1), border-color .35s ease;
  justify-self:end;
}
.artigo__gatilho svg{ width:22px; height:22px; transition:transform .45s cubic-bezier(.22,.61,.36,1); }
.artigo__gatilho:hover{ background:rgba(0,126,72,.06); border-color:var(--verde); }
.artigo__gatilho[aria-expanded="true"]{
  background:linear-gradient(135deg,var(--verde-luz),var(--verde));
  color:#fff; border-color:transparent;
}
.artigo__gatilho[aria-expanded="true"] svg{ transform:rotate(180deg); }

/* ============================================================= 11. FAQ  */
.faq{ background:var(--branco); }
.faq__lista{ max-width:900px; margin-inline:auto; }
.faq__item{ border-bottom:1px solid var(--linha); }
.faq__item:first-child{ border-top:1px solid var(--linha); }
.faq__item h3{ margin:0; font-family:inherit; font-weight:inherit; }
.faq__pergunta{
  width:100%;
  display:flex; align-items:center; justify-content:space-between; gap:28px;
  padding:26px 4px;
  text-align:left;
  font-family:var(--fonte-titulo);
  font-size:clamp(17px,1.35vw,21px);
  font-weight:700; line-height:1.35;
  color:var(--tinta);
  transition:color .3s ease;
}
.faq__pergunta:hover{ color:var(--verde); }
.faq__sinal{ position:relative; width:22px; height:22px; flex:none; }
.faq__sinal::before,.faq__sinal::after{
  content:""; position:absolute; left:50%; top:50%;
  width:16px; height:1.8px; border-radius:2px; background:var(--verde);
  transform:translate(-50%,-50%);
  transition:transform .4s cubic-bezier(.22,.61,.36,1), opacity .3s ease;
}
.faq__sinal::after{ transform:translate(-50%,-50%) rotate(90deg); }
.faq__pergunta[aria-expanded="true"] .faq__sinal::after{ transform:translate(-50%,-50%) rotate(0deg); opacity:0; }
.faq__pergunta[aria-expanded="true"]{ color:var(--verde); }

.faq__resposta{
  display:grid; grid-template-rows:0fr;
  transition:grid-template-rows .5s cubic-bezier(.22,.61,.36,1);
}
.faq__resposta > div{ overflow:hidden; }
.faq__resposta p{
  padding:0 60px 30px 4px;
  color:var(--tinta-media); font-size:16.5px;
}
.faq__pergunta[aria-expanded="true"] ~ .faq__resposta,
.faq__item.aberto .faq__resposta{ grid-template-rows:1fr; }

/* marcação temporária do item que aguarda validação do cliente */
.faq__item--validar .faq__resposta p{ color:var(--ouro-esc); font-weight:600; }

/* ============================================================== RODAPÉ  */
.rodape{
  background:linear-gradient(180deg,#04331f 0%,#032418 100%);
  color:rgba(255,255,255,.72);
  padding-block:64px 56px;
}
.rodape__interno{
  display:flex; flex-wrap:wrap; gap:40px 64px;
  align-items:center; justify-content:space-between;
}
.rodape__logo{ height:50px; width:auto; }
.rodape__dados{ font-size:15px; line-height:1.9; }
.rodape__dados a{ color:var(--ouro-claro); text-decoration:none; border-bottom:1px solid rgba(238,221,146,.35); }
.rodape__regulatorio{
  width:100%; padding-top:26px; margin-top:4px;
  border-top:1px solid rgba(255,255,255,.12);
  font-size:13px; line-height:1.7; letter-spacing:.01em;
  color:rgba(255,255,255,.52);
}
.rodape__legal{ margin-top:10px; display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.rodape__legal a{
  color:rgba(255,255,255,.58); text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.18);
  transition:color .25s ease, border-color .25s ease;
}
.rodape__legal a:hover{ color:var(--ouro-claro); border-bottom-color:rgba(238,221,146,.5); }
.rodape__legal span{ color:rgba(255,255,255,.28); }

/* ======================================================= PÁGINAS LEGAIS */
.legal{ padding-block:140px 90px; background:var(--cinza); }
.legal__caixa{
  max-width:820px; margin:0 auto; background:#fff; border-radius:24px;
  padding:56px 56px 48px; box-shadow:0 30px 70px rgba(4,51,31,.08);
}
.legal__voltar{
  display:inline-block; margin-bottom:28px; font-size:14px; font-weight:600;
  color:var(--verde); text-decoration:none;
}
.legal__voltar:hover{ text-decoration:underline; }
.legal h1{
  font-family:var(--fonte-titulo); font-size:clamp(30px,4vw,40px);
  line-height:1.2; color:var(--verde-fundo); margin:0 0 10px;
}
.legal__atualizacao{ font-size:14px; color:#6b7a73; margin:0 0 38px; }
.legal h2{
  font-family:var(--fonte-titulo); font-size:22px; line-height:1.35;
  color:var(--verde); margin:40px 0 12px;
}
.legal h3{ font-size:16px; font-weight:700; color:var(--verde-fundo); margin:26px 0 8px; }
.legal p, .legal li{ font-size:16px; line-height:1.8; color:#2d3a34; }
.legal p{ margin:0 0 14px; }
.legal ul{ margin:0 0 18px; padding-left:22px; }
.legal li{ margin-bottom:8px; }
.legal a{ color:var(--verde); }
.legal__tabela{ width:100%; border-collapse:collapse; margin:0 0 22px; font-size:15px; }
.legal__tabela th, .legal__tabela td{
  text-align:left; padding:12px 14px; border:1px solid rgba(16,32,26,.12); vertical-align:top;
}
.legal__tabela th{ background:rgba(0,126,72,.07); color:var(--verde-fundo); font-weight:700; }
.legal__aviso{
  margin-top:34px; padding:18px 20px; border-radius:14px;
  background:rgba(0,126,72,.06); border:1px solid rgba(0,126,72,.16);
  font-size:15px; line-height:1.75;
}
@media (max-width:680px){
  .legal{ padding-block:110px 60px; }
  .legal__caixa{ padding:34px 22px 30px; border-radius:18px; }
}

/* =================================================== WHATSAPP FLUTUANTE */
.zap-flutuante{
  position:fixed; right:26px; bottom:26px; z-index:90;
  width:62px; height:62px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:#25D366;                    /* verde oficial do WhatsApp */
  box-shadow:0 6px 22px rgba(37,211,102,.42), 0 2px 6px rgba(0,0,0,.14);
  transition:transform .35s cubic-bezier(.22,.61,.36,1), box-shadow .35s ease;
}
.zap-flutuante svg{ width:36px; height:36px; fill:#fff; }
.zap-flutuante:hover{ transform:translateY(-3px) scale(1.05); box-shadow:0 14px 34px rgba(18,140,74,.46); }

/* ===================================================== REVELAR NO SCROLL */
.revelar{
  opacity:0; transform:translateY(26px);
  transition:opacity .8s cubic-bezier(.22,.61,.36,1), transform .8s cubic-bezier(.22,.61,.36,1);
  transition-delay:var(--atraso,0ms);
}
.revelar.visivel{ opacity:1; transform:none; }

/* ========================================================== RESPONSIVO  */
@media (max-width:1180px){
  :root{ --gutter:32px; --secao-y:104px; }
  .frete__grade{ gap:56px; }
  .processo__grade{ gap:56px; }
  .diferenciais{ grid-template-columns:repeat(2,1fr); }
}

@media (max-width:980px){
  :root{ --secao-y:96px; }
  body{ font-size:16.5px; }

  .hero{ min-height:auto; padding-block:132px 108px; }
  .hero__conteudo{ max-width:100%; }
  .hero__veu{ background:linear-gradient(180deg, rgba(3,36,24,.92) 0%, rgba(4,51,31,.84) 55%, rgba(6,74,47,.62) 100%); }

  .confianca{ margin-top:-44px; }
  .confianca__barra{ display:grid; grid-template-columns:1fr 1fr; gap:22px 26px; padding:28px 26px; }
  .confianca__sep{ display:none; }

  .frete__grade{ grid-template-columns:1fr; gap:48px; }
  .frete__visual{ order:-1; }
  .moldura--alta{ aspect-ratio:16/11; }
  .molecula--frete{ display:none; }

  .processo__grade{ grid-template-columns:1fr; gap:40px; }
  .processo__coluna{ gap:32px; }
  .processo__midia .moldura{ aspect-ratio:16/10; }

  .cartoes{ grid-template-columns:1fr 1fr; }
  .cartoes .cartao:last-child{ grid-column:1 / -1; }

  .contato__grade{ grid-template-columns:1fr; }
  .contato__mapa{ min-height:360px; }
  .contato__mapa iframe{ min-height:360px; }

  .avaliacoes{ grid-auto-columns:calc((100% - 26px) / 2); }
  .avaliacoes__seta--ant{ left:-16px; }
  .avaliacoes__seta--prox{ right:-16px; }

  .artigo{ grid-template-columns:150px 1fr 56px; gap:22px; }
  .artigo__gatilho{ width:48px; height:48px; }
}

@media (max-width:680px){
  :root{ --gutter:22px; --secao-y:72px; --raio-grande:22px; --raio-cartao:20px; }
  body{ font-size:16px; }

  .cabecalho{ padding-block:14px; }
  .marca__img{ height:36px; }
  .cabecalho.rolado .marca__img{ height:32px; }
  .btn--compacto{ padding:11px 16px; font-size:11.5px; gap:8px; }
  .btn--compacto span{ display:none; }
  .btn--compacto .ico-zap{ width:20px; height:20px; }

  .hero{ padding-block:112px 84px; }
  .hero__texto{ margin-bottom:32px; }
  .btn--grande{ width:100%; padding:18px 24px; }

  .confianca{ margin-top:-36px; }
  .confianca__barra{ grid-template-columns:1fr; gap:18px; padding:24px 22px; }

  .cartoes{ grid-template-columns:1fr; gap:20px; }
  .cartoes .cartao:last-child{ grid-column:auto; }
  .cartao__corpo{ padding:26px 24px 30px; }

  .diferenciais{ grid-template-columns:1fr; gap:14px; }
  .diferencial{ padding:24px 22px; gap:14px; }

  .linha-tempo{ margin:34px 0 34px; }
  .etapa{ grid-template-columns:46px 1fr; column-gap:16px; padding-bottom:28px; }
  .etapa::before{ left:13px; top:38px; }
  .etapa__num{ font-size:27px; }

  .contato__cartao{ padding:34px 26px; }
  .contato__mapa,.contato__mapa iframe{ min-height:300px; }

  .avaliacoes{
    grid-auto-columns:86%;
    margin-inline:calc(var(--gutter) * -1); padding-inline:var(--gutter);
  }
  .avaliacao{ padding:28px 24px; }
  .avaliacoes__seta{ display:none; }

  /* mini-blog empilhado no mobile */
  .artigo{ grid-template-columns:1fr auto; grid-template-areas:"figura figura" "texto texto" "gatilho gatilho"; gap:18px; padding:18px; }
  .artigo__figura{ grid-area:figura; aspect-ratio:16/9; }
  .artigo__texto{ grid-area:texto; }
  .artigo__gatilho{ grid-area:gatilho; justify-self:stretch; width:100%; height:48px; border-radius:14px; }
  .artigo__gatilho svg{ width:20px; height:20px; }

  .faq__pergunta{ padding:22px 2px; gap:18px; }
  .faq__resposta p{ padding:0 2px 24px; font-size:16px; }

  .rodape__interno{ flex-direction:column; align-items:flex-start; gap:28px; }

  .zap-flutuante{ right:18px; bottom:18px; width:54px; height:54px; }
  .zap-flutuante svg{ width:28px; height:28px; }

  /* menos elementos decorativos no mobile */
  .molecula{ animation:none; opacity:.55; }
  .molecula--frete,.molecula--processo,.molecula--provas,.molecula--catalogo-2{ display:none; }
  .molecula--frete-solo{ width:62px; right:-14px; top:2%; }
  .molecula--catalogo-3{ width:56px; left:6%; top:2%; opacity:.34; }
  .mol-art--2,.mol-art--4,.mol-art--6{ display:none; }
  .mol-art--1{ width:140px; left:-56px; top:5%; opacity:.3; }
  .mol-art--3{ width:52px; left:6%; top:38%; opacity:.34; }
  .mol-art--5{ width:64px; left:-22px; top:70%; opacity:.28; }
  .molecula--catalogo{ width:190px; right:-76px; top:3%; opacity:.3; }
  .bolha--b,.bolha--e,.bolha--g,.bolha--i,.bolha--j{ display:none; }
  .bolha--a{ width:120px; height:120px; }
  .bolha--c,.bolha--f,.bolha--h{ width:180px; height:180px; }
}

/* ============================================ PREFERÊNCIA DE MOVIMENTO  */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
  .revelar{ opacity:1; transform:none; }
}
