/* ============================================================
   RETAGUARDA — Núcleo de Produção Técnica Jurídica
   Landing page B2B (advogado → advogado). Segue a identidade do
   site Pacheco Freitas: marinho, dourado, Cormorant Garamond, e o
   cabeçalho compartilhado de navbar.css.
   ============================================================ */

/* ---------- Tokens ---------- */
:root {
  --ink:        #07112b;
  --ink-2:      #0b1a3f;
  --ink-3:      #12264f;
  --ink-4:      #1c3263;
  --paper:      #fbfaf6;
  --paper-2:    #f5f1e8;
  --paper-3:    #e4ddd0;

  --text:       #1c2433;
  --text-soft:  #4a5263;
  --text-mute:  #5e6674;
  --on-ink:     #eef1f5;
  --on-ink-soft:#a8b2c0;
  --on-ink-mute:#78828f;

  --brass:      #b89968;
  --brass-soft: #dfcba8;
  --brass-dim:  rgba(184, 153, 104, .16);

  --wa:         #22a35a;
  --wa-hover:   #1c8b4c;
  --wa-ink:     #0f7a3f;

  --line:       rgba(7, 17, 43, .12);
  --line-soft:  rgba(7, 17, 43, .07);
  --line-dark:  rgba(238, 241, 245, .13);
  --line-dark-2:rgba(238, 241, 245, .07);

  --font-display: "Cormorant Garamond", Georgia, serif;
  --font-body:    -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;

  --shell:  1180px;
  --narrow: 780px;
  --radius: 14px;
  --radius-sm: 9px;

  --shadow-sm: 0 1px 2px rgba(7, 17, 43, .05), 0 4px 14px rgba(7, 17, 43, .05);
  --shadow-md: 0 2px 6px rgba(7, 17, 43, .07), 0 18px 44px rgba(7, 17, 43, .10);
  --shadow-lg: 0 4px 12px rgba(7, 17, 43, .10), 0 34px 80px rgba(7, 17, 43, .20);
}

/* ---------- Reset ---------- */
*, *::before, *::after { box-sizing: border-box; }

html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
  scroll-padding-top: 92px;
}

body {
  margin: 0;
  font-family: var(--font-body);
  font-size: 17px;
  line-height: 1.68;
  color: var(--text);
  background: var(--paper);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}

img, svg { max-width: 100%; display: block; }
a { color: inherit; }
h1, h2, h3, h4 { margin: 0; font-weight: 400; }
p { margin: 0 0 1.05em; }
ul, ol { margin: 0; padding: 0; list-style: none; }
strong { font-weight: 650; }
em { font-style: italic; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    transition-duration: .01ms !important;
  }
}

.skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 999;
  background: var(--ink);
  color: var(--on-ink);
  padding: 12px 20px;
  border-radius: 0 0 var(--radius-sm) 0;
  font-size: 14px;
  font-weight: 600;
}
.skip-link:focus { left: 0; }

:focus-visible {
  outline: 2px solid var(--brass);
  outline-offset: 3px;
  border-radius: 3px;
}

/* ---------- Layout ---------- */
.shell {
  width: 100%;
  max-width: var(--shell);
  margin: 0 auto;
  padding: 0 26px;
}

.section { padding: 104px 0; }
.section-tight { padding: 76px 0; }

.on-ink   { background: var(--ink);     color: var(--on-ink); }
.on-ink-2 { background: var(--ink-2);   color: var(--on-ink); }
.on-paper { background: var(--paper);   color: var(--text); }
.on-paper-2 { background: var(--paper-2); color: var(--text); }

/* ---------- Typography ---------- */
.kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: .17em;
  text-transform: uppercase;
  color: var(--text-mute);
  margin-bottom: 18px;
}
.kicker::before {
  content: "";
  width: 22px;
  height: 1px;
  background: var(--brass);
  flex: none;
}
.kicker.light { color: var(--brass-soft); }

h1, .h1 {
  font-family: var(--font-display);
  font-size: clamp(2.5rem, 6.2vw, 4.15rem);
  line-height: 1.1;
  letter-spacing: .005em;
}

h2, .h2 {
  font-family: var(--font-display);
  font-size: clamp(2rem, 4.4vw, 3.1rem);
  line-height: 1.15;
  letter-spacing: .005em;
}

