/* ═══════════════════════════════════════
   LUMEXOS — Design System Compartilhado
═══════════════════════════════════════ */
:root {
  --purple:     #7C3AED;
  --purple-mid: #8B5CF6;
  --purple-soft:#A78BFA;
  --purple-bg:  #F5F3FF;
  --purple-bd:  #E9E4FD;
  --ink:        #111827;
  --body:       #374151;
  --muted:      #6B7280;
  --light:      #9CA3AF;
  --white:      #FFFFFF;
  --bg:         #F9FAFB;
  --border:     #E5E7EB;
  --green:      #10B981;
  --red:        #EF4444;
  --r:    10px;
  --r-lg: 16px;
  --r-xl: 24px;
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: 'Inter', sans-serif;
  background: var(--white);
  color: var(--ink);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
a { text-decoration: none; color: inherit; }
button { font-family: 'Inter', sans-serif; }

/* ─── WRAP ─── */
.wrap { max-width: 1280px; margin: 0 auto; padding: 0 clamp(20px,5vw,56px); }

/* ─── NAV ─── */
nav.site-nav {
  position: fixed; top:0; left:0; right:0; z-index:100;
  background: rgba(255,255,255,0.92);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--border);
}
.nav-inner {
  height: 64px;
  display: flex; align-items: center; justify-content: space-between;
}
.logo { font-size:1.2rem; font-weight:800; color:var(--ink); letter-spacing:-0.03em; }
.logo span { color:var(--purple); }
.nav-links { display:flex; gap:28px; list-style:none; }
.nav-links a { font-size:.875rem; font-weight:500; color:var(--muted); transition:color .15s; }
.nav-links a:hover, .nav-links a.active { color:var(--ink); }
.nav-btns { display:flex; gap:10px; align-items:center; }

/* ─── BUTTONS ─── */
.btn {
  display:inline-flex; align-items:center; gap:6px;
  font-weight:600; border:none; cursor:pointer;
  border-radius:var(--r); transition:all .2s; white-space:nowrap;
}
.btn-sm  { font-size:.825rem; padding:7px 16px; }
.btn-md  { font-size:.875rem; padding:9px 20px; }
.btn-lg  { font-size:1rem;    padding:13px 28px; }
.btn-xl  { font-size:1.05rem; padding:15px 32px; }

