/* LP Recuperação de Créditos Tributários · EG Advogados
   Identidade do eg.adv.br: mesmos tokens, textura fixa, header, cartões de
   vidro, sócios e rodapé em card das outras LPs da EG. */

/* ═══════════════════════════════════════════
   DESIGN TOKENS · idênticos ao eg.adv.br
═══════════════════════════════════════════ */
:root {
  --bg-primary:    #FFFFFF;
  --bg-secondary:  #F7F8FA;
  --bg-deep:       #0E1A2B;
  --bg-base:       #070D1E;   /* chão do site, atrás da textura fixa */
  --ink-primary:   #1A3A5C;
  --ink-accent:    #2A5A8C;
  /* Sem preto: sobre fundo claro o texto é o azul marinho da marca.
     Pedido do escritório. */
  --text-primary:  #1A3A5C;
  --text-secondary:#42586F;
  --text-on-deep:  #E6EDF5;
  --border-subtle: #E2E8F0;
  --accent-quiet:  #94A3B8;
  --sky:           #85D6FF;
  --sky-strong:    #14AEEF;

  --r-sm:  8px;
  --r-md:  16px;
  --r-lg:  24px;
}

/* ═══════════════════════════════════════════
   RESET & BASE
═══════════════════════════════════════════ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; overflow-x: hidden; scroll-padding-top: 120px; background: var(--bg-base); }
body {
  background: transparent;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: var(--text-primary);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
  width: 100%;
}
img { max-width: 100%; display: block; }
a  { color: inherit; text-decoration: none; }
button { cursor: pointer; border: none; background: none; font-family: inherit; }
ul, ol { list-style: none; }

/* ═══════════════════════════════════════════
   TEXTURA FIXA · mesma receita do eg.adv.br, imagem do tema
   No lugar da fachada entra um gráfico de barras em 3D (5 fileiras = 5 anos
   de recolhimento), renderizado a partir de render/textura-graficos.html.
   Barras claras sobre escuro: é o contraste que sobrevive ao soft-light,
   igual às janelas acesas da torre. Sem texto, sem valores.
═══════════════════════════════════════════ */
.site-bg {
  position: fixed; inset: 0; pointer-events: none; z-index: -1;
  background-color: var(--bg-base);
  background-image:
    radial-gradient(circle at 8% 86%, rgba(0,139,214,.42) 0 8%, rgba(0,139,214,.18) 22%, transparent 44%),
    linear-gradient(160deg, rgba(10,20,48,.60), rgba(7,13,30,.74)),
    url('../img/fundo-graficos.webp'),
    url('data:image/webp;base64,UklGRmQAAABXRUJQVlA4IFgAAACwBACdASogABQAPuVgpk2pJaOiN/VYASAciWcAwNxFX8GJBV8X6S3/Ycx8yYTQAP72gaOBO4Jxp6ELsnGFvGw8kwt1qQD+h3fhUPK0lJxZNJbZvdW4JAAA');
  background-size: auto, cover, cover, cover;
  background-position: center, center, center right, center right;
  background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
  background-blend-mode: screen, normal, soft-light, normal;
}
/* O véu é global e fixo: assim não existe "área descoberta" entre uma
   seção e outra mostrando a textura sem filtro. */
.site-veu {
  position: fixed; inset: 0; pointer-events: none; z-index: -1;
  background: linear-gradient(180deg, rgba(7,13,30,.50), rgba(9,17,38,.42));
}

.canvas-deep {
  position: relative; isolation: isolate; overflow: hidden;
  color: var(--text-on-deep);
}
.canvas-deep::before {
  content: ''; position: absolute; inset: 0; pointer-events: none; z-index: -1;
  background: rgba(7,13,30,.16);
}
.canvas-paper {
  position: relative; isolation: isolate; overflow: hidden;
  background: linear-gradient(180deg, #FFFFFF 0%, #F6FAFD 100%);
}
.canvas-paper-soft {
  position: relative; isolation: isolate; overflow: hidden;
  background: linear-gradient(180deg, #EFF4F9 0%, #FDFEFF 100%);
}
/* fio de luz separando as faixas claras das escuras */
.canvas-paper::before, .canvas-paper-soft::before {
  content: ''; position: absolute; inset: 0 0 auto 0; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(148,178,213,.42), transparent);
}

/* ═══════════════════════════════════════════
   LAYOUT
═══════════════════════════════════════════ */
.container { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 24px; position: relative; z-index: 1; }
@media (min-width: 768px) { .container { padding: 0 48px; } }

.section { padding: 80px 0; }
@media (min-width: 768px) { .section { padding: 104px 0; } }

/* ═══════════════════════════════════════════
   TIPOGRAFIA
═══════════════════════════════════════════ */
.eyebrow {
  display: inline-flex; align-items: center; gap: 12px;
  font-size: 11px; font-weight: 600; letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--ink-primary); margin-bottom: 20px;
}
.eyebrow::before { content: ''; display: block; width: 28px; height: 2px; background: currentColor; flex-shrink: 0; }
.eyebrow--light  { color: var(--sky); }
.eyebrow--center         { justify-content: center; }
.eyebrow--center::before { display: none; }

.display-lg { font-size: clamp(28px, 3.8vw, 44px); font-weight: 700; line-height: 1.1;  letter-spacing: -0.022em; text-wrap: balance; }
.display-md { font-size: clamp(24px, 3vw, 36px);   font-weight: 700; line-height: 1.15; letter-spacing: -0.02em;  text-wrap: balance; }
.lead { font-size: 18px; line-height: 1.65; color: var(--text-secondary); }
.lead--on-deep { color: rgba(230,237,245,.72); }

.section-intro { margin-bottom: 56px; max-width: 720px; }
.section-intro .lead { margin-top: 16px; }
.section-intro--on-deep .display-lg,
.section-intro--on-deep .display-md { color: var(--text-on-deep); }

