/* Site da Megga Instrumentos: estilo comum a todas as páginas.
   Layout aprovado no Claude Design (design/site/). Tokens em design/site/tokens.json.
   Organização: 1. fontes e tokens · 2. base · 3. componentes · 4. cabeçalho e rodapé · 5. seções por tipo de página
   · 6. responsivo. Pontos de quebra: 1024px (tablet) e 640px (celular). */

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

:root {
  --ink: #0A0A0A; --ink-soft: #1A1A18; --card-escuro: #141412; --line-dark: #2A2A28; --line-grid: #1E1E1C;
  --paper: #F5F5F3; --branco: #FFFFFF; --surface-2: #EFEFEC; --line-light: #D6D6D2; --line-light-2: #E3E3DF;
  --amber: #F7A81B; --amber-ink: #C77A05; --amber-tint: #FFE7B8; --silver: #C0C0C0;
  --muted-dark: #8A8A85; --sub-dark: #C0C0BC; --muted-light: #6B6B66; --dim-light: #A9A9A4; --texto-2: #2A2A28;
  --whats: #25D366;
  --f-display: "Archivo", Helvetica, Arial, sans-serif;
  --f-mono: "JetBrains Mono", ui-monospace, monospace;
  --r-bloco: 28px; --r-card: 20px; --r-media: 14px; --r-thumb: 12px; --r-pill: 999px;
  --sombra: 0 24px 40px -24px rgba(0, 0, 0, .25);
  --gutter: 32px; --secao: 96px;
}

/* ---------- 2. Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--f-display); font-size: 16px; line-height: 1.55;
  -webkit-font-smoothing: antialiased; }
img, svg, video { max-width: 100%; }
img { display: block; height: auto; }
a { color: var(--ink); text-decoration: none; }
a:hover { color: var(--amber-ink); }
h1, h2, h3, h4, p, ul, ol, figure, blockquote { margin: 0; }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
[id] { scroll-margin-top: 140px; }
[hidden] { display: none !important; }
:focus-visible { outline: 2px solid var(--amber); outline-offset: 2px; }
.sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.pular { position: absolute; left: 16px; top: -60px; z-index: 100; background: var(--ink); color: var(--paper); padding: 10px 16px; border-radius: var(--r-pill); }
.pular:focus { top: 12px; color: var(--paper); }
.container { width: 100%; max-width: 1440px; margin: 0 auto; padding-left: var(--gutter); padding-right: var(--gutter); }
.secao { width: 100%; max-width: 1440px; margin: 0 auto; padding: var(--secao) var(--gutter); }
.secao--sem-topo { padding-top: 0; }
.secao--sem-base { padding-bottom: 0; }
.faixa-escura { background: var(--ink); color: var(--paper); }
.faixa-escura--topo { border-radius: 32px 32px 0 0; }
.faixa-escura--linha { border-top: 1px solid var(--line-grid); position: relative; overflow: hidden; }
.mono { font-family: var(--f-mono); }
.seta { font-family: var(--f-mono); }
.ponto { width: 6px; height: 6px; border-radius: 50%; background: var(--amber); display: inline-block; flex-shrink: 0; }
.ponto--8 { width: 8px; height: 8px; }

/* Tipografia */
.eyebrow { font-family: var(--f-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--muted-light); }
.faixa-escura .eyebrow, .bloco-escuro .eyebrow, .eyebrow--escuro { color: var(--muted-dark); }
.eyebrow--ambar, .faixa-escura .eyebrow--ambar { color: var(--amber); }
.eyebrow--tinta { color: var(--ink); }
.h1 { font-size: clamp(36px, 4.4vw, 66px); line-height: .98; font-weight: 600; letter-spacing: -.035em; font-stretch: 108%; text-wrap: balance; }
.h2 { font-size: clamp(30px, 3.6vw, 52px); line-height: 1; font-weight: 600; letter-spacing: -.03em; font-stretch: 108%; text-wrap: balance; }
.h2--menor { font-size: clamp(28px, 3vw, 44px); }
.h3 { font-size: 24px; font-weight: 600; letter-spacing: -.02em; line-height: 1.15; }
.h3--22 { font-size: 22px; }
.h3--20 { font-size: 20px; letter-spacing: -.01em; }
.lead { font-size: 16px; line-height: 1.6; color: var(--muted-light); text-wrap: pretty; }
.faixa-escura .lead, .bloco-escuro .lead { color: var(--sub-dark); }
.texto-p { font-size: 15px; line-height: 1.6; text-wrap: pretty; }
.pequeno { font-size: 13px; line-height: 1.5; }
.dim { color: var(--dim-light); }
.bicolor .dim { color: var(--dim-light); }

/* ---------- 3. Componentes ---------- */
/* Botões: sempre pílula; seta em mono */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 12px; border-radius: var(--r-pill); padding: 16px 26px;
  font-size: 14px; font-weight: 600; line-height: 1.2; border: 1px solid transparent; background: transparent; color: var(--ink);
  min-height: 44px; transition: background .2s, color .2s, border-color .2s; text-align: center; }
