/* ═══════════════════════════════════════════════════════════
   GranMestre Marcenaria — LP Cozinha Planejada
   Sistema: cota de desenho técnico (marca a medida real)
   Paleta da marca: chumbo #424141 · areia #A5A3A1
   ═══════════════════════════════════════════════════════════ */

:root{
  /* Paleta AMOSTRADA da referência que o cliente mandou (set/26), não escolhida no olho.
     Dourado #D9A760 reprova sobre branco (2,18:1) ⇒ em TEXTO sobre claro entra --terra
     (6,79:1) e em FILETE sobre claro entra --latao-esc (3,63:1, passa como gráfico). */
  --chumbo:#3A3A3C;
  --chumbo-esc:#1B1C1E;     /* fundo escuro da referência */
  --preto:#141517;          /* faixa de ícones: a referência a faz mais escura que o header */
  --chumbo-mid:#5C5A57;
  --areia:#A5A3A1;
  --areia-cl:#E6E2DC;
  --areia-pl:#F6F2EF;
  --bege:#F0E8DD;           /* creme quente do mockup 2 */
  --branco:#fff;
  --latao:#D9A760;          /* dourado — SOBRE ESCURO e em ícones */
  --latao-esc:#B07C34;      /* dourado fechado — filetes sobre claro */
  --terra:#96421E;          /* terracota — botões de marca e texto sobre claro */
  --terra-esc:#7C3618;
  --zap:#1E9E52;
  --zap-esc:#177f42;
  --txt:#33322F;
  --txt-fraco:#6B6864;

  --fonte:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  --mono:var(--fonte);      /* a referência não tem monoespaçada em lugar nenhum */

  /* curvas: easing.dev, não inventadas à mão */
  --ease-out:cubic-bezier(.23,1,.32,1);
  --ease-in-out:cubic-bezier(.77,0,.175,1);

  --larg:1240px;
  --pad:clamp(1.15rem,4vw,2.5rem);
  --sec:clamp(3.75rem,9vw,7.5rem);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--branco);color:var(--txt);
  font-family:var(--fonte);font-size:1.0625rem;line-height:1.65;font-weight:400;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{margin:0;font-weight:700;letter-spacing:-.03em;line-height:1.05}
p{margin:0 0 1rem}
:focus-visible{outline:2px solid var(--latao);outline-offset:3px;border-radius:2px}

.wrap{width:100%;max-width:var(--larg);margin-inline:auto;padding-inline:var(--pad)}
.wrap--estreito{max-width:820px}
.centro{text-align:center}

/* ─── OLHO (eyebrow) ─────────────────────────────────────── */
.olho{
  font-family:var(--mono);font-size:.7rem;font-weight:500;
  letter-spacing:.2em;text-transform:uppercase;
  color:var(--latao);margin:0 0 1.1rem;
}
.olho--esc{color:var(--terra)}

/* ─── COTA: a assinatura da página ───────────────────────── */
.cota{display:flex;align-items:center;gap:.6rem;margin:0 0 1.6rem;max-width:420px}
.cota__marca{width:1px;height:13px;background:var(--latao);flex:none}
.cota__linha{
  height:1px;background:var(--latao);flex:1;min-width:22px;
  transform-origin:left center;
}
.cota__valor{
  font-family:var(--mono);font-size:.7rem;letter-spacing:.13em;
  color:var(--latao);white-space:nowrap;text-transform:uppercase;flex:none;
}
.cota--h{margin-block:1.8rem 1.4rem}