h3 {
  font-family: var(--font-body);
  font-size: 1.09rem;
  font-weight: 650;
  line-height: 1.35;
  letter-spacing: -.008em;
}

h1 em, h2 em { color: var(--brass); font-style: italic; }
.on-ink h1 em, .on-ink h2 em, .on-ink-2 h2 em { color: var(--brass-soft); }

.lead {
  font-size: 1.16rem;
  line-height: 1.62;
  color: var(--text-soft);
}
.on-ink .lead, .on-ink-2 .lead { color: var(--on-ink-soft); }

.section-head { max-width: 760px; margin-bottom: 56px; }
.section-head.center { margin-left: auto; margin-right: auto; text-align: center; }
.section-head.center .kicker::before { display: none; }
.section-head h2 { margin-bottom: 20px; }

/* ---------- Buttons ---------- */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 16px 28px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-family: var(--font-body);
  font-size: 15.5px;
  font-weight: 620;
  letter-spacing: -.005em;
  text-decoration: none;
  cursor: pointer;
  transition: transform .18s ease, background .18s ease, box-shadow .18s ease, border-color .18s ease, color .18s ease;
}
.btn svg { width: 19px; height: 19px; fill: currentColor; flex: none; }
.btn:hover { transform: translateY(-2px); }

.btn-wa {
  background: var(--wa);
  color: #fff;
  box-shadow: 0 3px 10px rgba(34, 163, 90, .26), 0 14px 34px rgba(34, 163, 90, .22);
}
.btn-wa:hover { background: var(--wa-hover); box-shadow: 0 5px 16px rgba(34, 163, 90, .3), 0 20px 46px rgba(34, 163, 90, .26); }

.btn-outline {
  background: transparent;
  color: var(--on-ink);
  border-color: var(--line-dark);
}
.btn-outline:hover { border-color: var(--brass); color: var(--brass-soft); }

.btn-ink {
  background: var(--ink);
  color: var(--on-ink);
}
.btn-ink:hover { background: var(--ink-3); }

.btn-sm { padding: 11px 20px; font-size: 14px; }

.text-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  font-weight: 560;
  text-decoration: none;
  color: var(--text-soft);
  border-bottom: 1px solid var(--line);
  padding-bottom: 3px;
  transition: color .18s ease, border-color .18s ease;
}
.text-link:hover { color: var(--text); border-color: var(--brass); }
.text-link.on-dark { color: var(--on-ink-soft); border-color: var(--line-dark); }
.text-link.on-dark:hover { color: var(--brass-soft); border-color: var(--brass); }

/* ============================================================
   HERO
   ============================================================ */
.hero {
  position: relative;
  background: var(--ink);
  color: var(--on-ink);
  /* 78px do cabeçalho fixo compartilhado (navbar.css) */
  padding: calc(78px + 92px) 0 104px;
  overflow: hidden;
}
.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(720px 420px at 12% -10%, rgba(184, 153, 104, .13), transparent 62%),
    radial-gradient(620px 480px at 96% 8%, rgba(201, 174, 130, .08), transparent 60%);
  pointer-events: none;
}
.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(var(--line-dark-2) 1px, transparent 1px),
    linear-gradient(90deg, var(--line-dark-2) 1px, transparent 1px);
  background-size: 68px 68px;
  mask-image: radial-gradient(900px 520px at 30% 30%, #000, transparent 78%);
  -webkit-mask-image: radial-gradient(900px 520px at 30% 30%, #000, transparent 78%);
  opacity: .55;
  pointer-events: none;
}
.hero .shell { position: relative; z-index: 1; }

.hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr);
  gap: 64px;
  align-items: start;
}

.hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 7px 16px;
  border: 1px solid var(--line-dark);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 550;
  letter-spacing: .05em;
  color: var(--on-ink-soft);
  margin-bottom: 26px;
  background: rgba(238, 241, 245, .03);
  white-space: nowrap;
  max-width: 100%;
}
.hero-eyebrow b { color: var(--brass-soft); font-weight: 600; }
.hero-eyebrow i { font-style: normal; color: var(--on-ink-mute); }

