/* === Design System (glass) === */
:root{
  --bg:#0b0f1a;
  --bg-2:#0e1424;
  --fg:#EDECF7;
  --muted:#C8C6E3;
  --brand:#6C2BD9;
  --brand-2:#9B5CF6;
  --accent:#F4D03F;          /* Amarillo acento */
  --green:#30d158;           /* Checks y botón verde outline */
  --shadow:0 10px 30px rgba(0,0,0,.35);
  --radius:18px;
  --radius-lg:26px;
  --maxw:1150px;
}

/* === Reset base === */
*{box-sizing:border-box}
html,body{margin:0}
body{
  background:var(--bg);
  color:var(--fg);
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, "Noto Sans", sans-serif;
  line-height:1.55;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

/* === Contenedor === */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}

/* === Header flotante con blur === */
header{
  position:sticky;top:0;z-index:50;
  backdrop-filter:saturate(140%) blur(10px);
  background:linear-gradient(180deg, rgba(11,15,26,.9), rgba(11,15,26,.65));
  border-bottom:1px solid rgba(255,255,255,.06);
}
.nav{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0}
.brand{display:flex;align-items:center;gap:12px}
.logo{
  width:36px;height:36px;border-radius:50%;
  background:
    radial-gradient(circle at 70% 30%, rgba(244,208,63,.9), transparent 45%),
    radial-gradient(circle at 30% 70%, rgba(155,92,246,.7), transparent 55%),
    conic-gradient(from 90deg at 50% 50%, #20123a, #6C2BD9 80%, #20123a);
  box-shadow:0 0 0 2px rgba(255,255,255,.08), inset 0 0 18px rgba(244,208,63,.25)
}
.brand span{font-weight:700;letter-spacing:.2px}
.nav-cta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.tel-big{font-weight:800;letter-spacing:.5px}

/* === Botones “píldora” === */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  border:none;cursor:pointer;font-weight:700;
  padding:12px 18px;border-radius:999px;box-shadow:var(--shadow);
  transition:transform .15s ease, background .15s ease, color .15s ease, border-color .15s ease;
}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn-call{background:linear-gradient(135deg, var(--accent), #ffd968);color:#1b1400}
.btn-outline{background:transparent;border:1px solid rgba(255,255,255,.18);color:var(--fg)}
.btn-outline--green{border:1px solid var(--green);color:#d9ffe9;background:transparent}
.btn-outline--green:hover{background:rgba(46,204,113,.08)}

/* === Tipografía (títulos amarillos) === */
h1,h2,h3{color:var(--accent);margin:0 0 8px}
h1{font-size:clamp(2rem,3.2vw + 1rem,3.2rem);line-height:1.15}
h2{font-size:clamp(1.6rem,1.5vw + 1rem,2.2rem)}
.eyebrow{font-size:.9rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.lead{font-size:1.08rem;color:#ddd;max-width:58ch}
.muted{color:var(--muted)}

/* === HERO === */
.hero{position:relative;overflow:hidden}
.hero .wrap{padding:56px 20px 40px}
.hero-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:center}
@media (max-width:960px){.hero-inner{grid-template-columns:1fr}}

.hero-card{
  padding:28px;border-radius:var(--radius-lg);
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.06);
  box-shadow:var(--shadow)
}
.badges{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0 4px}
.badge{
  font-size:.9rem;padding:8px 12px;border-radius:999px;
  border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.03)
}
.kicker{color:var(--muted);font-size:.95rem;margin-top:4px}

/* Banner hero (vertical controlado) */
.hero-banner{
  position:relative;border-radius:var(--radius-lg);overflow:hidden;
  border:1px solid rgba(255,255,255,.06);box-shadow:var(--shadow);
  height:555px;               /* Ajusta aquí la altura en escritorio */
  aspect-ratio:auto;
}
@media (max-width:960px){
  .hero-banner{height:60vh;min-height:420px}
}
.hero-banner picture,
.hero-banner img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}

/* === Secciones y tarjetas === */
section{padding:60px 0;border-top:1px solid rgba(255,255,255,.06)}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media (max-width:900px){.grid-3{grid-template-columns:1fr}}
.card-feature{
  padding:22px;border-radius:var(--radius);
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.08)
}

