/* ==========================================================================
   Sukses Soluções Industriais — Home V1 (rev. 3)
   Celular primeiro. Tokens do design system "Sukses".
   Linguagem: títulos em dois pesos (ref. WEG), cortes angulados (ref. Nederman).
   ========================================================================== */

/* ---------- Fontes (auto-hospedadas) ---------- */
@font-face { font-family: "Archivo"; font-weight: 400; font-style: normal; font-display: swap; src: url("../fonts/archivo-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Archivo"; font-weight: 600; font-style: normal; font-display: swap; src: url("../fonts/archivo-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Archivo"; font-weight: 700; font-style: normal; font-display: swap; src: url("../fonts/archivo-latin-700-normal.woff2") format("woff2"); }
@font-face { font-family: "Archivo"; font-weight: 800; font-style: normal; font-display: swap; src: url("../fonts/archivo-latin-800-normal.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Mono"; font-weight: 500; font-style: normal; font-display: swap; src: url("../fonts/ibm-plex-mono-latin-500-normal.woff2") format("woff2"); }

/* ---------- Tokens ---------- */
:root {
  --fundo: #FFFFFF;
  --fundo-alt: #F4F5F1;
  --carbono: #0F110E;
  --branco-marca: #FFFFFF;
  --tinta: #0F110E;
  --tinta-suave: #5C6158;
  --linha: #DDE1D7;
  --borda-controle: #8A8F85;
  --verde-sukses: #AEDD15;
  --sobre-verde: #0F110E;
  --verde-texto: #4A6500;
  --foco: #4A6500;
  --alerta: #F5B800;
  --sobre-alerta: #0F110E;
  --erro: #B42318;
  --carbono-linha: #2C3029; /* `linha` do tema escuro, fixa sobre carbono */

  --f-display: "Archivo", "Arial Narrow", Arial, sans-serif;
  --f-sans: "Archivo", Arial, sans-serif;
  --f-mono: "IBM Plex Mono", Consolas, "Courier New", monospace;

  --espaco-1: 4px; --espaco-2: 8px; --espaco-3: 12px; --espaco-4: 16px; --espaco-5: 24px;
  --espaco-6: 32px; --espaco-7: 48px; --espaco-8: 64px; --espaco-9: 96px; --espaco-10: 128px;
  --raio-0: 0; --raio-controle: 2px; --raio-no: 999px;
  --traco-ligacao: 2px; --traco-linha: 1px;

  /* Corte angulado: a diagonal que atravessa fotos e faixas */
  --corte: 28px;
  --chanfro: 20px;

  --altura-topo: 60px;
  --largura-max: 1200px;
  --margem: var(--espaco-4);
  --secao: var(--espaco-8);
}
@media (prefers-color-scheme: dark) {
  :root { --fundo: #0F110E; --fundo-alt: #1B1E19; --tinta: #F2F4EE; --tinta-suave: #A3A89E; --linha: #2C3029; --borda-controle: #7C8177; --verde-texto: #AEDD15; --foco: #AEDD15; --erro: #FF6B5E; }
}
@media (min-width: 768px) { :root { --margem: var(--espaco-6); --corte: 48px; --chanfro: 32px; } }
@media (min-width: 1024px) { :root { --secao: var(--espaco-9); --altura-topo: 64px; --corte: 72px; } }

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: calc(var(--altura-topo) + var(--espaco-4)); }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; animation: none !important; } }
body { margin: 0; background: var(--fundo); color: var(--tinta); font-family: var(--f-sans); font-size: 17px; line-height: 27px; overflow-x: clip; }
img, picture, svg { display: block; max-width: 100%; }
img { height: auto; }
h1, h2, h3, p, ul, ol, figure, blockquote { margin: 0; }
ul, ol { padding: 0; list-style: none; }
a { color: inherit; }
b, strong { font-weight: 600; }
address { font-style: normal; }

h1, h2, h3 { font-family: var(--f-display); text-wrap: balance; }
h1 { font-weight: 800; font-size: clamp(38px, 4.4vw + 22px, 80px); line-height: 1.02; letter-spacing: -0.025em; }
h2 { font-weight: 800; font-size: clamp(30px, 2.2vw + 22px, 52px); line-height: 1.06; letter-spacing: -0.02em; }
h3 { font-weight: 700; font-size: 21px; line-height: 28px; }
/* Título em dois pesos (ref. WEG): a primeira parte leve, a segunda pesada */
.leve { font-weight: 400; display: block; }

.lead { font-size: 18px; line-height: 28px; }
@media (min-width: 1024px) { .lead { font-size: 20px; line-height: 31px; } }
.pequeno { font-size: 15px; line-height: 22px; }

.rotulo { display: flex; align-items: center; gap: var(--espaco-3); font-family: var(--f-mono); font-size: 13px; line-height: 16px; font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; color: var(--verde-texto); margin-bottom: var(--espaco-4); }
.rotulo::before { content: ""; width: 24px; height: var(--traco-ligacao); background: currentColor; }
.rotulo__num { color: var(--tinta); }
.rotulo--escuro { color: var(--verde-sukses); }
.rotulo--escuro .rotulo__num { color: var(--branco-marca); }

.cabeca { margin-bottom: var(--espaco-6); }
.cabeca h2 { max-width: 18ch; }
.cabeca--linha .lead { margin-top: var(--espaco-4); color: var(--tinta-suave); max-width: 44ch; }
@media (min-width: 1024px) {
  .cabeca { margin-bottom: var(--espaco-8); }
  .cabeca--linha { display: grid; grid-template-columns: 7fr 5fr; gap: var(--espaco-7); align-items: end; }
  .cabeca--linha .lead { margin-top: 0; }
}

.ico { width: 24px; height: 24px; fill: currentColor; flex: none; }
:focus-visible { outline: 2px solid var(--foco); outline-offset: 2px; }
.hero :focus-visible, .secao--carbono :focus-visible, .topo :focus-visible, .rodape :focus-visible, .faixa :focus-visible { outline-color: var(--verde-sukses); }
.pular { position: absolute; left: var(--espaco-4); top: -100px; z-index: 100; background: var(--verde-sukses); color: var(--sobre-verde); padding: var(--espaco-3) var(--espaco-4); font-weight: 600; }
.pular:focus { top: var(--espaco-2); }
.so-desktop { display: none !important; }
@media (min-width: 1024px) { .so-desktop { display: inline-flex !important; } .so-celular { display: none !important; } }

/* ---------- Layout ---------- */
.recipiente { width: 100%; max-width: calc(var(--largura-max) + 2 * var(--margem)); margin-inline: auto; padding-inline: var(--margem); }
.secao { padding-block: var(--secao); background: var(--fundo); }
.secao--alt { background: var(--fundo-alt); }
.secao--carbono { background: var(--carbono); color: var(--branco-marca); }

/* ---------- Botões e links ---------- */
.botao { display: inline-flex; align-items: center; justify-content: center; gap: var(--espaco-3); min-height: 52px; padding: 0 var(--espaco-5); font-family: var(--f-sans); font-size: 17px; line-height: 1.2; font-weight: 600; text-decoration: none; border: 0; border-radius: var(--raio-controle); cursor: pointer; transition: background-color 150ms; }
.botao .ico { width: 20px; height: 20px; transition: transform 150ms; }
.botao:hover .ico { transform: translateX(4px); }
.botao--principal { background: var(--verde-sukses); color: var(--sobre-verde); }
.botao--principal:hover { background: #BFE63A; }
.botao--largo { width: 100%; }
@media (max-width: 767px) { .secao .botao--principal { width: 100%; } }
.link-claro { display: inline-flex; align-self: flex-start; align-items: center; min-height: 48px; color: var(--branco-marca); font-weight: 600; text-underline-offset: 5px; }
.link-seta { display: inline-flex; align-items: center; gap: var(--espaco-2); min-height: 48px; color: var(--verde-texto); font-weight: 600; text-decoration: none; }
.link-seta:hover { text-decoration: underline; text-underline-offset: 4px; }

/* ---------- Cabeçalho ---------- */
.topo { position: fixed; inset: 0 0 auto 0; z-index: 50; background: var(--carbono); color: var(--branco-marca); border-bottom: var(--traco-linha) solid var(--carbono-linha); }
.topo__barra { display: flex; align-items: center; gap: var(--espaco-3); height: var(--altura-topo); max-width: calc(var(--largura-max) + 2 * var(--margem)); margin-inline: auto; padding-inline: var(--margem); }
.marca { display: flex; align-items: center; gap: var(--espaco-2); text-decoration: none; min-height: 48px; margin-right: auto; }
.marca img { width: 36px; height: 36px; }
.marca__nome { display: none; flex-direction: column; font-family: var(--f-display); }
.marca__nome b { font-weight: 800; font-size: 18px; line-height: 18px; letter-spacing: 0.02em; }
.marca__nome small { font-size: 11px; line-height: 14px; }
@media (min-width: 400px) { .marca__nome { display: flex; } }
.topo__cta { min-height: 44px; padding-inline: var(--espaco-4); font-size: 16px; }
.topo__menu { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; margin-right: calc(-1 * var(--espaco-3)); background: none; border: 0; color: var(--branco-marca); cursor: pointer; }
@media (max-width: 399px) { .topo__cta { font-size: 15px; padding-inline: var(--espaco-3); } }
.menu { position: fixed; inset: var(--altura-topo) 0 auto 0; background: var(--carbono); border-bottom: var(--traco-linha) solid var(--carbono-linha); padding: var(--espaco-2) var(--margem) var(--espaco-5); display: none; }
.menu.aberto { display: block; }
.menu a { display: flex; align-items: center; min-height: 52px; font-family: var(--f-display); font-size: 22px; font-weight: 700; text-decoration: none; border-bottom: var(--traco-linha) solid var(--carbono-linha); }
.menu a[aria-current="page"] { color: var(--verde-sukses); }
@media (min-width: 1024px) {
  .topo__menu { display: none; }
  .menu { position: static; display: block; background: none; border: 0; padding: 0; margin-right: var(--espaco-5); }
  .menu ul { display: flex; gap: var(--espaco-5); }
  .menu a { font-family: var(--f-sans); font-size: 16px; font-weight: 400; min-height: 48px; border: 0; }
  .menu a:hover { color: var(--verde-sukses); }
  .topo__cta { min-height: 48px; }
}
main { padding-top: var(--altura-topo); }

/* ---------- 01 · Hero (base em diagonal) ---------- */
.hero {
  position: relative; isolation: isolate; display: flex; align-items: flex-end;
  min-height: min(calc(100svh - var(--altura-topo)), 740px);
  background: var(--carbono); color: var(--branco-marca);
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--corte)), 0 100%);
}
.hero__foto { position: absolute; inset: 0; z-index: -2; }
.hero__foto img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; }
/* overlay `carbono` 60% (teto do guia) */
.hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgb(15 17 14 / 0.6); }
.hero__conteudo { padding-block: var(--espaco-9) calc(var(--corte) + 72px + env(safe-area-inset-bottom)); }
.hero__etiqueta { display: flex; align-items: center; gap: var(--espaco-3); margin-bottom: var(--espaco-5); font-family: var(--f-mono); font-size: 13px; line-height: 16px; font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; }
.etiqueta-norma { background: var(--alerta); color: var(--sobre-alerta); padding: 6px 10px; }
.hero h1 { max-width: 17ch; margin-bottom: var(--espaco-5); }
.hero .lead { max-width: 40ch; margin-bottom: var(--espaco-6); }
.acoes { display: flex; flex-direction: column; align-items: stretch; gap: var(--espaco-2); }
@media (min-width: 768px) {
  .hero { align-items: center; min-height: min(calc(100svh - var(--altura-topo)), 840px); }
  .hero::before { background: linear-gradient(90deg, rgb(15 17 14 / 0.85) 0%, rgb(15 17 14 / 0.66) 60%, rgb(15 17 14 / 0.3) 100%); }
  .hero__foto img { object-position: 70% 50%; }
  .hero__conteudo { padding-block: var(--espaco-10) calc(var(--corte) + var(--espaco-10)); }
  .acoes { flex-direction: row; align-items: center; gap: var(--espaco-6); }
}