.hero h1 { margin-bottom: 24px; }
.hero-lead {
  font-size: 1.22rem;
  line-height: 1.58;
  color: var(--on-ink-soft);
  max-width: 34em;
  margin-bottom: 16px;
}
.hero-support {
  font-size: 1.02rem;
  color: var(--on-ink-mute);
  max-width: 34em;
  margin-bottom: 34px;
}
.hero-support b { color: var(--brass-soft); font-weight: 600; }

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 18px;
  margin-bottom: 36px;
}

.hero-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 26px;
  padding-top: 28px;
  border-top: 1px solid var(--line-dark-2);
}
.hero-proof li {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  font-size: 14px;
  color: var(--on-ink-soft);
}
.hero-proof svg { width: 17px; height: 17px; fill: var(--brass); flex: none; margin-top: 2px; }

/* Hero card */
.hero-card {
  background: linear-gradient(168deg, var(--ink-3), var(--ink-2) 62%);
  border: 1px solid var(--line-dark);
  border-radius: var(--radius);
  padding: 30px 30px 26px;
  box-shadow: var(--shadow-lg);
}
.hero-card .card-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  font-weight: 650;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--brass);
  margin-bottom: 18px;
}
.hero-card .card-tag span {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--brass);
  flex: none;
}
.hero-card h2 {
  font-family: var(--font-body);
  font-size: 1.22rem;
  font-weight: 650;
  line-height: 1.32;
  margin-bottom: 22px;
  color: var(--on-ink);
  letter-spacing: -.01em;
}

.deliver-list li {
  display: flex;
  gap: 13px;
  padding: 13px 0;
  border-top: 1px solid var(--line-dark-2);
  font-size: 14.6px;
  line-height: 1.5;
  color: var(--on-ink-soft);
}
.deliver-list li:first-child { border-top: 0; padding-top: 0; }
.deliver-list svg { width: 18px; height: 18px; fill: var(--wa); flex: none; margin-top: 2px; }
.deliver-list b { color: var(--on-ink); font-weight: 620; }

.hero-card .card-foot {
  margin: 22px -30px -26px;
  padding: 18px 30px;
  background: rgba(184, 153, 104, .07);
  border-top: 1px solid var(--brass-dim);
  border-radius: 0 0 var(--radius) var(--radius);
  font-size: 13.6px;
  line-height: 1.55;
  color: var(--on-ink-soft);
}
.hero-card .card-foot b { color: var(--brass-soft); }

/* ============================================================
   FAIXA DE NÚMEROS
   ============================================================ */
.metric-strip {
  background: var(--ink-2);
  border-top: 1px solid var(--line-dark-2);
  border-bottom: 1px solid var(--line-dark-2);
  padding: 40px 0;
  color: var(--on-ink);
}
.metric-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
}
.metric {
  padding-left: 20px;
  border-left: 1px solid var(--line-dark);
}
.metric .num {
  font-family: var(--font-display);
  font-size: 2.5rem;
  line-height: 1;
  color: var(--brass-soft);
  letter-spacing: -.02em;
  margin-bottom: 8px;
}
.metric .num small { font-size: 1.15rem; color: var(--on-ink-mute); }
.metric .cap {
  font-size: 13.2px;
  line-height: 1.45;
  color: var(--on-ink-mute);
}

/* ============================================================
   DIAGNÓSTICO
   ============================================================ */