/* === Cómo funciona === */
.how{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media (max-width:900px){.how{grid-template-columns:1fr}}
.step{padding:22px;border-radius:var(--radius);border:1px dashed rgba(255,255,255,.18)}

/* === Precios === */
.pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media (max-width:960px){.pricing{grid-template-columns:1fr}}
.plan{
  padding:26px;border-radius:var(--radius-lg);
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.12);position:relative;overflow:hidden
}
.plan.best{box-shadow:0 0 0 2px var(--brand) inset}
.price{font-size:2rem;font-weight:900}
ul.clean{list-style:none;margin:12px 0 0;padding:0}
ul.clean li{padding:6px 0 6px 28px;position:relative}
ul.clean li::before{content:"✓";position:absolute;left:0;top:6px;font-weight:900;color:var(--green)}
.btn-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}

/* === Equipo === */
.team{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
@media (max-width:900px){.team{grid-template-columns:1fr}}
.person{
  display:flex;gap:14px;align-items:flex-start;
  padding:18px;border-radius:var(--radius);
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.02)
}
.avatar{
  width:58px;height:58px;border-radius:50%;
  object-fit:cover;box-shadow:inset 0 0 0 2px rgba(255,255,255,.1)
}

/* === Opiniones / FAQ === */
blockquote{margin:0;padding:16px 18px;border-left:4px solid var(--brand);background:rgba(255,255,255,.03);border-radius:10px}
details{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.02);border-radius:12px;margin:10px 0;padding:14px 16px}
summary{cursor:pointer;font-weight:700}

/* === Footer === */
footer{padding:30px 0 90px}
.footer-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;align-items:center}
@media (max-width:900px){.footer-grid{grid-template-columns:1fr}}

/* === Barra móvil === */
.bar-call{
  position:fixed;left:16px;right:16px;bottom:16px;z-index:60;
  display:flex;gap:10px;background:linear-gradient(135deg, var(--accent), #ffd968);
  color:#1b1400;border-radius:999px;box-shadow:0 18px 40px rgba(0,0,0,.35);
  padding:10px 12px;align-items:center;justify-content:center
}
.bar-call a{color:inherit;text-decoration:none;font-weight:900}
.hidden{display:none}

/* === Banner de cookies (con aceptar/rechazar) === */
.cookie-consent{
  position:fixed;bottom:0;left:0;right:0;background:rgba(0,0,0,0.9);
  color:#fff;padding:12px 16px;z-index:100;display:none;flex-wrap:wrap;
  align-items:center;justify-content:center;font-size:0.9rem;gap:10px;text-align:center;
  border-top:2px solid var(--accent)
}
.cookie-consent a{color:var(--accent);text-decoration:underline}
.cookie-actions{display:flex;gap:8px;margin-left:12px}
.cookie-consent button{
  background:var(--accent);color:#1b1400;border:none;padding:8px 14px;
  border-radius:8px;font-weight:700;cursor:pointer
}
#reject-cookies{background:#555;color:#fff}
#reject-cookies:hover{background:#777}

/* ===== PÁGINAS LEGALES (compactas, sin duplicados) ===== */
.legal{max-width:1100px;margin:0 auto;padding:40px 20px}
.legal h1{font-size:clamp(1.6rem,2.2vw + .6rem,2.2rem);margin:0 0 12px}
.legal h2{font-size:clamp(1.1rem,1.4vw + .5rem,1.4rem);margin:0 0 10px}
.legal h3{margin:.8em 0 .4em}

.legal--compact{font-size:.96rem;line-height:1.55}
.legal--compact .muted{color:var(--muted)}
.legal a{color:var(--accent);text-decoration:underline}

/* Panel / caja “glass” */
.panel{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.10);
       border-radius:12px;padding:18px;margin:12px 0}
.panel--tight{padding:14px 16px;margin:10px 0}

/* Tablas legales */
.legal-table{width:100%;border-collapse:collapse;margin:12px 0 18px;border:1px solid rgba(255,255,255,.12);border-radius:12px;overflow:hidden}
.legal-table th,.legal-table td{padding:10px 12px;border-top:1px solid rgba(255,255,255,.10);vertical-align:top}
.legal-table th{width:240px;color:#EDECF7;opacity:.85;font-weight:700}
.legal-table--compact th,.legal-table--compact td{padding:8px 10px}



/* Botonera de tarifas: en escritorio, en línea */
@media (min-width: 960px){
  .plan .btn-row{
    display:flex;
    align-items:center;
    gap:12px;
    flex-wrap: nowrap;        /* no permitir salto */
  }
  .plan .btn-row .btn{
    white-space: nowrap;      /* no partir texto */
    flex: 0 1 auto;           /* deja que quepan */
  }
}

/* Opcional: botones un pelín más compactos SOLO dentro de tarifas */
@media (min-width: 960px){
  .pricing .btn{
    padding:10px 16px;        /* reduce padding para evitar salto */
    font-size:0.95rem;
  }
}