/* ---------- Números (ref. WEG) ---------- */
.numeros { position: relative; margin-top: calc(-1 * var(--corte)); padding-top: var(--corte); }
.numeros__grade { display: grid; grid-template-columns: 1fr 1fr; gap: var(--espaco-6) var(--espaco-4); padding-block: var(--espaco-6) var(--espaco-2); }
.numeros li { display: flex; flex-direction: column; gap: var(--espaco-1); }
.numeros li::before { content: ""; width: 32px; height: 4px; background: var(--verde-sukses); margin-bottom: var(--espaco-3); }
.numeros b { font-family: var(--f-display); font-weight: 800; font-size: 44px; line-height: 1; letter-spacing: -0.03em; }
.numeros span { font-size: 15px; line-height: 21px; color: var(--tinta-suave); }
@media (min-width: 1024px) {
  .numeros__grade { grid-template-columns: repeat(4, 1fr); gap: var(--espaco-6); padding-block: var(--espaco-7) 0; }
  .numeros b { font-size: 72px; }
  .numeros span { font-size: 17px; line-height: 24px; }
}

/* ---------- 02 · Clientes atendidos ---------- */
.clientes { overflow: hidden; }
.parede { display: grid; gap: var(--espaco-5); padding-block: var(--espaco-2) var(--espaco-7); }
.marquee { display: flex; overflow: hidden; mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.marquee__trilho { display: flex; flex: none; align-items: center; gap: var(--espaco-8); padding-right: var(--espaco-8); animation: correr 70s linear infinite; }
.marquee--reverso .marquee__trilho { animation-direction: reverse; animation-duration: 80s; }
.marquee:hover .marquee__trilho { animation-play-state: paused; }
.marquee img { height: 44px; width: auto; max-width: 150px; object-fit: contain; filter: grayscale(1) contrast(1.1); opacity: 0.7; transition: filter 200ms, opacity 200ms; }
.marquee img:hover { filter: none; opacity: 1; }
@keyframes correr { to { transform: translateX(-100%); } }
@media (min-width: 1024px) { .marquee img { height: 60px; max-width: 190px; } .parede { gap: var(--espaco-7); padding-block: 0 var(--espaco-9); } }
@media (prefers-reduced-motion: reduce) {
  .marquee { overflow-x: auto; mask-image: none; -webkit-mask-image: none; }
  .marquee__trilho[aria-hidden="true"] { display: none; }
}

.destaques { display: grid; border-top: var(--traco-linha) solid var(--linha); }
.destaque { display: grid; grid-template-columns: 120px 1fr; gap: var(--espaco-4); align-items: center; padding-block: var(--espaco-4); border-bottom: var(--traco-linha) solid var(--linha); }
.destaque__logo { height: 22px; width: auto; max-width: 120px; object-fit: contain; object-position: left; filter: brightness(0); }
.destaque__logo--selo { height: 32px; }
.destaque p { font-size: 16px; line-height: 22px; color: var(--tinta-suave); }
.destaque b { display: block; font-family: var(--f-display); font-weight: 800; font-size: 36px; line-height: 1; letter-spacing: -0.03em; color: var(--verde-texto); margin-bottom: var(--espaco-1); }
@media (prefers-color-scheme: dark) { .destaque__logo { filter: brightness(0) invert(1); } }
@media (min-width: 1024px) {
  .destaques { grid-template-columns: repeat(3, 1fr); border-top: 0; }
  .destaque { grid-template-columns: 1fr; align-items: start; gap: var(--espaco-6); padding: var(--espaco-6) var(--espaco-6) 0 0; border-bottom: 0; border-left: var(--traco-linha) solid var(--linha); padding-left: var(--espaco-6); }
  .destaque:first-child { border-left: 0; padding-left: 0; }
  .destaque__logo { height: 28px; max-width: 200px; }
  .destaque__logo--selo { height: 40px; }
  .destaque p { font-size: 18px; line-height: 26px; }
  .destaque b { font-size: 88px; }
}

/* ---------- Faixa do porquê (paralelogramo) ---------- */
.faixa {
  position: relative; z-index: 1; background: var(--carbono); color: var(--branco-marca);
  clip-path: polygon(0 var(--corte), 100% 0, 100% calc(100% - var(--corte)), 0 100%);
  margin-block: calc(-1 * var(--corte) / 2);
}
.faixa__interna { display: flex; align-items: center; justify-content: space-between; gap: var(--espaco-5); padding-block: calc(var(--corte) + var(--espaco-6)); }
.faixa p { font-family: var(--f-display); font-weight: 800; font-size: 30px; line-height: 34px; letter-spacing: -0.02em; max-width: 16ch; }
@media (min-width: 1024px) { .faixa p { font-size: 56px; line-height: 60px; max-width: 20ch; } }
.molecula path { fill: none; stroke: var(--verde-sukses); stroke-width: 5; stroke-linecap: round; }
.molecula circle { fill: var(--verde-sukses); }
.molecula--faixa { width: 110px; flex: none; display: none; }
@media (min-width: 430px) { .molecula--faixa { display: block; } }
@media (min-width: 1024px) { .molecula--faixa { width: 220px; } }

/* ---------- 03 · Quando chamar ---------- */
.quando { display: grid; }
.quando__cabeca .lead { margin-top: var(--espaco-4); color: var(--tinta-suave); }
.situacoes { counter-reset: s; margin-bottom: var(--espaco-6); border-top: var(--traco-linha) solid var(--linha); }
.situacoes li { counter-increment: s; display: grid; grid-template-columns: 40px 1fr; gap: var(--espaco-3); padding-block: var(--espaco-4); border-bottom: var(--traco-linha) solid var(--linha); font-weight: 600; font-size: 17px; line-height: 25px; transition: background-color 150ms; }
.situacoes li::before { content: counter(s, decimal-leading-zero); font-family: var(--f-mono); font-size: 13px; line-height: 25px; font-weight: 500; color: var(--verde-texto); }
@media (min-width: 1024px) {
  .quando { grid-template-columns: 5fr 7fr; gap: var(--espaco-9); align-items: start; }
  .quando__cabeca { position: sticky; top: calc(var(--altura-topo) + var(--espaco-6)); }
  .quando__cabeca .lead { margin-bottom: var(--espaco-6); }
  .situacoes { margin-bottom: 0; }
  .situacoes li { font-size: 21px; line-height: 29px; padding-block: var(--espaco-5); }
  .situacoes li::before { line-height: 29px; }
}

/* ---------- 04 · Turnkey ---------- */
.turnkey__grade { display: grid; gap: var(--espaco-7); }
.turnkey__texto > .lead { color: var(--tinta-suave); max-width: 52ch; }
.turnkey__itens { margin-top: var(--espaco-5); display: grid; gap: var(--espaco-3); }
.turnkey__itens li { position: relative; padding-left: var(--espaco-6); color: var(--tinta-suave); }
.turnkey__itens li::before { content: ""; position: absolute; left: 0; top: 8px; width: 12px; height: 12px; border-radius: var(--raio-no); background: var(--verde-sukses); }
.secao--carbono .turnkey__itens li { color: rgba(255, 255, 255, 0.86); }
.secao--carbono .turnkey__itens b { color: var(--branco-marca); }
.turnkey__itens b { color: var(--tinta); }
.rede { margin-top: var(--espaco-6); }
.molecula--rede { width: 100%; max-width: 420px; }
.molecula--rede text { font-family: var(--f-mono); font-size: 15px; font-weight: 500; letter-spacing: 0.06em; fill: var(--tinta); }
.molecula--rede .molecula__centro-texto { fill: var(--sobre-verde); }

/* Mosaico com cantos cortados: juntos formam uma peça usinada */
.mosaico { display: grid; grid-template-columns: 1fr 1fr; gap: var(--espaco-2); align-self: start; }
.mosaico img { width: 100%; aspect-ratio: 1; object-fit: cover; transition: transform 300ms; }
.mosaico picture { overflow: hidden; }
.mosaico__item:hover img { transform: scale(1.04); }
.mosaico__item--a picture { clip-path: polygon(var(--corte) 0, 100% 0, 100% 100%, 0 100%, 0 var(--corte)); }
.mosaico__item--b picture { clip-path: polygon(0 0, calc(100% - var(--corte)) 0, 100% var(--corte), 100% 100%, 0 100%); }
.mosaico__item--c picture { clip-path: polygon(0 0, 100% 0, 100% 100%, var(--corte) 100%, 0 calc(100% - var(--corte))); }
.mosaico__item--d picture { clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--corte)), calc(100% - var(--corte)) 100%, 0 100%); }
.mosaico p { margin-top: var(--espaco-2); margin-bottom: var(--espaco-3); font-size: 15px; line-height: 21px; color: var(--tinta-suave); padding-right: var(--espaco-2); }
.legenda-foto { display: block; font-family: var(--f-mono); font-size: 12px; line-height: 18px; font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; color: var(--tinta); }
@media (min-width: 1024px) {
  .turnkey__grade { grid-template-columns: 5fr 6fr; gap: var(--espaco-9); align-items: start; }
  .mosaico { gap: var(--espaco-3); position: sticky; top: calc(var(--altura-topo) + var(--espaco-6)); }
  .mosaico__item--b, .mosaico__item--d { transform: translateY(var(--espaco-8)); }
}

