:root{
  --bg:#0B1220; --surface:#0f1626; --card:#111827; --text:#E5E7EB; --muted:#9CA3AF;
  --acc1:#0EA5E9; --acc2:#22C55E; --acc3:#F59E0B; --radius:16px;
  --shadow: 0 10px 30px rgba(2,6,23,.35);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; font-family:Inter,system-ui,Segoe UI,Roboto,Arial,sans-serif;
  background: radial-gradient(1000px 600px at 20% 0%, rgba(14,165,233,.08), transparent 60%),
              radial-gradient(900px 500px at 100% 10%, rgba(34,197,94,.06), transparent 60%),
              var(--bg);
  color:var(--text);
  text-rendering:optimizeLegibility; -webkit-font-smoothing:antialiased;
}
.container{max-width:1100px;margin:0 auto;padding:24px}
/* Skip link */
.skip-link{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{left:16px;top:16px;width:auto;height:auto;background:#fff;color:#000;padding:8px 12px;border-radius:8px;z-index:999}

/* NAV */
.nav{display:flex;align-items:center;gap:16px;justify-content:space-between;position:sticky;top:0;z-index:50;
  backdrop-filter:saturate(140%) blur(8px); background:rgba(11,18,32,.6); border-bottom:1px solid #1f2a40}
.brand{display:flex;align-items:center;gap:10px;font-weight:700}
.logo{width:28px;height:28px}
.brand-name{letter-spacing:.2px}
.menu-toggle{display:none;inline-size:40px;block-size:40px;border-radius:10px;border:1px solid #273246;background:transparent;color:var(--text)}
.menu-bars{display:block;inline-size:20px;block-size:2px;background:var(--text);position:relative;margin:0 auto}
.menu-bars::before,.menu-bars::after{content:"";position:absolute;left:0;inline-size:20px;block-size:2px;background:var(--text)}
.menu-bars::before{top:-6px}.menu-bars::after{top:6px}
.primary-nav{display:flex;gap:12px;align-items:center}
.primary-nav a{margin:0 4px;color:var(--muted);text-decoration:none;padding:8px 10px;border-radius:10px}
.primary-nav a:focus-visible,.primary-nav a:hover{color:var(--text);background:rgba(255,255,255,.04)}

.btn{padding:10px 16px;border-radius:999px;border:1px solid #2a3346;text-decoration:none;color:var(--text);
  display:inline-flex;gap:8px;align-items:center;transition:transform .15s ease, box-shadow .2s ease, background .2s ease}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:none}
.btn-primary{background:var(--acc1);border:none;color:#03121a;box-shadow: var(--shadow)}
.btn-secondary{background:transparent;border:1px solid var(--acc1)}
.btn-whatsapp{background:#25d366;color:#001b09;border:none}
.btn .btn-spinner{inline-size:0;block-size:0;border:2px solid transparent;border-top-color:#001b09;border-radius:999px;display:inline-block;margin-left:6px}
.btn.loading .btn-spinner{inline-size:14px;block-size:14px;animation:spin 1s linear infinite}

/* HERO */
.hero{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:center;min-block-size:68vh}
.hero h1{font-size:44px;line-height:1.1;margin:0 0 12px}
.mono{font-family:'JetBrains Mono',monospace;color:var(--acc2)}
.lead{color:var(--muted);max-inline-size:58ch}
.cta{display:flex;gap:12px;margin:16px 0 8px}
.badges{display:flex;gap:12px;flex-wrap:wrap;padding:0;margin:8px 0;list-style:none}
.badges li{background:var(--surface);border:1px solid #1f2a40;padding:8px 12px;border-radius:999px;color:#cbd5e1;font-size:14px}
.terminal{background:linear-gradient(180deg, rgba(15,22,38,.9), rgba(15,22,38,.85));
  border:1px solid #1f2a40;border-radius:var(--radius);padding:16px;font-family:'JetBrains Mono',monospace;
  white-space:pre-wrap; min-block-size:240px; position:relative; box-shadow: var(--shadow)}
.terminal::after{content:"";position:absolute;inset:-1px;border-radius:var(--radius);
  background: radial-gradient(300px 120px at 20% 0%, rgba(14,165,233,.12), transparent 60%),
              radial-gradient(300px 120px at 80% 4%, rgba(34,197,94,.1), transparent 60%); pointer-events:none}
.terminal code{color:#cfe7ff}
.dim{color:#64748b}
.caret{display:inline-block;inline-size:8px;block-size:18px;background:#cfe7ff;margin-left:2px;animation:blink 1s step-end infinite}

/* CARDS / SEÇÕES */
h2{font-size:28px;margin:24px 0}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card{background:var(--card);border:1px solid #1f2a40;border-radius:var(--radius);padding:16px}
.card h3{margin:0 0 6px}
.card p{color:#cbd5e1}
.glass{background:linear-gradient(180deg, rgba(17,24,39,.75), rgba(17,24,39,.6));
  border:1px solid rgba(30,41,59,.6); backdrop-filter: blur(8px) saturate(120%);}

.bullets{display:grid;gap:8px}
.steps-list{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:0;padding:0;list-style:decimal inside}
.steps-list li{background:var(--card);border:1px solid #1f2a40;border-radius:var(--radius);padding:16px}

/* FORMS */
.upload .row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:8px}
.upload .uploads{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
label{display:flex;flex-direction:column;gap:6px;color:#cbd5e1;font-size:14px}
input,textarea{background:var(--surface);border:1px solid #1f2a40;border-radius:10px;padding:10px;color:var(--text);font-family:inherit}
input[type=file]{padding:8px;background:var(--surface);border:1px dashed #2a3346}
input[type="checkbox"]{accent-color: var(--acc1)}
.consent{margin:12px 0}
.actions{display:flex;align-items:center;gap:12px;margin-top:8px}
#status,#statusContato{font-size:14px;color:var(--muted)}
.disclaimer{margin-top:8px;color:#9aa3b2}

/* FAQ e FOOTER */
.faq details{background:var(--card);border:1px solid #1f2a40;border-radius:var(--radius);padding:12px;margin-bottom:8px}
.footer{border-top:1px solid #1f2a40;text-align:center;color:#9aa3b2}

/* MICROINTERAÇÕES */
.reveal{opacity:1;transform:none;transition:opacity .5s ease, transform .5s ease}
.js .reveal{opacity:0;transform:translateY(12px)}
.js .reveal.is-visible{opacity:1;transform:none}

@keyframes blink{50%{opacity:0}}
@keyframes spin{to{transform:rotate(360deg)}}

/* RESPONSIVO */
@media (max-width:980px){
  .menu-toggle{display:inline-flex;align-items:center;justify-content:center}
  .primary-nav{position:fixed;inset-inline:0;top:64px;background:rgba(11,18,32,.9);backdrop-filter: blur(10px);
    border-top:1px solid #1f2a40; padding:12px 24px; flex-direction:column; align-items:flex-start; gap:6px;
    transform:translateY(-16px); opacity:0; pointer-events:none; transition:opacity .2s ease, transform .2s ease}
  .primary-nav.open{transform:none;opacity:1;pointer-events:auto}
  .hero{grid-template-columns:1fr}
  .grid{grid-template-columns:1fr 1fr}
  .upload .row{grid-template-columns:1fr}
  .upload .uploads{grid-template-columns:1fr}
  .steps-list{grid-template-columns:1fr}
}

/* ACESSIBILIDADE / REDUÇÃO DE MOVIMENTO */
:focus-visible{outline:2px solid var(--acc1);outline-offset:2px;border-radius:8px}
@media (prefers-reduced-motion: reduce){
  *{animation:none!important;transition:none!important}
}


/* Terminal syntax tokens */
.t-line{white-space:pre}
.t-comment{color:#9CA3AF;font-style:italic}
.t-prompt{color:var(--acc1);font-weight:600}
.t-cmd{color:#cfe7ff}
.t-key{color:#93C5FD}
.t-string{color:#86EFAC}
.t-number{color:#F59E0B}
.t-result{color:#22C55E;font-weight:600}


/* Terminal titlebar (macOS style) and layout fixes */
.terminal{position:relative;padding-top:34px;overflow:hidden}
.terminal code{display:block}
.terminal::before{
  content:"";
  position:absolute;left:-1px;right:-1px;top:-1px;height:28px;
  background:
    radial-gradient(circle at 18px 14px, #ff5f56 0 6px, transparent 6.5px),
    radial-gradient(circle at 40px 14px, #ffbd2e 0 6px, transparent 6.5px),
    radial-gradient(circle at 62px 14px, #27c93f 0 6px, transparent 6.5px),
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(0,0,0,.15));
  border-bottom:1px solid #1f2a40;
  border-top-left-radius: var(--radius);
  border-top-right-radius: var(--radius);
}
.t-line{display:block;white-space:pre}

/* Requested adjustments */
.hero-art{align-self:start;margin-top:6px}
.card{transition:transform .18s ease, box-shadow .22s ease, border-color .22s ease}
.card:hover,.card:focus-within{transform:translateY(-3px) scale(1.01); border-color: rgba(14,165,233,.5); box-shadow: 0 12px 40px rgba(2,6,23,.45)}
.upload .uploads{display:grid;grid-template-columns:1fr;gap:10px}
.upload .fileline{display:grid;grid-template-columns:1fr;gap:6px}
.consent{display:flex !important;flex-direction:row !important;align-items:center;gap:8px}
.consent input{margin:0}
.contact form{max-width:680px}
.upload .row{grid-template-columns:1fr 1fr}
:root[data-theme="light"]{
  --bg:#f7f9fc; --surface:#ffffff; --card:#ffffff; --text:#0b1220; --muted:#475569;
  --acc1:#0EA5E9; --acc2:#059669; --acc3:#EA580C; --shadow: 0 10px 30px rgba(2,6,23,.10);
}
:root[data-theme="light"] .nav{background:rgba(255,255,255,.7); border-bottom:1px solid #e5e7eb}
:root[data-theme="light"] .primary-nav a{color:#475569}
:root[data-theme="light"] .primary-nav a:hover{background:rgba(2,6,23,.05)}
:root[data-theme="light"] body{
  background:
    radial-gradient(1000px 600px at 20% 0%, rgba(14,165,233,.12), transparent 60%),
    radial-gradient(900px 500px at 100% 10%, rgba(34,197,94,.10), transparent 60%),
    var(--bg);
}
:root[data-theme="light"] .badges li{color:#334155;border-color:#e5e7eb;background:#fff}
:root[data-theme="light"] .card{border-color:#e5e7eb}
:root[data-theme="light"] input, :root[data-theme="light"] textarea, :root[data-theme="light"] select{
  background:#fff; border:1px solid #e5e7eb; color:#0b1220;
}
.btn-ghost{background:transparent;border:1px solid #2a3346}
.btn-ghost:hover{background:rgba(2,6,23,.06)}

.hero-text{align-self:start;margin-top:-10px}


/* Contato maior e sem botão extra */
.contact form{max-width:820px;width:100%}
.contact input,.contact textarea{width:100%}


/* === Ajustes mínimos solicitados (preserva todos os efeitos existentes) === */

/* 1) Reduzir espaço vazio abaixo do hero (sem afetar animações/visual) */
@media (min-width:1024px){
  .hero{ min-block-size:56vh; }
}

/* 2) Envio de extratos: aproximar campos dos rótulos (alinhado à esquerda) */
.upload .row{
  grid-template-columns:220px minmax(0,1fr);
  column-gap:12px;
  align-items:center;
}
.upload .row label{
  display:block;
  margin:0;
  align-self:center;
}
@media (max-width:980px){
  .upload .row{ grid-template-columns:1fr; }
}


/* === Remover espaço grande abaixo do hero (apenas override, sem afetar efeitos) === */
@media (min-width:1024px){
  .container.hero{ padding-bottom: 0; }
  .hero{ min-block-size: 0; }
}


/* ========== Mobile refinement: allow pinch-zoom; clip only wide internals ========== */
@media (max-width: 640px) {
  /* Reverte overflow-x global para permitir zoom/pinch natural */
  html, body { overflow-x: visible; }

  /* Evita vazamento lateral por pseudo-elementos e barras do terminal */
  .terminal { overflow: hidden; }

  /* Garante que contêineres principais nunca ultrapassem a viewport */
  .nav, .primary-nav, .hero, .cta, .container, header, main, footer, section { max-width: 100%; }
}

