/* DataProof · site de marketing · mundo "Validation Gate"
   Campos de marinho-tinta, papel branco, menta = válido/CTA, vermelho = segregado.
   Telas do produto (.light dentro de .ink) continuam claras, como o app. */

:root {
  /* Paleta base */
  --ink: #051a31;
  --ink-2: #0a2542;
  --ink-3: #10325a;
  --ink-deep: #03111f;
  --navy: #023a6d;
  --navy-hover: #0b4a86;
  --navy-deep: #012a50;
  --mint: #33d6a8;
  --mint-hover: #62e3c0;
  --mint-press: #1fbf93;
  --mint-ink: #00735a;
  --red: #ff5d52;
  --red-ink: #c42b2b;
  --amber: #f6b93b;
  --amber-ink: #a45a00;
  --cobalt: #3366dd;

  --font: 'Archivo', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, 'SFMono-Regular', Menlo, Consolas, monospace;
  --display: 112.5%;

  --radius-sm: 6px;
  --radius: 10px;
  --radius-lg: 16px;
  --ease: cubic-bezier(.16, 1, .3, 1);

  --wrap: 1240px;
  --gutter: clamp(20px, 4vw, 40px);
  --section-y: clamp(80px, 10vw, 136px);

  /* Ícones (Lucide, traço 2) usados como máscara */
  --i-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
  --i-x: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E");
  --i-minus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M6 12h12'/%3E%3C/svg%3E");
  --i-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E");
  --i-play: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m10 8 6 4-6 4Z'/%3E%3C/svg%3E");
  --i-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  --i-shield: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");
}

/* ---------- Escopos de cor ----------
   :root/.light = papel; .ink = marinho-tinta. Componentes só leem os tokens abaixo. */
:root, .light {
  color-scheme: light;
  --bg: #ffffff;
  --bg-2: #f1f5f9;
  --surface: #ffffff;
  --surface-2: #f6f8fb;
  --line: #dde4ec;
  --line-strong: #c5d0dc;
  --text: #0a1a2c;
  --text-2: #3a4b5e;
  --muted: #5d6e83;
  --link: var(--navy);
  --link-hover: var(--cobalt);
  --focus: var(--cobalt);
  --accent-text: var(--navy);
  --cta-bg: var(--mint);
  --cta-fg: var(--ink);
  --cta-hover: var(--mint-hover);
  --cta-press: var(--mint-press);
  --ghost-line: var(--line-strong);
  --ghost-fg: var(--text);
  --ghost-hover: var(--navy);
  --ok-fg: var(--mint-ink); --ok-bg: #e3f6ef; --ok-line: #aee1d0;
  --alert-fg: var(--red-ink); --alert-bg: #fdecec; --alert-line: #f4c2c2;
  --warn-fg: var(--amber-ink); --warn-bg: #fdf3e2; --warn-line: #f1d49c;
  --info-fg: var(--navy); --info-bg: #e7edf4; --info-line: #d3dfeb;
  --neutral-fg: var(--muted); --neutral-bg: #f1f4f7; --neutral-line: var(--line);
  --shadow-sm: 0 1px 2px rgba(5, 26, 49, .06);
  --shadow: 0 1px 2px rgba(5, 26, 49, .05), 0 12px 32px -16px rgba(5, 26, 49, .22);
  --shadow-lg: 0 2px 6px rgba(5, 26, 49, .08), 0 32px 72px -28px rgba(5, 26, 49, .45);
}
.ink {
  color-scheme: dark;
  --bg: var(--ink);
  --bg-2: var(--ink-2);
  --surface: var(--ink-2);
  --surface-2: #0d2b4c;
  --line: rgba(163, 186, 214, .16);
  --line-strong: rgba(163, 186, 214, .32);
  --text: #ffffff;
  --text-2: #b6c5d8;
  --muted: #8a9fb9;
  --link: var(--mint);
  --link-hover: var(--mint-hover);
  --focus: var(--mint);
  --accent-text: var(--mint);
  --cta-bg: var(--mint);
  --cta-fg: var(--ink);
  --cta-hover: var(--mint-hover);
  --cta-press: var(--mint-press);
  --ghost-line: rgba(255, 255, 255, .34);
  --ghost-fg: #ffffff;
  --ghost-hover: #ffffff;
  --ok-fg: #6fe8c4; --ok-bg: rgba(51, 214, 168, .12); --ok-line: rgba(51, 214, 168, .38);
  --alert-fg: #ff9a92; --alert-bg: rgba(255, 93, 82, .14); --alert-line: rgba(255, 93, 82, .45);
  --warn-fg: #f8cd74; --warn-bg: rgba(246, 185, 59, .12); --warn-line: rgba(246, 185, 59, .4);
  --info-fg: #cfe0f5; --info-bg: rgba(163, 186, 214, .12); --info-line: rgba(163, 186, 214, .3);
  --neutral-fg: #b6c5d8; --neutral-bg: rgba(163, 186, 214, .08); --neutral-line: rgba(163, 186, 214, .22);
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);
  --shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 16px 40px -20px rgba(0, 0, 0, .6);
  --shadow-lg: 0 2px 6px rgba(0, 0, 0, .3), 0 40px 80px -32px rgba(0, 0, 0, .7);
  background-color: var(--bg);
  color: var(--text);
}

*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; scroll-padding-top: 88px; -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; animation: none !important; } }

body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: var(--font);
  font-size: 1.0625rem;
  font-weight: 400;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--link); text-underline-offset: 3px; text-decoration-thickness: 1px; font-weight: 600; }
a:hover { color: var(--link-hover); }
h1, h2, h3 { font-family: var(--font); color: var(--text); margin: 0 0 .5em; text-wrap: balance; }
h1 { font-stretch: var(--display); font-weight: 800; font-size: clamp(2.5rem, 5.6vw, 4.75rem); line-height: 1.02; letter-spacing: -0.035em; }
h1 em { font-style: normal; color: var(--accent-text); }
h2 { font-stretch: var(--display); font-weight: 800; font-size: clamp(2rem, 3.7vw, 3.15rem); line-height: 1.05; letter-spacing: -0.032em; max-width: 20ch; }
h2.h2-wide { max-width: 26ch; }
h3 { font-weight: 700; font-size: 1.2rem; line-height: 1.25; letter-spacing: -0.012em; }
p { margin: 0 0 1em; text-wrap: pretty; }
b, strong { font-weight: 700; }
code, .mono { font-family: var(--font-mono); font-size: .88em; font-weight: 400; letter-spacing: -0.01em; }
code { background: var(--info-bg); color: var(--info-fg); padding: .1em .35em; border-radius: 4px; }
:focus-visible { outline: 2px solid var(--focus); outline-offset: 3px; border-radius: 4px; }