/* ---------- 05 · Método (carbono, foto com borda em diagonal) ---------- */
.metodo-secao { position: relative; padding-top: 0; }
.metodo__foto img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.metodo__foto { clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--corte)), 0 100%); }
.metodo__conteudo { padding-top: var(--espaco-6); }
.metodo-secao h2 { color: var(--branco-marca); }
.etapas { counter-reset: etapa; margin-bottom: var(--espaco-6); }
.etapas li { counter-increment: etapa; position: relative; padding: 0 0 var(--espaco-6) 56px; }
.etapas li:last-child { padding-bottom: 0; }
.etapas li::before { content: counter(etapa, decimal-leading-zero); position: absolute; left: 0; top: 0; z-index: 1; width: 36px; height: 36px; border-radius: var(--raio-no); display: grid; place-items: center; background: var(--verde-sukses); color: var(--sobre-verde); font-family: var(--f-mono); font-size: 13px; font-weight: 500; }
.etapas li::after { content: ""; position: absolute; left: 17px; top: 36px; bottom: 0; width: var(--traco-ligacao); background: var(--verde-sukses); }
.etapas li:last-child::after { display: none; }
.etapas h3 { color: var(--branco-marca); margin-bottom: var(--espaco-1); padding-top: 4px; }
.etapas p { color: var(--branco-marca); opacity: 0.86; max-width: 52ch; }
.engenharia { display: flex; align-items: center; gap: var(--espaco-3); padding-block: var(--espaco-5); margin-bottom: var(--espaco-5); border-block: var(--traco-linha) solid var(--carbono-linha); font-weight: 600; font-size: 18px; line-height: 26px; }
.etiqueta-art { flex: none; background: var(--verde-sukses); color: var(--sobre-verde); font-family: var(--f-mono); font-size: 13px; font-weight: 500; letter-spacing: 0.08em; padding: 6px 10px; }
@media (min-width: 1024px) {
  .metodo-secao { padding-top: var(--secao); min-height: 780px; }
  .metodo__foto { position: absolute; left: 0; top: 0; bottom: 0; width: 44%; clip-path: polygon(0 0, 100% 0, calc(100% - var(--espaco-9)) 100%, 0 100%); }
  .metodo__foto img { height: 100%; aspect-ratio: auto; }
  .metodo__conteudo { margin-left: calc(42vw + var(--espaco-8) - var(--margem) - max(0px, (100vw - var(--largura-max) - 2 * var(--margem)) / 2)); padding-top: 0; max-width: 640px; }
  .etapas h3 { font-size: 24px; line-height: 30px; }
}