/* ─── BOTÕES ─────────────────────────────────────────────── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  padding:1.05rem 1.85rem;border:1px solid transparent;border-radius:2px;
  font-family:var(--fonte);font-size:1rem;font-weight:600;letter-spacing:-.01em;
  text-decoration:none;cursor:pointer;
  transition:background .22s ease,color .22s ease,border-color .22s ease,transform .16s var(--ease-out);
}
.btn{white-space:nowrap}
.btn:active{transform:scale(.97)}
.btn .ico{width:19px;height:19px;fill:currentColor;flex:none}
.btn--zap{background:var(--zap);color:#fff}
.btn--zap:hover{background:var(--zap-esc)}
.btn--terra{background:var(--terra);color:#fff}
.btn--terra:hover{background:var(--terra-esc)}
.btn--claro{background:var(--terra);color:#fff}
.btn--claro:hover{background:var(--terra-esc)}
.btn--fantasma{background:transparent;color:#fff;border-color:rgba(255,255,255,.45)}
.btn--fantasma:hover{background:rgba(255,255,255,.12);border-color:#fff}
.btn--sm{padding:.62rem 1.1rem;font-size:.9rem}
.btn--largo{width:100%}

/* ─── HEADER ─────────────────────────────────────────────── */
.topo{
  position:sticky;top:0;z-index:50;background:var(--chumbo-esc);
  border-bottom:1px solid rgba(168,129,78,.32);
}
.topo__in{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:66px}
.topo__logo img{width:152px;height:auto}
.topo__acoes{display:flex;align-items:center;gap:1.1rem}
.topo__tel{
  font-family:var(--mono);font-size:.82rem;letter-spacing:.04em;
  color:var(--areia);text-decoration:none;
}
.topo__tel:hover{color:#fff}
.topo__tels{display:flex;flex-direction:column;gap:.1rem;line-height:1.25;text-align:right;white-space:nowrap}
.topo__nav{display:flex;align-items:center;gap:clamp(.9rem,1.9vw,1.75rem)}
.topo__nav a{
  text-decoration:none;font-size:.88rem;font-weight:400;letter-spacing:.005em;
  color:rgba(255,255,255,.72);transition:color .18s ease;white-space:nowrap;
}
.topo__nav a:hover{color:#fff}

/* ─── REDES SOCIAIS (rodapé) ─────────────────────────────── */
.social{display:flex;gap:.6rem;margin:.35rem 0 .1rem;padding:0;list-style:none}
.social a{
  width:36px;height:36px;border:1px solid rgba(255,255,255,.2);
  display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.62);
  transition:border-color .25s,color .25s;
}
.social a:hover{border-color:var(--latao);color:#fff}
.social svg{width:17px;height:17px;fill:currentColor}

/* ─── HERO ───────────────────────────────────────────────── */
.hero{position:relative;background:var(--chumbo-esc);isolation:isolate}
.hero__foto{position:absolute;inset:0;z-index:-2}
.hero__foto img{width:100%;height:100%;object-fit:cover;object-position:62% 55%}
.hero::before{
  content:'';position:absolute;inset:0;z-index:-1;
  background:
    linear-gradient(100deg,rgba(28,27,26,.95) 0%,rgba(28,27,26,.86) 34%,rgba(28,27,26,.5) 64%,rgba(28,27,26,.34) 100%),
    linear-gradient(to top,rgba(28,27,26,.92) 0%,rgba(28,27,26,.55) 22%,transparent 52%);
}
.hero__in{padding-block:clamp(3.4rem,8vw,6.2rem) clamp(2.4rem,5vw,4rem);max-width:920px;margin-inline:0}
.hero__in{margin-inline:auto}
.hero__h1{
  font-size:clamp(2.15rem,5.4vw,4.15rem);font-weight:800;letter-spacing:-.038em;
  line-height:.99;color:#fff;margin:0 0 1rem;max-width:15ch;
}
.hero__h1 em{font-style:normal;color:var(--areia);font-weight:300}
.hero__mote{
  font-size:clamp(1.24rem,2.5vw,1.95rem);font-weight:300;line-height:1.22;
  letter-spacing:-.02em;color:var(--areia);max-width:24ch;margin:0 0 1.35rem;
}
.hero__sub{
  font-size:clamp(1.02rem,1.45vw,1.22rem);font-weight:300;line-height:1.6;
  color:rgba(255,255,255,.86);max-width:52ch;margin:0 0 2.1rem;
}
.hero__ctas{display:flex;flex-wrap:wrap;gap:.85rem}

/* ─── VARIANTE ?hero=limpo ────────────────────────────────
   Reproduz o hero do LP.pdf da Pyxs: a foto ocupa a faixa inteira,
   em cor cheia, sem texto e sem tarja por cima. O texto que o doc
   deles pede desce para um bloco logo abaixo, sobre o chumbo. */
.hero-limpo .hero__foto{position:static;display:block;z-index:auto}
.hero-limpo .hero__foto img{height:clamp(230px,42vh,470px);object-position:60% 52%}
.hero-limpo .hero::before{display:none}
.hero-limpo .hero__in{padding-block:clamp(2rem,3.4vw,3rem) clamp(1.8rem,3vw,2.6rem)}
.hero-limpo .hero__h1,
.hero-limpo .hero__mote,
.hero-limpo .hero__sub{text-shadow:none}
.hero-limpo .hero__h1{max-width:19ch}
.hero-limpo .cota{margin-bottom:1.5rem}

/* ─── FAIXA DE SELOS (banda escura sob o hero) ───────────── */
.faixa{background:var(--preto);border-top:1px solid rgba(255,255,255,.09)}
.faixa__l{
  list-style:none;margin:0;
  display:grid;grid-template-columns:repeat(4,1fr);
}
.faixa__l li{
  padding:1.7rem 1.4rem 1.85rem;
  border-left:1px solid rgba(255,255,255,.11);
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:.22rem;
}
.faixa__l li:first-child{border-left:0}
.faixa__i{width:27px;height:27px;color:var(--latao);margin-bottom:.55rem}
.faixa__l b{
  font-family:var(--mono);font-size:.93rem;font-weight:500;letter-spacing:.02em;color:#fff;
}
.faixa__l span{font-size:.85rem;line-height:1.4;color:rgba(255,255,255,.62);font-weight:300}

/* ─── SERVIÇOS (4 cards por ambiente) ────────────────────── */
.servs{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1rem,2vw,1.6rem);
}
.serv a{
  text-decoration:none;color:inherit;display:block;height:100%;
  transition:transform .22s ease;
}

.serv__f{
  display:block;position:relative;overflow:hidden;
  aspect-ratio:4/3;background:var(--areia-cl);
  border-bottom:2px solid var(--latao);
}
.serv__f img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}

