/* ═══════════════════════════════════════════════════════════════════════
   Auto Centro Porto Alegre — Oficina Bosch Car Service
   Direção "Oficina": blocos de cor chapada, tipo de sinalização e a faixa
   zebrada de segurança — a marcação amarela e preta pintada em volta de
   todo equipamento de oficina. Ela é a assinatura e se repete com propósito.
   ═══════════════════════════════════════════════════════════════════════ */

:root{
  /* nomeadas pelo que a coisa é na oficina */
  --asfalto:     #121213;  /* piso da baia */
  --graxa:       #191919;
  --ferro:       #202021;  /* chapa crua */
  --borda-noite: #333333;
  --aco:         #9B9B97;  /* texto secundário */
  --osso:        #ECEBE7;  /* parede pintada */
  --osso-linha:  #D2D1CC;
  --solda:       #C4372B;  /* vermelho de solda — acento, e só */
  --solda-fundo: #B21F14;
  --zap:         #1FA855;  /* só na bolha do WhatsApp */

  --placa-f: "Big Shoulders Display", "Arial Narrow", Impact, sans-serif;
  --texto:   "Archivo", "Helvetica Neue", Arial, sans-serif;
  --dado:    "Martian Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;

  --largura: 1340px;
  --gutter:  clamp(18px, 4.4vw, 54px);
  --respiro: clamp(62px, 8vw, 118px);

  --curva: cubic-bezier(.2,.7,.25,1);
  --zw: 15px;                 /* passo da faixa zebrada */
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }

body{
  margin:0;
  background:var(--asfalto);
  color:var(--osso);
  font-family:var(--texto);
  font-size:1.0625rem;
  line-height:1.62;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}

img{ max-width:100%; height:auto; display:block; }
p{ margin:0 0 1.05em; }
p:last-child{ margin-bottom:0; }
a{ color:inherit; }

h1,h2,h3{
  font-family:var(--placa-f);
  font-weight:800;
  line-height:1;
  letter-spacing:0;
  margin:0;
  text-wrap:balance;
}

:focus-visible{ outline:3px solid var(--solda); outline-offset:2px; }

.sr{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}

.pular{
  position:absolute; left:-9999px; top:0; z-index:220;
  background:var(--solda); color:var(--asfalto); padding:14px 20px;
  font-family:var(--dado); font-size:.68rem; font-weight:600;
}
.pular:focus{ left:0; }

.conteudo{
  width:100%; max-width:var(--largura);
  margin-inline:auto; padding-inline:var(--gutter);
}

/* ═════════════════════ A ASSINATURA: A FAIXA ZEBRADA ═════════════════════ */

.zebra{
  height:7px;
  background:repeating-linear-gradient(-45deg,
    var(--borda-noite) 0 var(--zw),
    var(--asfalto)     var(--zw) calc(var(--zw) * 2));
}
.zebra--topo{ position:relative; z-index:120; }

/* barra de leitura da página */
.progresso{
  position:fixed; top:0; left:0; right:0; height:3px; z-index:200;
  background:rgba(255,255,255,.06); pointer-events:none;
}
.progresso span{
  display:block; height:100%; background:var(--solda);
  transform:scaleX(0); transform-origin:left;
}

/* ═════════════════════════════ MARCA ═════════════════════════════ */

.elevador{ width:44px; height:44px; flex:0 0 auto; display:block; }
.ev-estrutura{ fill:currentColor; }
.ev-braco{ fill:var(--solda); transition:transform .45s var(--curva); }
.ev-carro{ fill:var(--osso); transition:transform .45s var(--curva); }

