/* ==========================================
   PALETA SÚPER VIVA (AZUL • ROJO • VERDE)
   ==========================================
   Principal (azul):   #0077FF
   Secundario (rojo):  #FF2D2D
   Acento (verde):     #00E676
   Fondo claro:        #F4F7FF
   Fondo oscuro:       #0A0F1F
   Texto oscuro:       #0C1222
   Texto claro:        #FFFFFF
*/

:root{
  --azul:#0077FF;
  --rojo:#FF2D2D;
  --verde:#00E676;
  --amarillo:#FFD166;
  --violeta:#7B2FF7;

  --fondo:#F4F7FF;
  --fondo-2:#FFFFFF;
  --fondo-osc:#0A0F1F;

  --texto:#0C1222;
  --texto-suave:#46506A;
  --texto-claro:#FFFFFF;

  --borde:#E3E8F7;
  --sombra:0 14px 30px rgba(7, 22, 63, .12);
  --radio:18px;
  --maxw:1180px;
  --trans:.25s ease;
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Arial, sans-serif;
  background:
    radial-gradient(900px circle at 5% -10%, rgba(0,119,255,.18), transparent 60%),
    radial-gradient(900px circle at 100% 0%, rgba(255,45,45,.16), transparent 55%),
    radial-gradient(800px circle at 50% 90%, rgba(0,230,118,.18), transparent 60%),
    var(--fondo);
  color:var(--texto);
  line-height:1.6;
}

a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;border-radius:14px;}
.container{width:100%;max-width:var(--maxw);margin:auto;padding:0 18px;}

.header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.9);
  border-bottom:1px solid var(--borde);
  backdrop-filter: blur(6px);
}
.header__row{
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 0;gap:10px;
}
.brand{
  display:flex;align-items:center;gap:12px;font-weight:900;
}
.brand__logo{
  width:46px;height:46px;border-radius:12px;
  background:
    conic-gradient(from 200deg, var(--azul), var(--rojo), var(--verde), var(--azul));
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.9), var(--sombra);
}
.brand__name{font-size:1.05rem;letter-spacing:.2px;}
.brand__tag{font-size:.8rem;color:var(--texto-suave);font-weight:700;margin-top:-4px;}

.nav{display:flex;gap:8px;flex-wrap:wrap;}
.nav a{
  padding:8px 12px;border-radius:999px;font-weight:800;font-size:.92rem;
  border:2px solid transparent;
  background:
    linear-gradient(#fff,#fff) padding-box,
    linear-gradient(90deg, var(--azul), var(--rojo), var(--verde)) border-box;
  transition:var(--trans);
}
.nav a:hover, .nav a[aria-current="page"]{
  transform:translateY(-1px);
  box-shadow:0 10px 18px rgba(0,119,255,.18);
}

.hero{
  padding:54px 0 24px;
  display:grid;grid-template-columns:1.1fr .9fr;gap:18px;align-items:center;
}
@media (max-width:980px){.hero{grid-template-columns:1fr;}}

.hero__card{
  background:var(--fondo-2);
  border:1px solid var(--borde);
  border-radius:calc(var(--radio) + 6px);
  padding:26px;
  box-shadow:var(--sombra);
  position:relative;overflow:hidden;
}
.hero__card::after{
  content:"";
  position:absolute;inset:-60% -20% auto auto;width:280px;height:280px;border-radius:50%;
  background: radial-gradient(circle, rgba(0,119,255,.25), transparent 60%);
}

.badge{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.82rem;font-weight:900;color:#fff;
  background: linear-gradient(90deg, var(--azul), var(--rojo));
  padding:6px 10px;border-radius:999px;
}
.hero h1{font-size:2.25rem;line-height:1.15;margin:.7rem 0 0;}
.hero p{color:var(--texto-suave);font-size:1.03rem;margin:.6rem 0 1rem;}

.hero__cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px;}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:12px 16px;border-radius:12px;font-weight:900;border:0;cursor:pointer;
  transition:var(--trans);
}
.btn--primary{
  color:#fff;background:linear-gradient(90deg, var(--azul), var(--verde));
  box-shadow:0 12px 22px rgba(0,119,255,.25);
}
.btn--secondary{
  color:#fff;background:linear-gradient(90deg, var(--rojo), var(--violeta));
}
.btn--ghost{
  background:#fff;border:2px dashed var(--azul);color:var(--texto);
}
.btn:hover{transform:translateY(-1px);filter:saturate(1.1);}

.section{padding:26px 0;}
.section__title{
  font-size:1.7rem;margin:0 0 8px;font-weight:1000;
  background:linear-gradient(90deg, var(--azul), var(--rojo), var(--verde));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.section__subtitle{color:var(--texto-suave);margin:0 0 14px;font-weight:600;}

.grid{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr));}
@media (max-width:980px){.grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:560px){.grid{grid-template-columns:1fr;}}

.card{
  background:#fff;border:1px solid var(--borde);border-radius:var(--radio);
  padding:16px;box-shadow:var(--sombra);transition:var(--trans);
}
.card:hover{transform:translateY(-2px);border-color:#c7d6ff;}
.card h3{margin:.6rem 0 .35rem;font-size:1.15rem;}
.card p{margin:.15rem 0;color:var(--texto-suave);}

.kpi{
  display:flex;gap:10px;flex-wrap:wrap;margin-top:8px;
}
.kpi__item{
  background:linear-gradient(180deg,#fff, #f7f9ff);
  border:1px solid var(--borde);padding:10px 12px;border-radius:12px;font-weight:800;
}

.price{
  margin-top:8px;font-weight:1000;display:inline-block;color:#0b1b3a;
  background:rgba(0,230,118,.12);padding:6px 10px;border-radius:10px;
  border:1.5px dashed rgba(0,230,118,.9);
}

.split{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:center;}
@media (max-width:900px){.split{grid-template-columns:1fr;}}

.list-check{display:grid;gap:8px;margin:10px 0 0;padding:0;list-style:none;}
.list-check li{
  background:#fff;border:1px solid var(--borde);padding:8px 10px;border-radius:12px;
  font-weight:700;
}

.form{display:grid;gap:10px;}
.form label{font-weight:900;font-size:.94rem;}
.form input,.form textarea{
  width:100%;padding:12px;border-radius:12px;border:1.5px solid var(--borde);
  background:#fff;color:var(--texto);outline:none;font-weight:600;
}
.form input:focus,.form textarea:focus{
  border-color:var(--azul);
  box-shadow:0 0 0 3px rgba(0,119,255,.2);
}

.contact-cards{display:grid;gap:12px;grid-template-columns:repeat(3,1fr);}
@media (max-width:900px){.contact-cards{grid-template-columns:1fr;}}

.stars{letter-spacing:1px;color:var(--amarillo);font-size:1.05rem;}
.testi{position:relative;}
.testi--featured{
  border:2px solid transparent;
  background:
    linear-gradient(#fff,#fff) padding-box,
    linear-gradient(120deg, var(--azul), var(--rojo), var(--verde)) border-box;
}
.testi--featured::after{
  content:"DESTACADO";
  position:absolute;top:12px;right:12px;
  font-size:.72rem;font-weight:1000;
  background:linear-gradient(90deg,var(--verde),var(--amarillo));
  color:#06220f;padding:5px 8px;border-radius:999px;
}

.footer{
  margin-top:28px;padding:20px 0;border-top:1px solid var(--borde);
  color:var(--texto-suave);font-size:.92rem;background:#fff;
}
.footer__row{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.small{font-size:.86rem;color:var(--texto-suave);}