/* ═══════════════════════════════════════════
   BOTÕES · paleta navy e branco
═══════════════════════════════════════════ */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 15px 28px; border-radius: var(--r-sm);
  font-size: 15px; font-weight: 600; white-space: nowrap;
  border: 1px solid transparent;
  transition: background 180ms, color 180ms, border-color 180ms, transform 180ms;
}
.btn-solid { background: var(--ink-primary); color: #fff; }
.btn-solid:hover { background: var(--ink-accent); transform: translateY(-1px); }
.btn-light { background: #fff; color: var(--ink-primary); }
.btn-light:hover { background: #E8F2FB; transform: translateY(-1px); }
.btn-ghost { background: transparent; color: var(--text-on-deep); border-color: rgba(195,217,238,.38); }
.btn-ghost:hover { border-color: rgba(195,217,238,.72); background: rgba(255,255,255,.06); }
.btn-ghost-dark { background: transparent; color: var(--ink-primary); border-color: rgba(26,58,92,.28); }
.btn-ghost-dark:hover { border-color: rgba(26,58,92,.55); background: rgba(26,58,92,.05); }
.btn svg { width: 17px; height: 17px; flex-shrink: 0; }

.section-cta { margin-top: 46px; display: flex; flex-wrap: wrap; gap: 14px; }
.section-cta--center { justify-content: center; }

/* ═══════════════════════════════════════════
   HEADER
═══════════════════════════════════════════ */
.header {
  position: fixed; inset: 0 0 auto 0; height: 112px; z-index: 200;
  display: flex; align-items: center; background: transparent; overflow: hidden;
  transition: transform 320ms ease, background 260ms ease, box-shadow 260ms ease;
}
.header--solid { background: rgba(6, 14, 32, .74); box-shadow: 0 12px 38px rgba(0,0,0,.22); backdrop-filter: blur(18px); }
.header.is-hidden { transform: translateY(-100%); }
.header__inner { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 112px; gap: 16px; }

.brand-lockup {
  display: flex; flex-direction: row; align-items: center; gap: 13px;
  line-height: 1; min-width: 0; color: #fff; filter: drop-shadow(0 8px 18px rgba(0,0,0,.24));
}
.brand-lockup__mark { height: 40px; width: auto; flex-shrink: 0; }
.brand-lockup__rule { width: 1px; height: 32px; background: rgba(230,237,245,.26); flex-shrink: 0; }
.brand-lockup__text { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; min-width: 0; }
.brand-lockup__name { font-size: 21px; font-weight: 800; color: #fff; letter-spacing: -0.01em; }
.brand-lockup__meta {
  margin-top: 7px; font-size: 9.5px; font-weight: 800; letter-spacing: .16em;
  color: var(--sky); text-transform: uppercase; white-space: nowrap;
}
@media (max-width: 1023px) {
  .brand-lockup__mark { height: 34px; }
  .brand-lockup__name { font-size: 19px; }
}
@media (max-width: 480px) {
  .brand-lockup { gap: 10px; }
  .brand-lockup__mark { height: 29px; }
  .brand-lockup__rule { height: 25px; }
  .brand-lockup__name { font-size: 16px; }
  .brand-lockup__meta { margin-top: 5px; font-size: 7.5px; letter-spacing: .1em; }
  .header { height: 88px; }
  .header__inner { min-height: 88px; }
}

.nav { display: none; align-items: center; gap: 32px; }
@media (min-width: 1024px) { .nav { display: flex; } }
.nav__link { font-size: 14.5px; font-weight: 600; color: rgba(230,237,245,.72); transition: color 180ms; white-space: nowrap; }
.nav__link:hover { color: var(--text-on-deep); }

.header__cta { display: none; }
@media (min-width: 768px) { .header__cta { display: inline-flex; } }

.hamburger { display: flex; flex-direction: column; gap: 5px; width: 22px; padding: 3px 0; }
@media (min-width: 1024px) { .hamburger { display: none; } }
.hamburger span { display: block; height: 2px; background: var(--text-on-deep); border-radius: 2px; transition: all 240ms; }
.hamburger.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.hamburger.is-open span:nth-child(2) { opacity: 0; }
.hamburger.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.mobile-menu-backdrop {
  position: fixed; inset: 0; z-index: 210; background: rgba(4, 9, 18, .58);
  opacity: 0; visibility: hidden; transition: opacity 220ms ease, visibility 220ms ease;
}
.mobile-menu-backdrop.is-open { opacity: 1; visibility: visible; }
.mobile-menu {
  position: fixed; top: 0; right: -340px; bottom: 0;
  width: min(312px, calc(100vw - 68px)); background: #fff;
  padding: 26px 20px 28px; z-index: 260; display: flex; flex-direction: column;
  box-shadow: -28px 0 68px rgba(4, 9, 18, .30);
  transition: right 280ms cubic-bezier(.22,1,.36,1);
  overflow-y: auto;
}
.mobile-menu.is-open { right: 0 !important; }
@media (min-width: 1024px) { .mobile-menu { display: none !important; } }
.mobile-menu__top { display: flex; justify-content: flex-end; align-items: center; min-height: 32px; margin-bottom: 24px; }
.mobile-menu__close { width: 32px; height: 32px; display: grid; place-items: center; color: var(--ink-primary); border-radius: 50%; transition: background 160ms; }
.mobile-menu__close:hover { background: rgba(26, 58, 92, .08); }
.mobile-menu__close svg { width: 20px; height: 20px; stroke-width: 2; fill: none; stroke: currentColor; }
.mobile-menu__link { display: block; padding: 12px 2px; font-size: 16px; font-weight: 800; color: var(--ink-primary); }
.mobile-menu__link--cta {
  display: flex; align-items: center; justify-content: center; text-align: center;
  min-height: 52px; margin: 16px 0 26px; border-radius: 8px;
  font-size: 14px; font-weight: 800; background: var(--ink-primary); color: #fff;
}
.mobile-menu__divider { height: 1px; background: rgba(15, 23, 42, .12); margin: 0 0 22px; }
.mobile-menu__meta { color: #7B8799; font-size: 13px; font-weight: 700; line-height: 1.5; }

/* ═══════════════════════════════════════════
   HERO
═══════════════════════════════════════════ */
.hero { padding-top: 112px; min-height: 100svh; display: flex; align-items: center; }
.hero::before {
  background: linear-gradient(96deg, rgba(7,13,30,.80) 0%, rgba(7,13,30,.48) 36%, rgba(7,13,30,0) 64%, rgba(7,13,30,.22) 100%);
}
.hero__grid { display: grid; grid-template-columns: 1fr; gap: 40px; align-items: center; padding: 64px 0 56px; }
@media (min-width: 1024px) { .hero__grid { grid-template-columns: 1fr 420px; gap: 72px; padding: 96px 0 86px; } }

.hero__eyebrow {
  display: inline-flex; align-items: center; gap: 12px;
  font-size: 11px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--sky); margin-bottom: 28px;
}
.hero__eyebrow::before { content: ''; width: 28px; height: 1.5px; background: var(--sky); display: block; flex-shrink: 0; }

.hero__headline {
  font-size: clamp(30px, 4.2vw, 50px); font-weight: 700; line-height: 1.08;
  letter-spacing: -0.025em; color: var(--text-on-deep); margin-bottom: 22px;
  text-wrap: balance;
}
.hero__headline strong { display: block; font-weight: 700; color: #fff; }
.hero__headline mark { background: none; color: var(--sky-strong); font-weight: 700; }

.hero__subhead { font-size: 17px; line-height: 1.62; color: var(--text-on-deep); opacity: .74; margin-bottom: 14px; max-width: 540px; }
.hero__location { font-size: 12.5px; color: var(--text-on-deep); opacity: .48; margin-bottom: 34px; letter-spacing: 0.02em; }
.hero__ctas { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; }
@media (max-width: 460px) {
  .hero__ctas { flex-direction: column; align-items: stretch; }
  .hero__ctas .btn { width: 100%; white-space: normal; text-align: center; }
}

.hero__visual { position: relative; display: flex; justify-content: center; width: 100%; }
.hero__art { position: relative; width: 100%; max-width: 460px; }
.hero__glass {
  position: relative; width: 100%; padding: 28px 24px;
  border: 1.5px solid rgba(195,217,238,.42); border-radius: 20px;
  background:
    radial-gradient(circle at 42% 36%, rgba(236,255,246,.14), transparent 22%),
    radial-gradient(circle at 78% 58%, rgba(20,174,239,.14), transparent 28%),
    linear-gradient(145deg, rgba(255,255,255,.13), rgba(255,255,255,.04));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.22), 0 24px 60px rgba(0,0,0,.38);
  backdrop-filter: blur(22px);
}
.hero__glass-brand {
  display: flex; align-items: center; gap: 14px;
  padding-bottom: 20px; margin-bottom: 20px;
  border-bottom: 1px solid rgba(195,217,238,.20);
}
.hero__glass-logo { height: 52px; width: auto; flex-shrink: 0; filter: drop-shadow(0 6px 16px rgba(0,0,0,.32)); }
.hero__glass-brand-name { font-size: 17px; font-weight: 800; color: #fff; letter-spacing: -0.01em; line-height: 1.1; }
.hero__glass-eyebrow { font-size: 10px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--sky); margin-bottom: 16px; }
.perfil { display: flex; flex-direction: column; }
.perfil__row { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding: 11px 0; }
.perfil__row + .perfil__row { border-top: 1px solid rgba(195,217,238,.14); }
.perfil__k { flex-shrink: 0; font-size: 9.5px; font-weight: 700; letter-spacing: 0.13em; text-transform: uppercase; color: rgba(230,237,245,.46); }
.perfil__v { font-size: 14.5px; font-weight: 600; line-height: 1.35; color: #fff; text-align: right; }

.hero__creds {
  margin-top: 20px; padding-top: 16px; border-top: 1px solid rgba(195,217,238,.20);
  display: flex; flex-wrap: wrap; gap: 6px 10px;
}
.hero__cred {
  font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  color: var(--sky); background: rgba(20,174,239,.10);
  border: 1px solid rgba(20,174,239,.22); border-radius: 999px; padding: 5px 10px;
}

@media (max-width: 1023px) { .hero__visual { max-width: 480px; margin: 0 auto; } }
@media (max-width: 640px) {
  .hero { min-height: auto; align-items: flex-start; }
  .hero__grid { padding: 40px 0 32px; gap: 28px; }
  .hero__glass { padding: 22px 18px; }
}

/* ═══════════════════════════════════════════
   AFIRMAÇÃO · faixa fina logo abaixo do herói
═══════════════════════════════════════════ */
.afirmacao { padding: 62px 0; }
.afirmacao__inner {
  max-width: 900px; margin: 0 auto; text-align: center;
  padding: 0 0 0 0;
}
.afirmacao__frase {
  font-size: clamp(22px, 3.1vw, 34px); font-weight: 700; line-height: 1.22;
  letter-spacing: -0.02em; color: var(--ink-primary); text-wrap: balance;
}
.afirmacao__apoio {
  margin-top: 18px; font-size: 16.5px; line-height: 1.65; color: var(--text-secondary);
  max-width: 660px; margin-left: auto; margin-right: auto;
}
.afirmacao__rule {
  width: 46px; height: 3px; border-radius: 2px; margin: 0 auto 26px;
  background: linear-gradient(90deg, var(--ink-primary), var(--sky-strong));
}
@media (max-width: 767px) { .afirmacao { padding: 48px 0; } }

/* ═══════════════════════════════════════════
   POSICIONAMENTO · três cartões claros
═══════════════════════════════════════════ */
.gestao-grid { display: grid; grid-template-columns: 1fr; gap: 16px; }
@media (min-width: 640px)  { .gestao-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1000px) { .gestao-grid { grid-template-columns: repeat(3, 1fr); } }
.gestao-card {
  background: linear-gradient(158deg, #FFFFFF 0%, #F1F8FF 100%);
  border: 1px solid var(--border-subtle); border-radius: var(--r-md);
  padding: 26px 24px; min-width: 0;
  transition: box-shadow 280ms, transform 280ms, border-color 280ms;
}
.gestao-card:hover { box-shadow: 0 16px 42px -16px rgba(15,23,42,.16); transform: translateY(-3px); border-color: rgba(42,90,140,.24); }
.gestao-card__num {
  font-size: 10px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase;
  color: var(--accent-quiet); margin-bottom: 12px;
}
.gestao-card__title { font-size: 16.5px; font-weight: 700; color: var(--text-primary); margin-bottom: 8px; letter-spacing: -0.01em; }
.gestao-card__text { font-size: 14px; line-height: 1.6; color: var(--text-secondary); }
.gestao__closing {
  margin-top: 34px; padding: 20px 24px;
  background: rgba(26,58,92,.045); border-left: 3px solid var(--ink-primary); border-radius: var(--r-sm);
  font-size: 15px; line-height: 1.65; color: var(--text-secondary);
}
.gestao__closing strong { color: var(--text-primary); font-weight: 700; }

/* ═══════════════════════════════════════════
   MÉTODO · quatro etapas sobre fundo navy
═══════════════════════════════════════════ */
.etapas-grid { display: grid; grid-template-columns: 1fr; gap: 20px; }
@media (min-width: 760px) { .etapas-grid { grid-template-columns: repeat(2, 1fr); } }

.etapa-card {
  border-radius: var(--r-lg); min-width: 0;
  background: linear-gradient(150deg, rgba(255,255,255,.085), rgba(255,255,255,.028));
  border: 1px solid rgba(148,178,213,.22);
  backdrop-filter: blur(8px);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10);
  transition: transform 320ms ease, border-color 320ms ease, box-shadow 320ms ease;
  padding: 32px 30px 28px;
  display: grid; grid-template-columns: auto 1fr; column-gap: 20px; align-items: start;
}
.etapa-card:hover { transform: translateY(-4px); border-color: rgba(45,166,255,.45); box-shadow: 0 28px 60px -20px rgba(3,10,20,.42); }
.etapa-card__icon {
  width: 48px; height: 48px; border-radius: 14px; flex-shrink: 0;
  background: rgba(20,174,239,.13); border: 1px solid rgba(20,174,239,.30);
  display: grid; place-items: center; color: var(--sky);
  grid-row: span 2;
}
.etapa-card__icon svg { width: 22px; height: 22px; stroke-width: 1.7; fill: none; stroke: currentColor; }
.etapa-card__num {
  font-size: 10px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase;
  color: rgba(133,214,255,.78); margin-bottom: 7px;
}
.etapa-card__title {
  font-size: 21px; font-weight: 700; color: #fff;
  margin-bottom: 12px; letter-spacing: -0.015em; line-height: 1.2;
}
.etapa-card__body { grid-column: 2; }
.etapa-card__desc { font-size: 14.5px; line-height: 1.6; color: rgba(230,237,245,.72); }
@media (max-width: 520px) {
  .etapa-card { grid-template-columns: 1fr; row-gap: 18px; padding: 26px 22px 24px; }
  .etapa-card__icon { grid-row: auto; }
  .etapa-card__body { grid-column: 1; }
  .etapa-card__title { font-size: 19px; }
}

/* ═══════════════════════════════════════════
   SEU CASO · lista de verificação
═══════════════════════════════════════════ */
.caso-grid { display: grid; grid-template-columns: 1fr; gap: 48px; align-items: start; }
@media (min-width: 1024px) { .caso-grid { grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr); gap: 72px; } }

.checklist { display: flex; flex-direction: column; gap: 14px; }
.check-item {
  display: grid; grid-template-columns: 34px 1fr; gap: 16px; align-items: start;
  background: rgba(255,255,255,.92); border: 1px solid var(--border-subtle);
  border-radius: var(--r-md); padding: 20px 22px; min-width: 0;
  transition: box-shadow 280ms, transform 280ms, border-color 280ms;
}
.check-item:hover { box-shadow: 0 16px 42px -16px rgba(15,23,42,.16); transform: translateY(-2px); border-color: rgba(42,90,140,.24); }
.check-item__mark {
  width: 34px; height: 34px; border-radius: 10px; flex-shrink: 0;
  background: rgba(26,58,92,.07); border: 1px solid rgba(26,58,92,.16);
  display: grid; place-items: center; color: var(--ink-primary);
}
.check-item__mark svg { width: 17px; height: 17px; stroke-width: 2.2; fill: none; stroke: currentColor; }
.check-item__text { font-size: 15.5px; line-height: 1.55; color: var(--text-primary); font-weight: 600; }
.check-item__text span { display: block; margin-top: 5px; font-size: 13.5px; font-weight: 500; color: var(--text-secondary); }

.caso__nota {
  margin-top: 26px; padding: 18px 22px;
  background: rgba(26,58,92,.045); border-left: 3px solid var(--ink-primary); border-radius: var(--r-sm);
  font-size: 14.5px; line-height: 1.65; color: var(--text-secondary);
}
.caso__nota strong { color: var(--text-primary); font-weight: 700; }

/* ═══════════════════════════════════════════
   PEDIDOS · o que pode ser pedido
═══════════════════════════════════════════ */
.pedidos { display: flex; flex-direction: column; gap: 14px; }
.pedido-card {
  display: grid; grid-template-columns: 44px 1fr; gap: 18px; align-items: start;
  border-radius: var(--r-md); padding: 24px 26px; min-width: 0;
  background: linear-gradient(150deg, rgba(255,255,255,.085), rgba(255,255,255,.028));
  border: 1px solid rgba(148,178,213,.22);
  backdrop-filter: blur(8px);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10);
  transition: transform 320ms ease, border-color 320ms ease;
}
.pedido-card:hover { transform: translateY(-3px); border-color: rgba(45,166,255,.45); }
.pedido-card__icon {
  width: 44px; height: 44px; border-radius: 12px; flex-shrink: 0;
  background: rgba(20,174,239,.13); border: 1px solid rgba(20,174,239,.30);
  display: grid; place-items: center; color: var(--sky);
}
.pedido-card__icon svg { width: 20px; height: 20px; stroke-width: 1.8; fill: none; stroke: currentColor; }
.pedido-card__title { font-size: 17px; font-weight: 700; color: #fff; margin-bottom: 6px; letter-spacing: -0.01em; line-height: 1.3; }
.pedido-card__desc { font-size: 14.5px; line-height: 1.6; color: rgba(230,237,245,.72); }
@media (max-width: 520px) {
  .pedido-card { grid-template-columns: 1fr; row-gap: 14px; padding: 22px 20px; }
}

.prazo-nota {
  margin-top: 30px; padding: 20px 24px; border-radius: var(--r-md);
  background: rgba(255,255,255,.05); border-left: 3px solid rgba(133,214,255,.5);
  font-size: 15px; line-height: 1.68; color: rgba(230,237,245,.78);
}
.prazo-nota strong { color: #fff; font-weight: 700; }

/* ═══════════════════════════════════════════
   SÓCIOS
═══════════════════════════════════════════ */
.equipe__intro { text-align: center; margin-bottom: 58px; max-width: 720px; margin-left: auto; margin-right: auto; }
.equipe .eyebrow--center { color: var(--sky); margin-bottom: 22px; }
.equipe-grid { display: grid; grid-template-columns: 1fr; gap: 24px; max-width: 880px; margin: 0 auto; }
@media (min-width: 640px) { .equipe-grid { grid-template-columns: repeat(2, 1fr); gap: 36px; } }

.pessoa-card {
  padding: 32px; border-radius: 22px; min-width: 0;
  background:
    radial-gradient(circle at 86% 86%, rgba(0,139,214,.16), transparent 36%),
    linear-gradient(145deg, rgba(255,255,255,.09), rgba(255,255,255,.028));
  border: 1px solid rgba(195,217,238,.22);
  backdrop-filter: blur(10px);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 28px 72px rgba(0,0,0,.30);
  transition: box-shadow 300ms, transform 300ms;
}
.pessoa-card:hover { transform: translateY(-4px); box-shadow: inset 0 1px 0 rgba(255,255,255,.22), 0 34px 84px rgba(0,0,0,.40); }
.pessoa-card__photo {
  width: 100%; aspect-ratio: 4 / 5; overflow: hidden; border-radius: 14px;
  margin-bottom: 24px; background: #0B1730;
}
.pessoa-card__photo img {
  width: 100%; height: 100%;
  object-fit: cover; object-position: 50% 12%;
  filter: saturate(.96) contrast(1.03);
}
.pessoa-card__oab { font-size: 10px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--sky); margin-bottom: 10px; }
.pessoa-card__name { font-size: 22px; font-weight: 800; color: #fff; line-height: 1.1; margin-bottom: 6px; }
.pessoa-card__role { font-size: 13px; font-weight: 600; color: rgba(230,237,245,.62); margin-bottom: 18px; }
.pessoa-card__bio  { font-size: 14px; line-height: 1.68; color: rgba(230,237,245,.74); }

/* ═══════════════════════════════════════════
   PERGUNTAS · acordeão nativo, sem JS
═══════════════════════════════════════════ */
.faq { max-width: 860px; margin: 0 auto; display: flex; flex-direction: column; gap: 12px; }
.faq-item {
  background: rgba(255,255,255,.92); border: 1px solid var(--border-subtle);
  border-radius: var(--r-md); overflow: hidden;
  transition: border-color 240ms, box-shadow 240ms;
}
.faq-item[open] { border-color: rgba(42,90,140,.28); box-shadow: 0 16px 42px -18px rgba(15,23,42,.18); }
.faq-item__q {
  list-style: none; cursor: pointer;
  display: flex; align-items: flex-start; justify-content: space-between; gap: 18px;
  padding: 22px 24px;
  font-size: 16.5px; font-weight: 700; line-height: 1.45; color: var(--text-primary);
  letter-spacing: -0.005em;
}
.faq-item__q::-webkit-details-marker { display: none; }
.faq-item__q:hover { color: var(--ink-accent); }
.faq-item__sinal {
  flex-shrink: 0; width: 26px; height: 26px; border-radius: 50%; margin-top: 1px;
  background: rgba(26,58,92,.07); border: 1px solid rgba(26,58,92,.16);
  display: grid; place-items: center; color: var(--ink-primary);
  transition: transform 260ms ease, background 200ms;
}
.faq-item__sinal svg { width: 13px; height: 13px; stroke-width: 2.4; fill: none; stroke: currentColor; }
.faq-item[open] .faq-item__sinal { transform: rotate(180deg); background: rgba(26,58,92,.12); }
.faq-item__a {
  padding: 0 24px 24px;
  font-size: 15px; line-height: 1.7; color: var(--text-secondary);
  max-width: 68ch;
}
.faq-item__a p + p { margin-top: 12px; }
@media (max-width: 480px) {
  .faq-item__q { padding: 18px 18px; font-size: 15.5px; }
  .faq-item__a { padding: 0 18px 20px; font-size: 14.5px; }
}

/* ═══════════════════════════════════════════
   CONTATO
═══════════════════════════════════════════ */
#contato::after {
  content: ''; position: absolute; inset: 0 0 auto 0; height: 1px; z-index: 2;
  background: linear-gradient(90deg, transparent, rgba(148,178,213,.30), transparent);
}

.contato-grid { display: grid; grid-template-columns: 1fr; gap: 52px; }
@media (min-width: 1024px) { .contato-grid { grid-template-columns: 1fr 1fr; gap: 72px; align-items: start; } }

.contato__ctas { display: flex; flex-wrap: wrap; gap: 12px; margin: 24px 0 30px; }
.contato-details { display: flex; flex-direction: column; gap: 14px; }
.contato-detail { display: flex; align-items: flex-start; gap: 12px; font-size: 15px; color: rgba(230,237,245,.76); line-height: 1.5; }
.contato-detail svg { width: 17px; height: 17px; color: var(--sky); flex-shrink: 0; margin-top: 3px; stroke-width: 1.75; fill: none; stroke: currentColor; }
.contato-detail strong { color: #fff; display: block; margin-bottom: 2px; }
.contato-detail a:hover { color: #fff; }
.contato__note {
  margin-top: 22px; padding: 14px 18px; background: rgba(255,255,255,.05);
  border-radius: var(--r-sm); border-left: 3px solid rgba(133,214,255,.5);
  font-size: 13px; line-height: 1.6; color: rgba(230,237,245,.7);
}
.contato-map { border-radius: var(--r-md); overflow: hidden; height: 440px; border: 1px solid rgba(148,178,213,.22); }
.contato-map iframe { width: 100%; height: 100%; border: none; display: block; }

/* ═══════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════ */
.footer { background: transparent; padding: 0 0 48px; position: relative; isolation: isolate; overflow: hidden; }
/* O card do rodapé é mais largo que o resto da página, mas nunca encosta na
   borda da tela. `max-width: 1620px` sozinho não garante isso: abaixo de
   1620px de viewport o card virava full-bleed e colava nos dois lados, o que
   pega 1280, 1366, 1440 e 1536 — quase todo notebook. O `min()` mantém os
   mesmos 48px de gutter que o `.container` das outras seções usa, e só deixa
   o card chegar a 1620 quando sobra tela pra isso. */
.footer > .container {
  width: min(1620px, calc(100% - 96px)); max-width: none; overflow: hidden;
  border-radius: 28px; border: 1px solid rgba(148,178,213,.22);
  background: linear-gradient(120deg, rgba(10,20,48,.72) 0%, rgba(16,27,63,.66) 50%, rgba(7,13,30,.78) 100%);
  backdrop-filter: blur(10px);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.09), 0 28px 70px rgba(7,13,30,.28);
  padding: 62px 56px 38px;
}
.footer__grid { display: grid; grid-template-columns: 1fr; gap: 44px; margin-bottom: 58px; }
@media (min-width: 768px) {
  .footer__grid { grid-template-columns: minmax(260px, 1fr) minmax(0, 1.25fr) minmax(230px, .95fr); gap: clamp(40px, 5vw, 88px); align-items: start; }
}
.footer__brand { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; }
.footer__mark { height: 36px; width: auto; flex-shrink: 0; }
.footer__brand-name { font-size: 22px; font-weight: 800; color: #fff; }
.footer__tagline { max-width: 320px; font-size: 14px; font-weight: 500; color: rgba(230,237,245,.65); line-height: 1.55; margin: 0 0 26px; }
.footer__socials { display: flex; gap: 10px; }
.footer__social {
  width: 44px; height: 44px; border-radius: 50%;
  border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.06);
  display: flex; align-items: center; justify-content: center; color: rgba(230,237,245,.76);
  transition: border-color 180ms, color 180ms, background 180ms, transform 180ms;
}
.footer__social:hover { border-color: rgba(255,255,255,.38); background: rgba(255,255,255,.12); color: var(--text-on-deep); transform: translateY(-2px); }
.footer__social svg { width: 16px; height: 16px; stroke-width: 1.5; fill: none; stroke: currentColor; }
.footer__col-title { font-size: 14px; font-weight: 800; color: var(--sky); margin-bottom: 20px; }
.footer__links { display: flex; flex-direction: column; gap: 14px; }
@media (min-width: 1360px) {
  /* `grid-auto-flow: column` com 4 linhas fixas preenche descendo a primeira
     coluna antes de passar pra segunda. Sem isso o grid preenche em zigue-zague
     e a ordem da página sai alternada entre as duas colunas. */
  .footer__links--duas {
    display: grid; grid-auto-flow: column;
    grid-template-rows: repeat(4, auto); grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 28px;
  }
}
.footer__link { font-size: 15px; font-weight: 600; color: rgba(230,237,245,.82); transition: color 180ms, transform 180ms; }
.footer__link:hover { color: #fff; transform: translateX(2px); }
.footer__contact-line { font-size: 15px; font-weight: 600; color: rgba(230,237,245,.82); line-height: 1.5; margin-bottom: 14px; }
.footer__contact-line a:hover { color: #fff; }
.footer__bottom {
  border-top: 1px solid rgba(255,255,255,.10); padding-top: 34px;
  display: flex; flex-wrap: wrap; gap: 16px; justify-content: space-between; align-items: center;
}
.footer__copy { font-size: 13px; font-weight: 600; color: rgba(188,211,235,.68); line-height: 1.55; }
.footer__legal { font-size: 12px; font-weight: 500; color: rgba(188,211,235,.5); line-height: 1.6; max-width: 620px; margin-top: 12px; }

/* ═══════════════════════════════════════════
   WHATSAPP FLUTUANTE
═══════════════════════════════════════════ */
.wa-float {
  position: fixed; bottom: 28px; right: 28px;
  width: 56px; height: 56px; background: #25D366; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 4px 20px rgba(37,211,102,.38);
  z-index: 150; opacity: 0; transform: scale(.75); pointer-events: none;
  transition: opacity 300ms, transform 300ms, box-shadow 200ms;
}
.wa-float.is-visible { opacity: 1; transform: scale(1); pointer-events: all; }
.wa-float:hover { box-shadow: 0 8px 32px rgba(37,211,102,.5); transform: scale(1.06); }
.wa-float svg { width: 30px; height: 30px; fill: #fff; }
@media (max-width: 480px) { .wa-float { bottom: 20px; right: 20px; width: 52px; height: 52px; } }

/* ═══════════════════════════════════════════
   ENTRADA E REVEAL
═══════════════════════════════════════════ */
.entra { animation: entrar 720ms cubic-bezier(.22, 1, .36, 1) both; animation-delay: var(--atraso, 0ms); }
@keyframes entrar {
  from { opacity: 0; transform: translateY(22px); filter: blur(5px); }
  to   { opacity: 1; transform: none;             filter: blur(0); }
}
.entra--dir { animation-name: entrar-dir; }
@keyframes entrar-dir {
  from { opacity: 0; transform: translateX(30px); filter: blur(5px); }
  to   { opacity: 1; transform: none;             filter: blur(0); }
}

.reveal { opacity: 0; transform: translateY(18px); transition: opacity 540ms cubic-bezier(.22,1,.36,1), transform 540ms cubic-bezier(.22,1,.36,1); }
.reveal.is-visible { opacity: 1; transform: none; }
.reveal[data-delay="1"] { transition-delay:  80ms; }
.reveal[data-delay="2"] { transition-delay: 160ms; }
.reveal[data-delay="3"] { transition-delay: 240ms; }
.reveal[data-delay="4"] { transition-delay: 320ms; }
@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1; transform: none; transition: none; }
  .entra { animation: none; }
  html { scroll-behavior: auto; }
}

/* ═══════════════════════════════════════════
   MOBILE · vem por último e tem a palavra final.
   Alvo de toque de 44px, texto de leitura a partir de 14px
   e seções mais curtas, porque no celular a rolagem custa mais.
═══════════════════════════════════════════ */
@media (max-width: 767px) {
  .section { padding: 52px 0; }
  .hero { min-height: auto; padding-top: 88px; }
  .hero__headline { font-size: clamp(27px, 7vw, 38px); }
  .hero__subhead { font-size: 15.5px; }
  .section-intro { margin-bottom: 40px; }
  .etapas-grid, .gestao-grid { gap: 12px; }
  .gestao-card { padding: 22px 20px; }
  .gestao-card__text, .etapa-card__desc, .pedido-card__desc { font-size: 14.5px; }
  .etapa-card__desc { font-size: 15px; }
  .equipe-grid { max-width: 100%; }
  .pessoa-card { padding: 20px 18px; }
  .pessoa-card__photo { margin-bottom: 18px; }
  .pessoa-card__name { font-size: 19px; }
  .caso-grid { gap: 32px; }
  .contato-grid { gap: 32px; }
  .contato-map { height: 280px; }
  .contato__ctas .btn { width: 100%; }
  .contato__note { font-size: 14px; }

  .brand-lockup { padding: 7px 0; }
  .mobile-menu__link { padding: 14px 2px; }
  .footer__links { gap: 2px; }
  .footer__link { display: block; padding: 12px 0; }
  .footer__contact-line { margin-bottom: 2px; }
  .footer__contact-line a { display: inline-block; padding: 11px 0; }
  .contato-details { gap: 2px; }
  .contato-detail { padding: 4px 0; }
  .contato-detail a { display: inline-block; padding: 11px 0; }

  .footer { padding: 0 0 36px; }
  .footer > .container { width: calc(100% - 32px); border-radius: 24px; padding: 32px 20px 24px; }
  .footer__grid { grid-template-columns: 1fr; gap: 30px; margin-bottom: 34px; }
  .footer__bottom { align-items: flex-start; flex-direction: column; padding-top: 24px; }
  .gestao-card, .etapa-card, .pedido-card, .pessoa-card, .check-item, .faq-item { min-width: 0; }
}
@media (max-width: 480px) {
  .container { padding: 0 16px; }
  .display-lg { font-size: clamp(24px, 7vw, 36px); }
  .display-md { font-size: clamp(20px, 6vw, 28px); }
  .lead { font-size: 16px; }
  .btn { padding: 14px 22px; font-size: 14px; }
  .hero__eyebrow { font-size: 10px; }
  .section-cta .btn { width: 100%; }
}

/* ═══════════════════════════════════════════
   ESPECÍFICO DESTA LP · recuperação de créditos tributários
   O que não existe nas outras páginas da EG: lista de perguntas no
   cartão do herói, fatos do escritório, sim/não, vias, formulário de
   qualificação e a barra fixa do celular.
═══════════════════════════════════════════ */
.skip {
  position: absolute; left: 16px; top: -60px; z-index: 300;
  background: #fff; color: var(--ink-primary); padding: 10px 16px; border-radius: var(--r-sm); font-weight: 700;
}
.skip:focus { top: 16px; }

/* herói: a pergunta de cada etapa numerada dentro do vidro */
.perguntas { counter-reset: q; display: flex; flex-direction: column; }
.perguntas li {
  counter-increment: q; position: relative; padding: 12px 0 12px 40px;
  font-size: 14.5px; font-weight: 600; line-height: 1.45; color: #fff;
}
.perguntas li + li { border-top: 1px solid rgba(195,217,238,.14); }
.perguntas li::before {
  content: counter(q, decimal-leading-zero); position: absolute; left: 0; top: 12px;
  width: 28px; height: 28px; border-radius: 9px; display: grid; place-items: center;
  font-size: 10.5px; font-weight: 800; letter-spacing: .04em; color: var(--sky);
  background: rgba(20,174,239,.12); border: 1px solid rgba(20,174,239,.28);
}
.hero__glass-nota {
  margin-top: 16px; padding-top: 16px; border-top: 1px solid rgba(195,217,238,.20);
  font-size: 13px; line-height: 1.55; color: rgba(230,237,245,.72);
}

.hero__fatos {
  display: flex; flex-wrap: wrap; gap: 14px 34px; margin-top: 38px; padding-top: 24px;
  border-top: 1px solid rgba(195,217,238,.18); max-width: 560px;
}
.hero__fatos li { font-size: 12.5px; line-height: 1.4; color: rgba(230,237,245,.62); }
.hero__fatos strong { display: block; font-size: 17px; font-weight: 800; color: #fff; letter-spacing: -0.01em; margin-bottom: 2px; }
.hero__ctas .btn { min-width: 176px; }

/* texto corrido em faixa clara estreita */
.texto-estreito { max-width: 760px; }
.texto-estreito p + p { margin-top: 16px; }
.texto-estreito p:not(.eyebrow) { font-size: 17px; line-height: 1.72; color: var(--text-secondary); }
.texto-estreito .display-lg { margin-bottom: 22px; }

/* situações · o tag entra no lugar do número do cartão */
.gestao-card__tag {
  display: inline-block; margin-bottom: 14px;
  font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
  color: var(--ink-accent); background: rgba(42,90,140,.07);
  border: 1px solid rgba(42,90,140,.16); border-radius: 999px; padding: 5px 11px;
}
.gestao-card__title { line-height: 1.3; }

/* para quem · sim / não */
.enquadra-grid { display: grid; grid-template-columns: 1fr; gap: 20px; }
@media (min-width: 900px) { .enquadra-grid { grid-template-columns: 1fr 1fr; gap: 28px; } }
.enquadra {
  border-radius: var(--r-lg); padding: 30px 28px; border: 1px solid var(--border-subtle);
  background: linear-gradient(158deg, #FFFFFF 0%, #F1F8FF 100%);
}
.enquadra--nao { background: linear-gradient(158deg, #FFFFFF 0%, #F6F8FB 100%); }
.enquadra__title { font-size: 18px; font-weight: 700; color: var(--text-primary); margin-bottom: 18px; letter-spacing: -0.01em; }
.enquadra ul { display: flex; flex-direction: column; gap: 12px; }
.enquadra li { display: grid; grid-template-columns: 26px 1fr; gap: 12px; font-size: 15px; line-height: 1.55; color: var(--text-secondary); }
.enquadra li::before {
  content: ''; width: 26px; height: 26px; border-radius: 8px; margin-top: -1px;
  background: rgba(26,58,92,.07) center / 14px no-repeat; border: 1px solid rgba(26,58,92,.16);
}
.enquadra--sim li::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231A3A5C' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E"); }
.enquadra--nao li::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E"); }
.enquadra a { color: var(--ink-accent); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }

/* como funciona · 5 etapas: a última ocupa a linha inteira */
@media (min-width: 760px) { .etapas-grid--5 .etapa-card:last-child { grid-column: 1 / -1; } }

/* vias */
.vias-grid { display: grid; grid-template-columns: 1fr; gap: 24px; align-items: start; }
@media (min-width: 1024px) { .vias-grid { grid-template-columns: minmax(0,1.2fr) minmax(0,.8fr); gap: 40px; } }
.vias-cards { display: grid; grid-template-columns: 1fr; gap: 14px; }
@media (min-width: 640px) { .vias-cards { grid-template-columns: 1fr 1fr; } }
.vias-lado {
  border-radius: var(--r-lg); padding: 30px 28px; color: var(--text-on-deep);
  background: linear-gradient(150deg, #13233A 0%, #0E1A2B 100%);
  box-shadow: 0 28px 60px -28px rgba(7,13,30,.55);
}
.vias-lado h3 { font-size: 19px; font-weight: 700; color: #fff; line-height: 1.3; margin-bottom: 14px; letter-spacing: -0.01em; }
.vias-lado p { font-size: 14.5px; line-height: 1.65; color: rgba(230,237,245,.76); }
.vias-lado p + p { margin-top: 14px; }
.vias-lado .vias-fonte { padding-top: 14px; border-top: 1px solid rgba(195,217,238,.16); font-size: 13px; }
.vias-lado a { color: var(--sky); text-decoration: underline; text-underline-offset: 3px; }

/* sócios · intro com dois parágrafos e link pra página dos sócios */
.equipe__intro .lead + .lead { margin-top: 14px; }
.link-seta {
  display: inline-flex; align-items: center; gap: 8px; margin-top: 40px;
  font-size: 15px; font-weight: 700; color: var(--sky);
}
.link-seta::after { content: '→'; transition: transform 180ms; }
.link-seta:hover::after { transform: translateX(3px); }

/* contato · linhas de contato alternativo */
.contato-detail span.rotulo { display: block; font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--sky); margin-bottom: 2px; }

/* formulário · cartão claro sobre a faixa escura */
.form {
  background: linear-gradient(170deg, #FFFFFF 0%, #F4F8FC 100%);
  border-radius: var(--r-lg); padding: 32px 30px;
  box-shadow: 0 34px 80px -30px rgba(3,10,20,.65), inset 0 1px 0 #fff;
  color: var(--text-primary);
}
.form__grade { display: grid; grid-template-columns: 1fr; gap: 16px; }
@media (min-width: 560px) { .form__grade { grid-template-columns: 1fr 1fr; } }
.campo { display: flex; flex-direction: column; justify-content: flex-end; gap: 7px; min-width: 0; }  /* rótulo que quebra em 2 linhas não desalinha a caixa da vizinha */
.campo--largo { grid-column: 1 / -1; }
.campo > span { font-size: 12.5px; font-weight: 700; color: var(--text-primary); }
.campo em { font-style: normal; font-weight: 500; color: var(--accent-quiet); }
.campo input, .campo select, .campo textarea {
  width: 100%; min-width: 0; font: inherit; font-size: 15px; color: var(--text-primary);
  background: #fff; border: 1px solid #D5DEE9; border-radius: 10px; padding: 12px 14px;
  transition: border-color 160ms, box-shadow 160ms;
}
.campo select {
  appearance: none; -webkit-appearance: none; padding-right: 38px; cursor: pointer;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231A3A5C' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 12px center / 16px no-repeat;
}
.campo textarea { resize: vertical; min-height: 92px; }
.campo input::placeholder, .campo textarea::placeholder { color: #9AA8B8; }
.campo input:focus, .campo select:focus, .campo textarea:focus {
  outline: none; border-color: var(--ink-accent); box-shadow: 0 0 0 4px rgba(20,174,239,.16);
}
.campo [aria-invalid="true"] { border-color: #C2410C; box-shadow: 0 0 0 4px rgba(194,65,12,.10); }
.form__alerta, .form__erro {
  margin-top: 16px; padding: 12px 14px; border-radius: var(--r-sm); font-size: 13.5px; line-height: 1.5;
}
.form__alerta { background: rgba(20,174,239,.08); border-left: 3px solid var(--sky-strong); color: var(--text-secondary); }
.form__erro { background: rgba(194,65,12,.07); border-left: 3px solid #C2410C; color: #9A3412; font-weight: 600; }
.aceite { display: grid; grid-template-columns: 20px 1fr; gap: 10px; margin-top: 18px; font-size: 13px; line-height: 1.5; color: var(--text-secondary); cursor: pointer; }
.aceite input { width: 18px; height: 18px; margin-top: 1px; accent-color: var(--ink-primary); }
.btn--bloco { width: 100%; margin-top: 22px; white-space: normal; }
.form__rodape { margin-top: 12px; font-size: 12.5px; line-height: 1.5; color: var(--accent-quiet); text-align: center; }
@media (max-width: 520px) { .form { padding: 24px 18px; } }

/* barra fixa do celular (o main.js esconde com .oculta enquanto o herói ou o formulário estão na tela) */
.barra-movel {
  position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 150;
  display: flex; align-items: center; justify-content: center; min-height: 52px;
  border-radius: 12px; background: var(--ink-primary); color: #fff;
  font-size: 15px; font-weight: 700; box-shadow: 0 16px 38px rgba(7,13,30,.38);
  transition: transform 260ms ease, opacity 260ms ease;
}
.barra-movel.oculta { transform: translateY(140%); opacity: 0; pointer-events: none; }
@media (min-width: 768px) { .barra-movel { display: none; } }
@media (max-width: 767px) { .footer { padding-bottom: 88px; } }

/* CTAs do herói lado a lado também no celular: rótulos curtos, cada um metade da linha */
@media (max-width: 460px) {
  .hero__ctas { flex-direction: row; gap: 10px; }
  .hero__ctas .btn { flex: 1 1 0; min-width: 0; width: auto; padding: 14px 10px; white-space: nowrap; }
}

/* ═══════════════════════════════════════════
   FAIXAS CLARAS CONTÍNUAS
   Seções claras seguidas formam uma faixa só: mesma cor de base, sem fio
   de luz entre elas e sem gradiente próprio. Radial por seção também
   denuncia a emenda (testado): a profundidade fica com a sombra dos cards.
═══════════════════════════════════════════ */
.faixa-clara { position: relative; isolation: isolate; overflow: hidden; background: #F5F8FC; }
.faixa-clara + .faixa-clara { padding-top: 0; }
@media (min-width: 768px) { .faixa-clara + .faixa-clara { padding-top: 8px; } }

/* ═══════════════════════════════════════════
   SITUAÇÕES · ícone, rótulo, título e texto sempre na mesma grade
═══════════════════════════════════════════ */
.sit-grid { display: grid; grid-template-columns: 1fr; gap: 18px; }
@media (min-width: 900px) { .sit-grid { grid-template-columns: 1fr 1fr; gap: 22px; } }
.sit-card {
  display: grid; grid-template-columns: 52px 1fr; column-gap: 20px; align-items: start;
  background: #fff; border: 1px solid #E4EBF3; border-radius: 20px; padding: 28px 28px 26px;
  box-shadow: 0 1px 0 #fff inset, 0 22px 44px -30px rgba(15,33,58,.30);
  transition: transform 260ms, box-shadow 260ms, border-color 260ms;
}
.sit-card:hover { transform: translateY(-3px); border-color: rgba(42,90,140,.26); box-shadow: 0 30px 56px -30px rgba(15,33,58,.38); }
.sit-card__icon {
  width: 52px; height: 52px; border-radius: 15px; display: grid; place-items: center; color: #fff;
  background: linear-gradient(145deg, #2A5A8C 0%, #1A3A5C 100%);
  box-shadow: 0 10px 22px -10px rgba(26,58,92,.65);
}
.sit-card__icon svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.sit-card__tag { font-size: 10.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--sky-strong); margin: 2px 0 8px; }
.sit-card__title { font-size: 18px; font-weight: 700; line-height: 1.3; letter-spacing: -0.012em; color: var(--text-primary); margin-bottom: 10px; }
.sit-card__text { font-size: 15px; line-height: 1.65; color: var(--text-secondary); }
@media (max-width: 520px) {
  .sit-card { grid-template-columns: 1fr; row-gap: 16px; padding: 24px 20px; }
}

.aviso-faixa {
  margin-top: 34px; display: grid; grid-template-columns: 22px 1fr; gap: 14px; align-items: start;
  padding: 20px 24px; border-radius: 16px; background: rgba(26,58,92,.05);
  font-size: 14.5px; line-height: 1.65; color: var(--text-secondary);
}
.aviso-faixa svg { width: 22px; height: 22px; fill: none; stroke: var(--ink-accent); stroke-width: 1.8; stroke-linecap: round; margin-top: 1px; }

/* ═══════════════════════════════════════════
   PARA QUEM · dois painéis com cabeçalho próprio
═══════════════════════════════════════════ */
.enq-grid { display: grid; grid-template-columns: 1fr; gap: 22px; align-items: stretch; }
@media (min-width: 900px) { .enq-grid { grid-template-columns: 1fr 1fr; gap: 28px; } }
.enq {
  border-radius: 22px; overflow: hidden; background: #fff; border: 1px solid #E4EBF3;
  box-shadow: 0 26px 52px -34px rgba(15,33,58,.34);
}
.enq__head { display: flex; align-items: center; gap: 14px; padding: 22px 28px; }
.enq__head h3 { font-size: 17px; font-weight: 700; letter-spacing: -0.01em; }
.enq__head-icon { width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; flex-shrink: 0; }
.enq__head-icon svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.enq--sim .enq__head { background: linear-gradient(135deg, #1A3A5C 0%, #0E1A2B 100%); color: #fff; }
.enq--sim .enq__head-icon { background: var(--sky-strong); color: #fff; }
.enq--nao .enq__head { background: #EEF2F7; color: var(--text-primary); }
.enq--nao .enq__head-icon { background: #fff; color: #8795A8; border: 1px solid #D5DEE9; }
.enq ul { padding: 8px 28px 16px; }
.enq li {
  display: grid; grid-template-columns: 22px 1fr; gap: 14px; padding: 15px 0;
  font-size: 15px; line-height: 1.6; color: var(--text-secondary);
}
.enq li + li { border-top: 1px solid #EDF1F6; }
.enq li::before {
  content: ''; width: 22px; height: 22px; border-radius: 50%; margin-top: 1px;
  background: center / 12px no-repeat;
}
.enq--sim li::before { background-color: rgba(20,174,239,.12); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E8FC9' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E"); }
.enq--nao li::before { background-color: #EEF2F7; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238795A8' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E"); }
.enq a { color: var(--ink-accent); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 520px) { .enq__head { padding: 18px 20px; } .enq ul { padding: 4px 20px 10px; } }

/* ═══════════════════════════════════════════
   VIAS · tabela de definições num painel só (dispositivo diferente dos
   cards de situação, que ficam na mesma faixa clara)
═══════════════════════════════════════════ */
.vias-tabela {
  background: #fff; border: 1px solid #E4EBF3; border-radius: 22px; overflow: hidden;
  box-shadow: 0 26px 52px -34px rgba(15,33,58,.34);
}
.vias-tabela > div { display: grid; grid-template-columns: 1fr; gap: 6px; padding: 22px 28px; }
@media (min-width: 640px) { .vias-tabela > div { grid-template-columns: 170px 1fr; gap: 24px; } }
.vias-tabela > div + div { border-top: 1px solid #EDF1F6; }
.vias-tabela dt { display: flex; align-items: center; gap: 12px; font-size: 16px; font-weight: 700; color: var(--text-primary); }
.vias-tabela dt span {
  width: 28px; height: 28px; border-radius: 9px; display: grid; place-items: center; flex-shrink: 0;
  font-size: 11px; font-weight: 800; color: var(--ink-accent); background: rgba(42,90,140,.08);
}
.vias-tabela dd { font-size: 15px; line-height: 1.65; color: var(--text-secondary); }
@media (max-width: 520px) { .vias-tabela > div { padding: 18px 20px; } }

/* documentos · itens alinhados ao centro, check redondo igual ao do painel "sim" */
#documentos .check-item {
  align-items: center; grid-template-columns: 30px 1fr; padding: 18px 22px; border-radius: 16px;
  border-color: #E4EBF3; box-shadow: 0 18px 38px -30px rgba(15,33,58,.35);
}
#documentos .check-item__mark {
  width: 30px; height: 30px; border-radius: 50%; border: 0;
  background: rgba(20,174,239,.12); color: #0E8FC9;
}
#documentos .check-item__mark svg { width: 15px; height: 15px; stroke-width: 3; }
#documentos .check-item__text { font-weight: 600; }