/* ---------- 06 · Soluções em tiles de foto (ref. WEG) ---------- */
.tiles { display: grid; grid-template-columns: 1fr 1fr; gap: var(--espaco-2); }
.tile { position: relative; overflow: hidden; background: var(--carbono); color: var(--branco-marca); clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--chanfro)), calc(100% - var(--chanfro)) 100%, 0 100%); }
.tile img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; transition: transform 400ms; }
.tile::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgb(15 17 14 / 0) 30%, rgb(15 17 14 / 0.92) 100%); }
.tile__texto { position: absolute; inset: auto 0 0 0; z-index: 2; padding: var(--espaco-4) var(--espaco-3) var(--espaco-5); }
.tile__num { display: block; font-family: var(--f-mono); font-size: 12px; font-weight: 500; letter-spacing: 0.08em; color: var(--verde-sukses); margin-bottom: var(--espaco-2); }
.tile h3 { font-size: 17px; line-height: 21px; }
.tile__link { position: absolute; inset: 0; z-index: 3; }
.tile p { display: none; }
.tile::after { content: ""; position: absolute; left: 0; bottom: 0; z-index: 2; width: 0; height: 4px; background: var(--verde-sukses); transition: width 300ms; }
.tile:hover img { transform: scale(1.05); }
.tile:hover::after { width: 100%; }
.tile:has(.tile__link:focus-visible) { outline: 3px solid var(--verde-sukses); outline-offset: -3px; }
.tile__link:focus-visible { outline: none; }
@media (min-width: 768px) {
  .tile__texto { padding: var(--espaco-5) var(--espaco-5) var(--espaco-6); }
  .tile h3 { font-size: 22px; line-height: 27px; margin-bottom: var(--espaco-2); }
  .tile p { display: block; font-size: 16px; line-height: 23px; opacity: 0.88; }
}
@media (min-width: 1024px) { .tiles { grid-template-columns: repeat(4, 1fr); gap: var(--espaco-3); } .tile img { aspect-ratio: 4 / 5.4; } }

