/* ==========================================================================
   Perímetro Mundano — site público
   Cores do Manual de Identidade Visual (out. 2026): grafite, terracota, cinza pedra e marfim.
   ========================================================================== */

:root {
  /* Identidade: #1e2929 (grafite escuro), #212b29 (grafite), #b56c46 (terracota), #9d9385 (pedra), #fdfbf5 (marfim).
     O cobre da marca vai para títulos, grafismos e texto grande. Para botões
     e texto pequeno usa-se o cobre-escuro, que garante contraste de leitura
     (branco sobre #b56c46 fica abaixo dos 4.5:1 recomendados). */
  --carvao: #1e2929;
  --grafite: #212b29;
  --carvao-2: #263535;
  --carvao-3: #2f4040;
  --carvao-fundo: #141d1d;
  --cobre: #b56c46;
  --cobre-escuro: #985838;
  --cobre-mais-escuro: #80482d;
  --cobre-claro: #d9906d;
  --pedra: #9d9385;
  --creme: #fdfbf5;
  --marfim: #f8f8f6;
  --creme-2: #f2efe7;
  --branco: #ffffff;
  --texto: #2a2f2d;
  --texto-suave: #5f6763;
  --linha: #e5e0d6;

  --raio: 6px;
  --largura: 1180px;
  --cabecalho: 74px;
  --transicao: 200ms cubic-bezier(.4, 0, .2, 1);
}

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

html {
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--cabecalho) + 12px);
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  font-family: 'Lato', system-ui, -apple-system, 'Segoe UI', sans-serif;
  font-size: 1.04rem;
  line-height: 1.65;
  color: var(--texto);
  background: var(--creme);
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3 {
  font-family: 'Marcellus', Georgia, serif;
  font-weight: 400;
  line-height: 1.12;
  color: var(--grafite);
  margin: 0 0 .6em;
  text-wrap: balance;
}
h1 { font-size: clamp(2.8rem, 8vw, 5.4rem); letter-spacing: .01em; }
h2 { font-size: clamp(1.9rem, 4vw, 2.9rem); }
h3 { font-size: 1.35rem; }

