/* ─────────────────────────────────────────────────────────────────────────
   NSI — tema corporativo do novo posicionamento.
   Carrega DEPOIS do nsi.css e sobrescreve só o necessário: as páginas antigas
   continuam com a identidade anterior enquanto não forem migradas.

   Paleta: grafite muito escuro para autoridade, vermelho profundo como acento
   pontual, off-white nas áreas de leitura longa. O vermelho aparece pouco de
   propósito: usado demais, vira alarme e cansa. Verde só sinaliza estado
   positivo, âmbar só sinaliza aviso.
   ───────────────────────────────────────────────────────────────────────── */
:root{
  --c-tinta:#0B0F1A;        /* fundo principal */
  --c-superficie:#131A28;   /* cartões sobre o fundo */
  --c-linha:rgba(148,163,184,.18);
  --c-papel:#F7F5F2;        /* seções claras, leitura longa */
  --c-papel-linha:#E3DED6;
  --c-texto:#EDF0F5;
  --c-texto-escuro:#1A2233;
  --c-sec:#A8B2C4;          /* secundário sobre escuro (contraste AA) */
  --c-sec-escuro:#55617A;   /* secundário sobre claro */
  --c-acento:#C1121F;       /* vermelho profundo */
  --c-acento-claro:#F0616C; /* vermelho legível sobre fundo escuro */
  --c-ok:#34D399;
  --c-aviso:#FBBF24;
}

body.corp{background:var(--c-tinta);color:var(--c-texto)}
body.corp .wrap{max-width:1140px;margin:0 auto;padding:0 22px;position:relative;z-index:1}

/* Link de pular: invisível até receber foco pelo teclado. */
.pular{position:absolute;left:-9999px;top:0;z-index:99;background:var(--c-acento);color:#fff;
  padding:12px 18px;font-weight:700;border-radius:0 0 8px 0;text-decoration:none}
.pular:focus{left:0}

/* ─── Navegação ─────────────────────────────────────────────────────────── */
/* Fundo SÓLIDO de propósito. Com backdrop-filter o menu criava um contexto de
   empilhamento que deixava a faixa de trilha por cima do submenu, escondendo o
   primeiro item da lista. Sólido também lê melhor e custa menos. */
.nsi-nav{position:sticky;top:0;z-index:200;background:#0B0F1A;border-bottom:1px solid var(--c-linha)}
.nav-linha{max-width:1240px;margin:0 auto;padding:12px 22px;display:flex;align-items:center;gap:12px}
.nsi-nav .brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:inherit;flex-shrink:0}
/* Logo com mais presença: 40px sumia ao lado do menu e do botão vermelho. */
.nsi-nav .brand .mark{width:56px;height:56px}
.nsi-nav .bt{display:block;font-weight:800;font-size:17.5px;letter-spacing:.4px}
.nsi-nav .bs{display:block;font-size:11px;color:var(--c-sec);letter-spacing:.4px}

.nav-menu{display:flex;align-items:center;gap:0;list-style:none;margin:0 auto 0 10px;padding:0;flex-wrap:nowrap}
.nav-menu > li{position:relative}
.nav-menu > li:last-of-type .sub{left:auto;right:0}
.nav-menu a,.sub-botao{display:inline-flex;align-items:center;gap:4px;padding:9px 9px;border-radius:9px;
  font-size:13.5px;font-weight:600;white-space:nowrap;color:var(--c-sec);text-decoration:none;background:none;border:0;
  font-family:inherit;cursor:pointer;line-height:1.2}
.nav-menu a:hover,.sub-botao:hover{color:var(--c-texto);background:rgba(255,255,255,.05)}
.nav-menu a[aria-current="page"],.sub-botao.ativo{color:var(--c-texto)}
.nav-menu a[aria-current="page"]{box-shadow:inset 0 -2px 0 var(--c-acento-claro)}
/* Item em destaque no menu: cor de acento e um pontinho verde pulsando.
   Verde porque aqui ele significa "acontecendo agora", não alerta. */
.nav-menu a.menu-destaque,.nav-mobile a.menu-destaque{color:var(--c-acento-claro);font-weight:800}
.nav-menu a.menu-destaque:hover{background:rgba(193,18,31,.12);color:#fff}
.menu-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#34D399;
  margin-right:7px;vertical-align:middle;box-shadow:0 0 0 0 rgba(52,211,153,.7);
  animation:menuDot 2s ease-out infinite}
