/* ═══ Páginas de conta (login/cadastro): formulário + outdoor ═══ */
/* Cores: #151515 virou var(--ink) — é o mesmo valor do token, não mudou 1 pixel.
   #e2e2e2 continua LITERAL de propósito: NÃO é o --border (#ddd).

   OS CINZAS DE TEXTO FORAM ESCURECIDOS (decisão do dono em 04/08/2026, quando
   perguntamos): o antigo #7c7c7c virou #5f5f5f, #8a8a8a virou #616161 e
   #9a9a9a virou #6a6a6a.
   Os antigos reprovavam no contraste mínimo de acessibilidade sobre o branco
   (4,5:1), e estas são as páginas de login e cadastro — lidas no celular, na
   rua, com sol na tela. Ele pediu para priorizar a legibilidade preservando a
   identidade: os novos tons são da mesma família, só mais fechados.
   O reset *{box-sizing;margin;padding} saiu daqui: era duplicata exata do site.css,
   que estas páginas já carregam antes deste arquivo. */
body.authpage{font-family:"Geist",system-ui,sans-serif;background:#f4f4f4;color:var(--ink);min-height:100svh;-webkit-font-smoothing:antialiased}
.auth{display:grid;grid-template-columns:minmax(400px,44%) 1fr;min-height:100svh}
.painel{display:flex;flex-direction:column;justify-content:center;padding:48px clamp(24px,6vw,90px);background:#fff}
.painel .logo img{height:18px;width:auto}
.painel h1{font-family:"Geist",sans-serif;font-weight:800;letter-spacing:-.03em;font-size:clamp(1.9rem,3.4vw,2.6rem);margin-top:38px;line-height:1.05}
.painel .sub{margin-top:14px;color:#5f5f5f;font-size:14.5px;line-height:1.65;max-width:400px}
.painel form{margin-top:30px;display:flex;flex-direction:column;gap:14px;max-width:440px}
/* rótulos e passos em mono: a letra do bilhete, a mesma das páginas internas (hangar-pages.css) */
.painel label{font-family:var(--mono,"Geist Mono",monospace);font-size:10.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:#616161;display:block;margin-bottom:6px}
.painel input,.painel select{width:100%;font:inherit;font-size:16px;padding:14px 16px;border:1.5px solid #e2e2e2;border-radius:13px;background:#fff;color:var(--ink)}
.painel input:focus,.painel select:focus{outline:none;border-color:var(--ink)}
/* o outline:none acima também apagava o foco de quem navega por teclado; o
   :focus-visible devolve o anel só nesse caso — o clique/toque segue sem anel */
.painel input:focus-visible,.painel select:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.abtn2{font:inherit;font-weight:700;font-size:15px;background:var(--ink);color:#fff;border:0;border-radius:999px;padding:16px;cursor:pointer;margin-top:8px;transition:.2s}
.abtn2:hover{transform:translateY(-1px)}
.abtn2:disabled{opacity:.5;transform:none;cursor:default}
.abtn2.ghost{background:#fff;color:var(--ink);border:1.5px solid #dedede}
.painel .foot{margin-top:22px;font-size:13.5px;color:#5f5f5f}
.painel .foot a{color:var(--ink);font-weight:600}
.amsg{font-size:13.5px;border-radius:11px;padding:12px 14px;display:none}
.amsg.err{display:block;background:#fde3e1;color:#8a1a12}
.amsg.ok{display:block;background:#e6f6ec;color:#116329}
.steps{display:flex;gap:8px;align-items:center;margin-top:30px;font-family:var(--mono,"Geist Mono",monospace);font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:#6a6a6a}
.steps .dot{width:26px;height:4px;border-radius:99px;background:#e4e4e4}
.steps .dot.on{background:var(--ink)}

/* outdoor */
.outdoor{position:relative;overflow:hidden;background:#1c1c1c;display:flex;align-items:flex-end;padding:34px}
.outdoor .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.92}
.outdoor::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(8,8,8,.62),transparent 55%)}
/* sem sombra flutuante: o cartão do depoimento é um fio branco sobre a foto */
.odcard{position:relative;z-index:3;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-radius:20px;padding:26px 28px;max-width:560px;width:100%;border:1px solid rgba(255,255,255,.2)}
.odcard .eyebrow{font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#616161}
.odcard blockquote{font-family:"Geist",sans-serif;font-weight:700;font-size:clamp(17px,1.7vw,21px);letter-spacing:-.01em;line-height:1.4;margin-top:12px}
.odcard .who{display:flex;align-items:center;gap:12px;margin-top:18px}
.odcard .who img{width:46px;height:46px;border-radius:12px;object-fit:cover}
.odcard .who b{font-size:14px;display:block}
.odcard .who small{color:#616161;font-size:12.5px}
.odcard .cta{display:inline-block;margin-top:16px;font-size:13px;font-weight:700;color:var(--ink);text-decoration:underline;text-underline-offset:4px}
@media(max-width:880px){
  .auth{grid-template-columns:1fr}
  .outdoor{min-height:340px;order:2;padding:20px}
  .painel{order:1;padding-top:34px;padding-bottom:40px}
}
a{color:inherit;text-decoration:none}

/* convivência com o cabeçalho padrão do site */
body.authpage{padding-bottom:0!important}
.painel{padding-top:130px}
.painel .logo{display:none} /* o logo já está no cabeçalho */
@media(max-width:880px){.painel{padding-top:110px}}