p { margin: 0 0 1rem; }
p:last-child { margin-bottom: 0; }
a { color: inherit; }
img { max-width: 100%; display: block; }
::selection { background: var(--cobre); color: #fff; }
:focus-visible { outline: 3px solid var(--cobre-claro); outline-offset: 3px; }

.container { width: 100%; max-width: var(--largura); margin-inline: auto; padding-inline: 16px; }
@media (min-width: 640px) { .container { padding-inline: 28px; } }
.estreito { max-width: 820px; }
.centro { text-align: center; }

.saltar { position: absolute; left: -999px; top: 0; background: var(--cobre); color: #fff; padding: .6rem 1rem; z-index: 100; }
.saltar:focus { left: 1rem; top: 1rem; }

.sobretitulo {
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--cobre-escuro);
  margin-bottom: 1rem;
}
.chamada { font-size: clamp(1.05rem, 1.8vw, 1.2rem); color: var(--texto-suave); max-width: 62ch; }
.nota { font-size: .8rem; color: var(--texto-suave); margin-top: .5rem; }
.nota a { text-decoration: underline; }
.cabecalho-seccao { margin-bottom: clamp(2rem, 4vw, 3rem); }

/* ---------- botões ---------- */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  padding: .95rem 1.6rem;
  border: 0;
  border-radius: var(--raio);
  font: 700 .95rem/1 'Lato', sans-serif;
  letter-spacing: .04em;
  text-decoration: none;
  cursor: pointer;
  transition: background var(--transicao), transform var(--transicao);
}
.btn:hover { transform: translateY(-2px); }
.btn:disabled { opacity: .6; cursor: wait; transform: none; }
.btn svg { width: 19px; height: 19px; fill: currentColor; }
.btn--cobre { background: var(--cobre-escuro); color: #fff; }
.btn--cobre:hover { background: var(--cobre-mais-escuro); }
.btn--cobre.btn--incompleto, .btn--cobre.btn--incompleto:hover { background: #b9b3aa; color: #fff; transform: none; }
.obrigatorio { color: var(--cobre-escuro); font-weight: 700; }
.btn--whatsapp { background: #25d366; color: #0b2e18; }
.btn--whatsapp:hover { background: #1fbe5b; }
.btn--pequeno { padding: .65rem 1.1rem; font-size: .85rem; }
.btn--bloco { width: 100%; }
.acoes { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 2rem; }

/* ---------- cabeçalho ---------- */
.cabecalho {
  position: fixed;
  inset: 0 0 auto;
  height: var(--cabecalho);
  z-index: 50;
  background: rgba(30, 41, 41, .92);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid transparent;
  transition: border-color var(--transicao);
  color: var(--marfim);
}
.cabecalho.is-fixo { border-bottom-color: rgba(255, 255, 255, .08); }
.cabecalho .container { height: 100%; display: flex; align-items: center; gap: 1.5rem; }

.marca { display: flex; align-items: center; gap: .7rem; text-decoration: none; margin-right: auto; }
.marca img { height: 38px; width: auto; }
.marca__nome {
  font-family: 'Marcellus', serif;
  font-size: 1.2rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  line-height: 1;
  display: grid;
  gap: .25rem;
}
.marca__nome small { font-family: 'Lato', sans-serif; font-size: .58rem; letter-spacing: .5em; color: var(--cobre-claro); }

.navegacao { display: flex; align-items: center; gap: .3rem; }
.navegacao a:not(.btn) { padding: .5rem .8rem; font-size: .92rem; text-decoration: none; opacity: .85; }
.navegacao a:not(.btn):hover { opacity: 1; color: var(--cobre-claro); }

.telefone-topo {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  font-weight: 900;
  font-size: 1.05rem;
  letter-spacing: .03em;
  text-decoration: none;
  white-space: nowrap;
}
.telefone-topo svg { width: 18px; height: 18px; fill: var(--cobre-claro); }
.telefone-topo__num { display: grid; line-height: 1.15; }
.telefone-topo__num small { font-size: .58rem; font-weight: 400; letter-spacing: .02em; opacity: .7; white-space: normal; }

.alternar-menu { display: none; width: 42px; height: 42px; border: 0; background: none; cursor: pointer; position: relative; }
.alternar-menu span, .alternar-menu span::before, .alternar-menu span::after {
  position: absolute; left: 10px; width: 22px; height: 2px; background: var(--marfim); transition: transform var(--transicao);
}
.alternar-menu span { top: 50%; }
.alternar-menu span::before { content: ''; left: 0; top: -7px; }
.alternar-menu span::after { content: ''; left: 0; top: 7px; }
.alternar-menu[aria-expanded='true'] span { background: transparent; }
.alternar-menu[aria-expanded='true'] span::before { transform: translateY(7px) rotate(45deg); }
.alternar-menu[aria-expanded='true'] span::after { transform: translateY(-7px) rotate(-45deg); }

@media (max-width: 920px) {
  .alternar-menu { display: block; }
  .navegacao {
    position: absolute;
    top: var(--cabecalho);
    inset-inline: 0;
    flex-direction: column;
    align-items: stretch;
    padding: 1rem 16px 1.4rem;
    background: var(--carvao);
    border-bottom: 1px solid rgba(255, 255, 255, .08);
    display: none;
  }
  .navegacao.is-aberta { display: flex; }
  .navegacao a:not(.btn) { padding: .8rem 0; font-size: 1.05rem; }
  .navegacao .btn { margin-top: .6rem; }
}
@media (max-width: 520px) {
  .marca__nome { font-size: 1rem; }
  .telefone-topo { font-size: .95rem; }
  .telefone-topo svg { display: none; }
}

/* ---------- hero ---------- */
.hero {
  background:
    radial-gradient(1000px 500px at 85% 10%, rgba(181, 108, 70, .16), transparent 60%),
    linear-gradient(160deg, var(--carvao) 0%, var(--carvao-fundo) 100%);
  color: var(--marfim);
  padding: calc(var(--cabecalho) + clamp(3rem, 8vw, 6rem)) 0 clamp(3.5rem, 8vw, 6rem);
  position: relative;
  overflow: hidden;
}
.hero::after {
  /* o símbolo da marca, enorme e quase invisível, como textura */
  content: '';
  position: absolute;
  right: -6%;
  bottom: -12%;
  width: min(520px, 60vw);
  aspect-ratio: 155 / 225;
  background: url('../img/simbolo.svg') no-repeat center / contain;
  opacity: .06;
  pointer-events: none;
}
.hero__grelha { display: grid; grid-template-columns: 1.4fr 1fr; gap: clamp(2rem, 5vw, 4rem); align-items: center; position: relative; z-index: 1; }
@media (max-width: 900px) { .hero__grelha { grid-template-columns: 1fr; } }

.hero__pergunta { font-size: clamp(1.15rem, 2.4vw, 1.5rem); font-weight: 700; text-transform: uppercase; letter-spacing: .03em; margin-bottom: .5rem; }
.hero h1 { color: #fff; margin-bottom: .1em; text-transform: uppercase; }
.hero h1 .ponto { color: var(--cobre); }
.hero__sem {
  font-size: clamp(1.9rem, 5vw, 3.2rem);
  font-weight: 900;
  text-transform: uppercase;
  color: var(--cobre-claro);
  letter-spacing: .02em;
  margin-bottom: 1.4rem;
  line-height: 1.1;
}
.hero .chamada { color: rgba(248, 248, 246, .78); }
.hero .chamada strong { color: #fff; }
.hero .sobretitulo { color: var(--pedra); }

.hero__telefone {
  display: inline-grid;
  margin-top: 2.2rem;
  font-size: clamp(2.2rem, 6vw, 3.4rem);
  font-weight: 900;
  color: #fff;
  text-decoration: none;
  letter-spacing: .02em;
  line-height: 1;
}
.hero__telefone span { font-size: .8rem; letter-spacing: .25em; text-transform: uppercase; color: var(--pedra); margin-bottom: .5rem; font-weight: 700; }
.hero__telefone:hover { color: var(--cobre-claro); }
.hero .nota { color: rgba(248, 248, 246, .45); }

.hero__selos { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .1); }
.hero__selos li { background: var(--carvao); padding: 1.6rem 1.3rem; display: grid; gap: .3rem; }
.hero__selos strong { font-family: 'Marcellus', serif; font-weight: 400; font-size: 1.55rem; color: #fff; line-height: 1.1; }
.hero__selos li:first-child strong { color: var(--cobre-claro); font-size: 2.2rem; }
.hero__selos span { font-size: .88rem; color: var(--pedra); }

/* ---------- secções ---------- */
.seccao { padding: clamp(4rem, 9vw, 7rem) 0; }
.seccao--alt { background: var(--creme-2); }
.seccao--escura { background: var(--carvao); color: var(--marfim); }
.seccao--escura h2, .seccao--escura h3 { color: #fff; }
.seccao--escura .chamada { color: rgba(248, 248, 246, .72); }
.seccao--escura .sobretitulo { color: var(--cobre-claro); }

.tipos { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .7rem; }
.tipos li {
  padding: .8rem 1.3rem;
  border: 1px solid var(--linha);
  background: var(--branco);
  border-radius: 999px;
  font-weight: 700;
  color: var(--carvao);
}
.tipos li::before { content: '✓'; color: var(--cobre-escuro); margin-right: .5rem; }

.grelha { display: grid; gap: 1.2rem; }
.grelha--3 { grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); }

.cartao { background: var(--carvao-2); border: 1px solid rgba(255, 255, 255, .07); border-top: 3px solid var(--cobre); padding: 1.8rem 1.6rem; }
.cartao p { color: rgba(248, 248, 246, .72); font-size: .97rem; }

.passos { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: 2rem; counter-reset: passo; }
.passos li { counter-increment: passo; border-top: 1px solid var(--linha); padding-top: 1.4rem; }
.passos li::before {
  content: '0' counter(passo);
  display: block;
  font-family: 'Marcellus', serif;
  font-size: 2.8rem;
  color: var(--cobre);
  line-height: 1;
  margin-bottom: 1rem;
}
.passos p { color: var(--texto-suave); }

.tabela-rolar { overflow-x: auto; background: var(--branco); border: 1px solid var(--linha); }
table { width: 100%; border-collapse: collapse; min-width: 560px; }
th, td { padding: 1.05rem 1.2rem; text-align: left; border-bottom: 1px solid var(--linha); vertical-align: top; }
tbody tr:last-child th, tbody tr:last-child td { border-bottom: 0; }
thead th { font-family: 'Marcellus', serif; font-weight: 400; font-size: 1.1rem; color: var(--carvao); }
thead th:nth-child(2) { background: var(--carvao); color: #fff; }
tbody td:nth-child(2) { background: rgba(181, 108, 70, .08); font-weight: 700; color: var(--carvao); }
tbody th { font-weight: 700; color: var(--texto-suave); font-size: .92rem; }
td:last-child { color: var(--texto-suave); }

/* ---------- últimas compras ---------- */
.compras__topo { display: flex; align-items: flex-end; justify-content: space-between; gap: 1.5rem; }
.compras__setas { display: flex; gap: .5rem; margin-bottom: clamp(2rem, 4vw, 3rem); flex: none; }
.compras__setas[hidden] { display: none; }
.seta {
  width: 48px; height: 48px; border-radius: 50%;
  border: 1px solid var(--carvao); background: transparent; color: var(--carvao);
  font-size: 1.7rem; line-height: 1; cursor: pointer; padding-bottom: 3px;
  transition: background var(--transicao), color var(--transicao), opacity var(--transicao);
}
.seta:hover:not(:disabled) { background: var(--carvao); color: #fff; }
.seta:disabled { opacity: .3; cursor: default; }
@media (max-width: 640px) { .compras__setas { display: none; } }

.carrossel {
  --altura: clamp(260px, 38vw, 430px);
  list-style: none; margin: 0; padding: 0 0 .8rem;
  display: flex; gap: 1rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  scrollbar-color: var(--pedra) transparent;
}
.carrossel li {
  flex: none;
  position: relative;
  height: var(--altura);
  aspect-ratio: var(--proporcao, 4 / 3);
  max-width: 86vw;
  scroll-snap-align: start;
  overflow: hidden;
  background: var(--linha);
}
.carrossel button { display: block; width: 100%; height: 100%; padding: 0; border: 0; background: none; cursor: zoom-in; }
.carrossel img { width: 100%; height: 100%; object-fit: cover; transition: transform 600ms cubic-bezier(.2, .7, .2, 1); }
.carrossel li:hover img { transform: scale(1.04); }
.carrossel__legenda {
  position: absolute; inset: auto 0 0; margin: 0; padding: 2.2rem 1rem .8rem;
  background: linear-gradient(transparent, rgba(20, 29, 29, .85));
  color: #fff; font-weight: 700; font-size: .92rem; pointer-events: none;
}

.ver-foto { max-width: none; max-height: none; width: 100vw; height: 100dvh; margin: 0; padding: 0; border: 0; background: rgba(14, 20, 20, .94); }
.ver-foto::backdrop { background: rgba(14, 20, 20, .6); }
.ver-foto figure { margin: 0; height: 100%; display: grid; place-items: center; align-content: center; gap: .8rem; padding: 3.5rem 1rem; }
.ver-foto img { max-width: min(100%, 1400px); max-height: calc(100dvh - 9rem); object-fit: contain; }
.ver-foto figcaption { color: var(--marfim); text-align: center; }
.ver-foto figcaption[hidden] { display: none; }
.ver-foto button {
  position: absolute; width: 48px; height: 48px; border: 0; border-radius: 50%;
  background: rgba(255, 255, 255, .12); color: #fff; font-size: 1.8rem; line-height: 1; cursor: pointer;
}
.ver-foto button:hover { background: var(--cobre-escuro); }
.ver-foto__ant { left: 12px; top: 50%; transform: translateY(-50%); }
.ver-foto__seg { right: 12px; top: 50%; transform: translateY(-50%); }
.ver-foto__fechar { right: 12px; top: 12px; }

/* ---------- formulário ---------- */
.contacto-grelha { display: grid; grid-template-columns: 1fr 1.35fr; gap: clamp(2rem, 5vw, 4.5rem); align-items: start; }
@media (max-width: 900px) { .contacto-grelha { grid-template-columns: 1fr; } }

.contactos { list-style: none; margin: 2rem 0; padding: 0; display: grid; gap: 1.2rem; }
.contactos span { display: block; font-size: .75rem; letter-spacing: .2em; text-transform: uppercase; color: var(--texto-suave); font-weight: 700; }
.contactos a { font-size: 1.7rem; font-weight: 900; color: var(--carvao); text-decoration: none; }
.contactos a:hover { color: var(--cobre-escuro); }
.contactos .custo-chamada { display: block; margin-top: .2rem; }
.custo-chamada { font-size: .78rem; color: var(--texto-suave); }
.rodape .custo-chamada { color: rgba(248, 248, 246, .5); }

.formulario, .sucesso {
  background: var(--branco);
  border: 1px solid var(--linha);
  padding: clamp(1.4rem, 4vw, 2.4rem);
  display: grid;
  gap: 1.1rem;
  box-shadow: 0 30px 60px -40px rgba(30, 41, 41, .45);
}
.formulario[hidden], .sucesso[hidden] { display: none; }

.campo { display: grid; gap: .4rem; border: 0; margin: 0; padding: 0; min-width: 0; }
.campo label, .campo legend, .campo .rotulo { font-size: .85rem; font-weight: 700; color: var(--carvao); padding: 0; }
.dica { font-size: .8rem; font-weight: 400; color: var(--texto-suave); }
.dica a { text-decoration: underline; }
.campos-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.campos-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
@media (max-width: 620px) { .campos-2, .campos-3 { grid-template-columns: 1fr; } }

input[type='text'], input[type='email'], input[type='tel'], input[type='date'], select, textarea {
  width: 100%;
  font: inherit;
  font-size: 1rem;
  padding: .8rem .9rem;
  border: 1px solid #d4cabb;
  border-radius: var(--raio);
  background: #fdfbf8;
  color: var(--texto);
  transition: border-color var(--transicao), box-shadow var(--transicao);
}
input:focus, select:focus, textarea:focus { outline: 0; border-color: var(--cobre); box-shadow: 0 0 0 3px rgba(181, 108, 70, .18); }
textarea { resize: vertical; }

.opcoes { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .3rem; }
.opcoes label {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .55rem .9rem;
  border: 1px solid #d4cabb;
  border-radius: 999px;
  font-weight: 400;
  font-size: .92rem;
  cursor: pointer;
  transition: background var(--transicao), border-color var(--transicao);
}
.opcoes label:has(input:checked) { background: rgba(181, 108, 70, .1); border-color: var(--cobre); color: var(--carvao); font-weight: 700; }
.opcoes input { accent-color: var(--cobre); }

.zona-fotos {
  display: grid;
  place-items: center;
  gap: .2rem;
  text-align: center;
  padding: 1.6rem 1rem;
  border: 2px dashed #d4cabb;
  border-radius: var(--raio);
  background: #fdfbf8;
  cursor: pointer;
  transition: border-color var(--transicao), background var(--transicao);
}
.zona-fotos:hover, .zona-fotos:focus-within { border-color: var(--cobre); background: rgba(181, 108, 70, .05); }
.zona-fotos input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.zona-fotos strong { color: var(--cobre-escuro); font-size: 1rem; }
.zona-fotos span { font-size: .85rem; color: var(--texto-suave); font-weight: 400; }

.fotos-escolhidas { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(84px, 1fr)); gap: .5rem; }
.fotos-escolhidas:empty { display: none; }
.fotos-escolhidas li { position: relative; aspect-ratio: 1; border-radius: var(--raio); overflow: hidden; background: var(--creme-2); }
.fotos-escolhidas img { width: 100%; height: 100%; object-fit: cover; }
.fotos-escolhidas button {
  position: absolute; top: 4px; right: 4px; width: 26px; height: 26px; border: 0; border-radius: 50%;
  background: rgba(30, 41, 41, .85); color: #fff; font-size: 1.1rem; line-height: 1; cursor: pointer;
}

.caixa { display: flex; gap: .7rem; align-items: flex-start; font-size: .9rem; color: var(--texto-suave); cursor: pointer; }
.caixa input { width: 19px; height: 19px; margin-top: .15rem; accent-color: var(--cobre); flex: none; }
.caixa a { text-decoration: underline; }

.armadilha { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

.aviso { padding: .85rem 1rem; border-radius: var(--raio); background: #fbeae4; color: #8a3a1a; font-size: .93rem; margin: 0; }
.aviso[hidden] { display: none; }

.sucesso { text-align: center; justify-items: center; padding-block: 3rem; }
.sucesso__logo { width: 280px; max-width: 100%; height: auto; mix-blend-mode: multiply; }
.sucesso h3 { font-size: 1.8rem; margin: .4rem 0 0; }
.sucesso p { color: var(--texto-suave); max-width: 44ch; }
.sucesso a { color: var(--cobre-escuro); font-weight: 700; }

/* ---------- perguntas ---------- */
.perguntas { display: grid; gap: .6rem; }
.perguntas details { background: var(--branco); border: 1px solid var(--linha); }
.perguntas summary {
  cursor: pointer;
  list-style: none;
  padding: 1.15rem 3rem 1.15rem 1.3rem;
  font-weight: 700;
  color: var(--carvao);
  position: relative;
}
.perguntas summary::-webkit-details-marker { display: none; }
.perguntas summary::after { content: '+'; position: absolute; right: 1.3rem; top: 50%; transform: translateY(-50%); font-size: 1.5rem; color: var(--cobre); font-weight: 400; }
.perguntas details[open] summary::after { content: '–'; }
.perguntas details p { padding: 0 1.3rem 1.3rem; color: var(--texto-suave); }

/* ---------- faixa final ---------- */
.faixa { background: var(--cobre); color: #fff; padding: clamp(3.5rem, 8vw, 5.5rem) 0; text-align: center; }
.faixa__pergunta { text-transform: uppercase; font-weight: 900; font-size: 1.2rem; letter-spacing: .06em; }
.faixa__titulo { font-family: 'Marcellus', serif; font-size: clamp(2rem, 5.5vw, 3.6rem); line-height: 1.1; margin-bottom: 1.4rem; }
.faixa__titulo span { display: block; font-family: 'Lato', sans-serif; font-weight: 900; color: var(--carvao); }
.faixa__telefone { font-size: clamp(2.2rem, 7vw, 4rem); font-weight: 900; text-decoration: none; letter-spacing: .03em; }
.faixa__telefone:hover { color: var(--carvao); }
.faixa__nota { font-size: .85rem; margin: .6rem 0 0; opacity: .85; }

/* ---------- rodapé ---------- */
.rodape { background: var(--carvao-fundo); color: rgba(248, 248, 246, .65); padding: 4rem 0 2rem; font-size: .93rem; }
.rodape a { text-decoration: none; }
.rodape a:hover { color: var(--cobre-claro); }
.rodape__grelha { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 2rem; }
@media (max-width: 760px) { .rodape__grelha { grid-template-columns: 1fr; } }
.rodape__logo { height: 50px; width: auto; margin-bottom: 1rem; }
.rodape__marca { font-family: 'Marcellus', serif; font-size: 1.3rem; letter-spacing: .14em; text-transform: uppercase; color: var(--marfim); margin-bottom: .2rem; }
.rodape p { margin-bottom: .6rem; }
.rodape__base { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem; margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid rgba(255, 255, 255, .08); font-size: .82rem; }

/* ---------- WhatsApp flutuante ---------- */
.whatsapp-flutuante {
  position: fixed;
  right: 18px;
  bottom: 18px;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: #25d366;
  color: #fff;
  display: grid;
  place-items: center;
  box-shadow: 0 10px 30px -8px rgba(0, 0, 0, .45);
  z-index: 40;
  transition: transform var(--transicao);
}
.whatsapp-flutuante:hover { transform: scale(1.07); }
.whatsapp-flutuante svg { width: 30px; height: 30px; fill: currentColor; }

/* ---------- páginas de texto ---------- */
.pagina-texto { padding: calc(var(--cabecalho) + 3rem) 0 5rem; }
.logo-pagina { display: block; width: 280px; max-width: 100%; height: auto; margin: 0 0 2rem -1rem; mix-blend-mode: multiply; }
.pagina-texto h2 { font-size: 1.4rem; margin-top: 2.4rem; }
.pagina-texto ul { color: var(--texto-suave); padding-left: 1.2rem; }
.pagina-texto a { color: var(--cobre-escuro); }

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