
/* =========================================
   Neaves Inmobiliaria
   Estilo moderno con buen contraste
   ========================================= */
:root {
  --primary: #e30613;
  --dark: #0b1120;
  --dark-soft: #111827;
  --light-bg: #f4f5f9;
  --card-bg: #ffffff;
  --text-main: #111827;
  --text-muted: #6b7280;
  --radius-lg: 18px;
  --radius-md: 12px;
  --shadow-soft: 0 14px 35px rgba(15, 23, 42, 0.12);
}
* { box-sizing:border-box; margin:0; padding:0; }
html, body { height:100%; }
body {
  font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  background:var(--light-bg);
  color:var(--text-main);
}
a { color:#0f62fe; text-decoration:none; }
a:hover { text-decoration:underline; }
/* Navbar */
.navbar {
  background:rgba(15,23,42,0.96);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(148,163,184,0.35);
}
.navbar-brand img { height:40px; }
.navbar .nav-link {
  color:#e5e7eb!important;
  font-weight:500;
  opacity:0.95;
  display:flex;
  align-items:center;
  gap:.35rem;
}
.navbar .nav-link i { font-size:.9rem; }
.navbar .nav-link:hover { color:var(--primary)!important; opacity:1; }
/* Hero */
.hero {
  padding:130px 0 90px;
  background:linear-gradient(135deg,#0b1120 0%,#111827 45%,#020617 100%);
  color:#f9fafb;
}
.hero h1 {
  font-size:2.8rem;
  font-weight:800;
  letter-spacing:-.03em;
}
.hero .lead {
  font-size:1.05rem;
  color:#d1d5db;
  max-width:560px;
}
.badge-soft {
  display:inline-flex;
  align-items:center;
  gap:.3rem;
  border-radius:999px;
  padding:6px 14px;
  border:1px solid rgba(248,250,252,0.25);
  background:rgba(15,23,42,0.7);
  color:#e5e7eb;
  font-size:.78rem;
  font-weight:600;
}
.badge-soft i { color:var(--primary); }
/* KPIs */
.kpi { border-left:3px solid var(--primary); padding-left:12px; }
.kpi strong { color:#f9fafb; }
.kpi .text-muted { color:#9ca3af!important; }
/* Buttons */
.btn-primary {
  background:var(--primary);
  border-color:var(--primary);
  border-radius:999px;
  padding:11px 24px;
  font-weight:600;
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  box-shadow:0 10px 28px rgba(227,6,19,0.35);
}
.btn-primary i { font-size:.9rem; }
.btn-primary:hover {
  filter:brightness(1.05);
  transform:translateY(-2px);
}
.btn-outline-light {
  border-radius:999px;
  padding:11px 24px;
  font-weight:600;
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  color:#f9fafb;
  border-color:#f9fafb;
}
.btn-outline-light:hover {
  background:#f9fafb;
  color:#111827;
}
/* Sections */
.section-light {
  background:var(--light-bg);
  padding:72px 0;
}
.section-dark {
  background:#111827;
  color:#e5e7eb;
  padding:72px 0;
}
.section-title {
  font-weight:800;
  letter-spacing:-.02em;
}
.section-subtitle { color:var(--text-muted); }
/* Cards */
.card-neo {
  border-radius:var(--radius-lg);
  background:var(--card-bg);
  border:1px solid rgba(148,163,184,0.25);
  box-shadow:var(--shadow-soft);
  transition:transform .15s ease-out, box-shadow .15s ease-out;
}
.card-neo:hover {
  transform:translateY(-4px);
  box-shadow:0 18px 42px rgba(15,23,42,0.18);
}
.card-neo h5, .card-neo h6 { color:var(--text-main); }
.card-neo p { color:var(--text-muted); }
.icon-pill {
  width:40px; height:40px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(227,6,19,0.12);
  color:var(--primary);
  margin-bottom:10px;
}
/* Forms */
.form-control, .form-select, textarea.form-control {
  background:#f9fafb;
  border-radius:var(--radius-md);
  border:1px solid rgba(148,163,184,0.7);
  color:var(--text-main);
}
.form-control::placeholder, textarea::placeholder { color:#9ca3af; }
.form-control:focus, .form-select:focus, textarea:focus {
  border-color:var(--primary);
  box-shadow:0 0 0 2px rgba(227,6,19,0.18);
}
/* Footer */
.footer {
  background:#ffffff;
  border-top:1px solid rgba(148,163,184,0.35);
  color:var(--text-muted);
}
.footer .brand img { height:26px; }
.footer a { color:var(--text-main); }
.footer a:hover { color:var(--primary); }
/* Responsive */
@media (max-width: 992px) {
  .hero { text-align:center; }
  .hero h1 { font-size:2.3rem; }
  .hero .lead { margin:0 auto; }
  .hero .btn { width:100%; justify-content:center; margin-bottom:10px; }
}