/* a foto da sala é retrato 3:4 — sem ancorar no topo, a mesa sai do quadro */
.serv:nth-child(3) .serv__f img{object-position:50% 38%}
.serv:nth-child(2) .serv__f img{object-position:50% 46%}
.serv__t{
  font-size:1.03rem;font-weight:600;letter-spacing:-.02em;
  margin:.95rem 0 .3rem;color:var(--chumbo-esc);
}
.serv__d{font-size:.9rem;line-height:1.55;font-weight:300;color:var(--txt-fraco);margin:0}

/* ─── SEÇÕES ─────────────────────────────────────────────── */
.secao{padding-block:var(--sec);scroll-margin-top:66px}
.secao--claro{background:var(--branco)}
.secao--areia{background:var(--bege)}
.secao--esc{background:var(--chumbo-esc);color:rgba(255,255,255,.85)}

.h2{font-size:clamp(1.65rem,3.7vw,2.95rem);font-weight:700;letter-spacing:-.032em;margin:0 0 1rem;max-width:24ch}
.h2--claro{color:#fff}
.lead{font-size:clamp(1rem,1.35vw,1.2rem);font-weight:300;color:var(--txt-fraco);max-width:56ch;margin:0 0 3rem}
.lead--claro{color:rgba(255,255,255,.7)}

/* ─── COMPARATIVO ────────────────────────────────────────── */
.comp{display:grid;grid-template-columns:158px 1fr 1fr;border-top:1px solid var(--areia-cl)}
.comp__cab{
  font-family:var(--mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;
  padding:1.1rem 1.4rem;font-weight:500;
}
.comp__cab--a{grid-column:2;color:var(--txt-fraco)}
.comp__cab--b{grid-column:3;color:var(--chumbo-esc);background:var(--areia-pl);border-top:2px solid var(--latao-esc)}
.comp__lin{display:contents}
.comp__tag{
  font-family:var(--mono);font-size:.68rem;letter-spacing:.11em;text-transform:uppercase;
  color:var(--terra);padding:1.35rem 1rem 1.35rem 0;border-top:1px solid var(--areia-cl);
}
.comp__a,.comp__b{padding:1.35rem 1.4rem;border-top:1px solid var(--areia-cl);font-size:.98rem;line-height:1.55}
.comp__a{color:var(--txt-fraco);font-weight:300}
.comp__b{background:var(--areia-pl);color:var(--chumbo-esc);font-weight:500}

/* ─── GALERIA ────────────────────────────────────────────── */
.galeria{
  --gh:300px;
  display:flex;flex-wrap:wrap;gap:13px;
  margin-bottom:3rem;
}
/* cada figura carrega o próprio aspecto em --ar; a linha se justifica sozinha,
   então retrato e paisagem convivem sem corte violento. */
.g{
  position:relative;margin:0;overflow:hidden;background:var(--chumbo);
  height:var(--gh);min-width:0;
  flex:var(--ar) 1 calc(var(--ar) * var(--gh));
}
.g img{width:100%;height:100%;object-fit:cover;transition:transform .55s var(--ease-out)}

.g figcaption{
  position:absolute;left:0;right:0;bottom:0;padding:2.6rem 1.15rem 1.05rem;
  font-family:var(--mono);font-size:.71rem;letter-spacing:.06em;color:#fff;
  background:linear-gradient(to top,rgba(24,23,22,.9),transparent);
  display:flex;flex-direction:column;gap:.16rem;
}
.g figcaption i{font-style:normal;color:var(--areia);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase}

/* ─── PASSOS ─────────────────────────────────────────────── */
.passos{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(5,1fr);gap:0;
  border-top:1px solid var(--areia-cl);
}
.passo{padding:2rem 1.6rem 0 0;position:relative}
.passo::before{content:'';position:absolute;top:-1px;left:0;width:38px;height:2px;background:var(--latao-esc)}
.passo__n{
  font-family:var(--mono);font-size:.74rem;letter-spacing:.16em;color:var(--terra);
  display:block;margin-bottom:.9rem;
}
.passo__t{font-size:1.16rem;font-weight:600;letter-spacing:-.02em;margin:0 0 .55rem}
.passo p{font-size:.95rem;font-weight:300;color:var(--txt-fraco);line-height:1.6;margin:0}

/* ─── DEPOIMENTOS ────────────────────────────────────────── */
.depos{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;margin-top:2rem}
.depo{
  margin:0;padding:1.7rem 1.5rem;background:var(--branco);
  border:1px solid var(--areia-cl);border-top:2px solid var(--latao-esc);
}
.depo p{font-size:1rem;line-height:1.6;font-weight:300;color:var(--txt);margin:0 0 1.2rem}
.depo cite{
  font-style:normal;font-family:var(--mono);font-size:.72rem;letter-spacing:.09em;
  color:var(--chumbo-esc);display:flex;flex-direction:column;gap:.15rem;
}
.depo cite i{font-style:normal;color:var(--txt-fraco);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase}
.skel{display:block;height:.68rem;background:var(--areia-cl);border-radius:2px;margin-bottom:.5rem}
.skel--curto{width:58%}

/* ─── PLACEHOLDER DE DADO FALTANDO ───────────────────────── */
.falta{
  border:1px dashed var(--latao-esc);background:rgba(176,124,52,.08);
  padding:1.1rem 1.25rem;margin:0 0 1.6rem;border-radius:2px;
}
.falta__tag{
  display:inline-block;font-family:var(--mono);font-size:.62rem;letter-spacing:.16em;
  text-transform:uppercase;color:#fff;background:var(--terra);
  padding:.24rem .55rem;margin-bottom:.6rem;border-radius:2px;
}
.falta p{font-size:.9rem;line-height:1.55;color:var(--txt);margin:0;font-weight:300}
.falta b{font-weight:600}
.falta--in{margin-bottom:1.1rem}

/* ─── ATELIÊ ─────────────────────────────────────────────── */
.atelie{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.atelie__foto img{width:100%;height:100%;object-fit:cover;max-height:520px}
.endereco{margin:0 0 2.2rem;display:grid;grid-template-columns:auto 1fr;gap:.55rem 1.5rem}
.endereco dt{
  font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--latao);padding-top:.22rem;
}
.endereco dd{margin:0;font-size:.95rem;font-weight:300;line-height:1.5;color:rgba(255,255,255,.82)}
.endereco a{color:#fff;text-decoration-color:var(--latao);text-underline-offset:3px}

/* ─── FAQ ────────────────────────────────────────────────── */
.faq{border-top:1px solid var(--areia-cl)}
.q{border-bottom:1px solid var(--areia-cl)}
.q summary{
  cursor:pointer;list-style:none;padding:1.35rem 2.5rem 1.35rem 0;position:relative;
  font-size:1.05rem;font-weight:500;letter-spacing:-.015em;color:var(--chumbo-esc);
}
.q summary::-webkit-details-marker{display:none}
.q summary::after{
  content:'';position:absolute;right:.4rem;top:50%;width:11px;height:11px;
  border-right:1.5px solid var(--terra);border-bottom:1.5px solid var(--terra);
  transform:translateY(-70%) rotate(45deg);transition:transform .25s ease;
}
.q[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.q summary:hover{color:var(--terra)}
.q__c{padding:0 0 1.5rem}
.q__c p{font-size:.98rem;font-weight:300;line-height:1.65;color:var(--txt-fraco);margin:0 0 .7rem}
.q__c p:last-child{margin-bottom:0}
.q__c b{color:var(--chumbo-esc);font-weight:600}

/* ─── CTA FINAL + FORM ───────────────────────────────────── */
.final{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.2rem,5vw,5rem);align-items:start}
.final__ou{
  font-family:var(--mono);font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;
  color:rgba(255,255,255,.45);margin:1.2rem 0 0;text-align:center;
}
.form{display:flex;flex-direction:column;gap:.95rem;background:rgba(255,255,255,.045);padding:clamp(1.4rem,3vw,2.2rem);border:1px solid rgba(255,255,255,.13)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.campo{display:flex;flex-direction:column;gap:.4rem}
.campo__l{
  font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--areia);
}
.campo input,.campo select{
  width:100%;padding:.92rem 1rem;border:1px solid rgba(255,255,255,.2);border-radius:2px;
  background:rgba(255,255,255,.96);color:var(--txt);
  font-family:var(--fonte);font-size:1rem;
}
.campo input::placeholder{color:#9e9b96}
.campo input:focus,.campo select:focus{outline:2px solid var(--latao);outline-offset:1px;border-color:transparent}
.campo input[aria-invalid="true"],.campo select[aria-invalid="true"]{border-color:#d9534f;outline:2px solid #d9534f}
.form .btn{margin-top:.5rem}
.form__nota{
  font-size:.78rem;font-weight:300;color:rgba(255,255,255,.5);margin:0;text-align:center;line-height:1.5;
}
.form__erro{
  font-family:var(--mono);font-size:.75rem;color:#ffb3b0;background:rgba(217,83,79,.16);
  border:1px solid rgba(217,83,79,.4);padding:.7rem .9rem;margin:0;border-radius:2px;
}

/* ─── RODAPÉ ─────────────────────────────────────────────── */
.rodape{background:#211F1E;padding-block:2.6rem;color:rgba(255,255,255,.5)}
.rodape__in{display:flex;flex-direction:column;align-items:center;gap:.7rem;text-align:center}
.rodape__logo{width:138px;height:auto;opacity:.75}
.rodape__end{font-size:.84rem;font-weight:300;margin:0;line-height:1.5}
.rodape__cop{font-family:var(--mono);font-size:.66rem;letter-spacing:.09em;margin:0;color:rgba(255,255,255,.32)}

/* ─── WHATSAPP FLUTUANTE ─────────────────────────────────── */
.zap-flut{
  position:fixed;right:16px;bottom:16px;z-index:60;
  width:54px;height:54px;border-radius:50%;background:var(--zap);
  display:none;align-items:center;justify-content:center;
  box-shadow:0 6px 22px rgba(0,0,0,.3);
}
.zap-flut svg{width:29px;height:29px;fill:#fff}

/* ─── REVELAÇÃO NO SCROLL ────────────────────────────────── */
.rev{opacity:0;transform:translateY(14px);
  transition:opacity .5s var(--ease-out),transform .5s var(--ease-out)}
.rev.vis{opacity:1;transform:none}

/* grupo escalonado: o container não anima, quem anima são os filhos.
   Tudo entrando junto é o que faz parecer template. */
.rev--stg{opacity:1;transform:none}
.rev--stg > *{opacity:0;transform:translateY(10px);
  transition:opacity .5s var(--ease-out),transform .5s var(--ease-out)}
.rev--stg.vis > *{opacity:1;transform:none}
.rev--stg.vis > :nth-child(2){transition-delay:60ms}
.rev--stg.vis > :nth-child(3){transition-delay:120ms}
.rev--stg.vis > :nth-child(4){transition-delay:180ms}
.rev--stg.vis > :nth-child(5){transition-delay:240ms}
.rev--stg.vis > :nth-child(n+6){transition-delay:300ms}

/* movimento no hover só onde existe ponteiro de verdade:
   no toque o dedo dispara hover e o estado fica grudado */
@media (hover:hover) and (pointer:fine){
  .btn:hover{transform:translateY(-2px)}
  .serv a:hover{transform:translateY(-4px)}
  .serv a:hover .serv__f img{transform:scale(1.045)}
  .g:hover img{transform:scale(1.045)}
}

/* ═══ RESPONSIVO ═══════════════════════════════════════════ */
/* o header é o que aperta primeiro: telefones saem em 1200, nav em 900 */
@media (max-width:1200px){ .topo__tels{display:none} }
@media (max-width:900px){ .topo__nav{display:none} }

@media (max-width:1000px){
  .faixa__l{grid-template-columns:repeat(2,1fr)}
  .faixa__l li:nth-child(3){border-left:0}
  .faixa__l li:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.11)}
  .servs{grid-template-columns:repeat(2,1fr)}
  .passos{grid-template-columns:repeat(2,1fr);gap:0 1.4rem}
  .passo{padding-bottom:1.8rem}
  .passo:nth-child(n+3){border-top:1px solid var(--areia-cl);padding-top:2rem}
  .galeria{--gh:232px}
  .depos{grid-template-columns:1fr;gap:.9rem}
  .atelie,.final{grid-template-columns:1fr}
  .atelie__foto{order:-1}
}
@media (max-width:700px){
  .topo__tel{display:none}
  .topo__logo img{width:132px}
  .hero__h1{max-width:none}
  .hero__ctas .btn{width:100%}
  .topo__cta{display:none}
  .faixa__l li{padding:1.25rem .6rem 1.35rem}
  .faixa__i{width:23px;height:23px;margin-bottom:.4rem}
  .faixa__l b{font-size:.86rem}
  .faixa__l span{font-size:.79rem}
  .servs{grid-template-columns:1fr;gap:1.4rem}
  .serv__f{aspect-ratio:3/2}

  /* comparativo empilha */
  .comp{grid-template-columns:1fr;border-top:0}
  .comp__cab{display:none}
  .comp__lin{display:block;border-top:1px solid var(--areia-cl);padding-top:1.3rem;margin-bottom:1.3rem}
  .comp__tag{padding:0 0 .7rem;border-top:0;display:block}
  .comp__a,.comp__b{border-top:0;padding:.85rem 1rem;position:relative;padding-left:5.6rem}
  .comp__a::before,.comp__b::before{
    content:'Loja';position:absolute;left:1rem;top:.9rem;
    font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--txt-fraco);
  }
  .comp__b::before{content:'GranMestre';color:var(--terra)}
  .comp__b{border-left:2px solid var(--latao-esc)}

  .galeria{display:grid;grid-template-columns:1fr;gap:10px}
  .g{height:auto;aspect-ratio:max(var(--ar),.78)}
  .passos{grid-template-columns:1fr}
  .passo{padding-right:0}
  .passo:nth-child(n+2){border-top:1px solid var(--areia-cl);padding-top:2rem}
  .zap-flut{display:flex}
  .endereco{grid-template-columns:1fr;gap:.2rem 0}
  .endereco dt{padding-top:.9rem}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-delay:0ms!important;animation-delay:0ms!important}
  .rev,.rev--stg > *{opacity:1;transform:none}
}

/* placeholder de foto dentro de seção escura */
.falta--foto{margin-top:1rem;background:rgba(168,129,78,.14);border-color:rgba(168,129,78,.65)}
.falta--foto p{color:rgba(255,255,255,.82)}
.falta--foto b{color:#fff}

/* legibilidade do hero sobre a parte clara da foto */
.hero__h1{text-shadow:0 2px 26px rgba(20,19,18,.55)}
.hero__sub{text-shadow:0 1px 16px rgba(20,19,18,.6)}
.hero__mote{text-shadow:0 1px 18px rgba(20,19,18,.6)}

/* ─── NOTA DO GOOGLE ─────────────────────────────────────── */
.nota{
  display:flex;align-items:center;gap:.9rem;margin:0 0 2.2rem;
  padding:1.05rem 1.4rem;background:var(--branco);
  border:1px solid var(--areia-cl);border-left:3px solid var(--latao-esc);
  width:fit-content;max-width:100%;flex-wrap:wrap;
}
.nota__n{font-size:2.1rem;font-weight:800;letter-spacing:-.04em;color:var(--chumbo-esc);line-height:1}
.nota__est{color:var(--latao-esc);font-size:1.05rem;letter-spacing:.12em}
.nota__txt{
  font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--chumbo-esc);display:flex;flex-direction:column;gap:.18rem;
}
.nota__txt i{font-style:normal;font-size:.64rem;color:var(--txt-fraco);letter-spacing:.08em}
.depos__fonte{
  font-family:var(--mono);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--txt-fraco);margin:1.5rem 0 0;
}