.pain-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
}
.pain {
  background: var(--paper);
  padding: 32px 28px 34px;
  transition: background .2s ease;
}
.pain:hover { background: #fff; }
.pain .n {
  font-family: var(--font-display);
  font-size: 1.5rem;
  color: var(--brass);
  line-height: 1;
  margin-bottom: 14px;
}
.pain h3 { margin-bottom: 10px; }
.pain p { font-size: 15.2px; line-height: 1.62; color: var(--text-soft); margin: 0; }

.pain-close {
  margin-top: 40px;
  padding: 26px 30px;
  background: var(--ink);
  color: var(--on-ink);
  border-radius: var(--radius);
  font-family: var(--font-display);
  font-size: clamp(1.35rem, 2.6vw, 1.85rem);
  line-height: 1.28;
  letter-spacing: -.012em;
}
.pain-close em { color: var(--brass-soft); }

/* ============================================================
   A CONTA (custo fixo x variável)
   ============================================================ */
.ledger {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 26px;
  align-items: stretch;
}
.ledger-col {
  border-radius: var(--radius);
  padding: 32px 30px 34px;
  border: 1px solid var(--line-dark);
  background: rgba(238, 241, 245, .03);
}
.ledger-col.win {
  background: linear-gradient(170deg, rgba(184, 153, 104, .11), rgba(238, 241, 245, .03) 55%);
  border-color: var(--brass-dim);
}
.ledger-col h3 {
  font-size: 1.16rem;
  margin-bottom: 6px;
  color: var(--on-ink);
}
.ledger-col .sub {
  font-size: 13.4px;
  color: var(--on-ink-mute);
  margin-bottom: 24px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--line-dark-2);
}
.ledger-list li {
  display: flex;
  gap: 12px;
  padding: 11px 0;
  font-size: 15px;
  line-height: 1.5;
  color: var(--on-ink-soft);
}
.ledger-list .ic {
  width: 19px; height: 19px;
  flex: none;
  margin-top: 2px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
}
.ledger-list .ic.no { background: rgba(216, 90, 70, .16); color: #e08573; }
.ledger-list .ic.yes { background: rgba(34, 163, 90, .18); color: #52c98a; }

.ledger-note {
  margin-top: 28px;
  font-size: 14.6px;
  color: var(--on-ink-mute);
  text-align: center;
  max-width: 62ch;
  margin-left: auto;
  margin-right: auto;
}
.ledger-note b { color: var(--on-ink-soft); }

/* ============================================================
   CARDÁPIO DE SERVIÇOS
   ============================================================ */
.menu-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 26px;
}
.menu-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 34px 32px 32px;
  box-shadow: var(--shadow-sm);
  display: flex;
  flex-direction: column;
}
.menu-card .frente {
  font-size: 11px;
  font-weight: 650;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--brass);
  margin-bottom: 12px;
}
.menu-card h3 {
  font-family: var(--font-display);
  font-size: 1.85rem;
  font-weight: 400;
  line-height: 1.12;
  letter-spacing: -.015em;
  margin-bottom: 14px;
}
.menu-card > p { font-size: 15.4px; color: var(--text-soft); }

.menu-block { margin-top: 20px; }
.menu-block .label {
  font-size: 11.5px;
  font-weight: 650;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--text-mute);
  padding-bottom: 10px;
  margin-bottom: 12px;
  border-bottom: 1px solid var(--line-soft);
}
.chips { display: flex; flex-wrap: wrap; gap: 7px; }
.chips li {
  font-size: 13.4px;
  padding: 5px 12px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--text-soft);
  background: var(--paper);
}

.all-areas {
  padding: 20px 22px 22px;
  background: var(--paper);
  border: 1px solid var(--line-soft);
  border-left: 3px solid var(--brass);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
}
.all-areas strong {
  display: block;
  font-family: var(--font-display);
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: -.015em;
  color: var(--text);
  margin-bottom: 10px;
}
.all-areas p {
  margin: 0;
  font-size: 14.8px;
  line-height: 1.62;
  color: var(--text-soft);
}

.check-list li {
  display: flex;
  gap: 11px;
  padding: 9px 0;
  font-size: 15.2px;
  line-height: 1.55;
  color: var(--text-soft);
}
.check-list svg { width: 18px; height: 18px; fill: var(--wa); flex: none; margin-top: 3px; }
.check-list b { color: var(--text); font-weight: 620; }

.menu-card .card-foot-note {
  margin-top: auto;
  padding-top: 22px;
  font-size: 14px;
  line-height: 1.55;
  color: var(--text-mute);
  border-top: 1px solid var(--line-soft);
}
.menu-card .card-foot-note strong { color: var(--text); }

/* ============================================================
   PADRÃO TÉCNICO
   ============================================================ */
.standard-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 30px 46px;
}
.standard {
  padding-top: 26px;
  border-top: 1px solid var(--line-dark);
}
.standard .rom {
  font-family: var(--font-display);
  font-size: 1.3rem;
  color: var(--brass);
  margin-bottom: 10px;
}
.standard h3 { color: var(--on-ink); margin-bottom: 10px; font-size: 1.12rem; }
.standard p { font-size: 15.2px; line-height: 1.65; color: var(--on-ink-soft); margin: 0; }