/* ---------- 07 · Avaliações ---------- */
.faixa-foto { position: relative; clip-path: polygon(0 var(--corte), 100% 0, 100% 100%, 0 100%); margin-top: calc(-1 * var(--corte)); }
.faixa-foto img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
@media (min-width: 768px) { .faixa-foto img { aspect-ratio: 21 / 8; max-height: 600px; object-position: 50% 30%; } }

.avaliacoes { background: var(--fundo-alt); padding-block: var(--espaco-7) calc(var(--secao) + var(--corte)); }
.avaliacoes__topo { display: grid; gap: var(--espaco-5); margin-bottom: var(--espaco-6); }
.nota { display: flex; align-items: center; gap: var(--espaco-4); text-decoration: none; }
.nota__valor { font-family: var(--f-display); font-weight: 800; font-size: 64px; line-height: 1; letter-spacing: -0.03em; }
.nota__texto { display: flex; flex-direction: column; font-weight: 600; font-size: 16px; line-height: 22px; }
.nota__texto .ico { width: 18px; height: 18px; display: inline; vertical-align: middle; }
.estrelas { color: var(--alerta); font-size: 20px; letter-spacing: 2px; -webkit-text-stroke: 0.5px var(--sobre-alerta); }
.nota:hover .nota__texto { text-decoration: underline; text-underline-offset: 4px; }
@media (min-width: 1024px) { .avaliacoes__topo { grid-template-columns: 1fr auto; align-items: end; } .nota__valor { font-size: 96px; } }

.depoimentos { display: grid; grid-auto-flow: column; grid-auto-columns: 84%; gap: var(--espaco-3); overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: var(--espaco-3); margin-inline: calc(-1 * var(--margem)); padding-inline: var(--margem); scroll-padding-inline: var(--margem); }
.depoimento { scroll-snap-align: start; background: var(--fundo); padding: var(--espaco-5); display: flex; flex-direction: column; gap: var(--espaco-4); border-top: 3px solid var(--verde-sukses); }
.depoimento blockquote p { font-size: 17px; line-height: 26px; }
.depoimento__quem { margin-top: auto; font-size: 14px; line-height: 20px; color: var(--tinta-suave); }
.depoimento__quem b { color: var(--tinta); }
@media (min-width: 1024px) {
  .depoimentos { grid-auto-flow: row; grid-template-columns: repeat(4, 1fr); overflow: visible; margin-inline: 0; padding-inline: 0; }
}

/* ---------- 08 · Contato (entra em diagonal sobre as avaliações) ---------- */
.contato-secao { position: relative; margin-top: calc(-1 * var(--corte)); clip-path: polygon(0 var(--corte), 100% 0, 100% 100%, 0 100%); padding-top: calc(var(--secao) + var(--corte)); }
.contato { display: grid; gap: var(--espaco-5); }
.contato h2 { color: var(--branco-marca); }
.contato__intro > p { max-width: 44ch; opacity: 0.9; }
.quem { display: flex; align-items: center; gap: var(--espaco-4); margin-block: var(--espaco-5) var(--espaco-4); }
.quem img { width: 96px; height: 96px; border-radius: var(--raio-no); object-fit: cover; outline: 3px solid var(--verde-sukses); outline-offset: 0; }
.quem p { display: flex; flex-direction: column; }
.quem b { font-family: var(--f-display); font-size: 22px; line-height: 28px; font-weight: 800; }
.canais { display: grid; border-top: var(--traco-linha) solid var(--carbono-linha); }
.canais li { display: flex; align-items: center; gap: var(--espaco-3); min-height: 52px; border-bottom: var(--traco-linha) solid var(--carbono-linha); font-size: 16px; line-height: 22px; padding-block: var(--espaco-2); }
.canais a { display: flex; align-items: center; gap: var(--espaco-3); min-height: 48px; width: 100%; text-decoration: none; font-weight: 600; }
.canais a:hover { color: var(--verde-sukses); }
.canais .ico { color: var(--verde-sukses); }
@media (max-width: 767px) { .canais__endereco { display: none !important; } }

.formulario { background: var(--fundo); color: var(--tinta); padding: var(--espaco-5) var(--espaco-4); display: grid; gap: var(--espaco-4); clip-path: polygon(0 0, calc(100% - var(--chanfro)) 0, 100% var(--chanfro), 100% 100%, 0 100%); }
.formulario__titulo { font-family: var(--f-display); font-weight: 800; font-size: 22px; line-height: 28px; }
@media (min-width: 768px) { .formulario { padding: var(--espaco-6); } }
.campo label, .chips legend { display: block; margin-bottom: var(--espaco-1); font-size: 15px; line-height: 22px; font-weight: 600; }
.chips legend span { font-weight: 400; color: var(--tinta-suave); }
.campo input, .campo textarea { width: 100%; min-height: 48px; padding: var(--espaco-3) var(--espaco-4); font: 400 17px/24px var(--f-sans); color: var(--tinta); background: var(--fundo); border: 1px solid var(--borda-controle); border-radius: var(--raio-controle); }
.campo textarea { resize: vertical; min-height: 104px; }
.campo input::placeholder, .campo textarea::placeholder { color: var(--tinta-suave); opacity: 1; }
.campo [aria-invalid="true"] { border-color: var(--erro); border-width: 2px; }
.campo__erro { margin-top: var(--espaco-1); color: var(--erro); font-size: 15px; line-height: 22px; font-weight: 600; }
.chips { border: 0; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: var(--espaco-2); }
.chips legend { width: 100%; }
.chips label { position: relative; }
.chips input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.chips label span { display: inline-flex; align-items: center; min-height: 48px; padding: 0 var(--espaco-4); border: 1px solid var(--borda-controle); border-radius: var(--raio-no); font-size: 16px; cursor: pointer; transition: background-color 150ms; }
.chips input:checked + span { background: var(--verde-sukses); color: var(--sobre-verde); border-color: var(--verde-sukses); font-weight: 600; }
.chips input:focus-visible + span { outline: 2px solid var(--foco); outline-offset: 2px; }
.formulario__nota { color: var(--tinta-suave); }
.formulario__ok { padding: var(--espaco-4); background: var(--fundo-alt); border-left: var(--traco-ligacao) solid var(--verde-sukses); font-weight: 600; }
@media (min-width: 1024px) { .contato { grid-template-columns: 5fr 7fr; gap: var(--espaco-9); align-items: start; } }

