/*
 * Identidade visual Veyra (set/2026) aplicada às páginas internas do site.
 * Carregado DEPOIS do <style> de cada página: redefine fontes e tokens de cor
 * sem precisar reescrever cada regra, e estiliza o menu e o rodapé comuns
 * (classes vx-*, para não colidir com o CSS legado de cada página).
 */

/* As famílias antigas passam a apontar para Geist / Geist Mono. */
@font-face{ font-family:'Geist'; src:url('/fonts/GeistVF.woff') format('woff'); font-weight:100 900; font-display:swap; }
@font-face{ font-family:'Geist Mono'; src:url('/fonts/GeistMonoVF.woff') format('woff'); font-weight:100 900; font-display:swap; }
@font-face{ font-family:'Plex Sans'; src:url('/fonts/GeistVF.woff') format('woff'); font-weight:100 900; font-display:swap; }
@font-face{ font-family:'Inter'; src:url('/fonts/GeistVF.woff') format('woff'); font-weight:100 900; font-display:swap; }
@font-face{ font-family:'Plex Mono'; src:url('/fonts/GeistMonoVF.woff') format('woff'); font-weight:100 900; font-display:swap; }

:root{
  --ink:#030a17;
  --panel:#0a1830;
  --panel-2:#0d1f3c;
  --panel-3:#13294d;
  --line:rgba(148,197,255,.12);
  --line-strong:rgba(148,197,255,.22);
  --text:#e8f1ff;
  --muted:#9fb2cf;
  --faint:#8193b0;
  --accent:#22d3ee;
  --accent-bright:#67e8f9;
  --accent-dim:rgba(34,211,238,.12);
  --vx-cyan:#22d3ee;
  --vx-navy:#0d1f3c;
  --vx-on-dark-muted:#9fb2cf;
}

