/* ==========================================================================
   Nexa Crédito — estilos globais
   Fontes self-hosted (Manrope / Orbitron), tokens, base, responsivo,
   banner de consentimento (LGPD) e formulário de contato.
   ========================================================================== */

/* ---------- Fontes (self-host, subconjunto latin) ---------- */
@font-face{font-family:'Manrope';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/manrope-400.woff2) format('woff2')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/manrope-500.woff2) format('woff2')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/manrope-600.woff2) format('woff2')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/manrope-700.woff2) format('woff2')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/manrope-800.woff2) format('woff2')}
@font-face{font-family:'Orbitron';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/orbitron-600.woff2) format('woff2')}
@font-face{font-family:'Orbitron';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/orbitron-700.woff2) format('woff2')}
@font-face{font-family:'Orbitron';font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/orbitron-800.woff2) format('woff2')}

/* ---------- Tokens ---------- */
:root{
  --surface-000:#050505;--surface-100:#0f0f0f;--surface-200:#171717;--surface-300:#222;
  --line:#262626;--line-strong:#606060;--ink:#f4f4f2;--ink-muted:#a0a0a0;--ink-faint:#6b6b6b;
  --brand:#b0e404;--brand-bright:#c6ff1a;--on-brand:#0a0a0a;
  --danger:#ff5a5a;--success:#b0e404;
  --font-display:'Orbitron',system-ui,sans-serif;
  --font-sans:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
}

/* ---------- Base ---------- */
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px}
html,body{overflow-x:hidden}
body{margin:0;background:#050505;color:#f4f4f2;font-family:var(--font-sans)}
a{color:#b0e404}
a:hover{color:#c6ff1a}
img{max-width:100%;height:auto}
input[type=range]{accent-color:#b0e404}
:focus-visible{outline:2px solid #c6ff1a;outline-offset:2px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* ---------- Responsivo (colapsa o canvas fixo de 1440px) ---------- */
@media (max-width:980px){
  .nx-grid-4{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .nx-grid-3{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}
@media (max-width:640px){
  .nx-grid-4,.nx-grid-3,.nx-grid-2{grid-template-columns:1fr !important}
  .nx-h1{font-size:30px !important;line-height:34px !important}
  .nx-h2{font-size:24px !important;line-height:28px !important}
  .nx-sec{padding-top:56px !important;padding-bottom:56px !important}
  .nx-nav-links{width:100%;order:3;justify-content:flex-start !important}
  .nx-nav-cta{display:none !important}
  /* Orbitron é uma fonte larga: deixa títulos/numerais quebrarem em telas estreitas */
  [style*="Orbitron"]{overflow-wrap:anywhere;word-break:break-word}
}

/* ---------- Formulário de contato ---------- */
.nx-form{display:flex;flex-direction:column;gap:16px;width:100%}
.nx-field{display:flex;flex-direction:column;gap:6px}
.nx-field label{font-size:13px;line-height:16px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#0a0a0a}
.nx-field input,.nx-field textarea{
  width:100%;box-sizing:border-box;min-height:48px;padding:12px 14px;border-radius:8px;
  border:1px solid #0a0a0a;background:#faffe0;color:#0a0a0a;
  font-family:var(--font-sans);font-size:16px;line-height:24px;
}
.nx-field textarea{min-height:96px;resize:vertical}
.nx-field input::placeholder,.nx-field textarea::placeholder{color:#4c5a00}
.nx-consent{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:18px;color:#0a0a0a}
.nx-consent input{width:20px;height:20px;margin-top:1px;flex:0 0 auto;accent-color:#0a0a0a}
.nx-consent a{color:#0a0a0a;text-decoration:underline;font-weight:700}
.nx-form__error{margin:0;font-size:13px;line-height:18px;font-weight:700;color:#7a1010;display:none}
.nx-form__status{margin:0;font-size:14px;line-height:20px;font-weight:700;color:#0a0a0a;display:none}
.nx-submit{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:52px;padding:16px 32px;border:none;border-radius:8px;cursor:pointer;
  background:#0a0a0a;color:#b0e404;font-family:var(--font-sans);
  font-size:16px;line-height:20px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
}
.nx-submit:hover{background:#171717}
.nx-submit[disabled]{opacity:.55;cursor:not-allowed}

/* ---------- Banner de consentimento (LGPD) ---------- */
.nx-consent-banner{
  position:fixed;left:16px;right:16px;bottom:16px;z-index:9999;
  max-width:720px;margin:0 auto;box-sizing:border-box;padding:20px 24px;
  background:#0f0f0f;border:1px solid #b0e404;border-radius:14px;
  box-shadow:0 24px 64px rgba(0,0,0,.7);
  display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;
}
.nx-consent-banner[hidden]{display:none}
.nx-consent-banner p{margin:0;flex:1 1 320px;font-size:14px;line-height:20px;color:#a0a0a0}
.nx-consent-banner a{color:#b0e404;text-decoration:underline}
.nx-consent-banner__actions{display:flex;flex-wrap:wrap;gap:8px}
.nx-cbtn{
  min-height:44px;padding:10px 20px;border-radius:8px;cursor:pointer;
  font-family:var(--font-sans);font-size:14px;line-height:20px;font-weight:800;
  letter-spacing:.06em;text-transform:uppercase;
}
.nx-cbtn--accept{background:#b0e404;color:#0a0a0a;border:1px solid #b0e404}
.nx-cbtn--reject{background:transparent;color:#f4f4f2;border:1px solid #606060}

/* ---------- Páginas legais (conteúdo de texto) ---------- */
.nx-legal{max-width:820px;margin:0 auto;padding:64px 24px 96px}
.nx-legal h1{font-family:var(--font-display);font-weight:800;font-size:40px;line-height:44px;letter-spacing:.02em;text-transform:uppercase;margin:0 0 8px}
.nx-legal h2{font-family:var(--font-display);font-weight:600;font-size:22px;line-height:28px;letter-spacing:.02em;text-transform:uppercase;margin:40px 0 12px;color:#f4f4f2}
.nx-legal p,.nx-legal li{font-size:16px;line-height:26px;color:#c8c8c4}
.nx-legal ul{padding-left:20px;display:flex;flex-direction:column;gap:6px}
.nx-legal strong{color:#f4f4f2}
.nx-legal .nx-updated{font-size:13px;color:#6b6b6b;margin:0 0 24px}
.nx-legal__fill{color:#b0e404;font-weight:700}
@media (max-width:640px){.nx-legal h1{font-size:30px;line-height:34px}}