/* ---------- Rodapé ---------- */
.rodape { background: var(--carbono); color: var(--branco-marca); border-top: var(--traco-linha) solid var(--carbono-linha); padding-block: var(--espaco-7) calc(var(--espaco-10) + env(safe-area-inset-bottom)); }
.rodape__grade { display: grid; gap: var(--espaco-6); }
.rodape__porque { margin-top: var(--espaco-4); max-width: 36ch; font-family: var(--f-display); font-weight: 700; font-size: 19px; line-height: 26px; }
.rodape nav a { display: flex; align-items: center; min-height: 44px; text-decoration: none; }
.rodape nav a:hover, .rodape .pequeno a:hover { color: var(--verde-sukses); }
.rodape .pequeno p + p { margin-top: var(--espaco-3); }
.rodape .pequeno a { display: inline-block; padding-block: 12px; }
@media (min-width: 1024px) { .rodape { padding-bottom: var(--espaco-7); } .rodape__grade { grid-template-columns: 2fr 1fr 1.5fr; } }

/* ---------- WhatsApp fixo (celular) ---------- */
.whats-fixo { position: fixed; z-index: 40; right: var(--espaco-4); bottom: calc(var(--espaco-4) + env(safe-area-inset-bottom)); width: 56px; height: 56px; border-radius: var(--raio-no); display: grid; place-items: center; background: var(--verde-sukses); color: var(--sobre-verde); transition: opacity 150ms, transform 150ms; }
.whats-fixo .ico { width: 28px; height: 28px; }
.whats-fixo.escondido { opacity: 0; transform: translateY(8px); pointer-events: none; }
@media (min-width: 1024px) { .whats-fixo { display: none; } }

/* ---------- Rascunho: pendências visíveis (remover a classe do <body> para publicar) ---------- */
.rascunho [data-pendente] { outline: 2px dashed var(--alerta); outline-offset: 4px; position: relative; }
.rascunho [data-pendente]::after { content: "PENDENTE: " attr(data-pendente); display: block; margin-top: var(--espaco-2); font: 500 12px/16px var(--f-mono); letter-spacing: 0.04em; text-transform: none; background: var(--alerta); color: var(--sobre-alerta); padding: var(--espaco-1) var(--espaco-2); width: fit-content; max-width: 100%; grid-column: 1 / -1; }
.rascunho .parede[data-pendente]::after { margin-inline: var(--margem); }

/* ---------- rev. 4: amplitude de serviços ---------- */
/* Atalhos de serviço no hero */
.hero__servicos { display: flex; flex-wrap: wrap; gap: var(--espaco-2); margin-top: var(--espaco-6); max-width: 760px; }
.hero__servico { display: inline-flex; align-items: center; gap: var(--espaco-2); min-height: 44px; padding: 0 var(--espaco-4); border: 1px solid rgb(255 255 255 / 0.45); border-radius: var(--raio-no); color: var(--branco-marca); text-decoration: none; font-size: 15px; font-weight: 600; background: rgb(15 17 14 / 0.35); transition: background-color 150ms, border-color 150ms; }
.hero__servico:hover { border-color: var(--verde-sukses); background: rgb(15 17 14 / 0.7); }
.hero__servico .etiqueta-norma { padding: 3px 7px; font-family: var(--f-mono); font-size: 11px; letter-spacing: 0.06em; }
.hero__servico--destaque { border-color: var(--alerta); }
@media (max-width: 767px) {
  /* no celular todos os serviços aparecem, em chips compactos: o hero não pode parecer "só NR-12" */
  .hero__servicos { margin-top: var(--espaco-5); gap: var(--espaco-2); }
  .hero__servico { min-height: 40px; padding: 0 var(--espaco-3); font-size: 14px; }
}
.hero__etiqueta span { opacity: 0.9; }

/* Grade de serviços com destaque */
.tiles { grid-template-columns: 1fr 1fr; }
.tile--destaque { grid-column: 1 / -1; }
.tile--destaque img { aspect-ratio: 4 / 3; }
.tile--destaque h3 { font-size: 24px; line-height: 28px; }
.tile--destaque p { display: block; font-size: 16px; line-height: 23px; opacity: 0.9; margin-top: var(--espaco-2); }
.tile--destaque .tile__num { color: var(--alerta); }
@media (min-width: 1024px) {
  .tiles { grid-template-columns: repeat(4, 1fr); grid-auto-rows: 1fr; }
  .tile--destaque { grid-column: span 2; grid-row: span 2; }
  .tile img { aspect-ratio: auto; height: 100%; min-height: 300px; }
  .tile--destaque img { aspect-ratio: auto; }
  .tile--destaque h3 { font-size: 36px; line-height: 40px; }
  .tile--destaque p { font-size: 18px; line-height: 27px; max-width: 36ch; }
  .tile:not(.tile--destaque) p { font-size: 15px; line-height: 21px; }
  .tile:not(.tile--destaque) h3 { font-size: 20px; line-height: 25px; }
}

/* Faixa "sob demanda" */
.sob-demanda { position: relative; display: grid; gap: var(--espaco-2); margin-top: var(--espaco-2); padding: var(--espaco-5) var(--espaco-4); background: var(--carbono); color: var(--branco-marca); text-decoration: none; overflow: hidden; clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--chanfro)), calc(100% - var(--chanfro)) 100%, 0 100%); }
.sob-demanda__num { font-family: var(--f-mono); font-size: 12px; font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; color: var(--verde-sukses); }
.sob-demanda__titulo { font-family: var(--f-display); font-weight: 800; font-size: 24px; line-height: 28px; letter-spacing: -0.01em; position: relative; z-index: 1; }
.sob-demanda__texto { font-size: 16px; line-height: 24px; opacity: 0.9; max-width: 56ch; position: relative; z-index: 1; }
.sob-demanda__cta { display: inline-flex; align-items: center; gap: var(--espaco-2); margin-top: var(--espaco-2); min-height: 44px; font-weight: 600; color: var(--verde-sukses); position: relative; z-index: 1; }
.sob-demanda__cta .ico { width: 20px; height: 20px; transition: transform 150ms; }
.sob-demanda:hover .sob-demanda__cta .ico { transform: translateX(4px); }
.sob-demanda__mol { position: absolute; right: -24px; bottom: -24px; width: 140px; opacity: 0.25; }
@media (min-width: 1024px) {
  .sob-demanda { grid-template-columns: 1fr auto; align-items: center; column-gap: var(--espaco-7); margin-top: var(--espaco-3); padding: var(--espaco-6) var(--espaco-7); }
  .sob-demanda__num, .sob-demanda__titulo, .sob-demanda__texto { grid-column: 1; }
  .sob-demanda__titulo { font-size: 32px; line-height: 36px; }
  .sob-demanda__cta { grid-column: 2; grid-row: 1 / span 3; margin: 0 var(--espaco-9) 0 0; font-size: 18px; }
  .sob-demanda__mol { width: 220px; right: -20px; bottom: -40px; }
}

