body.pg-entrada { background: var(--papel); }
.entrada-grade { min-height: 100vh; display: grid; grid-template-columns: minmax(0, 1fr); }
.entrada-hero { background: var(--tinta); color: #fff; padding: 22px 20px 26px; position: relative; overflow: hidden; }
.entrada-hero .marca img { width: 40px; height: 40px; }
.rota-hero { position: absolute; right: -60px; top: 40px; width: 380px; opacity: .55; pointer-events: none; }
.entrada-texto { position: relative; margin-top: 34px; max-width: 520px; }
.entrada-texto h1 { font-size: 1.85rem; margin: 6px 0 10px; }
.entrada-texto p { color: #C6CBDB; }
.sobrelinha.claro { color: #F2A386; }
.entrada-form { padding: 22px 16px 40px; display: flex; justify-content: center; }
.caixa-entrar { width: 100%; max-width: 420px; }
.caixa-entrar h2 { font-size: 1.5rem; margin-bottom: 4px; }
.caixa-entrar .sub { margin-bottom: 16px; }
.btn.largo { width: 100%; }
.ou { display: flex; align-items: center; gap: 10px; color: var(--texto-3); font-size: .82rem; margin: 18px 0 12px; }
.ou::before, .ou::after { content: ''; flex: 1; border-top: 1px solid var(--linha-forte); }
.demos { display: flex; flex-direction: column; gap: 8px; }
.demo { text-align: left; border: 1px solid var(--linha-forte); background: var(--cartao); border-radius: 12px; padding: 11px 14px; cursor: pointer; display: flex; flex-direction: column; gap: 2px; box-shadow: var(--sombra); }
.demo:hover { border-color: var(--acento); }
.demo b { font-size: .95rem; }
.demo span { font-size: .82rem; color: var(--texto-2); }
.acessos { margin-top: 16px; font-size: .86rem; color: var(--texto-2); }
.acessos summary { cursor: pointer; font-weight: 600; }
.acessos ul { padding-left: 18px; margin: 8px 0 0; }
@media (min-width: 1024px) {
  .entrada-grade { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); }
  .entrada-hero { padding: 36px 48px; display: flex; flex-direction: column; }
  .entrada-texto { margin-top: auto; margin-bottom: 40px; }
  .entrada-texto h1 { font-size: 2.6rem; }
  .rota-hero { width: 600px; right: -40px; top: 90px; }
  .entrada-form { align-items: center; padding: 40px; }
}
@media (max-width: 1023px) { .rota-hero text { display: none; } .rota-hero { opacity: .35; } }