.callout {
  margin-bottom: 44px;
  padding: 24px 28px;
  border-left: 3px solid var(--brass);
  background: rgba(184, 153, 104, .07);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  font-size: 15.6px;
  line-height: 1.62;
  color: var(--on-ink-soft);
}
.callout p:last-child { margin-bottom: 0; }
.callout b { color: var(--on-ink); }

/* ---------- Casos julgados (prova do risco) ---------- */
.cases {
  margin: 0 0 46px;
  border: 1px solid var(--line-dark);
  border-radius: var(--radius);
  background: rgba(238, 241, 245, .03);
  overflow: hidden;
}
.cases-head {
  padding: 18px 26px;
  border-bottom: 1px solid var(--line-dark);
  background: rgba(184, 153, 104, .06);
}
.cases-label {
  font-size: 12px;
  font-weight: 650;
  letter-spacing: .11em;
  text-transform: uppercase;
  color: var(--brass);
}

.case-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  background: var(--line-dark-2);
}
.case-list li {
  background: var(--ink-2);
  padding: 24px 26px 26px;
}
.case-when {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 12px;
  font-size: 11.5px;
  font-weight: 650;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--brass-soft);
  padding-bottom: 12px;
  margin-bottom: 13px;
  border-bottom: 1px solid var(--line-dark-2);
}
.case-when span {
  font-weight: 500;
  letter-spacing: .06em;
  color: var(--on-ink-mute);
  font-variant-numeric: tabular-nums;
}
.case-list p {
  margin: 0;
  font-size: 14.8px;
  line-height: 1.62;
  color: var(--on-ink-soft);
}
.case-list strong { color: var(--on-ink); font-weight: 620; }
.case-list em { color: var(--on-ink); }

.cases-foot {
  margin: 0;
  padding: 22px 26px 24px;
  border-top: 1px solid var(--line-dark);
  font-size: 15px;
  line-height: 1.62;
  color: var(--on-ink-soft);
}
.cases-foot strong { color: var(--on-ink); font-weight: 620; }
.cases-foot b { color: var(--brass-soft); font-weight: 600; }

/* ============================================================
   PROCESSO
   ============================================================ */
.steps {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 24px;
  position: relative;
}
.steps::before {
  content: "";
  position: absolute;
  top: 19px;
  left: 6%;
  right: 6%;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--line) 12%, var(--line) 88%, transparent);
}
.step { position: relative; }
.step .dot {
  width: 38px; height: 38px;
  border-radius: 50%;
  background: var(--ink);
  color: var(--brass-soft);
  display: grid;
  place-items: center;
  font-size: 14px;
  font-weight: 650;
  margin-bottom: 18px;
  position: relative;
  z-index: 1;
  box-shadow: 0 0 0 6px var(--paper-2);
}
.step h3 { margin-bottom: 8px; }
.step p { font-size: 14.6px; line-height: 1.58; color: var(--text-soft); margin: 0; }

.sla-bar {
  margin-top: 46px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
}
.sla {
  background: #fff;
  padding: 26px 26px 28px;
}
.sla .t {
  font-family: var(--font-display);
  font-size: 2.1rem;
  line-height: 1;
  letter-spacing: -.02em;
  margin-bottom: 8px;
}
.sla .t em { color: var(--brass); }
.sla p { font-size: 14.4px; line-height: 1.55; color: var(--text-soft); margin: 0; }

/* ============================================================
   CONFIDENCIALIDADE
   ============================================================ */
.shield-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(255px, 1fr));
  gap: 20px;
}
.shield {
  background: rgba(238, 241, 245, .04);
  border: 1px solid var(--line-dark);
  border-radius: var(--radius);
  padding: 26px 24px 28px;
}
.shield .ic {
  width: 40px; height: 40px;
  border-radius: 11px;
  background: var(--brass-dim);
  display: grid;
  place-items: center;
  margin-bottom: 16px;
}
.shield .ic svg { width: 20px; height: 20px; fill: var(--brass); }
.shield h3 { color: var(--on-ink); margin-bottom: 9px; font-size: 1.05rem; }
.shield p { font-size: 14.6px; line-height: 1.6; color: var(--on-ink-soft); margin: 0; }

/* ============================================================
   QUEM ASSINA
   ============================================================ */