.depoimento__quem { display: flex; flex-direction: column; }

/* Marcas muito pesadas ou compactas ficam menores para equilibrar a faixa */
.marquee img.logo--menor { height: 34px; }
@media (min-width: 1024px) { .marquee img.logo--menor { height: 46px; } }

/* ---------- rev. 5 ---------- */
.formulario__sub { margin-top: calc(-1 * var(--espaco-3)); font-size: 15px; line-height: 22px; color: var(--tinta-suave); }
.rodape__redes { display: flex; flex-direction: column; align-items: flex-start; gap: var(--espaco-2); }
.rodape__redes-titulo { font-family: var(--f-mono); font-size: 12px; font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; color: var(--verde-sukses); margin-bottom: var(--espaco-1); }
.rede-social { display: inline-flex; align-items: center; gap: var(--espaco-3); min-height: 48px; padding: 0 var(--espaco-4) 0 var(--espaco-3); border: 1px solid var(--carbono-linha); border-radius: var(--raio-no); text-decoration: none; font-weight: 600; transition: border-color 150ms, color 150ms; }
.rede-social .ico { color: var(--verde-sukses); }
.rede-social:hover { border-color: var(--verde-sukses); color: var(--verde-sukses); }
@media (min-width: 1024px) { .rodape__grade { grid-template-columns: 1.6fr 1fr 1.4fr 1fr; } }
/* sem os destaques, a faixa de logos fecha o bloco */
.clientes .parede { padding-bottom: 0; }

/* ==========================================================================
   rev. 6 — Consentimento de cookies (LGPD), link do rodapé, FAQ, Política
   ========================================================================== */

/* ---------- Banner de cookies ---------- */
.cookies { position: fixed; z-index: 90; left: 0; right: 0; bottom: 0; padding: 0 var(--espaco-3) calc(var(--espaco-3) + env(safe-area-inset-bottom)); pointer-events: none; }
.cookies[hidden] { display: none; }
.cookies__caixa { pointer-events: auto; max-width: 720px; max-height: calc(100vh - var(--espaco-7)); overflow-y: auto; margin-inline: auto; background: var(--carbono); color: var(--branco-marca); border: var(--traco-linha) solid var(--carbono-linha); border-top: 4px solid var(--verde-sukses); padding: var(--espaco-5) var(--espaco-4); box-shadow: 0 -8px 32px rgba(15, 17, 14, .28); clip-path: polygon(0 0, calc(100% - var(--chanfro)) 0, 100% var(--chanfro), 100% 100%, 0 100%); }
.cookies__titulo { font-family: var(--f-display); font-weight: 800; font-size: 21px; line-height: 28px; margin-bottom: var(--espaco-2); }
.cookies__texto { font-size: 15px; line-height: 22px; color: var(--branco-marca); }
.cookies__texto a { color: var(--verde-sukses); font-weight: 600; }
.cookies__prefs { display: grid; gap: var(--espaco-3); margin-top: var(--espaco-4); padding-top: var(--espaco-4); border-top: var(--traco-linha) solid var(--carbono-linha); }
.cookies__prefs[hidden] { display: none; }
.cookies__opcao { display: flex; gap: var(--espaco-3); align-items: flex-start; font-size: 15px; line-height: 22px; color: var(--branco-marca); cursor: pointer; }
.cookies__opcao b { display: block; color: var(--branco-marca); }
.cookies__opcao input { flex: none; width: 22px; height: 22px; margin: 0; accent-color: var(--verde-sukses); }
.cookies__opcao input:disabled { opacity: .6; }
.cookies__acoes { display: grid; grid-template-columns: 1fr 1fr; gap: var(--espaco-2); margin-top: var(--espaco-4); }
.cookies__acoes .botao { min-height: 48px; padding-inline: var(--espaco-3); font-size: 16px; }
.cookies__botao-sec { background: transparent; color: var(--branco-marca); box-shadow: inset 0 0 0 2px var(--branco-marca); }
.cookies__botao-sec:hover { background: var(--carbono-linha); }
.cookies__botao-sec[hidden], .cookies__link[hidden] { display: none; }
.cookies__link { grid-column: 1 / -1; justify-self: center; min-height: 44px; padding: 0 var(--espaco-3); background: none; border: 0; color: var(--branco-marca); font: 600 15px/22px var(--f-sans); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.cookies__link:hover { color: var(--verde-sukses); }
.cookies [data-cookies="salvar"] { grid-column: 1 / -1; }
.cookies :focus-visible { outline-color: var(--verde-sukses); }
@media (min-width: 768px) {
  .cookies { padding: 0 var(--espaco-5) var(--espaco-5); }
  .cookies__caixa { padding: var(--espaco-5) var(--espaco-6); }
  .cookies__acoes { display: flex; flex-wrap: wrap; align-items: center; }
  .cookies__acoes .botao { min-width: 148px; }
  .cookies [data-cookies="salvar"] { order: 3; }
  .cookies__link { order: 4; margin-left: auto; }
}
html.tem-cookies .whats-fixo { display: none; }

/* ---------- Link "Preferências de cookies" no rodapé ---------- */
.link-cookies { display: flex; align-items: center; min-height: 44px; padding: 0; background: none; border: 0; color: inherit; font: inherit; text-decoration: underline; cursor: pointer; text-align: left; }
.link-cookies:hover { color: var(--verde-sukses); }
.formulario__nota a { color: inherit; font-weight: 600; }

/* ---------- Perguntas frequentes ---------- */
.faq { display: grid; gap: 0; border-top: var(--traco-linha) solid var(--linha); }
.faq details { border-bottom: var(--traco-linha) solid var(--linha); }
.faq summary { display: flex; align-items: center; justify-content: space-between; gap: var(--espaco-4); min-height: 64px; padding-block: var(--espaco-4); cursor: pointer; list-style: none; font-family: var(--f-display); font-weight: 700; font-size: 19px; line-height: 26px; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: ""; flex: none; width: 14px; height: 14px; border-right: 2px solid var(--verde-texto); border-bottom: 2px solid var(--verde-texto); transform: rotate(45deg) translate(-3px, -3px); transition: transform 150ms; }
.faq details[open] summary::after { transform: rotate(-135deg) translate(-3px, -3px); }
.faq details > div { padding-bottom: var(--espaco-5); max-width: 68ch; color: var(--tinta-suave); }
.faq details > div p + p { margin-top: var(--espaco-3); }
@media (min-width: 1024px) {
  .faq-grade { display: grid; grid-template-columns: 5fr 7fr; gap: var(--espaco-8); align-items: start; }
  .faq summary { font-size: 21px; line-height: 28px; }
}

/* ---------- Página: Política de privacidade ---------- */
.doc-topo { background: var(--carbono); color: var(--branco-marca); padding-block: var(--espaco-8) calc(var(--espaco-7) + var(--corte)); clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--corte)), 0 100%); }
.doc-topo h1 { font-size: clamp(34px, 3vw + 22px, 60px); max-width: 16ch; }
.doc-topo p { margin-top: var(--espaco-4); color: var(--branco-marca); max-width: 60ch; }
.doc { padding-block: var(--espaco-7) var(--secao); }
.doc__corpo { max-width: 72ch; }
.doc__corpo h2 { font-size: clamp(24px, 1vw + 20px, 32px); margin: var(--espaco-7) 0 var(--espaco-4); scroll-margin-top: calc(var(--altura-topo) + var(--espaco-4)); }
.doc__corpo h3 { margin: var(--espaco-5) 0 var(--espaco-2); }
.doc__corpo p + p, .doc__corpo p + ul, .doc__corpo ul + p { margin-top: var(--espaco-3); }
.doc__corpo ul { list-style: none; display: grid; gap: var(--espaco-2); }
.doc__corpo ul li { position: relative; padding-left: var(--espaco-5); }
.doc__corpo ul li::before { content: ""; position: absolute; left: 0; top: 11px; width: 12px; height: var(--traco-ligacao); background: var(--verde-texto); }
.doc__corpo a { color: var(--verde-texto); font-weight: 600; }
.doc__indice { margin: var(--espaco-6) 0; padding: var(--espaco-5); background: var(--fundo-alt); border-left: 4px solid var(--verde-sukses); }
.doc__indice p { font-family: var(--f-mono); font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: var(--verde-texto); margin-bottom: var(--espaco-3); }
.doc__indice ol { list-style: decimal; padding-left: var(--espaco-5); display: grid; gap: var(--espaco-1); }
.doc__tabela { width: 100%; overflow-x: auto; margin-top: var(--espaco-4); }
.doc__tabela table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: 15px; line-height: 22px; }
.doc__tabela th, .doc__tabela td { text-align: left; vertical-align: top; padding: var(--espaco-3); border-bottom: var(--traco-linha) solid var(--linha); }
.doc__tabela th { font-weight: 700; background: var(--fundo-alt); }
.doc__tabela code { font-family: var(--f-mono); font-size: 14px; }
.doc__nota { margin-top: var(--espaco-7); padding-top: var(--espaco-5); border-top: var(--traco-linha) solid var(--linha); color: var(--tinta-suave); }
.pendente { background: var(--alerta); color: var(--sobre-alerta); padding: 0 var(--espaco-1); font-weight: 600; }
.sem-quebra { white-space: nowrap; }
.faq__pergunta { flex: 1; min-width: 0; }