.btn--primario { background: var(--amber); color: var(--ink); border-color: var(--amber); }
.btn--primario:hover { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.faixa-escura .btn--primario:hover, .bloco-escuro .btn--primario:hover { background: var(--paper); color: var(--ink); border-color: var(--paper); }
.btn--preto { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.btn--preto:hover { background: var(--amber); color: var(--ink); border-color: var(--amber); }
.cta-ambar .btn--preto:hover { background: var(--paper); color: var(--ink); border-color: var(--paper); }
.btn--contorno { border-color: var(--ink); color: var(--ink); }
.btn--contorno:hover { background: var(--ink); color: var(--paper); }
.btn--contorno-claro { border-color: var(--paper); color: var(--paper); }
.btn--contorno-claro:hover { background: var(--paper); color: var(--ink); }
.btn--whats { background: var(--whats); color: var(--ink); border-color: var(--whats); }
.btn--whats:hover { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.faixa-escura .btn--whats:hover, .rodape .btn--whats:hover, .bloco-escuro .btn--whats:hover { background: var(--paper); color: var(--ink); border-color: var(--paper); }
.btn--medio { padding: 14px 22px; }
.btn--pequeno { padding: 10px 16px; font-size: 13px; gap: 10px; min-height: 40px; }
.btn--menor { padding: 12px 20px; font-size: 13px; gap: 10px; }
.btn--largo { display: flex; justify-content: space-between; width: 100%; }
.btn .ico { flex-shrink: 0; }
.botoes { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.link-seta { font-size: 13px; font-weight: 600; display: inline-flex; align-items: center; gap: 8px; }
.link-seta .seta { color: var(--amber); }

/* Pílulas de navegação e chips de filtro */
.pilula, .chip { border: 1px solid var(--ink); border-radius: var(--r-pill); padding: 7px 14px; font-family: var(--f-mono); font-size: 11px;
  letter-spacing: .06em; text-transform: uppercase; color: var(--ink); background: transparent; display: inline-flex; align-items: center; gap: 8px;
  transition: background .2s, color .2s; white-space: nowrap; }
.pilula:hover, .pilula.is-ativo, .chip:hover, .chip.is-ativo, .chip[aria-pressed="true"] { background: var(--ink); color: var(--paper); }
.chip { padding: 9px 16px; letter-spacing: .08em; min-height: 40px; }
.chip__n { opacity: .6; }
.faixa-escura .chip, .bloco-escuro .chip { border-color: var(--line-dark); color: var(--sub-dark); }
.faixa-escura .chip:hover, .faixa-escura .chip.is-ativo, .faixa-escura .chip[aria-pressed="true"] { background: var(--amber); color: var(--ink); border-color: var(--amber); }
.etiqueta { border: 1px solid var(--line-light); border-radius: var(--r-pill); padding: 4px 10px; font-family: var(--f-mono); font-size: 11px; color: var(--muted-light); }
.etiqueta--escura { border-color: var(--line-dark); color: var(--sub-dark); padding: 8px 14px; letter-spacing: .08em; text-transform: uppercase; }
.selo-vidro { background: rgba(245, 245, 243, .12); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border: 1px solid rgba(245, 245, 243, .2);
  color: var(--paper); border-radius: var(--r-pill); padding: 7px 12px; font-family: var(--f-mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.selo-ambar { background: var(--amber); color: var(--ink); border-radius: var(--r-pill); padding: 5px 10px; font-family: var(--f-mono); font-size: 10px;
  letter-spacing: .1em; text-transform: uppercase; }

/* Cabeçalho de seção: eyebrow + título à esquerda, texto à direita alinhado na base */
.cab-secao { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; align-items: end; margin-bottom: 40px; }
.cab-secao--topo { align-items: start; margin-bottom: 48px; }
.cab-secao--acao { grid-template-columns: minmax(0, 1fr) auto; gap: 32px; }
.cab-secao__titulo { display: flex; flex-direction: column; gap: 14px; }
.cab-secao > p { max-width: 64ch; justify-self: end; }
.cab-secao > .btn { justify-self: start; }

/* Cards */
.card { background: var(--branco); border: 1px solid var(--line-light-2); border-radius: var(--r-card); padding: 20px; color: var(--ink);
  display: flex; flex-direction: column; gap: 16px; transition: transform .3s, box-shadow .3s; }
.card:hover, .eleva:hover { transform: translateY(-6px); box-shadow: var(--sombra); }
.eleva { transition: transform .3s, box-shadow .3s; }
.card--escuro { background: var(--card-escuro); border-color: var(--line-dark); color: var(--paper); transition: border-color .3s, transform .3s; }
.card--escuro:hover { border-color: var(--amber); box-shadow: none; }
.card__topo { display: flex; justify-content: space-between; align-items: center; font-family: var(--f-mono); font-size: 11px; color: var(--muted-light); gap: 10px; }
.card__desc { font-size: 14px; line-height: 1.55; color: var(--muted-light); flex: 1; text-wrap: pretty; }
.card--escuro .card__desc { color: var(--sub-dark); }
.card .btn { align-self: flex-start; }
.grade { display: grid; gap: 16px; }
.grade--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grade--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grade--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.grade--g12 { gap: 12px; }
.grade--g20 { gap: 20px; }

/* Imagens: proporção fixa, preenchem o quadro. Sem foto: quadro neutro com a descrição do que vai ali. */
.midia { position: relative; overflow: hidden; background: var(--surface-2); border-radius: var(--r-media); }
.midia > img, .midia > picture > img { width: 100%; height: 100%; object-fit: cover; }
.midia--1x1 { aspect-ratio: 1 / 1; }
.midia--4x3 { aspect-ratio: 4 / 3; }
.midia--16x10 { aspect-ratio: 16 / 10; border-radius: var(--r-thumb); }
.midia--21x9 { aspect-ratio: 21 / 9; border-radius: var(--r-bloco); }
.midia--escura { background: var(--ink-soft); }
.midia--produto > img { object-fit: contain; padding: 8%; }
.midia__vazia { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; padding: 20px; text-align: center;
  font-family: var(--f-mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--dim-light);
  background-image: repeating-linear-gradient(135deg, transparent 0 14px, rgba(0, 0, 0, .025) 14px 15px); }
.midia--escura .midia__vazia { color: #5A5A56; background-image: repeating-linear-gradient(135deg, transparent 0 14px, rgba(255, 255, 255, .03) 14px 15px); }
.midia .selo-ambar, .midia .selo-vidro { position: absolute; left: 12px; top: 12px; pointer-events: none; }

/* Bloco escuro (hero das páginas internas): inset 16px das bordas, raio 28 */
.bloco-wrap { width: 100%; padding: 16px 16px 0; }
.bloco-escuro { position: relative; background: var(--ink); color: var(--paper); border-radius: var(--r-bloco); padding: 20px; overflow: hidden; }
.bloco-escuro a:not(.btn):not(.chip) { color: inherit; }
.hero-int { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; }
.hero-int__texto { position: relative; padding: 36px 20px 20px 28px; display: flex; flex-direction: column; gap: 24px; justify-content: center; }
.hero-int__texto .lead { max-width: 56ch; }
.hero-int__foto { position: relative; border-radius: var(--r-card); overflow: hidden; background: var(--ink-soft); min-height: 520px; }
.hero-int__foto > .midia { position: absolute; inset: 0; border-radius: 0; }
.hero-int .h1 { max-width: 15ch; }

/* Migalhas (breadcrumb) */
.migalhas { display: flex; flex-wrap: wrap; gap: 10px; font-family: var(--f-mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--muted-dark); }
.migalhas a { color: var(--muted-dark); }
.migalhas a:hover { color: var(--paper); }
.migalhas [aria-current] { color: var(--amber); }
.migalhas--claro { color: var(--muted-light); }
.migalhas--claro a { color: var(--muted-light); }
.migalhas--claro a:hover { color: var(--ink); }
.migalhas--claro [aria-current] { color: var(--amber-ink); }

/* Malha animada: quadriculado discreto e uma única luz percorrendo uma linha por vez */
.malha { position: absolute; inset: 0; pointer-events: none; overflow: hidden;
  background-image: linear-gradient(rgba(245, 245, 243, .04) 1px, transparent 1px), linear-gradient(90deg, rgba(245, 245, 243, .04) 1px, transparent 1px);
  background-size: 64px 64px;
  -webkit-mask-image: radial-gradient(ellipse 85% 75% at 50% 40%, #000 35%, transparent 100%); mask-image: radial-gradient(ellipse 85% 75% at 50% 40%, #000 35%, transparent 100%); }
.malha::after { content: ""; position: absolute; height: 1px; width: 260px; background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, .28), rgba(255, 255, 255, 0));
  box-shadow: 0 0 4px rgba(255, 255, 255, .12); animation: meggaGridH 32s linear infinite; }
.malha--v::after { height: 260px; width: 1px; background: linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, .28), rgba(255, 255, 255, 0)); animation-name: meggaGridV; }
@keyframes meggaGridH { 0% { top: 128px; left: -260px } 24.99% { top: 128px; left: 100% } 25% { top: 320px; left: -260px } 49.99% { top: 320px; left: 100% }
  50% { top: 192px; left: -260px } 74.99% { top: 192px; left: 100% } 75% { top: 448px; left: -260px } 100% { top: 448px; left: 100% } }
@keyframes meggaGridV { 0% { left: 256px; top: -260px } 24.99% { left: 256px; top: 100% } 25% { left: 768px; top: -260px } 49.99% { left: 768px; top: 100% }
  50% { left: 1152px; top: -260px } 74.99% { left: 1152px; top: 100% } 75% { left: 512px; top: -260px } 100% { left: 512px; top: 100% } }
.acima { position: relative; }

/* FAQ: acordeão com <details> (funciona sem JavaScript; o site.js deixa um aberto por vez) */
.faq { display: flex; flex-direction: column; border-top: 1px solid var(--line-light); }
.faq details { border-bottom: 1px solid var(--line-light); }
.faq summary { list-style: none; padding: 22px 0; display: flex; justify-content: space-between; align-items: center; gap: 24px; cursor: pointer;
  font-size: 19px; font-weight: 600; letter-spacing: -.01em; line-height: 1.3; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--ink); display: flex; align-items: center; justify-content: center;
  font-family: var(--f-mono); font-weight: 400; flex-shrink: 0; transition: background .2s, color .2s; }
.faq details[open] summary::after { content: "−"; background: var(--ink); color: var(--paper); }
.faq details > p, .faq details > div { padding: 0 60px 24px 0; font-size: 16px; line-height: 1.6; color: var(--muted-light); }
.faq-bloco { display: flex; flex-direction: column; gap: 24px; }

/* CTA âmbar fixo ao lado do FAQ */
.cta-faq { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; align-items: start; }
.cta-ambar { background: var(--amber); color: var(--ink); border-radius: var(--r-bloco); padding: 44px; display: flex; flex-direction: column; gap: 20px; position: sticky; top: 160px; }
.cta-ambar .eyebrow { color: var(--ink); }
.cta-ambar p { font-size: 16px; line-height: 1.55; text-wrap: pretty; }
.cta-ambar .botoes { margin-top: 8px; }

/* Card de artigo (Leia também, blog, home) */
.card-artigo { background: var(--branco); border: 1px solid var(--line-light-2); border-radius: var(--r-card); padding: 12px 12px 20px; display: flex; flex-direction: column; gap: 16px;
  transition: transform .3s, box-shadow .3s; color: var(--ink); }
.card-artigo:hover { transform: translateY(-6px); box-shadow: var(--sombra); }
.card-artigo__corpo { display: flex; flex-direction: column; gap: 10px; padding: 0 8px; flex: 1; }
.card-artigo__meta { font-family: var(--f-mono); font-size: 11px; color: var(--muted-light); }
.card-artigo__cat { font-family: var(--f-mono); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: var(--amber-ink); }
.card-artigo h3 { font-size: 20px; font-weight: 600; line-height: 1.2; letter-spacing: -.015em; text-wrap: pretty; }
.card-artigo h3 a { color: inherit; }
.card-artigo h3 a::after { content: ""; position: absolute; inset: 0; }
.card-artigo { position: relative; }
.card-artigo p { font-size: 13px; line-height: 1.5; color: var(--muted-light); text-wrap: pretty; }
.card-artigo .link-seta { margin-top: auto; padding-top: 4px; }
.leia-tambem .card-artigo h3 { font-size: 17px; }

/* Formulários */
.form { display: flex; flex-direction: column; gap: 18px; }
.form__grade { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.form__inteiro { grid-column: 1 / -1; }
.campo { display: block; font-size: 13px; font-weight: 600; }
.campo input, .campo select, .campo textarea { display: block; margin-top: 8px; }
.campo .obrig { color: var(--amber-ink); }
.campo input, .campo select, .campo textarea { width: 100%; border: 1px solid var(--line-light); background: var(--branco); border-radius: var(--r-media); padding: 14px 16px;
  font-size: 15px; font-weight: 400; color: var(--ink); min-height: 48px; transition: border-color .2s; }
.campo textarea { min-height: 120px; resize: vertical; line-height: 1.5; }
.campo input:focus, .campo select:focus, .campo textarea:focus { outline: none; border-color: var(--ink); }
.form--escuro .campo input, .form--escuro .campo select, .form--escuro .campo textarea { background: var(--card-escuro); border-color: var(--line-dark); color: var(--paper); }
.form--escuro .campo input:focus, .form--escuro .campo textarea:focus { border-color: var(--amber); }
.form--escuro .campo input::placeholder, .form--escuro .campo textarea::placeholder { color: #5A5A56; }
.grupo-chips { display: flex; flex-direction: column; gap: 10px; border: 0; padding: 0; margin: 0; min-width: 0; }
.grupo-chips legend { font-size: 13px; font-weight: 600; padding: 0; margin-bottom: 10px; }
.grupo-chips__lista { display: flex; flex-wrap: wrap; gap: 8px; }
.grupo-chips input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.grupo-chips label { cursor: pointer; }
.grupo-chips input:checked + .chip { background: var(--ink); color: var(--paper); }
.grupo-chips input:focus-visible + .chip { outline: 2px solid var(--amber); outline-offset: 2px; }
.aceite { display: flex; gap: 12px; align-items: flex-start; font-size: 13px; line-height: 1.5; color: var(--muted-light); }
.aceite input { width: 20px; height: 20px; margin: 0; flex-shrink: 0; accent-color: var(--ink); }
.aceite a { text-decoration: underline; text-underline-offset: 3px; }
.form--escuro .aceite { color: var(--sub-dark); }
.form--escuro .aceite a { color: var(--paper); }
.form .erro { background: #FDECEA; color: #8A1C12; border-radius: var(--r-media); padding: 12px 16px; font-size: 14px; }
.form .sugestao { font-size: 13px; color: var(--muted-light); }
.form .sugestao button { border: 0; background: none; padding: 0; text-decoration: underline; color: var(--amber-ink); }
.isca { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.sucesso { display: flex; flex-direction: column; gap: 12px; padding: 32px; border-radius: var(--r-card); background: var(--amber); color: var(--ink); }
.sucesso:focus { outline: none; }
.sucesso h3 { font-size: 24px; font-weight: 600; letter-spacing: -.02em; }

/* Texto corrido (artigos, política) */
.prosa { max-width: 72ch; }
.prosa > * + * { margin-top: 20px; }
.prosa p, .prosa li { font-size: 17px; line-height: 1.7; color: var(--texto-2); }
.prosa h2 { margin-top: 48px; font-size: clamp(24px, 2.4vw, 32px); line-height: 1.1; font-weight: 600; letter-spacing: -.02em; font-stretch: 108%; scroll-margin-top: 160px; }
.prosa h3 { margin-top: 32px; font-size: 21px; font-weight: 600; letter-spacing: -.015em; line-height: 1.25; }
.prosa h2 + *, .prosa h3 + * { margin-top: 14px; }
.prosa ul, .prosa ol { padding-left: 22px; }
.prosa li + li { margin-top: 6px; }
.prosa a { color: var(--amber-ink); text-decoration: underline; text-underline-offset: 3px; }
.prosa strong { color: var(--ink); }
.prosa blockquote { padding: 4px 0 4px 24px; border-left: 3px solid var(--amber); font-size: 22px; line-height: 1.4; font-weight: 500; letter-spacing: -.01em; }
.prosa ol li::marker { font-family: var(--f-mono); color: var(--amber-ink); font-size: 14px; }
.prosa ul li::marker { color: var(--amber); }
.prosa img { border-radius: var(--r-media); }
.prosa figure figcaption { font-size: 13px; color: var(--muted-light); margin-top: 8px; }
.prosa table { width: 100%; border-collapse: collapse; font-size: 15px; display: block; overflow-x: auto; }
.prosa th, .prosa td { border-bottom: 1px solid var(--line-light); padding: 10px 12px; text-align: left; vertical-align: top; }
.prosa th { font-family: var(--f-mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--muted-light); font-weight: 500; }

/* ---------- 4. Cabeçalho e rodapé ---------- */
.topo { position: sticky; top: 0; z-index: 20; background: var(--paper); border-bottom: 1px solid var(--line-light); }
.topo__faixa { border-bottom: 1px solid var(--line-light-2); }
.topo__linha { padding-top: 12px; padding-bottom: 12px; min-height: 96px; display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.topo__marca { display: flex; align-items: center; flex-shrink: 0; }
.topo__logo { height: 72px; width: auto; max-width: 100%; }
.topo__nav { display: flex; gap: 8px; flex-wrap: wrap; flex: 1 1 auto; min-width: 0; justify-content: center; }
.topo__acoes { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; justify-content: flex-end; }
.topo__busca { display: flex; align-items: center; gap: 8px; background: var(--branco); border: 1px solid var(--line-light); border-radius: var(--r-pill); padding: 9px 14px;
  flex: 1 1 200px; min-width: 180px; max-width: 260px; color: var(--muted-light); margin: 0; }
.topo__busca:focus-within { border-color: var(--ink); }
.topo__busca input { border: 0; outline: none; background: transparent; font-size: 13px; color: var(--ink); width: 100%; min-width: 0; padding: 0; }
.btn--topo { padding: 11px 18px; font-size: 13px; gap: 10px; white-space: nowrap; }
.topo__burger { display: none; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--ink); background: transparent; align-items: center; justify-content: center;
  flex-direction: column; gap: 5px; padding: 0; }
.topo__burger span { width: 18px; height: 2px; background: var(--ink); display: block; transition: transform .2s, opacity .2s; }
.topo__burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.topo__burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.topo__burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.topo__produtos { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; font-size: 13px; font-weight: 500; }
.topo__rotulo { font-family: var(--f-mono); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted-light); margin-right: 12px; }
.topo__linha-prod { padding: 12px 14px; border-bottom: 2px solid transparent; color: var(--ink); }
.topo__linha-prod:hover, .topo__linha-prod.is-ativo { border-bottom-color: var(--amber); color: var(--ink); }
.topo__destaque { margin-left: auto; padding: 12px 0; display: inline-flex; align-items: center; gap: 8px; color: var(--muted-light); font-size: 12px; }
.topo__destaque:hover { color: var(--ink); }

/* Listas suspensas do menu (segmentos, serviços e subcategorias das linhas). Abrem com o mouse ou o teclado
   (computador) e com toque no botão da seta (site.js); no menu do celular viram lista que abre dentro do menu. */
.menu-sub { position: relative; display: inline-flex; align-items: center; }
.pilula--sub { padding-right: 32px; }
button.pilula { font: inherit; font-family: var(--f-mono); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; }
.menu-sub__seta { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); width: 24px; height: 24px; border: 0; padding: 0; background: transparent;
  color: var(--ink); display: flex; align-items: center; justify-content: center; border-radius: 50%; cursor: pointer; }
.menu-sub__seta svg { transition: transform .2s; }
.menu-sub:has(.pilula.is-ativo) .menu-sub__seta { color: var(--paper); }
.menu-sub--linha .menu-sub__seta { color: var(--ink); }
.menu-sub.is-aberto > .menu-sub__seta svg { transform: rotate(180deg); }
.menu-sub:not(.menu-sub--linha).is-aberto > .pilula { background: var(--ink); color: var(--paper); }
.menu-sub:not(.menu-sub--linha).is-aberto > .menu-sub__seta { color: var(--paper); }
/* Entre o tablet e o desktop largo: menu um pouco mais compacto para caber numa linha com a busca e o WhatsApp */
@media (min-width: 1025px) and (max-width: 1340px) {
  .topo__linha { gap: 14px; }
  .topo__nav { gap: 6px; }
  .pilula { padding: 7px 11px; letter-spacing: .04em; }
  .pilula--sub { padding-right: 28px; }
  .menu-sub__seta { right: 4px; }
  .topo__busca { min-width: 150px; max-width: 190px; flex-basis: 150px; }
  .topo__logo { height: 60px; }
}
.topo__busca-ico { display: none; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--line-light); background: var(--branco); color: var(--ink);
  align-items: center; justify-content: center; }
.topo__busca-ico:hover { border-color: var(--ink); color: var(--ink); }
@media (min-width: 1025px) and (max-width: 1215px) {
  .topo__busca { display: none; }
  .topo__busca-ico { display: inline-flex; }
}
/* Com o item "Comparar" no menu: logo do tablet grande, ainda mais compacto para não quebrar em duas linhas */
@media (min-width: 1025px) and (max-width: 1099px) {
  .topo__linha { gap: 10px; }
  .topo__nav { gap: 4px; }
  .pilula { padding: 7px 9px; letter-spacing: .02em; }
  .pilula--sub { padding-right: 26px; }
  .topo__logo { height: 52px; }
}
.menu-sub--linha .topo__linha-prod { padding-right: 30px; }
.menu-sub__seta--linha { right: 4px; }
.menu-sub__lista { position: absolute; top: calc(100% + 10px); left: 0; z-index: 30; min-width: 250px; display: flex; flex-direction: column; gap: 2px;
  background: var(--branco); border: 1px solid var(--line-light-2); border-radius: 18px; padding: 10px; box-shadow: 0 24px 48px -20px rgba(0, 0, 0, .28);
  opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .18s, transform .18s, visibility .18s; }
.menu-sub__lista::before { content: ""; position: absolute; left: 0; right: 0; top: -12px; height: 12px; }
.menu-sub__lista--2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); min-width: 440px; column-gap: 4px; }
.menu-sub__lista--2 .menu-sub__titulo, .menu-sub__lista--2 .menu-sub__todos { grid-column: 1 / -1; }
.menu-sub.is-aberto > .menu-sub__lista { opacity: 1; visibility: visible; transform: none; }
@media (hover: hover) and (min-width: 1025px) {
  .menu-sub:hover > .menu-sub__lista, .menu-sub:focus-within > .menu-sub__lista { opacity: 1; visibility: visible; transform: none; }
  .menu-sub:hover > .menu-sub__seta svg { transform: rotate(180deg); }
  .menu-sub:not(.menu-sub--linha):hover > .pilula { background: var(--ink); color: var(--paper); }
  .menu-sub:not(.menu-sub--linha):hover > .menu-sub__seta { color: var(--paper); }
}
.menu-sub__titulo { font-family: var(--f-mono); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted-light); padding: 6px 12px 8px; }
.menu-sub__lista a { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 12px; border-radius: 10px; font-family: var(--f-display);
  font-size: 14px; font-weight: 500; letter-spacing: 0; text-transform: none; color: var(--ink); white-space: nowrap; border: 0; }
.menu-sub__lista a:hover, .menu-sub__lista a:focus-visible { background: var(--paper); color: var(--ink); }
.menu-sub__n { font-family: var(--f-mono); font-size: 10px; color: var(--muted-light); }
.menu-sub__lista .menu-sub__todos { margin-top: 4px; border-top: 1px solid var(--line-light-2); border-radius: 0 0 10px 10px; padding-top: 12px; font-weight: 600; justify-content: flex-start; }
.menu-sub__todos .seta { color: var(--amber); }

.rodape { background: var(--ink); color: var(--paper); border-radius: 32px 32px 0 0; }
.rodape a { color: var(--sub-dark); }
.rodape a:hover { color: var(--amber); }
.rodape__dentro { padding-top: 72px; padding-bottom: 32px; display: flex; flex-direction: column; gap: 56px; }
.rodape__cta { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 48px; align-items: center; }
.rodape__titulo { font-size: clamp(36px, 5vw, 80px); line-height: .95; font-weight: 600; letter-spacing: -.04em; font-stretch: 108%; text-wrap: balance; }
.rodape__contatos { display: flex; flex-direction: column; gap: 14px; align-items: flex-end; }
.rodape__botoes { display: flex; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
.rodape__botoes .btn { padding: 14px 20px; gap: 10px; }
.rodape .btn--whats { color: var(--ink); }
.rodape .btn--contorno-claro { color: var(--paper); }
.rodape .btn--contorno-claro:hover { color: var(--ink); }
.rodape__email { color: var(--muted-dark) !important; font-size: 14px; padding-right: 6px; }
.rodape__grade { display: grid; grid-template-columns: minmax(0, 1.3fr) repeat(3, minmax(0, 1fr)); gap: 32px; border-top: 1px solid var(--line-dark); padding-top: 40px; }
.rodape__marca { display: flex; flex-direction: column; gap: 16px; }
.rodape__marca img { height: 76px; width: auto; align-self: flex-start; }
.rodape__marca p { font-size: 13px; line-height: 1.6; color: var(--muted-dark); max-width: 34ch; }
.rodape__col { display: flex; flex-direction: column; gap: 12px; font-size: 14px; }
.rodape__col-titulo { font-family: var(--f-mono); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: var(--amber); }
.rodape__base { display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; font-family: var(--f-mono); font-size: 11px; color: var(--muted-dark); }
.rodape__redes { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.rede { width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--line-dark); display: flex; align-items: center; justify-content: center; color: var(--sub-dark);
  transition: background .2s, color .2s, border-color .2s; }
.rodape .rede:hover { background: var(--amber); color: var(--ink); border-color: var(--amber); }
.rodape__link { color: var(--muted-dark) !important; margin-left: 6px; background: none; border: 0; padding: 0; font-family: var(--f-mono); font-size: 11px; }
.rodape__link:hover { color: var(--paper) !important; }
.rodape__assinatura { border-top: 1px solid var(--line-grid); padding-top: 20px; display: flex; justify-content: flex-end; align-items: center; gap: 12px; }
.rodape__assinatura span { font-family: var(--f-mono); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted-light); }
.rodape__assinatura a { display: flex; opacity: .8; }
.rodape__assinatura a:hover { opacity: 1; }
.rodape__assinatura img { height: 20px; width: auto; }

.whats-flutuante { position: fixed; right: 24px; bottom: 24px; z-index: 50; width: 60px; height: 60px; border-radius: 50%; background: var(--whats); color: var(--branco);
  display: flex; align-items: center; justify-content: center; box-shadow: 0 12px 28px -8px rgba(0, 0, 0, .45); transition: transform .2s; }
.whats-flutuante:hover { transform: scale(1.08); color: var(--branco); }
.whats-flutuante .ico { width: 30px; height: 30px; }

/* Aviso de cookies: discreto, uma linha */
.cookies { position: fixed; left: 16px; bottom: 16px; z-index: 60; max-width: min(560px, calc(100% - 112px)); background: var(--ink); color: var(--paper);
  border: 1px solid var(--line-dark); border-radius: var(--r-card); padding: 12px 14px 12px 18px; font-size: 13px; line-height: 1.5; box-shadow: 0 12px 28px -8px rgba(0, 0, 0, .45); }
.cookies[hidden] { display: none; }
.cookies-linha { display: flex; align-items: center; gap: 14px; }
.cookies-linha p { flex: 1; }
.cookies a { color: var(--paper); text-decoration: underline; text-underline-offset: 3px; }
.cookies-link { background: none; border: 0; padding: 0; color: var(--sub-dark); text-decoration: underline; text-underline-offset: 3px; font-size: 13px; }
.cookies-ok { background: var(--amber); color: var(--ink); border: 0; border-radius: var(--r-pill); padding: 10px 18px; font-weight: 600; font-size: 13px; min-height: 40px; }
.cookies-opcoes { display: flex; flex-direction: column; gap: 10px; margin-top: 12px; border-top: 1px solid var(--line-dark); padding-top: 12px; }
.cookies-opcoes[hidden] { display: none; }
.cookies-opcao { display: flex; justify-content: space-between; gap: 16px; align-items: center; }
.cookies-opcao span { display: flex; flex-direction: column; }
.cookies-opcao small { color: var(--muted-dark); font-size: 12px; }
.cookies-opcao input { width: 20px; height: 20px; accent-color: var(--amber); }

/* ---------- 5. Seções por tipo de página ---------- */
.ambar { color: var(--amber); }
.maiusculas { text-transform: uppercase; }

/* Home: carrossel do hero */
.carrossel { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 20px; height: clamp(560px, 78vh, 760px); }
.carrossel__texto { position: relative; padding: 36px 20px 20px 40px; display: flex; flex-direction: column; justify-content: space-between; gap: 40px; min-height: 0; }
.carrossel__rotulo { display: flex; align-items: center; gap: 12px; }
.carrossel__slides { display: grid; flex: 1; align-items: center; }
.carrossel__slide { grid-area: 1 / 1; display: flex; flex-direction: column; gap: 24px; opacity: 0; visibility: hidden; transition: opacity .6s, visibility .6s; }
.carrossel__slide.is-ativo { opacity: 1; visibility: visible; }
.carrossel__titulo { max-width: 15ch; }
.carrossel__sub { max-width: 46ch; }
.carrossel__slide .btn { align-self: flex-start; }
.carrossel__controles { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.carrossel__pontos { display: flex; gap: 8px; }
.carrossel__ponto { width: 20px; height: 6px; border: 0; padding: 0; border-radius: var(--r-pill); background: var(--line-dark); transition: all .35s; position: relative; }
.carrossel__ponto::before { content: ""; position: absolute; inset: -19px -4px; }
.carrossel__ponto.is-ativo { width: 44px; background: var(--amber); }
.carrossel__nav { display: flex; align-items: center; gap: 12px; }
.carrossel__contador { font-size: 11px; color: var(--muted-dark); font-variant-numeric: tabular-nums; }
.carrossel__seta { width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--line-dark); background: transparent; color: var(--paper); font-family: var(--f-mono); }
.carrossel__seta:hover { background: var(--paper); color: var(--ink); }
.carrossel__foto { position: relative; border-radius: var(--r-card); overflow: hidden; background: var(--ink-soft); height: 100%; }
.carrossel__img { position: absolute; inset: 0; border-radius: 0; opacity: 0; transition: opacity .6s; }
.carrossel__img.is-ativo { opacity: 1; }
.carrossel__img .selo-vidro { left: 16px; top: 16px; }

/* Home: card de linha de produto */
.card--linha { min-height: 460px; gap: 18px; }
.midia--produto { background: var(--surface-2); }

/* Home: seletor de sonda (e galeria de produto: troca de foto com fade) */
.sonda { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; }
.sonda__foto { min-height: 560px; border-radius: var(--r-card); }
.sonda__img { position: absolute; inset: 0; opacity: 0; transition: opacity .5s; }
.sonda__img.is-ativo { opacity: 1; }
.sonda__img img { width: 100%; height: 100%; object-fit: cover; }
.sonda__selo { position: absolute; left: 16px !important; top: 16px !important; font-size: 11px; padding: 7px 12px; }
.sonda__foto .sonda__codigo { position: absolute; left: auto; top: auto; right: 16px; bottom: 16px; font-size: 12px; padding: 8px 14px; letter-spacing: 0; text-transform: none; }
.sonda__texto { padding: 28px 28px 20px 12px; display: flex; flex-direction: column; justify-content: space-between; gap: 40px; }
.sonda__cab { display: flex; flex-direction: column; gap: 16px; }
.sonda__titulo { font-size: clamp(32px, 3.8vw, 56px); line-height: .98; max-width: 14ch; }
.sonda__cab .lead { font-size: 15px; max-width: 46ch; }
.sonda__lista { display: flex; flex-direction: column; gap: 6px; }
.sonda__opcao { background: transparent; color: var(--paper); border: 1px solid var(--line-dark); border-radius: var(--r-media); padding: 16px 18px; min-height: 56px;
  display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 16px; align-items: center; text-align: left; transition: background .2s, border-color .2s, color .2s; }
.sonda__opcao:hover { border-color: var(--amber); }
.sonda__opcao.is-ativo { background: var(--paper); color: var(--ink); border-color: var(--paper); }
.sonda__cod { font-size: 12px; font-weight: 500; }
.sonda__uso { font-size: 13px; opacity: .85; }
.sonda__cta { margin-top: 10px; padding: 16px 22px; }

/* Segmentos: grade de células escuras com divisores de 1px; foto ao fundo a 14% (35% no hover) */
.seg-grade { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: var(--line-dark); border: 1px solid var(--line-dark); border-radius: var(--r-card); overflow: hidden; }
.seg-card { position: relative; background: var(--ink); color: var(--paper); padding: 26px 24px; min-height: 230px; display: flex; flex-direction: column; justify-content: space-between; gap: 24px; overflow: hidden; }
.seg-card[hidden] { display: none; }
.seg-card__foto { position: absolute; inset: 0; opacity: .14; transition: opacity .4s; filter: grayscale(1); }
.seg-card__foto img { width: 100%; height: 100%; object-fit: cover; }
.seg-card__foto .midia__vazia { display: none; }
.seg-card:hover .seg-card__foto, .seg-card:focus-within .seg-card__foto { opacity: .35; }
.seg-card__num { position: relative; font-family: var(--f-mono); font-size: 11px; color: var(--amber); }
.seg-card__corpo { position: relative; display: flex; flex-direction: column; gap: 10px; }
.seg-card h3 a { color: var(--paper); }
.seg-card h3 a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.seg-card:hover h3 a { color: var(--amber); }
.seg-card p { font-size: 13px; line-height: 1.5; color: var(--sub-dark); text-wrap: pretty; }
.seg-mais { margin-top: 24px; display: flex; justify-content: flex-end; }

/* Home: quem somos */
.quem { padding-top: 140px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: center; }
.quem__mosaico { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 12px; aspect-ratio: 1 / 1; }
.quem__mosaico .midia { border-radius: var(--r-card); }
.quem__mosaico .midia img { width: 100%; height: 100%; object-fit: cover; }
.quem__f1 { grid-row: 1 / 3; }
.quem__f2 { background: var(--amber); }
.quem__f2 .midia__vazia { color: rgba(10, 10, 10, .45); }
.quem__anos { border-radius: var(--r-card); background: var(--ink-soft); border: 1px solid var(--line-dark); padding: 22px; display: flex; flex-direction: column; justify-content: space-between; }
.quem__anos .eyebrow { font-size: 10px; letter-spacing: .12em; }
.quem__num { font-size: 48px; font-weight: 600; letter-spacing: -.04em; line-height: 1; font-stretch: 108%; }
.quem__num-rot { display: block; font-size: 11px; font-family: var(--f-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--muted-dark); margin-top: 8px; }
.quem__texto { display: flex; flex-direction: column; gap: 22px; }
.quem__cta { margin-top: 8px; align-self: flex-start; padding: 14px 24px; }

/* Home: serviços (3 temas: âmbar, prata, preto) */
.servicos { display: flex; flex-direction: column; gap: 48px; }
.servicos .cab-secao { margin-bottom: 0; }
.servicos .lead { font-size: 15px; max-width: 50ch; }
.servico { border-radius: var(--r-card); padding: 24px; min-height: 480px; display: flex; flex-direction: column; justify-content: space-between; gap: 32px; border: 1px solid;
  transition: transform .3s; }
.servico:hover { transform: translateY(-6px); }
.servico--ambar { background: var(--amber); color: var(--ink); border-color: var(--amber); }
.servico--prata { background: var(--silver); color: var(--ink); border-color: var(--silver); }
.servico--preto { background: var(--ink); color: var(--paper); border-color: var(--paper); }
.servico:hover { color: inherit; }
.servico--ambar:hover, .servico--prata:hover { color: var(--ink); }
.servico--preto:hover { color: var(--paper); }
.servico__topo { display: flex; justify-content: space-between; align-items: center; }
.servico__fase { font-family: var(--f-mono); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; border: 1px solid currentColor; border-radius: var(--r-pill); padding: 5px 10px; }
.servico__circ { width: 12px; height: 12px; border-radius: 50%; border: 1.5px solid currentColor; }
.servico__n { font-size: clamp(96px, 10vw, 160px); line-height: .85; font-weight: 500; letter-spacing: -.06em; text-align: center; font-stretch: 108%; }
.servico__corpo { display: flex; flex-direction: column; gap: 14px; }
.servico__nome { font-size: 22px; font-weight: 600; letter-spacing: -.02em; }
.servico__itens { display: flex; flex-direction: column; gap: 6px; font-size: 13px; opacity: .85; }
.servico__itens > span { display: flex; gap: 10px; }
.servico__rodape { display: flex; justify-content: space-between; align-items: center; margin-top: 6px; }
.servico__acao { font-family: var(--f-mono); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; opacity: .7; }
.servico__seta { width: 36px; height: 36px; border-radius: 50%; border: 1.5px solid currentColor; display: flex; align-items: center; justify-content: center; }

.tracinho { width: 10px; height: 1.5px; background: currentColor; display: inline-block; flex-shrink: 0; margin-top: .65em; }

/* Seções extras de conteúdo (serviços): lista, tabela e texto em card claro; cards numerados reusam .desafio */
.bloco-secao .grade .desafio { height: 100%; }
.lista-card { background: var(--branco); border: 1px solid var(--line-light-2); border-radius: var(--r-card); padding: 28px 32px; }
.lista-check { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 32px; }
.lista-check li { position: relative; padding-left: 30px; font-size: 16px; line-height: 1.5; color: var(--texto-2); }
.lista-check li::before { content: ""; position: absolute; left: 0; top: .2em; width: 18px; height: 18px; border-radius: 50%; background: var(--amber); }
.lista-check li::after { content: ""; position: absolute; left: 6px; top: calc(.2em + 3px); width: 5px; height: 9px; border: solid var(--ink); border-width: 0 2px 2px 0; transform: rotate(45deg); }
.lista-check strong { color: var(--ink); }
.lista-card__fecho { margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--line-light-2); font-size: 15px; line-height: 1.6; color: var(--muted-light); }
.prosa-card p { font-size: 17px; line-height: 1.7; color: var(--texto-2); max-width: 75ch; }
.prosa-card p + p { margin-top: 14px; }
.tabela-card { background: var(--branco); border: 1px solid var(--line-light-2); border-radius: var(--r-card); overflow: hidden; }
.tabela { width: 100%; border-collapse: collapse; }
.tabela th, .tabela td { text-align: left; padding: 18px 28px; border-bottom: 1px solid var(--line-light-2); vertical-align: baseline; }
.tabela tr:last-child th, .tabela tr:last-child td { border-bottom: 0; }
.tabela thead th { font-family: var(--f-mono); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--muted-light); font-weight: 500; background: var(--surface-2); }
.tabela tbody th { width: 30%; font-size: 15px; font-weight: 600; }
.tabela td { font-size: 15px; line-height: 1.5; color: var(--texto-2); }
.bloco-secao__links { margin-top: 16px; }
.bloco-secao .seg-linhas__link--claro { border-color: var(--line-light); color: var(--ink) !important; background: var(--branco); display: inline-flex; gap: 8px; }
.bloco-secao .seg-linhas__link--claro:hover { background: var(--ink); color: var(--paper) !important; }
.seg-linhas__link--claro .seta { color: var(--amber); }
.secao-apos { margin-top: var(--secao); }