.signer-grid {
  display: grid;
  grid-template-columns: minmax(0, 300px) minmax(0, 1fr);
  gap: 52px;
  align-items: start;
}
.signer-photo { position: relative; }
.signer-photo img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  object-position: center 18%;
  border-radius: var(--radius);
  filter: grayscale(.24) contrast(1.03);
  box-shadow: var(--shadow-md);
}
.signer-seal {
  position: absolute;
  right: -14px;
  bottom: -16px;
  background: var(--ink);
  color: var(--on-ink);
  border-radius: var(--radius-sm);
  padding: 12px 18px;
  text-align: center;
  box-shadow: var(--shadow-md);
}
.signer-seal span {
  display: block;
  font-size: 10px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--on-ink-mute);
  margin-bottom: 2px;
}
.signer-seal strong {
  font-family: var(--font-display);
  font-size: 1.3rem;
  font-weight: 400;
  color: var(--brass-soft);
  letter-spacing: .01em;
}

.signer-copy h2 { margin-bottom: 6px; }
.signer-role {
  font-size: 14.4px;
  letter-spacing: .04em;
  color: var(--text-mute);
  margin-bottom: 22px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--line);
}
.signer-copy p { font-size: 16px; color: var(--text-soft); }

.cred-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  overflow: hidden;
  margin: 28px 0 26px;
}
.cred-grid div {
  background: var(--paper-2);
  padding: 16px 16px 18px;
}
.cred-grid strong {
  display: block;
  font-family: var(--font-display);
  font-size: 1.42rem;
  font-weight: 400;
  line-height: 1.1;
  margin-bottom: 3px;
  letter-spacing: -.01em;
}
.cred-grid span { font-size: 12.8px; line-height: 1.4; color: var(--text-mute); display: block; }

.infra-note {
  padding: 22px 26px;
  background: var(--ink);
  color: var(--on-ink-soft);
  border-radius: var(--radius-sm);
  font-size: 15px;
  line-height: 1.62;
}
.infra-note strong { color: var(--brass-soft); }
.infra-note p:last-child { margin-bottom: 0; }

/* ============================================================
   ORÇAMENTO
   ============================================================ */
.pricing-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 26px;
  margin-bottom: 34px;
}
.var-card {
  background: rgba(238, 241, 245, .04);
  border: 1px solid var(--line-dark);
  border-radius: var(--radius);
  padding: 28px 28px 30px;
}
.var-card .v {
  font-family: var(--font-display);
  font-size: 1.9rem;
  line-height: 1.1;
  color: var(--brass-soft);
  margin-bottom: 10px;
  letter-spacing: -.015em;
}
.var-card p { font-size: 15.2px; line-height: 1.62; color: var(--on-ink-soft); margin: 0; }

.modes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  background: var(--line-dark);
  border: 1px solid var(--line-dark);
  border-radius: var(--radius);
  overflow: hidden;
  margin-bottom: 38px;
}
.mode {
  background: var(--ink-2);
  padding: 26px 24px 28px;
}
.mode h3 { color: var(--on-ink); margin-bottom: 9px; }
.mode p { font-size: 14.4px; line-height: 1.58; color: var(--on-ink-soft); margin: 0; }

.pilot {
  background: linear-gradient(150deg, rgba(184, 153, 104, .14), rgba(238, 241, 245, .03) 58%);
  border: 1px solid var(--brass-dim);
  border-radius: var(--radius);
  padding: 38px 40px 40px;
  text-align: center;
}
.pilot h3 {
  font-family: var(--font-display);
  font-size: clamp(1.7rem, 3.4vw, 2.35rem);
  font-weight: 400;
  line-height: 1.15;
  color: var(--on-ink);
  margin-bottom: 14px;
  letter-spacing: -.015em;
}
.pilot p {
  font-size: 16px;
  line-height: 1.6;
  color: var(--on-ink-soft);
  max-width: 60ch;
  margin: 0 auto 26px;
}
.pilot .cap {
  margin: 22px auto 0;
  font-size: 13.6px;
  color: var(--on-ink-mute);
  max-width: 56ch;
}

/* ============================================================
   FAQ
   ============================================================ */
.faq-grid {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
  gap: 56px;
  align-items: start;
}
.faq-head { position: sticky; top: 104px; }
.faq-head h2 { margin-bottom: 18px; }

