/* =====================================================================
   IMPACTO — camada de refino (revisão set/2026, parte AL)
   A linguagem que a home consolidou, disponível para todas as páginas:
   - .ir-trust   cartão de autoridade logo abaixo do herói (clientes · selo
                 ISO 27001 em bloco escuro · canal ou corredor)
   - .ir-next    cartão "a conversa de 30 minutos" no fecho das páginas,
                 no lugar do painel decorativo genérico
   - .ir-ledger  quadro "Hoje → Com a IMPACTO" (antes e depois em linhas)
   - .ir-faces   mural de rostos do time (herói de /time e /en)
   - .ir-proofs  três artefatos de prova (foto, comprovante, depoimento)
   - .ir-fecho   fecho em duas colunas (texto + cartão)
   Regras: sem ícone em quadrado colorido, sem numeração decorativa, sem
   borda colorida lateral, sem painel abstrato. Cada visual mostra uma
   coisa verdadeira: um rosto, um logo, um registro, um prazo.
   ===================================================================== */

/* ---------- selo ISO (compartilhado) ---------- */
.ir-seal { flex: none; display: block; }
.ir-seal-ring { transform-origin: 50% 50%; animation: ir-spin 40s linear infinite; }
@keyframes ir-spin { to { transform: rotate(360deg); } }

