/* Fulkro · prototipo v3 «Máquina viva, oscura» · 19-sep-2026
   Marca (doc 52 §10): azul eléctrico, grafito, azul tinta, blanco; coral SOLO en llamados a la acción.
   Space Grotesk 700 en titulares, IBM Plex Sans en cuerpo.
   Dirección: fondo grafito profundo, luz azul que respira, una máquina con la que se juega
   y el producto mostrado funcionando mientras se baja. */

:root{
  --azul:#2D5BFF;
  --azul-claro:#7EE7F5;      /* tinte del azul de marca, para texto pequeño sobre oscuro (contraste AA) */
  --azul-hondo:#1F3BFF;
  --coral:#FF6B4A;
  --coral-hover:#FF8266;
  --grafito:#14161A;
  --tinta:#EAEFFF;

  --fondo:#0E121B;
  --sup-1:#141820;
  --sup-2:#1B212B;
  --sup-3:#252B36;
  --texto:#F4F6FB;
  --texto-2:rgba(234,239,255,.70);
  --texto-3:rgba(234,239,255,.46);
  --linea:rgba(234,239,255,.10);

  --f-titulo:'Space Grotesk','Helvetica Neue',Arial,sans-serif;
  --f-cuerpo:'IBM Plex Sans','Helvetica Neue',Arial,sans-serif;

  --fs-hero:clamp(2.05rem,4.1vw,4.1rem);
  --fs-h2:clamp(1.75rem,3vw,2.75rem);
  --fs-entrada:clamp(1.0625rem,1.35vw,1.25rem);

  --margen:clamp(1.25rem,4vw,3.25rem);
  --ancho:78rem;
  --cab:4.25rem;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto !important}
.lenis.lenis-stopped{overflow:hidden}

body{
  margin:0;overflow-x:clip;
  font:400 1.0625rem/1.6 var(--f-cuerpo);
  color:var(--texto);background:var(--fondo);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
h1,h2,h3,p,ol,ul,dl,dd{margin:0}
ol,ul{padding:0;list-style:none}
a{color:var(--azul-claro);text-underline-offset:.2em}
:focus-visible{outline:2px solid var(--tinta);outline-offset:4px;border-radius:6px}

.cont{width:min(100% - 2*var(--margen),var(--ancho));margin-inline:auto}
.salto{position:absolute;left:-999rem;top:1rem;z-index:50;padding:.7rem 1rem;border-radius:.5rem;background:var(--tinta);color:var(--grafito)}
.salto:focus{left:1rem}

/* ---------- La luz que respira (una sola capa fija, solo opacidad y transform) ---------- */
.luz{
  position:fixed;inset:-10%;z-index:-1;pointer-events:none;
  background:
    radial-gradient(52% 44% at 68% 38%,rgba(45,91,255,.26),transparent 70%),
    radial-gradient(36% 36% at 12% 84%,rgba(45,91,255,.12),transparent 70%),
    radial-gradient(30% 26% at 90% 96%,rgba(255,107,74,.05),transparent 70%);
  animation:respira 11s ease-in-out infinite alternate;
}
.luz::after{ /* grano fino: quita el aspecto plástico de los degradados */
  content:"";position:absolute;inset:0;opacity:.06;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='g'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23g)'/></svg>");
}
@keyframes respira{
  from{opacity:.72;transform:translate3d(-1.5%,1%,0) scale(1)}
  to{opacity:1;transform:translate3d(1.5%,-1%,0) scale(1.06)}
}

/* ---------- Botones ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:3.25rem;padding:.5rem 1.7rem;border:1px solid transparent;border-radius:999px;
  font:600 1rem/1.2 var(--f-cuerpo);text-decoration:none;text-align:center;cursor:pointer;
  transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s,background-color .2s,border-color .2s;
}
.btn--accion{background:var(--coral);color:var(--grafito);box-shadow:0 10px 40px rgba(255,107,74,.28)}
.btn--accion:hover{background:var(--coral-hover);box-shadow:0 14px 54px rgba(255,107,74,.45)}
.btn--wa{background:#25D366;color:#0B1E13;box-shadow:0 8px 30px rgba(37,211,102,.28);gap:.45rem}
.btn--wa:hover{background:#20BD5A;color:#07150D;box-shadow:0 10px 36px rgba(37,211,102,.42);transform:translateY(-1px)}
.btn--wa svg{width:1.2rem;height:1.2rem;fill:currentColor;flex:none}
.btn__wa-texto-corto{display:none}
@media (max-width:58rem){
  .btn__wa-texto-largo{display:none}
  .btn__wa-texto-corto{display:inline}
}
.btn--fantasma{border-color:rgba(234,239,255,.28);color:var(--texto);background:rgba(234,239,255,.02)}
.btn--fantasma:hover{border-color:var(--texto);background:rgba(234,239,255,.07)}
.btn--chico{min-height:2.6rem;padding-inline:1.15rem;font-size:.9rem}

/* ---------- Cabecera ---------- */
.cab{position:fixed;inset:0 0 auto 0;z-index:30;transition:background-color .35s,border-color .35s,backdrop-filter .35s;border-bottom:1px solid transparent}
.cab.is-solida{background:rgba(13,15,18,.72);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom-color:var(--linea)}
.cab__fila{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:var(--cab)}
.cab__nav{display:flex;align-items:center;gap:1.75rem}
.cab__enlace{color:var(--texto-2);text-decoration:none;font-weight:500;font-size:.9375rem;transition:color .2s}
.cab__enlace:hover{color:var(--texto)}
.marca{display:inline-flex;align-items:center;gap:.5rem;color:var(--texto);text-decoration:none}
.marca__signo{width:1.5rem;height:1.5rem;flex:none;fill:var(--azul)}
.wm{font-family:var(--f-titulo);font-weight:700;font-size:1.625rem;letter-spacing:-.045em;line-height:1;display:inline-flex;align-items:baseline}
.wm .k{position:relative;display:inline-block}
.wm .k svg{position:absolute;left:6%;bottom:-.01em;width:.26em;height:.2em;fill:var(--fondo)}
@media (max-width:58rem){.cab__enlace:not(.cab__entrar){display:none}}

