/* ==========================================================
   Rezende Energia Solar — estilos
   Linguagem visual: desenho técnico / engenharia (prancha,
   carimbo, memorial de cálculo). Fundo claro tipo papel.
   Paleta: azul-aço #123A5C · cinza-grafite #2E3640 · âmbar #F4A62A
   Tipos: TeX Gyre Heros Condensed (títulos, GUST Font License),
          Inter/sistema (corpo), DejaVu Sans Mono (rótulos técnicos).
   ========================================================== */

@font-face { font-family: "Heros Cn"; src: url("../fonts/heroscn-700.woff") format("woff"); font-weight: 700; font-display: swap; }
@font-face { font-family: "Heros Cn"; src: url("../fonts/heroscn-400.woff") format("woff"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Rz Mono"; src: url("../fonts/mono-400.woff") format("woff"); font-weight: 400; font-display: swap; }
/* Para usar Inter auto-hospedada no corpo, veja README.md, seção "Fontes".
@font-face { font-family: "Inter"; src: url("../fonts/inter-400.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Inter"; src: url("../fonts/inter-600.woff2") format("woff2"); font-weight: 600; font-display: swap; }
*/

:root {
  --aco: #123A5C;
  --aco-2: #1B4B73;
  --aco-esc: #0C2740;
  --grafite: #2E3640;
  --grafite-2: #56616D;
  --papel: #F2F4F6;
  --papel-2: #E7EBEF;
  --linha: #D3DAE1;
  --linha-2: #BCC6D0;
  --ambar: #F4A62A;
  --ambar-esc: #A86E0C;
  --ambar-claro: #FDF1DC;
  --branco: #FFFFFF;
  --zap: #1F9D55;
  --erro: #B42318;

  --f-tit: "Heros Cn", "Arial Narrow", "Roboto Condensed", sans-serif;
  --f-corpo: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --f-mono: "Rz Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;

  --r: 4px;
  --cab-h: 76px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--cab-h) + 16px); -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: var(--f-corpo); font-size: 1.0625rem; line-height: 1.65; color: var(--grafite); background: var(--branco); overflow-x: hidden; }
img, svg { max-width: 100%; height: auto; display: block; }
a { color: var(--aco-2); text-underline-offset: 3px; }
a:hover { color: var(--aco); }
h1, h2, h3 { font-family: var(--f-tit); font-weight: 700; color: var(--aco-esc); line-height: 1.08; margin: 0 0 .5em; letter-spacing: -.005em; }
h1 { font-size: clamp(2.4rem, 5.4vw, 4.1rem); }
h2 { font-size: clamp(2rem, 3.8vw, 3rem); }
h3 { font-size: 1.4rem; line-height: 1.2; }
p { margin: 0 0 1em; }
ul, ol { margin: 0; padding: 0; list-style: none; }
strong { color: var(--aco-esc); }
:focus-visible { outline: 3px solid var(--ambar); outline-offset: 2px; }
.ico { width: 1.2em; height: 1.2em; flex: none; }

