/* ============================================================
   JM Limpeza Profissional — folha única
   Layout: barra utilitária + nav com CTA + hero em coluna única.
   Cor: o vermelho é o CAMPO, não o acento — os neutros são
   quentes, derivados dele, e as seções pesadas são vermelho
   profundo em vez de grafite.
   Assinatura: a passada de máscara diagonal que revela cada seção.
   ============================================================ */

@font-face{font-family:'Archivo';font-style:normal;font-weight:400 900;font-stretch:62% 125%;font-display:swap;
  src:url('../fonts/archivo-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Archivo';font-style:normal;font-weight:400 900;font-stretch:62% 125%;font-display:swap;
  src:url('../fonts/archivo-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:400 700;font-display:swap;
  src:url('../fonts/instrument-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:400 700;font-display:swap;
  src:url('../fonts/instrument-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400 500;font-display:swap;
  src:url('../fonts/jetbrains-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400 500;font-display:swap;
  src:url('../fonts/jetbrains-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}

:root{
  /* vermelho: da faixa clara ao fundo profundo */
  --jm:#D6222B;
  --jm-escuro:#A6161D;
  --jm-profundo:#420A0E;
  --jm-noite:#2C0508;
  --jm-claro:#FF5B60;
  --jm-veu:#FBEDEC;

  /* neutros quentes, puxados do vermelho — nada de cinza azulado */
  --papel:#FFFFFF;
  --nuvem:#F7F2F1;
  --linha:#E6DAD8;
  --aco:#7C6A68;
  --grafite:#1C1210;

  --display:'Archivo',system-ui,sans-serif;
  --corpo:'Instrument Sans',system-ui,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,monospace;

  --gutter:clamp(1.25rem,5vw,5rem);
  --barra-h:38px;
  --topo-h:74px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--nuvem);color:var(--grafite);
  font-family:var(--corpo);font-size:clamp(1rem,.95rem + .25vw,1.0625rem);
  line-height:1.62;-webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img,svg{display:block;max-width:100%}
h1,h2,h3{margin:0;font-family:var(--display);font-weight:800;line-height:.96;letter-spacing:-.03em}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
dl,dd{margin:0}
a{color:inherit}
:focus-visible{outline:3px solid var(--jm);outline-offset:3px;border-radius:3px}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
}

.pular{position:absolute;left:-9999px;top:0;z-index:200;background:var(--grafite);color:#fff;padding:.75rem 1.25rem;font-weight:600}
.pular:focus{left:0}

/* ── Tipos recorrentes ───────────────────────────────────── */
.olho{
  display:inline-flex;align-items:center;gap:.6rem;
  font-family:var(--mono);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--jm);margin-bottom:1.15rem;
}
.olho::before{content:"";width:1.6rem;height:2px;background:var(--jm);flex:none}
.olho--claro{color:#FFB9BB}
.olho--claro::before{background:var(--jm-claro)}

.titulo-secao{font-size:clamp(2.1rem,1.3rem + 3.4vw,3.9rem);font-stretch:90%;color:var(--grafite)}
.titulo-secao--claro{color:#FFF6F5}

.secao__intro{max-width:48ch;margin-top:1.4rem;color:var(--aco)}
.secao--processo .secao__intro,.secao--contato .secao__intro{color:#D8B7B5}

/* ── Botões ──────────────────────────────────────────────── */
.botao{
  display:inline-flex;align-items:center;gap:.55rem;justify-content:center;
  font-family:var(--display);font-weight:700;font-stretch:92%;font-size:.95rem;
  letter-spacing:-.01em;text-decoration:none;padding:.95rem 1.7rem;border-radius:999px;
  border:1.5px solid transparent;cursor:pointer;
  transition:background-color .2s,color .2s,border-color .2s,transform .2s,box-shadow .2s;
}
.botao--primario{background:var(--jm);color:#fff;box-shadow:0 10px 24px -12px rgba(214,34,43,.9)}
.botao--primario:hover{background:var(--jm-escuro);transform:translateY(-2px)}
.botao--contorno{border-color:var(--linha);color:var(--grafite);background:var(--papel)}
.botao--contorno:hover{border-color:var(--jm);color:var(--jm);transform:translateY(-2px)}

/* ── Barra utilitária + topo ─────────────────────────────── */
.barra{
  position:relative;z-index:101;background:var(--jm);color:#fff;
  min-height:var(--barra-h);display:flex;align-items:center;flex-wrap:wrap;
  gap:.4rem 1.6rem;padding:.35rem var(--gutter);
  font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;
}
.barra__item{display:inline-flex;align-items:center;gap:.45rem;text-decoration:none;opacity:.94}
.barra a.barra__item:hover{opacity:1;text-decoration:underline;text-underline-offset:3px}
.barra__redes{margin-left:auto;display:flex;align-items:center;gap:.75rem}
.barra__redes a{
  display:grid;place-items:center;width:30px;height:30px;border-radius:50%;
  opacity:.92;transition:opacity .2s,transform .2s,background-color .2s;
}
.barra__redes a:hover{opacity:1;transform:translateY(-1px);background:rgba(255,255,255,.18)}
/* O envelope é desenhado a traço e o Instagram e o Facebook são preenchidos.
   Na mesma medida o traço pesa menos, então o envelope ganha um fio a mais
   para os três parecerem do mesmo tamanho — é acerto óptico, não geométrico. */
.barra__redes-mail svg{width:20px;height:20px}
.barra__redes-mail:hover{text-decoration:none}
@media (max-width:760px){.barra__redes{margin-left:0}}

.topo{
  position:sticky;top:0;z-index:100;min-height:var(--topo-h);
  display:flex;align-items:center;gap:2rem;padding:.6rem var(--gutter);
  background:rgba(255,255,255,.92);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--linha);
  transition:box-shadow .25s ease;
}
.topo.esta-rolado{box-shadow:0 12px 30px -22px rgba(28,18,16,.55)}
/* Sem blur no celular e no tablet: `backdrop-filter` num elemento sticky
   obriga o navegador a reamostrar o que passa por baixo a cada quadro de
   rolagem — é o custo mais caro desta página em aparelho fraco. Fundo sólido
   é indistinguível aqui e não custa nada. */
@media (max-width:1024px){
  .topo{backdrop-filter:none;background:#fff}
}
.marca{display:flex;align-items:center;gap:.7rem;text-decoration:none;margin-right:auto}
.marca__sigla{
  display:grid;place-items:center;width:40px;height:40px;flex:none;border-radius:12px;
  background:var(--jm);color:#fff;font-family:var(--display);font-weight:900;
  font-stretch:75%;font-size:1.05rem;letter-spacing:-.02em;
}
.marca__nome{
  font-family:var(--display);font-weight:700;font-stretch:80%;font-size:.82rem;
  line-height:1.05;text-transform:uppercase;letter-spacing:.04em;color:var(--grafite);
}
.marca__nome em{font-style:normal;font-weight:400;color:var(--aco)}
.topo__nav{display:flex;gap:1.9rem}
.topo__nav a{
  text-decoration:none;color:var(--grafite);font-size:.92rem;font-weight:500;
  padding:.35rem 0;border-bottom:2px solid transparent;transition:border-color .2s,color .2s;
}
.topo__nav a:hover{color:var(--jm);border-bottom-color:var(--jm)}
@media (max-width:900px){.topo__nav{display:none}}
@media (max-width:520px){
  .topo__cta{padding:.8rem 1.15rem;font-size:.88rem}
  .marca__nome{display:none}
}

/* ── HERO ────────────────────────────────────────────────── */
/* Uma coluna só: o comparador antes/depois saiu, e com ele a segunda coluna.
   O peso agora está na manchete e nos selos, não numa ilustração. */
.hero{
  position:relative;background:var(--nuvem);
  padding:clamp(3rem,7vw,6rem) var(--gutter) clamp(3.5rem,8vw,7rem);
}
/* Sem a segunda coluna, o bloco de texto ocupa a largura útil e cresce com
   ela: preso a 52rem numa tela larga, sobrava meia página vazia à direita. */
.hero__texto{position:relative;z-index:3;width:100%;max-width:78rem;margin-inline:auto}
.titulo-hero{font-size:clamp(2.4rem,1rem + 5.4vw,6rem);color:var(--grafite)}
.titulo-hero .linha{display:block;font-stretch:80%;font-weight:600;color:var(--aco)}
.titulo-hero .linha--forte{font-stretch:106%;font-weight:900;color:var(--grafite);margin-top:.1em}
.titulo-hero .risca{color:var(--jm)}
.hero__sub{margin-top:1.7rem;max-width:56ch;font-size:clamp(1rem,.94rem + .38vw,1.28rem);color:var(--aco)}
.hero__acoes{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2.1rem}
/* Quatro dados em colunas iguais, com fio entre elas, esticados na mesma
   largura do texto. O rótulo em mono vem ANTES do número: sem ele "24h" fica
   ambíguo — parece espera, não teto. */
.hero__selos{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));
  gap:1.5rem 0;margin-top:2.8rem;padding-top:1.7rem;border-top:1px solid var(--linha);
}
.hero__selo-item{padding:0 1.5rem;border-left:1px solid var(--linha)}
.hero__selo-item:first-child{padding-left:0;border-left:0}
.hero__selo-item dt{
  font-family:var(--mono);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--aco);margin-bottom:.55rem;
}
.hero__selo-item strong{
  display:block;font-family:var(--display);font-weight:900;font-stretch:104%;
  font-size:clamp(1.3rem,1.05rem + .6vw,1.65rem);line-height:.95;color:var(--jm);letter-spacing:-.03em;
  white-space:nowrap;
}
.hero__selo-item span{display:block;margin-top:.4rem;font-size:.82rem;line-height:1.32;color:var(--aco);max-width:18ch}
@media (max-width:520px){
  .hero__selos{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem 0}
  .hero__selo-item{padding:0 1.1rem}
  .hero__selo-item:nth-child(odd){padding-left:0;border-left:0}
  .hero__selo-item span{max-width:16ch}
}

/* ── Faixa rolante ───────────────────────────────────────── */
/* A animação é CSS, não GSAP: transform em @keyframes roda no compositor, sem
   passar pela thread principal. Antes era um tween de JS reescrevendo o
   transform a cada quadro, para sempre — competindo com a rolagem no celular.
   Como o `contain` isola a pintura, o resto da página não repinta junto. */
.faixa{background:var(--jm);color:#fff;overflow:hidden;padding:1.05rem 0;contain:paint}
.faixa__trilho{
  display:flex;align-items:center;gap:1.5rem;width:max-content;
  will-change:transform;animation:faixa-correr 32s linear infinite;
}
/* A lista está duplicada no HTML, então -50% fecha o laço sem salto. */
@keyframes faixa-correr{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-50%,0,0)}
}
/* Fora da tela não anima: economiza bateria e libera o compositor. */
.faixa__trilho.esta-fora{animation-play-state:paused}
@media (prefers-reduced-motion:reduce){.faixa__trilho{animation:none}}
.faixa__item{
  font-family:var(--display);font-weight:600;font-stretch:78%;font-size:1rem;
  text-transform:lowercase;letter-spacing:.01em;white-space:nowrap;
}
.faixa__sep{font-size:.7rem;opacity:.55}

/* ── Seções ──────────────────────────────────────────────── */
.secao{padding:clamp(4rem,8vw,8rem) var(--gutter)}
.secao__cabeca{max-width:62ch;margin-bottom:clamp(2.25rem,4.5vw,4rem)}

/* Serviços — cartões, não grade de linhas */
.secao--servicos{background:var(--nuvem)}
.servicos{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem}
@media (min-width:1040px){.servicos{grid-template-columns:repeat(3,1fr)}}
.servico{
  position:relative;background:var(--papel);border:1px solid var(--linha);border-radius:20px;
  padding:clamp(1.6rem,2.6vw,2.1rem);display:flex;flex-direction:column;overflow:hidden;
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
}
.servico::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--jm);
  transform:scaleY(0);transform-origin:top;transition:transform .45s cubic-bezier(.4,0,.15,1);
}
.servico:hover,.servico:focus-within{transform:translateY(-4px);box-shadow:0 24px 44px -30px rgba(28,18,16,.6);border-color:transparent}
.servico:hover::before,.servico:focus-within::before{transform:scaleY(1)}
.servico > *{position:relative;z-index:1}
.servico__topo{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}
.servico__titulo{font-size:clamp(1.4rem,1.2rem + .7vw,1.8rem);font-stretch:86%}
.servico__promessa{margin-top:1.1rem;font-family:var(--display);font-weight:700;font-stretch:88%;font-size:1.1rem;line-height:1.2;color:var(--jm)}
.servico__texto{margin-top:.7rem;color:var(--aco);font-size:.95rem}
.servico__itens{margin-top:1.35rem;display:flex;flex-direction:column;gap:.5rem;flex-grow:1}
.servico__itens li{position:relative;padding-left:1.35rem;font-size:.9rem}
.servico__itens li::before{content:"";position:absolute;left:0;top:.55em;width:.6rem;height:1.5px;background:var(--jm)}
.servico__link{
  margin-top:1.6rem;align-self:flex-start;font-family:var(--display);font-weight:700;font-stretch:88%;
  font-size:.9rem;text-decoration:none;color:var(--grafite);
  border-bottom:2px solid var(--jm);transition:color .2s;
  /* Alvo de toque: o link tinha 29px de altura. Dedo pede ~44px. */
  padding:.55rem 0 .35rem;
}
.servico__link:hover{color:var(--jm)}

/* Sobre — painel vermelho com selo sobreposto + checklist */
.secao--sobre{background:var(--papel)}
.sobre{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(2.5rem,6vw,5rem);align-items:center}
.sobre__painel{
  position:relative;background:var(--jm-profundo);color:#FFF6F5;border-radius:28px;
  padding:clamp(2rem,4vw,3rem);display:flex;flex-direction:column;gap:1.9rem;
}
.sobre__numero{position:relative;z-index:1;display:flex;align-items:baseline;gap:1rem}
.sobre__numero + .sobre__numero{padding-top:1.9rem;border-top:1px solid rgba(255,246,245,.16)}
.sobre__numero strong{
  font-family:var(--display);font-weight:900;font-stretch:115%;font-size:clamp(2.6rem,2rem + 2.4vw,3.6rem);
  line-height:.85;color:#fff;letter-spacing:-.04em;flex:none;min-width:3.4ch;
}
.sobre__numero span{color:#D8B7B5;font-size:.94rem;max-width:24ch}
/* número comprido (+1.000) não pode empurrar o texto para fora do painel */
.sobre__numero--longo strong{font-size:clamp(2rem,1.5rem + 2vw,3rem);min-width:0}
.sobre__medalha{
  position:absolute;right:clamp(-1rem,-2vw,-2rem);bottom:-1.75rem;z-index:2;
  background:var(--papel);color:var(--grafite);border-radius:20px;
  padding:1.1rem 1.4rem;box-shadow:0 22px 44px -24px rgba(28,18,16,.75);text-align:center;
}
.sobre__medalha strong{display:block;font-family:var(--display);font-weight:900;font-stretch:110%;font-size:2.2rem;line-height:.9;color:var(--jm)}
.sobre__medalha span{display:block;margin-top:.3rem;font-family:var(--mono);font-size:.63rem;letter-spacing:.14em;text-transform:uppercase;color:var(--aco)}
.sobre__texto{margin-top:1.4rem;color:var(--aco);max-width:48ch}
.checklist{margin-top:1.9rem;display:grid;gap:.85rem}
.checklist li{position:relative;padding-left:2.35rem;font-weight:500;font-size:.98rem}
.checklist li::before{
  content:"";position:absolute;left:0;top:.05em;width:1.55rem;height:1.55rem;border-radius:8px;
  background:var(--jm-veu);
}
.checklist li::after{
  content:"";position:absolute;left:.5rem;top:.42em;width:.42rem;height:.78rem;
  border:2px solid var(--jm);border-top:0;border-left:0;transform:rotate(42deg);
}
.sobre .botao{margin-top:2.1rem}
@media (max-width:900px){
  .sobre{grid-template-columns:1fr}
  /* o selo passa a ocupar espaço vazio do painel: sobreposto ao texto, escondia
     o fim da última linha */
  .sobre__painel{padding-bottom:6.5rem}
  .sobre__medalha{right:1.25rem;bottom:1.25rem}
}

/* Processo — sequência real, por isso numerada */
.secao--processo{background:var(--jm-profundo);color:#FFF6F5}
.passos{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:2.5rem 2rem}
.passo{position:relative;padding-top:2.4rem;border-top:1px solid rgba(255,246,245,.2)}
.passo__num{
  position:absolute;top:-1rem;left:0;display:grid;place-items:center;
  width:2.1rem;height:2.1rem;border-radius:50%;background:var(--jm);color:#fff;
  font-family:var(--mono);font-size:.72rem;letter-spacing:.02em;
}
.passo__titulo{font-size:1.35rem;font-stretch:88%;margin-bottom:.65rem;color:#fff}
.passo__texto{color:#D8B7B5;font-size:.95rem}

/* Prova: texto à esquerda, carrossel das avaliações do Google à direita */
.secao--prova{background:var(--nuvem);overflow:hidden}
.prova{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2.5rem,5vw,4.5rem);align-items:center}
.prova__lado{max-width:46ch}
.prova__acoes{margin-top:2rem}

.carrossel{position:relative}
.carrossel__trilho{
  display:flex;gap:1.25rem;overflow-x:auto;scroll-snap-type:x mandatory;
  padding:.5rem .25rem 1.5rem;margin:-.5rem -.25rem 0;
  scrollbar-width:none;-ms-overflow-style:none;
  cursor:grab;
}
.carrossel__trilho::-webkit-scrollbar{display:none}
.carrossel__trilho.esta-arrastando{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto}
.carrossel__trilho:focus-visible{outline:2px solid var(--jm);outline-offset:4px;border-radius:16px}
/* Snap pela BORDA e não pelo centro: o primeiro cartão nunca consegue se
   centralizar (scrollLeft 0), e com snap central o contador nascia em "2/13". */
.carrossel__item{flex:0 0 auto;scroll-snap-align:start}

/* O print vem do Google com fundo branco — o cartão é a moldura dele, e a
   largura fixa faz prints de alturas diferentes ainda formarem uma fileira. */
.avaliacao{
  width:clamp(268px,26vw,340px);margin:0;padding:1rem;
  background:#fff;border:1px solid var(--linha);border-radius:16px;
  box-shadow:0 18px 34px -28px rgba(28,18,16,.5);
  transition:transform .3s cubic-bezier(.4,0,.15,1),box-shadow .3s;
}
.carrossel__item:hover .avaliacao{transform:translateY(-3px);box-shadow:0 24px 40px -26px rgba(28,18,16,.6)}
.avaliacao img{display:block;width:100%;height:auto;border-radius:4px;-webkit-user-drag:none;user-select:none}

.carrossel__controles{display:flex;align-items:center;gap:1rem;margin-top:.25rem}
.carrossel__seta{
  width:46px;height:46px;flex:0 0 auto;display:grid;place-items:center;
  border-radius:50%;border:1px solid var(--linha);background:#fff;color:var(--jm);
  cursor:pointer;transition:background .25s,color .25s,border-color .25s,opacity .25s;
}
.carrossel__seta:hover:not(:disabled){background:var(--jm);color:#fff;border-color:var(--jm)}
.carrossel__seta:disabled{opacity:.35;cursor:default}
.carrossel__conta{font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;color:var(--aco)}

@media (max-width:900px){
  /* minmax(0,1fr) e não 1fr: com `auto` de mínimo a coluna cresce até o
     max-content do parágrafo e estoura a largura da tela. */
  .prova{grid-template-columns:minmax(0,1fr);gap:2.5rem}
  .prova__lado{max-width:none}
}

/* Contato — o orçamento é só pelo WhatsApp, não há formulário */
.secao--contato{
  background:var(--jm-profundo);color:#FFF6F5;
}
.contato{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);gap:clamp(2.5rem,5vw,5rem);align-items:start}
.contato__acoes{display:flex;flex-wrap:wrap;align-items:center;gap:1.5rem 2rem;margin-top:2.2rem}
.botao--grande{padding:1.15rem 2.2rem;font-size:1.05rem}
.form__zap{
  display:inline-flex;flex-direction:column;gap:.2rem;text-decoration:none;
  border-left:3px solid var(--jm-claro);padding-left:1rem;
}
.form__zap span{font-family:var(--mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:#D8B7B5}
.form__zap strong{font-family:var(--display);font-weight:800;font-stretch:92%;font-size:1.6rem;color:#fff}
.form__zap:hover strong{color:var(--jm-claro)}

.contato__ficha{background:var(--papel);color:var(--grafite);border-radius:24px;padding:clamp(1.6rem,3vw,2.5rem)}
.contato__ficha-titulo{font-size:clamp(1.35rem,1.1rem + .8vw,1.75rem);font-stretch:88%}
.contato__ficha-sub{margin-top:.7rem;color:var(--aco);font-size:.95rem;max-width:40ch}
.contato__ficha .checklist{margin-top:1.6rem}
.contato__prazo{
  margin-top:1.8rem;padding-top:1.4rem;border-top:1px solid var(--linha);
  color:var(--aco);font-size:.9rem;
}
.contato__prazo strong{font-family:var(--display);font-weight:800;font-stretch:100%;font-size:1.05rem;color:var(--jm)}

@media (max-width:900px){.contato{grid-template-columns:1fr}}

/* ── FAQ ─────────────────────────────────────────────────── */
.secao--faq{background:var(--nuvem)}
.faq{max-width:76ch;margin-top:2.5rem;border-top:1px solid var(--linha)}
.faq__item{border-bottom:1px solid var(--linha)}
.faq__pergunta{
  display:flex;align-items:center;justify-content:space-between;gap:1.5rem;
  padding:1.4rem 0;cursor:pointer;list-style:none;
  font-family:var(--display);font-weight:700;font-stretch:92%;
  font-size:clamp(1.02rem,.95rem + .3vw,1.2rem);line-height:1.3;color:var(--grafite);
  transition:color .2s;
}
.faq__pergunta::-webkit-details-marker{display:none}
.faq__pergunta:hover{color:var(--jm)}
.faq__cruz{flex:none;color:var(--jm);transition:transform .3s cubic-bezier(.4,0,.15,1)}
.faq__item[open] .faq__cruz{transform:rotate(45deg)}
.faq__resposta{padding-bottom:1.5rem;max-width:64ch;color:var(--aco);font-size:.95rem}

/* ── Página legal (privacidade e termos) ─────────────────── */
.legal{
  max-width:74ch;margin:0 auto;
  padding:clamp(3rem,7vw,5.5rem) var(--gutter) clamp(4rem,8vw,7rem);
}
.legal .titulo-secao{font-size:clamp(1.9rem,1.2rem + 2.6vw,3rem)}
.legal__resumo{margin-top:1.6rem;font-size:1.08rem;color:var(--grafite)}
.legal__data{
  margin-top:1rem;font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--aco);
}
.legal__bloco{margin-top:2.8rem;padding-top:2.2rem;border-top:1px solid var(--linha)}
.legal__bloco h2{
  font-size:clamp(1.15rem,1rem + .5vw,1.4rem);font-stretch:92%;margin-bottom:1rem;
}
.legal__bloco p + p,.legal__bloco ul + p{margin-top:1.4rem}
.legal__bloco p,.legal__bloco li{color:var(--aco);font-size:.97rem}
.legal__bloco strong{color:var(--grafite);font-weight:600}
.legal__bloco a{color:var(--jm);text-decoration:underline;text-underline-offset:3px}
/* O que ainda depende de dado real da empresa fica visível, não escondido num
   comentário: publicar com o buraco é pior que publicar com o aviso. */
.legal__pendente{
  margin-top:1.2rem;padding:.9rem 1.1rem;border-left:3px solid var(--jm);
  background:var(--jm-veu);border-radius:0 10px 10px 0;font-size:.9rem !important;
}
.legal__acoes{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:3rem}

/* ── Rodapé ──────────────────────────────────────────────── */
/* Marca à ESQUERDA, contato à direita, aviso legal centralizado embaixo. */
.rodape{
  background:var(--jm-noite);color:#FFF6F5;padding:clamp(2.5rem,5vw,4rem) var(--gutter) 6rem;
  display:flex;flex-wrap:wrap;align-items:center;gap:2.5rem clamp(2rem,6vw,5rem);
}
.rodape__marca{display:flex;gap:.85rem;align-items:center;text-align:left;margin-right:auto}
.rodape__marca p{font-family:var(--display);font-weight:700;font-stretch:85%;line-height:1.25}
.rodape__marca span{font-family:var(--corpo);font-weight:400;color:#C9A3A1;font-size:.85rem}
.rodape__titulo{
  font-family:var(--mono);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;
  font-weight:400;color:#C9A3A1;margin-bottom:1.1rem;
}
.rodape__nota{color:#C9A3A1;font-size:.85rem;margin-bottom:1.1rem;max-width:26ch}
/* WhatsApp é o canal principal: pode aparecer inteiro. O e-mail, não. */
.rodape__zap{
  display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;color:#fff;
  font-family:var(--display);font-weight:800;font-stretch:92%;font-size:1.15rem;letter-spacing:-.02em;
  transition:color .2s;padding:.5rem 0;   /* alvo de toque */
}
.rodape__zap:hover{color:var(--jm-claro)}
.rodape__acao{
  display:inline-flex;align-items:center;gap:.55rem;margin-top:1rem;
  padding:.6rem 1.15rem;border-radius:999px;text-decoration:none;font-size:.88rem;
  color:#FFF6F5;border:1px solid rgba(255,246,245,.28);
  transition:background-color .2s,border-color .2s;
}
.rodape__acao:hover{background:rgba(255,246,245,.12);border-color:#FFF6F5}
.rodape__redes{display:flex;gap:.7rem}
.rodape__redes a{
  display:grid;place-items:center;width:44px;height:44px;border-radius:50%;
  color:#FFF6F5;border:1px solid rgba(255,246,245,.28);
  transition:background-color .2s,border-color .2s,transform .2s;
}
.rodape__redes a:hover{background:var(--jm);border-color:var(--jm);transform:translateY(-2px)}
.rodape__colunas{
  display:flex;flex-wrap:wrap;gap:2.5rem clamp(2.5rem,6vw,5rem);
}
.rodape__bloco{display:flex;flex-direction:column;align-items:flex-start;text-align:left}
@media (max-width:700px){
  .rodape{flex-direction:column;align-items:flex-start}
  .rodape__marca{margin-right:0}
}
.rodape__legal{
  width:100%;color:#C9A3A1;font-size:.8rem;
  border-top:1px solid rgba(255,246,245,.14);padding-top:1.5rem;
  display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem 1.5rem;
}
.rodape__legal-links a{display:inline-block;padding:.5rem 0;color:#D8B7B5;text-decoration:none;border-bottom:1px solid rgba(255,246,245,.28);transition:color .2s,border-color .2s}
.rodape__legal-links a:hover{color:#fff;border-bottom-color:var(--jm)}

.zap-flutuante{
  position:fixed;right:1.1rem;bottom:1.1rem;z-index:90;
  width:56px;height:56px;display:grid;place-items:center;
  background:var(--jm);color:#fff;border-radius:50%;
  box-shadow:0 8px 26px rgba(28,18,16,.4);transition:transform .2s,background-color .2s;
}
.zap-flutuante:hover{transform:scale(1.07);background:var(--jm-escuro)}

/* estado inicial das revelações; o JS remove se GSAP não carregar */
.js-motion [data-revelar]{opacity:0}
