:root{
  --brand:#10b981;
  --brand2:#0b7285;
}

body{
  background:#0b1220;
  color:#fff;
}

/* Superficies */
.bg-surface{
  background: rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.16);
}

.text-soft{ color: rgba(255,255,255,.88); }
.text-softer{ color: rgba(255,255,255,.74); }

.rounded-2xl{ border-radius:1.25rem; }

.shadow-soft{
  box-shadow: 0 18px 40px rgba(0,0,0,.22);
}

/* Botones */
.btn-brand{
  background: linear-gradient(135deg, var(--brand), #22c55e);
  border:0;
  color:#fff;
}

.btn-brand:hover{
  filter: brightness(1.05);
  color:#fff;
}

.btn-outline-soft{
  border:1px solid rgba(255,255,255,.28);
  color:#fff;
  background: rgba(255,255,255,.04);
}

.btn-outline-soft:hover{
  background: rgba(255,255,255,.10);
  color:#fff;
}

/* Navbar */
.navbar{
  background: linear-gradient(
    180deg,
    rgba(5,18,40,.90),
    rgba(5,18,40,.76)
  );
  backdrop-filter: blur(6px);
}

.navbar-brand img{
  filter:
    brightness(1.20)
    contrast(1.08)
    drop-shadow(0 0 10px rgba(255,255,255,.16));
}

/* HERO */
.hero{
  position:relative;
  min-height:90vh;
  overflow:hidden;
  background:
    radial-gradient(1100px 520px at 15% 15%, rgba(16,185,129,.14), transparent 60%),
    radial-gradient(900px 440px at 88% 8%, rgba(11,114,133,.14), transparent 55%),
    linear-gradient(180deg, rgba(0,0,0,.20), rgba(0,0,0,.34));
}

.hero video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  filter: saturate(1.04) contrast(1.02) brightness(1.10);
}

.hero::after{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(
    180deg,
    rgba(11,18,32,.10),
    rgba(11,18,32,.30)
  );
}

.hero-content{
  position:relative;
  z-index:2;
}

/* Glass */
.glass{
  background: rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.24);
  backdrop-filter: blur(14px);
}

/* Iconos */
.icon-pill{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  background: rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
  border-radius:14px;
}

/* Formularios */
.form-control,
.form-select{
  background: rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);
  color:#fff;
}

.form-control:focus,
.form-select:focus{
  border-color: rgba(16,185,129,.55);
  box-shadow: 0 0 0 .25rem rgba(16,185,129,.16);
}