/* ---------- Portada ---------- */
.hero{position:relative;display:flex;flex-direction:column;min-height:100svh;padding-top:calc(var(--cab) + clamp(1.25rem,4vh,3rem))}
.hero__titulo{
  font:700 var(--fs-hero)/1.03 var(--f-titulo);letter-spacing:-.04em;
  max-width:19.5em;text-wrap:balance;
}
.js .hero__titulo{visibility:hidden}
.is-listo .hero__titulo{visibility:visible}
.palabra{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.12em;margin-bottom:-.12em}
.palabra > span{display:inline-block;will-change:transform}

.hero__bajo{display:grid;gap:1.5rem;margin-top:clamp(1.25rem,2.6vh,2rem)}
.hero__entrada{font-size:calc(var(--fs-entrada) * 1.18);line-height:1.45;color:var(--texto);max-width:36rem;font-weight:400}
.hero__entrada strong{font-weight:600;color:var(--texto)}
.hero__acciones{display:flex;flex-wrap:wrap;gap:.85rem}
@media (min-width:62rem){
  .hero__bajo{grid-template-columns:minmax(0,33rem) auto;justify-content:space-between;align-items:end}
}

/* Palanca fija mientras se recorre la portada (escritorio) */
@media (min-width:62rem) and (prefers-reduced-motion:no-preference){
  .hero{min-height:200svh}
  .hero .maquina{position:sticky;top:calc(var(--cab) + 1rem);flex:0 0 auto;max-height:none;height:calc(100svh - var(--cab) - 2rem);margin-bottom:0}
}