.marca{ display:flex; align-items:center; gap:11px; text-decoration:none; flex:0 0 auto; color:#fff; }
.marca__nome{ display:flex; flex-direction:column; line-height:1; }
.marca__nome strong{
  font-family:var(--placa-f); font-weight:800; text-transform:uppercase;
  font-size:1.42rem; letter-spacing:.005em; color:inherit;
}
.marca__nome em{
  font-family:var(--dado); font-style:normal; font-size:.52rem;
  letter-spacing:.1em; text-transform:uppercase; color:var(--aco); margin-top:4px;
}
@media (hover:hover){
  .marca:hover .ev-carro{ transform:translateY(-3.5px); }
  .marca:hover .ev-braco{ transform:translateY(-2px); }
}

/* ═════════════════════════════ TOPO ═════════════════════════════ */

.topo{
  position:sticky; top:0; z-index:110;
  background:var(--asfalto);
  border-bottom:2px solid transparent;
  transition:border-color .35s var(--curva), background .35s var(--curva);
}
.topo.fixo{
  border-bottom-color:var(--borda-noite);
  background:rgba(11,11,12,.94);
  backdrop-filter:blur(12px);
}

.topo__interno{
  max-width:var(--largura); margin-inline:auto;
  padding:13px var(--gutter);
  display:flex; align-items:center; gap:clamp(14px,3vw,42px);
}

.nav{ display:flex; gap:clamp(12px,2vw,30px); margin-left:auto; }
.nav a{
  display:block; overflow:hidden; text-decoration:none;
  font-family:var(--texto); font-size:.92rem; font-weight:500;
  line-height:1.9; color:var(--osso);
}
.nav a > span{ display:block; position:relative; transition:transform .42s var(--curva); }
.nav a > span::after{
  content:attr(data-eco); position:absolute; left:0; top:100%;
  color:var(--solda); white-space:nowrap;
}
.nav a:hover > span,.nav a:focus-visible > span{ transform:translateY(-100%); }

.topo__cta{ flex:0 0 auto; }

.alavanca{
  display:none; margin-left:auto;
  width:46px; height:40px; padding:11px 9px;
  background:transparent; border:2px solid var(--solda); border-radius:0;
  color:var(--solda); cursor:pointer;
  flex-direction:column; justify-content:space-between; align-items:stretch;
}
.alavanca span{
  display:block; width:100%; height:2px; flex:0 0 2px; background:currentColor;
  transition:transform .3s var(--curva), opacity .2s;
}
.alavanca[aria-expanded="true"] span:nth-child(1){ transform:translateY(6px) rotate(45deg); }
.alavanca[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.alavanca[aria-expanded="true"] span:nth-child(3){ transform:translateY(-6px) rotate(-45deg); }

.nav-movel{
  display:none; flex-direction:column;
  background:var(--graxa); border-top:2px solid var(--solda);
  padding:4px var(--gutter) 22px;
}
.nav-movel a{
  font-family:var(--placa-f); font-weight:700;
  font-size:1.6rem; line-height:1.15; text-decoration:none; color:var(--osso);
  padding:14px 0; border-bottom:1px solid var(--borda-noite);
}
.nav-movel .btn{ margin-top:20px; border-bottom:0; }

/* ═════════════════════════════ BOTÕES ═════════════════════════════ */

.btn{
  position:relative; isolation:isolate; overflow:hidden;
  display:inline-flex; align-items:center; justify-content:center;
  font-family:var(--texto); font-size:.92rem; font-weight:600;
  letter-spacing:.005em; text-decoration:none; white-space:nowrap;
  padding:14px 26px; border:2px solid transparent; border-radius:3px;
  transition:color .3s var(--curva), border-color .3s var(--curva);
}
.btn > span{ position:relative; z-index:2; }
/* a faixa zebrada varre o botão */
.btn::before{
  content:""; position:absolute; inset:0; z-index:1;
  background:var(--osso);
  transform:translateX(-101%);
  transition:transform .45s var(--curva);
}
.btn:hover::before,.btn:focus-visible::before{ transform:translateX(0); }

.btn--acao{ background:var(--solda); color:#fff; border-color:var(--solda); }
.btn--acao:hover,.btn--acao:focus-visible{ color:var(--asfalto); border-color:var(--osso); }

.btn--vazado{ background:transparent; color:inherit; border-color:currentColor; }
.btn--vazado::before{ background:var(--osso); }
.btn--vazado:hover,.btn--vazado:focus-visible{ color:var(--asfalto); border-color:var(--solda); }

.btn--grande{ padding:16px 30px; font-size:.98rem; }
.contato .btn--vazado{ color:var(--asfalto); border-color:var(--asfalto); }
.contato .btn--vazado::before{ background:var(--asfalto); }
.contato .btn--vazado:hover,.contato .btn--vazado:focus-visible{ color:var(--osso); border-color:var(--asfalto); }

/* ═════════════════════════════ HERO ═════════════════════════════ */

.palco{
  background:var(--asfalto);
  padding-block:clamp(34px,5vw,72px) clamp(30px,4vw,56px);
  position:relative; overflow:hidden;
}
.palco::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(72% 62% at 76% -6%, rgba(255,252,246,.085) 0%, transparent 64%);
}
.palco > .conteudo{ position:relative; z-index:1; }

.etiqueta{
  display:inline-flex; align-items:center; gap:.8em;
  font-family:var(--dado); font-size:.66rem; font-weight:500;
  text-transform:uppercase; color:var(--aco); margin:0;
}
.etiqueta__ponto{ width:9px; height:9px; background:var(--solda); flex:0 0 auto; }

.bandeira{
  font-size:clamp(2.5rem, 6.6vw, 5.9rem);
  line-height:.98;
  color:var(--osso);
  margin:clamp(18px,2.4vw,30px) 0 clamp(30px,4vw,54px);
}
.bandeira__linha{ display:block; overflow:hidden; padding-bottom:.02em; }
.bandeira__linha > span{ display:block; }
.bandeira__linha--luz > span{ color:var(--osso); }

.palco__base{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.3fr) minmax(0,.62fr);
  gap:clamp(16px,2vw,30px);
  align-items:stretch;
}

.palco__lado{ display:flex; flex-direction:column; align-self:start; }
.palco__sub{
  font-size:clamp(.98rem,1.1vw,1.08rem); color:var(--aco);
  border-top:1px solid var(--borda-noite); padding-top:18px;
  margin-bottom:0;
}
.palco__acoes{ display:flex; flex-wrap:wrap; gap:10px; padding-top:clamp(22px,2.6vw,34px); }

.palco__chapa{ margin:0; display:flex; flex-direction:column; }
.palco__chapa .duo{ flex:1 1 auto; min-height:clamp(210px,24vw,330px); }
.palco__chapa figcaption,
.oficina__foto figcaption{
  font-family:var(--dado); font-size:.58rem; text-transform:uppercase;
  color:var(--aco); padding-top:10px;
}

/* placas de dados, coladas como adesivo */
.placas{ display:grid; gap:8px; align-content:start; }
.placa{ background:var(--ferro); border:1px solid var(--borda-noite); border-radius:3px; padding:12px 15px; }
.placa__rot{
  font-family:var(--dado); font-size:.55rem; text-transform:uppercase;
  color:var(--aco); margin:0 0 3px;
}
.placa__val{
  font-family:var(--placa-f); font-weight:700;
  font-size:2.05rem; line-height:1; color:var(--osso); margin:0;
}
.placa__val span{ font-size:.95rem; color:var(--aco); margin-left:.15em; }
.placa__val--mini{ font-size:1.12rem; line-height:1.25; }
.placa__pe{
  font-family:var(--dado); font-size:.53rem; text-transform:uppercase;
  color:var(--aco); margin:5px 0 0;
}
.placa--nota .placa__val{ color:var(--solda); }

.placa--cheia{ background:var(--ferro); }



/* ═════════════════════════ DUOTONE DAS FOTOS ═════════════════════════ */

.duo{ position:relative; isolation:isolate; overflow:hidden; background:var(--asfalto); }
.duo img{
  width:100%; height:100%; object-fit:cover;
  filter:grayscale(1) contrast(1.16) brightness(1.03);
  transform:translate3d(0,var(--py,0px),0) scale(1.08);
  transition:transform .8s var(--curva), filter .5s var(--curva);
  will-change:transform;
}
.duo::after{
  content:""; position:absolute; inset:0; z-index:2; pointer-events:none;
  background:linear-gradient(180deg, transparent 42%, rgba(11,11,12,.5) 100%);
}
@media (hover:hover){
  .duo:hover img{ transform:translate3d(0,var(--py,0px),0) scale(1.1); filter:grayscale(0) contrast(1.04); }
}

/* ═════════════════════════ FITA DE SINTOMAS ═════════════════════════ */

.fita{ background:var(--graxa); border-block:1px solid var(--borda-noite); overflow:hidden; }
.fita__trilho{ display:flex; width:max-content; animation:corre 48s linear infinite; }
@keyframes corre{ from{ transform:translate3d(0,0,0); } to{ transform:translate3d(-50%,0,0); } }
.fita:hover .fita__trilho{ animation-play-state:paused; }
.fita__grupo{ display:flex; align-items:center; padding:12px 0; white-space:nowrap; flex:0 0 auto; }
.fita b{
  font-family:var(--dado); font-size:.68rem; font-weight:600;
  text-transform:uppercase; color:var(--aco); padding:0 20px;
}
.fita i{ width:5px; height:5px; background:var(--solda); flex:0 0 auto; border-radius:50%; }

/* ═════════════════════════════ SEÇÕES ═════════════════════════════ */

.secao{ padding-block:var(--respiro); }
.secao--osso{ background:var(--osso); color:#55575B; }
.secao--osso h2,.secao--osso h3{ color:var(--asfalto); }
.secao--ferro{ background:var(--ferro); color:var(--aco); }
.secao--asfalto{ background:var(--asfalto); color:var(--aco); }

.cabeca{ margin-bottom:clamp(34px,4.4vw,62px); }

/* barra de identificação da seção: rótulo à esquerda, dado à direita */
.cabeca__barra{
  display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center;
  gap:6px 20px;
  border-bottom:2px solid currentColor;
  padding-bottom:11px;
  margin-bottom:clamp(22px,2.8vw,38px);
}
.cabeca__rot{
  display:inline-flex; align-items:center; gap:.75em;
  font-family:var(--dado); font-size:.64rem; font-weight:600;
  text-transform:uppercase; color:var(--asfalto);
}
.cabeca__marca{ width:15px; height:15px; background:var(--solda); flex:0 0 auto; }
.cabeca__dado{
  font-family:var(--dado); font-size:.6rem; text-transform:uppercase;
  color:inherit; opacity:.72; margin:0;
}

.cabeca__corpo{
  display:grid;
  grid-template-columns:minmax(0,1.32fr) minmax(0,.68fr);
  column-gap:clamp(28px,5vw,80px);
  align-items:end;
}
/* entrelinha folgada o bastante para o acento de maiúscula não ser cortado */
.cabeca h2{ font-size:clamp(2.05rem,4.7vw,4.15rem); line-height:.94; color:var(--asfalto); }
.cabeca__texto{ font-size:1.04rem; margin:0; max-width:46ch; }

.cabeca--claro .cabeca__rot,.cabeca--claro h2{ color:#fff; }
.cabeca--escuro .cabeca__rot,.cabeca--escuro h2{ color:var(--asfalto); }
.cabeca--escuro .cabeca__marca{ background:var(--asfalto); }

/* ═══════════════════════ O LAUDO — grade dura ═══════════════════════ */

.catalogo{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(3,1fr);
  border-top:2px solid var(--asfalto);
  border-left:2px solid var(--asfalto);
}

.cela{
  position:relative; overflow:hidden;
  border-right:2px solid var(--asfalto);
  border-bottom:2px solid var(--asfalto);
  padding:clamp(20px,2vw,28px);
  background:var(--osso);
  transition:background .38s var(--curva), color .38s var(--curva);
}

.cela__n{
  position:absolute; top:clamp(12px,1.4vw,18px); right:clamp(14px,1.5vw,20px);
  font-family:var(--placa-f); font-weight:800; font-size:5rem; line-height:1;
  color:transparent; -webkit-text-stroke:1.5px var(--osso-linha);
  transition:-webkit-text-stroke-color .38s var(--curva), transform .55s var(--curva);
  pointer-events:none;
}

.cela__foto{ width:76px; height:76px; overflow:hidden; background:var(--osso-linha); margin-bottom:20px; }
.cela__foto img{
  width:100%; height:100%; object-fit:cover;
  filter:grayscale(1) contrast(1.15);
  transition:filter .45s var(--curva), transform .7s var(--curva);
}

.cela__sinal{
  font-family:var(--dado); font-size:.58rem; font-weight:600;
  text-transform:uppercase; color:var(--solda);
  margin:0 0 .75em; line-height:1.6; position:relative; z-index:1;
  transition:color .38s var(--curva);
}
.cela h3{ font-size:1.7rem; line-height:.98; margin-bottom:.42em; position:relative; z-index:1;
  transition:color .38s var(--curva); }
.cela__texto{ font-size:.95rem; margin:0; position:relative; z-index:1; }

.cela__seta{
  position:absolute; right:clamp(20px,2vw,28px); bottom:clamp(18px,2vw,24px);
  width:26px; height:2px; background:var(--solda);
  opacity:0; transform:translateX(-12px);
  transition:opacity .35s var(--curva), transform .35s var(--curva);
}
.cela__seta::after{
  content:""; position:absolute; right:0; top:-4px;
  width:10px; height:10px;
  border-top:2px solid var(--solda); border-right:2px solid var(--solda);
  transform:rotate(45deg);
}

@media (hover:hover){
  .cela:hover{ background:var(--asfalto); color:var(--aco); }
  .cela:hover .cela__n{ -webkit-text-stroke-color:rgba(218,41,28,.85); transform:translateY(4px); }
  .cela:hover .cela__sinal{ color:var(--solda); }
  .cela:hover h3{ color:var(--osso); }
  .cela:hover .cela__foto img{ filter:grayscale(0) contrast(1.05); transform:scale(1.09); }
  .cela:hover .cela__seta{ opacity:1; transform:translateX(0); }
}

.adendo{
  margin-top:clamp(26px,3vw,42px); padding-top:20px;
  border-top:2px solid var(--asfalto);
  font-size:.97rem;
}
.adendo span{
  display:inline-block; margin-right:.8em; padding:3px 9px;
  background:var(--solda); color:#fff;
  font-family:var(--dado); font-size:.56rem; font-weight:600; text-transform:uppercase;
}

/* ═══════════════════════ ELEVAÇÃO — 4 blocos ═══════════════════════ */

.etapas{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(4,1fr);
  border-top:2px solid rgba(255,255,255,.28);
  border-left:2px solid rgba(255,255,255,.28);
}
.etapa{
  position:relative; overflow:hidden;
  border-right:2px solid rgba(255,255,255,.28);
  border-bottom:2px solid rgba(255,255,255,.28);
  padding:clamp(22px,2.2vw,32px);
  transition:background .38s var(--curva);
}
.etapa::before{
  content:""; position:absolute; left:0; top:0; height:5px; width:var(--avanco,25%);
  background:var(--solda);
  transform:scaleX(0); transform-origin:left;
  transition:transform .9s var(--curva) .12s;
}
.etapa.revelado::before{ transform:scaleX(1); }
.etapa:nth-child(1){ --avanco:25%; }
.etapa:nth-child(2){ --avanco:50%; }
.etapa:nth-child(3){ --avanco:75%; }
.etapa:nth-child(4){ --avanco:100%; }

.etapa__n{
  display:block;
  font-family:var(--placa-f); font-weight:900; font-size:3.6rem; line-height:1;
  color:var(--solda); margin-bottom:.24em;
  transition:transform .45s var(--curva);
}
.etapa h3{ font-size:1.46rem; line-height:.98; color:#fff; margin-bottom:.5em; min-height:2em; }
.etapa p{ font-size:.95rem; margin:0; }

@media (hover:hover){
  .etapa:hover{ background:var(--asfalto); }
  .etapa:hover .etapa__n{ transform:translateY(-4px); }
}

/* ═════════════════════════════ OFICINA ═════════════════════════════ */

.oficina__grade{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);
  gap:clamp(28px,4vw,64px); align-items:start;
}
.oficina__foto{ margin:0; }
.oficina__foto .duo{ aspect-ratio:4/3; }

.garantias{ list-style:none; margin:2em 0 0; padding:0; }
.garantias li{
  position:relative; padding-left:30px; margin-bottom:.7em;
  font-family:var(--dado); font-size:.7rem; line-height:1.75; color:var(--asfalto);
}
.garantias li::before{
  content:""; position:absolute; left:0; top:.55em;
  width:17px; height:4px; background:var(--solda);
}

/* ═════════════════════════════ VOZES ═════════════════════════════ */

.vozes .cabeca{ margin-bottom:clamp(20px,2.4vw,30px); }
.grito{
  margin:0 0 clamp(34px,4.4vw,60px);
  border-top:0; padding-top:0;
  border-bottom:3px solid var(--borda-noite);
  padding-block:clamp(24px,3vw,44px);
}
.grito p{
  font-family:var(--placa-f); font-weight:800;
  font-size:clamp(2.1rem,5.4vw,4.5rem); line-height:1.02;
  color:var(--osso); margin:0 0 .28em;
}
.grito footer{ display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 16px; }
.grito cite{
  font-style:normal; font-family:var(--dado); font-size:.66rem; font-weight:600;
  text-transform:uppercase; color:var(--osso);
}
.grito footer span{
  font-family:var(--dado); font-size:.58rem; text-transform:uppercase;
  color:var(--aco);
}

.vozes__grade{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(18px,2.4vw,34px); }
.voz{
  margin:0; padding:22px;
  transition:transform .4s var(--curva), border-color .4s var(--curva);
  background:var(--ferro); color:var(--aco);
  border-left:3px solid var(--borda-noite);
}
.voz p{ font-size:1rem; margin:0 0 18px; color:var(--osso); }
.voz cite{
  font-style:normal; font-family:var(--dado); font-size:.58rem;
  text-transform:uppercase; color:var(--solda);
}
@media (hover:hover){ .voz:hover{ transform:translateY(-6px); border-left-color:var(--solda); } }

/* ═════════════════════════════ CONTATO ═════════════════════════════ */

.contato__grade{
  display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  gap:clamp(28px,4vw,60px); align-items:start;
}
.contato__acoes{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:2.4em; }

.dados{ margin:0; display:grid; grid-template-columns:repeat(2,1fr); gap:24px 30px; }
.dados dt{
  font-family:var(--dado); font-size:.56rem; text-transform:uppercase;
  color:var(--solda); margin-bottom:7px;
}
.dados dd{ margin:0; color:var(--asfalto); line-height:1.55; font-size:.98rem; }
.dados a{ text-decoration:none; border-bottom:2px solid var(--osso-linha); }
.dados a:hover{ border-bottom-color:var(--solda); }

.contato__mapa{ display:flex; flex-direction:column; }
.contato__mapa iframe{
  width:100%; flex:1 1 auto; min-height:clamp(290px,36vw,410px);
  border:2px solid var(--asfalto); display:block;
}
.mapa__rota{
  align-self:flex-start; margin-top:14px;
  font-family:var(--texto); font-size:.9rem; font-weight:500;
  text-decoration:none; overflow:hidden; display:block;
}
.mapa__rota > span{ display:block; transition:transform .35s var(--curva), color .35s var(--curva); }
.mapa__rota:hover > span{ transform:translateX(6px); color:var(--solda); }

/* ═════════════════════════════ RODAPÉ ═════════════════════════════ */

.rodape{
  background:var(--graxa);
  border-top:1px solid var(--borda-noite);
  padding-block:clamp(44px,5vw,72px) 0;
}

.rodape__grade{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);
  gap:clamp(28px,3.4vw,52px);
  padding-bottom:clamp(32px,4vw,52px);
}

.rodape__bloco--marca{ max-width:34ch; }
.rodape__sobre{
  margin:18px 0 24px; font-size:.95rem; color:var(--aco); line-height:1.65;
}
.rodape__selo{
  display:flex; align-items:center; gap:13px;
  border-top:1px solid var(--borda-noite); padding-top:18px;
}
.rodape__selo img{ width:auto; height:46px; flex:0 0 auto; }
.rodape__selo p{
  margin:0; font-family:var(--dado); font-size:.55rem;
  text-transform:uppercase; color:var(--aco); line-height:1.85;
}

.rodape__titulo{
  font-family:var(--placa-f); font-weight:700; font-size:1.32rem;
  color:var(--osso); margin:0 0 16px; line-height:1;
}

.rodape__lista{ list-style:none; margin:0; padding:0; }
.rodape__lista li{
  font-size:.92rem; color:var(--aco); line-height:1.85;
}

.rodape__endereco{
  font-style:normal; font-size:.94rem; color:var(--aco);
  line-height:1.7; margin-bottom:14px;
}

.rodape__link{
  display:inline-block; overflow:hidden; margin-bottom:22px;
  font-family:var(--texto); font-size:.9rem; font-weight:500;
  color:var(--osso); text-decoration:none;
  border-bottom:1px solid var(--borda-noite); padding-bottom:3px;
  transition:border-color .3s var(--curva);
}
.rodape__link > span{ display:block; transition:transform .35s var(--curva); }
.rodape__link:hover{ border-bottom-color:var(--solda); }
.rodape__link:hover > span{ transform:translateX(4px); }

.rodape__pares{ margin:0; display:grid; gap:14px; }
.rodape__pares dt{
  font-family:var(--dado); font-size:.55rem; text-transform:uppercase;
  color:var(--solda); margin-bottom:4px;
}
.rodape__pares dd{ margin:0; font-size:.96rem; color:var(--osso); }
.rodape__pares a{ text-decoration:none; border-bottom:1px solid var(--borda-noite); }
.rodape__pares a:hover{ border-bottom-color:var(--solda); }

.rodape__rotulo{
  font-family:var(--dado); font-size:.55rem; text-transform:uppercase;
  color:var(--solda); margin:22px 0 5px;
}
.rodape__texto{ margin:0; font-size:.96rem; color:var(--osso); }
.rodape__nota{
  font-family:var(--placa-f); font-weight:700; font-size:1.3rem;
  color:var(--osso); margin-right:.15em;
}

.rodape__redes{ display:flex; gap:18px; margin-top:4px; }
.rodape__redes a{
  font-family:var(--texto); font-size:.92rem; font-weight:500;
  text-decoration:none; color:var(--osso); overflow:hidden; display:block;
  border-bottom:1px solid var(--borda-noite); padding-bottom:2px;
  transition:border-color .3s var(--curva);
}
.rodape__redes a > span{ display:block; transition:transform .35s var(--curva); }
.rodape__redes a:hover{ border-bottom-color:var(--solda); }
.rodape__redes a:hover > span{ transform:translateX(4px); }

.rodape__pe{
  display:flex; flex-wrap:wrap; align-items:center;
  justify-content:space-between; gap:12px 30px;
  border-top:1px solid var(--borda-noite);
  padding:20px 0 30px;
}
.rodape__pe p{
  margin:0; font-family:var(--dado); font-size:.55rem;
  text-transform:uppercase; color:#66666A;
}
.rodape__atalhos{ display:flex; flex-wrap:wrap; gap:6px 20px; }
.rodape__atalhos a{
  font-family:var(--dado); font-size:.55rem; text-transform:uppercase;
  text-decoration:none; color:#66666A;
  transition:color .3s var(--curva);
}
.rodape__atalhos a:hover{ color:var(--solda); }

/* ═════════════════════════ WHATSAPP FLUTUANTE ═════════════════════════ */

.zap{
  position:fixed; right:20px; bottom:20px; z-index:95;
  width:56px; height:56px;
  background:var(--zap); color:#fff;
  display:grid; place-items:center;
  border-radius:50%; border:0;
  box-shadow:0 14px 30px -10px rgba(0,0,0,.8);
  transition:transform .3s var(--curva), background .3s var(--curva);
}
.zap svg{ width:28px; height:28px; }
.zap:hover{ transform:translateY(-4px) scale(1.05); background:#18904a; }

/* ═════════════════════════════ MOVIMENTO ═════════════════════════════ */

/* entrada: as linhas do título sobem por trás de uma máscara */
.js .bandeira__linha > span{ transform:translateY(108%); }
.js .palco.pronto .bandeira__linha > span{
  transform:none; transition:transform 1s cubic-bezier(.16,.86,.24,1);
}
.js .palco.pronto [data-linha="1"] > span{ transition-delay:.10s; }
.js .palco.pronto [data-linha="2"] > span{ transition-delay:.22s; }

.js [data-sobe]{ opacity:0; transform:translateY(24px); }
.js .palco.pronto [data-sobe]{
  opacity:1; transform:none;
  transition:opacity .8s var(--curva), transform .8s var(--curva);
}
.js .palco.pronto [data-sobe="1"]{ transition-delay:.04s; }
.js .palco.pronto [data-sobe="3"]{ transition-delay:.42s; }
.js .palco.pronto [data-sobe="4"]{ transition-delay:.50s; }
.js .palco.pronto [data-sobe="5"]{ transition-delay:.58s; }

/* revelações no scroll, nos dois sentidos — --dir dá o lado de entrada */
.js [data-rev]{
  opacity:0; transform:translateY(calc(22px * var(--dir, 1)));
  transition:opacity .6s var(--curva), transform .6s var(--curva);
}
.js [data-rev].revelado{ opacity:1; transform:none; }

/* ═════════════════════════════ RESPONSIVO ═════════════════════════════ */

@media (max-width:1100px){
  .palco__base{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .placas{ grid-column:1/-1; grid-template-columns:repeat(4,1fr); }
  .catalogo{ grid-template-columns:repeat(2,1fr); }
  .etapas{ grid-template-columns:repeat(2,1fr); }
  .vozes__grade{ grid-template-columns:1fr; }
  .rodape__grade{ grid-template-columns:repeat(2,1fr); }
  .rodape__bloco--marca{ grid-column:1/-1; max-width:52ch; }
  .oficina__grade{ grid-template-columns:1fr; }
  .contato__grade{ grid-template-columns:1fr; }
  .cabeca__corpo{ grid-template-columns:1fr; row-gap:18px; align-items:start; }
}

@media (max-width:900px){
  .nav,.topo__cta{ display:none; }
  .alavanca{ display:flex; }
  .nav-movel{ display:flex; }
  .nav-movel[hidden]{ display:none; }
}

@media (max-width:640px){
  body{ font-size:1rem; }
  :root{ --zw:12px; }
  .palco__base{ grid-template-columns:1fr; gap:22px; }
  .placas{ grid-template-columns:repeat(2,1fr); }
  .catalogo{ grid-template-columns:1fr; }
  .etapas{ grid-template-columns:1fr; }
  .cela__n{ font-size:3.8rem; }
  .dados{ grid-template-columns:1fr; gap:20px; }
  .palco__acoes,.contato__acoes{ flex-direction:column; align-items:stretch; }
  .rodape__grade{ grid-template-columns:1fr; gap:34px; }
  .zap{ width:52px; height:52px; right:14px; bottom:14px; }
}

/* ═════════════════════════ MOVIMENTO REDUZIDO ═════════════════════════ */

@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{
    animation-duration:.01ms !important; animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
  .js [data-sobe],.js [data-rev]{ opacity:1 !important; transform:none !important; }
  .duo img{ transform:scale(1.02) !important; }
  .fita__trilho{ animation:none !important; }
  .js .bandeira__linha > span{ transform:none !important; }
  .etapa::before{ transform:scaleX(1) !important; }
}