/* ---------- CTA "Veja todas as avaliações" ---------- */
.avaliacoes__cta { display: grid; grid-template-columns: 1fr; gap: var(--espaco-2); margin-top: var(--espaco-4); padding: var(--espaco-5); background: var(--carbono); color: var(--branco-marca); text-decoration: none; clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--chanfro)), calc(100% - var(--chanfro)) 100%, 0 100%); transition: background-color 150ms; }
.avaliacoes__cta:hover { background: var(--carbono-linha); }
.avaliacoes__cta-nota { font-family: var(--f-mono); font-size: 13px; font-weight: 500; letter-spacing: .08em; color: var(--verde-sukses); }
.avaliacoes__cta-nota .estrelas { color: var(--alerta); letter-spacing: 0; margin-left: var(--espaco-1); }
.avaliacoes__cta-texto { font-family: var(--f-display); font-weight: 800; font-size: 22px; line-height: 28px; }
.avaliacoes__cta-seta { display: inline-flex; align-items: center; gap: var(--espaco-2); font-weight: 600; color: var(--verde-sukses); }
.avaliacoes__cta-seta .ico { width: 20px; height: 20px; transition: transform 150ms; }
.avaliacoes__cta:hover .avaliacoes__cta-seta .ico { transform: translateX(4px); }
.avaliacoes__cta:focus-visible { outline: 2px solid var(--foco); outline-offset: 3px; }
@media (min-width: 768px) {
  .avaliacoes__cta { grid-template-columns: auto 1fr auto; align-items: center; gap: var(--espaco-5); padding: var(--espaco-5) var(--espaco-6); }
  .avaliacoes__cta-texto { font-size: 26px; line-height: 32px; }
}

/* ---------- Migalhas de pão (páginas internas) ---------- */
.migalhas { padding-top: var(--espaco-4); }
.migalhas ol { display: flex; flex-wrap: wrap; }
.migalhas li { display: flex; align-items: center; font-family: var(--f-mono); font-size: 13px; line-height: 18px; color: var(--tinta-suave); }
.migalhas li:not(:last-child)::after { content: "/"; margin-inline: var(--espaco-2); color: var(--linha); }
.migalhas a { color: var(--tinta-suave); text-decoration: underline; text-underline-offset: 3px; }
.migalhas a:hover { color: var(--tinta); }
.migalhas li[aria-current] { color: var(--tinta); font-weight: 600; }

/* ---------- Páginas internas: foto única ao lado do texto (variante do mosaico) ---------- */
.foto-intro { align-self: start; }
.foto-intro picture { display: block; overflow: hidden; clip-path: polygon(var(--corte) 0, 100% 0, 100% 100%, 0 100%, 0 var(--corte)); }
.foto-intro img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.foto-intro--retrato img { aspect-ratio: 4 / 5; }
@media (min-width: 1024px) { .foto-intro { position: sticky; top: calc(var(--altura-topo) + var(--espaco-6)); } }

/* ---------- Números sem sobrepor hero (páginas internas) ---------- */
.numeros--plano { margin-top: var(--espaco-7); padding-top: 0; padding-bottom: var(--espaco-6); border-top: var(--traco-linha) solid var(--linha); }
.pagina-hero { padding-bottom: 0; }
.pagina-hero .acoes { margin-top: var(--espaco-6); }
@media (min-width: 1024px) { .numeros--plano { padding-bottom: var(--espaco-7); } }
