:root{
  --bov-dark:#1e2a1f;          /* verde oscuro campo */
  --bov-gray:#5f6b5f;          /* gris natural */
  --bov-primary:#2f5d3a;       /* verde agro profundo */
  --bov-primary-2:#3e7b4f;     /* verde natural */
  --bov-accent:#8c6b3f;        /* tierra / cuero */
  --bov-border:rgba(30,42,31,.12);
}

*{ box-sizing:border-box; }
body{ font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; }
a{ text-decoration:none; }
.muted{ color:var(--bov-gray); }

.navbar{ backdrop-filter: blur(10px); }
.nav-link{ color:var(--bov-dark); }              /* antes #0f172a */
.nav-link:hover{ color:var(--bov-primary-2); }

.btn-primary{
  background: linear-gradient(135deg, var(--bov-primary), var(--bov-primary-2));
  border: none;
}
.btn-primary:hover{ filter: brightness(.98); }

/* para que el botón "Hablemos" combine con el verde */
.btn-outline-primary{
  color: var(--bov-primary);
  border-color: rgba(47,93,58,.35);
}
.btn-outline-primary:hover{
  background: var(--bov-primary);
  border-color: var(--bov-primary);
  color:#fff;
}

.section{ padding: 84px 0; }

.card-soft{
  border:1px solid var(--bov-border);
  box-shadow: 0 16px 50px rgba(2,6,23,.08);
  border-radius: 20px;
}

/* antes era azul SaaS */
.badge-soft{
  background: rgba(47,93,58,.12);
  color: var(--bov-dark);
  border:1px solid rgba(47,93,58,.22);
}

/* antes era azul SaaS */
.icon{
  width:46px;height:46px;border-radius:14px;display:grid;place-items:center;
  background: rgba(47,93,58,.12);
  border:1px solid rgba(47,93,58,.22);
  font-weight:800; color: var(--bov-dark);
}

.hero{
  position:relative;
  background: url('/public_web/assets/img/hero.jpg') center/cover no-repeat;
  min-height: 560px;
  display:flex;
  align-items:center;
  border-bottom: 1px solid var(--bov-border);
}
.hero::before{
  content:"";
  position:absolute; inset:0;
  background:
    radial-gradient(900px 520px at 78% 18%, rgba(62,123,79,.18), transparent 62%),
    radial-gradient(900px 520px at 20% 80%, rgba(140,107,63,.14), transparent 60%),
    linear-gradient(90deg, rgba(255,255,255,.94) 0%, rgba(255,255,255,.78) 45%, rgba(255,255,255,.10) 100%);
}
.hero > .container{ position:relative; z-index:1; }

.hero h1{ font-weight: 800; letter-spacing:-0.02em; color: var(--bov-dark); }
.hero .lead{ color: var(--bov-gray); }

.kpi{
  border:1px solid var(--bov-border);
  border-radius: 18px;
  padding: 18px;
  background: rgba(255,255,255,.85);
}
.kpi .num{ font-size: 28px; font-weight: 800; color: var(--bov-dark); line-height: 1.1; }
.kpi .lbl{ font-size: 13px; color: var(--bov-gray); }

.split{
  border:1px solid var(--bov-border);
  border-radius: 24px;
  overflow:hidden;
  background:#fff;
}
.split .img{
  min-height: 320px;
  background: #e5e7eb center/cover no-repeat;
}
.split .content{ padding: 28px; }

.footer{
  border-top:1px solid var(--bov-border);
  background:#fff;
}

.small-note{ font-size: 12.5px; color: var(--bov-gray); }

.img-ph{
  display:flex; align-items:center; justify-content:center;
  color:#475569;
  font-weight:600;
  background: repeating-linear-gradient(
    45deg, #f1f5f9, #f1f5f9 10px, #e2e8f0 10px, #e2e8f0 20px
  );
}

.banner-emotional{
  position: relative;
  background: url('/public_web/assets/img/banner.jpg') center/cover no-repeat;
  border-top: 1px solid var(--bov-border);
  border-bottom: 1px solid var(--bov-border);
}
.banner-emotional::before{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(30,42,31,.55), rgba(30,42,31,.55));
}
.banner-emotional .container{ position: relative; z-index: 1; }
.banner-emotional h2{ color:#fff; font-weight:800; letter-spacing:-0.02em; }
.banner-emotional p{ color: rgba(255,255,255,.85); }
.badge-accent{
  background: rgba(140,107,63,.18);
  color: #fff;
  border: 1px solid rgba(140,107,63,.35);
}

/* FIN style.css */