body{
  font-family:'Geist', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif !important;
  background:
    radial-gradient(900px 520px at 85% -5%, rgba(34,211,238,.10), transparent 60%),
    radial-gradient(700px 500px at 0% 0%, rgba(59,130,246,.10), transparent 60%),
    #030a17 !important;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{ letter-spacing:-.025em; }
h1{ font-weight:700 !important; }
.eyebrow{ color:var(--vx-cyan) !important; letter-spacing:.16em !important; font-weight:600; }

.btn-primary{ background:var(--vx-cyan) !important; color:#030a17 !important; box-shadow:0 10px 30px -12px rgba(34,211,238,.6); }
.btn-primary:hover{ background:#67e8f9 !important; }
.btn-ghost:hover{ border-color:var(--vx-cyan) !important; }

/* hero das páginas internas: mesmo céu + piso em perspectiva da home */
header.hero{ position:relative; overflow:hidden; padding-top:150px !important; margin-top:-86px;
  background:
    radial-gradient(800px 460px at 80% 20%, rgba(34,211,238,.16), transparent 60%),
    linear-gradient(180deg, #030a17 0%, #06142c 70%, rgba(6,20,44,0) 100%);
}
header.hero::after{
  content:""; position:absolute; left:-20%; right:-20%; bottom:0; height:40%; pointer-events:none; z-index:0;
  background-image:linear-gradient(rgba(34,211,238,.12) 1px, transparent 1px), linear-gradient(90deg, rgba(34,211,238,.12) 1px, transparent 1px);
  background-size:64px 64px; transform:perspective(520px) rotateX(62deg); transform-origin:bottom;
  -webkit-mask-image:linear-gradient(180deg, transparent 0%, #000 60%); mask-image:linear-gradient(180deg, transparent 0%, #000 60%);
}
header.hero > *{ position:relative; z-index:1; }

/* ---------- menu comum ---------- */
.vx-nav-shell{ position:sticky; top:0; z-index:60; padding:12px 0; pointer-events:none; }
.vx-nav{
  pointer-events:auto; max-width:1240px; margin:0 auto; width:calc(100% - 32px);
  background:rgba(255,255,255,.96); backdrop-filter:saturate(1.4) blur(10px); -webkit-backdrop-filter:saturate(1.4) blur(10px);
  border:1px solid rgba(13,31,60,.08); border-radius:14px; box-shadow:0 12px 40px -16px rgba(3,10,23,.6);
  display:flex; align-items:center; gap:24px; padding:10px 10px 10px 20px; font-family:'Geist', sans-serif;
}
.vx-brand{ display:inline-flex; align-items:center; gap:9px; text-decoration:none; color:#0d1f3c; flex-shrink:0; }
.vx-brand img{ height:22px; width:auto; }
.vx-brand span{ font-weight:700; font-size:20px; letter-spacing:-.02em; }
.vx-links{ display:flex; gap:4px; margin-left:12px; flex:1; }
.vx-links a{ text-decoration:none; font-size:14.5px; font-weight:500; color:#2a3a55; padding:8px 12px; border-radius:8px; }
.vx-links a:hover, .vx-links a.current{ background:#f4f7fb; color:#0d1f3c; }
.vx-links a.current{ box-shadow:inset 0 -2px 0 var(--vx-cyan); }
.vx-cta{ display:flex; gap:8px; }
.vx-btn{ display:inline-flex; align-items:center; justify-content:center; font:600 14px/1 'Geist', sans-serif; text-decoration:none; padding:11px 18px; border-radius:9px; border:1px solid transparent; white-space:nowrap; transition:background .2s, border-color .2s; }
.vx-btn-outline{ background:#fff; color:#0d1f3c; border-color:#e3e9f2; }
.vx-btn-outline:hover{ border-color:#0d1f3c; }
.vx-btn-navy{ background:#0d1f3c; color:#fff; box-shadow:inset 0 -2px 0 var(--vx-cyan); }
.vx-btn-navy:hover{ background:#13294d; }
.vx-toggle{ display:none; margin-left:auto; background:none; border:0; padding:8px; cursor:pointer; color:#0d1f3c; }
.vx-toggle svg{ display:block; }

/* ---------- rodapé comum ---------- */
.vx-footer{ background:#030a17; color:var(--vx-on-dark-muted); padding:80px 0 36px; border-top:1px solid rgba(148,197,255,.14); font-family:'Geist', sans-serif; }
.vx-wrap{ max-width:1240px; margin:0 auto; padding:0 24px; }
.vx-foot-grid{ display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:48px; }
.vx-foot-grid h4{ margin:0 0 16px; font-family:'Geist Mono', monospace; font-size:11.5px; letter-spacing:.16em; text-transform:uppercase; color:#fff; font-weight:600; }
.vx-foot-grid ul{ list-style:none; padding:0; margin:0; display:grid; gap:10px; }
.vx-foot-grid a{ text-decoration:none; font-size:14.5px; color:inherit; }
.vx-foot-grid a:hover{ color:#fff; }
.vx-footer .vx-brand{ color:#fff; }
.vx-foot-legal{ margin-top:18px; font-size:13px; line-height:1.65; max-width:420px; }
.vx-foot-bottom{ margin-top:56px; padding-top:24px; border-top:1px solid rgba(148,197,255,.14); display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; font-size:13px; }

@media (max-width:1180px){ .vx-links a{ padding:8px 9px; font-size:14px; } }
@media (max-width:1024px){
  .vx-links, .vx-cta{ display:none; }
  .vx-toggle{ display:block; }
  .vx-nav.open{ flex-wrap:wrap; }
  .vx-brand{ order:0; } .vx-toggle{ order:1; } .vx-links{ order:2; } .vx-cta{ order:3; }
  .vx-nav.open .vx-links{ display:flex; flex-direction:column; flex-basis:100%; margin:6px 0 0; }
  .vx-nav.open .vx-cta{ display:flex; flex-basis:100%; padding:6px 0 4px; }
  .vx-nav.open .vx-cta .vx-btn{ flex:1; }
  .vx-foot-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:640px){
  .vx-nav{ width:calc(100% - 20px); padding-left:14px; }
  .vx-wrap{ padding:0 16px; }
  .vx-foot-grid{ grid-template-columns:1fr; gap:32px; }
  header.hero{ padding-top:128px !important; }
}
