/* ══════════════════════════════════════════════════════════════
   MUNDO MEJOR UK — Estética oscura, lujosa y futurista
   Paleta: obsidiana + cian + oro. Movimiento contenido.
   ══════════════════════════════════════════════════════════════ */

:root{
  /* Superficies */
  --negro:#05070d;
  --obsidiana:#080c14;
  --carbon:#0d131f;
  --grafito:#131b2b;
  --borde:#1e2a3d;
  --borde-luz:#2a3a52;

  /* Acentos */
  --cian:#22d3ee;
  --cian-profundo:#0891b2;
  --oro:#d4af37;
  --oro-claro:#f0d97a;
  --verde:#34d399;

  /* Texto */
  --texto:#e8eef7;
  --texto-suave:#a8b8cd;
  --muted:#6b7f99;

  /* Efectos */
  --brillo:0 0 40px rgba(34,211,238,.18);
  --brillo-oro:0 0 34px rgba(212,175,55,.22);
  --sombra:0 24px 70px rgba(0,0,0,.55);
  --cristal:rgba(19,27,43,.72);
  --r:18px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}

body{
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  background:var(--negro);
  color:var(--texto);
  line-height:1.65;
  overflow-x:hidden;
  position:relative;
}

/* Rejilla sutil de fondo — profundidad */
body::before{
  content:"";
  position:fixed;inset:0;z-index:0;pointer-events:none;
  background-image:
    linear-gradient(rgba(34,211,238,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(34,211,238,.025) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(ellipse 90% 70% at 50% 0%,#000 20%,transparent 75%);
}
/* Halo superior */
body::after{
  content:"";
  position:fixed;top:-30vh;left:50%;transform:translateX(-50%);
  width:120vw;height:80vh;z-index:0;pointer-events:none;
  background:radial-gradient(ellipse,rgba(34,211,238,.09),transparent 62%);
}

img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{width:min(1180px,92%);margin-inline:auto;position:relative;z-index:1}
main{position:relative;z-index:1}

/* ── NAVEGACIÓN ── */
header{
  position:fixed;top:0;left:0;right:0;z-index:100;
  transition:background .35s,box-shadow .35s,padding .35s,border-color .35s;
  padding:20px 0;border-bottom:1px solid transparent;
}
header.solido{
  background:rgba(5,7,13,.82);
  backdrop-filter:blur(18px) saturate(140%);
  border-bottom-color:var(--borde);
  box-shadow:0 8px 40px rgba(0,0,0,.5);
  padding:12px 0;
}
.nav{display:flex;align-items:center;gap:20px}
.logo{
  display:flex;align-items:center;gap:11px;font-weight:800;
  color:#fff;font-size:1.02rem;letter-spacing:.3px;
}
.logo .marca{
  width:36px;height:36px;border-radius:10px;display:grid;place-items:center;flex:none;
  background:linear-gradient(135deg,var(--cian),var(--cian-profundo));
  color:#03121a;font-weight:900;font-size:.95rem;
  box-shadow:0 0 22px rgba(34,211,238,.5);
  position:relative;
}
.logo .marca::after{
  content:"";position:absolute;inset:-3px;border-radius:13px;
  border:1px solid rgba(34,211,238,.35);
}
nav.menu{margin-left:auto;display:flex;align-items:center;gap:26px}
nav.menu > a{
  font-size:.87rem;color:var(--texto-suave);font-weight:500;
  position:relative;padding:5px 0;transition:color .25s;
}
nav.menu > a::after{
  content:"";position:absolute;left:0;bottom:0;width:0;height:1.5px;
  background:linear-gradient(90deg,var(--cian),var(--oro));
  transition:width .3s ease;
}
nav.menu > a:hover{color:#fff}
nav.menu > a:hover::after{width:100%}
.btn-nav{
  padding:10px 20px!important;border-radius:999px!important;
  background:linear-gradient(135deg,var(--cian),var(--cian-profundo));
  color:#03121a!important;font-weight:700;font-size:.82rem;
  box-shadow:0 0 26px rgba(34,211,238,.34);
  transition:transform .22s,box-shadow .22s;
}
.btn-nav:hover{transform:translateY(-2px);box-shadow:0 0 38px rgba(34,211,238,.55)}
.btn-nav::after{display:none}
.hamburguesa{
  display:none;background:none;border:0;cursor:pointer;padding:8px;
  flex-direction:column;gap:5px;margin-left:auto;
}
.hamburguesa span{
  width:24px;height:2px;background:var(--texto);display:block;transition:.3s;
  border-radius:2px;
}

/* ── HERO ── */
.hero{
  position:relative;min-height:100vh;display:flex;align-items:center;
  padding:150px 0 100px;overflow:hidden;
  background:
    radial-gradient(ellipse 80% 55% at 50% -10%,rgba(34,211,238,.13),transparent 60%),
    radial-gradient(ellipse 60% 45% at 85% 105%,rgba(212,175,55,.07),transparent 60%),
    linear-gradient(180deg,var(--obsidiana) 0%,var(--negro) 100%);
}
.hero::before{
  content:"";position:absolute;inset:0;
  background-image:url("/assets/cilara/hero-industrial.jpg");
  background-size:cover;background-position:center;
  opacity:.15;filter:saturate(.5) contrast(1.15);
}
/* Línea de horizonte luminosa */
.hero::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(34,211,238,.5),rgba(212,175,55,.5),transparent);
}
.hero .wrap{position:relative;z-index:2}

.etiqueta{
  display:inline-flex;align-items:center;gap:9px;
  font-size:.74rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;
  color:var(--cian);padding:8px 18px;border-radius:999px;
  background:rgba(34,211,238,.07);border:1px solid rgba(34,211,238,.26);
  margin-bottom:26px;backdrop-filter:blur(8px);
}
.punto{
  width:7px;height:7px;border-radius:50%;background:var(--cian);
  box-shadow:0 0 12px var(--cian);
  animation:latido 2.2s ease-in-out infinite;
}
@keyframes latido{
  0%,100%{opacity:1;transform:scale(1)}
  50%{opacity:.45;transform:scale(.82)}
}

.hero h1{
  font-size:clamp(2.3rem,5.6vw,4.3rem);line-height:1.05;
  letter-spacing:-2px;font-weight:800;margin-bottom:24px;
  max-width:19ch;
  background:linear-gradient(135deg,#fff 14%,#bfe9f5 44%,var(--oro-claro) 96%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;
}
.hero h1 em{
  font-style:normal;position:relative;
  background:linear-gradient(135deg,var(--cian),var(--oro));
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;
}
.hero .sub{
  font-size:clamp(1rem,1.5vw,1.14rem);color:var(--texto-suave);
  max-width:60ch;margin-bottom:38px;line-height:1.72;
}
.acciones{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:58px}

/* ── BOTONES ── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:16px 32px;border-radius:999px;font-weight:700;font-size:.92rem;
  cursor:pointer;transition:transform .24s,box-shadow .24s,background .24s;
  border:0;font-family:inherit;position:relative;overflow:hidden;
}
.btn-prim{
  background:linear-gradient(135deg,var(--cian),var(--cian-profundo));
  color:#03121a;box-shadow:0 0 32px rgba(34,211,238,.4);
}
.btn-prim:hover{transform:translateY(-3px);box-shadow:0 0 48px rgba(34,211,238,.62)}
.btn-sec{
  background:rgba(19,27,43,.85);color:var(--texto);
  border:1px solid var(--borde-luz)!important;
  backdrop-filter:blur(10px);
}
.btn-sec:hover{
  transform:translateY(-3px);border-color:var(--oro)!important;
  box-shadow:var(--brillo-oro);color:var(--oro-claro);
}

/* ── CIFRAS ── */
.cifras{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:1px;background:var(--borde);border:1px solid var(--borde);
  border-radius:var(--r);overflow:hidden;
}
.cifra{
  padding:30px 22px;text-align:center;background:var(--carbon);
  transition:background .3s;
}
.cifra:hover{background:var(--grafito)}
.cifra b{
  display:block;font-size:2rem;font-weight:800;letter-spacing:-1px;
  background:linear-gradient(135deg,var(--cian),var(--oro-claro));
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;margin-bottom:6px;
}
.cifra span{font-size:.76rem;color:var(--muted);letter-spacing:.4px}

/* ── SECCIONES ── */
section{padding:110px 0;position:relative}
section.gris{
  background:linear-gradient(180deg,var(--obsidiana),var(--carbon));
  border-top:1px solid var(--borde);border-bottom:1px solid var(--borde);
}
.encabezado{max-width:70ch;margin-bottom:58px}
.encabezado.centrado{margin-inline:auto;text-align:center}
.mini{
  display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:2.5px;
  text-transform:uppercase;color:var(--cian);margin-bottom:16px;
}
.encabezado h2{
  font-size:clamp(1.7rem,3.4vw,2.7rem);line-height:1.15;
  letter-spacing:-1.2px;font-weight:800;margin-bottom:16px;
  color:#fff;
}
.encabezado p{color:var(--texto-suave);font-size:1.02rem;line-height:1.72}

/* ── TARJETAS DE DOLOR ── */
.dolores{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.dolor{
  padding:30px 26px;border-radius:var(--r);
  background:linear-gradient(160deg,var(--carbon),var(--obsidiana));
  border:1px solid var(--borde);
  position:relative;overflow:hidden;transition:.3s;
}
.dolor::before{
  content:"";position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--cian),var(--oro));
  transform:scaleX(0);transform-origin:left;transition:transform .45s ease;
}
.dolor:hover{
  transform:translateY(-6px);border-color:var(--borde-luz);
  box-shadow:var(--sombra),var(--brillo);
}
.dolor:hover::before{transform:scaleX(1)}
.dolor .n{
  font-size:.74rem;font-weight:800;color:var(--oro);letter-spacing:1.5px;margin-bottom:14px;
  display:block;
}
.dolor h3{font-size:1.05rem;font-weight:700;margin-bottom:10px;color:#fff;line-height:1.35}
.dolor p{color:var(--texto-suave);font-size:.9rem;line-height:1.65}

/* ── SERVICIOS ── */
.servicios{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:22px}
.servicio{
  padding:34px 30px;border-radius:var(--r);
  background:linear-gradient(160deg,var(--grafito),var(--carbon));
  border:1px solid var(--borde);
  transition:.32s;position:relative;overflow:hidden;
}
.servicio::after{
  content:"";position:absolute;top:-50%;right:-50%;width:100%;height:100%;
  background:radial-gradient(circle,rgba(34,211,238,.09),transparent 68%);
  opacity:0;transition:opacity .4s;pointer-events:none;
}
.servicio:hover{
  transform:translateY(-7px);border-color:rgba(34,211,238,.34);
  box-shadow:var(--sombra),var(--brillo);
}
.servicio:hover::after{opacity:1}
.icono-img{
  width:58px;height:58px;object-fit:contain;border-radius:14px;
  margin-bottom:18px;display:block;
  background:rgba(34,211,238,.07);padding:7px;
  border:1px solid rgba(34,211,238,.18);
  transition:transform .3s,border-color .3s;
}
.servicio:hover .icono-img{transform:scale(1.07);border-color:rgba(34,211,238,.42)}
.servicio h3{font-size:1.1rem;font-weight:700;margin-bottom:11px;color:#fff;line-height:1.35}
.servicio p{color:var(--texto-suave);font-size:.91rem;margin-bottom:17px;line-height:1.66}
.servicio ul{list-style:none;display:flex;flex-direction:column;gap:9px}
.servicio li{
  font-size:.86rem;color:var(--texto-suave);padding-left:22px;position:relative;
}
.servicio li::before{
  content:"▸";position:absolute;left:0;color:var(--cian);font-weight:700;
}

/* ── COLECTIVO / DESTACADO ── */
.colectivo{
  margin-top:44px;padding:48px 42px;border-radius:22px;
  background:
    linear-gradient(140deg,rgba(34,211,238,.09),transparent 46%),
    linear-gradient(320deg,rgba(212,175,55,.09),transparent 46%),
    var(--carbon);
  border:1px solid var(--borde-luz);
  box-shadow:var(--sombra);
  position:relative;overflow:hidden;
}
.colectivo::before{
  content:"";position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--cian),var(--oro),var(--cian));
  background-size:200% 100%;
  animation:desliza 7s linear infinite;
}
@keyframes desliza{to{background-position:200% 0}}
.colectivo h3{
  font-size:clamp(1.3rem,2.6vw,1.85rem);margin-bottom:14px;color:#fff;
  letter-spacing:-.6px;font-weight:800;
}
.colectivo p{color:var(--texto-suave);max-width:64ch;margin-bottom:26px}
.cuentas{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:18px;
  margin-bottom:28px;
}
.cuenta{
  padding:22px 20px;border-radius:14px;background:rgba(5,7,13,.6);
  border:1px solid var(--borde);text-align:center;
}
.cuenta b{
  display:block;font-size:1.65rem;font-weight:800;letter-spacing:-.8px;
  color:var(--oro-claro);margin-bottom:5px;
}
.cuenta span{font-size:.76rem;color:var(--muted)}

/* ── SALOMÉ ── */
.salome-sec{
  background:
    radial-gradient(ellipse 70% 60% at 50% 50%,rgba(34,211,238,.1),transparent 68%),
    linear-gradient(180deg,var(--negro),var(--obsidiana));
  border-top:1px solid var(--borde);border-bottom:1px solid var(--borde);
}
.salome-caja{
  display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center;
}
.orb{
  width:190px;height:190px;border-radius:50%;margin-bottom:32px;position:relative;
  background:conic-gradient(from 0deg,var(--cian),var(--oro),var(--verde),var(--cian));
  display:grid;place-items:center;
  animation:gira 9s linear infinite;
  box-shadow:0 0 70px rgba(34,211,238,.34);
}
@keyframes gira{to{transform:rotate(360deg)}}
.orb::after{
  content:"S";position:absolute;inset:7px;border-radius:50%;
  background:var(--obsidiana);display:grid;place-items:center;
  font-size:3rem;font-weight:800;color:var(--cian);
  animation:contragira 9s linear infinite;
  text-shadow:0 0 30px rgba(34,211,238,.7);
}
@keyframes contragira{to{transform:rotate(-360deg)}}
.salome-lista{list-style:none;display:flex;flex-direction:column;gap:16px}
.salome-lista li{
  display:flex;gap:14px;align-items:flex-start;font-size:.95rem;color:var(--texto-suave);
  padding:16px 20px;border-radius:13px;background:rgba(19,27,43,.6);
  border:1px solid var(--borde);transition:.26s;
}
.salome-lista li:hover{border-color:rgba(34,211,238,.32);background:rgba(19,27,43,.9)}
.salome-lista li b{color:var(--cyan,var(--cian));flex:none}

/* ── CASOS ── */
.casos{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px}
.caso{
  border-radius:var(--r);overflow:hidden;
  background:var(--carbon);border:1px solid var(--borde);
  transition:.3s;
}
.caso:hover{transform:translateY(-6px);border-color:var(--borde-luz);box-shadow:var(--sombra)}
.caso img{
  width:100%;height:195px;object-fit:cover;display:block;
  background:var(--grafito);
  filter:saturate(.85) contrast(1.05);
  transition:transform .5s,filter .5s;
}
.caso:hover img{transform:scale(1.05);filter:saturate(1) contrast(1.1)}
.caso .cuerpo{padding:26px 24px}
.caso h3{font-size:1.02rem;margin-bottom:9px;color:#fff;font-weight:700}
.caso p{color:var(--texto-suave);font-size:.89rem;margin-bottom:14px;line-height:1.64}
.caso .res{
  font-size:.8rem;color:var(--oro);font-weight:700;
  display:inline-flex;align-items:center;gap:7px;
  padding:7px 14px;border-radius:999px;
  background:rgba(212,175,55,.1);border:1px solid rgba(212,175,55,.28);
}

/* ── PÁGINAS INTERNAS ── */
.cabecera-pagina{
  padding:160px 0 76px;position:relative;overflow:hidden;
  background:
    radial-gradient(ellipse 80% 60% at 50% -20%,rgba(34,211,238,.11),transparent 62%),
    linear-gradient(180deg,var(--obsidiana),var(--negro));
  border-bottom:1px solid var(--borde);
}
.cabecera-pagina h1{
  font-size:clamp(1.9rem,4.4vw,3.1rem);line-height:1.1;letter-spacing:-1.4px;
  margin-bottom:18px;max-width:22ch;
  background:linear-gradient(135deg,#fff 20%,#c6eaf6 60%,var(--oro-claro) 100%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;
}
.cabecera-pagina > .wrap > p{color:var(--texto-suave);max-width:64ch;font-size:1.02rem}
.migas{font-size:.78rem;color:var(--muted);margin-bottom:20px;letter-spacing:.4px}
.migas a{color:var(--muted);transition:color .22s}
.migas a:hover{color:var(--cian)}
.cabecera-img{
  width:100%;max-width:920px;height:auto;border-radius:16px;margin-top:38px;
  display:block;opacity:.62;
  border:1px solid var(--borde-luz);
  box-shadow:0 24px 70px rgba(0,0,0,.65),0 0 60px rgba(34,211,238,.1);
  filter:saturate(.8);
}

/* ── REJILLA Y TARJETAS GENÉRICAS ── */
.rejilla{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px}
.tarjeta{
  background:linear-gradient(160deg,var(--carbon),var(--obsidiana));
  border:1px solid var(--borde);border-radius:var(--r);
  padding:30px 27px;transition:.3s;display:flex;flex-direction:column;
}
.tarjeta:hover{transform:translateY(-6px);border-color:var(--borde-luz);box-shadow:var(--sombra)}
.tarjeta h3{font-size:1.04rem;margin-bottom:11px;font-weight:700;color:#fff;line-height:1.35}
.tarjeta p{color:var(--texto-suave);font-size:.9rem;flex:1;margin-bottom:16px;line-height:1.66}
.tarjeta .num{
  display:inline-grid;place-items:center;width:40px;height:40px;border-radius:11px;
  background:rgba(34,211,238,.1);border:1px solid rgba(34,211,238,.24);
  color:var(--cian);font-weight:800;font-size:.86rem;margin-bottom:16px;
}
.tarjeta ul{list-style:none;display:flex;flex-direction:column;gap:8px}
.tarjeta li{font-size:.85rem;color:var(--texto-suave);padding-left:21px;position:relative}
.tarjeta li::before{content:"▸";position:absolute;left:0;color:var(--cian);font-weight:700}

/* ── PLANES ── */
.planes{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:22px}
.plan{
  padding:38px 30px;border-radius:20px;position:relative;
  background:linear-gradient(170deg,var(--carbon),var(--obsidiana));
  border:1px solid var(--borde);transition:.32s;
  display:flex;flex-direction:column;
}
.plan:hover{transform:translateY(-7px);border-color:var(--borde-luz);box-shadow:var(--sombra)}
.plan.destacado{
  border-color:rgba(212,175,55,.42);
  background:
    linear-gradient(170deg,rgba(212,175,55,.07),transparent 42%),
    linear-gradient(170deg,var(--grafito),var(--carbon));
  box-shadow:var(--brillo-oro);
}
.plan.destacado:hover{border-color:var(--oro)}
.cinta{
  position:absolute;top:-13px;left:50%;transform:translateX(-50%);
  font-size:.68rem;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;
  padding:7px 20px;border-radius:999px;white-space:nowrap;
  background:linear-gradient(135deg,var(--oro),var(--oro-claro));
  color:#1a1405;box-shadow:0 0 24px rgba(212,175,55,.5);
}
.plan .nombre{
  font-size:.78rem;font-weight:700;letter-spacing:1.8px;text-transform:uppercase;
  color:var(--cian);margin-bottom:16px;
}
.plan .precio{display:flex;align-items:baseline;gap:7px;margin-bottom:10px}
.plan .precio b{
  font-size:2.6rem;font-weight:800;letter-spacing:-2px;color:#fff;line-height:1;
}
.plan .precio small{font-size:.85rem;color:var(--muted)}
.plan .nota{font-size:.86rem;color:var(--texto-suave);margin-bottom:24px;line-height:1.6}
.plan ul{list-style:none;display:flex;flex-direction:column;gap:11px;margin-bottom:28px;flex:1}
.plan li{font-size:.88rem;color:var(--texto-suave);padding-left:24px;position:relative}
.plan li::before{
  content:"✓";position:absolute;left:0;color:var(--verde);font-weight:800;
}

/* ── PASOS ── */
.pasos{counter-reset:paso;display:grid;gap:20px}
.paso{
  display:flex;gap:20px;padding:26px;border-radius:var(--r);
  background:linear-gradient(160deg,var(--carbon),var(--obsidiana));
  border:1px solid var(--borde);transition:.28s;
}
.paso:hover{border-color:var(--borde-luz);box-shadow:var(--sombra)}
.paso::before{
  counter-increment:paso;content:counter(paso);
  flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(135deg,var(--cian),var(--oro));color:#04141c;
  font-weight:900;font-size:1rem;
  box-shadow:0 0 24px rgba(34,211,238,.34);
}
.paso h3{font-size:1.02rem;margin-bottom:7px;color:#fff;font-weight:700}
.paso p{color:var(--texto-suave);font-size:.89rem;line-height:1.64}

/* ── TABLAS DE PRECIO ── */
.precio-fila{
  display:flex;justify-content:space-between;gap:16px;padding:14px 0;
  border-bottom:1px solid var(--borde);font-size:.9rem;align-items:baseline;
  color:var(--texto-suave);
}
.precio-fila:last-child{border-bottom:0}
.precio-fila b{color:var(--oro-claro);white-space:nowrap;font-weight:700}
.tabla-caja{
  background:linear-gradient(160deg,var(--carbon),var(--obsidiana));
  border:1px solid var(--borde);border-radius:var(--r);padding:28px 26px;
}
.tabla-caja h3{font-size:1rem;margin-bottom:9px;color:#fff;font-weight:700}
.tabla-caja .nota{font-size:.8rem;color:var(--muted);margin-bottom:16px}

/* ── CONTACTO / MAPA ── */
.mapa-caja{
  border-radius:var(--r);overflow:hidden;border:1px solid var(--borde-luz);
  box-shadow:var(--sombra),var(--brillo);background:var(--carbon);
  min-height:380px;
}
.mapa-caja iframe{width:100%;height:100%;min-height:380px;border:0;display:block;filter:grayscale(.35) invert(.9) hue-rotate(180deg) contrast(.9)}

/* ── FORMULARIO ── */
.formulario{display:flex;flex-direction:column;gap:16px}
.campo{display:flex;flex-direction:column;gap:7px}
.campo label{font-size:.8rem;color:var(--texto-suave);font-weight:600;letter-spacing:.3px}
.campo input,.campo textarea,.campo select{
  background:rgba(5,7,13,.7);border:1px solid var(--borde);
  border-radius:11px;padding:14px 17px;color:var(--texto);
  font-family:inherit;font-size:.93rem;outline:none;transition:.24s;
  width:100%;
}
.campo input:focus,.campo textarea:focus,.campo select:focus{
  border-color:var(--cian);box-shadow:0 0 0 3px rgba(34,211,238,.13);
  background:rgba(5,7,13,.95);
}
.campo textarea{resize:vertical;min-height:110px}
.campo select option{background:var(--carbon);color:var(--texto)}

/* ── PIE ── */
footer{
  background:var(--obsidiana);border-top:1px solid var(--borde);
  padding:66px 0 32px;position:relative;
}
footer::before{
  content:"";position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(34,211,238,.4),rgba(212,175,55,.4),transparent);
}
.pie-grid{
  display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:40px;margin-bottom:46px;
}
.pie-grid h4{
  font-size:.76rem;letter-spacing:2px;text-transform:uppercase;
  color:var(--cian);margin-bottom:18px;font-weight:700;
}
.pie-grid a,.pie-grid p{
  display:block;font-size:.87rem;color:var(--texto-suave);margin-bottom:10px;
  transition:color .22s;
}
.pie-grid a:hover{color:var(--cian)}
.pie-marca{display:flex;align-items:center;gap:11px;margin-bottom:16px}
.pie-marca b{color:#fff;font-size:1.05rem;font-weight:800}
.pie-bajo{
  border-top:1px solid var(--borde);padding-top:24px;
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
  font-size:.78rem;color:var(--muted);
}

/* ── REVEAL ── */
.rev{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1)}
.rev.visto{opacity:1;transform:none}

/* ── FLOTANTE WHATSAPP ── */
.flotante{
  position:fixed;right:22px;bottom:22px;z-index:90;
  width:58px;height:58px;border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(135deg,var(--cian),var(--cian-profundo));
  box-shadow:0 0 34px rgba(34,211,238,.5);
  transition:transform .26s,box-shadow .26s;
}
.flotante:hover{transform:scale(1.1) translateY(-3px);box-shadow:0 0 52px rgba(34,211,238,.72)}
.flotante svg{width:29px;height:29px;fill:#03121a}

/* ── RESPONSIVE ── */
@media(max-width:900px){
  .salome-caja{grid-template-columns:1fr;gap:38px}
  .pie-grid{grid-template-columns:1fr 1fr;gap:32px}
  .orb{width:150px;height:150px}
}
@media(max-width:768px){
  nav.menu{
    position:fixed;inset:0 0 0 auto;width:min(300px,82vw);
    background:rgba(5,7,13,.98);backdrop-filter:blur(22px);
    flex-direction:column;align-items:flex-start;justify-content:flex-start;
    padding:100px 30px 40px;gap:22px;
    transform:translateX(100%);transition:transform .34s cubic-bezier(.22,1,.36,1);
    border-left:1px solid var(--borde);z-index:99;
  }
  nav.menu.abierto{transform:none}
  nav.menu > a{font-size:1rem;width:100%}
  .btn-nav{width:100%;text-align:center;justify-content:center}
  .hamburguesa{display:flex}
  section{padding:76px 0}
  .hero{padding:130px 0 76px;min-height:auto}
  .hero h1{letter-spacing:-1px}
  .cifras{grid-template-columns:1fr 1fr}
  .colectivo{padding:34px 24px}
  .cabecera-pagina{padding:130px 0 56px}
  .pie-grid{grid-template-columns:1fr}
  .flotante{right:16px;bottom:16px;width:52px;height:52px}
}
@media(max-width:420px){
  .cifras{grid-template-columns:1fr}
  .acciones{flex-direction:column}
  .btn{width:100%}
}

/* Accesibilidad */
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .rev{opacity:1;transform:none}
}

/* ══════════════════════════════════════════════════════════
   REFINAMIENTO PREMIUM — validado con Google Modo IA 2026-10-25
   Tipografía híbrida, glassmorfismo real, UI cinética.
   ══════════════════════════════════════════════════════════ */

/* 1. Tipografía técnico-editorial */
.hero h1,
.encabezado h2,
.cabecera-pagina h1,
.colectivo h3{
  font-family:'Space Grotesk','Inter',sans-serif;
  letter-spacing:-2.2px;
}
.hero h1{letter-spacing:-2.8px}
.cifra b,
.plan .precio b,
.cuenta b{
  font-family:'Space Grotesk',sans-serif;
  font-variant-numeric:tabular-nums;
}
.cifra span,
.mini,
.etiqueta,
.plan .nombre,
.pie-grid h4,
.migas{
  font-family:'JetBrains Mono',ui-monospace,monospace;
  letter-spacing:1.4px;
}
.cifra span{letter-spacing:.6px;text-transform:none}
.caso .res,
.precio-fila b{
  font-family:'JetBrains Mono',monospace;
  letter-spacing:-.2px;
}

/* 2. Glassmorfismo real */
.cifras{
  background:rgba(19,27,43,.42);
  backdrop-filter:blur(22px) saturate(150%);
  border-color:rgba(42,58,82,.7);
  box-shadow:0 18px 56px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.05);
}
.cifra{background:transparent}
.cifra:hover{background:rgba(34,211,238,.05)}

.dolor,
.tarjeta,
.servicio{
  background:linear-gradient(160deg,rgba(19,27,43,.72),rgba(13,19,31,.82));
  backdrop-filter:blur(16px) saturate(130%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.dolor:hover,
.tarjeta:hover,
.servicio:hover{
  background:linear-gradient(160deg,rgba(24,34,54,.86),rgba(13,19,31,.92));
}

.colectivo{
  backdrop-filter:blur(24px) saturate(140%);
  box-shadow:0 26px 80px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.06);
}
.plan{
  background:linear-gradient(170deg,rgba(19,27,43,.78),rgba(8,12,20,.9));
  backdrop-filter:blur(18px) saturate(130%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
.plan.destacado{
  background:
    linear-gradient(170deg,rgba(212,175,55,.08),transparent 44%),
    linear-gradient(170deg,rgba(22,32,50,.9),rgba(8,12,20,.94));
}

/* 3. Borde luminoso progresivo al hover */
.servicio,
.tarjeta,
.dolor,
.plan{
  position:relative;
}
.servicio::before,
.tarjeta::before,
.plan::before{
  content:"";
  position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;
  padding:1px;
  background:linear-gradient(135deg,rgba(34,211,238,.55),transparent 42%,transparent 58%,rgba(212,175,55,.5));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  opacity:0;transition:opacity .38s ease;
}
.servicio:hover::before,
.tarjeta:hover::before,
.plan:hover::before{opacity:1}

/* 4. Kinetic UI — nav activa y scroll suave */
nav.menu > a{transition:color .22s,letter-spacing .28s}
nav.menu > a:hover{letter-spacing:.35px}

/* 5. Cabecera que respira */
header.solido{backdrop-filter:blur(24px) saturate(160%)}

/* 6. Transiciones de vista nativas cuando existan */
@view-transition{navigation:auto}

/* 7. Selección y foco coherentes */
::selection{background:rgba(34,211,238,.28);color:#fff}
:focus-visible{outline:2px solid var(--cian);outline-offset:3px;border-radius:6px}

/* 8. Scrollbar oscura */
*{scrollbar-width:thin;scrollbar-color:rgba(34,211,238,.34) var(--negro)}
::-webkit-scrollbar{width:11px}
::-webkit-scrollbar-track{background:var(--obsidiana)}
::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,var(--cian),var(--oro));
  border-radius:6px;border:3px solid var(--obsidiana);
}