.btn-purple { background:var(--purple); color:#fff; box-shadow:0 4px 14px rgba(124,58,237,.25); }
.btn-purple:hover { background:#6D28D9; transform:translateY(-1px); box-shadow:0 6px 20px rgba(124,58,237,.35); }
.btn-outline { background:transparent; color:var(--ink); border:1.5px solid var(--border); }
.btn-outline:hover { border-color:var(--purple-soft); color:var(--purple); }
.btn-ghost  { background:transparent; color:var(--muted); }
.btn-ghost:hover  { color:var(--ink); }
.btn-white  { background:#fff; color:var(--purple); box-shadow:0 2px 8px rgba(0,0,0,.1); }
.btn-white:hover  { box-shadow:0 4px 16px rgba(0,0,0,.12); }
.btn-google {
  background:#fff; color:#374151; border:1.5px solid var(--border);
  box-shadow:0 1px 4px rgba(0,0,0,.08);
  font-size:.925rem; padding:11px 20px; width:100%; justify-content:center;
  border-radius:var(--r);
}
.btn-google:hover { box-shadow:0 4px 16px rgba(0,0,0,.12); border-color:#c0c0c0; }
.btn-google svg { flex-shrink:0; }

/* ─── PAGE HERO ─── */
.page-hero {
  padding: 110px 0 60px;
  background: var(--white);
  position: relative; overflow: hidden;
  border-bottom: 1px solid var(--border);
}
.page-hero::before {
  content:''; position:absolute;
  width:600px; height:600px; border-radius:50%;
  background:radial-gradient(circle,rgba(124,58,237,.06) 0%,transparent 70%);
  top:-200px; right:-150px; pointer-events:none;
}
.page-hero-label {
  font-size:.72rem; font-weight:700; letter-spacing:.1em;
  text-transform:uppercase; color:var(--purple);
  display:flex; align-items:center; gap:6px; margin-bottom:14px;
}
.page-hero-label::before { content:''; width:16px; height:2px; background:var(--purple-soft); border-radius:2px; }
.page-hero-title {
  font-size:clamp(2rem,3.5vw,3rem); font-weight:800;
  letter-spacing:-.04em; line-height:1.12; color:var(--ink);
  margin-bottom:14px;
}
.page-hero-sub { font-size:1.05rem; line-height:1.72; color:var(--muted); max-width:560px; }

/* ─── SECTION ─── */
.sec { padding: clamp(48px,6vw,80px) 0; }
.sec-alt { background:var(--bg); }
.sec-purple { background:var(--purple-bg); }

.sec-label {
  font-size:.72rem; font-weight:700; letter-spacing:.1em;
  text-transform:uppercase; color:var(--purple);
  display:flex; align-items:center; gap:6px; margin-bottom:12px;
}
.sec-label::before { content:''; width:16px; height:2px; background:var(--purple-soft); border-radius:2px; }
.sec-title { font-size:clamp(1.6rem,2.8vw,2.2rem); font-weight:800; letter-spacing:-.04em; line-height:1.15; color:var(--ink); margin-bottom:12px; }
.sec-sub { font-size:.975rem; line-height:1.72; color:var(--muted); max-width:520px; margin-bottom:40px; }
.centered { text-align:center; display:flex; flex-direction:column; align-items:center; }
.centered .sec-sub { margin-left:auto; margin-right:auto; }

/* ─── TAG ─── */
.tag {
  display:inline-flex; align-items:center; gap:5px;
  font-size:.7rem; font-weight:700; letter-spacing:.08em;
  text-transform:uppercase; padding:4px 12px; border-radius:20px;
}
.tag-purple { background:var(--purple-bg); color:var(--purple); }
.tag-green  { background:rgba(16,185,129,.1); color:#059669; }
.tag-gray   { background:var(--bg); color:var(--muted); border:1px solid var(--border); }

/* ─── CARD BASE ─── */
.card {
  background:#fff; border:1px solid var(--border);
  border-radius:var(--r-lg); padding:28px 24px;
  transition:all .25s;
}
.card:hover { border-color:var(--purple-soft); box-shadow:0 8px 32px rgba(124,58,237,.08); transform:translateY(-3px); }

/* ─── FOOTER ─── */
footer.site-footer { background:var(--ink); padding:52px 0 24px; }
.footer-grid { display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:40px; padding-bottom:40px; border-bottom:1px solid rgba(255,255,255,.08); margin-bottom:24px; }
.footer-logo { font-size:1.2rem; font-weight:800; color:#fff; letter-spacing:-.03em; display:inline-block; margin-bottom:12px; }
.footer-logo span { color:var(--purple-soft); }
.footer-desc { font-size:.8rem; color:rgba(255,255,255,.3); line-height:1.7; max-width:240px; }
.footer-col h4 { font-size:.7rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.3); margin-bottom:16px; }
.footer-col ul { list-style:none; display:flex; flex-direction:column; gap:9px; }
.footer-col ul a { font-size:.825rem; color:rgba(255,255,255,.45); transition:color .15s; }
.footer-col ul a:hover { color:rgba(255,255,255,.8); }
.footer-bottom { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; }
.footer-copy { font-size:.75rem; color:rgba(255,255,255,.2); }
.footer-links { display:flex; gap:20px; }
.footer-links a { font-size:.75rem; color:rgba(255,255,255,.2); transition:color .15s; }
.footer-links a:hover { color:rgba(255,255,255,.5); }

/* ─── REVEAL ─── */
.reveal { opacity:0; transform:translateY(16px); transition:opacity .5s ease,transform .5s ease; }
.reveal.in { opacity:1; transform:translateY(0); }

/* ─── FORMS ─── */
.form-group { display:flex; flex-direction:column; gap:6px; margin-bottom:16px; }
.form-label { font-size:.825rem; font-weight:600; color:var(--body); }
.form-input {
  height:44px; padding:0 14px;
  border:1.5px solid var(--border); border-radius:var(--r);
  font-size:.9rem; color:var(--ink); background:#fff;
  transition:all .2s; font-family:'Inter',sans-serif;
  width:100%;
}
.form-input:focus { outline:none; border-color:var(--purple-soft); box-shadow:0 0 0 3px rgba(124,58,237,.1); }
.form-input::placeholder { color:var(--light); }
.form-input.error { border-color:var(--red); }
.form-error { font-size:.75rem; color:var(--red); display:none; }
.form-error.show { display:block; }
.form-divider {
  display:flex; align-items:center; gap:14px;
  margin:20px 0; font-size:.78rem; color:var(--light);
}
.form-divider::before, .form-divider::after { content:''; flex:1; height:1px; background:var(--border); }

/* ─── MOBILE ─── */
@media (max-width:900px) {
  nav.site-nav .nav-links { display:none; }
  .footer-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:560px) {
  .footer-grid { grid-template-columns:1fr; }
}
