:root{
  --bg:#0b1220;
  --bg-2:#0f1a2f;
  --card:#ffffff;
  --text:#0b1220;
  --muted:#5b6473;
  --accent:#2b6df6;
  --accent-2:#4fd1c5;
  --ring: rgba(43,109,246,.25);
  --radius: 1.25rem;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family: "Manrope", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: var(--text);
}

.fw-extrabold{font-weight:800}
.text-accent{color:var(--accent)!important}
.btn-accent{
  --bs-btn-bg: var(--accent);
  --bs-btn-border-color: var(--accent);
  --bs-btn-hover-bg: #245fd6;
  --bs-btn-hover-border-color: #245fd6;
  --bs-btn-active-bg: #1f54bf;
  --bs-btn-active-border-color:#1f54bf;
  --bs-btn-color:#fff;
}

.topbar{background:#071022;border-bottom:1px solid rgba(255,255,255,.06)}
.nav-glass{
  backdrop-filter: blur(10px);
  background: rgba(11,18,32,.78);
  border-bottom:1px solid rgba(255,255,255,.06);
}


/* Menú desplegable del navbar en móvil: darle fondo y mejorar contraste */
@media (max-width: 991.98px) {
  .nav-glass .navbar-collapse {
    background: rgba(11, 18, 32, 0.98);
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 14px;
    padding: 0.75rem 1rem;
    margin-top: 0.75rem;
    box-shadow: 0 18px 60px rgba(0,0,0,.35);
  }

  .nav-glass .navbar-nav .nav-link {
    color: rgba(255,255,255,.92) !important;
  }

  .nav-glass .navbar-nav .nav-link:hover,
  .nav-glass .navbar-nav .nav-link:focus {
    color: #fff !important;
  }
}


.brand-mark{
  width:34px;height:34px;border-radius:12px;
  background: rgba(43,109,246,.16);
  border:1px solid rgba(43,109,246,.35);
  color:#fff;
}

.hero{
  position:relative;
  background: radial-gradient(1200px 600px at 20% 10%, rgba(79,209,197,.18), transparent 60%),
              radial-gradient(900px 500px at 80% 40%, rgba(43,109,246,.22), transparent 55%),
              linear-gradient(180deg, var(--bg), var(--bg-2));
  color:#fff;
  padding: 5.25rem 0 4rem;
  overflow:hidden;
}
.hero-bg{
  position:absolute; inset:0;
  background-size: cover;
  background-position:center;
  opacity:.16;
  filter: blur(2px) saturate(1.05);
  transform: scale(1.05);
}
.hero:before{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(90deg, rgba(11,18,32,.88), rgba(11,18,32,.58), rgba(11,18,32,.86));
}
.hero > .container{position:relative; z-index:1}
.kicker{
  display:inline-flex; align-items:center; gap:.5rem;
  font-size:.85rem; letter-spacing:.12em; text-transform:uppercase;
  padding:.5rem .75rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
}
.hero-card{
  padding: 1.25rem 1.25rem;
  border-radius: var(--radius);
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  box-shadow: 0 18px 60px rgba(0,0,0,.35);
}
.hero-card__title{
  font-weight:700;
  display:flex; align-items:center;
  margin-bottom: .75rem;
}
.hero-list li{
  display:flex; align-items:flex-start; gap:.6rem;
  padding:.45rem 0;
  color: rgba(255,255,255,.86);
}
.hero-list i{color: var(--accent-2); margin-top:.1rem}

.mini-stat{
  display:flex; gap:.75rem; align-items:center;
  padding: .9rem .95rem;
  border-radius: 1rem;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
}
.mini-stat__icon{
  width:40px; height:40px; border-radius:14px;
  display:flex; align-items:center; justify-content:center;
  background: rgba(43,109,246,.16);
  border:1px solid rgba(43,109,246,.35);
}
.mini-stat__num{font-weight:800; line-height:1.1}
.mini-stat__lbl{font-size:.86rem; color:rgba(255,255,255,.6)}

.section{padding: 5rem 0}
.section-alt{background: #f6f8ff}
.section-kicker{
  font-size:.82rem; letter-spacing:.12em; text-transform:uppercase;
  color: var(--accent);
  font-weight: 800;
}
.section-title{font-weight: 800; margin-top:.35rem}
.feature-card{
  border-radius: var(--radius);
  border: 1px solid rgba(11,18,32,.08);
  box-shadow: 0 14px 40px rgba(11,18,32,.06);
}
.icon-pill{
  width:46px;height:46px;border-radius:16px;
  display:flex;align-items:center;justify-content:center;
  background: rgba(43,109,246,.12);
  border:1px solid rgba(43,109,246,.28);
  color: var(--accent);
  font-size: 1.2rem;
}

.img-frame{
  border-radius: var(--radius);
  overflow:hidden;
  box-shadow: 0 18px 60px rgba(11,18,32,.12);
  border: 1px solid rgba(11,18,32,.08);
  background: #fff;
}

.callout{
  display:flex; gap:.9rem; align-items:flex-start;
  padding: 1rem 1.1rem;
  border-radius: 1.25rem;
  background: #fff;
  border: 1px solid rgba(11,18,32,.08);
  box-shadow: 0 14px 40px rgba(11,18,32,.06);
}
.callout__icon{
  width:42px; height:42px; border-radius: 16px;
  display:flex;align-items:center;justify-content:center;
  background: rgba(79,209,197,.14);
  border:1px solid rgba(79,209,197,.28);
  color: #0a6b63;
}

.bullet-card{
  display:flex; gap:.75rem; align-items:flex-start;
  padding: .95rem 1rem;
  border-radius: 1.1rem;
  background: #fff;
  border: 1px solid rgba(11,18,32,.08);
}
.pill{
  display:flex; gap:.5rem; align-items:center;
  padding:.7rem .85rem;
  border-radius: 999px;
  background:#fff;
  border:1px solid rgba(11,18,32,.08);
  box-shadow: 0 10px 24px rgba(11,18,32,.05);
}

.accordion-item{
  border-radius: 1.25rem!important;
  overflow:hidden;
  border:1px solid rgba(11,18,32,.08)!important;
  box-shadow: 0 14px 40px rgba(11,18,32,.06);
  margin-bottom: .9rem;
}
.accordion-button{
  font-weight: 800;
}
.accordion-button:not(.collapsed){
  background: rgba(43,109,246,.08);
  color: var(--text);
  box-shadow:none;
}
.accordion-button:focus{box-shadow: 0 0 0 .25rem var(--ring)}
.accordion-body{background:#fff}

.contact-card{
  background: linear-gradient(180deg, #0b1220, #0f1a2f);
  border-radius: var(--radius);
  padding: 1.5rem 1.4rem;
  border: 1px solid rgba(255,255,255,.14);
  color:#fff;
  box-shadow: 0 18px 60px rgba(0,0,0,.32);
}
.avatar{
  width:54px;height:54px;border-radius: 20px;
  display:flex;align-items:center;justify-content:center;
  background: rgba(43,109,246,.16);
  border:1px solid rgba(43,109,246,.35);
  font-size: 1.35rem;
}
.stat-card{
  display:flex; gap:.8rem; align-items:flex-start;
  padding: 1rem 1.1rem;
  border-radius: 1.25rem;
  background: #fff;
  border:1px solid rgba(11,18,32,.08);
  box-shadow: 0 14px 40px rgba(11,18,32,.06);
}
.stat-card__icon{
  width:42px; height:42px; border-radius: 16px;
  display:flex;align-items:center;justify-content:center;
  background: rgba(43,109,246,.12);
  border:1px solid rgba(43,109,246,.28);
  color: var(--accent);
}

.footer{
  background: #071022;
  border-top: 1px solid rgba(255,255,255,.06);
}
.footer a:hover{opacity:.85}

@media (max-width: 991px){
  .hero{padding: 4.5rem 0 3.5rem}
}


/* Logo navbar */
.navbar-logo {
  height: 168px;
  width: auto;
  display: block;
}

@media (max-width: 991px) {
  .navbar-logo {
    height: 76px;
  }
}