.wrap { width: 100%; max-width: var(--wrap); margin: 0 auto; padding: 0 var(--gutter); }
.sr-only, .hp { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip { position: absolute; left: -999px; top: 8px; z-index: 100; background: var(--mint); color: var(--ink); padding: 8px 14px; border-radius: var(--radius-sm); }
.skip:focus { left: 8px; color: var(--ink); }

.ico { display: inline-block; flex: none; width: 1em; height: 1em; background: currentColor; -webkit-mask: var(--i) center / contain no-repeat; mask: var(--i) center / contain no-repeat; vertical-align: -.125em; }
.ico--check { --i: var(--i-check); }
.ico--arrow { --i: var(--i-arrow); }
.ico--x { --i: var(--i-x); }
.ico--shield { --i: var(--i-shield); }
.ico--play { --i: var(--i-play); width: 1.2em; height: 1.2em; vertical-align: -.25em; }

/* ---------- Tipografia utilitária ---------- */
.lead { font-size: clamp(1.1rem, 1.4vw, 1.3rem); color: var(--text-2); max-width: 52ch; line-height: 1.55; }
.body-lg { font-size: 1.15rem; color: var(--text-2); max-width: 62ch; line-height: 1.6; }
.narrow { max-width: 58ch; }
.note { font-size: .92rem; color: var(--muted); margin-top: 24px; max-width: 80ch; }
.note cite { font-style: normal; }
.pull {
  font-stretch: var(--display); font-weight: 800; font-size: clamp(1.4rem, 2.4vw, 1.9rem); letter-spacing: -0.025em;
  line-height: 1.2; margin: 56px 0 0; max-width: 34ch; color: var(--text); text-wrap: balance;
  padding-top: 24px; border-top: 2px solid var(--text);
}
.pull--center { margin: 72px auto 0; text-align: center; max-width: 36ch; color: var(--muted); border-top: 0; padding-top: 0; }
.pull--center span { color: var(--text); display: block; }
.h3-section { font-stretch: var(--display); font-weight: 800; font-size: clamp(1.35rem, 2vw, 1.6rem); letter-spacing: -0.02em; margin: 80px 0 24px; }
.doc-meta { font-size: .92rem; color: var(--muted); font-weight: 600; margin-bottom: 16px; }

/* ---------- Botões ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 48px; padding: 12px 22px; border-radius: var(--radius-sm); border: 1px solid transparent;
  font-family: var(--font); font-weight: 700; font-size: 1rem; line-height: 1.2; letter-spacing: -0.005em;
  text-decoration: none; cursor: pointer; white-space: nowrap;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease, box-shadow .2s ease, transform .2s var(--ease);
}
.btn .ico { transition: transform .25s var(--ease); }
.btn:hover .ico--arrow { transform: translateX(4px); }
.btn--primary { background: var(--cta-bg); color: var(--cta-fg); box-shadow: var(--shadow-sm); }
.btn--primary:hover { background: var(--cta-hover); color: var(--cta-fg); }
.btn--primary:active { background: var(--cta-press); transform: translateY(1px); }
.btn--ghost { border-color: var(--ghost-line); color: var(--ghost-fg); background: transparent; }
.btn--ghost:hover { border-color: var(--ghost-hover); color: var(--ghost-hover); }
.btn--dark, .lead-form .btn--primary, .guide-form .btn--primary { background: var(--mint); color: var(--ink); }
.btn--dark:hover, .lead-form .btn--primary:hover, .guide-form .btn--primary:hover { background: var(--mint-hover); color: var(--ink); }
.btn--dark:active, .lead-form .btn--primary:active, .guide-form .btn--primary:active { background: var(--mint-press); }
.btn--text { padding-left: 4px; padding-right: 4px; color: var(--text); background: transparent; }
.btn--text:hover { color: var(--link); }
.btn--lg { min-height: 56px; padding: 14px 26px; font-size: 1.05rem; }
.btn--sm { min-height: 40px; padding: 8px 16px; font-size: .9rem; }
.btn--block { width: 100%; }
.btn[disabled] { opacity: .5; cursor: not-allowed; transform: none; }
.cta-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 36px; }
.cta-row--center { justify-content: center; }
.link-arrow { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; text-decoration: none; color: var(--link); }
.link-arrow .ico { transition: transform .25s var(--ease); }
.link-arrow:hover .ico { transform: translateX(4px); }

/* ---------- Faixa de urgência ---------- */
.urgency { background: var(--navy); color: #fff; font-size: .9rem; }
.urgency__inner { display: flex; align-items: center; justify-content: center; gap: 6px 20px; min-height: 44px; padding-top: 8px; padding-bottom: 8px; flex-wrap: wrap; text-align: center; }
.urgency p { margin: 0; color: #c9d8ea; }
.urgency strong { color: #fff; font-variant-numeric: tabular-nums; }
.urgency__link { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; color: var(--mint); text-decoration: none; white-space: nowrap; }
.urgency__link:hover { color: var(--mint-hover); }
.urgency__link .ico { transition: transform .25s var(--ease); }
.urgency__link:hover .ico { transform: translateX(3px); }
.urgency :focus-visible { outline-color: var(--mint); }
.pill { display: inline-block; font-weight: 700; font-size: .7rem; letter-spacing: .04em; text-transform: uppercase; padding: 2px 9px; border-radius: 999px; background: var(--mint); color: var(--ink); margin-right: 8px; vertical-align: 1px; }

/* ---------- Menu ---------- */
.nav { position: sticky; top: 0; z-index: 50; background: var(--ink); border-bottom: 1px solid var(--line); }
.nav__inner { display: flex; align-items: center; gap: 24px; min-height: 72px; }
.brand { display: flex; align-items: center; gap: 14px; text-decoration: none; margin-right: auto; }
.brand img { width: 84px; height: auto; }
.brand__product { font-stretch: var(--display); font-weight: 800; font-size: 1.1rem; letter-spacing: -0.02em; color: var(--text); padding-left: 14px; border-left: 1px solid var(--line-strong); line-height: 1.6; }
.nav__links { display: flex; gap: 2px; list-style: none; margin: 0; padding: 0; }
.nav__links a { display: block; padding: 8px 12px; border-radius: var(--radius-sm); color: var(--text-2); text-decoration: none; font-weight: 600; font-size: .95rem; transition: color .15s, background-color .15s; }
.nav__links a:hover { color: var(--text); background: rgba(163, 186, 214, .1); }
.nav__toggle { display: none; background: none; border: 0; padding: 10px; cursor: pointer; border-radius: var(--radius-sm); }
.nav__toggle span { display: block; width: 22px; height: 2px; background: var(--text); margin: 5px 0; border-radius: 2px; transition: transform .2s, opacity .2s; }

@media (max-width: 980px) {
  .nav__toggle { display: block; order: 3; }
  .nav__cta { order: 2; }
  .nav nav { order: 4; width: 100%; }
  .nav__inner { flex-wrap: wrap; gap: 12px; }
  .nav__links { display: none; flex-direction: column; padding-bottom: 12px; }
  .nav__links.is-open { display: flex; }
  .nav__links a { padding: 12px; }
  .nav__toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .nav__toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .nav__toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
}
@media (max-width: 480px) {
  .nav__cta { display: none; }
  .brand img { width: 72px; }
  .brand__product { font-size: 1rem; }
}

/* ---------- Quem confia na Better Now (logos brancos, sobre fundo escuro) ---------- */
.clients { margin-top: clamp(40px, 5vw, 64px); padding-top: 28px; border-top: 1px solid var(--line); }
.clients__title { margin: 0 0 12px; text-align: center; font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.clients__viewport { display: flex; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.clients__track { flex: none; display: flex; align-items: center; gap: clamp(24px, 4vw, 56px); margin: 0; padding: 0 clamp(12px, 2vw, 28px); list-style: none; animation: clients-scroll 45s linear infinite; }
.clients__track img { display: block; width: clamp(96px, 10vw, 132px); height: auto; opacity: .85; }
.clients__viewport:hover .clients__track { animation-play-state: paused; }
@keyframes clients-scroll { to { transform: translateX(-100%); } }
@media (prefers-reduced-motion: reduce) {
  .clients__viewport { -webkit-mask-image: none; mask-image: none; }
  .clients__track { flex: 1; flex-wrap: wrap; justify-content: center; animation: none; }
  .clients__track[aria-hidden] { display: none; }
}

/* ---------- Seções ---------- */
.section { padding: var(--section-y) 0; position: relative; background: var(--bg); }
.section--mist, .section--paper { background: var(--bg-2); }
.section--deep, .section--surface { background: var(--bg); }
.section__head { max-width: 820px; margin-bottom: clamp(40px, 5vw, 64px); }
.section__head > p:last-child { margin-bottom: 0; }
.section__head--center { margin-left: auto; margin-right: auto; text-align: center; }
.section__head--center h2, .section__head--center p { margin-left: auto; margin-right: auto; }

/* ---------- Hero ---------- */
.hero { padding: clamp(40px, 5vw, 64px) 0 clamp(56px, 6vw, 88px); position: relative; overflow: hidden; }
.hero__title { max-width: 22ch; margin-bottom: 0; font-size: clamp(2.5rem, 5vw, 4.3rem); }
.hero__title > span, .hero__title > em { display: block; }
.hero__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(40px, 5vw, 80px); align-items: start; margin-top: clamp(28px, 3vw, 40px); }
.hero__copy .lead { margin-bottom: 0; }
.hero__copy .cta-row { margin-top: 32px; }
.hero__note { margin: 16px 0 0; font-size: .92rem; color: var(--muted); }
.assurances { display: flex; flex-wrap: wrap; gap: 10px 22px; list-style: none; padding: 20px 0 0; margin: 28px 0 0; font-size: .92rem; color: var(--text-2); font-weight: 600; border-top: 1px solid var(--line); }
.assurances li { display: inline-flex; align-items: center; gap: 8px; }
.assurances li::before { content: ""; width: 16px; height: 16px; flex: none; background: var(--ok-fg); -webkit-mask: var(--i-check) center / contain no-repeat; mask: var(--i-check) center / contain no-repeat; }

.hero--split .hero__grid { margin-top: 0; grid-template-columns: minmax(0, 1.1fr) minmax(0, 520px); align-items: center; }
.hero--split h1 { font-size: clamp(2rem, 3.1vw, 2.85rem); line-height: 1.06; max-width: 24ch; }
.hero--split .cta-row { flex-wrap: nowrap; }
@media (max-width: 1180px) { .hero--split .cta-row { flex-wrap: wrap; } }
.hero--split .lead { max-width: 56ch; margin-top: 8px; }
.hero--compact { padding-bottom: clamp(56px, 7vw, 96px); }
.hero--compact h1 { max-width: 18ch; }
.hero--compact .lead { max-width: 60ch; }

/* ---------- Execução no herói (tela do produto) ---------- */
.run { margin: 0; background: var(--surface); color: var(--text); border: 1px solid var(--line); border-radius: var(--radius-lg); box-shadow: 0 0 0 1px rgba(255, 255, 255, .06), 0 40px 90px -30px rgba(0, 0, 0, .75); overflow: hidden; font-size: .85rem; }
.run__bar { display: flex; align-items: center; gap: 12px; padding: 14px 18px; border-bottom: 1px solid var(--line); }
.run__file { width: 36px; height: 36px; border-radius: 8px; background: var(--info-bg); color: var(--navy); display: grid; place-items: center; flex: none; }
.run__file svg { width: 20px; height: 20px; }
.run__title { margin-right: auto; min-width: 0; }
.run__title b { display: block; font-size: .95rem; }
.run__title small { display: block; font-size: .76rem; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.run__status { display: grid; }
.run__status > * { grid-area: 1 / 1; justify-self: end; }
.run__status-live { opacity: 0; }
.run__kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border-bottom: 1px solid var(--line); background: var(--surface-2); }
.kpi { padding: 12px 18px; display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.kpi + .kpi { border-left: 1px solid var(--line); }
.kpi__label { color: var(--muted); font-size: .74rem; font-weight: 600; line-height: 1.3; }
.kpi__value { font-stretch: var(--display); font-weight: 800; font-size: 1.45rem; letter-spacing: -0.03em; color: var(--text); font-variant-numeric: tabular-nums; line-height: 1.3; }
.kpi__sub { font-size: .74rem; color: var(--muted); }
.kpi--alert .kpi__value { color: var(--red-ink); }
.meter { display: block; height: 6px; border-radius: 999px; background: var(--line); margin-top: 8px; overflow: hidden; }
.meter__fill { display: block; height: 100%; background: var(--mint-ink); border-radius: 999px; transform-origin: left; }
.meter__fill--86 { width: 86%; background: var(--navy); }
.meter__fill--99 { width: 99%; }

.stream { list-style: none; margin: 0; padding: 10px 12px; display: grid; gap: 2px; position: relative; overflow: hidden; }
.stream li { display: grid; grid-template-columns: .75fr 1.15fr 1.1fr 1.15fr 92px; gap: 10px; align-items: center; padding: 6px 8px; border-radius: 6px; font-size: .78rem; }
.stream li > span:nth-child(4) { color: var(--text-2); }
.stream li > .tag { justify-self: start; }
.stream .stream__head { padding-top: 4px; padding-bottom: 4px; font-size: .68rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.stream .is-flag { background: var(--alert-bg); box-shadow: inset 0 0 0 1px var(--alert-line); }
.stream .is-flag .mono:nth-child(3) { color: var(--red-ink); font-weight: 500; }
.stream .is-warn { background: var(--warn-bg); box-shadow: inset 0 0 0 1px var(--warn-line); }

.lanes { display: grid; gap: 8px; padding: 14px 18px; border-top: 1px solid var(--line); }
.lane { margin: 0; display: grid; grid-template-columns: 180px 1fr 84px; gap: 12px; align-items: center; font-size: .8rem; font-weight: 600; }
.lane__name { color: var(--text-2); }
.lane__bar { height: 8px; border-radius: 999px; background: var(--neutral-bg); overflow: hidden; }
.lane__bar i { display: block; height: 100%; border-radius: 999px; transform-origin: left; }
.lane--ok .lane__bar i { width: 100%; background: var(--mint); }
.lane--alert .lane__bar i { width: 6px; background: var(--red); }
.lane b { text-align: right; font-variant-numeric: tabular-nums; font-stretch: var(--display); font-weight: 800; font-size: .95rem; }
.lane--alert b { color: var(--red-ink); }
.run__foot { margin: 0; padding: 0 18px 14px; font-size: .76rem; color: var(--muted); display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.run figcaption, .panel figcaption { font-size: .72rem; color: var(--muted); text-align: right; padding: 8px 16px 10px; background: var(--surface-2); border-top: 1px solid var(--line); }

/* O único momento autoral: a execução passa pelos registros e separa o que está errado */
@keyframes run-scan { 0% { transform: translateY(-110%); opacity: 0; } 10% { opacity: 1; } 90% { opacity: 1; } 100% { transform: translateY(110%); opacity: 0; } }
@keyframes row-in { from { opacity: .3; transform: translateY(6px); } }
@keyframes row-flag { from { background: transparent; box-shadow: inset 0 0 0 1px transparent; } }
@keyframes tag-settle { 0% { transform: scale(.8); opacity: 0; } 100% { transform: none; opacity: 1; } }
@keyframes grow { from { transform: scaleX(0); } }
@keyframes live-out { 0%, 80% { opacity: 1; } 100% { opacity: 0; } }
@keyframes done-in { 0%, 80% { opacity: 0; } 100% { opacity: 1; } }
.run .stream::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 100%; pointer-events: none; background: linear-gradient(180deg, transparent 0%, rgba(51, 214, 168, .08) 42%, rgba(51, 214, 168, .28) 50%, transparent 52%); animation: run-scan 2s ease-in-out .3s both; }
.run .stream li:not(.stream__head) { animation: row-in .6s var(--ease) both; }
.run .stream li:nth-child(2) { animation-delay: .35s; }
.run .stream li:nth-child(3) { animation-delay: .6s, 1s; }
.run .stream li:nth-child(4) { animation-delay: .85s; }
.run .stream li:nth-child(5) { animation-delay: 1.1s, 1.5s; }
.run .stream li:nth-child(6) { animation-delay: 1.35s, 1.75s; }
.run .stream li:nth-child(7) { animation-delay: 1.6s; }
.run .stream .is-flag, .run .stream .is-warn { animation-name: row-in, row-flag; animation-duration: .6s, .5s; animation-timing-function: var(--ease), ease-out; animation-fill-mode: both, both; }
.run .stream li:not(.stream__head) .tag { animation: tag-settle .45s var(--ease) both; }
.run .stream li:nth-child(2) .tag { animation-delay: .75s; }
.run .stream li:nth-child(3) .tag { animation-delay: 1s; }
.run .stream li:nth-child(4) .tag { animation-delay: 1.25s; }
.run .stream li:nth-child(5) .tag { animation-delay: 1.5s; }
.run .stream li:nth-child(6) .tag { animation-delay: 1.75s; }
.run .stream li:nth-child(7) .tag { animation-delay: 2s; }
.run .lane__bar i { animation: grow 1.2s var(--ease) 2.1s both; }
.run .lane--alert .lane__bar i { animation-delay: 2.3s; }
.run .run__status-live { animation: live-out 2.6s linear both; }
.run .run__status-done { animation: done-in 2.6s linear both; }
.run .run__foot .tag { animation: tag-settle .5s var(--ease) 2.6s both; }

/* ---------- Painel ilustrativo (RC 18) ---------- */
.panel { margin: 0; background: var(--surface); color: var(--text); border: 1px solid var(--line); border-radius: var(--radius-lg); box-shadow: 0 0 0 1px rgba(255, 255, 255, .06), 0 40px 90px -30px rgba(0, 0, 0, .75); overflow: hidden; font-size: .85rem; }
.panel__bar { display: flex; align-items: center; gap: 12px; padding: 14px 18px; border-bottom: 1px solid var(--line); font-weight: 700; font-size: .9rem; }
.panel__bar > span:nth-child(2) { margin-right: auto; }
.panel__body { padding: 18px; background: var(--surface-2); }
.panel__kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 18px; }
.panel__kpis .kpi { background: var(--surface); border: 1px solid var(--line); border-radius: 8px; padding: 12px 14px; }
.panel__kpis .kpi + .kpi { border-left: 1px solid var(--line); }
.kpi__value--warn { color: var(--amber-ink) !important; }
.panel__label { font-size: .7rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); margin: 0 0 8px; }
.dims { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; list-style: none; padding: 0; margin: 0 0 8px; }
.dim { position: relative; padding: 6px 8px 6px 22px; border-radius: var(--radius-sm); background: var(--surface); border: 1px solid var(--line); font-size: .76rem; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dim::before, .dims__legend i { content: ""; width: 8px; height: 8px; border-radius: 50%; display: inline-block; }
.dim::before { position: absolute; left: 9px; top: 50%; transform: translateY(-50%); }
.dim--m::before, .dims__legend .dim--m { background: var(--mint-ink); }
.dim--e::before, .dims__legend .dim--e { background: var(--cobalt); }
.dim--a::before, .dims__legend .dim--a { background: var(--amber); }
.dims__legend { display: flex; gap: 14px; align-items: center; font-size: .74rem; color: var(--muted); margin: 0 0 16px; }
.dims__legend i { margin-right: -8px; }
.exceptions { list-style: none; padding: 0; margin: 0; display: grid; gap: 6px; }
.exceptions li { display: grid; grid-template-columns: 1.3fr 1fr auto; gap: 10px; align-items: center; padding: 9px 12px; border-radius: var(--radius-sm); background: var(--surface); border: 1px solid var(--line); font-size: .76rem; }
.exceptions li > span:nth-child(2) { color: var(--muted); }
.panel--run .meter__fill { animation: grow 1.6s var(--ease) .3s both; }

/* Badge */
.tag { display: inline-flex; align-items: center; gap: 4px; font-family: var(--font); font-size: .72rem; font-weight: 700; padding: 2px 9px; border-radius: 999px; white-space: nowrap; border: 1px solid transparent; line-height: 1.5; letter-spacing: 0; }
.tag--ok { background: var(--ok-bg); color: var(--ok-fg); border-color: var(--ok-line); }
.tag--warn { background: var(--warn-bg); color: var(--warn-fg); border-color: var(--warn-line); }
.tag--alert { background: var(--alert-bg); color: var(--alert-fg); border-color: var(--alert-line); }
.tag--info { background: var(--info-bg); color: var(--info-fg); border-color: var(--info-line); }
.tag--neutral { background: var(--neutral-bg); color: var(--neutral-fg); border-color: var(--neutral-line); }

/* Resultados de clientes */
.results { margin-top: clamp(72px, 8vw, 112px); }
.results__who { font-size: .95rem; color: var(--text-2); margin: 0 0 24px; max-width: 92ch; }
.results__who b { color: var(--text); }
.results__list { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line-strong); }
.results__list li { padding: 28px 28px 4px 0; display: flex; flex-direction: column; gap: 6px; }
.results__list li + li { padding-left: 28px; border-left: 1px solid var(--line); }
.results__ctx { font-size: .85rem; font-weight: 600; color: var(--muted); }
.results__list strong { display: flex; align-items: center; gap: .2em; font-stretch: var(--display); font-weight: 800; font-size: clamp(2.2rem, 3.6vw, 3.25rem); letter-spacing: -0.04em; line-height: 1; color: var(--text); font-variant-numeric: tabular-nums; margin: 4px 0 6px; }
.results__list strong .ico { width: .6em; height: .6em; color: var(--accent-text); }
.results__list li > span:last-child { font-size: .95rem; color: var(--text-2); line-height: 1.5; }
.results__cap { margin: 24px 0 0; font-size: .82rem; color: var(--muted); }

/* Faixa de prova antiga, mantida para páginas internas */
.proof-strip { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line-strong); }
.proof-strip li { padding: 24px 24px 4px 0; display: flex; flex-direction: column; gap: 8px; }
.proof-strip li + li { padding-left: 24px; border-left: 1px solid var(--line); }
.proof-strip strong { font-stretch: var(--display); font-weight: 800; font-size: clamp(2rem, 3.2vw, 2.8rem); letter-spacing: -0.04em; color: var(--text); line-height: 1; font-variant-numeric: tabular-nums; display: flex; align-items: center; gap: .2em; }
.proof-strip strong .ico { width: .6em; height: .6em; color: var(--accent-text); }
.proof-strip li > span { font-size: .92rem; color: var(--text-2); line-height: 1.5; }
.proof__cap { margin: 20px 0 0; font-size: .82rem; color: var(--muted); }

@media (max-width: 1080px) {
  .hero__grid, .hero--split .hero__grid { grid-template-columns: 1fr; }
  .hero .run, .hero .panel { max-width: 720px; }
  .results__list, .proof-strip { grid-template-columns: repeat(2, 1fr); }
  .results__list li:nth-child(3), .proof-strip li:nth-child(3) { padding-left: 0; border-left: 0; }
  .results__list li:nth-child(n+3), .proof-strip li:nth-child(n+3) { border-top: 1px solid var(--line); margin-top: 24px; }
}
@media (max-width: 600px) {
  .run__kpis { grid-template-columns: 1fr 1fr; }
  .run__kpis .kpi:last-child { grid-column: 1 / -1; border-left: 0; border-top: 1px solid var(--line); }
  .stream li { grid-template-columns: .8fr 1.2fr 88px; }
  .stream li > span:nth-child(3), .stream li > span:nth-child(4) { display: none; }
  .lane { grid-template-columns: 1fr auto; }
  .compare__record { padding: 16px 18px; gap: 10px 12px; }
  .compare__record dt { font-size: .76rem; }
  .compare__record dd { font-size: .84rem; }
  .compare__head, .compare__verdict { padding-left: 18px; padding-right: 18px; }
  .lane__bar { grid-column: 1 / -1; grid-row: 2; }
  .panel__kpis { grid-template-columns: 1fr 1fr; }
  .panel__kpis .kpi:last-child { grid-column: 1 / -1; }
  .dims { grid-template-columns: repeat(2, 1fr); }
  .exceptions li { grid-template-columns: 1fr auto; }
  .exceptions li > span:nth-child(2) { display: none; }
  .results__list, .proof-strip { grid-template-columns: 1fr; }
  .results__list li, .results__list li + li, .proof-strip li, .proof-strip li + li { padding: 20px 0 0; border-left: 0; }
  .results__list li + li, .proof-strip li + li { border-top: 1px solid var(--line); margin-top: 20px; }
}

/* ---------- Problema: o mesmo registro, duas validações ---------- */
.compare { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.compare__col { background: var(--surface-2); border: 1px solid var(--line); border-radius: var(--radius-lg); overflow: hidden; display: flex; flex-direction: column; }
.compare__col--us { border-color: var(--ink); box-shadow: 0 32px 64px -32px rgba(5, 26, 49, .55); }
.compare__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 24px; border-bottom: 1px solid var(--line); }
.compare__head b { font-size: 1.05rem; }
.compare__record { margin: 0; padding: 20px 24px; display: grid; grid-template-columns: auto 1fr auto; gap: 12px 20px; align-items: center; }
.compare__record > div { display: contents; }
.compare__record dt { font-family: var(--font-mono); color: var(--muted); font-size: .85rem; }
.compare__record dd { margin: 0; font-family: var(--font-mono); font-size: .92rem; white-space: nowrap; }
.compare__verdict { margin: auto 0 0; padding: 18px 24px; border-top: 1px solid var(--line); display: flex; gap: 12px; align-items: flex-start; font-size: .98rem; }
.compare__verdict .ico { width: 20px; height: 20px; margin-top: 2px; }
.compare__verdict--pass { color: var(--text-2); }
.compare__verdict--pass .ico { color: var(--ok-fg); }
.compare__verdict--catch { background: var(--alert-bg); color: var(--text); border-top-color: var(--alert-line); }
.compare__verdict--catch .ico { color: var(--alert-fg); }
.row-flag { color: var(--alert-fg); background: var(--alert-bg); border-radius: 4px; box-shadow: 0 0 0 4px var(--alert-bg); }
.trio { list-style: none; padding: 0; margin: 64px 0 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; }
.trio li { padding: 24px 32px 0 0; border-top: 2px solid var(--text); }
.trio li + li { padding-left: 32px; }
.trio h3 { margin-bottom: 8px; }
.trio p { color: var(--text-2); margin: 0; }
@media (max-width: 860px) {
  .compare { grid-template-columns: 1fr; }
  .trio { grid-template-columns: 1fr; gap: 28px; }
  .trio li, .trio li + li { padding: 20px 0 0; }
}

/* ---------- Fluxo: firewall entre origem e sistema crítico ---------- */
.flow { display: grid; grid-template-columns: 1fr 56px 1.2fr 56px 1.15fr; align-items: stretch; }
.flow__col { display: flex; flex-direction: column; gap: 12px; justify-content: center; }
.flow__label { font-size: .75rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); margin: 0; }
.flow__list { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.flow__list li { font-size: .95rem; font-weight: 600; padding: 12px 16px; border-radius: var(--radius); background: var(--surface); border: 1px solid var(--line); display: flex; align-items: center; gap: 10px; }
.flow__list--out li::before { content: ""; width: 10px; height: 10px; border-radius: 50%; flex: none; background: var(--muted); }
.flow__list--out .is-ok::before { background: var(--mint-ink); }
.flow__list--out .is-alert { border-color: var(--alert-line); background: var(--alert-bg); }
.flow__list--out .is-alert::before { background: var(--red-ink); }
.flow__list--out .is-info::before { background: var(--navy); }
.flow__pipe { display: grid; place-items: center; color: var(--text); position: relative; }
.flow__pipe::before { content: ""; position: absolute; left: 6px; right: 14px; top: 50%; height: 2px; background: var(--line-strong); }
.flow__pipe .ico { position: relative; width: 22px; height: 22px; margin-left: auto; margin-right: 2px; }
.flow__gate { border-radius: var(--radius-lg); padding: 32px; display: flex; flex-direction: column; justify-content: center; gap: 14px; box-shadow: 0 32px 64px -32px rgba(5, 26, 49, .6); }
.flow__name { margin: 0; font-stretch: var(--display); font-weight: 800; font-size: 1.05rem; letter-spacing: -0.01em; color: var(--mint); }
.flow__core { margin: 0; font-stretch: var(--display); font-weight: 700; font-size: 1.35rem; line-height: 1.25; letter-spacing: -0.02em; color: var(--text); }
.flow__tags { margin: 4px 0 0; display: flex; flex-wrap: wrap; gap: 6px; }
@media (max-width: 960px) {
  .flow { grid-template-columns: 1fr; }
  .flow__pipe { height: 48px; }
  .flow__pipe::before { left: 50%; right: auto; top: 4px; bottom: 12px; width: 2px; height: auto; }
  .flow__pipe .ico { margin: auto 0 0; transform: rotate(90deg); }
}

/* Camadas em linhas (home) */
.layers-rows { list-style: none; padding: 0; margin: 72px 0 0; border-top: 2px solid var(--text); }
.layers-rows > li { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 440px); gap: 16px 64px; align-items: center; padding: 36px 0; border-bottom: 1px solid var(--line); }
.layers-rows h3 { font-stretch: var(--display); font-weight: 800; font-size: clamp(1.35rem, 2vw, 1.65rem); letter-spacing: -0.025em; margin-bottom: 8px; }
.layers-rows p { color: var(--text-2); margin: 0; max-width: 58ch; }
.mono-box { margin: auto 0 0; padding: 16px 20px; border-radius: var(--radius); background: #ffffff; border: 1px solid #dde4ec; box-shadow: 0 1px 2px rgba(5, 26, 49, .05), 0 12px 32px -18px rgba(5, 26, 49, .25); font-family: var(--font-mono); font-size: .8rem; line-height: 1.8; color: #0a1a2c; white-space: pre; overflow-x: auto; }
.layers-rows .mono-box { margin: 0; }
.mono-box[data-title]::before { content: attr(data-title); display: block; margin: -16px -20px 12px; padding: 9px 20px; border-bottom: 1px solid #dde4ec; background: #f6f8fb; font-family: var(--font); font-size: .72rem; font-weight: 700; color: #5d6e83; border-radius: var(--radius) var(--radius) 0 0; }
.mono-box--inset { background: #f6f8fb; box-shadow: none; }
@media (max-width: 900px) { .layers-rows > li { grid-template-columns: 1fr; } }

/* ---------- Virada de chave (RC 18) ---------- */
.split { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 5vw, 72px); align-items: start; margin-top: 24px; }
.timeline { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0; border-top: 2px solid var(--text); }
.timeline li { padding: 16px 16px 16px 0; display: flex; flex-direction: column; border-bottom: 1px solid var(--line); }
.timeline li:nth-child(even) { padding-left: 16px; border-left: 1px solid var(--line); }
.timeline span { font-size: .85rem; color: var(--muted); font-weight: 600; }
.timeline b { font-stretch: var(--display); font-weight: 800; font-size: 1.6rem; letter-spacing: -0.03em; color: var(--text); }
.timeline small { font-family: var(--font-mono); font-size: .74rem; color: var(--muted); }
.versus { display: grid; grid-template-columns: 1fr auto 1fr; gap: 20px; align-items: stretch; margin-top: 64px; }
.versus__card { border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 32px; background: var(--surface-2); }
.versus__card h3 { font-stretch: var(--display); font-weight: 800; font-size: clamp(1.6rem, 2.6vw, 2.1rem); letter-spacing: -0.03em; }
.versus__card p:last-child { margin: 0; color: var(--text-2); }
.versus__card--accent { background: var(--ink); border-color: var(--ink); }
.versus__card--accent h3 { color: #fff; }
.versus__card--accent p:last-child { color: #b6c5d8; }
.versus__tag { font-size: .85rem; font-weight: 600; color: var(--muted); }
.versus__card--accent .versus__tag { color: var(--mint); }
.versus__arrow { align-self: center; color: var(--text); display: grid; place-items: center; }
.versus__arrow .ico { width: 28px; height: 28px; }
@media (max-width: 800px) {
  .split { grid-template-columns: 1fr; }
  .versus { grid-template-columns: 1fr; }
  .versus__arrow { transform: rotate(90deg); justify-self: center; }
}

/* ---------- Cenário (RC 18) ---------- */
.scenario { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(32px, 5vw, 72px); align-items: start; }
.scenario h2 { max-width: 24ch; }
.needs { list-style: none; counter-reset: n; padding: 0; margin: 32px 0 0; display: grid; gap: 12px; }
.needs li { counter-increment: n; display: grid; grid-template-columns: 48px 1fr; column-gap: 14px; align-items: baseline; }
.needs li::before { content: counter(n); grid-row: span 2; width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--line-strong); color: var(--accent-text); display: grid; place-items: center; font-weight: 800; font-size: .9rem; }
.needs b { font-size: 1.1rem; }
.needs span { color: var(--text-2); }
.needs--plain li::before { display: none; }
input[type="checkbox"] { width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--navy); cursor: pointer; }
@media (max-width: 900px) { .scenario { grid-template-columns: 1fr; } }
.scenario--single { grid-template-columns: 1fr; }
.scenario--single h2 { max-width: 28ch; }
.scenario--single .needs { grid-template-columns: repeat(3, 1fr); gap: 0; margin-top: 48px; border-top: 1px solid var(--line-strong); }
.scenario--single .needs li { padding: 24px 24px 0 0; grid-template-columns: 1fr; }
.scenario--single .needs li + li { padding-left: 24px; border-left: 1px solid var(--line); }
.scenario--single .needs li::before { margin-bottom: 16px; }
.scenario--single .needs--plain li { grid-template-columns: 1fr; }
@media (max-width: 800px) {
  .scenario--single .needs { grid-template-columns: 1fr; }
  .scenario--single .needs li, .scenario--single .needs li + li { padding: 20px 0; border-left: 0; }
  .scenario--single .needs li + li { border-top: 1px solid var(--line); }
}

/* ---------- Tabelas ---------- */
.table-wrap { overflow-x: auto; margin-top: 32px; border-radius: var(--radius-lg); border: 1px solid var(--line); background: var(--surface); -webkit-overflow-scrolling: touch; }
.table { width: 100%; border-collapse: collapse; font-size: .98rem; min-width: 560px; }
.table th, .table td { padding: 18px 22px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--line); }
.table thead th { font-size: .74rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); background: var(--surface-2); }
.table tbody tr:last-child > * { border-bottom: 0; }
.table td { color: var(--text-2); }
.table td b { color: var(--text); }
.table td small { display: block; font-family: var(--font-mono); font-size: .74rem; color: var(--muted); margin-top: 4px; }
.table th[scope="row"] { font-weight: 700; color: var(--text); width: 18%; }
.table .is-us { background: #ecf8f4; color: var(--text); font-weight: 600; }
.table thead .is-us { color: var(--mint); background: var(--ink); }
.table--dark td:first-child { width: 38%; color: var(--text); font-weight: 600; }
.table--dark td small { color: var(--navy); }

/* ---------- Colunas com filete (substituem cards) ---------- */
.cards { display: grid; gap: 0 40px; margin-top: 40px; }
.cards--2 { grid-template-columns: repeat(2, 1fr); }
.cards--3 { grid-template-columns: repeat(3, 1fr); }
.cards--4 { grid-template-columns: repeat(4, 1fr); }
.card { padding: 24px 0 0; border-top: 2px solid var(--text); }
.card p:last-child { margin-bottom: 0; }
.card p { color: var(--text-2); }
@media (max-width: 980px) { .cards--4 { grid-template-columns: repeat(2, 1fr); gap: 40px; } .cards--3 { grid-template-columns: 1fr; gap: 32px; } }
@media (max-width: 600px) { .cards--2, .cards--4 { grid-template-columns: 1fr; gap: 32px; } }

/* ---------- Camadas (RC 18) ---------- */
.layers { list-style: none; padding: 0; margin: 48px 0 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.layers li { min-width: 0; border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 28px; background: var(--surface); display: flex; flex-direction: column; }
.layers h3 { font-stretch: var(--display); font-weight: 800; font-size: 1.4rem; letter-spacing: -0.02em; }
.layers p { color: var(--text-2); }
@media (max-width: 900px) { .layers { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Resultado ---------- */
.outcome { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(32px, 6vw, 88px); align-items: start; }
.quote { font-stretch: var(--display); font-weight: 700; font-size: 1.3rem; line-height: 1.35; letter-spacing: -0.015em; color: var(--text); margin: 28px 0 32px; max-width: 34ch; }
.checks { list-style: none; padding: 0; margin: 0; display: grid; gap: 0; border-top: 1px solid var(--line); }
.checks li { position: relative; padding: 16px 0 16px 40px; border-bottom: 1px solid var(--line); color: var(--text-2); }
.checks li b { color: var(--text); }
.checks li::before { content: ""; position: absolute; left: 0; top: 17px; width: 24px; height: 24px; border-radius: 50%; background: var(--ok-bg); box-shadow: inset 0 0 0 1px var(--ok-line); }
.checks li::after { content: ""; position: absolute; left: 6px; top: 23px; width: 12px; height: 12px; background: var(--ok-fg); -webkit-mask: var(--i-check) center / contain no-repeat; mask: var(--i-check) center / contain no-repeat; }
@media (max-width: 900px) { .outcome { grid-template-columns: 1fr; } }

/* ---------- Abas ---------- */
.tabs { margin-top: 40px; }
.tabs__list { display: flex; gap: 4px; border-bottom: 1px solid var(--line); overflow-x: auto; scrollbar-width: none; }
.tabs__list button { background: none; border: 0; border-bottom: 2px solid transparent; color: var(--muted); padding: 14px 20px; font-family: var(--font); font-weight: 700; font-size: 1rem; cursor: pointer; white-space: nowrap; margin-bottom: -1px; transition: color .15s; }
.tabs__list button[aria-selected="true"] { color: var(--text); border-bottom-color: var(--text); }
.tabs__list button:hover { color: var(--text); }
.tabs__panel { display: grid; grid-template-columns: 1.25fr .75fr; gap: clamp(24px, 5vw, 72px); padding-top: 40px; }
.tabs__panel[hidden] { display: none; }
.tabs__panel h3 { font-stretch: var(--display); font-weight: 800; font-size: clamp(1.4rem, 2.2vw, 1.8rem); letter-spacing: -0.025em; max-width: 26ch; }
.tabs__panel > div > p { color: var(--text-2); }
.tabs__panel .checks { margin-top: 24px; }
.chips-block { border-radius: var(--radius-lg); padding: 24px; background: var(--ink); align-self: start; --info-bg: rgba(163, 186, 214, .12); --info-fg: #d6e2f0; --line: rgba(163, 186, 214, .22); --muted: #8a9fb9; }
@media (max-width: 900px) { .tabs__panel { grid-template-columns: 1fr; } }

.chips { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.chips li { font-family: var(--font-mono); font-size: .8rem; padding: 5px 12px; border-radius: 999px; background: var(--info-bg); color: var(--info-fg); border: 1px solid var(--line); }
.chips--sans li { font-family: var(--font); font-weight: 600; font-size: .85rem; }
.chips--light { margin-top: 24px; }
.chips--light li { font-family: var(--font); font-weight: 600; font-size: .9rem; background: var(--surface); color: var(--text); border-color: var(--line-strong); padding: 7px 14px; }
.chips--spaced { margin-top: 32px; }

/* ---------- Como funciona + vídeo ---------- */
.steps-video { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(32px, 5vw, 80px); align-items: center; }
.steps { list-style: none; counter-reset: s; padding: 0; margin: 0; display: grid; gap: 0; }
.steps li { counter-increment: s; position: relative; padding: 22px 0 22px 64px; border-bottom: 1px solid var(--line); }
.steps li:first-child { padding-top: 4px; }
.steps li:last-child { border-bottom: 0; }
.steps li::before { content: counter(s); position: absolute; left: 0; top: 20px; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; font-stretch: var(--display); font-weight: 800; font-size: 1rem; color: var(--cta-fg); background: var(--cta-bg); }
.steps li:first-child::before { top: 2px; }
.steps h3 { margin-bottom: 6px; }
.steps p { color: var(--text-2); margin: 0; }
.video { position: relative; aspect-ratio: 16 / 9; border-radius: var(--radius-lg); overflow: hidden; background: var(--ink-deep); box-shadow: 0 0 0 1px var(--line), var(--shadow-lg); }
.video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.video__poster { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.video__play { position: absolute; inset: 0; width: 100%; display: flex; align-items: flex-end; justify-content: flex-start; gap: 16px; padding: clamp(20px, 3vw, 32px); background: linear-gradient(0deg, rgba(3, 17, 31, .85) 0%, rgba(3, 17, 31, .2) 55%, rgba(3, 17, 31, 0) 100%); border: 0; color: #fff; cursor: pointer; text-align: left; font-family: var(--font); }
.video__icon { width: 64px; height: 64px; border-radius: 50%; background: var(--mint); position: relative; flex: none; transition: transform .3s var(--ease); box-shadow: 0 12px 28px -10px rgba(0, 0, 0, .6); }
.video__icon::after { content: ""; position: absolute; left: 25px; top: 21px; width: 18px; height: 22px; background: var(--ink); clip-path: polygon(0 0, 100% 50%, 0 100%); }
.video__play:hover .video__icon { transform: scale(1.08); }
.video__text { display: flex; flex-direction: column; }
.video__text b { font-stretch: var(--display); font-weight: 800; font-size: 1.25rem; letter-spacing: -0.02em; }
.video__text small { color: #b6c5d8; font-size: .92rem; font-weight: 500; }
.cta-inline { display: flex; align-items: center; justify-content: space-between; gap: 24px 40px; flex-wrap: wrap; margin-top: clamp(56px, 6vw, 80px); padding-top: 32px; border-top: 1px solid var(--line); }
.cta-inline p { margin: 0; max-width: 62ch; color: var(--text-2); font-size: 1.1rem; }
.cta-inline b { color: var(--text); }
@media (max-width: 900px) { .steps-video { grid-template-columns: 1fr; } }

/* ---------- Capacidades ---------- */
.fronts-rows { border-top: 2px solid var(--text); }
.front-row { display: grid; grid-template-columns: 260px minmax(0, 1fr) minmax(0, 1.1fr); gap: 12px 48px; align-items: center; padding: 32px 0; border-bottom: 1px solid var(--line); }
.front-row h3 { margin: 0; font-stretch: var(--display); font-weight: 800; font-size: 1.35rem; letter-spacing: -0.02em; }
.front-row p { margin: 0; color: var(--text-2); }
.front-row:has(.front-row__formats) { align-items: start; }
.front-row__formats { display: grid; gap: 10px; }
.front-row .front-row__label { font-size: .7rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.front-row__label:not(:first-child) { margin-top: 10px; }
.chips--docs li span { font-family: var(--font); font-weight: 500; color: var(--text-2); }
.more-link { margin: 32px 0 0; font-weight: 700; }
.more-link a { text-decoration: none; }
.more-link .ico { margin-left: 2px; }
.more-link--steps { margin-top: 20px; }
@media (max-width: 900px) { .front-row { grid-template-columns: 1fr; } }

/* ---------- Casos (RC 18) ---------- */
.cases { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 20px; margin-top: 40px; }
.case { border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 32px; background: var(--surface); display: flex; flex-direction: column; }
.case--feature { background: var(--ink); border-color: var(--ink); color: #fff; --text: #fff; --text-2: #b6c5d8; --muted: #8a9fb9; --accent-text: var(--mint); }
.case__ctx { font-size: .9rem; font-weight: 600; color: var(--muted); }
.case__nums { display: flex; flex-wrap: wrap; gap: 20px 36px; margin: 12px 0 24px; }
.case__nums p { margin: 0; display: flex; flex-direction: column; }
.case__nums strong { font-stretch: var(--display); font-weight: 800; font-size: clamp(2rem, 3.2vw, 2.8rem); letter-spacing: -0.04em; color: var(--text); line-height: 1.05; display: flex; align-items: center; gap: .2em; }
.case__nums strong .ico { width: .6em; height: .6em; color: var(--accent-text); }
.case__nums p > span { font-size: .92rem; color: var(--text-2); }
.case > p:last-child { color: var(--text-2); margin: auto 0 0; }
@media (max-width: 980px) { .cases { grid-template-columns: 1fr; } }

/* ---------- Alternativas ---------- */
.alt-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0; margin-top: 48px; border-top: 2px solid var(--text); }
.alt-grid article { padding: 24px 20px 24px 0; }
.alt-grid article + article { padding-left: 20px; border-left: 1px solid var(--line); }
.alt-grid h3 { font-size: 1.05rem; }
.alt-grid p { font-size: .95rem; color: var(--text-2); margin: 0; }
.alt-grid__us { background: var(--ink); border-radius: 0 0 var(--radius-lg) var(--radius-lg); padding-right: 20px !important; }
.alt-grid__us h3 { color: var(--mint); }
.alt-grid__us p { color: #b6c5d8 !important; }
.alt-grid__us b { color: #fff; }
@media (max-width: 1080px) {
  .alt-grid { grid-template-columns: repeat(2, 1fr); }
  .alt-grid article, .alt-grid article + article { padding: 20px 20px 20px 0; border-left: 0; border-bottom: 1px solid var(--line); }
  .alt-grid__us { grid-column: 1 / -1; padding: 24px !important; border-radius: var(--radius-lg); margin-top: 16px; }
}
@media (max-width: 560px) { .alt-grid { grid-template-columns: 1fr; } }

/* ---------- Para quem ---------- */
.fit { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 5vw, 72px); align-items: start; }
.fit--single { grid-template-columns: 1fr; }
@media (max-width: 900px) { .fit { grid-template-columns: 1fr; } }

/* ---------- Jornada ---------- */
.phases { list-style: none; padding: 0; margin: 40px 0 0; display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 20px; }
.phase { border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 28px; background: var(--surface); }
.phase--land { background: var(--ink); border-color: var(--ink); --text: #fff; --text-2: #b6c5d8; color: #fff; }
.phase__tag { font-stretch: var(--display); font-weight: 800; font-size: 1.3rem; letter-spacing: -0.02em; color: var(--text); }
.phase--land .phase__tag { color: var(--mint); }
.phase ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.phase li { position: relative; padding-left: 18px; color: var(--text-2); }
.phase li::before { content: ""; position: absolute; left: 0; top: .65em; width: 6px; height: 6px; border-radius: 50%; background: var(--text-2); }
.phase--land li::before { background: var(--mint); }
.phase li b { color: var(--text); }
.ruler { margin-top: 48px; padding-top: 28px; border-top: 2px solid var(--text); }
.ruler__scale { list-style: none; padding: 0; margin: 8px 0 20px; display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; }
.ruler__scale li { display: flex; flex-direction: column; gap: 2px; padding: 14px; border-radius: var(--radius); background: var(--surface); border: 1px solid var(--line); }
.ruler__scale b { font-stretch: var(--display); font-weight: 800; font-size: 1.6rem; }
.ruler__scale span { font-size: .9rem; color: var(--text-2); line-height: 1.35; }
.ruler__scale small { font-size: .76rem; color: var(--mint-ink); font-weight: 700; }
.ruler__scale .is-target { border-color: var(--mint-ink); background: #ecf8f4; box-shadow: inset 0 0 0 1px var(--mint-ink); }
.ruler__scale .is-target b { color: var(--mint-ink); }
.ruler__goal { margin: 0; }
.ruler__goal b { color: var(--text); }
.note--dark { color: var(--muted); }
@media (max-width: 900px) { .phases { grid-template-columns: 1fr; } .ruler__scale { grid-template-columns: 1fr; } .ruler__scale li { flex-direction: row; align-items: baseline; gap: 12px; } }

/* ---------- Segurança ---------- */
.security { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(32px, 6vw, 88px); align-items: center; }
.badges { list-style: none; padding: 0; margin: 0; display: grid; gap: 0; border-top: 1px solid var(--line); }
.badges li { display: flex; align-items: center; gap: 14px; padding: 15px 0; border-bottom: 1px solid var(--line); font-weight: 600; }
.badges li::before { content: ""; flex: none; width: 20px; height: 20px; background: var(--accent-text); -webkit-mask: var(--i-shield) center / contain no-repeat; mask: var(--i-shield) center / contain no-repeat; }
@media (max-width: 900px) { .security { grid-template-columns: 1fr; } }

.modules { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 40px; }
.modules li { display: flex; flex-direction: column; gap: 6px; padding: 22px 0; border-top: 1px solid var(--line); }
.modules b { font-size: 1.08rem; }
.modules span { color: var(--text-2); }
@media (max-width: 900px) { .modules { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .modules { grid-template-columns: 1fr; } }

/* ---------- Formulário ---------- */
.form-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(32px, 6vw, 96px); align-items: start; }
.form-copy h2 { max-width: 16ch; }
.form-copy .checks { margin-top: 28px; }
.next-steps { list-style: none; padding: 0; margin: 40px 0 0; display: grid; gap: 0; }
.next-steps li { position: relative; padding: 0 0 24px 40px; }
.next-steps li:last-child { padding-bottom: 0; }
.next-steps li::before { content: ""; position: absolute; left: 6px; top: 7px; width: 12px; height: 12px; border-radius: 50%; background: var(--bg); border: 2px solid var(--accent-text); }
.next-steps li:last-child::before { background: var(--accent-text); }
.next-steps li:not(:last-child)::after { content: ""; position: absolute; left: 12px; top: 24px; bottom: 2px; width: 1px; background: var(--line-strong); }
.next-steps b { display: block; font-size: 1.02rem; color: var(--text); }
.next-steps span { display: block; color: var(--text-2); font-size: .95rem; }
.lead-form { background: var(--surface); color: var(--text); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: clamp(24px, 4vw, 40px); box-shadow: var(--shadow-lg); }
.ink .lead-form, .ink .guide-form { box-shadow: 0 40px 90px -30px rgba(0, 0, 0, .75); }
.lead-form__title { font-stretch: var(--display); font-weight: 800; font-size: 1.45rem; letter-spacing: -0.02em; margin-bottom: 4px; }
.lead-form__sub { color: var(--muted); font-size: .95rem; margin-bottom: 22px; }
.lead-form fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.lead-form fieldset[hidden] { display: none; }
.lead-form legend { font-weight: 700; font-size: .74rem; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); padding: 0; margin-bottom: 18px; }
.lead__steps { display: flex; align-items: center; gap: 8px; margin-bottom: 20px; }
.lead__steps span { width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; font-weight: 700; font-size: .8rem; background: var(--surface-2); border: 1px solid var(--line); color: var(--muted); }
.lead__steps span.is-on { background: var(--navy); border-color: var(--navy); color: #fff; }
.lead__steps i { flex: 1; max-width: 64px; height: 2px; background: var(--line); }
.field { margin-bottom: 16px; }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.field label { display: block; font-weight: 600; font-size: .9rem; margin-bottom: 6px; }
.field input, .field select {
  width: 100%; min-height: 48px; padding: 10px 14px; border-radius: var(--radius-sm); border: 1px solid var(--line-strong);
  background: var(--surface); color: var(--text); font: inherit; font-size: 1rem; font-weight: 400; transition: border-color .15s, box-shadow .15s;
}
.field input:hover, .field select:hover { border-color: #93a3b6; }
.field select { appearance: none; -webkit-appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%235d6e83' stroke-width='1.8'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; background-size: 12px; padding-right: 36px; }
.field input:focus, .field select:focus { outline: none; border-color: var(--cobalt); box-shadow: 0 0 0 3px rgba(51, 102, 221, .2); }
.field input[aria-invalid="true"], .field select[aria-invalid="true"] { border-color: #ef4444; }
.field__err { color: var(--red-ink); font-size: .85rem; font-weight: 600; margin: 6px 0 0; }
.field__err:empty { display: none; }
.check { display: grid; grid-template-columns: 22px 1fr; gap: 10px; align-items: start; font-size: .9rem; margin: 12px 0 0; cursor: pointer; color: var(--text-2); }
.check a { color: var(--navy); }
.lead-form .field__err#e-consentimentoPrivacidade { margin-left: 32px; }
.lead__actions { display: flex; gap: 12px; margin-top: 24px; }
.lead__actions .btn--primary { flex: 1; }
.lead__status { margin: 16px 0 0; font-weight: 600; font-size: .95rem; }
.lead__status:empty { display: none; }
.lead__status.is-error { color: var(--red-ink); }
.lead__trust { font-size: .82rem; color: var(--muted); text-align: center; margin: 18px 0 0; display: flex; justify-content: center; flex-wrap: wrap; gap: 4px 16px; }
.lead__trust span { display: inline-flex; align-items: center; gap: 6px; }
.lead__trust .ico { color: var(--mint-ink); }
@media (max-width: 900px) { .form-grid { grid-template-columns: 1fr; } }
@media (max-width: 520px) { .field-row { grid-template-columns: 1fr; } .lead__actions { flex-direction: column-reverse; } }

/* ---------- FAQ ---------- */
.faq { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(32px, 6vw, 96px); align-items: start; }
.faq h2 { max-width: 14ch; }
.faq__list { border-top: 2px solid var(--text); }
.faq details { border-bottom: 1px solid var(--line); }
.faq summary { list-style: none; cursor: pointer; padding: 22px 48px 22px 0; position: relative; font-weight: 700; font-size: 1.08rem; transition: color .15s; }
.faq summary:hover { color: var(--link); }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: ""; position: absolute; right: 4px; top: 50%; width: 22px; height: 22px; margin-top: -11px; background: var(--text); -webkit-mask: var(--i-chevron) center / contain no-repeat; mask: var(--i-chevron) center / contain no-repeat; transition: transform .3s var(--ease); }
.faq details[open] summary::after { transform: rotate(180deg); }
.faq details p { color: var(--text-2); margin: 0 0 22px; padding-right: 48px; max-width: 70ch; }
@media (max-width: 900px) { .faq { grid-template-columns: 1fr; } }

/* ---------- CTA final ---------- */
.final { padding: clamp(88px, 11vw, 152px) 0; text-align: center; position: relative; overflow: hidden; border-top: 1px solid var(--line); }
.final__inner h2 { max-width: 22ch; margin: 0 auto .45em; font-size: clamp(2.2rem, 4.4vw, 3.8rem); }
.final__inner p { color: var(--text-2); font-size: 1.2rem; max-width: 56ch; margin-left: auto; margin-right: auto; }

/* ---------- Rodapé ---------- */
.footer { padding: 72px 0 36px; font-size: .92rem; color: var(--text-2); }
.footer.ink { --bg: var(--ink-deep); background: var(--ink-deep); }
.footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1.2fr 1fr; gap: 40px; }
.footer img { width: 104px; margin-bottom: 18px; }
.footer address { font-style: normal; color: var(--muted); }
.footer__h { font-weight: 700; color: var(--text); margin-bottom: 14px; }
.footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.footer a { color: var(--text-2); text-decoration: none; font-weight: 500; }
.footer a:hover { color: var(--text); text-decoration: underline; }
.footer__legal { margin-top: 56px; padding-top: 24px; border-top: 1px solid var(--line); font-size: .82rem; color: var(--muted); display: grid; gap: 4px; }
.footer__legal p { margin: 0; }
@media (max-width: 900px) { .footer__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .footer__grid { grid-template-columns: 1fr; } }

/* ---------- CTA fixo mobile ---------- */
.sticky-cta { display: none; }
@media (max-width: 720px) {
  .sticky-cta { display: block; position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: rgba(5, 26, 49, .96); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-top: 1px solid var(--line); transform: translateY(110%); transition: transform .35s var(--ease); }
  .sticky-cta.is-visible { transform: none; }
  body:has(.sticky-cta) .footer { padding-bottom: 108px; }
}

/* ---------- Página simples (obrigado / 404) ---------- */
.simple { min-height: 100vh; display: flex; flex-direction: column; }
.simple main { flex: 1; display: flex; align-items: center; padding: clamp(64px, 10vw, 120px) 0; }
.simple h1 { font-size: clamp(2rem, 4.4vw, 3.4rem); max-width: 20ch; }
.simple .prep { margin-top: 48px; padding-top: 24px; border-top: 2px solid var(--text); max-width: 640px; }
.simple .prep ul { margin: 0; padding-left: 20px; color: var(--text-2); }
.simple .meanwhile { margin-top: 48px; padding-top: 24px; border-top: 2px solid var(--text); max-width: 640px; }
.simple .meanwhile > p:not(.panel__label) { color: var(--text-2); }
.meanwhile__guide { margin: 20px 0 0; }
.meanwhile__guide[hidden] { display: none; }

.show-sm { display: none; }
@media (max-width: 600px) { .hide-sm { display: none; } .show-sm { display: inline; } }

/* ---------- Casos de uso (home) ---------- */
.usecase-feature { display: grid; grid-template-columns: 1fr auto; gap: 32px 64px; align-items: center; padding: clamp(32px, 5vw, 56px); border-radius: var(--radius-lg); text-decoration: none; position: relative; overflow: hidden; }
.usecase-feature h3 { font-stretch: var(--display); font-weight: 800; font-size: clamp(1.6rem, 2.8vw, 2.3rem); letter-spacing: -0.03em; line-height: 1.1; max-width: 24ch; }
.usecase-feature p { color: var(--text-2); max-width: 60ch; }
.usecase-feature .cta-row { margin-top: 28px; }
.usecase-feature__count { text-align: center; padding: 28px 36px; border-radius: var(--radius-lg); border: 1px solid var(--line-strong); }
.usecase-feature__count strong { display: block; font-stretch: var(--display); font-weight: 800; font-size: clamp(3.6rem, 7vw, 5.5rem); letter-spacing: -0.05em; line-height: .95; color: var(--mint); font-variant-numeric: tabular-nums; }
.usecase-feature__count span { display: block; margin-top: 8px; font-size: .9rem; color: var(--text-2); }
@media (max-width: 760px) { .usecase-feature { grid-template-columns: 1fr; } .usecase-feature__count { justify-self: start; text-align: left; padding: 20px 24px; } }

.usecases { list-style: none; padding: 0; margin: 56px 0 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 0 40px; }
.usecases li { padding-top: 24px; border-top: 2px solid var(--text); }
.usecases h3 { margin-bottom: 8px; }
.usecases li > p:last-child { color: var(--text-2); margin: 0; }
.usecases--3 { grid-template-columns: repeat(3, 1fr); }
.usecases__more { margin: 40px 0 0; color: var(--text-2); }
.usecases__more b { color: var(--text); }
.usecases__more p { margin: 0 0 12px; }
@media (max-width: 1020px) { .usecases { grid-template-columns: repeat(2, 1fr); gap: 32px; } }
@media (max-width: 900px) { .usecases--3 { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .usecases { grid-template-columns: 1fr; } }

/* ---------- Comparativo com marcas ---------- */
.table--marks { min-width: 780px; }
.table--marks th[scope="row"] { font-weight: 600; width: 28%; }
.table--marks td { text-align: center; vertical-align: middle; }
.table--marks thead th { text-align: center; }
.table--marks thead th:first-child { text-align: left; }
.m { font-style: normal; display: inline-flex; align-items: center; gap: 6px; font-size: .85rem; font-weight: 700; }
.m::before { content: ""; width: 18px; height: 18px; border-radius: 50%; flex: none; -webkit-mask: var(--mi) center / 12px no-repeat, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask: var(--mi) center / 12px no-repeat exclude, linear-gradient(#000 0 0); }
.m--y { color: var(--mint-ink); --mi: var(--i-check); }
.m--y::before { background: var(--mint-ink); }
.m--p { color: var(--amber-ink); --mi: var(--i-minus); }
.m--p::before { background: var(--amber); }
.m--n { color: var(--muted); font-weight: 600; --mi: var(--i-x); }
.m--n::before { background: #b9c4d0; }

/* ---------- Credibilidade (páginas internas) ---------- */
.trust { margin-top: clamp(72px, 8vw, 112px); }
.trust__who { font-size: .95rem; color: var(--text-2); margin-bottom: 24px; max-width: 92ch; }
.trust__who b { color: var(--text); }

/* ---------- Contato direto ---------- */
.contact { margin-top: 32px; padding: 18px 20px; border-radius: var(--radius); border: 1px solid var(--line-strong); }
.contact[hidden] { display: none; }
.contact__title { font-weight: 700; margin: 0 0 8px; }
.contact ul { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 8px 20px; }
.contact li[hidden] { display: none; }

/* ---------- Formulário RD embutido na seção de diagnóstico ---------- */
.rd-embed { border-radius: var(--radius-lg); overflow: hidden; box-shadow: 0 40px 90px -30px rgba(0, 0, 0, .75); }

/* ---------- Modal de contato (formulário RD Station) ---------- */
.rd-modal { width: min(640px, calc(100vw - 32px)); max-height: min(88vh, 820px); padding: clamp(20px, 3vw, 32px); border: 0; border-radius: var(--radius-lg); background: var(--surface); color: var(--text); box-shadow: var(--shadow-lg); overflow: auto; overscroll-behavior: contain; }
.rd-modal::backdrop { background: rgba(3, 17, 31, .62); }
.rd-modal__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.rd-modal__head h2 { margin: 0; font-size: clamp(1.35rem, 2.4vw, 1.7rem); }
.rd-modal__close { flex: none; display: grid; place-items: center; width: 40px; height: 40px; margin: -6px -8px 0 0; border: 0; border-radius: var(--radius-sm); background: none; color: var(--muted); cursor: pointer; }
.rd-modal__close:hover { background: var(--bg-2); color: var(--text); }
.rd-modal__sub { margin: 8px 0 20px; color: var(--text-2); }
.rd-modal__loading { margin: 0; padding: 24px 0; color: var(--muted); }
html:has(.rd-modal[open]) { overflow: hidden; }

/* Popups do RD: só o botão de WhatsApp. Os demais popups da conta (ex.: a barra RC 18 do site
   da Better Now) levariam o visitante para fora do funil e empurrariam o hero. */
body > div[id^="popup-"]:not(:has(.rdstation-popup-js-floating-button)) { display: none !important; }
@media (max-width: 720px) {
  /* O botão sobe quando o CTA fixo do celular aparece, para não cobri-lo. */
  /* O RD trava "transform" com !important pelo id; "translate" é outra propriedade e se soma a ele. */
  .rdstation-popup-position-bottom_right { transition: translate .35s var(--ease); }
  body:has(.sticky-cta.is-visible) .rdstation-popup-position-bottom_right.floating-button--close { translate: 0 -68px; }
}

/* ---------- Faixa do guia ---------- */
.guide-band { padding: clamp(72px, 9vw, 120px) 0; background: var(--bg-2); }
.guide-band__inner { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(28px, 6vw, 88px); align-items: center; }
.guide-form { background: var(--surface); color: var(--text); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: clamp(22px, 3vw, 36px); box-shadow: var(--shadow); }
.guide-form .check { margin-bottom: 4px; }
.guide-form .btn { margin-top: 16px; }
.guide-form .field__err#eg-consentimentoPrivacidade { margin-left: 32px; }
@media (max-width: 900px) { .guide-band__inner { grid-template-columns: 1fr; } }

/* ---------- Guia RC 18 (documento) ---------- */
.guide { background: var(--bg-2); color: var(--text); }
.guide__bar { position: sticky; top: 0; z-index: 10; border-bottom: 1px solid var(--line); }
.guide__bar-inner { display: flex; align-items: center; justify-content: space-between; min-height: 68px; }
.guide__doc { padding: clamp(40px, 6vw, 80px) 0; }
.wrap--doc { max-width: 840px; }
.guide h1 { font-size: clamp(2rem, 3.8vw, 2.9rem); max-width: 22ch; }
.guide h2 { font-size: 1.5rem; max-width: none; margin-top: 48px; }
.guide__lead { font-size: 1.15rem; color: var(--text-2); }
.guide__list { padding-left: 20px; display: grid; gap: 6px; }
.guide__list--num { padding-left: 22px; }
.guide__table { width: 100%; border-collapse: collapse; background: var(--surface); border: 1px solid var(--line); font-size: .95rem; }
.guide__table th, .guide__table td { text-align: left; vertical-align: top; padding: 12px 14px; border-bottom: 1px solid var(--line); }
.guide__table thead th { background: var(--surface-2); font-size: .74rem; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.guide__table small { display: block; font-family: var(--font-mono); font-size: .74rem; color: var(--muted); }
.guide__cta { margin-top: 56px; padding: 32px; border-radius: var(--radius-lg); background: var(--ink); color: #fff; }
.guide__cta h2 { margin-top: 0; color: #fff; }
.guide__cta p { color: #b6c5d8; }
.guide__cta .btn--primary { background: var(--mint); color: var(--ink); }
.guide__cta .btn--primary:hover { background: var(--mint-hover); color: var(--ink); }
.guide__legal { margin-top: 32px; font-size: .82rem; color: var(--muted); }
.guide__table tbody th[scope="row"] { width: 30%; font-weight: 700; }
.guide__table--dims small { font-family: var(--font); font-size: .82rem; margin-top: 4px; }
.guide__table--dims td[rowspan] { background: var(--surface-2); }
.guide__note { margin-top: 10px; font-size: .85rem; color: var(--muted); }
.guide__glossary { margin: 0; display: grid; gap: 14px; }
.guide__glossary dt { font-weight: 700; }
.guide__glossary dd { margin: 2px 0 0; color: var(--text-2); }
@media (max-width: 600px) { .guide__table--dims thead th:first-child, .guide__table--dims td[rowspan] { display: none; } }
@media (max-width: 600px) { .guide__table { font-size: .86rem; } .guide__table th, .guide__table td { padding: 8px 10px; } }
@media print {
  .guide__bar, .guide__cta .btn { display: none !important; }
  .guide, .guide__doc { background: #fff; padding: 0; }
  .guide__cta { background: none; color: #000; border: 1px solid #ccc; }
  .guide__cta h2 { color: #000; }
  .guide__cta p { color: #333; }
  .guide h2 { break-after: avoid; }
  .guide__table, .guide__list li { break-inside: avoid; }
  a { color: #000; }
}

@media (max-width: 520px) {
  .cta-row .btn, .cta-inline .btn { width: 100%; }
  .btn { white-space: normal; text-align: center; }
}

/* ---------- Seções curtas em duas colunas (RC 18) ---------- */
.section--short { padding: clamp(72px, 8vw, 112px) 0; }
.split-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px clamp(32px, 6vw, 96px); align-items: start; }
.split-head h2 { margin: 0; }
.split-head .body-lg { margin-top: .3em; }
.update-note { margin: 16px 0 0; padding: 12px 16px; border-left: 3px solid var(--amber); background: var(--warn-bg); color: var(--text-2); font-size: .95rem; }
.updated { margin: 20px 0 0; font-size: .85rem; color: var(--muted); }

/* ---------- 12 dimensões (RC 18) ---------- */
.dimgroups { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; border-top: 2px solid var(--text); padding-top: 28px; }
.dimgroup__name { margin: 0; font-stretch: var(--display); font-weight: 800; font-size: 1.2rem; letter-spacing: -0.02em; }
.dimgroup__q { margin: 4px 0 16px; color: var(--muted); font-size: .92rem; }
.dimgroup ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 14px; }
.dimgroup li b { display: block; }
.dimgroup li span { color: var(--text-2); font-size: .95rem; }
@media (max-width: 1000px) { .dimgroups { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .dimgroups { grid-template-columns: 1fr; } }
.split-head .body-lg:last-child, .split-head .more-link { margin-bottom: 0; }
.chips--flush { margin-top: .5em; }
.cases--2 { grid-template-columns: 1.2fr 1fr; }
.case .case__nums + p { margin-top: auto; }
@media (max-width: 900px) { .split-head { grid-template-columns: 1fr; } .cases--2 { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .mono-box { font-size: .68rem; padding: 14px 16px; } .mono-box[data-title]::before { margin: -14px -16px 10px; padding: 8px 16px; } }

/* ---------- Diagnóstico de marketing (29/09/2026) ---------- */
.urgency[hidden] { display: none; }
.urgency__inner { position: relative; padding-right: 48px; padding-left: 48px; }
.urgency__close { position: absolute; right: max(var(--gutter), 8px); top: 50%; transform: translateY(-50%); width: 32px; height: 32px; display: grid; place-items: center; background: none; border: 0; border-radius: var(--radius-sm); color: #c9d8ea; cursor: pointer; transition: color .15s, background-color .15s; }
.urgency__close:hover { color: #fff; background: rgba(255, 255, 255, .1); }
.urgency__close .ico { width: 16px; height: 16px; }
.nav__links a[aria-current="page"] { color: var(--text); box-shadow: inset 0 -2px 0 var(--mint); border-radius: var(--radius-sm) var(--radius-sm) 0 0; }
.lead__category { display: block; color: var(--text); font-weight: 700; margin-bottom: .35em; }

/* Quem está por trás: três itens com o mesmo peso dos resultados */
.company { list-style: none; padding: 0; margin: 0 0 32px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; }
.company li { display: flex; flex-direction: column; gap: 2px; padding-right: 28px; }
.company li + li { padding-left: 28px; border-left: 1px solid var(--line); }
.company b { font-stretch: var(--display); font-weight: 800; font-size: 1.2rem; letter-spacing: -0.015em; color: var(--text); }
.company span { font-size: .95rem; color: var(--text-2); }

/* Caso resumido dentro do site */
.casestudy { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px clamp(32px, 6vw, 88px); padding-top: 32px; border-top: 2px solid var(--text); margin-bottom: clamp(48px, 6vw, 72px); }
.casestudy h3 { font-stretch: var(--display); font-weight: 800; font-size: clamp(1.6rem, 2.8vw, 2.3rem); letter-spacing: -0.03em; line-height: 1.1; max-width: 18ch; margin-bottom: 10px; }
.casestudy__ctx { color: var(--muted); font-weight: 600; margin: 0 0 28px; }
.casestudy__nums { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.casestudy__nums li { display: flex; flex-direction: column; gap: 4px; }
.casestudy__nums strong { white-space: nowrap; font-stretch: var(--display); font-weight: 800; font-size: clamp(1.7rem, 2.6vw, 2.3rem); letter-spacing: -0.04em; line-height: 1; font-variant-numeric: tabular-nums; }
.casestudy__nums span { font-size: .92rem; color: var(--text-2); line-height: 1.4; }
.casestudy .more-link { margin-top: 28px; }
.casestudy__steps { margin: 0; display: grid; gap: 0; }
.casestudy__steps > div { padding: 18px 0; border-bottom: 1px solid var(--line); }
.casestudy__steps > div:first-child { padding-top: 0; }
.casestudy__steps dt { font-weight: 700; color: var(--text); margin-bottom: 4px; }
.casestudy__steps dd { margin: 0; color: var(--text-2); }
.usecases--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.usecases__ex { margin: 14px 0 0 !important; font-size: .95rem; color: var(--text-2); }
.usecases__ex b { color: var(--text); }
@media (max-width: 900px) {
  .company { grid-template-columns: 1fr; gap: 14px; }
  .company li, .company li + li { padding: 0; border-left: 0; }
  .casestudy { grid-template-columns: 1fr; }
  .usecases--2 { grid-template-columns: 1fr; gap: 32px; }
}
@media (max-width: 600px) {
  .urgency__inner { padding-left: 16px; }
  .casestudy__nums { grid-template-columns: 1fr 1fr; }
}