.wrap { width: min(1240px, 100% - 32px); margin-inline: auto; }
.wrap--estreito { width: min(820px, 100% - 32px); }
.pular { position: absolute; left: -9999px; top: 8px; background: var(--aco); color: #fff; padding: 10px 16px; z-index: 300; }
.pular:focus { left: 8px; }

/* ---------- Botões (cantos retos) ---------- */
.bt { display: inline-flex; align-items: center; justify-content: center; gap: .55em; padding: .95em 1.4em; border: 2px solid transparent; border-radius: var(--r); font-family: var(--f-tit); font-weight: 700; font-size: 1.12rem; letter-spacing: .02em; text-decoration: none; cursor: pointer; transition: background-color .15s, color .15s, border-color .15s, box-shadow .15s; }
.bt--ambar { background: var(--ambar); color: var(--aco-esc); }
.bt--ambar:hover { background: #ffb746; color: var(--aco-esc); box-shadow: 4px 4px 0 var(--aco-esc); }
.bt--zap { background: var(--zap); color: #fff; }
.bt--zap:hover { background: #188547; color: #fff; }
.bt--contorno { border-color: var(--aco); color: var(--aco); background: transparent; }
.bt--contorno:hover { background: var(--aco); color: #fff; }
.bt--contorno-escuro { border-color: var(--linha-2); color: var(--aco); }
.bt--cheio { width: 100%; }
.link { display: inline-flex; align-items: center; gap: .4em; font-weight: 600; color: var(--aco-2); }
.acoes { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.acoes--centro { justify-content: center; }

/* ---------- Faixa superior ---------- */
.faixa { background: var(--aco-esc); color: #c6d3df; font-family: var(--f-mono); font-size: .78rem; letter-spacing: .02em; }
.faixa__in { display: flex; gap: 28px; justify-content: flex-end; align-items: center; min-height: 34px; flex-wrap: wrap; }
.faixa__item { display: inline-flex; align-items: center; gap: .45em; color: #c6d3df; text-decoration: none; }
.faixa__item:first-child { margin-right: auto; }
.faixa a.faixa__item:hover { color: var(--ambar); }
.faixa .ico { width: 1em; height: 1em; color: var(--ambar); }

/* ---------- Cabeçalho ---------- */
.cab { position: sticky; top: 0; z-index: 100; background: var(--branco); border-bottom: 1px solid var(--linha); }
.cab__in { display: flex; align-items: center; gap: 28px; height: var(--cab-h); }
.cab__logo img { width: 200px; }
.nav { margin-left: auto; }
.nav ul { display: flex; gap: 2px; }
.nav a { display: block; padding: .5em .75em; color: var(--grafite); text-decoration: none; font-weight: 600; font-size: .95rem; border-bottom: 2px solid transparent; white-space: nowrap; }
.nav a:hover { color: var(--aco); border-bottom-color: var(--ambar); }
.nav__tel { display: none; }
.cab__acoes { display: flex; align-items: center; gap: 12px; }
.cab__acoes .bt { padding: .65em 1.1em; font-size: 1.02rem; }
.cab__menu { display: none; width: 44px; height: 44px; border: 1px solid var(--linha); border-radius: var(--r); background: #fff; cursor: pointer; padding: 11px 10px; flex-direction: column; justify-content: space-between; }
.cab__menu span { display: block; height: 2px; background: var(--aco); transition: transform .2s, opacity .2s; }
.cab__menu[aria-expanded="true"] span:nth-child(1) { transform: translateY(9px) rotate(45deg); }
.cab__menu[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.cab__menu[aria-expanded="true"] span:nth-child(3) { transform: translateY(-9px) rotate(-45deg); }

/* ---------- Rótulos técnicos ---------- */
.rotulo { font-family: var(--f-mono); font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; color: var(--ambar-esc); margin-bottom: 14px; }
.rotulo--claro { color: var(--ambar); }
.etq { display: inline-flex; align-items: center; gap: 10px; font-family: var(--f-mono); font-size: .82rem; color: var(--aco); border: 1px solid var(--linha-2); background: #fff; padding: 6px 12px 6px 6px; border-radius: var(--r); margin-bottom: 22px; }
.etq__n { background: var(--aco); color: #fff; padding: 2px 7px; border-radius: 2px; }

/* ---------- Hero ---------- */
.hero { background-color: var(--papel); background-image: linear-gradient(var(--papel-2) 1px, transparent 1px), linear-gradient(90deg, var(--papel-2) 1px, transparent 1px); background-size: 32px 32px; border-bottom: 1px solid var(--linha); }
.hero__grade { display: grid; grid-template-columns: 1.02fr .98fr; gap: 56px; align-items: center; padding-block: clamp(48px, 7vw, 96px); }
.hero__sub { font-size: 1.14rem; max-width: 36em; }
.hero__ctas { display: flex; flex-wrap: wrap; gap: 12px; margin: 28px 0 16px; }
.hero__nota { font-size: .86rem; color: var(--grafite-2); margin: 0; }
.prancha { margin: 0; background: #fff; border: 1px solid var(--linha-2); box-shadow: 10px 10px 0 var(--papel-2); }
.prancha img { width: 100%; }
.prancha__carimbo { display: grid; grid-template-columns: 1fr auto; gap: 4px 20px; border-top: 1px solid var(--linha-2); padding: 10px 14px; font-family: var(--f-mono); font-size: .74rem; color: var(--grafite-2); }
.prancha__carimbo b { color: var(--aco); margin-right: .6em; }

/* ---------- Selos (barra de confiança) ---------- */
.selos { background: var(--branco); border-bottom: 1px solid var(--linha); }
.selos__lista { display: grid; grid-template-columns: repeat(4, 1fr); }
.selos__lista li { display: flex; align-items: center; gap: 12px; padding: 20px 18px; border-left: 1px solid var(--linha); font-weight: 600; color: var(--aco-esc); line-height: 1.3; }
.selos__lista li:last-child { border-right: 1px solid var(--linha); }
.selos__n { font-family: var(--f-mono); font-size: .75rem; color: var(--ambar-esc); }
.selos__lista .ico { color: var(--aco-2); width: 1.5em; height: 1.5em; }

/* ---------- Blocos ---------- */
.bloco { padding-block: clamp(64px, 9vw, 112px); }
.bloco--papel { background: var(--papel); }
.bloco--grade { background-image: linear-gradient(var(--papel-2) 1px, transparent 1px), linear-gradient(90deg, var(--papel-2) 1px, transparent 1px); background-size: 32px 32px; }
.bloco--aco { background: var(--aco); color: #d4e0ea; }
.bloco--aco h2 { color: #fff; }
.cab-secao { max-width: 760px; margin-bottom: 44px; }
.cab-secao p:last-child { font-size: 1.1rem; margin-bottom: 0; }

/* ---------- Vantagens: duas colunas + lista numerada ---------- */
.duas { display: grid; grid-template-columns: .85fr 1.15fr; gap: 64px; align-items: start; }
.duas__cab { position: sticky; top: calc(var(--cab-h) + 24px); }
.duas__cab p { font-size: 1.08rem; }
.lista-num { border-top: 2px solid var(--aco-esc); }
.lista-num li { display: grid; grid-template-columns: 72px 1fr; gap: 16px; padding: 26px 0; border-bottom: 1px solid var(--linha); }
.lista-num__n { font-family: var(--f-tit); font-size: 2.4rem; line-height: 1; color: var(--ambar); font-weight: 700; }
.lista-num h3 { margin-bottom: .3em; }
.lista-num p { margin: 0; }

/* ---------- Soluções: linhas tipo tabela ---------- */
.linhas { border-top: 2px solid var(--aco-esc); }
.linha { display: grid; grid-template-columns: 70px 1.3fr 1fr; gap: 28px; padding: 30px 0; border-bottom: 1px solid var(--linha-2); }
.linha__n { font-family: var(--f-mono); font-size: .9rem; color: var(--ambar-esc); padding-top: 6px; }
.linha__txt p:last-child { margin-bottom: 0; }
.linha__itens { border-left: 1px solid var(--linha-2); padding-left: 24px; display: grid; gap: 8px; align-content: start; font-size: .95rem; }
.linha__itens li { position: relative; padding-left: 18px; }
.linha__itens li::before { content: ""; position: absolute; left: 0; top: .62em; width: 8px; height: 8px; background: var(--ambar); }
.linha--forte { background: var(--aco); color: #d4e0ea; border-bottom: 0; padding: 36px 28px; margin: 0; }
.linha--forte h3, .linha--forte strong { color: #fff; }
.linha--forte .linha__n { color: var(--ambar); }
.linha--forte .linha__itens { border-left-color: rgba(255, 255, 255, .25); grid-template-columns: 1fr; }
.chamada { margin-top: 36px; display: flex; flex-wrap: wrap; gap: 20px; align-items: center; justify-content: space-between; border: 1px dashed var(--linha-2); padding: 22px 24px; background: #fff; }
.chamada p { margin: 0; max-width: 60ch; }

/* ---------- Processo: fluxo em blocos ---------- */
.fluxo { display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid var(--linha-2); }
.fluxo__etapa { position: relative; padding: 26px 22px 28px; border-right: 1px solid var(--linha-2); background: #fff; }
.fluxo__etapa:last-child { border-right: 0; }
.fluxo__etapa::after { content: ""; position: absolute; right: -9px; top: 30px; width: 16px; height: 16px; background: #fff; border-top: 1px solid var(--linha-2); border-right: 1px solid var(--linha-2); transform: rotate(45deg); z-index: 1; }
.fluxo__etapa:last-child::after { display: none; }
.fluxo__n { display: block; font-family: var(--f-mono); font-size: .74rem; text-transform: uppercase; letter-spacing: .08em; color: var(--ambar-esc); margin-bottom: 10px; }
.fluxo__etapa h3 { font-size: 1.25rem; }
.fluxo__etapa p { font-size: .94rem; margin: 0; }
.nota-tecnica { margin-top: 48px; border-left: 6px solid var(--ambar); background: var(--papel); padding: clamp(22px, 4vw, 36px); }
.nota-tecnica__col { columns: 2; column-gap: 40px; }
.nota-tecnica__col p { break-inside: avoid; }

/* ---------- Simulador ---------- */
.calc { display: grid; grid-template-columns: .9fr 1.1fr; gap: 56px; align-items: start; }
.alerta { margin-top: 24px; border: 1px solid var(--ambar); border-left-width: 6px; background: var(--ambar-claro); padding: 16px 20px; font-size: .95rem; }
.alerta strong { font-family: var(--f-mono); font-size: .8rem; text-transform: uppercase; letter-spacing: .08em; color: var(--ambar-esc); display: block; margin-bottom: 4px; }
.alerta p { margin: 0; }
.calc__painel { background: #fff; border: 1px solid var(--linha-2); padding: clamp(22px, 3.5vw, 36px); box-shadow: 10px 10px 0 var(--papel-2); }
.calc__form label { display: block; font-weight: 700; color: var(--aco-esc); margin-bottom: 8px; }
.calc__entrada { display: flex; align-items: center; border: 2px solid var(--aco); border-radius: var(--r); padding: 0 14px; }
.calc__entrada:focus-within { border-color: var(--ambar); }
.calc__entrada span { font-family: var(--f-mono); color: var(--grafite-2); }
.calc__entrada input { border: 0; outline: 0; width: 100%; padding: 12px 10px; font-family: var(--f-tit); font-weight: 700; font-size: 1.9rem; color: var(--aco-esc); background: transparent; -moz-appearance: textfield; appearance: textfield; }
.calc__entrada input::-webkit-outer-spin-button, .calc__entrada input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
#sim-faixa { width: 100%; margin: 18px 0 4px; accent-color: var(--aco); }
.calc__dica { font-size: .84rem; color: var(--grafite-2); margin-bottom: 20px; }
.calc__tit { font-family: var(--f-mono); font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; color: var(--grafite-2); border-bottom: 2px solid var(--aco-esc); padding-bottom: 8px; margin-bottom: 0; }
.memorial { margin: 0 0 16px; }
.memorial div { display: flex; align-items: baseline; gap: 10px; padding: 12px 0; border-bottom: 1px dotted var(--linha-2); }
.memorial dt { flex: 1; font-size: .95rem; }
.memorial dd { margin: 0; font-family: var(--f-tit); font-weight: 700; font-size: 1.3rem; color: var(--aco-esc); text-align: right; }
.memorial__total { background: var(--aco); padding: 14px 16px !important; border: 0 !important; margin-top: 10px; }
.memorial__total dt { color: #d4e0ea; }
.memorial__total dd { color: var(--ambar); font-size: 1.7rem; }
.calc__rodape { font-size: .8rem; color: var(--grafite-2); }

/* ---------- Empresa ---------- */
.empresa { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: start; }
.empresa__fig { margin: 0 0 20px; border: 1px solid var(--linha-2); background: #fff; }
.placa { position: relative; margin: 0; background: linear-gradient(180deg, #eef1f4, #dfe4e9); border: 1px solid var(--linha-2); padding: 22px 26px; border-radius: 6px; }
.placa::before, .placa::after { content: ""; position: absolute; top: 10px; width: 8px; height: 8px; border-radius: 50%; background: var(--linha-2); box-shadow: 0 calc(100% + 0px) 0 transparent; }
.placa::before { left: 10px; }
.placa::after { right: 10px; }
.placa div { display: grid; grid-template-columns: 160px 1fr; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--linha); }
.placa div:last-child { border-bottom: 0; }
.placa dt { font-family: var(--f-mono); font-size: .76rem; text-transform: uppercase; letter-spacing: .06em; color: var(--grafite-2); padding-top: .2em; }
.placa dd { margin: 0; font-weight: 600; color: var(--aco-esc); }

/* ---------- Dúvidas ---------- */
.perguntas { display: grid; grid-template-columns: 1fr 1fr; gap: 0 32px; border-top: 2px solid var(--aco-esc); }
.pergunta { border-bottom: 1px solid var(--linha-2); }
.pergunta summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 0; }
.pergunta summary::-webkit-details-marker { display: none; }
.pergunta summary h3 { margin: 0; font-size: 1.2rem; }
.pergunta__sinal { flex: none; width: 26px; height: 26px; border: 1px solid var(--aco); border-radius: 2px; position: relative; }
.pergunta__sinal::before, .pergunta__sinal::after { content: ""; position: absolute; left: 50%; top: 50%; width: 12px; height: 2px; background: var(--aco); transform: translate(-50%, -50%); }
.pergunta__sinal::after { transform: translate(-50%, -50%) rotate(90deg); transition: transform .2s; }
.pergunta[open] .pergunta__sinal { background: var(--aco); }
.pergunta[open] .pergunta__sinal::before { background: #fff; }
.pergunta[open] .pergunta__sinal::after { transform: translate(-50%, -50%) rotate(0); background: #fff; }
.pergunta > p { padding: 0 42px 20px 0; margin: 0; }

/* ---------- Orçamento ---------- */
.orc { display: grid; grid-template-columns: .85fr 1.15fr; gap: 56px; align-items: start; }
.orc__contatos { display: grid; gap: 1px; margin-top: 28px; background: rgba(255, 255, 255, .15); border: 1px solid rgba(255, 255, 255, .15); }
.orc__contatos li > a, .orc__contatos li > span { display: flex; align-items: center; gap: 14px; padding: 14px 16px; background: var(--aco); color: #fff; text-decoration: none; font-weight: 600; word-break: break-word; }
.orc__contatos li > a:hover { background: var(--aco-2); color: #fff; }
.orc__contatos .ico { color: var(--ambar); width: 1.4em; height: 1.4em; }
.orc__contatos small { display: block; font-family: var(--f-mono); font-weight: 400; font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; color: #a9bfd2; }
.form { background: #fff; color: var(--grafite); padding: clamp(22px, 3.5vw, 36px); border-radius: var(--r); border-top: 6px solid var(--ambar); }
.form__linha { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.campo { display: flex; flex-direction: column; margin-bottom: 16px; }
.campo label { font-weight: 700; font-size: .92rem; color: var(--aco-esc); margin-bottom: 6px; }
.campo input, .campo select, .campo textarea { font: inherit; font-size: 1rem; color: var(--grafite); background: var(--papel); border: 1px solid var(--linha-2); border-bottom: 2px solid var(--aco); border-radius: 2px; padding: .75em .85em; width: 100%; }
.campo textarea { resize: vertical; min-height: 110px; }
.campo input:focus, .campo select:focus, .campo textarea:focus { outline: 0; background: #fff; border-bottom-color: var(--ambar); box-shadow: 0 0 0 3px rgba(244, 166, 42, .2); }
.campo [aria-invalid="true"] { border-color: var(--erro); }
.campo__erro { color: var(--erro); font-size: .86rem; margin-top: 4px; }
.campo--check { flex-direction: row; flex-wrap: wrap; align-items: flex-start; gap: 10px; }
.campo--check input { width: 20px; height: 20px; margin-top: 3px; flex: none; accent-color: var(--aco); }
.campo--check label { flex: 1; min-width: 0; font-weight: 400; font-size: .9rem; color: var(--grafite); margin: 0; }
.campo--check .campo__erro { flex-basis: 100%; }
.form__alerta { background: #fdecea; color: #8e2a1f; border-left: 4px solid var(--erro); padding: 12px 16px; margin-bottom: 18px; font-weight: 600; }
.form__nota { font-size: .8rem; color: var(--grafite-2); margin: 12px 0 0; }
.hp { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }

/* ---------- Páginas internas ---------- */
.pagina { background: var(--papel); min-height: 50vh; }
.texto-legal { background: #fff; border: 1px solid var(--linha); padding: clamp(24px, 5vw, 56px); }
.texto-legal h1 { font-size: clamp(2.2rem, 4.5vw, 3rem); }
.texto-legal h2 { font-size: 1.5rem; margin-top: 1.8em; }
.texto-legal ul { list-style: square; padding-left: 1.4em; margin-bottom: 1em; }
.texto-legal li { margin-bottom: .35em; }
.texto-legal__data { font-family: var(--f-mono); font-size: .82rem; color: var(--grafite-2); }
.obrigado { text-align: center; background: #fff; border: 1px solid var(--linha); padding: clamp(28px, 6vw, 64px); }
.obrigado__ico { display: inline-grid; place-items: center; width: 72px; height: 72px; background: var(--aco); color: var(--ambar); margin-bottom: 20px; border-radius: var(--r); }
.obrigado__ico .ico { width: 36px; height: 36px; }

/* ---------- Rodapé (claro) ---------- */
.rod { background: var(--papel-2); border-top: 6px solid var(--ambar); color: var(--grafite); font-size: .95rem; }
.rod__grade { display: grid; grid-template-columns: 1.5fr 1fr .8fr 1fr; gap: 40px; padding-block: 56px 40px; }
.rod__col--id img { width: 200px; margin-bottom: 16px; }
.rod__tit { font-family: var(--f-mono); font-size: .78rem; text-transform: uppercase; letter-spacing: .1em; color: var(--ambar-esc); margin-bottom: 14px; }
.rod a { color: var(--aco); text-decoration: none; }
.rod a:hover { text-decoration: underline; }
.rod__cad { margin: 16px 0 0; border-top: 1px solid var(--linha-2); }
.rod__cad div { display: grid; grid-template-columns: 110px 1fr; gap: 10px; padding: 7px 0; border-bottom: 1px solid var(--linha-2); font-size: .9rem; }
.rod__cad dt { font-family: var(--f-mono); font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; color: var(--grafite-2); padding-top: .2em; }
.rod__cad dd { margin: 0; color: var(--aco-esc); font-weight: 600; }
.rod__lista { display: grid; gap: 10px; }
.rod__lista a, .rod__lista span { display: inline-flex; align-items: flex-start; gap: .5em; word-break: break-word; }
.rod__lista .ico { color: var(--aco-2); margin-top: .15em; }
.rod__cidades { font-weight: 600; color: var(--aco-esc); line-height: 1.8; }
.rod__extra { font-size: .88rem; color: var(--grafite-2); }
.rod__base { background: var(--aco-esc); color: #b9c8d6; font-size: .82rem; }
.rod__base-in { display: flex; justify-content: space-between; gap: 12px 32px; flex-wrap: wrap; padding-block: 16px; }
.rod__base p { margin: 0; }
.rod__base nav { display: flex; gap: 20px; }
.rod__base a { color: #fff; text-decoration: underline; }

/* ---------- WhatsApp flutuante (etiqueta) ---------- */
.zap { position: fixed; right: 20px; bottom: 20px; z-index: 90; display: inline-flex; align-items: center; gap: 10px; background: var(--zap); color: #fff; text-decoration: none; font-family: var(--f-tit); font-weight: 700; font-size: 1.05rem; padding: 12px 18px 12px 14px; border-radius: var(--r); box-shadow: 5px 5px 0 var(--aco-esc); }
.zap:hover { color: #fff; background: #188547; }
.zap .ico { width: 28px; height: 28px; }

/* ---------- Animação discreta ---------- */
.js .revela { opacity: 0; transform: translateY(12px); transition: opacity .45s ease, transform .45s ease; }
.js .revela.visivel { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
  .js .revela { opacity: 1; transform: none; }
}

/* ==========================================================
   Responsivo
   ========================================================== */
@media (min-width: 1600px) {
  body { font-size: 1.12rem; }
  .wrap { width: min(1360px, 100% - 64px); }
}
@media (max-width: 1200px) {
  .nav a { padding: .5em .55em; font-size: .9rem; }
  .cab__in { gap: 18px; }
}
@media (max-width: 1080px) {
  .nav { position: fixed; inset: calc(var(--cab-h) + 34px) 0 auto 0; background: #fff; border-bottom: 1px solid var(--linha); box-shadow: 0 18px 30px rgba(12, 39, 64, .12); display: none; margin: 0; }
  .nav.aberto { display: block; }
  .nav ul { flex-direction: column; padding: 8px 16px 18px; }
  .nav a { padding: 14px 4px; border-bottom: 1px solid var(--linha); font-size: 1.05rem; }
  .nav__tel { display: block; }
  .nav__tel a { display: flex; align-items: center; gap: .5em; color: var(--aco); }
  .cab__acoes { margin-left: auto; }
  .cab__menu { display: flex; }
  .hero__grade, .duas, .calc, .empresa, .orc { grid-template-columns: 1fr; gap: 40px; }
  .duas__cab { position: static; }
  .selos__lista { grid-template-columns: 1fr 1fr; }
  .selos__lista li { border-bottom: 1px solid var(--linha); }
  .fluxo { grid-template-columns: 1fr; }
  .fluxo__etapa { border-right: 0; border-bottom: 1px solid var(--linha-2); }
  .fluxo__etapa:last-child { border-bottom: 0; }
  .fluxo__etapa::after { right: auto; left: 30px; top: auto; bottom: -9px; transform: rotate(135deg); }
  .rod__grade { grid-template-columns: 1fr 1fr; }
  .linha { grid-template-columns: 56px 1fr; }
  .linha__itens { grid-column: 2; border-left: 0; padding-left: 0; }
  .linha--forte { padding: 28px 18px; }
}
@media (max-width: 767px) {
  :root { --cab-h: 64px; }
  .faixa__item:not(.faixa__item--tel) { display: none; }
  .faixa__in { justify-content: center; }
  .nav { inset: calc(var(--cab-h) + 34px) 0 auto 0; }
  .cab__logo img { width: 160px; }
  .hero__ctas .bt { flex: 1 1 100%; }
  .selos__lista, .form__linha, .perguntas, .rod__grade { grid-template-columns: 1fr; }
  .selos__lista li { border-right: 1px solid var(--linha); }
  .lista-num li { grid-template-columns: 52px 1fr; }
  .lista-num__n { font-size: 1.9rem; }
  .linha { grid-template-columns: 1fr; gap: 12px; }
  .linha__itens { grid-column: auto; }
  .nota-tecnica__col { columns: 1; }
  .placa div, .rod__cad div { grid-template-columns: 1fr; gap: 2px; }
  .prancha__carimbo { grid-template-columns: 1fr; }
  .rod__base-in { flex-direction: column; }
  .zap span { display: none; }
  .zap { padding: 12px; right: 14px; bottom: 14px; }
}
@media (max-width: 400px) {
  .cab__acoes .bt { padding: .55em .8em; font-size: .92rem; }
  .cab__logo img { width: 136px; }
  .cab__in { gap: 10px; }
}