.faq-list details {
  border-bottom: 1px solid var(--line);
}
.faq-list details:first-child { border-top: 1px solid var(--line); }
.faq-list summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 20px 0;
  font-size: 16.4px;
  font-weight: 580;
  line-height: 1.45;
  color: var(--text);
  transition: color .18s ease;
}
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary:hover { color: var(--brass); }
.faq-list summary span {
  position: relative;
  width: 18px; height: 18px;
  flex: none;
  margin-top: 4px;
}
.faq-list summary span::before,
.faq-list summary span::after {
  content: "";
  position: absolute;
  background: var(--brass);
  transition: transform .22s ease, opacity .22s ease;
}
.faq-list summary span::before { top: 8px; left: 0; width: 18px; height: 2px; }
.faq-list summary span::after  { left: 8px; top: 0; width: 2px; height: 18px; }
.faq-list details[open] summary span::after { transform: scaleY(0); opacity: 0; }
.faq-list details[open] summary { color: var(--brass); }
.faq-list details p {
  margin: 0 0 22px;
  padding-right: 38px;
  font-size: 15.6px;
  line-height: 1.68;
  color: var(--text-soft);
}

/* ============================================================
   CTA FINAL
   ============================================================ */
.final {
  position: relative;
  background: var(--ink);
  color: var(--on-ink);
  padding: 108px 0 112px;
  overflow: hidden;
  text-align: center;
}
.final::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(700px 380px at 50% 0%, rgba(184, 153, 104, .15), transparent 65%),
    radial-gradient(560px 380px at 80% 100%, rgba(201, 174, 130, .09), transparent 62%);
  pointer-events: none;
}
.final .shell { position: relative; z-index: 1; max-width: var(--narrow); }
.final .kicker { justify-content: center; }
.final .kicker::before { display: none; }
.final h2 { margin-bottom: 20px; }
.final p { font-size: 1.14rem; color: var(--on-ink-soft); margin-bottom: 32px; }
.final small {
  display: block;
  margin-top: 22px;
  font-size: 13.4px;
  color: var(--on-ink-mute);
}

/* ============================================================
   FOOTER
   ============================================================ */
.lp-footer {
  background: #050b1d;
  color: var(--on-ink-mute);
  padding: 52px 0 40px;
  border-top: 1px solid var(--line-dark-2);
}
.footer-main {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 30px;
  padding-bottom: 30px;
  border-bottom: 1px solid var(--line-dark-2);
}
.footer-id strong {
  display: block;
  color: var(--on-ink);
  font-size: 15px;
  font-weight: 620;
  margin-bottom: 4px;
}
.footer-id span { font-size: 13.4px; display: block; line-height: 1.6; }
.footer-brand { display: inline-flex; align-items: center; gap: 13px; text-decoration: none; }
.footer-brand img { width: 48px; height: 48px; object-fit: contain; }
.footer-brand .brand-name {
  padding-left: 13px;
  border-left: 1px solid rgba(184, 153, 104, .38);
  color: var(--on-ink);
  font-family: var(--font-display);
  font-size: 1.15rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.footer-brand .brand-name small {
  display: block;
  margin-top: 5px;
  color: var(--brass-soft);
  font-family: "Montserrat", var(--font-body);
  font-size: .56rem;
  font-weight: 600;
  letter-spacing: .32em;
}
.footer-contact { text-align: right; }
.footer-contact a {
  display: block;
  color: var(--on-ink-soft);
  text-decoration: none;
  font-size: 15px;
  font-weight: 560;
  margin-bottom: 4px;
}
.footer-contact a:hover { color: var(--brass-soft); }
.footer-contact span { font-size: 13.2px; }

.footer-legal {
  padding-top: 26px;
  display: flex;
  flex-wrap: wrap;
  gap: 18px 40px;
  justify-content: space-between;
  align-items: flex-end;
}
.footer-legal p {
  font-size: 12.6px;
  line-height: 1.72;
  max-width: 74ch;
  margin: 0;
}
.footer-legal a { color: var(--on-ink-soft); }
.footer-legal > span { font-size: 12.6px; white-space: nowrap; }

/* ============================================================
   STICKY MOBILE CTA + CONSENTIMENTO
   ============================================================ */
.mobile-cta {
  display: none;
  position: fixed;
  left: 14px;
  right: 14px;
  bottom: 14px;
  z-index: 80;
}
.mobile-cta a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 15px 20px;
  border-radius: 999px;
  background: var(--wa);
  color: #fff;
  font-size: 15.5px;
  font-weight: 640;
  text-decoration: none;
  box-shadow: 0 10px 30px rgba(7, 17, 43, .34);
}
.mobile-cta svg { width: 19px; height: 19px; fill: currentColor; }