/* Serviço: card da home no topo */
.servico-hero { position: relative; display: flex; }
.servico--hero { flex: 1; min-height: 520px; cursor: default; }
.servico--hero:hover { transform: none; }

/* Categoria (linha de produtos) */
.hero-int--cat { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); }
.hero-int--cat .h1 { max-width: 14ch; }
/* Foto de produto sem fundo no topo: inteira, com respiro e espaço para as etiquetas */
.midia--recorte > img { object-fit: contain; padding: 40px 32px 24px; }
.hero-int__chips { position: absolute; left: 16px; right: 16px; bottom: 16px; display: flex; gap: 8px; flex-wrap: wrap; pointer-events: none; }
.hero-int__chips .selo-vidro { letter-spacing: .08em; }
.card--sub { min-height: 480px; gap: 18px; }
.cat-aplic { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 48px; align-items: start; }
.cat-aplic__texto { display: flex; flex-direction: column; gap: 20px; position: sticky; top: 160px; }
.cat-aplic__texto .btn { align-self: flex-start; }
.cat-aplic__grade { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.cat-aplic__card { background: var(--card-escuro); border: 1px solid var(--line-dark); border-radius: 18px; padding: 22px; display: flex; flex-direction: column; gap: 24px;
  min-height: 180px; justify-content: space-between; }
.cat-aplic__card .mono { font-size: 11px; }
.cat-aplic__card h3 { font-size: 19px; }
.cat-aplic__card p { margin-top: 8px; font-size: 13px; line-height: 1.5; color: var(--sub-dark); }
.cab-simples { margin-bottom: 40px; }
.criterios { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; }
.criterios li { border: 1px solid var(--line-dark); border-radius: 16px; padding: 20px; display: flex; flex-direction: column; gap: 28px; background: var(--ink); min-height: 150px;
  justify-content: space-between; }
.criterios .mono { font-size: 11px; }
.criterios li > span:last-child { font-size: 15px; font-weight: 600; letter-spacing: -.01em; line-height: 1.25; }

/* Subcategoria */
.sub-hero { padding-top: 64px; padding-bottom: 48px; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 48px; align-items: end; }
.sub-hero__texto { display: flex; flex-direction: column; gap: 20px; }
.sub-hero__h1 { font-size: clamp(40px, 5vw, 76px); line-height: .95; letter-spacing: -.04em; max-width: none; }
.sub-hero__lead { font-size: 17px; line-height: 1.6; color: var(--muted-light); max-width: 62ch; text-wrap: pretty; }
.sub-hero__acoes { display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
.sub-hero__nota { font-size: 11px; color: var(--muted-light); }
.barra-filtro { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; padding: 16px 0; border-top: 1px solid var(--line-light);
  border-bottom: 1px solid var(--line-light); margin-bottom: 24px; }
.barra-filtro__chips { display: flex; gap: 8px; flex-wrap: wrap; }
.barra-filtro__conta { font-size: 11px; color: var(--muted-light); }
.card--produto { padding: 16px 16px 20px; min-height: 440px; position: relative; }
.card--produto[hidden] { display: none; }
.card--produto__corpo { display: flex; flex-direction: column; gap: 8px; padding: 0 4px; flex: 1; }
.card--produto h3 a { color: inherit; }
.card--produto__tags { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 4px; }
.card--produto__acoes { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 0 4px; }
.card--produto__orc { font-size: 12px; font-weight: 600; color: var(--muted-light); padding: 10px 0; }
.card--produto__orc:hover { color: var(--ink); }
.card--produto .card__desc { font-size: 13px; line-height: 1.5; }
.cod { font-family: var(--f-mono); font-size: 11px; color: var(--amber-ink); }
.etiqueta--mini { padding: 4px 9px; font-size: 10px; }
.selo-preto { position: absolute; left: 12px; top: 12px; background: var(--ink); color: var(--paper); border-radius: var(--r-pill); padding: 5px 10px; font-family: var(--f-mono);
  font-size: 10px; letter-spacing: .1em; text-transform: uppercase; pointer-events: none; }
.guia { display: flex; flex-direction: column; border-top: 1px solid var(--line-dark); }
.guia__linha { display: grid; grid-template-columns: minmax(0, 1.2fr) 200px minmax(0, 1fr) 40px; gap: 24px; align-items: center; padding: 22px 0;
  border-bottom: 1px solid var(--line-dark); color: var(--paper) !important; }
.guia__linha:hover { color: var(--amber) !important; }
.guia__cond { font-size: 18px; font-weight: 600; letter-spacing: -.01em; }
.guia__cod { font-size: 12px; }
.guia__por { font-size: 14px; color: var(--sub-dark); }
.guia__seta { font-size: 18px; text-align: right; }

/* Produto */
.prod { padding-top: 40px; }
.prod__migalhas { margin-bottom: 28px; }
.prod__grade { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 48px; align-items: start; }
.prod__galeria { display: flex; flex-direction: column; gap: 12px; position: sticky; top: 160px; }
.prod__foto { position: relative; background: var(--surface-2); border-radius: var(--r-bloco); overflow: hidden; aspect-ratio: 1 / 1; }
.prod__img { position: absolute; inset: 0; opacity: 0; transition: opacity .4s; }
.prod__img.is-ativo { opacity: 1; }
.prod__img img { width: 100%; height: 100%; object-fit: contain; padding: 8%; }
.prod__img .midia__vazia { background: none; }
.prod__cod { position: absolute; left: 16px; top: 16px; font-size: 11px; padding: 7px 12px; }
.prod__conta { position: absolute; right: 16px; bottom: 16px; background: var(--ink); color: var(--paper); border-radius: var(--r-pill); padding: 7px 12px; font-family: var(--f-mono); font-size: 11px; }
.prod__thumbs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.prod__thumb { aspect-ratio: 1 / 1; border-radius: var(--r-media); border: 2px solid transparent; background: #E6E6E2; padding: 0; overflow: hidden; }
.prod__thumb img { width: 100%; height: 100%; object-fit: contain; padding: 8%; }
.prod__thumb.is-ativo { border-color: var(--amber); }
.prod__info { display: flex; flex-direction: column; gap: 28px; }
.prod__cab { display: flex; flex-direction: column; gap: 14px; }
.prod__h1 { font-size: clamp(32px, 3.8vw, 56px); line-height: 1; font-weight: 600; letter-spacing: -.035em; font-stretch: 108%; text-wrap: balance; }
.prod__aviso { background: var(--amber-tint); border: 1px solid var(--amber); border-radius: var(--r-media); padding: 14px 18px; font-size: 15px; line-height: 1.5; }
.prod__p1 { font-size: 17px; line-height: 1.6; color: var(--texto-2); text-wrap: pretty; }
.prod__p2 { font-size: 15px; line-height: 1.6; color: var(--muted-light); text-wrap: pretty; }
.prod__selos { display: flex; gap: 20px; flex-wrap: wrap; padding: 20px 0; border-top: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); }
.prod__selos > span { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 500; }
.prod__aplic { display: flex; flex-direction: column; gap: 12px; }
.etiqueta-clara { border: 1px solid var(--line-light); border-radius: var(--r-pill); padding: 9px 14px; font-size: 13px; font-weight: 500; background: var(--branco); }
.btn--claro { background: var(--paper); color: var(--ink); border-color: var(--paper); padding: 13px 22px; font-size: 13px; }
.btn--claro:hover { background: var(--amber); border-color: var(--amber); color: var(--ink); }
.ficha { padding-bottom: 64px; }
.kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: var(--line-dark); border: 1px solid var(--line-dark); border-radius: 24px; overflow: hidden; }
.kpi { background: var(--ink); padding: 28px 24px; display: flex; flex-direction: column; gap: 18px; min-height: 220px; justify-content: space-between; }
.kpi__rot { font-family: var(--f-mono); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--muted-dark); }
.kpi__valor { display: flex; flex-direction: column; gap: 8px; }
.kpi__num { font-size: clamp(40px, 4.4vw, 64px); line-height: .9; font-weight: 600; letter-spacing: -.045em; font-stretch: 108%; color: var(--amber); }
.kpi__un { font-size: .4em; letter-spacing: 0; color: var(--paper); margin-left: 6px; }
.kpi__desc { font-size: 13px; line-height: 1.45; color: var(--sub-dark); }
.kpi__barra { height: 4px; border-radius: 2px; background: var(--line-grid); overflow: hidden; }
.kpi__barra span { display: block; height: 100%; background: var(--amber); border-radius: 2px; }
.ficha__duo { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: 12px; margin-top: 12px; }
.ficha__card { background: var(--card-escuro); border: 1px solid var(--line-dark); border-radius: 24px; padding: 28px; display: flex; flex-direction: column; gap: 18px; }
.ficha__saidas { display: flex; flex-direction: column; gap: 10px; }
.ficha__saida { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 14px 16px; border-radius: var(--r-media); background: var(--ink); border: 1px solid var(--line-dark); }
.ficha__saida .mono { font-size: 18px; }
.ficha__fios { font-family: var(--f-mono); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: var(--ink); background: var(--sub-dark); border-radius: var(--r-pill); padding: 5px 10px; }
.ficha__fios.is-ativo { background: var(--amber); }
.ficha__roscas { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.ficha__rosca { aspect-ratio: 1 / 1; border-radius: 50%; border: 1px dashed #3A3A37; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; }
.ficha__rosca > span:first-child { font-size: clamp(18px, 2vw, 26px); font-weight: 600; letter-spacing: -.02em; }
.ficha__rosca .mono { font-size: 9px; color: var(--muted-dark); }
.etiqueta--ambar { border-color: var(--amber); color: var(--amber); padding: 6px 12px; }
.ficha__nota { font-size: 13px; color: var(--sub-dark); align-self: center; }
.spec { margin: 12px 0 0; border: 1px solid var(--line-dark); border-radius: 24px; overflow: hidden; }
.spec__linha { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 24px; padding: 20px 28px; border-bottom: 1px solid var(--line-dark); align-items: baseline; }
.spec__linha:last-child { border-bottom: 0; }
.spec dt { font-family: var(--f-mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--muted-dark); }
.spec dd { margin: 0; font-size: 16px; font-weight: 500; color: var(--paper); }
.kpis + .spec, .ficha__duo + .spec { margin-top: 12px; }
.orc { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 48px; align-items: start; }
.orc__texto { display: flex; flex-direction: column; gap: 20px; }
.orc__contatos { display: flex; flex-direction: column; gap: 12px; margin-top: 8px; }
.orc__whats { color: var(--paper) !important; font-size: 18px; font-weight: 600; display: inline-flex; align-items: center; gap: 12px; }
.orc__whats:hover { color: var(--amber) !important; }
.orc__email { color: var(--sub-dark) !important; font-size: 15px; }
.ponto--verde { background: var(--whats); }
.orc__form { background: var(--paper); color: var(--ink); border-radius: var(--r-bloco); padding: 32px; }
.orc__form .form { gap: 14px; }
.orc__form .btn { align-self: flex-start; }
.card--rel { padding: 16px 16px 20px; gap: 14px; position: relative; }
.card--rel .cod { padding: 0 4px; }
.card--rel h3 { font-size: 18px; font-weight: 600; letter-spacing: -.015em; line-height: 1.2; padding: 0 4px; flex: 1; }
.card--rel h3 a { color: inherit; }
.card--rel h3 a::after, .card--produto h3 a::after { content: ""; position: absolute; inset: 0; }
.card--produto__acoes { position: relative; z-index: 1; }
.card--rel .link-seta { padding: 0 4px; }

/* Utilitários de cor de texto */
.cinza { color: var(--muted-light); }
.cinza-escuro { color: var(--muted-dark); }
.rotulo-mono { font-family: var(--f-mono); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted-light); }
.rotulo-mono--escuro { color: var(--muted-dark); }
.eyebrow--ambar-escuro { color: var(--amber-ink); }
.h2--46 { font-size: clamp(28px, 3.2vw, 46px); }
.h3-34 { font-size: clamp(24px, 2.6vw, 34px); line-height: 1.05; font-weight: 600; letter-spacing: -.03em; font-stretch: 108%; text-wrap: balance; }
.espaco-96 { height: var(--secao); }

/* Segmentos (índice) */
.segs-hero { padding: 56px 48px; }
.segs-hero__grade { position: relative; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 48px; align-items: end; }
.segs-hero__texto { display: flex; flex-direction: column; gap: 24px; }
.segs-hero__texto .h1 { max-width: 14ch; }
.segs-hero__texto .lead { max-width: 58ch; }
.segs-hero__fotos { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.segs-hero__foto { aspect-ratio: 4 / 5; border-radius: var(--r-card); }
.segs-hero__foto:nth-child(2) { margin-top: 40px; }
.segs-hero__foto img { width: 100%; height: 100%; object-fit: cover; }
.segs-grade { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.seg-tile { position: relative; display: flex; flex-direction: column; justify-content: space-between; gap: 28px; background: var(--ink); color: var(--paper); border-radius: 18px;
  padding: 22px; min-height: 240px; overflow: hidden; }
.seg-tile[hidden] { display: none; }
.seg-tile:hover .seg-card__foto, .seg-tile:focus-within .seg-card__foto { opacity: .35; }
.seg-tile__topo { position: relative; display: flex; justify-content: space-between; align-items: center; font-size: 11px; }
.seg-tile__grupo { font-family: var(--f-mono); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; border: 1px solid var(--line-dark); border-radius: var(--r-pill);
  padding: 4px 10px; color: var(--sub-dark); }
.seg-tile__corpo { position: relative; display: flex; flex-direction: column; gap: 12px; }
.seg-tile h3 a { color: var(--paper); }
.seg-tile h3 a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.seg-tile p { font-size: 13px; line-height: 1.5; color: var(--sub-dark); text-wrap: pretty; }
.seg-tile__link { font-size: 13px; font-weight: 600; color: var(--paper) !important; display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; margin-top: 4px; }
.seg-tile:hover .seg-tile__link { color: var(--amber) !important; }
.seg-tile__link--whats { position: relative; z-index: 2; }
.card--linha4 { min-height: 360px; }

/* Segmento */
.hero-int__h1-62 { font-size: clamp(36px, 4.2vw, 62px); max-width: 14ch; }
.hero-int__foto--560 { min-height: 560px; }
.seg-tags { margin-top: 8px; gap: 8px; }
.etiqueta--10 { font-size: 10px; padding: 7px 12px; letter-spacing: .1em; }
.seg-selo { position: absolute; left: 16px; top: 16px; font-size: 11px; padding: 7px 12px; }
.desafios { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 48px; align-items: start; }
.desafios__titulo { display: flex; flex-direction: column; gap: 14px; position: sticky; top: 160px; }
.desafios__lista { display: flex; flex-direction: column; gap: 12px; }
.desafio { background: var(--branco); border: 1px solid var(--line-light-2); border-radius: var(--r-card); padding: 28px; display: grid; grid-template-columns: 64px minmax(0, 1fr);
  gap: 24px; align-items: start; }
.desafio__num { font-size: 44px; font-weight: 600; letter-spacing: -.04em; line-height: 1; color: var(--amber); font-stretch: 108%; }
.desafio p { margin-top: 8px; font-size: 15px; line-height: 1.6; color: var(--muted-light); text-wrap: pretty; }
.trilho__barra { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 16px; }
.trilho__seta { width: 44px; height: 44px; }
.trilho__seta:disabled { opacity: .35; cursor: default; }
.trilho { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; padding-bottom: 4px; }
.trilho::-webkit-scrollbar { display: none; }
.card--indicado { flex: 0 0 calc(25% - 9px); min-width: 260px; padding: 14px 14px 18px; gap: 14px; scroll-snap-align: start; position: relative; }
.card--indicado .midia { border-radius: var(--r-media); }
.card--indicado .midia .selo-ambar { letter-spacing: .08em; }
.card--indicado__corpo { display: flex; flex-direction: column; gap: 8px; padding: 0 4px; flex: 1; }
.card--indicado h3 { font-size: 18px; font-weight: 600; letter-spacing: -.01em; line-height: 1.2; }
.card--indicado h3 a { color: var(--paper); }
.card--indicado h3 a::after { content: ""; position: absolute; inset: 0; }
.card--indicado p { font-size: 13px; line-height: 1.5; color: var(--sub-dark); flex: 1; text-wrap: pretty; }
.card--indicado .link-seta { margin-top: 4px; color: var(--paper); }
.card--indicado:hover .link-seta { color: var(--amber); }
.seg-linhas { margin-top: 32px; display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.seg-linhas .eyebrow { margin-right: 8px; font-size: 11px; letter-spacing: .12em; }
.seg-linhas__link { border: 1px solid var(--line-dark); color: var(--paper) !important; border-radius: var(--r-pill); padding: 9px 16px; font-size: 13px; font-weight: 500; }
.seg-linhas__link:hover { background: var(--paper); color: var(--ink) !important; }
.criterios-barra { list-style: none; padding: 8px; margin: 0; background: var(--branco); border: 1px solid var(--line-light-2); border-radius: var(--r-card); display: flex; gap: 4px; flex-wrap: wrap; }
.criterios-barra li { flex: 1 1 180px; display: flex; align-items: center; gap: 14px; padding: 18px 20px; border-radius: var(--r-media); font-size: 15px; font-weight: 600; letter-spacing: -.01em; }
.criterios-barra li:hover { background: var(--paper); }
.criterios-barra__n { width: 32px; height: 32px; border-radius: 50%; background: var(--amber); display: flex; align-items: center; justify-content: center; font-family: var(--f-mono);
  font-size: 11px; font-weight: 400; flex-shrink: 0; }

/* Quem somos */
.qs-mosaico { position: relative; display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 12px; min-height: 560px; }
.qs-mosaico .midia { border-radius: var(--r-card); }
.qs-mosaico .midia img { width: 100%; height: 100%; object-fit: cover; }
.qs-mosaico__f1 { grid-row: 1 / 3; }
.qs-mosaico__anos { border-radius: var(--r-card); background: var(--amber); color: var(--ink); padding: 22px; display: flex; flex-direction: column; justify-content: space-between; }
.qs-mosaico__anos .mono { font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.qs-mosaico__num { font-size: 56px; font-weight: 600; letter-spacing: -.04em; line-height: 1; font-stretch: 108%; }
.qs-mosaico__num span { display: block; font-size: 11px; font-family: var(--f-mono); letter-spacing: .1em; text-transform: uppercase; margin-top: 8px; }
.etapa { border-radius: var(--r-card); padding: 28px; min-height: 340px; display: flex; flex-direction: column; justify-content: space-between; gap: 32px; border: 1px solid; }
.etapa--preto, .marco--preto, .valor--preto { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.etapa--ambar, .marco--ambar, .valor--ambar { background: var(--amber); color: var(--ink); border-color: var(--amber); }
.etapa--branco, .valor--branco { background: var(--branco); color: var(--ink); border-color: var(--line-light-2); }
.marco--prata, .valor--prata { background: var(--silver); color: var(--ink); border-color: var(--silver); }
.etapa__fase { align-self: flex-start; font-family: var(--f-mono); font-size: 14px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; border: 1px solid currentColor;
  border-radius: var(--r-pill); padding: 9px 18px; }
.etapa p, .marco p { margin-top: 12px; font-size: 15px; line-height: 1.6; opacity: .85; text-wrap: pretty; }
.qs-resultado { margin-top: 16px; background: var(--branco); border: 1px solid var(--line-light-2); border-radius: var(--r-card); padding: 24px 28px; display: flex; justify-content: space-between;
  align-items: center; gap: 24px; flex-wrap: wrap; }
.qs-resultado p { font-size: 16px; line-height: 1.5; color: var(--muted-light); max-width: 70ch; text-wrap: pretty; }
.qs-resultado strong { color: var(--ink); }
.qs-resultado .link-seta { font-size: 14px; white-space: nowrap; }
.marco { border: 1px solid var(--line-dark); border-radius: var(--r-card); padding: 28px; display: flex; flex-direction: column; gap: 32px; min-height: 320px; justify-content: space-between; }
.marco__ano { font-family: var(--f-mono); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; opacity: .75; }
.razoes { background: #121211; border: 1px solid var(--line-dark); border-radius: var(--r-bloco); padding: 48px; }
.razoes .cab-secao { margin-bottom: 48px; }
.razao { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 24px; padding: 32px; background: #1C1C1A; border: 1px solid #2E2E2B; border-radius: var(--r-card); align-items: start; }
.razao__icone { width: 64px; height: 64px; border-radius: 50%; background: var(--amber); color: var(--ink); display: flex; align-items: center; justify-content: center; }
.razao p { margin-top: 10px; font-size: 15px; line-height: 1.6; color: var(--sub-dark); text-wrap: pretty; }
.qs-segs { padding: 48px; display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 48px; align-items: center; }
.qs-segs__texto { display: flex; flex-direction: column; gap: 18px; }
.qs-segs__texto .lead { font-size: 15px; }
.qs-segs__texto .btn { align-self: flex-start; }
.qs-segs__chips { display: flex; gap: 10px; flex-wrap: wrap; }
.seg-chip { border: 1px solid var(--line-dark); background: var(--card-escuro); color: var(--paper) !important; border-radius: var(--r-pill); padding: 12px 18px; font-size: 15px; font-weight: 500;
  display: inline-flex; align-items: center; gap: 10px; transition: background .2s, color .2s, border-color .2s; }
.seg-chip:hover { background: var(--amber); color: var(--ink) !important; border-color: var(--amber); }
.seg-chip:hover .ponto { background: var(--ink); }
.valor { border-radius: var(--r-card); padding: 26px; min-height: 300px; display: flex; flex-direction: column; justify-content: space-between; gap: 40px; border: 1px solid; transition: transform .3s; }
.valor:hover { transform: translateY(-6px); }
.valor__n { font-size: clamp(64px, 7vw, 104px); line-height: .85; font-weight: 500; letter-spacing: -.06em; font-stretch: 108%; }
.valor p { margin-top: 10px; font-size: 14px; line-height: 1.55; opacity: .85; text-wrap: pretty; }

/* Contato */
.contato { padding-top: 72px; display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 56px; align-items: start; }
.contato__lado { display: flex; flex-direction: column; gap: 32px; position: sticky; top: 160px; }
.contato__cab { display: flex; flex-direction: column; gap: 20px; }
.contato__h1 { font-size: clamp(40px, 5vw, 76px); line-height: .95; letter-spacing: -.04em; }
.canais { background: var(--ink); color: var(--paper); border-radius: 24px; padding: 28px; display: flex; flex-direction: column; gap: 22px; }
.canais .eyebrow { color: var(--muted-dark); }
.canais__lista { display: flex; flex-direction: column; gap: 16px; }
.canal { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 16px; align-items: baseline; padding-bottom: 16px; border-bottom: 1px solid var(--line-dark); color: var(--paper) !important; }
.canal:hover { color: var(--amber) !important; }
.canal__k { font-family: var(--f-mono); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted-dark); }
.canal__v { font-size: 16px; font-weight: 600; line-height: 1.35; overflow-wrap: anywhere; }
.canais .rede:hover { background: var(--amber); color: var(--ink); border-color: var(--amber); }
.mapa { position: relative; display: flex; align-items: flex-end; gap: 16px; min-height: 200px; aspect-ratio: 16 / 9; border-radius: var(--r-card); overflow: hidden; background: var(--ink);
  color: var(--paper) !important; padding: 24px; }
.mapa__pino { position: absolute; left: 50%; top: 38%; transform: translate(-50%, -50%); width: 52px; height: 52px; border-radius: 50%; background: var(--amber); color: var(--ink);
  display: flex; align-items: center; justify-content: center; box-shadow: 0 0 0 10px rgba(247, 168, 27, .15); }
.mapa__texto { position: relative; display: flex; flex-direction: column; gap: 6px; }
.mapa__end { font-size: 15px; font-weight: 600; }
.mapa .link-seta { color: var(--amber); }
.mapa:hover .mapa__end { color: var(--amber); }
.contato__form { background: var(--branco); border: 1px solid var(--line-light-2); border-radius: var(--r-bloco); padding: 40px; }
.contato__form .form { gap: 28px; }
.contato__form-cab { display: flex; flex-direction: column; gap: 10px; }
.contato__h2 { font-size: clamp(24px, 2.6vw, 34px); line-height: 1.05; font-weight: 600; letter-spacing: -.03em; font-stretch: 108%; }
.grupo-form { border: 0; padding: 0; margin: 0; min-width: 0; display: flex; flex-direction: column; gap: 12px; }
.grupo-form legend, .grupo-chips legend { padding: 0; margin-bottom: 12px; }
.contato__form .form__grade { gap: 12px; }
.chip-op { border: 1px solid var(--ink); border-radius: var(--r-pill); padding: 10px 16px; font-size: 13px; font-weight: 500; background: transparent; color: var(--ink); display: inline-flex;
  min-height: 40px; align-items: center; cursor: pointer; transition: background .2s, color .2s, border-color .2s; }
.chip-op:hover { background: var(--ink); color: var(--paper); }
.chip-op--ambar { border-color: var(--line-light); }
.chip-op--ambar:hover { background: transparent; color: var(--ink); border-color: var(--ink); }
.grupo-chips input:checked + .chip-op { background: var(--ink); color: var(--paper); }
.grupo-chips input:checked + .chip-op--ambar { background: var(--amber); color: var(--ink); border-color: var(--amber); }
.grupo-chips input:focus-visible + .chip-op { outline: 2px solid var(--amber); outline-offset: 2px; }
.contato__enviar { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.contato__enviar .pequeno { max-width: 40ch; }
.contato-faq { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 48px; align-items: start; }

/* Blog */
.blog-hero { padding-top: 72px; padding-bottom: 48px; }
.blog-hero__grade { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 48px; align-items: end; }
.blog-busca { display: flex; align-items: center; gap: 12px; background: var(--branco); border: 1px solid var(--line-light); border-radius: var(--r-pill); padding: 16px 22px; color: var(--muted-light); margin: 0; }
.blog-busca:focus-within { border-color: var(--ink); }
.blog-busca input { border: 0; outline: none; background: transparent; font-size: 15px; color: var(--ink); width: 100%; min-width: 0; padding: 0; }
.blog-busca__limpar { border: 0; background: var(--ink); color: var(--paper); width: 28px; height: 28px; border-radius: 50%; flex-shrink: 0; font-family: var(--f-mono); font-size: 12px; }
.blog-busca__limpar[hidden] { display: none; }
.blog-cats { margin-top: 40px; }
.blog-destaque__bloco { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 16px; padding: 16px; }
.blog-destaque__foto { min-height: 420px; border-radius: var(--r-card); }
.blog-destaque__foto img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; }
.blog-destaque__foto .selo-ambar { left: 16px; top: 16px; font-size: 11px; padding: 7px 12px; }
.blog-destaque__texto { padding: 28px 28px 20px 12px; display: flex; flex-direction: column; justify-content: space-between; gap: 32px; }
.blog-destaque__texto .btn { align-self: flex-start; }
.blog-destaque__cab { display: flex; flex-direction: column; gap: 16px; }
.blog-destaque .secao, .blog-destaque { padding-bottom: 16px; }
.blog-lista { padding-top: 48px; }
.blog-lista__cab { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 32px; flex-wrap: wrap; }
.blog-lista__cab [hidden] { display: none; }
.blog-cta { background: var(--amber); border-radius: var(--r-card); padding: 28px; display: flex; flex-direction: column; justify-content: space-between; gap: 28px; min-height: 360px; }
.blog-cta__corpo { display: flex; flex-direction: column; gap: 14px; }
.blog-cta h3 { font-size: 26px; font-weight: 600; letter-spacing: -.03em; line-height: 1.05; font-stretch: 108%; text-wrap: balance; }
.blog-cta p { font-size: 15px; line-height: 1.55; }
.blog-cta .btn { align-self: flex-start; }
.blog-vazio { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; margin-bottom: 32px; }
.blog-vazio[hidden] { display: none; }
.blog-vazio__card { background: var(--branco); border: 1px solid var(--line-light-2); border-radius: 24px; padding: 40px; display: flex; flex-direction: column; gap: 14px; }
.blog-vazio__card .botoes { margin-top: 6px; }
.blog-vazio__whats { background: var(--whats); border-radius: 24px; padding: 40px; display: flex; flex-direction: column; justify-content: space-between; gap: 24px; }
.blog-vazio__whats .btn { align-self: flex-start; }
.paginacao { margin-top: 48px; display: flex; justify-content: center; align-items: center; gap: 8px; font-family: var(--f-mono); font-size: 12px; flex-wrap: wrap; }
.paginacao__item { width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--line-light); display: flex; align-items: center; justify-content: center; color: var(--ink); }
.paginacao__item:hover { border-color: var(--ink); color: var(--ink); }
.paginacao__item.is-atual { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.paginacao__item.is-off { color: var(--dim-light); }
.paginacao__item--forte { border-color: var(--ink); }
.paginacao__item--forte:hover { background: var(--ink); color: var(--paper); }
.paginacao__ret { color: var(--dim-light); padding: 0 6px; }

/* Artigo */
.leitura { position: fixed; top: 0; left: 0; height: 3px; width: 0; background: var(--amber); z-index: 60; transition: width .1s linear; }
.art-abertura__dentro { padding-top: 64px; }
.art-abertura__migalhas { margin-bottom: 40px; }
.art-abertura__grade { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, .6fr); gap: 48px; align-items: end; padding-bottom: 56px; }
.art-abertura__h1 { font-size: clamp(34px, 5.2vw, 84px); line-height: .95; font-weight: 600; letter-spacing: -.04em; font-stretch: 108%; text-wrap: balance; }
.art-meta { margin: 0; display: flex; flex-direction: column; gap: 20px; border-left: 1px solid var(--line-dark); padding-left: 24px; }
.art-meta div { display: flex; flex-direction: column; gap: 4px; }
.art-meta dt { font-family: var(--f-mono); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted-dark); }
.art-meta dd { margin: 0; font-size: 15px; font-weight: 600; }
.art-capa { border-radius: var(--r-bloco) var(--r-bloco) 0 0; aspect-ratio: 21 / 9; }
.art-capa img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.art-sumario__abas { display: flex; gap: 4px; border-bottom: 1px solid var(--line-light); overflow-x: auto; scrollbar-width: none; font-family: var(--f-mono); font-size: 11px;
  letter-spacing: .06em; text-transform: uppercase; }
.art-sumario__abas::-webkit-scrollbar { display: none; }
.art-sumario__abas a { padding: 18px 16px; border-bottom: 2px solid transparent; color: var(--muted-light); white-space: nowrap; display: inline-flex; gap: 10px; }
.art-sumario__abas a:hover, .art-sumario__abas a.is-ativo { color: var(--ink); border-bottom-color: var(--amber); }
.art-corpo { padding-top: 64px; }
.art-texto { max-width: 820px; margin: 0 auto; min-width: 0; }
.art-texto .art-lead { font-size: 21px; line-height: 1.55; color: var(--ink); }
.art-texto figure img, .art-texto > p img { margin: 8px auto; }
.art-tags { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 28px; }
.art-whats { max-width: 820px; margin: 48px auto 0; background: var(--whats); color: var(--ink); border-radius: var(--r-bloco); padding: 36px 40px; display: flex;
  justify-content: space-between; align-items: center; gap: 28px; flex-wrap: wrap; }
.art-whats__texto { display: flex; flex-direction: column; gap: 10px; flex: 1 1 320px; }
.art-whats h2 { font-size: clamp(24px, 2.6vw, 34px); line-height: 1.05; font-weight: 600; letter-spacing: -.03em; font-stretch: 108%; text-wrap: balance; }
.art-whats .btn { padding: 18px 26px; font-size: 15px; }
.art-whats .btn:hover { background: var(--paper); color: var(--ink); border-color: var(--paper); }

/* Busca */
.busca-hero { padding: 56px 48px 48px; }
.busca-hero__dentro { display: flex; flex-direction: column; gap: 24px; }
/* Autocompletar de cidade (site/assets/js/cidades.js) */
.campo--cidade { position: relative; }
.cidades { position: absolute; left: 0; right: 0; top: calc(100% + 4px); z-index: 30; margin: 0; padding: 6px; list-style: none; max-height: 260px; overflow-y: auto;
  background: var(--branco); border: 1px solid var(--line-light); border-radius: var(--r-media); box-shadow: 0 18px 36px -18px rgba(0, 0, 0, .3); font-weight: 400; }
.cidades[hidden] { display: none; }
.cidades li { display: flex; justify-content: space-between; gap: 12px; padding: 10px 12px; border-radius: var(--r-thumb); font-size: 14px; color: var(--ink); cursor: pointer; }
.cidades li span { font-family: var(--f-mono); font-size: 12px; color: var(--muted-light); }
.cidades li[aria-selected="true"], .cidades li[role="option"]:hover { background: var(--amber-tint); }
.cidades .cidades__vazio { color: var(--muted-light); font-size: 13px; cursor: default; }
.cidades .cidades__vazio:hover { background: none; }

/* "Você quis dizer" (busca do site, blog e "Encontre o instrumento ideal") */
.busca-sugestao, .cmp .cmp-sugestao { font-size: 15px; line-height: 1.5; color: var(--texto-2); margin: 0; }
.busca-sugestao button, .cmp .cmp-sugestao button { border: 0; background: none; padding: 0; font: inherit; font-weight: 700; color: var(--amber-ink);
  text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.busca-sugestao button:hover, .cmp .cmp-sugestao button:hover { color: var(--ink); }
.busca-sugestao span { color: var(--muted-light); font-size: 13px; }
.busca-sugestao[hidden], .cmp .cmp-sugestao[hidden] { display: none; }
.busca-hero__h1 { font-size: clamp(32px, 4vw, 58px); line-height: 1; font-weight: 600; letter-spacing: -.035em; font-stretch: 108%; text-wrap: balance; }
.busca-campo { display: flex; align-items: center; gap: 14px; background: var(--paper); color: var(--muted-light); border-radius: var(--r-pill); padding: 8px 8px 8px 24px; max-width: 760px; margin: 0; }
.busca-campo input { border: 0; outline: none; background: transparent; font-size: 17px; color: var(--ink); width: 100%; min-width: 0; padding: 0; }
.busca-campo .btn { padding: 14px 22px; }
.busca-sugestoes { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.busca-sugestoes .rotulo-mono { margin-right: 4px; }
.busca-sugestao { border: 1px solid var(--line-dark); color: var(--sub-dark) !important; border-radius: var(--r-pill); padding: 7px 13px; font-size: 13px; }
.busca-sugestao:hover { border-color: var(--amber); color: var(--amber) !important; }
.busca-res { padding-top: 40px; }
.busca-res .barra-filtro { border-top: 0; margin-bottom: 32px; }
.busca-inicio[hidden] { display: none; }
.busca-grupo { display: flex; flex-direction: column; gap: 20px; margin-bottom: 56px; }
.busca-grupo[hidden] { display: none; }
.busca-grupo__cab { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; }
.busca-grupo__cab h2 { font-size: 26px; font-weight: 600; letter-spacing: -.02em; font-stretch: 108%; }
.res-pagina { background: var(--ink); color: var(--paper) !important; border-radius: 18px; padding: 22px; display: flex; flex-direction: column; gap: 24px; justify-content: space-between; min-height: 150px; }
.res-pagina__tipo { font-family: var(--f-mono); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: var(--amber); }
.res-pagina__t { display: flex; justify-content: space-between; align-items: end; gap: 12px; font-size: 20px; font-weight: 600; letter-spacing: -.01em; }
.res-pagina:hover { box-shadow: inset 0 0 0 1px var(--amber); }
mark { background: var(--amber-tint); color: inherit; border-radius: 3px; padding: 0 2px; }

/* 404 e páginas de texto */
.erro404 { padding: 72px 48px; }
.erro404__dentro { display: flex; flex-direction: column; gap: 24px; max-width: 900px; }
.erro404 .h1 { max-width: 18ch; }
.sub-hero--texto { grid-template-columns: minmax(0, 1fr); padding-bottom: 32px; }

/* ---------- 6. Responsivo ---------- */
@media (max-width: 1024px) {
  .segs-hero__grade, .desafios, .razoes .cab-secao, .qs-segs, .contato, .contato-faq, .blog-hero__grade, .blog-destaque__bloco, .art-abertura__grade, .blog-vazio { grid-template-columns: minmax(0, 1fr); }
  .segs-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .desafios__titulo, .contato__lado { position: static; }
  .hero-int__foto--560 { min-height: 340px; }
  .qs-mosaico { min-height: 420px; order: 1; }
  .contato__lado { display: contents; }
  .contato__cab { order: 1; }
  .contato__form { order: 2; }
  .canais { order: 3; }
  .mapa { order: 4; }
  .contato { gap: 32px; }
  .art-meta { flex-direction: row; flex-wrap: wrap; border-left: 0; padding-left: 0; border-top: 1px solid var(--line-dark); padding-top: 20px; gap: 32px; }
  .blog-destaque__texto { padding: 12px 8px 8px; }
  .hero-int--cat, .cat-aplic, .sub-hero, .prod__grade, .orc { grid-template-columns: minmax(0, 1fr); }
  .cat-aplic__texto, .prod__galeria { position: static; }
  .criterios { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .guia__linha { grid-template-columns: minmax(0, 1fr) auto; gap: 6px 16px; }
  .guia__por { grid-column: 1; }
  .guia__seta { grid-row: 1 / 3; grid-column: 2; align-self: center; }
  .guia__cod { grid-row: 2; grid-column: 1; }
  .guia__por { grid-row: 3; }
  :root { --gutter: 20px; }
  .topo__nav { display: none; }
  .topo__nav.is-aberto { display: flex; width: 100%; order: 3; justify-content: flex-start; padding-top: 4px; }
  /* No menu do celular/tablet a lista abre dentro do menu, ocupando a largura toda */
  .topo__nav .menu-sub { flex-wrap: wrap; }
  .topo__nav .menu-sub.is-aberto { width: 100%; }
  .topo__nav .menu-sub__lista { position: static; display: none; width: 100%; min-width: 0; margin-top: 8px; box-shadow: none; opacity: 1; visibility: visible; transform: none; }
  .topo__nav .menu-sub.is-aberto > .menu-sub__lista { display: flex; }
  .topo__nav .menu-sub.is-aberto > .menu-sub__lista--2 { display: grid; }
  .topo__nav .menu-sub__lista a { white-space: normal; }
  .topo__burger { display: inline-flex; }
  .topo__busca { display: none; }
  .topo__nav.is-aberto ~ .topo__acoes .topo__busca { display: flex; }
  .cab-secao, .cta-faq, .hero-int, .rodape__cta { grid-template-columns: minmax(0, 1fr); }
  .cab-secao > p { justify-self: start; }
  .cta-faq { gap: 40px; }
  .cta-ambar { position: static; }
  .grade--3, .grade--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .grade--2 { grid-template-columns: minmax(0, 1fr); }
  .rodape__grade { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rodape__contatos { align-items: flex-start; }
  .rodape__botoes { justify-content: flex-start; }
  .hero-int__texto { padding: 22px 10px 6px; order: 2; }
  .hero-int__foto { min-height: 340px; order: 1; }
  .so-desktop { display: none !important; }
  .carrossel { grid-template-columns: minmax(0, 1fr); height: auto; padding: 14px; }
  .carrossel__texto { padding: 22px 10px 6px; gap: 28px; order: 2; }
  .carrossel__foto { height: 340px; order: 1; }
  .sonda, .quem { grid-template-columns: minmax(0, 1fr); }
  .sonda__foto { min-height: 360px; }
  .sonda__texto { padding: 22px 10px 6px; gap: 28px; }
  .seg-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .quem { padding-top: var(--secao); }
}
@media (max-width: 640px) {
  :root { --gutter: 16px; --secao: 56px; }
  .grade--3, .grade--4, .rodape__grade, .form__grade { grid-template-columns: minmax(0, 1fr); }
  .topo__logo { height: 48px; }
  .topo__linha { min-height: 72px; padding-top: 10px; padding-bottom: 10px; gap: 12px; }
  .topo__produtos { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
  .topo__produtos::-webkit-scrollbar { display: none; }
  .topo__linha-prod { white-space: nowrap; }
  /* A barra de linhas rola na horizontal no celular: sem lista suspensa, o link leva à linha */
  .menu-sub--linha .menu-sub__seta, .menu-sub--linha .menu-sub__lista { display: none; }
  .menu-sub--linha .topo__linha-prod { padding-right: 14px; }
  .topo__nav .menu-sub__lista--2 { grid-template-columns: minmax(0, 1fr); }
  .btn--topo { padding: 11px 13px; }
  .esconde-m { display: none !important; }
  .empilha-m { flex-direction: column; align-items: stretch; }
  .empilha-m > .btn, .empilha-m > a { justify-content: center; }
  .rodape__titulo { font-size: clamp(30px, 9vw, 44px); }
  .bloco-wrap { padding: 10px 10px 0; }
  .bloco-escuro { padding: 14px; }
  .hero-int__foto { min-height: 260px; }
  .hero-int .h1 { font-size: clamp(32px, 9vw, 44px); }
  .cta-ambar { padding: 28px 22px; }
  .faq summary { font-size: 17px; }
  .faq details > p, .faq details > div { padding-right: 0; }
  .card { min-height: 0 !important; }
  .whats-flutuante { right: 16px; bottom: 16px; width: 56px; height: 56px; }
  .cookies { left: 10px; bottom: 10px; max-width: calc(100% - 92px); padding: 10px 12px; }
  .cookies-linha { flex-direction: column; align-items: stretch; gap: 8px; }
  .carrossel__foto { height: 260px; }
  .carrossel .h1 { font-size: clamp(32px, 9vw, 44px); }
  .sonda__foto { min-height: 300px; }
  .sonda__opcao { grid-template-columns: minmax(0, 1fr) auto; gap: 4px 12px; }
  .sonda__uso { grid-column: 1; grid-row: 2; }
  .sonda__opcao > .mono:last-child { grid-row: 1 / 3; grid-column: 2; }
  .seg-grade { grid-template-columns: minmax(0, 1fr); }
  .quem__mosaico { aspect-ratio: auto; grid-template-columns: 1fr 1fr; grid-template-rows: 200px 160px; }
  .servico, .servico--hero { min-height: 0; }
  .servico__n { font-size: 96px; }
  .lista-card { padding: 22px 18px; }
  .lista-check { grid-template-columns: minmax(0, 1fr); }
  .tabela thead { display: none; }
  .tabela tr { display: block; padding: 14px 18px; border-bottom: 1px solid var(--line-light-2); }
  .tabela tr:last-child { border-bottom: 0; }
  .tabela th, .tabela td { display: block; padding: 0; border: 0; width: auto !important; }
  .tabela td { margin-top: 4px; }
  .cat-aplic__grade, .criterios { grid-template-columns: minmax(0, 1fr); }
  .criterios li { min-height: 0; flex-direction: row; align-items: center; gap: 16px; justify-content: flex-start; }
  .sub-hero { padding-top: 40px; }
  .sub-hero__h1 { font-size: clamp(34px, 10vw, 48px); }
  .kpis { grid-template-columns: minmax(0, 1fr); }
  .kpi { min-height: 0; }
  .spec__linha { grid-template-columns: minmax(0, 1fr); gap: 6px; padding: 16px 20px; }
  .orc__form { padding: 20px; border-radius: var(--r-card); }
  .prod__h1 { font-size: clamp(30px, 8vw, 40px); }
  .card--produto { min-height: 0; }
  .segs-hero, .busca-hero, .erro404 { padding: 40px 22px; }
  .segs-grade { grid-template-columns: minmax(0, 1fr); }
  .seg-tile { min-height: 200px; }
  .desafio { grid-template-columns: minmax(0, 1fr); gap: 12px; padding: 22px; }
  .card--indicado { flex-basis: 78%; min-width: 0; }
  .qs-mosaico { grid-template-rows: 200px 160px; min-height: 0; }
  .etapa, .marco, .valor { min-height: 0; }
  .razoes, .qs-segs { padding: 28px 20px; }
  .razao { grid-template-columns: minmax(0, 1fr); padding: 24px; gap: 16px; }
  .contato { padding-top: 40px; }
  .contato__form { padding: 22px 18px; border-radius: var(--r-card); }
  .canal { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  .contato__h1, .sub-hero__h1 { font-size: clamp(34px, 10vw, 48px); }
  .blog-hero { padding-top: 40px; }
  .blog-destaque__foto { min-height: 240px; }
  .blog-vazio__card, .blog-vazio__whats { padding: 28px 22px; }
  .art-abertura__dentro { padding-top: 40px; }
  .art-abertura__h1 { font-size: clamp(30px, 9vw, 42px); }
  .art-capa { aspect-ratio: 16 / 10; border-radius: var(--r-card) var(--r-card) 0 0; }
  .art-texto .art-lead { font-size: 18px; }
  .prosa p, .prosa li { font-size: 16px; }
  .art-whats { padding: 28px 22px; }
  .busca-campo { padding: 6px 6px 6px 16px; gap: 8px; }
  .busca-campo input { font-size: 15px; }
  .busca-campo .btn { padding: 12px 16px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: .01ms !important; scroll-behavior: auto !important; }
  .malha::after { animation: none; display: none; }
}

/* Comparador W3M em /produtos/: tokens com as cores e fontes da Megga (o resto do estilo vem de /assets/comparador/). */
.cmp {
  --cmp-fonte: var(--f-display); --cmp-fonte-mono: var(--f-mono);
  --cmp-fundo: var(--branco); --cmp-superficie: var(--surface-2); --cmp-linha: var(--line-light-2);
  --cmp-texto: var(--ink); --cmp-suave: var(--muted-light);
  --cmp-acento: var(--ink); --cmp-acento-texto: var(--paper);
  --cmp-destaque: var(--amber-ink); --cmp-destaque-fundo: var(--amber-tint);
  --cmp-raio: var(--r-media); --cmp-sombra: var(--sombra);
  border-radius: var(--r-bloco);
}
.cmp .cmp-titulo { font-size: clamp(26px, 3vw, 40px); font-stretch: 108%; letter-spacing: -.03em; }
.cmp .cmp-rotulo { font-family: var(--f-mono); font-weight: 500; font-size: 11px; letter-spacing: .14em; }
.cmp .cmp-botao:not(.cmp-botao--fantasma):hover { background: var(--amber); border-color: var(--amber); color: var(--ink) !important; }

/* ---------- Botões "Comparar" (cards, segmento, página do produto) e Assistente IA no topo ---------- */
/* Aparecem só com JavaScript (hidden no HTML; /assets/js/painel.js tira). */
.card__comparar { position: relative; z-index: 2; font-size: 12px; font-weight: 600; color: var(--ink); padding: 9px 14px; border: 1px solid var(--line-light);
  border-radius: var(--r-pill); background: transparent; cursor: pointer; white-space: nowrap; transition: background .2s, border-color .2s, color .2s; }
.card__comparar:hover { border-color: var(--ink); }
.card__comparar.is-ativo { background: var(--amber-tint); border-color: var(--amber-ink); color: var(--ink); }
.card__comparar--escuro { align-self: flex-start; margin-top: 6px; color: var(--paper); border-color: var(--line-dark); }
.card__comparar--escuro:hover { border-color: var(--amber); }
.card__comparar--escuro.is-ativo { background: var(--amber); border-color: var(--amber); color: var(--ink); }
.card--produto__acoes { flex-wrap: wrap; row-gap: 6px; }
.card--produto__acoes .btn { white-space: nowrap; }
.card--produto__acoes .card__comparar { margin-right: auto; }
.card--sub__acoes { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
[data-comparar].btn.is-ativo { background: var(--amber-tint); border-color: var(--amber-ink); color: var(--ink); }

.topo__painel { position: relative; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 34px; width: 34px; height: 34px; margin-right: 8px;
  border-radius: 50%; border: 1px solid var(--line-light); background: var(--branco); color: var(--ink); cursor: pointer; transition: background .2s, border-color .2s, color .2s; }
.topo__painel:hover { border-color: var(--ink); }
.com-painel .topo__painel { background: var(--ink); border-color: var(--ink); color: var(--paper); }
.topo__painel [data-painel-seta] { transform-box: fill-box; transform-origin: center; transition: transform .2s; }
.com-painel .topo__painel [data-painel-seta] { transform: scaleX(-1); }
.topo__painel-conta { position: absolute; top: -4px; right: -4px; min-width: 17px; height: 17px; padding: 0 4px; border-radius: var(--r-pill);
  background: var(--amber); color: var(--ink); font-family: var(--f-mono); font-size: 10px; line-height: 17px; text-align: center; }
.topo__painel-conta[hidden] { display: none; }
.topo__assistente { display: inline-flex; align-items: center; gap: 8px; margin-right: 18px; padding: 7px 14px 7px 12px; border-radius: var(--r-pill);
  background: var(--ink); color: var(--paper); border: 1px solid var(--ink); font-family: var(--f-mono); font-size: 11px; letter-spacing: .1em;
  text-transform: uppercase; cursor: pointer; white-space: nowrap; flex: 0 0 auto; transition: background .2s, color .2s; }
.topo__assistente:hover, .com-painel .topo__assistente { background: var(--amber); border-color: var(--amber); color: var(--ink); }
.topo__assistente-brilho { color: var(--amber); font-size: 13px; line-height: 1; }
.topo__assistente:hover .topo__assistente-brilho, .com-painel .topo__assistente-brilho { color: var(--ink); }

/* ---------- Painel lateral: Assistente e Comparar (/assets/js/painel.js) ---------- */
:root { --painel-w: clamp(380px, 32vw, 500px); }
.painel { position: fixed; top: 0; left: 0; bottom: 0; z-index: 55; width: var(--painel-w); max-width: 100%; display: flex; flex-direction: column;
  background: var(--paper); border-right: 1px solid var(--line-light); box-shadow: 24px 0 48px -32px rgba(0, 0, 0, .35);
  transform: translateX(-102%); visibility: hidden; transition: transform .28s ease, visibility 0s linear .28s; }
.com-painel .painel { transform: none; visibility: visible; transition: transform .28s ease; }
.painel-fundo { display: none; }
body { transition: padding-left .28s ease; }
/* Desktop: o painel empurra a página. Celular e tablet: abre por cima, com fundo escurecido. */
@media (min-width: 1280px) {
  .com-painel { padding-left: var(--painel-w); }
  .com-painel .cookies { left: calc(var(--painel-w) + 16px); }
}
@media (max-width: 1279px) {
  .painel { width: min(480px, 100%); }
  .com-painel .painel-fundo { display: block; position: fixed; inset: 0; z-index: 54; background: rgba(10, 10, 10, .45); }
  html:has(.com-painel) { overflow: hidden; }
}

.painel__topo { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; border-bottom: 1px solid var(--line-light); }
.painel__abas { display: flex; gap: 4px; padding: 4px; background: var(--surface-2); border-radius: var(--r-pill); }
.painel__aba { display: inline-flex; align-items: center; gap: 6px; padding: 9px 16px; border: 0; border-radius: var(--r-pill); background: none;
  font-size: 13px; font-weight: 600; color: var(--muted-light); cursor: pointer; white-space: nowrap; }
.painel__aba.is-ativo { background: var(--branco); color: var(--ink); box-shadow: 0 1px 3px rgba(0, 0, 0, .1); }
.painel__brilho { color: var(--amber-ink); }
.painel__conta { color: var(--amber-ink); font-family: var(--f-mono); font-size: 11px; }
.painel__fechar { width: 40px; height: 40px; flex: 0 0 40px; border-radius: 50%; border: 1px solid var(--line-light); background: transparent; font-size: 22px; line-height: 1; cursor: pointer; }
.painel__fechar:hover { border-color: var(--ink); }
.painel__secao { flex: 1; min-height: 0; display: flex; flex-direction: column; }
.painel__secao[hidden] { display: none; }
.painel__secao--comparar { overflow-y: auto; padding: 16px; gap: 14px; }
.painel__aviso { position: absolute; left: 16px; right: 16px; bottom: 16px; background: var(--ink); color: var(--paper); border-radius: var(--r-thumb); padding: 12px 14px; font-size: 13px; }
.painel__aviso[hidden] { display: none; }
.painel__vazio { display: flex; flex-direction: column; gap: 10px; padding: 20px 4px; font-size: 14px; line-height: 1.55; color: var(--texto-2); }
.painel__vazio-titulo { font-size: 18px; font-weight: 600; color: var(--ink); }
.painel__vazio-acoes { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 6px; }
.painel__orc { align-self: stretch; padding: 14px 20px; font-size: 14px; }

/* chat */
.chat__lista { flex: 1; min-height: 0; overflow-y: auto; padding: 18px 16px; display: flex; flex-direction: column; gap: 14px; }
.chat__msg { max-width: 92%; font-size: 14px; line-height: 1.55; display: flex; flex-direction: column; gap: 8px; }
.chat__msg p, .chat__msg ul { margin: 0; }
.chat__msg ul { padding-left: 18px; }
.chat__msg--ia { align-self: flex-start; background: var(--branco); border: 1px solid var(--line-light-2); border-radius: 4px 18px 18px 18px; padding: 12px 14px; }
.chat__msg--eu { align-self: flex-end; background: var(--ink); color: var(--paper); border-radius: 18px 4px 18px 18px; padding: 10px 14px; }
.chat__msg--espera { flex-direction: row; gap: 5px; padding: 14px 16px; }
.chat__msg--espera span { width: 7px; height: 7px; border-radius: 50%; background: var(--dim-light); animation: chatPonto 1s infinite ease-in-out; }
.chat__msg--espera span:nth-child(2) { animation-delay: .15s; }
.chat__msg--espera span:nth-child(3) { animation-delay: .3s; }
@keyframes chatPonto { 0%, 80%, 100% { opacity: .3; transform: none; } 40% { opacity: 1; transform: translateY(-3px); } }
.chat__sugestoes { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; margin-top: 4px; }
.chat__sug { text-align: left; font-size: 13px; line-height: 1.4; padding: 8px 12px; border: 1px solid var(--line-light); border-radius: 14px; background: var(--paper); cursor: pointer; }
.chat__sug:hover { border-color: var(--ink); }
.chat__origem { font-size: 11px; color: var(--muted-light); font-family: var(--f-mono); letter-spacing: .02em; }
.chat__tecnico { align-self: flex-start; font-size: 13px; font-weight: 600; color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.chat__form { display: flex; align-items: flex-end; gap: 8px; margin: 0 16px; padding: 6px 6px 6px 14px; background: var(--branco); border: 1px solid var(--line-light); border-radius: 22px; }
.chat__form:focus-within { border-color: var(--ink); }
.chat__campo { flex: 1; border: 0; background: transparent; resize: none; font: inherit; font-size: 16px; line-height: 1.4; padding: 8px 0; max-height: 140px; outline: none; }
.chat__enviar { width: 40px; height: 40px; flex: 0 0 40px; border-radius: 50%; border: 0; background: var(--ink); color: var(--paper); font-size: 18px; cursor: pointer; }
.chat__enviar:hover { background: var(--amber); color: var(--ink); }
.chat__nota { font-size: 11px; line-height: 1.5; color: var(--muted-light); padding: 10px 16px 14px; margin: 0; }
.painel__secao--comparar .chat__nota { padding: 0; }
.chat__nova { border: 0; background: none; padding: 0; font: inherit; color: var(--ink); text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }
.chat__produtos { display: flex; flex-direction: column; gap: 8px; margin-top: 4px; }
.chat-prod { display: flex; gap: 12px; padding: 10px; border: 1px solid var(--line-light-2); border-radius: var(--r-thumb); background: var(--paper); }
.chat-prod .cmpp__foto { width: 72px; height: 72px; flex: 0 0 72px; }
.chat-prod__corpo { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.chat-prod__nome { font-weight: 600; font-size: 14px; line-height: 1.3; color: var(--ink); }
.chat-prod__motivo { font-size: 12px; color: var(--muted-light); line-height: 1.45; }
.chat-prod__acoes { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.chat-prod__ver, .chat-prod__comparar { font-size: 12px; font-weight: 600; padding: 6px 12px; border-radius: var(--r-pill); border: 1px solid var(--line-light); background: var(--branco); color: var(--ink); cursor: pointer; }
.chat-prod__ver { background: var(--ink); border-color: var(--ink); color: var(--paper); }
.chat-prod__comparar.is-ativo { background: var(--amber-tint); border-color: var(--amber-ink); }

/* comparação no painel: cada característica numa linha, os valores dos produtos lado a lado embaixo */
.cmpp__foto { display: block; aspect-ratio: 1; border-radius: var(--r-thumb); background: var(--surface-2); overflow: hidden; }
.cmpp__foto img { width: 100%; height: 100%; object-fit: contain; }
.cmpp__itens, .cmpp__valores { display: grid; grid-template-columns: repeat(var(--n), minmax(0, 1fr)); gap: 8px; }
.cmpp__itens { position: sticky; top: -16px; z-index: 1; background: var(--paper); padding: 4px 0 10px; border-bottom: 1px solid var(--line-light); }
.cmpp__item { position: relative; display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.cmpp__item .cod { font-size: 10px; overflow-wrap: anywhere; }
.cmpp__item .cmpp__foto { width: 100%; max-width: 150px; }
.cmpp__nome { font-size: 12px; font-weight: 600; line-height: 1.25; color: var(--ink); }
.cmpp__tirar { position: absolute; top: 4px; right: 4px; width: 26px; height: 26px; border-radius: 50%; border: 1px solid var(--line-light); background: var(--branco); font-size: 15px; line-height: 1; cursor: pointer; }
.cmpp__aviso { display: flex; gap: 12px; align-items: flex-start; padding: 12px 14px; border-radius: var(--r-thumb); background: var(--amber-tint);
  border: 1px solid var(--amber); font-size: 13px; line-height: 1.5; color: var(--ink); }
.cmpp__aviso p { margin: 0; }
.cmpp__aviso-icone { flex: 0 0 22px; width: 22px; height: 22px; border-radius: 50%; background: var(--amber); color: var(--ink); font-weight: 700;
  font-size: 13px; line-height: 22px; text-align: center; }
.cmpp__limpar { display: flex; justify-content: space-between; align-items: center; gap: 12px; font-size: 12px; color: var(--muted-light); }
.cmpp__limpar-botao { display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; border: 1px solid var(--line-light); border-radius: var(--r-pill);
  background: var(--branco); font-size: 12px; font-weight: 600; color: var(--ink); cursor: pointer; }
.cmpp__limpar-botao:hover { border-color: var(--ink); }
.cmpp__modos { display: flex; gap: 4px; padding: 4px; background: var(--surface-2); border-radius: var(--r-pill); }
.cmpp__modo { flex: 1; padding: 8px 10px; border: 0; border-radius: var(--r-pill); background: none; font-size: 12px; font-weight: 600; color: var(--muted-light); cursor: pointer; }
.cmpp__modo.is-ativo { background: var(--branco); color: var(--ink); box-shadow: 0 1px 3px rgba(0, 0, 0, .1); }
.cmpp__barra { display: flex; justify-content: space-between; align-items: center; font-size: 13px; }
.cmpp__alternar { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; }
.cmpp__tabela { display: flex; flex-direction: column; }
.cmpp__secao { font-family: var(--f-mono); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--muted-light); padding: 16px 0 6px; margin: 0; }
.cmpp__linha { padding: 10px 0; border-top: 1px solid var(--line-light-2); }
.cmpp__rotulo { font-size: 12px; font-weight: 600; margin: 0 0 6px; }
.cmpp__linha.is-diferente .cmpp__rotulo::after { content: " ●"; color: var(--amber); font-size: 9px; vertical-align: middle; }
.cmpp__valor { font-size: 12.5px; line-height: 1.4; overflow-wrap: anywhere; }
.cmpp__valor.is-vazio { color: var(--dim-light); }
.cmpp__valor small { display: block; font-size: 11px; color: var(--muted-light); }
.cmpp__melhor { font-style: normal; font-family: var(--f-mono); font-size: 9px; letter-spacing: .06em; text-transform: uppercase; color: var(--amber-ink); }
@media (prefers-reduced-motion: reduce) { .painel, body { transition: none; } }

/* ---------- Formulário "Falar com um técnico" / "Pedir orçamento" antes do WhatsApp (moldes/partes/lead-tecnico.html) ---------- */
.lead-dialogo { width: min(640px, calc(100% - 32px)); max-height: calc(100dvh - 32px); padding: 0; border: 0; border-radius: var(--r-bloco);
  background: var(--paper); color: var(--ink); box-shadow: 0 40px 80px -30px rgba(0, 0, 0, .5); overflow: auto; }
.lead-dialogo::backdrop { background: rgba(10, 10, 10, .55); }
.lead-dialogo__caixa { position: relative; padding: 32px; }
.lead-dialogo__fechar { position: absolute; top: 16px; right: 16px; width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--line-light);
  background: var(--branco); font-size: 22px; line-height: 1; cursor: pointer; }
.lead-dialogo__fechar:hover { border-color: var(--ink); }
.lead-dialogo__cab { display: flex; flex-direction: column; gap: 10px; padding-right: 44px; }
.lead-dialogo__h2 { font-size: clamp(22px, 2.6vw, 28px); font-weight: 600; letter-spacing: -.02em; line-height: 1.15; }
.lead-dialogo__contexto { font-size: 13px; line-height: 1.5; color: var(--texto-2); background: var(--amber-tint); border-radius: var(--r-thumb); padding: 10px 12px; }
.lead-dialogo .grupo-chips__lista .chip-op { min-height: 36px; padding: 8px 14px; }
.lead-dialogo legend.rotulo-mono { font-size: 12px; font-weight: 600; color: var(--ink); margin-bottom: 12px; }
.lead-dialogo .campo textarea { margin-top: 6px; }
.lead-dialogo__enviar { align-self: flex-start; }
.lead-dialogo .sucesso { margin-top: 8px; }
@media (max-width: 640px) {
  .lead-dialogo { width: 100%; max-width: 100%; max-height: 100dvh; height: 100dvh; margin: 0; border-radius: 0; }
  .lead-dialogo__caixa { padding: 22px 18px 28px; }
  .lead-dialogo .form__grade { grid-template-columns: minmax(0, 1fr); }
  .lead-dialogo__enviar { align-self: stretch; }
}
.cmp .cmp-coluna-resultado .cmp-exemplos { margin-bottom: 20px; }
.cmp .cmp-encontrar { column-gap: clamp(48px, 10vw, 160px); }
/* Exemplos na coluna da direita em grade que ocupa a coluna inteira: a margem da direita fica igual à da esquerda */
.cmp .cmp-coluna-resultado .cmp-exemplos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; align-items: stretch; }
.cmp .cmp-coluna-resultado .cmp-exemplos-rotulo { grid-column: 1 / -1; margin: 0 0 2px; }
.cmp .cmp-coluna-resultado .cmp-chip--exemplo { width: 100%; justify-content: flex-start; text-align: left; white-space: normal; line-height: 1.4; padding: 10px 14px; border-radius: var(--r-thumb); }
@media (max-width: 640px) { .cmp .cmp-coluna-resultado .cmp-exemplos { grid-template-columns: minmax(0, 1fr); } }