@keyframes menuDot{
  0%{box-shadow:0 0 0 0 rgba(52,211,153,.6)}
  70%{box-shadow:0 0 0 7px rgba(52,211,153,0)}
  100%{box-shadow:0 0 0 0 rgba(52,211,153,0)}
}
@media(prefers-reduced-motion:reduce){.menu-dot{animation:none}}

.seta{font-size:10px;opacity:.7;transition:transform .18s}
.sub-botao[aria-expanded="true"] .seta{transform:rotate(180deg)}

.sub{position:absolute;top:calc(100% + 6px);left:0;z-index:210;min-width:270px;background:var(--c-superficie);
  border:1px solid var(--c-linha);border-radius:13px;padding:7px;list-style:none;margin:0;
  box-shadow:0 20px 48px rgba(0,0,0,.45)}
.sub a{display:block;padding:10px 13px;font-weight:600;color:var(--c-texto)}
.sub a:hover{background:rgba(193,18,31,.14);color:#fff}

.nav-cta{flex-shrink:0;font-size:13.5px;padding:11px 18px}
.nav-burger{display:none;background:none;border:1px solid var(--c-linha);border-radius:10px;
  width:44px;height:44px;color:var(--c-texto);font-size:19px;cursor:pointer;flex-shrink:0}

.nav-mobile{border-top:1px solid var(--c-linha);padding:12px 22px 18px;max-height:76vh;overflow-y:auto}
.nav-mobile ul{list-style:none;margin:0;padding:0}
.nav-mobile a{display:block;padding:12px 10px;color:var(--c-texto);text-decoration:none;font-weight:700;font-size:15px;
  border-radius:9px}
.nav-mobile a:hover{background:rgba(255,255,255,.05)}
.nav-mobile .filho a{padding-left:26px;font-weight:500;font-size:14px;color:var(--c-sec)}

@media(max-width:1200px){
  /* O seletor longo não é enfeite: "body.corp .btn" empata em especificidade e
     aparece depois no arquivo, então vencia — o botão continuava visível e
     empurrava o hambúrguer para fora da tela no celular. */
  .nav-menu,body.corp .nsi-nav .nav-cta{display:none}
  .nav-burger{display:block;margin-left:auto}
}
/* Em telas bem estreitas, a linha da marca sozinha já ocupa quase tudo. */
@media(max-width:420px){
  .nsi-nav .brand .mark{width:46px;height:46px}
  .nsi-nav .bs{display:none}
}

/* Foco sempre visível: quem navega por teclado precisa saber onde está. */
body.corp a:focus-visible,body.corp button:focus-visible,
body.corp input:focus-visible,body.corp select:focus-visible,
body.corp textarea:focus-visible,body.corp summary:focus-visible{
  outline:3px solid var(--c-acento-claro);outline-offset:2px;border-radius:6px}

/* ─── Trilha ────────────────────────────────────────────────────────────── */
.trilha{padding:14px 0 0;font-size:13px;position:relative;z-index:1}
.trilha ol{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;color:var(--c-sec)}
.trilha li + li:before{content:"›";margin-right:8px;opacity:.6}
.trilha a{color:var(--c-sec)}
.trilha [aria-current]{color:var(--c-texto);font-weight:600}

/* ─── Hero ──────────────────────────────────────────────────────────────── */
.hero-nsi{padding:clamp(46px,7vw,86px) 0 clamp(30px,4vw,44px);position:relative;overflow:hidden}
.hero-nsi:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(900px 380px at 12% -30%,rgba(193,18,31,.20),transparent 65%),
             radial-gradient(760px 340px at 96% 0%,rgba(56,80,140,.20),transparent 62%)}
.eyebrow{font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:700;letter-spacing:2.4px;
  text-transform:uppercase;color:var(--c-acento-claro);margin-bottom:14px}
.hero-nsi h1{font-family:'Fraunces',Georgia,serif;font-weight:800;line-height:1.1;letter-spacing:-.02em;
  font-size:clamp(30px,5.2vw,52px);max-width:20ch;margin:0 0 16px}