/* ---------- cartão de autoridade ---------- */
.ir-trust { position: relative; z-index: 2; padding: var(--space-4) var(--gutter) var(--space-7); background: var(--bg); }
.ir-trust--overlap { background: linear-gradient(to bottom, var(--bg-dark) 0, var(--bg-dark) 72px, var(--bg) 72px); }
.ir-trust--panel { background: var(--bg-panel); padding-top: var(--space-8); padding-bottom: var(--space-8); }
.ir-trust-card { box-sizing: border-box; max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1.3fr 1fr; gap: var(--space-3); padding: var(--space-3); background: #fff; border: 1px solid rgba(20, 20, 42, .08); border-radius: var(--radius-lg); box-shadow: 0 1px 2px rgba(20, 20, 43, .06), 0 24px 56px -20px rgba(20, 20, 43, .28); }
.ir-trust-cell { display: flex; flex-direction: column; justify-content: center; gap: var(--space-4); min-height: 136px; padding: var(--space-5) var(--space-7); border-radius: var(--radius-md); }
.ir-k { margin: 0; font-size: 11px; line-height: 16px; font-weight: 700; letter-spacing: 1.6px; text-transform: uppercase; color: var(--fg-muted); }
.ir-trust-logos { display: flex; align-items: center; gap: var(--space-6); min-height: 72px; }
.ir-trust-logos a { display: block; border-radius: var(--radius-xs); }
.ir-trust-logos img { display: block; flex: none; height: auto; }
.ir-trust-pwc { width: 80px; margin: -16px -10px; }
.ir-trust-quali { width: 120px; }
.ir-trust-totvs { width: 132px; }
.ir-trust-avenia { width: 132px; }
.ir-trust-note { margin: 0; font-size: 13px; line-height: 18px; color: var(--fg-muted); }
.ir-trust-iso { background: var(--bg-dark); background-image: radial-gradient(120% 140% at 0% 0%, rgba(26, 237, 159, .16) 0, rgba(26, 237, 159, 0) 55%); }
.ir-trust-iso .ir-k { color: var(--color-green); }
.ir-trust-seal { display: flex; align-items: center; gap: var(--space-5); }
.ir-trust-seal strong { display: block; font-family: var(--font-display); font-weight: 800; font-size: 32px; line-height: 1.05; letter-spacing: -.5px; color: #fff; }
.ir-trust-seal span { display: block; margin-top: 6px; font-size: 15px; line-height: 20px; font-weight: 600; color: #fff; }
.ir-trust-seal em { display: block; margin-top: 2px; font-style: normal; font-size: 13px; line-height: 18px; font-weight: 600; letter-spacing: 1px; color: var(--color-gray-600); }
@media (max-width: 1140px) {
  .ir-trust-card { grid-template-columns: 1fr 1fr; }
  .ir-trust-iso { grid-column: 1 / -1; order: -1; min-height: 0; }
  .ir-trust-cell { min-height: 0; padding: var(--space-5) var(--space-6); }
  .ir-trust-logos { min-height: 48px; }
  .ir-trust-quali { width: 104px; }
  .ir-trust-totvs, .ir-trust-avenia { width: 116px; }
}
@media (max-width: 600px) {
  .ir-trust { padding-bottom: var(--space-6); }
  .ir-trust--overlap { background: linear-gradient(to bottom, var(--bg-dark) 0, var(--bg-dark) 40px, var(--bg) 40px); }
  .ir-trust-card { grid-template-columns: minmax(0, 1fr); gap: 0; padding: var(--space-2); border-radius: var(--radius-md); }
  .ir-trust-iso { border-radius: 12px; }
  .ir-trust-cell { padding: var(--space-4); gap: var(--space-3); }
  .ir-trust-cell:not(.ir-trust-iso) { flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; }
  .ir-trust-cell:not(.ir-trust-iso) .ir-trust-note { flex-basis: 100%; }
  .ir-trust-logos { gap: var(--space-4); min-height: 40px; }
  .ir-trust-pwc { width: 60px; margin: -12px -8px; }
  .ir-trust-quali { width: 88px; }
  .ir-trust-totvs, .ir-trust-avenia { width: 100px; }
  .ir-trust-seal .ir-seal { width: 56px; height: 56px; }
  .ir-trust-seal { gap: var(--space-4); }
  .ir-trust-seal strong { font-size: 26px; }
  .ir-trust-seal span { font-size: 14px; }
  .ir-trust-seal em { font-size: 12px; }
}

/* ---------- fecho em duas colunas ---------- */
.ir-fecho { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: var(--space-9); align-items: center; max-width: 1200px; margin: 0 auto; }
.ir-fecho > div:first-child { min-width: 0; }
@media (max-width: 992px) { .ir-fecho { grid-template-columns: minmax(0, 1fr); gap: var(--space-8); } }

/* ---------- cartão "a conversa de 30 minutos" ---------- */
.ir-next { box-sizing: border-box; position: relative; overflow: hidden; margin: 0; padding: var(--space-7); border-radius: var(--radius-lg); background: var(--bg-dark); background-image: radial-gradient(90% 120% at 100% 0%, rgba(143, 0, 255, .22) 0, rgba(143, 0, 255, 0) 60%), radial-gradient(80% 100% at 0% 100%, rgba(26, 237, 159, .14) 0, rgba(26, 237, 159, 0) 60%); color: var(--fg-on-dark); box-shadow: 0 24px 56px -24px rgba(20, 20, 43, .45); }
.on-dark .ir-next { background: #fff; background-image: none; color: var(--color-gray-100); border: 1px solid rgba(20, 20, 42, .08); box-shadow: 0 24px 56px -20px rgba(0, 0, 0, .45); }
.ir-next .ir-k { color: var(--color-green); }
.on-dark .ir-next .ir-k { color: var(--color-purple); }
.ir-next-steps { list-style: none; margin: var(--space-6) 0 0; padding: 0; display: grid; gap: 0; }
.ir-next-steps li { position: relative; display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: var(--space-5); padding: var(--space-5) 0; border-top: 1px solid rgba(255, 255, 255, .12); }
.on-dark .ir-next-steps li { border-top-color: rgba(20, 20, 42, .10); }
.ir-next-t { display: block; padding-top: 2px; font-family: var(--font-mono, ui-monospace, monospace); font-size: 13px; line-height: 20px; font-weight: 600; letter-spacing: .4px; color: var(--color-green); white-space: nowrap; }
.on-dark .ir-next-t { color: #0E9F6A; }
.ir-next-steps strong { display: block; margin: 0 0 4px; font-family: var(--font-display); font-weight: 700; font-size: 17px; line-height: 24px; color: inherit; }
.ir-next-steps p { margin: 0; font-size: 14px; line-height: 21px; color: var(--color-gray-600); }
.on-dark .ir-next-steps p { color: var(--fg-muted); }
.ir-next-check li { grid-template-columns: 24px minmax(0, 1fr); align-items: start; }
.ir-next-check li::before { content: ""; width: 20px; height: 20px; margin-top: 2px; border-radius: 50%; background: rgba(26, 237, 159, .16) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath d='M2.5 6.2l2.3 2.3 4.7-5' fill='none' stroke='%231AED9F' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 12px no-repeat; }
.ir-next-check li p { font-size: 15px; line-height: 22px; color: inherit; }
.ir-next-foot { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3) var(--space-6); margin-top: var(--space-2); padding-top: var(--space-5); border-top: 1px solid rgba(255, 255, 255, .12); font-size: 13px; line-height: 18px; color: var(--color-gray-600); }
.on-dark .ir-next-foot { border-top-color: rgba(20, 20, 42, .10); color: var(--fg-muted); }
.ir-next-foot b { color: inherit; font-weight: 600; }
.ir-next-iso { display: inline-flex; align-items: center; gap: var(--space-2); }
.ir-next-iso b { color: #fff; }
.on-dark .ir-next-iso b { color: var(--color-gray-100); }
.ir-next-logos { display: inline-flex; align-items: center; gap: var(--space-4); margin-left: auto; }
.ir-next-logos img { display: block; height: auto; }
.ir-next-logos .ir-lg-pwc { width: 52px; margin: -10px -6px; }
.ir-next-logos .ir-lg-quali { width: 72px; }
.ir-next-logos img { filter: brightness(0) invert(1); opacity: .85; }
.on-dark .ir-next-logos img { filter: none; opacity: 1; }
@media (max-width: 600px) {
  .ir-next { padding: var(--space-5); border-radius: var(--radius-md); }
  .ir-next-steps li { grid-template-columns: minmax(0, 1fr); gap: var(--space-2); }
  .ir-next-check li { grid-template-columns: 24px minmax(0, 1fr); gap: var(--space-3); }
  .ir-next-logos { margin-left: 0; }
}

/* ---------- quadro "Hoje → Com a IMPACTO" ---------- */
.ir-ledger { margin: 0; border: 1px solid var(--border); border-radius: var(--radius-lg); overflow: hidden; background: var(--bg); }
.ir-ledger-head, .ir-ledger-row { display: grid; grid-template-columns: minmax(0, .9fr) 48px minmax(0, 1.25fr); }
.ir-ledger-head { background: var(--bg-panel); border-bottom: 1px solid var(--border); }
.ir-ledger-head > span { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-4) var(--space-6); font-size: 11px; line-height: 16px; font-weight: 700; letter-spacing: 1.6px; text-transform: uppercase; color: var(--fg-muted); }
.ir-ledger-head > span:last-child { background: rgba(26, 237, 159, .10); color: #0B7A52; }
.ir-ledger-head i { width: 8px; height: 8px; border-radius: 50%; background: var(--color-error); }
.ir-ledger-head > span:last-child i { background: #0E9F6A; }
.ir-ledger-row + .ir-ledger-row { border-top: 1px solid var(--border); }
.ir-ledger-was { display: flex; align-items: center; padding: var(--space-5) var(--space-6); margin: 0; font-size: 17px; line-height: 26px; color: var(--fg); }
.ir-ledger-arrow { display: grid; place-items: center; color: var(--fg-subtle, #A0A3BD); }
.ir-ledger-now { padding: var(--space-5) var(--space-6); background: rgba(26, 237, 159, .045); }
.ir-ledger-now h3 { margin: 0 0 var(--space-2); font-family: var(--font-display); font-weight: 700; font-size: 18px; line-height: 26px; color: var(--fg); }
.ir-ledger-now p { margin: 0; font-size: 15px; line-height: 23px; color: var(--fg-muted); }
.ir-ledger-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-4) var(--space-6); padding: var(--space-5) var(--space-6); border-top: 1px solid var(--border); background: var(--bg-dark); color: var(--fg-on-dark); }
.ir-ledger-foot p { margin: 0; font-size: 16px; line-height: 24px; font-weight: 600; }
@media (max-width: 800px) {
  .ir-ledger-head { display: none; }
  .ir-ledger-row { grid-template-columns: minmax(0, 1fr); }
  .ir-ledger-arrow { display: none; }
  .ir-ledger-was { padding: var(--space-5) var(--space-5) var(--space-3); font-size: 15px; line-height: 22px; color: var(--fg-muted); }
  .ir-ledger-was::before { content: "Hoje"; flex: none; margin-right: var(--space-3); padding: 2px 8px; border-radius: var(--radius-pill); background: rgba(228, 1, 115, .08); color: var(--color-error); font-size: 11px; line-height: 16px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; align-self: flex-start; margin-top: 3px; }
  .ir-ledger-now { padding: var(--space-3) var(--space-5) var(--space-5); background: none; }
  .ir-ledger-foot { padding: var(--space-5); }
}

/* ---------- mural de rostos ---------- */
.ir-faces { box-sizing: border-box; margin: 0; padding: var(--space-7); border-radius: var(--radius-lg); background: var(--bg-dark); background-image: radial-gradient(90% 120% at 100% 0%, rgba(143, 0, 255, .22) 0, rgba(143, 0, 255, 0) 60%), radial-gradient(80% 100% at 0% 100%, rgba(26, 237, 159, .14) 0, rgba(26, 237, 159, 0) 60%); color: var(--fg-on-dark); }
.ir-faces .ir-k { color: var(--color-green); }
.ir-faces-grid { list-style: none; margin: var(--space-6) 0 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--space-5) var(--space-4); }
.ir-faces--4 .ir-faces-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ir-faces-grid li { display: flex; flex-direction: column; align-items: center; text-align: center; gap: var(--space-2); min-width: 0; }
.ir-faces-grid img { display: block; width: 100%; max-width: 84px; aspect-ratio: 1; height: auto; border-radius: 50%; object-fit: cover; border: 2px solid rgba(255, 255, 255, .14); }
.ir-faces-grid li:first-child img { border-color: var(--color-green); }
.ir-faces-grid b { display: block; font-size: 13px; line-height: 17px; font-weight: 600; color: #fff; }
.ir-faces-grid span { display: block; font-size: 11px; line-height: 15px; color: var(--color-gray-600); }
.ir-faces-foot { margin: var(--space-6) 0 0; padding-top: var(--space-5); border-top: 1px solid rgba(255, 255, 255, .12); font-size: 13px; line-height: 19px; color: var(--color-gray-600); }
@media (max-width: 600px) {
  .ir-faces { padding: var(--space-5); border-radius: var(--radius-md); }
  .ir-faces-grid, .ir-faces--4 .ir-faces-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ir-faces--4 .ir-faces-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ---------- três artefatos de prova ---------- */
.ir-proofs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
.ir-proof { box-sizing: border-box; display: flex; flex-direction: column; gap: var(--space-4); min-height: 240px; padding: var(--space-6); border-radius: var(--radius-md); background: var(--bg); border: 1px solid var(--border); }
.ir-proof h3 { margin: auto 0 0; font-family: var(--font-display); font-weight: 700; font-size: 18px; line-height: 25px; color: var(--fg); }
.ir-proof p { margin: 0; font-size: 14px; line-height: 21px; color: var(--fg-muted); }
.ir-proof-art { position: relative; height: 112px; border-radius: var(--radius-sm); overflow: hidden; }
.ir-proof-art--photo { background: url("/assets/img/rio-negro-amazonia.webp") center / cover; }
.ir-proof-art--photo span { position: absolute; left: 10px; bottom: 10px; padding: 3px 8px; border-radius: var(--radius-pill); background: rgba(20, 20, 42, .72); color: #fff; font-size: 11px; line-height: 15px; font-weight: 600; }
.ir-proof-art--receipt { background: var(--bg-panel); padding: 14px 16px; font-family: var(--font-mono, ui-monospace, monospace); font-size: 12px; line-height: 18px; color: var(--fg-muted); }
.ir-proof-art--receipt div { display: flex; justify-content: space-between; gap: 8px; border-bottom: 1px dashed var(--border-strong); padding: 2px 0; }
.ir-proof-art--receipt div:last-child { border-bottom: 0; color: var(--fg); font-weight: 700; }
.ir-proof-art--quote { background: var(--bg-dark); padding: 16px 18px; color: #fff; font-size: 14px; line-height: 21px; font-style: italic; }
.ir-proof-art--quote::before { content: "“"; position: absolute; right: 14px; top: -6px; font-family: Georgia, serif; font-size: 72px; line-height: 1; color: var(--color-green); font-style: normal; }
@media (max-width: 992px) { .ir-proofs { grid-template-columns: minmax(0, 1fr); } .ir-proof { min-height: 0; } .ir-proof h3 { margin-top: 0; } }

/* ---------- marcador de risco (lista de problemas) ---------- */
.ir-risk { flex: none; width: 8px; height: 8px; margin-top: 11px; border-radius: 50%; background: var(--color-error); }

/* ---------- neutralizadores (padrões genéricos que a home abandonou) ---------- */
/* ícone em quadrado colorido dentro de cartões */
[style*="height: 40px; border-radius: var(--radius-xs); background: var(--color-green-light)"],
[style*="height: 44px; border-radius: var(--radius-sm); background: var(--color-green-light)"] { display: none !important; }

@media (prefers-reduced-motion: reduce) { .ir-seal-ring { animation: none; } }

/* ---------- parte AM: ajustes finos ---------- */
/* fecho em duas colunas: título proporcional à meia largura */
.ir-fecho .h1 { font-size: clamp(34px, 3.4vw, 50px); line-height: 1.12; }
/* linha do tempo clara (demonstração) */
.ir-timeline { list-style: none; margin: 0 0 var(--space-8); padding: 0; display: grid; }
.ir-timeline li { display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: var(--space-5); padding: var(--space-5) 0; border-top: 1px solid var(--border); }
.ir-timeline li:last-child { border-bottom: 1px solid var(--border); }
.ir-timeline .ir-next-t { color: #0E9F6A; }
.ir-timeline strong { display: block; margin: 0 0 4px; font-family: var(--font-display); font-weight: 700; font-size: 17px; line-height: 24px; color: var(--fg); }
.ir-timeline p { margin: 0; font-size: 15px; line-height: 23px; color: var(--fg-muted); }
@media (max-width: 600px) { .ir-timeline li { grid-template-columns: minmax(0, 1fr); gap: var(--space-2); } }
/* fundo dos cartões de responsáveis (/seguranca): brilho, sem grade decorativa */
.ir-glow { background: var(--bg-dark); background-image: radial-gradient(80% 120% at 0% 0%, rgba(143, 0, 255, .30) 0, rgba(143, 0, 255, 0) 60%), radial-gradient(70% 110% at 100% 100%, rgba(26, 237, 159, .20) 0, rgba(26, 237, 159, 0) 60%); }
/* registro de depoimento (artefato ilustrativo, sem citação inventada) */
.ir-proof-art--record { display: flex; flex-direction: column; justify-content: center; gap: 10px; background: var(--bg-dark); padding: 16px 18px; color: #fff; }
.ir-proof-art--record .ir-wave { display: flex; align-items: center; gap: 3px; height: 28px; }
.ir-proof-art--record .ir-wave i { flex: 1; border-radius: 2px; background: var(--color-green); opacity: .85; }
.ir-proof-art--record small { font-size: 12px; line-height: 16px; color: var(--color-gray-600); }
.ir-proof-art--record small b { color: #fff; font-weight: 600; }
/* ícone em quadrado verde claro de 44 px com canto xs */
[style*="height: 44px; border-radius: var(--radius-xs); background: var(--color-green-light)"] { display: none !important; }
/* campos de formulário nunca passam da borda do cartão */
input, select, textarea { box-sizing: border-box; max-width: 100%; }
label > input, label > select, label > textarea { width: 100%; min-width: 0; }

/* ---------- parte AN: componentes da home para as páginas internas ---------- */
/* cabeçalho de seção em duas colunas (título | apoio) */
.ir-head { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: var(--space-8); align-items: end; margin-bottom: var(--space-7); }
@media (max-width: 992px) { .ir-head { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); } }
/* cartões de área (como "Para levar ao comitê") */
.ir-coms { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-4); }
.ir-com { display: flex; flex-direction: column; gap: var(--space-3); margin: 0; padding: var(--space-6) var(--space-5); border-radius: var(--radius-md); background: var(--bg); border: 1px solid var(--border); transition: border-color .2s var(--ease-out), transform .2s var(--ease-out); }
.ir-com:hover { border-color: var(--color-gray-200); transform: translateY(-2px); }
.ir-com-a { font-size: 12px; line-height: 16px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: var(--color-purple); }
.ir-com-q { margin: 0; font-family: var(--font-display); font-weight: 700; font-size: 17px; line-height: 24px; color: var(--fg); }
.ir-com-r { margin: 0; font-size: 14px; line-height: 21px; color: var(--fg-body, var(--fg-muted)); }
@media (max-width: 1100px) { .ir-coms { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .ir-coms { grid-template-columns: minmax(0, 1fr); } }
/* verdades em colunas com traço no topo (como na trilha da home) */
.ir-truths { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-6); }
.ir-truths > div { padding-top: var(--space-5); border-top: 2px solid var(--fg); }
.ir-truths span { display: block; margin-bottom: var(--space-3); font-size: 12px; line-height: 16px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; color: #0E9F6A; }
.ir-truths h3 { margin: 0 0 var(--space-3); font-family: var(--font-display); font-weight: 700; font-size: 20px; line-height: 28px; color: var(--fg); }
.ir-truths p { margin: 0; font-size: 15px; line-height: 24px; color: var(--fg-body, var(--fg-muted)); }
@media (max-width: 992px) { .ir-truths { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-7) var(--space-6); } }
@media (max-width: 600px) { .ir-truths { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); } }
/* faixa de chamada (como a da trilha da home) */
.ir-cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-5); margin-top: var(--space-8); padding: var(--space-6) var(--space-7); border-radius: var(--radius-md); background: var(--bg-dark); color: var(--fg-on-dark); }
.ir-cta--soft { background: var(--bg-panel); color: var(--fg); border: 1px solid var(--border); }
.ir-cta-k { margin: 0 0 4px; font-size: 12px; line-height: 16px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; color: var(--color-green); }
.ir-cta--soft .ir-cta-k { color: #0B7A51; }
.ir-cta-t { margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); max-width: 60ch; font-size: 17px; line-height: 26px; font-weight: 500; }
@media (max-width: 600px) { .ir-cta { padding: var(--space-5); } .ir-cta .btn { width: 100%; justify-content: center; } }
/* quadro Hoje → Com a IMPACTO: linhas entram em sequência, a seta avança e a coluna verde se pinta */
.ir-ledger-foot .ir-cta-k { margin: 0 0 2px; font-size: 12px; line-height: 16px; font-weight: 700; }
.js .ir-ledger-row[data-rv] .ir-ledger-arrow svg { opacity: 0; transform: translateX(-12px); transition: opacity .4s var(--ease-out) .3s, transform .6s cubic-bezier(.16, 1, .3, 1) .3s; }
.js .ir-ledger-row[data-rv-in] .ir-ledger-arrow svg { opacity: 1; transform: none; }
.js .ir-ledger-row[data-rv] .ir-ledger-now { background: linear-gradient(rgba(26, 237, 159, .07), rgba(26, 237, 159, .07)) left / 0% 100% no-repeat; transition: background-size .9s cubic-bezier(.16, 1, .3, 1) .4s; }
.js .ir-ledger-row[data-rv-in] .ir-ledger-now { background-size: 100% 100%; }
.js .ir-ledger-row[data-rv] .ir-ledger-now h3 { opacity: 0; transform: translateX(16px); transition: opacity .5s var(--ease-out) .5s, transform .7s cubic-bezier(.16, 1, .3, 1) .5s; }
.js .ir-ledger-row[data-rv-in] .ir-ledger-now h3 { opacity: 1; transform: none; }
@media (max-width: 800px) { .js .ir-ledger-row[data-rv] .ir-ledger-now { background: none; } }
@media (prefers-reduced-motion: reduce) {
  .js .ir-ledger-row .ir-ledger-arrow svg, .js .ir-ledger-row .ir-ledger-now h3 { opacity: 1 !important; transform: none !important; }
  .js .ir-ledger-row .ir-ledger-now { background-size: 100% 100% !important; }
}

/* ---------- parte AO: hover de cartões no padrão da home ----------
   Sai o traço verde lateral que crescia no hover (mesmo padrão já removido
   dos cartões em repouso) e a subida de 6 px. Fica o hover dos cartões da
   home: sobe 2 px, sombra curta e borda um tom mais escura. */
.card::after, [data-card]::after { content: none !important; }
html .card:hover, html [data-card]:hover { transform: translateY(-2px); box-shadow: 0 14px 32px -14px rgba(20, 20, 42, .22); border-color: var(--border-strong); }
html .on-dark .card:hover, html .on-dark [data-card]:hover { box-shadow: 0 14px 32px -12px rgba(0, 0, 0, .5); }
@media (prefers-reduced-motion: reduce) { html .card:hover, html [data-card]:hover { transform: none; } }

/* ---------- parte AP: herói no padrão da home, reutilizável ----------
   data-ir-hero (seção escura) · data-ir-copy (texto em cascata) ·
   data-ir-title (34–52 px) · data-ir-hl (grifo que se pinta) ·
   data-ir-visual (formas com mola + moldura em cortina) ·
   data-ir-phases (painel de fases, como o slide ESG 360º da home) */
[data-ir-title] { margin: 0 0 var(--space-6); max-width: 18ch; font-family: var(--font-display); font-weight: 800; font-size: clamp(34px, 3.6vw, 52px); line-height: 1.15; letter-spacing: var(--tracking-display); text-wrap: balance; hyphens: none; color: var(--fg); }
[data-ir-hl] { padding: 0 .12em; border-radius: var(--radius-xs); background: linear-gradient(var(--color-green), var(--color-green)) left / 0% 100% no-repeat; color: var(--fg); box-decoration-break: clone; -webkit-box-decoration-break: clone; animation: ir-hl .6s cubic-bezier(.16, 1, .3, 1) .95s both; }
@keyframes ir-hl { to { background-size: 100% 100%; color: var(--color-gray-200); } }
[data-ir-copy] > * { animation: ir-in .8s cubic-bezier(.16, 1, .3, 1) both; }
[data-ir-copy] > :nth-child(1) { animation-delay: .18s; }
[data-ir-copy] > :nth-child(2) { animation-delay: .28s; }
[data-ir-copy] > :nth-child(3) { animation-delay: .40s; }
[data-ir-copy] > :nth-child(4) { animation-delay: .50s; }
[data-ir-copy] > :nth-child(5) { animation-delay: .58s; }
@keyframes ir-in { from { opacity: 0; transform: translateX(56px); filter: blur(6px); } to { opacity: 1; transform: none; filter: none; } }
[data-ir-ctas] { display: flex; flex-wrap: wrap; gap: var(--space-4); }
[data-ir-micro] { margin: var(--space-5) 0 0; max-width: 52ch; color: var(--color-gray-600); }
[data-ir-visual] { position: relative; width: 100%; min-height: clamp(300px, 30vw, 420px); display: flex; align-items: center; }
[data-ir-blob] { position: absolute; z-index: 0; animation: ir-blob 1s cubic-bezier(.34, 1.56, .64, 1) .35s both; }
[data-ir-blob="a"] { top: -32px; right: -28px; width: clamp(120px, 16vw, 208px); height: clamp(120px, 16vw, 208px); background: var(--color-green); border-radius: 62% 38% 54% 46% / 48% 56% 44% 52%; }
[data-ir-blob="b"] { bottom: -24px; left: -20px; width: clamp(72px, 9vw, 116px); height: clamp(72px, 9vw, 116px); border: 2px solid var(--color-green); border-radius: 46% 54% 42% 58% / 55% 45% 55% 45%; }
@keyframes ir-blob { from { opacity: 0; transform: scale(.4) rotate(-40deg); } to { opacity: 1; transform: none; } }
[data-ir-frame] { position: relative; z-index: 1; width: 100%; clip-path: inset(0 0 0 100% round var(--radius-md)); animation: ir-curtain .9s cubic-bezier(.77, 0, .18, 1) .1s forwards; }
@keyframes ir-curtain { to { clip-path: inset(0 0 0 0 round var(--radius-md)); } }
[data-ir-phases] { box-sizing: border-box; padding: var(--space-8); background: #2F2B45; border: 1px solid rgba(255, 255, 255, .10); border-radius: var(--radius-md); }
[data-ir-phases] .ir-k { margin-bottom: var(--space-5); color: var(--color-green); }
[data-ir-phases] ol { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-5); }
[data-ir-phases] li { display: grid; grid-template-columns: 44px 1fr; gap: var(--space-4); align-items: center; animation: ir-li .6s cubic-bezier(.16, 1, .3, 1) both; }
[data-ir-phases] li:nth-child(1) { animation-delay: .7s; }
[data-ir-phases] li:nth-child(2) { animation-delay: .85s; }
[data-ir-phases] li:nth-child(3) { animation-delay: 1s; }
@keyframes ir-li { from { opacity: 0; transform: translateX(24px); } to { opacity: 1; transform: none; } }
[data-ir-phases] b { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; border: 2px solid var(--color-green); color: var(--color-green); font-family: var(--font-display); font-weight: 800; box-sizing: border-box; }
[data-ir-phases] li:first-child b { background: var(--color-green); color: var(--color-gray-200); }
[data-ir-phases] strong { display: block; color: var(--fg-on-dark); font-weight: 600; font-size: 16px; line-height: 24px; }
[data-ir-phases] span { display: block; font-size: 14px; line-height: 20px; color: var(--color-gray-600); }
@media (max-width: 992px) { [data-ir-visual] { display: none; } }
@media (max-width: 600px) {
  [data-ir-hero] { padding-top: var(--space-6) !important; padding-bottom: var(--space-7) !important; }
  [data-ir-title] { font-size: 30px; margin-bottom: var(--space-4); }
  [data-ir-copy] .eyebrow { margin-bottom: var(--space-3) !important; }
  [data-ir-copy] .body-lg { margin-bottom: var(--space-5) !important; font-size: 17px; line-height: 26px; }
  [data-ir-ctas] { flex-direction: column; gap: var(--space-3); }
  [data-ir-ctas] .btn { justify-content: center; width: 100%; box-sizing: border-box; }
}
@media (prefers-reduced-motion: reduce) {
  [data-ir-copy] > *, [data-ir-blob], [data-ir-frame], [data-ir-phases] li, [data-ir-hl] { animation: none !important; }
  [data-ir-frame] { clip-path: none; }
  [data-ir-hl] { background-size: 100% 100%; color: var(--color-gray-200); }
}
/* faixa de chamada com contorno, para seções escuras */
.ir-cta--line { background: rgba(255, 255, 255, .04); border: 1px solid rgba(255, 255, 255, .12); color: var(--fg-on-dark); }
.ir-cta--line .ir-cta-t { font-size: 15px; line-height: 23px; color: var(--color-gray-600); }
/* célula de parceiro no cartão de autoridade */
.ir-trust-deep { width: 150px; }
@media (max-width: 1140px) { .ir-trust-deep { width: 132px; } }
@media (max-width: 600px) { .ir-trust-deep { width: 112px; } }
/* herói com foto (parte AQ) */
.ir-photo { height: clamp(300px, 30vw, 420px); }
.ir-photo .dc-frame { border-radius: var(--radius-md); }
[data-ir-frame] img { animation: ir-zoom 5.5s cubic-bezier(.2, .6, .3, 1) both; }
@keyframes ir-zoom { from { transform: scale(1.12); } to { transform: none; } }
@media (prefers-reduced-motion: reduce) { [data-ir-frame] img { animation: none; } }
/* quadro com resposta de uma linha */
.ir-ledger-now h3.ir-ledger-one { margin: 0; font-family: var(--font-body); font-weight: 500; font-size: 17px; line-height: 26px; }
.ir-ledger-now:has(.ir-ledger-one) { display: flex; align-items: center; }

/* ---------- parte AT: peças do herói e ferramenta sobreposta ---------- */
/* cartão flutuante no herói (registro, comprovante) com linhas em sequência */
.ir-float { position: absolute; z-index: 3; right: -18px; bottom: -26px; width: min(340px, 80%); margin: 0; padding: var(--space-4) var(--space-5); border-radius: var(--radius-md); background: rgba(20, 20, 42, .92); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); border: 1px solid rgba(255, 255, 255, .12); box-shadow: 0 20px 44px rgba(0, 0, 0, .4); animation: ir-up .6s cubic-bezier(.16, 1, .3, 1) 1s both; }
.ir-float figcaption { margin: 0 0 var(--space-3); font-size: 10px; line-height: 14px; font-weight: 700; letter-spacing: 1.4px; text-transform: uppercase; color: var(--color-gray-600); }
.ir-float dl { margin: 0; display: grid; gap: 7px; }
.ir-float dl > div { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 10px; align-items: baseline; animation: ir-up .5s cubic-bezier(.16, 1, .3, 1) both; }
.ir-float dl > div:nth-child(1) { animation-delay: 1.3s; }
.ir-float dl > div:nth-child(2) { animation-delay: 1.6s; }
.ir-float dl > div:nth-child(3) { animation-delay: 1.9s; }
.ir-float dl > div:nth-child(4) { animation-delay: 2.3s; }
.ir-float dt { font-size: 10px; line-height: 16px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: var(--color-gray-600); }
.ir-float dd { margin: 0; font-size: 13px; line-height: 18px; font-weight: 600; color: #fff; }
.ir-float .ir-mono { font-family: var(--font-mono, ui-monospace, monospace); color: var(--color-green); }
@keyframes ir-up { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
/* seção cuja ferramenta começa dentro da faixa escura do herói */
.ir-overlap { background: linear-gradient(to bottom, var(--bg-dark) 0, var(--bg-dark) 72px, var(--bg) 72px) !important; padding-top: var(--space-4) !important; }
.ir-lift { position: relative; z-index: 2; background: var(--bg) !important; border: 1px solid rgba(20, 20, 42, .08) !important; box-shadow: 0 1px 2px rgba(20, 20, 43, .06), 0 24px 56px -20px rgba(20, 20, 43, .28); border-radius: var(--radius-lg) !important; }
@media (max-width: 992px) { .ir-float { display: none; } }
@media (max-width: 600px) { .ir-overlap { background: linear-gradient(to bottom, var(--bg-dark) 0, var(--bg-dark) 40px, var(--bg) 40px) !important; } }
@media print { .ir-overlap { background: none !important; } .ir-lift { box-shadow: none; } }
@media (prefers-reduced-motion: reduce) { .ir-float, .ir-float dl > div { animation: none; } }
@media (max-width: 600px) { .ir-lift, .ir-lift-dark { padding: var(--space-5) !important; } }

/* ---- parte AY: títulos longos e fecho compacto ---- */
html [data-title-long] { font-size: clamp(28px, 2.5vw, 36px) !important; line-height: 1.15 !important; max-width: 28ch !important; }
@media (max-width: 576px) { html [data-title-long] { font-size: 24px !important; line-height: 1.2 !important; max-width: none !important; } }
html .ir-next-iso-t { display: grid; gap: 2px; line-height: 1.25; }
html .ir-next-iso-t b { white-space: nowrap; }
html .ir-next-iso-t small { font-size: 12px; line-height: 16px; opacity: .85; }
@media (max-width: 576px) {
  html [data-close-title] { font-size: 28px !important; line-height: 1.18 !important; }
  html [data-close-text] { font-size: 16px !important; line-height: 24px !important; }
}

/* ---- parte BH: faixa de prova sem a célula de canal ---- */
html .ir-trust-card--two { grid-template-columns: 1fr 1.3fr; }
@media (max-width: 1140px) { html .ir-trust-card--two .ir-trust-iso { grid-column: auto; order: 0; } }
@media (max-width: 600px) { html .ir-trust-card--two { grid-template-columns: minmax(0, 1fr); } }

/* ---- parte BJ: faixa de prova em 2 colunas, estreita e centralizada ---- */
html body .h2-trust-card--two, html body .ir-trust-card--two { max-width: 920px; margin-left: auto; margin-right: auto; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); }
html body .h2-trust-card--two .h2-trust-cell, html body .ir-trust-card--two .ir-trust-cell { min-height: 120px; padding: var(--space-5) var(--space-6); }
html body .h2-trust-card--two .h2-trust-clients, html body .ir-trust-card--two .ir-trust-cell:not(.ir-trust-iso) { align-items: center; text-align: center; }
html body .h2-trust-card--two .h2-trust-clients .h2-trust-logos, html body .ir-trust-card--two .ir-trust-cell:not(.ir-trust-iso) .ir-trust-logos { justify-content: center; }
html body .ir-trust-card--two .ir-trust-logos > a { flex: none; display: block; }
html body .ir-trust-card--two .ir-trust-pwc { width: 80px; max-width: none; margin: -16px -10px; }
@media (max-width: 600px) {
  html body .ir-trust-card--two .ir-trust-pwc { width: 60px; margin: -12px -8px; }
  html body .ir-trust-card--two .ir-trust-iso { order: -1; }
  html body .h2-trust-card--two, html body .ir-trust-card--two { grid-template-columns: minmax(0, 1fr); }
  html body .h2-trust-card--two .h2-trust-cell, html body .ir-trust-card--two .ir-trust-cell { min-height: 0; padding: var(--space-4); }
  html body .h2-trust-card--two .h2-trust-clients, html body .ir-trust-card--two .ir-trust-cell:not(.ir-trust-iso) { flex-direction: row; justify-content: space-between; text-align: left; }
}