/* ---------- La máquina ---------- */
.maquina{
  position:relative;flex:1 1 auto;min-height:19.5rem;max-height:31rem;
  margin-top:clamp(.75rem,2vh,1.75rem);
  touch-action:pan-y;-webkit-user-select:none;user-select:none;
}
.maquina__rejilla{
  position:absolute;inset:0;opacity:.6;
  background-image:linear-gradient(var(--linea) 1px,transparent 1px),linear-gradient(90deg,var(--linea) 1px,transparent 1px);
  background-size:3.5rem 3.5rem;background-position:center bottom;
  -webkit-mask-image:radial-gradient(ellipse 70% 90% at 62% 78%,#000 18%,transparent 74%);
  mask-image:radial-gradient(ellipse 70% 90% at 62% 78%,#000 18%,transparent 74%);
}
.maquina__suelo{
  position:absolute;left:0;right:0;top:var(--suelo,80%);height:1px;transform-origin:var(--pivote,68%) 50%;
  background:linear-gradient(90deg,transparent,rgba(124,151,255,.6) 22%,rgba(124,151,255,.6) 78%,transparent);
}
.maquina__escena{position:absolute;top:0;bottom:0;left:50%;width:min(100% - 2*var(--margen),var(--ancho));margin-left:calc(min(100% - 2*var(--margen),var(--ancho)) / -2)}

.maquina__caida{position:absolute;inset:0;pointer-events:none}
.maquina__barra{
  position:absolute;border-radius:999px;will-change:transform;
  background:linear-gradient(180deg,#6C8BFF 0%,#2D5BFF 55%,#1F3BFF 100%);
  box-shadow:0 0 42px rgba(45,91,255,.42),inset 0 1px 0 rgba(255,255,255,.35);
}
.maquina__gente{position:absolute;left:1.2%;bottom:100%;display:flex;gap:.3rem;padding-bottom:2px}
.maquina__gente i{display:block;width:var(--punto,16px);height:var(--punto,16px);border-radius:50%;background:var(--tinta);box-shadow:0 0 18px rgba(234,239,255,.35)}
.maquina__carga{position:absolute;right:1.2%;bottom:100%;display:flex;flex-direction:column-reverse;align-items:center;gap:var(--sep,4px);padding-bottom:2px}
.losa{
  display:flex;align-items:center;justify-content:center;height:var(--losa,32px);
  border-radius:6px;border:1px solid rgba(234,239,255,.16);
  background:linear-gradient(180deg,#303744,#20252E);color:var(--texto);
  font:600 var(--losa-fs,.8125rem)/1 var(--f-cuerpo);white-space:nowrap;
  box-shadow:0 10px 26px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.08);
  animation:caer .6s cubic-bezier(.28,1.5,.5,1) both;
}
.losa--fuera{animation:salir .24s ease-in both}
@keyframes caer{from{opacity:0;transform:translateY(-64px) rotate(-4deg)}45%{opacity:1}to{opacity:1;transform:none}}
@keyframes salir{to{opacity:0;transform:translateY(-46px) scale(.9)}}

.maquina__apoyo{position:absolute;cursor:grab;touch-action:none;z-index:2}
.maquina__apoyo::before{content:"";position:absolute;inset:-1.1rem -1.5rem -2.2rem} /* zona de agarre generosa */
.maquina__apoyo svg{position:relative;display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 0 22px rgba(45,91,255,.6))}
.maquina__halo{
  position:absolute;left:50%;top:42%;width:340%;aspect-ratio:1;margin:-170% 0 0 -170%;border-radius:50%;
  background:radial-gradient(closest-side,rgba(45,91,255,.5),rgba(45,91,255,.14) 46%,transparent 72%);
  opacity:var(--halo,.5);pointer-events:none;transition:opacity .3s;
}
.maquina.is-arrastrando .maquina__apoyo{cursor:grabbing}
.maquina.is-arrastrando .maquina__apoyo svg{filter:drop-shadow(0 0 34px rgba(124,151,255,.95))}
.maquina:has(.maquina__control:focus-visible) .maquina__apoyo svg{outline:2px solid var(--tinta);outline-offset:6px;border-radius:4px}

.maquina__control{position:absolute;left:0;bottom:0;width:1px;height:1px;opacity:0;pointer-events:none}

.maquina__lectura{position:absolute;left:0;top:.25rem;display:grid;gap:.15rem}
.maquina__cifra{font:700 clamp(2.4rem,4.6vw,4.25rem)/1 var(--f-titulo);letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.maquina__cifra-pie{font-size:.875rem;font-weight:500;color:var(--texto-3)}

.maquina__rotulo,.maquina__pista{position:absolute;left:0;top:0;white-space:nowrap;will-change:transform;pointer-events:none}
.maquina__rotulo{font:600 .9375rem/1.2 var(--f-cuerpo);color:var(--texto)}
.maquina__pista{
  display:flex;align-items:center;gap:.5rem;font:500 .8125rem/1.2 var(--f-cuerpo);color:var(--azul-claro);
  opacity:0;transition:opacity .5s;
}
.maquina__pista.is-visible{opacity:1}
.maquina__flechas{position:relative;width:1.5rem;height:.6rem;animation:vaiven 1.5s ease-in-out infinite}
.maquina__flechas::before,.maquina__flechas::after{content:"";position:absolute;top:50%;width:.42rem;height:.42rem;border:solid var(--azul-claro);border-width:0 0 2px 2px}
.maquina__flechas::before{left:0;transform:translateY(-50%) rotate(45deg)}
.maquina__flechas::after{right:0;transform:translateY(-50%) rotate(-135deg)}
@keyframes vaiven{0%,100%{transform:translateX(-4px)}50%{transform:translateX(4px)}}

/* ---------- El sistema en acción ---------- */
.accion{position:relative;height:520vh}
.accion__fijo{position:sticky;top:0;height:100svh;display:flex;flex-direction:column;justify-content:center;padding-top:var(--cab);overflow-x:clip}
.accion__rejilla{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(1rem,3vw,4rem);align-items:center}
.accion__rejilla > *{min-width:0}
.busca__barra,.busca__texto{min-width:0}
.busca__texto{text-overflow:ellipsis}
@media (min-width:62rem){.accion__rejilla{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}}

.accion__titulo{font:700 var(--fs-h2)/1.06 var(--f-titulo);letter-spacing:-.035em;max-width:12em;text-wrap:balance}
.pasos-caja{position:relative;margin-top:clamp(1rem,3vh,2.25rem);padding-left:2rem}
.pasos__linea{position:absolute;left:.4rem;top:.7rem;bottom:.7rem;width:2px;background:var(--linea);border-radius:2px;overflow:hidden}
.pasos__linea span{display:block;width:100%;height:100%;background:linear-gradient(180deg,var(--azul-claro),var(--azul));transform-origin:50% 0;transform:scaleY(0)}
.pasos{display:grid;gap:.2rem}
.paso{position:relative;opacity:.34;transition:opacity .4s}
.paso::before{
  content:"";position:absolute;left:-1.98rem;top:.62rem;width:.85rem;height:.85rem;border-radius:50%;
  background:var(--fondo);border:2px solid var(--texto-3);transition:background-color .3s,border-color .3s,box-shadow .3s;
}
.paso h3{font:700 clamp(1.125rem,1.7vw,1.5rem)/1.25 var(--f-titulo);letter-spacing:-.02em;padding-block:.3rem}
.paso p{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s cubic-bezier(.2,.8,.2,1)}
.paso p > span{overflow:hidden;min-height:0;color:var(--texto-2);font-size:1rem;line-height:1.5;max-width:26rem}
.paso.is-activo{opacity:1}
.paso.is-activo p{grid-template-rows:1fr}
.paso.is-activo p > span{padding-bottom:.6rem}
.paso.is-activo::before{background:var(--azul);border-color:var(--azul);box-shadow:0 0 0 5px rgba(45,91,255,.22)}
.paso.is-hecho::before{background:var(--azul);border-color:var(--azul)}
.paso--firma.is-activo::before{background:var(--tinta);border-color:var(--tinta);box-shadow:0 0 0 5px rgba(234,239,255,.16)}

.accion__escena{position:relative;height:min(37rem,68svh);display:grid;place-items:center}
.accion__nota{position:absolute;left:0;right:0;bottom:1.1rem;text-align:center;font-size:.8125rem;color:var(--texto-3)}

.busca,.tel{grid-area:1 / 1}
.busca{width:min(30rem,100%);display:grid;gap:1rem}
.busca__barra{display:flex;align-items:center;gap:.75rem;min-height:3.5rem;padding:0 1.25rem;border-radius:999px;background:var(--sup-2);border:1px solid rgba(234,239,255,.14);box-shadow:0 20px 60px rgba(0,0,0,.45)}
.busca__lupa{position:relative;flex:none;width:.95rem;height:.95rem;border:2px solid var(--texto-3);border-radius:50%}
.busca__lupa::after{content:"";position:absolute;right:-.42rem;bottom:-.3rem;width:.5rem;height:2px;background:var(--texto-3);transform:rotate(45deg)}
.busca__texto{font-size:1.0625rem;white-space:nowrap;overflow:hidden}
.busca__cursor{width:2px;height:1.3rem;background:var(--azul-claro);animation:parpadea 1s steps(2) infinite}
@keyframes parpadea{50%{opacity:0}}
.busca__resultado{padding:1.35rem 1.5rem 1.5rem;border-radius:1.25rem;background:var(--sup-1);border:1px solid var(--linea);box-shadow:0 30px 80px rgba(0,0,0,.5)}
.busca__sitio{font-size:.8125rem;color:var(--texto-3)}
.busca__nombre{font:700 1.375rem/1.2 var(--f-titulo);letter-spacing:-.02em;color:var(--azul-claro);margin-top:.3rem}
.busca__desc{color:var(--texto-2);font-size:.9375rem;line-height:1.5;margin-top:.45rem}
.busca__boton{display:inline-flex;margin-top:1rem;padding:.6rem 1.1rem;border-radius:999px;border:1px solid rgba(234,239,255,.26);font-weight:600;font-size:.875rem}

.tel{
  width:min(21.5rem,100%);height:min(35rem,64svh);display:flex;flex-direction:column;overflow:hidden;
  border-radius:2rem;background:linear-gradient(180deg,#181B21,#101216);border:1px solid rgba(234,239,255,.13);
  box-shadow:0 40px 120px rgba(0,0,0,.6),0 0 0 8px rgba(234,239,255,.03),0 0 90px rgba(45,91,255,.2);
}
.tel__cab{display:flex;align-items:center;gap:.7rem;padding:.95rem 1.1rem;border-bottom:1px solid var(--linea)}
.tel__avatar{width:2.1rem;height:2.1rem;border-radius:50%;background:radial-gradient(circle at 30% 30%,#6C8BFF,#2D5BFF)}
.tel__nombre{font-weight:600;font-size:.9375rem;line-height:1.2}
.tel__estado{font-size:.75rem;color:var(--azul-claro);line-height:1.3}
.tel__chat{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:flex-end;padding:.6rem .85rem 1rem;overflow:hidden}
.msj{display:grid;grid-template-rows:1fr}
.msj > div{overflow:hidden;min-height:0;display:flex}
.msj--sistema > div{justify-content:flex-end}
.msj__b{max-width:86%;margin-top:.5rem;padding:.6rem .8rem .5rem;border-radius:1.05rem;font-size:.875rem;line-height:1.42}
.msj__b time{display:block;margin-top:.2rem;font-size:.6875rem;text-align:right;opacity:.6}
.msj--cliente .msj__b{background:var(--sup-3);border-bottom-left-radius:.3rem}
.msj--sistema .msj__b{background:var(--azul);color:#fff;border-bottom-right-radius:.3rem}
.msj--puntos .msj__b{display:flex;gap:.28rem;padding:.75rem .85rem}
.msj--puntos i{width:.4rem;height:.4rem;border-radius:50%;background:#fff;opacity:.85;animation:late 1s ease-in-out infinite}
.msj--puntos i:nth-child(2){animation-delay:.15s}
.msj--puntos i:nth-child(3){animation-delay:.3s}
@keyframes late{0%,100%{transform:translateY(0);opacity:.5}50%{transform:translateY(-3px);opacity:1}}

.tarjeta{
  position:absolute;width:min(19rem,82%);padding:1.15rem 1.25rem 1.25rem;border-radius:1.15rem;
  background:rgba(28,32,39,.94);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  border:1px solid rgba(234,239,255,.15);box-shadow:0 30px 90px rgba(0,0,0,.55);
}
.tarjeta__pie{font-size:.8125rem;color:var(--texto-3)}
.tarjeta__titulo{font:700 1.5rem/1.15 var(--f-titulo);letter-spacing:-.025em;margin-top:.15rem}
.tarjeta__texto{color:var(--texto-2);margin-top:.35rem}
.tarjeta__etiqueta{display:inline-flex;margin-bottom:.7rem;padding:.3rem .7rem;border-radius:999px;background:var(--tinta);color:var(--grafito);font-weight:600;font-size:.75rem}
.tarjeta--agenda{right:0;top:9%}
.tarjeta--reunion{left:50%;top:50%;width:min(22rem,88%);margin:-5rem 0 0 calc(min(22rem,88%) / -2);padding:1.6rem 1.7rem 1.75rem;background:rgba(244,246,251,.97);color:var(--grafito);border-color:#fff}
.tarjeta--reunion .tarjeta__titulo{font-size:2rem}
.tarjeta--reunion .tarjeta__texto{color:#3a3f4a;font-size:1.0625rem}
.tarjeta--reunion .tarjeta__etiqueta{background:var(--grafito);color:#fff}
.tarjeta--ficha{right:0;bottom:6%;width:min(21rem,88%)}

.agenda__franja{position:relative;display:grid;grid-template-columns:auto 1fr;gap:.1rem .7rem;align-items:center;margin-top:.85rem;padding:.7rem .8rem;border-radius:.7rem;background:rgba(45,91,255,.16);border:1px dashed rgba(124,151,255,.6)}
.agenda__hora{font-weight:600;font-size:.875rem}
.agenda__que{font-size:.875rem;color:var(--texto)}
.agenda__estado{grid-column:2;font-size:.75rem;font-weight:600;color:var(--azul-claro)}
.agenda__estado--confirmado{position:absolute;right:.8rem;bottom:.7rem;opacity:0;color:#fff}
.agenda__vacia{margin-top:.4rem;padding:.55rem .8rem;border-radius:.7rem;border:1px solid var(--linea);font-size:.8125rem;color:var(--texto-3)}

.ficha{display:grid;gap:.55rem;margin-top:.8rem}
.ficha > div{display:grid;grid-template-columns:5.6rem 1fr;gap:.6rem;align-items:baseline;padding-bottom:.55rem;border-bottom:1px solid var(--linea)}
.ficha dt{font-size:.8125rem;color:var(--texto-3)}
.ficha dd{font-size:.9375rem;font-weight:500}
.ficha__reporte{display:inline-flex;align-items:center;gap:.5rem;margin-top:.85rem;font-size:.8125rem;font-weight:600;color:var(--azul-claro)}
.ficha__reporte::before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:var(--azul-claro);box-shadow:0 0 12px var(--azul-claro)}

@media (max-width:61.99rem){
  .accion{height:460vh}
  .accion__fijo{justify-content:flex-start;padding-top:calc(var(--cab) + .75rem)}
  .accion__titulo{font-size:1.375rem;max-width:none}
  .pasos-caja{margin-top:.6rem;padding-left:0;min-height:6.4rem}
  .pasos__linea{left:0;right:0;top:auto;bottom:-.35rem;width:auto;height:2px}
  .pasos__linea span{transform-origin:0 50%;transform:scaleX(0)}
  .paso{display:none}
  .paso.is-activo{display:block}
  .paso::before{display:none}
  .paso h3{font-size:1.25rem;color:var(--azul-claro)}
  .paso--firma h3{color:var(--tinta)}
  .paso p > span{font-size:.9375rem;max-width:none}
  .accion__escena{height:calc(100svh - var(--cab) - 13.5rem);min-height:20rem;margin-top:.9rem}
  .tel{height:100%;width:min(20.5rem,100%)}
  .tarjeta--agenda{top:auto;bottom:4%;right:auto;left:50%;margin-left:calc(min(19rem,82%) / -2)}
  .tarjeta--ficha{bottom:4%;right:auto;left:50%;margin-left:calc(min(21rem,88%) / -2)}
  .accion__nota{bottom:.45rem;font-size:.75rem}
}

/* ---------- Secciones de lectura ---------- */
.sec{position:relative;padding-block:clamp(5rem,11vw,9.5rem);border-top:1px solid var(--linea)}
.sec__titulo{font:700 var(--fs-h2)/1.06 var(--f-titulo);letter-spacing:-.035em;max-width:17em;text-wrap:balance}
.sec__entrada{font-size:var(--fs-entrada);line-height:1.5;color:var(--texto-2);max-width:36rem;margin-top:1.2rem}
.sec__dos{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(2rem,5vw,5rem)}
.sec__dos > *{min-width:0}
.sec__dos--titular .sec__entrada{margin-top:0}
@media (min-width:62rem){
  .sec__dos--titular{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:start}
  .sec__dos--pasos{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .sec__dos--faq{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start}
  .sec__dos--fulcro{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center}
}
.sec__dos--pasos{margin-top:clamp(2.25rem,4vw,3.25rem)}
.nota{margin-top:1.4rem;max-width:40rem;color:var(--texto-2)}
.paso__nombre{font:700 clamp(1.25rem,1.8vw,1.5rem)/1.2 var(--f-titulo);letter-spacing:-.02em;margin-bottom:.75rem}
.sec__dos--pasos p{color:var(--texto-2);max-width:34rem}
.prosa-corta p{color:var(--texto-2);max-width:38rem}
.prosa-corta p + p{margin-top:1.1rem}
.prosa-corta{margin-top:1.75rem}

.sectores{margin-top:2rem}
.sectores li{
  position:relative;padding:1.05rem 0;border-top:1px solid var(--linea);
  font:700 clamp(1.25rem,2vw,1.75rem)/1.2 var(--f-titulo);letter-spacing:-.025em;
  transition:padding-left .45s cubic-bezier(.2,.8,.2,1),color .3s;
}
.sectores li:last-child{border-bottom:1px solid var(--linea)}
.sectores li::before{
  content:"";position:absolute;left:0;top:50%;width:.6rem;height:.6rem;margin-top:-.3rem;border-radius:50%;
  background:var(--azul);box-shadow:0 0 16px var(--azul);transform:scale(0);transition:transform .35s cubic-bezier(.2,.8,.2,1);
}
@media (hover:hover){
  .sectores li:hover{padding-left:1.6rem;color:var(--azul-claro)}
  .sectores li:hover::before{transform:scale(1)}
}

/* ---------- Cuatro capas: placas en isométrico; la Frontera las encierra ---------- */
.capas{position:relative;height:330vh;border-top:1px solid var(--linea)}
.capas__fijo{position:sticky;top:0;height:100svh;display:flex;flex-direction:column;justify-content:center;padding-top:var(--cab);overflow:hidden}
.capas__rejilla{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(1rem,3vw,4rem);align-items:center}
.capas__rejilla > *{min-width:0}
@media (min-width:62rem){.capas__rejilla{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}}
.capas__lista{display:grid;gap:.15rem;margin-top:clamp(1rem,3vh,2rem)}
.capa-item{opacity:.34;padding-left:1.25rem;border-left:2px solid var(--linea);transition:opacity .4s,border-color .4s}
.capa-item h3{font:700 clamp(1.125rem,1.7vw,1.5rem)/1.25 var(--f-titulo);letter-spacing:-.02em;padding-block:.3rem}
.capa-item p{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s cubic-bezier(.2,.8,.2,1)}
.capa-item p > span{overflow:hidden;min-height:0;color:var(--texto-2);max-width:26rem}
.capa-item.is-hecho{opacity:.62;border-left-color:rgba(45,91,255,.55)}
.capa-item.is-activo{opacity:1;border-left-color:var(--azul)}
.capa-item.is-activo p{grid-template-rows:1fr}
.capa-item.is-activo p > span{padding-bottom:.6rem}
.capa-item--frontera.is-activo{border-left-color:var(--tinta)}

.capas__escena{position:relative;height:min(36rem,62svh);display:grid;place-items:center;perspective:1700px}
.iso-inclina{width:min(25rem,74%);margin-top:clamp(3rem,12vh,7.5rem);transform:rotateX(58deg);transform-style:preserve-3d}
.iso{position:relative;width:100%;aspect-ratio:46 / 32;transform:rotateZ(-38deg);transform-style:preserve-3d}
.iso__marco{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.iso__marco rect{fill:rgba(124,151,255,.07);stroke:var(--tinta);stroke-width:3.5;stroke-dasharray:1;stroke-dashoffset:0;filter:drop-shadow(0 0 14px rgba(234,239,255,.35))}
.iso__rotulo{position:absolute;right:9%;bottom:100%;padding-bottom:.55rem;font:700 1.2rem/1 var(--f-titulo);letter-spacing:-.02em;color:var(--tinta);text-shadow:0 0 18px rgba(13,15,18,.9)}
/* La jaula: marco en la base, cuatro pilares y una tapa. Es la Frontera, y encierra a las otras tres capas. */
.iso{--alto-jaula:214px}
.iso__tapa{position:absolute;inset:0;transform:translateZ(var(--alto-jaula));transform-style:preserve-3d;pointer-events:none}
.iso__tapa .iso__marco rect{fill:rgba(124,151,255,.04)}
.iso__pilar{position:absolute;width:3px;height:var(--alto-jaula);margin:calc(var(--alto-jaula) * -1) 0 0 -1.5px;transform-origin:50% 100%;transform:rotateX(-90deg);transform-style:preserve-3d}
.iso__pilar i{display:block;width:100%;height:100%;transform-origin:50% 100%;background:linear-gradient(to top,var(--tinta),rgba(234,239,255,.55));box-shadow:0 0 12px rgba(234,239,255,.45)}
.placa{
  position:absolute;inset:11% 9%;display:flex;align-items:flex-end;padding:1rem 1.25rem;border-radius:1.5rem;
  font:700 1.35rem/1 var(--f-titulo);letter-spacing:-.02em;color:#fff;
  border:1.5px solid rgba(124,151,255,.8);
  background:linear-gradient(135deg,rgba(45,91,255,.66),rgba(31,59,255,.32));
  box-shadow:0 0 70px rgba(45,91,255,.38),inset 0 0 0 1px rgba(255,255,255,.07);
}
.placa::before{content:"";position:absolute;inset:0;border-radius:inherit;opacity:.3}
.placa span{position:relative;text-shadow:0 1px 10px rgba(13,15,18,.5)}
.placa--doctrina::before{background:repeating-linear-gradient(0deg,rgba(255,255,255,.6) 0 2px,transparent 2px 17px);-webkit-mask-image:linear-gradient(90deg,#000 50%,transparent 92%);mask-image:linear-gradient(90deg,#000 50%,transparent 92%)}
.placa--registro{background:linear-gradient(135deg,rgba(45,91,255,.5),rgba(31,59,255,.22))}
.placa--registro::before{background-image:linear-gradient(rgba(255,255,255,.55) 1.5px,transparent 1.5px),linear-gradient(90deg,rgba(255,255,255,.55) 1.5px,transparent 1.5px);background-size:30px 30px}
.placa--maquinaria{background:linear-gradient(135deg,rgba(45,91,255,.36),rgba(31,59,255,.14))}
.placa--maquinaria::before{background-image:radial-gradient(rgba(255,255,255,.75) 1.7px,transparent 2.2px);background-size:19px 19px}
.capas__nota{position:absolute;left:0;right:0;bottom:1.3rem;text-align:center;font-size:.9375rem;color:var(--texto-2)}

@media (max-width:61.99rem){
  .capas{height:300vh}
  .capas__fijo{justify-content:flex-start;padding-top:calc(var(--cab) + .75rem)}
  .capas .sec__titulo{font-size:1.375rem;max-width:none}
  .capas .sec__entrada{display:none}
  .capas__lista{min-height:5.6rem;margin-top:.6rem}
  .capa-item{display:none;border-left:0;padding-left:0}
  .capa-item.is-activo{display:block}
  .capa-item h3{color:var(--azul-claro)}
  .capa-item--frontera h3{color:var(--tinta)}
  .capas__escena{height:calc(100svh - var(--cab) - 15rem);min-height:17rem}
  .iso-inclina{width:min(16.5rem,64%)}
  .placa{font-size:1.05rem;border-radius:1.1rem}
  .capas__nota{font-size:.8125rem;bottom:.7rem;line-height:1.4}
}

/* ---------- Dónde vive: datos contenidos en el equipo / datos que suben a la nube ---------- */
.sedes{display:grid;gap:1px;margin-top:clamp(2.5rem,5vw,4rem);border-radius:1.5rem;overflow:hidden;border:1px solid var(--linea);background:var(--linea)}
@media (min-width:56rem){.sedes{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.sede{position:relative;padding:clamp(1.75rem,4vw,3.25rem)}
.sede--cerrada{background:#08090B}
.sede--abierta{background:linear-gradient(180deg,#17224F,#101832)}
.sede__viz{position:relative;width:11rem;height:9.5rem;margin-bottom:1.75rem}
.sede__condicion{font-weight:600;font-size:.9375rem;color:var(--azul-claro);margin-bottom:.8rem}
.sede__lugar{font:700 clamp(1.5rem,2.4vw,2rem)/1.1 var(--f-titulo);letter-spacing:-.03em;max-width:13em;margin-bottom:1rem;text-wrap:balance}
.sede > p:last-child{color:var(--texto-2);max-width:32rem}
.sede__equipo{position:absolute;inset:0;border:2px solid var(--tinta);border-radius:1.1rem;box-shadow:inset 0 0 30px rgba(45,91,255,.18)}
.sede__equipo::after{content:"";position:absolute;left:50%;bottom:-.7rem;width:3.2rem;height:.35rem;margin-left:-1.6rem;border-radius:0 0 .4rem .4rem;background:var(--tinta)}
.sede__nube{position:absolute;left:0;right:0;top:0;height:2.7rem;border:2px solid var(--tinta);border-radius:999px;box-shadow:0 0 30px rgba(234,239,255,.2)}
.sede__base{position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--texto-3)}
.sede__viz i{position:absolute;width:.55rem;height:.55rem;border-radius:50%;animation-play-state:paused}
.sede--cerrada .sede__viz i{left:1rem;top:1rem;background:var(--azul-claro);box-shadow:0 0 12px var(--azul);animation:dentro 6s ease-in-out infinite alternate}
.sede--cerrada .sede__viz i:nth-of-type(2){animation-duration:7.4s;animation-delay:-1.2s}
.sede--cerrada .sede__viz i:nth-of-type(3){animation-duration:5.2s;animation-delay:-2.6s;animation-direction:alternate-reverse}
.sede--cerrada .sede__viz i:nth-of-type(4){animation-duration:8.3s;animation-delay:-3.3s}
.sede--cerrada .sede__viz i:nth-of-type(5){animation-duration:6.6s;animation-delay:-4.4s;animation-direction:alternate-reverse}
@keyframes dentro{
  0%{transform:translate(0,0)} 20%{transform:translate(8.1rem,1.6rem)} 40%{transform:translate(2.4rem,6.6rem)}
  60%{transform:translate(7.6rem,5.1rem)} 80%{transform:translate(4.2rem,.6rem)} 100%{transform:translate(.4rem,4.4rem)}
}
.sede--abierta .sede__viz i{bottom:0;left:1.2rem;background:var(--tinta);opacity:0;animation:sube 3.4s ease-in infinite}
.sede--abierta .sede__viz i:nth-of-type(2){left:3.3rem;animation-delay:-.7s}
.sede--abierta .sede__viz i:nth-of-type(3){left:5.3rem;animation-delay:-1.5s}
.sede--abierta .sede__viz i:nth-of-type(4){left:7.3rem;animation-delay:-2.2s}
.sede--abierta .sede__viz i:nth-of-type(5){left:9.2rem;animation-delay:-2.9s}
@keyframes sube{0%{transform:translateY(0);opacity:0}14%{opacity:1}78%{opacity:1}100%{transform:translateY(-6.5rem);opacity:0}}
.sedes.is-vista .sede__viz i{animation-play-state:running}
.declaracion{
  font:700 clamp(1.6rem,3vw,2.6rem)/1.12 var(--f-titulo);letter-spacing:-.035em;
  max-width:24em;margin-top:clamp(2.75rem,5vw,4.5rem);text-wrap:balance;
}

/* ---------- Clasificador del diagnóstico ---------- */
.clasificador{display:grid;gap:1rem;margin-top:clamp(2.5rem,5vw,4rem)}
@media (min-width:48rem){.clasificador{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:75rem){.clasificador{grid-template-columns:repeat(4,minmax(0,1fr))}}
.grupo{padding:1.35rem 1.35rem 1.5rem;border-radius:1.25rem;border:1px solid var(--linea);background:var(--sup-1)}
.grupo h4{margin:0 0 1rem;font:600 .9375rem/1.35 var(--f-cuerpo);color:var(--texto-2);min-height:2.7em}
.grupo ul{display:flex;flex-wrap:wrap;gap:.5rem}
.grupo li{padding:.5rem .85rem;border-radius:999px;font-weight:600;font-size:.875rem;line-height:1.2;will-change:transform}
.grupo--ia{border-color:rgba(45,91,255,.6);box-shadow:inset 0 0 60px rgba(45,91,255,.14)}
.grupo--ia li{background:var(--azul);color:#fff}
.grupo--software li{background:rgba(124,151,255,.16);border:1px solid rgba(124,151,255,.5);color:var(--tinta)}
.grupo--personas li{background:var(--tinta);color:var(--grafito)}
.grupo--nada li{border:1px dashed var(--texto-3);color:var(--texto-2)}
.clasificador__nota{margin-top:1rem;font-size:.8125rem;color:var(--texto-3)}

/* ---------- Preguntas ---------- */
.faq h3{margin:0}
.faq__item{border-top:1px solid var(--linea)}
.faq__item:last-child{border-bottom:1px solid var(--linea)}
.faq__p{
  display:flex;align-items:center;justify-content:space-between;gap:1.5rem;width:100%;padding:1.35rem 0;
  background:none;border:0;color:var(--texto);text-align:left;cursor:pointer;
  font:700 clamp(1.125rem,1.6vw,1.375rem)/1.25 var(--f-titulo);letter-spacing:-.015em;transition:color .2s;
}
.faq__p:hover{color:var(--azul-claro)}
.faq__mas{position:relative;flex:none;width:1.05rem;height:1.05rem;transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.faq__mas::before,.faq__mas::after{content:"";position:absolute;left:0;top:50%;width:100%;height:2px;margin-top:-1px;background:var(--azul-claro)}
.faq__mas::after{transform:rotate(90deg)}
.faq__item.is-abierta .faq__mas{transform:rotate(45deg)}
.faq__r{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s cubic-bezier(.2,.8,.2,1)}
.faq__r > div{overflow:hidden;min-height:0;visibility:hidden;transition:visibility .5s}
.faq__item.is-abierta .faq__r{grid-template-rows:1fr}
.faq__item.is-abierta .faq__r > div{visibility:visible}
.faq__r p{padding-bottom:1.5rem;color:var(--texto-2);max-width:40rem}
html:not(.js) .faq__r{grid-template-rows:1fr}
html:not(.js) .faq__r > div{visibility:visible}

/* ---------- fulcro → fulkro ---------- */
.fulcro{display:grid;gap:.5rem;justify-items:start}
.fulcro__palabra{display:inline-flex;align-items:baseline;font:700 clamp(4rem,10.5vw,9.25rem)/.95 var(--f-titulo);letter-spacing:-.05em}
.fulcro__cambia{display:inline-grid;justify-items:center;perspective:700px}
.fulcro__cambia b{grid-area:1 / 1;font-weight:700;transform-origin:50% 58%}
.fulcro__k{display:none;color:var(--azul-claro)}
.fulcro__pie{font:600 clamp(1rem,1.6vw,1.375rem)/1.2 var(--f-cuerpo);color:var(--azul-claro)}

/* ---------- Cierre ---------- */
.cierre{position:relative;padding-block:clamp(5rem,12vw,9rem) clamp(4rem,8vw,6rem);border-top:1px solid var(--linea)}
.cierre__titulo{font:700 clamp(2.4rem,6vw,5.5rem)/1 var(--f-titulo);letter-spacing:-.045em;max-width:11em}
.cierre__texto{font-size:var(--fs-entrada);line-height:1.5;color:var(--texto-2);max-width:34rem;margin-top:1.4rem}
.cierre__acciones{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:2.25rem}
.cierre__correo{margin-top:1.6rem;color:var(--texto-2)}

.pie{border-top:1px solid var(--linea);padding-block:2.5rem 2rem}
.pie__fila{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1.75rem 3rem}
.pie__descriptor{margin-top:.5rem;font-weight:600;font-size:.9375rem;color:var(--azul-claro)}
.pie__enlaces{display:grid;gap:.55rem;font-size:.9375rem}
.pie__enlaces a{color:var(--texto-2)}
.pie__enlaces a:hover{color:var(--texto)}
.pie__legal{margin-top:2rem;font-size:.8125rem;color:var(--texto-3)}

/* ---------- Página de aviso de privacidad ---------- */
.prosa{max-width:44rem;padding-block:calc(var(--cab) + 3rem) clamp(3rem,7vw,6rem)}
.prosa__volver{font-weight:600;font-size:.9375rem}
.prosa h1{font:700 var(--fs-h2)/1.08 var(--f-titulo);letter-spacing:-.035em;margin-top:1.5rem}
.prosa h2{font:700 clamp(1.25rem,1.8vw,1.5rem)/1.2 var(--f-titulo);letter-spacing:-.02em;margin-top:2.25rem}
.prosa p,.prosa ul{margin-top:.9rem;color:var(--texto-2)}
.prosa ul{list-style:disc;padding-left:1.25rem}
.prosa li + li{margin-top:.4rem}
.prosa__fecha{font-size:.875rem}
.aviso-borrador{margin-top:1.5rem;padding:1rem 1.25rem;border-left:3px solid var(--azul);border-radius:0 .6rem .6rem 0;background:rgba(45,91,255,.12);color:var(--texto)}

/* ---------- Sin movimiento: todo quieto y completo ---------- */
@media (prefers-reduced-motion:reduce){
  .luz,.maquina__flechas,.busca__cursor,.msj--puntos i{animation:none}
  .losa,.losa--fuera{animation:none}
  .accion{height:auto}
  .accion__fijo{position:static;height:auto;padding-block:calc(var(--cab) + 2rem) 4rem}
  .paso,.paso.is-activo{display:block;opacity:1}
  .paso p{grid-template-rows:1fr}
  .paso p > span{padding-bottom:.6rem}
  .pasos__linea,.busca,.msj--puntos,.tarjeta--agenda,.tarjeta--reunion{display:none}
  .accion__escena{height:auto;gap:1.25rem;margin-top:1.5rem}
  .tel{height:auto}
  .tarjeta--ficha{position:static;transform:none;width:min(21.5rem,100%)}
  .accion__nota{position:static;margin-top:1rem}
  .capas{height:auto}
  .capas__fijo{position:static;height:auto;padding-block:calc(var(--cab) + 2rem) 4rem}
  .capa-item,.capa-item.is-activo{display:block;opacity:1;border-left-color:var(--azul)}
  .capa-item p{grid-template-rows:1fr}
  .capa-item p > span{padding-bottom:.6rem}
  .capas__nota{position:static;margin-top:1.5rem}
  .sede__viz i{animation:none;opacity:1}
  .fulcro__c{display:none}
  .fulcro__k{display:inline}
  .faq__r,.faq__mas,.sectores li{transition:none}
}

/* ---------- Burbuja de WhatsApp ---------- */
.wa-burbuja{position:fixed;right:clamp(1rem,3vw,1.75rem);bottom:clamp(1rem,3vw,1.75rem);z-index:60;width:3.5rem;height:3.5rem;border-radius:50%;display:grid;place-items:center;background:#25D366;color:#fff;box-shadow:0 10px 32px rgba(37,211,102,.35);transition:transform .2s}
.wa-burbuja[hidden]{display:none}
.wa-burbuja:hover{transform:scale(1.07)}
.wa-burbuja svg{width:1.75rem;height:1.75rem;fill:currentColor}

/* ---------- Móvil: cabecera y burbuja ---------- */
.cab__entrar{white-space:nowrap;display:inline-flex;align-items:center;color:var(--azul-claro);font-weight:600;font-size:.9375rem;text-decoration:none;transition:color .2s}
.cab__entrar:hover{color:var(--texto);text-decoration:underline}

.btn--chico{white-space:nowrap}
@media (max-width:30rem){
  .cab__fila{gap:.5rem}
  .cab__nav{gap:.5rem}
  .cab__nav .btn--accion.btn--chico{display:none}
  .cab__nav .btn--wa{display:inline-flex;padding-inline:.75rem;min-height:2.4rem;font-size:.82rem}
  .wa-burbuja{width:3rem;height:3rem}
  .wa-burbuja svg{width:1.5rem;height:1.5rem}
  .maquina{margin-bottom:1.5rem}
}

/* Formulario de contacto */
.contacto-form{display:grid;grid-template-columns:1fr 1fr;gap:1rem;max-width:40rem;margin:2rem 0 0;text-align:left}
.contacto-form label{display:grid;gap:.4rem;font-size:.875rem;color:var(--texto-2,var(--texto))}
.contacto-form input,.contacto-form textarea{font:inherit;color:var(--texto);background:var(--sup-1,transparent);border:1px solid var(--linea);border-radius:.7rem;padding:.75rem .9rem}
.contacto-form input:focus,.contacto-form textarea:focus{outline:2px solid var(--tinta);outline-offset:1px}
.contacto-form__ancho{grid-column:1/-1}
.contacto-form__trampa{position:absolute;left:-999rem;width:1px;height:1px;overflow:hidden}
.contacto-form__legal{font-size:.75rem;color:var(--texto-3)}
.contacto-form__legal a{color:inherit;text-decoration:underline}
.contacto-form__pie{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.contacto-form__estado{font-size:.875rem;color:var(--texto-2,var(--texto))}
@media (max-width:640px){.contacto-form{grid-template-columns:1fr}}
/* Punto de pivote: bola en la punta del triángulo */
.maquina__pivote{position:absolute;left:50%;top:0;width:14px;height:14px;border-radius:50%;transform:translate(-50%,-50%);z-index:1;pointer-events:none;background:radial-gradient(circle at 35% 30%,#FFFFFF 0 18%,#C7D3FF 40%,#6C8BFF 75%,#2D5BFF 100%);box-shadow:0 0 0 1.5px rgba(199,211,255,.7),0 0 12px rgba(108,139,255,.8)}
.maquina.is-arrastrando .maquina__pivote{box-shadow:0 0 0 1.5px rgba(199,211,255,.9),0 0 18px rgba(124,151,255,1)}