.consent {
  position: fixed;
  left: 16px;
  bottom: 16px;
  z-index: 95;
  max-width: 400px;
  background: var(--ink-2);
  color: var(--on-ink-soft);
  border: 1px solid var(--line-dark);
  border-radius: var(--radius);
  padding: 20px 22px;
  box-shadow: var(--shadow-lg);
}
.consent strong { display: block; color: var(--on-ink); font-size: 14.6px; margin-bottom: 6px; }
.consent p { font-size: 13.4px; line-height: 1.58; margin: 0 0 16px; }
.consent a { color: var(--brass-soft); }
.consent-actions { display: flex; gap: 10px; }
.consent button {
  flex: 1;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid var(--line-dark);
  background: transparent;
  color: var(--on-ink-soft);
  font-family: var(--font-body);
  font-size: 13.4px;
  font-weight: 600;
  cursor: pointer;
  transition: background .18s ease, color .18s ease, border-color .18s ease;
}
.consent button:hover { border-color: var(--on-ink-mute); color: var(--on-ink); }
.consent .accept { background: var(--brass); border-color: var(--brass); color: var(--ink); }
.consent .accept:hover { background: var(--brass-soft); color: var(--ink); }

/* ============================================================
   RESPONSIVO
   ============================================================ */
@media (max-width: 1040px) {
  .hero-grid { grid-template-columns: 1fr; gap: 46px; }
  .hero-card { max-width: 560px; }
  .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 20px; }
  .pain-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; }
  .steps::before { display: none; }
  .sla-bar { grid-template-columns: 1fr; }
  .signer-grid { grid-template-columns: 1fr; gap: 46px; }
  .signer-photo { max-width: 300px; }
  .faq-grid { grid-template-columns: 1fr; gap: 38px; }
  .faq-head { position: static; }
  .modes { grid-template-columns: 1fr; }
}

@media (max-width: 780px) {
  body { font-size: 16px; }
  .section { padding: 74px 0; }
  .section-tight { padding: 56px 0; }
  .shell { padding: 0 20px; }
  .hero-eyebrow .hide-sm,
  .hero-eyebrow i:last-of-type { display: none; }
  .hero { padding: calc(78px + 62px) 0 76px; }
  .hero-actions .btn { width: 100%; }
  .hero-proof { gap: 12px; flex-direction: column; }
  .pain-grid { grid-template-columns: 1fr; }
  .case-list { grid-template-columns: 1fr; }
  .cases-head, .case-list li, .cases-foot { padding-left: 22px; padding-right: 22px; }
  .ledger { grid-template-columns: 1fr; }
  .menu-grid { grid-template-columns: 1fr; }
  .standard-grid { grid-template-columns: 1fr; gap: 26px; }
  .steps { grid-template-columns: 1fr; gap: 26px; }
  .pricing-grid { grid-template-columns: 1fr; }
  .pilot { padding: 30px 24px 32px; }
  .pilot .btn { width: 100%; }
  .final { padding: 76px 0 84px; }
  .final .btn { width: 100%; }
  .footer-contact { text-align: left; }
  .footer-legal { flex-direction: column; align-items: flex-start; }
  .mobile-cta { display: block; }
  body { padding-bottom: 76px; }
  .consent { left: 12px; right: 12px; bottom: 84px; max-width: none; }
  .signer-seal { right: 10px; }
  .hero-card .card-foot { margin-left: -30px; margin-right: -30px; }
}

@media (max-width: 460px) {
  .metric-grid { grid-template-columns: 1fr; }
  .hero-card { padding: 24px 22px 22px; }
  .hero-card .card-foot { margin: 20px -22px -22px; padding: 16px 22px; }
  .pain { padding: 26px 22px 28px; }
  .menu-card { padding: 28px 22px 26px; }
  .ledger-col { padding: 26px 22px 28px; }
}

/* ---------- Impressão ---------- */
@media print {
  .mobile-cta, .consent, .hero::after { display: none !important; }
  body { background: #fff; color: #000; }
}