.hero-nsi h1 em{font-style:normal;color:var(--c-acento-claro)}
.hero-sub{font-size:clamp(15px,1.9vw,18px);color:var(--c-sec);line-height:1.65;max-width:62ch;margin:0}
.hero-acoes{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.hero-micro{margin-top:16px;font-size:13px;color:var(--c-sec)}
body.corp .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 26px;
  border-radius:11px;font-weight:700;font-size:14.5px;text-decoration:none;border:1px solid transparent;
  min-height:46px;transition:transform .16s,background .16s}
body.corp .btn-primary{background:var(--c-acento);color:#fff}
body.corp .btn-primary:hover{background:#A50E19;transform:translateY(-1px)}
body.corp .btn-ghost{background:transparent;color:var(--c-texto);border-color:var(--c-linha)}
body.corp .btn-ghost:hover{border-color:var(--c-sec);background:rgba(255,255,255,.04)}

/* ─── Faixa de confiança ────────────────────────────────────────────────── */
.faixa-confianca{border-top:1px solid var(--c-linha);border-bottom:1px solid var(--c-linha);
  background:rgba(255,255,255,.02)}
.faixa-confianca ul{list-style:none;margin:0;padding:16px 0;display:grid;gap:10px;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.faixa-confianca li{font-size:13.5px;color:var(--c-sec);display:flex;gap:9px;align-items:flex-start}
.faixa-confianca li:before{content:"✓";color:var(--c-ok);font-weight:800;flex-shrink:0}

/* ─── Seções ────────────────────────────────────────────────────────────── */
.sec{padding:clamp(44px,6vw,74px) 0}
.sec-alt{background:var(--c-papel);color:var(--c-texto-escuro)}
.sec-alt .sec-texto,.sec-alt .card-nsi p,.sec-alt .lista-check li{color:var(--c-sec-escuro)}
.sec-alt .card-nsi{background:#fff;border-color:var(--c-papel-linha)}
.sec-alt h2,.sec-alt h3{color:var(--c-texto-escuro)}
.sec-alt .kicker{color:var(--c-acento)}
.kicker{font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:700;letter-spacing:2.2px;
  text-transform:uppercase;color:var(--c-acento-claro);margin:0 0 10px}
.sec h2{font-family:'Fraunces',Georgia,serif;font-weight:800;font-size:clamp(23px,3.4vw,34px);
  line-height:1.2;letter-spacing:-.015em;margin:0 0 14px;max-width:24ch}
.sec-texto{font-size:15.5px;line-height:1.7;color:var(--c-sec);max-width:68ch;margin:0 0 26px}

/* ─── Cartões ───────────────────────────────────────────────────────────── */
.grade-cards{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(276px,1fr))}
.card-nsi{background:var(--c-superficie);border:1px solid var(--c-linha);border-radius:15px;
  padding:24px 22px;display:flex;flex-direction:column}
.card-ic{font-size:24px;margin-bottom:12px;display:block}
.card-nsi h3{font-size:16.5px;font-weight:800;margin:0 0 8px;line-height:1.3}
.card-nsi p{font-size:14px;line-height:1.65;color:var(--c-sec);margin:0}
.card-link{margin-top:14px;font-size:13.5px;font-weight:700;color:var(--c-acento-claro);text-decoration:none}
.sec-alt .card-link{color:var(--c-acento)}
.card-link:hover{text-decoration:underline}

/* ─── Listas ────────────────────────────────────────────────────────────── */
.lista-check{list-style:none;margin:0;padding:0;display:grid;gap:11px;
  grid-template-columns:repeat(auto-fit,minmax(258px,1fr))}
.lista-check li{display:flex;gap:10px;font-size:14.5px;line-height:1.6;color:var(--c-sec)}
.lista-check li:before{content:"✓";color:var(--c-ok);font-weight:800;flex-shrink:0}

/* ─── Passos do método ──────────────────────────────────────────────────── */
.passos{list-style:none;margin:0;padding:0;display:grid;gap:14px;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.passos li{display:flex;gap:15px;background:var(--c-superficie);border:1px solid var(--c-linha);
  border-radius:14px;padding:20px}
.sec-alt .passos li{background:#fff;border-color:var(--c-papel-linha)}
.passo-n{font-family:'JetBrains Mono',monospace;font-size:14px;font-weight:700;color:var(--c-acento-claro);
  flex-shrink:0;padding-top:2px}
.sec-alt .passo-n{color:var(--c-acento)}
.passos h3{font-size:16px;margin:0 0 5px}
.passos p{font-size:13.5px;color:var(--c-sec);margin:0;line-height:1.6}
.sec-alt .passos p{color:var(--c-sec-escuro)}

/* ─── Fluxo em linha ────────────────────────────────────────────────────── */
.fluxo{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:9px;align-items:center;counter-reset:f}
.fluxo li{counter-increment:f;background:var(--c-superficie);border:1px solid var(--c-linha);
  border-radius:20px;padding:9px 16px;font-size:13.5px;font-weight:600;color:var(--c-texto)}
.fluxo li:before{content:counter(f);color:var(--c-acento-claro);font-weight:800;margin-right:8px;
  font-family:'JetBrains Mono',monospace;font-size:12px}
.sec-alt .fluxo li{background:#fff;border-color:var(--c-papel-linha);color:var(--c-texto-escuro)}
.sec-alt .fluxo li:before{color:var(--c-acento)}

/* ─── Aviso legal: informa sem alarmar. ─────────────────────────────────── */
.aviso-legal{margin:22px 0 0;padding:13px 17px;border-radius:11px;font-size:13px;line-height:1.6;
  background:rgba(251,191,36,.09);border:1px solid rgba(251,191,36,.3);color:var(--c-sec);
  display:flex;gap:10px;align-items:flex-start;max-width:76ch}
.aviso-legal span{color:var(--c-aviso);font-weight:800;flex-shrink:0}
.sec-alt .aviso-legal{color:var(--c-sec-escuro);background:rgba(180,120,10,.08)}

/* ─── Formulário ────────────────────────────────────────────────────────── */
.form-nsi{max-width:720px}
.form-linha{display:grid;gap:14px;grid-template-columns:1fr 1fr}
@media(max-width:640px){.form-linha{grid-template-columns:1fr;gap:0}}
.form-nsi .campo{display:flex;flex-direction:column;gap:6px;margin:0 0 16px}
.form-nsi label{font-size:13.5px;font-weight:700;color:var(--c-texto)}
.sec-alt .form-nsi label{color:var(--c-texto-escuro)}
.form-nsi label span[aria-hidden]{color:var(--c-acento);margin-left:2px}
.form-nsi .opcional{font-weight:500;color:var(--c-sec)}
.sec-alt .form-nsi .opcional{color:var(--c-sec-escuro)}
.form-nsi input[type=text],.form-nsi input[type=tel],.form-nsi input[type=email],.form-nsi select{
  width:100%;box-sizing:border-box;font-family:inherit;font-size:15px;
  padding:13px 14px;border-radius:11px;min-height:48px;
  background:var(--c-superficie);border:1px solid var(--c-linha);color:var(--c-texto)}
.sec-alt .form-nsi input[type=text],.sec-alt .form-nsi input[type=tel],
.sec-alt .form-nsi input[type=email],.sec-alt .form-nsi select{
  background:#fff;border-color:var(--c-papel-linha);color:var(--c-texto-escuro)}
.form-nsi input::placeholder{color:var(--c-sec)}
.sec-alt .form-nsi input::placeholder{color:#98A2B3}
.form-nsi input:focus,.form-nsi select:focus{border-color:var(--c-acento);outline:none}
.form-nsi .ajuda{font-size:12.5px;color:var(--c-sec);line-height:1.45}
.sec-alt .form-nsi .ajuda{color:var(--c-sec-escuro)}
/* Área de toque confortável e caixa que não encolhe quando o texto quebra. */
.form-nsi .consent{margin:6px 0 20px}
.form-nsi .consent label{display:flex;gap:11px;align-items:flex-start;cursor:pointer;
  font-size:13.5px;font-weight:500;line-height:1.55;color:var(--c-sec)}
.sec-alt .form-nsi .consent label{color:var(--c-sec-escuro)}
.form-nsi .consent input{width:20px;height:20px;margin-top:1px;flex-shrink:0;cursor:pointer;
  accent-color:var(--c-acento)}
.form-nsi .consent a{color:var(--c-acento)}
.form-nsi button[type=submit]{width:100%;justify-content:center}
@media(min-width:520px){.form-nsi button[type=submit]{width:auto;min-width:260px}}
.form-nsi .fmsg{font-size:13.5px;margin-top:12px;font-weight:700;min-height:1px}
.form-nsi .fmsg.err{color:var(--c-acento-claro)}
.sec-alt .form-nsi .fmsg.err{color:var(--c-acento)}
.form-nsi .fmsg.ok{color:var(--c-ok)}
.form-nsi .form-nota{font-size:12.5px;color:var(--c-sec);margin:14px 0 0;line-height:1.55}
.sec-alt .form-nsi .form-nota{color:var(--c-sec-escuro)}

/* ─── FAQ ───────────────────────────────────────────────────────────────── */
.faq-nsi details{border:1px solid var(--c-linha);border-radius:13px;background:var(--c-superficie);
  margin-bottom:10px;overflow:hidden}
.sec-alt .faq-nsi details{background:#fff;border-color:var(--c-papel-linha)}
.faq-nsi summary{list-style:none;cursor:pointer;padding:16px 20px;font-weight:700;font-size:15px;
  display:flex;justify-content:space-between;gap:16px;align-items:center;min-height:52px}
.faq-nsi summary::-webkit-details-marker{display:none}
.faq-nsi summary:after{content:"+";color:var(--c-acento-claro);font-size:21px;font-weight:700;flex-shrink:0;line-height:1}
.sec-alt .faq-nsi summary:after{color:var(--c-acento)}
.faq-nsi details[open] summary:after{content:"–"}
.faq-r{padding:0 20px 18px}
.faq-r p{margin:0;font-size:14.5px;line-height:1.7;color:var(--c-sec)}
.sec-alt .faq-r p{color:var(--c-sec-escuro)}

/* ─── CTA final ─────────────────────────────────────────────────────────── */
.cta-final{padding:clamp(48px,7vw,84px) 0;text-align:center;position:relative;overflow:hidden;
  border-top:1px solid var(--c-linha)}
.cta-final:before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(760px 260px at 50% -20%,rgba(193,18,31,.22),transparent 68%)}
.cta-final h2{font-family:'Fraunces',Georgia,serif;font-weight:800;font-size:clamp(23px,3.6vw,36px);
  line-height:1.2;margin:0 auto 14px;max-width:22ch}
.cta-final p{color:var(--c-sec);font-size:15.5px;line-height:1.7;max-width:60ch;margin:0 auto}

/* ─── Rodapé ────────────────────────────────────────────────────────────── */
.nsi-rodape{border-top:1px solid var(--c-linha);padding:46px 0 30px;background:rgba(0,0,0,.24)}
/* Cinco blocos: a marca mais as quatro colunas de links. */
.rodape-grid{display:grid;gap:28px;grid-template-columns:1.6fr repeat(4,1fr)}
.nsi-rodape .brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:inherit;margin-bottom:12px}
.nsi-rodape .bt{display:block;font-weight:800;font-size:17px}
.nsi-rodape .bs{display:block;font-size:11px;color:var(--c-sec)}
.nsi-rodape p{font-size:13.5px;color:var(--c-sec);line-height:1.65;margin:0 0 10px;max-width:42ch}
.nsi-rodape .mini{font-size:12px;color:var(--c-sec-escuro)}
.nsi-rodape h3{font-size:11.5px;text-transform:uppercase;letter-spacing:1.6px;color:var(--c-texto);
  margin:0 0 12px;font-weight:800}
.nsi-rodape a{display:block;font-size:13.5px;color:var(--c-sec);text-decoration:none;padding:5px 0}
.nsi-rodape a:hover{color:var(--c-texto)}
.rodape-fim{margin-top:34px;padding-top:18px;border-top:1px solid var(--c-linha);display:flex;
  justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:12.5px;color:var(--c-sec-escuro)}
.nsi-rodape .rodape-aviso{margin-top:12px;font-size:11.5px;line-height:1.55;color:var(--c-sec-escuro);max-width:none}
.nsi-rodape .rodape-aviso a{display:inline;color:var(--c-sec)}

@media(max-width:1080px){.rodape-grid{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:760px){.rodape-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.rodape-grid{grid-template-columns:1fr}}

/* Quem pediu menos movimento no sistema recebe menos movimento. */
@media(prefers-reduced-motion:reduce){
  body.corp *,body.corp *:before,body.corp *:after{
    animation-duration:.001ms !important;transition-duration:.001ms !important}
}

/* ══ MOVIMENTO ═══════════════════════════════════════════════════════════
 * Só transform e opacity: são as duas propriedades que o navegador anima na
 * placa de vídeo. Animar altura ou posição obriga a recalcular o layout a cada
 * quadro e trava em celular mais simples.
 *
 * A classe .anima é ligada pelo nsi-anim.js. Sem JavaScript, ou com movimento
 * reduzido no sistema, nada aqui se aplica e a página aparece pronta. */

.anima .rv{opacity:0;transform:translate3d(0,18px,0);
  transition:opacity .42s cubic-bezier(.22,.61,.36,1),transform .42s cubic-bezier(.22,.61,.36,1);
  will-change:opacity,transform}
.anima .rv.on{opacity:1;transform:none}

/* Herói: cascata de cima para baixo, uma vez, ao abrir a página. */
@keyframes nsi-sobe{from{opacity:0;transform:translate3d(0,22px,0)}to{opacity:1;transform:none}}
.anima .rv-hero{opacity:0;animation:nsi-sobe .58s cubic-bezier(.22,.61,.36,1) forwards}

/* ── Microinterações ──────────────────────────────────────────────────────
 * Movimento curto (180ms) e sutil: confirma o toque sem deslocar o que está em
 * volta. Escala em card grande passa de brinquedo; 2px de subida basta. */
.card-nsi{transition:transform .18s ease-out,border-color .18s ease-out,box-shadow .18s ease-out}
@media(hover:hover){
  .card-nsi:hover{transform:translateY(-3px);border-color:rgba(56,189,248,.42);
    box-shadow:0 14px 34px rgba(0,0,0,.34)}
  .card-nsi:hover .card-link{gap:10px}
}
.card-link{transition:gap .18s ease-out,color .18s ease-out;display:inline-flex;align-items:center;gap:6px}

/* Botões: resposta imediata ao toque, sem empurrar o layout. */
.btn{transition:transform .16s ease-out,filter .16s ease-out,box-shadow .16s ease-out}
@media(hover:hover){.btn-primary:hover{transform:translateY(-2px);filter:brightness(1.07)}}
.btn:active{transform:translateY(1px)}

/* Etapas do método: a numeração ganha vida ao passar. */
.passos li{transition:transform .18s ease-out}
@media(hover:hover){.passos li:hover{transform:translateX(4px)}}

/* Foco visível sempre: quem navega por teclado precisa enxergar onde está. */
.btn:focus-visible,.card-link:focus-visible,.navlinks a:focus-visible,
.faq-nsi summary:focus-visible{outline:3px solid var(--cyan);outline-offset:3px;border-radius:6px}

/* Respeito à preferência do sistema, em qualquer caso. */
@media(prefers-reduced-motion:reduce){
  .anima .rv,.anima .rv-hero{opacity:1 !important;transform:none !important;animation:none !important;transition:none !important}
  .card-nsi,.btn,.passos li{transition:none !important}
}
/* Na impressão nada de animação: o PDF sairia com blocos invisíveis. */
@media print{.rv,.rv-hero{opacity:1 !important;transform:none !important;animation:none !important}}

/* ── Retrato de quem conduz ────────────────────────────────────────────── */
.retrato{display:grid;grid-template-columns:300px 1fr;gap:clamp(22px,4vw,44px);
  align-items:center;margin-top:26px}
.retrato-foto{position:relative;aspect-ratio:4/5;border-radius:18px;overflow:hidden;
  background:var(--bg2);border:1px solid var(--border)}
.retrato-foto img{width:100%;height:100%;object-fit:cover;display:block}
/* Sem foto ainda: um monograma sóbrio, nunca um rosto genérico de banco de
   imagens fingindo ser a pessoa. */
.retrato-vazio{width:100%;height:100%;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(160deg,#101828,#0A1120)}
.retrato-vazio span{font-family:'Fraunces',Georgia,serif;font-size:76px;font-weight:800;
  color:rgba(96,132,200,.34)}
.retrato-txt h3{font-family:'Fraunces',Georgia,serif;font-size:clamp(20px,3vw,26px);
  font-weight:800;margin:0 0 4px}
.retrato-papel{font-size:12px;letter-spacing:1.8px;text-transform:uppercase;font-weight:700;
  color:var(--cyan);margin:0 0 14px}
.retrato-txt p{color:var(--sec);line-height:1.8;margin:0}
@media(max-width:760px){.retrato{grid-template-columns:1fr;gap:20px}
  .retrato-foto{max-width:230px;margin:0 auto}}
