/* ============================================================
   consolidai.es · hub · hoja de estilos unica
   Paleta de la casa: azul #14213D, naranja #FCA311
   ============================================================ */

:root{
  --azul:#14213D;
  --azul-2:#1C2C50;
  --azul-3:#0C1428;
  --azul-4:#233763;
  --tinta:#14213D;
  --texto-suave:#5A6178;
  --texto-invertido:rgba(255,255,255,.82);
  --niebla:#F4F6FA;
  --linea:#E3E7F0;
  --linea-oscura:rgba(255,255,255,.12);
  --blanco:#FFFFFF;
  --naranja:#FCA311;
  --naranja-2:#E5940F;
  --verde:#1FB662;
  --rojo:#EF4444;
  --ambar:#F0A80C;
  --f-display:'Archivo Black',system-ui,sans-serif;
  --f-cuerpo:'Source Sans 3',system-ui,-apple-system,'Segoe UI',sans-serif;
  --ancho:1180px;
  --ancho-texto:800px;
  --radio:14px;
  --radio-s:10px;
  --sombra:0 20px 50px -18px rgba(20,33,61,.25);
  --sombra-s:0 8px 24px -10px rgba(20,33,61,.18);
  --ease:cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:96px;overflow-x:hidden}
body{
  font-family:var(--f-cuerpo);
  font-size:1.125rem;
  line-height:1.7;
  color:var(--tinta);
  background:var(--blanco);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,svg{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
::selection{background:var(--naranja);color:var(--azul)}
:focus-visible{outline:3px solid var(--naranja);outline-offset:3px;border-radius:4px}

h1,h2,h3{font-family:var(--f-display);font-weight:400;line-height:1.14;letter-spacing:-.015em}
h1{font-size:clamp(2.35rem,5.4vw,3.9rem)}
h2{font-size:clamp(1.85rem,3.7vw,2.75rem)}
h3{font-size:clamp(1.15rem,2vw,1.4rem);line-height:1.3}

.contenedor{width:100%;max-width:var(--ancho);margin:0 auto;padding:0 clamp(1.25rem,4vw,2.5rem)}
.contenedor--texto{max-width:var(--ancho-texto)}
.seccion{padding:clamp(4.5rem,9vw,7.5rem) 0;position:relative}
.seccion--oscura{background:var(--azul);color:var(--texto-invertido)}
.seccion--oscura h2,.seccion--oscura h3{color:var(--blanco)}
.seccion--profunda{background:var(--azul-3);color:var(--texto-invertido)}
.seccion--profunda h2,.seccion--profunda h3{color:var(--blanco)}
.seccion--niebla{background:var(--niebla)}

.kicker{
  display:inline-flex;align-items:center;gap:.65rem;
  font-size:.82rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--naranja);margin-bottom:1.1rem;
}
.kicker::before{content:"";width:26px;height:2px;background:var(--naranja);flex:none;transition:width .6s var(--ease)}
.cabecera{max-width:var(--ancho-texto);margin-bottom:clamp(2rem,4vw,3rem)}
.cabecera p.intro{margin-top:1rem;font-size:1.15rem;color:var(--texto-suave)}
.seccion--oscura .cabecera p.intro,.seccion--profunda .cabecera p.intro{color:var(--texto-invertido)}

/* ---------- Botones y enlaces ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.95rem 1.9rem;border:0;border-radius:8px;cursor:pointer;
  font-family:var(--f-cuerpo);font-size:1.02rem;font-weight:700;line-height:1.2;
  transition:transform .25s var(--ease),box-shadow .25s var(--ease),background-color .25s,color .25s,border-color .25s;
  position:relative;overflow:hidden;
}
.btn--primario{background:var(--naranja);color:var(--azul)}
.btn--primario::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.35) 50%,transparent 60%);
  transform:translateX(-120%);transition:transform .6s ease;
}
.btn--primario:hover{transform:translateY(-2px);box-shadow:0 12px 30px -8px rgba(252,163,17,.55);background:var(--naranja-2)}
.btn--primario:hover::after{transform:translateX(120%)}
.btn--fantasma{background:transparent;color:currentColor;border:1.5px solid currentColor}
.btn--fantasma:hover{background:rgba(255,255,255,.1);transform:translateY(-2px)}
.seccion--clara .btn--fantasma:hover{background:rgba(20,33,61,.06)}
.btn--grande{padding:1.15rem 2.4rem;font-size:1.12rem}

.enlace-flecha{font-weight:700;color:var(--azul);display:inline-flex;align-items:center;gap:.4rem;border-bottom:2px solid var(--naranja)}
.seccion--oscura .enlace-flecha,.seccion--profunda .enlace-flecha{color:var(--blanco)}
.enlace-flecha .fl{transition:transform .3s var(--ease);display:inline-block}
.enlace-flecha:hover .fl{transform:translateX(6px)}

/* ---------- Barra de progreso de lectura ---------- */
.progreso{position:fixed;top:0;left:0;right:0;height:3px;background:var(--naranja);transform:scaleX(0);transform-origin:0 50%;z-index:1200;pointer-events:none}

/* ---------- Navegacion ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(20,33,61,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08);transition:box-shadow .3s}
.nav--compacta{box-shadow:0 10px 30px -12px rgba(0,0,0,.5)}
.nav__inner{max-width:var(--ancho);margin:0 auto;padding:0 clamp(1.25rem,4vw,2.5rem);display:flex;align-items:center;gap:1.6rem;height:72px;transition:height .3s var(--ease)}
.nav--compacta .nav__inner{height:60px}
.nav__logo{font-family:var(--f-display);font-size:1.45rem;color:var(--blanco);letter-spacing:-.02em;flex:none}
.nav__logo span{color:var(--naranja)}
.nav__links{display:flex;align-items:center;gap:1.5rem;margin-left:auto}
.nav__links > a:not(.btn){color:rgba(255,255,255,.78);font-weight:600;font-size:.98rem;position:relative;padding:.3rem 0}
.nav__links > a:not(.btn)::after{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:2px;background:var(--naranja);transform:scaleX(0);transform-origin:0 50%;transition:transform .3s var(--ease)}
.nav__links > a:not(.btn):hover{color:var(--blanco)}
.nav__links > a:not(.btn):hover::after,.nav__links > a.activa::after{transform:scaleX(1)}
.nav__links > a.activa{color:var(--blanco)}
.nav__cta{padding:.62rem 1.25rem;font-size:.95rem}
.nav__acceso{position:relative;flex:none}
.nav__acceso > .btn{color:var(--blanco);padding:.6rem 1.1rem;font-size:.92rem;font-weight:600;border-color:rgba(255,255,255,.4)}
.nav__acceso > .btn::after{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .25s}
.nav__acceso > .btn[aria-expanded="true"]::after{transform:rotate(-135deg) translateY(-2px)}
.acceso__menu{
  position:absolute;top:calc(100% + 10px);right:0;min-width:220px;
  background:var(--blanco);border-radius:var(--radio-s);box-shadow:var(--sombra);
  padding:.5rem;opacity:0;transform:translateY(-8px) scale(.98);transform-origin:top right;
  transition:opacity .25s var(--ease),transform .25s var(--ease);pointer-events:none;
}
.acceso__menu[hidden]{display:none}
.acceso__menu.abierto{opacity:1;transform:none;pointer-events:auto}
.acceso__menu a{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem .9rem;border-radius:8px;color:var(--azul);font-weight:600;font-size:.98rem;transition:background .2s,padding-left .2s}
.acceso__menu a::after{content:"\2197";color:var(--naranja);font-weight:700}
.acceso__menu a:hover{background:var(--niebla);padding-left:1.1rem}
.nav__burger{display:none;flex:none;background:none;border:0;cursor:pointer;width:44px;height:44px;padding:10px;flex-direction:column;justify-content:center;gap:5px}
.nav__burger span{display:block;height:2px;background:var(--blanco);border-radius:2px;transition:transform .3s var(--ease),opacity .2s}
.nav__burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav__burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav__burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

@media (max-width:1060px){
  .nav__burger{display:flex}
  .nav__links{
    position:fixed;inset:72px 0 auto 0;flex-direction:column;align-items:flex-start;
    background:var(--azul-3);padding:1.4rem clamp(1.25rem,4vw,2.5rem) 2rem;gap:1.1rem;
    transform:translateY(-110%);visibility:hidden;pointer-events:none;
    transition:transform .4s var(--ease),visibility 0s linear .4s;border-bottom:1px solid var(--linea-oscura);
  }
  .nav__links.abierto{transform:none;visibility:visible;pointer-events:auto;transition-delay:0s}
  .nav__acceso{margin-left:auto}
  .nav__cta{margin-top:.4rem}
}
@media (max-width:480px){
  .nav__acceso > .btn{padding:.55rem .8rem;font-size:.85rem}
  .nav__logo{font-size:1.25rem}
}

/* ---------- Revelados al hacer scroll ---------- */
.js [data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .75s var(--ease),transform .75s var(--ease);transition-delay:var(--d,0ms)}
.js [data-reveal="izq"]{transform:translateX(-36px)}
.js [data-reveal="der"]{transform:translateX(36px)}
.js [data-reveal="zoom"]{transform:scale(.93)}
.js [data-reveal="alzado"]{transform:translateY(48px) rotate(.6deg)}
.js [data-reveal].in{opacity:1;transform:none}
.js .kicker[data-reveal]::before{width:0}
.js .kicker[data-reveal].in::before{width:26px}

/* ---------- Hero generico ---------- */
.hero{background:var(--azul);color:var(--texto-invertido);padding:calc(72px + clamp(3.5rem,8vw,6rem)) 0 clamp(4rem,8vw,6.5rem);position:relative;overflow:hidden}
.hero--profundo{background:linear-gradient(180deg,var(--azul-3) 0%,var(--azul) 100%)}
.hero h1{color:var(--blanco);margin-bottom:1.4rem}
.hero .sub{font-size:clamp(1.1rem,1.6vw,1.3rem);max-width:640px;margin-bottom:2rem}
.hero__glow{position:absolute;width:720px;height:720px;border-radius:50%;background:radial-gradient(circle,rgba(252,163,17,.16) 0%,transparent 62%);top:-260px;right:-160px;pointer-events:none}
.hero__rejilla{position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:56px 56px;
  -webkit-mask-image:radial-gradient(ellipse 90% 70% at 50% 20%,#000 30%,transparent 75%);
  mask-image:radial-gradient(ellipse 90% 70% at 50% 20%,#000 30%,transparent 75%);
}
.hero .linea-boton{margin-top:1rem;font-size:.98rem;color:rgba(255,255,255,.66)}
.hero .kicker{color:var(--naranja)}

/* ---------- Hero home con panel ---------- */
.hero__duo{display:grid;grid-template-columns:1.02fr 1.08fr;gap:clamp(2rem,4vw,3.5rem);align-items:center}
@media (max-width:960px){.hero__duo{grid-template-columns:1fr}}
.escenario{perspective:1400px}
.panel{
  background:var(--niebla);border-radius:var(--radio);box-shadow:0 40px 80px -30px rgba(0,0,0,.55);
  transform:rotateY(-5deg) rotateX(2.5deg);transition:transform .6s var(--ease),outline-color .4s;
  outline:3px solid transparent;outline-offset:4px;font-size:.8rem;color:var(--tinta);overflow:hidden;
}
.escenario:hover .panel{transform:rotateY(-1deg) rotateX(.5deg)}
@media (max-width:960px){.panel{transform:none}}
.panel--alerta{outline-color:rgba(239,68,68,.55)}
.panel__barra{display:flex;align-items:center;gap:.5rem;background:var(--azul-3);color:rgba(255,255,255,.75);padding:.55rem .9rem;font-size:.72rem;font-weight:600}
.p-dot{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.22);flex:none}
.p-dot:nth-child(1){background:#F26D63}.p-dot:nth-child(2){background:#F5BE4F}.p-dot:nth-child(3){background:#58C97C}
.panel__titulo{margin-left:.5rem}
.panel__vivo{margin-left:auto;display:inline-flex;align-items:center;gap:.35rem;color:#7CE3A5;letter-spacing:.08em;font-size:.66rem}
.panel__vivo::before{content:"";width:7px;height:7px;border-radius:50%;background:#2ED573;animation:latido 2s infinite}
@keyframes latido{0%,100%{box-shadow:0 0 0 0 rgba(46,213,115,.5)}55%{box-shadow:0 0 0 6px rgba(46,213,115,0)}}
.panel__grid{display:grid;grid-template-columns:1fr 1fr 1.25fr;grid-template-areas:"prod venc alerta" "carga carga alerta" "renta renta renta";gap:10px;padding:12px}
@media (max-width:520px){.panel__grid{grid-template-columns:1fr 1fr;grid-template-areas:"prod venc" "alerta alerta" "carga carga" "renta renta"}}
.p-card{background:var(--blanco);border:1px solid var(--linea);border-radius:var(--radio-s);padding:.8rem .9rem;min-width:0}
.p-card h3{font-family:var(--f-cuerpo);font-weight:700;font-size:.68rem;letter-spacing:.09em;text-transform:uppercase;color:var(--texto-suave);margin-bottom:.45rem}
.p-prod{grid-area:prod}.p-venc{grid-area:venc}.p-carga{grid-area:carga}.p-renta{grid-area:renta}.p-alertas{grid-area:alerta}
.p-big{font-family:var(--f-display);font-size:1.9rem;color:var(--azul);line-height:1}
.p-big small{font-size:1.1rem}
.p-delta{font-size:.7rem;font-weight:700;color:var(--verde);display:inline-block;margin-top:.35rem}
.p-delta.mala{color:var(--rojo)}
.p-spark{margin-top:.4rem}
.p-spark polyline{fill:none;stroke:var(--naranja);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.p-persona{display:grid;grid-template-columns:52px 1fr 34px;align-items:center;gap:.5rem;margin-top:.4rem;font-size:.72rem;font-weight:600}
.p-persona .pista{height:7px;background:var(--niebla);border-radius:4px;overflow:hidden}
.p-persona .relleno{height:100%;width:0;border-radius:4px;background:var(--azul-4);transition:width 1.1s var(--ease),background-color .5s}
.p-persona .relleno.alta{background:var(--rojo)}
.p-persona .relleno.media{background:var(--ambar)}
.p-persona .pct{text-align:right;color:var(--texto-suave);font-variant-numeric:tabular-nums}
.p-fila{display:flex;align-items:center;gap:.55rem;padding:.42rem .5rem;border-radius:7px;font-size:.76rem;font-weight:600;transition:background .45s}
.p-fila + .p-fila{border-top:1px dashed var(--linea)}
.p-fila .semaforo{width:9px;height:9px;border-radius:50%;background:var(--verde);flex:none;transition:background .45s}
.p-fila .margen{margin-left:auto;font-variant-numeric:tabular-nums;color:var(--verde);transition:color .45s}
.p-fila.es-rojo{background:rgba(239,68,68,.08)}
.p-fila.es-rojo .semaforo{background:var(--rojo);animation:pulsoRojo 1.6s infinite}
.p-fila.es-rojo .margen{color:var(--rojo)}
@keyframes pulsoRojo{0%,100%{box-shadow:0 0 0 0 rgba(239,68,68,.45)}60%{box-shadow:0 0 0 6px rgba(239,68,68,0)}}
.p-alertas ul{display:flex;flex-direction:column;gap:.5rem}
.p-alertas li{
  display:flex;gap:.5rem;align-items:flex-start;background:var(--niebla);border-radius:7px;
  padding:.5rem .6rem;font-size:.73rem;font-weight:600;line-height:1.35;
  transition:opacity .5s var(--ease),transform .5s var(--ease);
}
.js .p-alertas li:not(.in){opacity:0;transform:translateX(14px)}
.p-alertas li.in{opacity:1;transform:none}
.p-alertas li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ambar);flex:none;margin-top:.28rem}
.p-alertas li.roja{background:rgba(239,68,68,.09);color:#B91C1C}
.p-alertas li.roja::before{background:var(--rojo);animation:pulsoRojo 1.6s infinite}
.p-alertas li .plan{display:inline-block;margin-top:.3rem;background:var(--azul);color:#fff;border-radius:5px;padding:.12rem .5rem;font-size:.66rem}
.panel__pie{padding:.5rem .9rem .8rem;font-size:.68rem;color:var(--texto-suave);text-align:right;font-style:italic}

/* ---------- Bloque enemigo (home) ---------- */
.cita-grande{max-width:860px}
.cita-grande blockquote{font-family:var(--f-display);font-size:clamp(1.5rem,3.4vw,2.4rem);line-height:1.25;color:var(--azul);position:relative;padding-left:clamp(1.5rem,4vw,2.6rem)}
.cita-grande blockquote::before{content:"";position:absolute;left:0;top:.25em;bottom:.25em;width:6px;border-radius:3px;background:var(--naranja)}
.cita-grande .atribucion{margin-top:1.2rem;color:var(--texto-suave);font-size:1.02rem;max-width:620px}
.enemigo__texto{max-width:var(--ancho-texto);margin-top:2.6rem;display:grid;gap:1.2rem}
.enemigo__texto .franca{font-weight:600}

/* ---------- Familia (home) ---------- */
.familia{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem;margin-top:1rem}
.tarjeta{
  background:var(--blanco);border:1px solid var(--linea);border-radius:var(--radio);
  padding:clamp(1.6rem,3vw,2.3rem);display:flex;flex-direction:column;gap:.9rem;position:relative;
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s;
}
.tarjeta:hover{transform:translateY(-6px);box-shadow:var(--sombra);border-color:rgba(252,163,17,.5)}
.tarjeta h3{display:flex;align-items:baseline;gap:.6rem}
.tarjeta .producto{font-family:var(--f-display);font-size:1.35rem;color:var(--azul)}
.tarjeta p{color:var(--texto-suave);font-size:1.02rem}
.tarjeta .enlace-flecha{margin-top:auto;align-self:flex-start}
.tarjeta--madre{
  grid-column:1 / -1;background:linear-gradient(115deg,var(--azul) 0%,var(--azul-2) 100%);
  border:0;color:var(--texto-invertido);overflow:hidden;
}
.tarjeta--madre::before{
  content:"";position:absolute;right:-70px;top:-70px;width:340px;height:340px;border-radius:50%;
  background:radial-gradient(circle,rgba(252,163,17,.22),transparent 65%);
}
.tarjeta--madre .producto{color:var(--blanco);font-size:1.7rem}
.tarjeta--madre p{color:var(--texto-invertido);font-size:1.08rem;max-width:720px}
.tarjeta--madre .precio-linea{color:var(--naranja);font-weight:700}
.tarjeta--madre .enlace-flecha{color:var(--blanco)}
.tarjeta--madre:hover{border-color:transparent}
.tarjeta--techo{
  grid-column:1 / -1;background:var(--azul-3);border:1px solid rgba(252,163,17,.35);color:var(--texto-invertido);
}
.tarjeta--techo::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--naranja),transparent)}
.tarjeta--techo .producto{color:var(--naranja)}
.tarjeta--techo p{color:var(--texto-invertido)}
.tarjeta--techo .enlace-flecha{color:var(--blanco)}
.etiqueta-techo{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--naranja);opacity:.9}
@media (max-width:760px){.familia{grid-template-columns:1fr}}

/* ---------- Indicadores de visibilidad (Aplicación) ---------- */
.indicadores{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;margin:2rem 0 clamp(2.5rem,5vw,4rem)}
.indicador{background:var(--blanco);border:1px solid var(--linea);border-radius:14px;padding:1.25rem;box-shadow:0 12px 30px rgba(20,33,61,.05)}
.indicador strong{display:block;color:var(--azul);font-size:1.02rem;margin-bottom:.35rem}
.indicador p{margin:0;color:var(--texto-suave);font-size:.94rem;line-height:1.55}
@media (max-width:1050px){.indicadores{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.indicadores{grid-template-columns:1fr}}

/* ---------- Precio de cabecera (home) ---------- */
.precio-cabecera{text-align:center;max-width:var(--ancho-texto);margin:0 auto}
.precio-cabecera p{font-size:1.15rem;color:var(--texto-suave);margin:1.2rem 0 1.8rem}

/* ---------- Prueba social ---------- */
.citas{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;margin-bottom:clamp(2.5rem,5vw,4rem)}
@media (max-width:860px){.citas{grid-template-columns:1fr}}
.cita{
  background:var(--azul-2);border:1px solid var(--linea-oscura);border-radius:var(--radio);
  padding:1.8rem;position:relative;transition:transform .35s var(--ease),border-color .35s;
}
.cita:hover{transform:translateY(-5px);border-color:rgba(252,163,17,.45)}
.cita::before{content:"\00AB";font-family:var(--f-display);font-size:3rem;color:var(--naranja);line-height:0;display:block;margin:1rem 0 1.3rem}
.cita blockquote{font-size:1.12rem;font-weight:600;color:var(--blanco);line-height:1.5}
.cita figcaption{margin-top:1rem;color:var(--naranja);font-weight:700;font-size:.95rem}
.datos{display:grid;grid-template-columns:repeat(4,1fr);gap:1.3rem;border-top:1px solid var(--linea-oscura);padding-top:clamp(2rem,4vw,3rem)}
@media (max-width:860px){.datos{grid-template-columns:repeat(2,1fr)}}
.dato .numero{font-family:var(--f-display);font-size:clamp(2.4rem,5vw,3.4rem);color:var(--naranja);line-height:1;display:flex;align-items:baseline}
.dato .numero .sufijo{font-size:.55em}
.dato p{margin-top:.6rem;font-size:.98rem;color:var(--texto-invertido)}
.despachos-linea{text-align:center;margin-top:clamp(2.5rem,5vw,3.5rem);font-size:1.15rem;color:var(--blanco);font-weight:600}
.despachos-linea strong{color:var(--naranja)}

/* ---------- Banda CTA ---------- */
.banda-cta{text-align:center;max-width:820px;margin:0 auto}
.banda-cta h2{margin-bottom:1.2rem}
.banda-cta p{font-size:1.15rem;color:var(--texto-suave);margin-bottom:2rem}
.seccion--oscura .banda-cta p,.seccion--profunda .banda-cta p{color:var(--texto-invertido)}

/* ---------- Nodus ---------- */
#nodus{overflow:hidden}
.nodus__constelacion{position:absolute;inset:0;pointer-events:none;opacity:.5}
.nodus__cuerpo{max-width:var(--ancho-texto)}
.nodus__cuerpo > p{margin-top:1.1rem;font-size:1.1rem}
.nodus__ejemplos{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;margin:2.4rem 0}
@media (max-width:860px){.nodus__ejemplos{grid-template-columns:1fr}}
.nodus__ejemplo{
  background:rgba(255,255,255,.045);border:1px solid var(--linea-oscura);border-radius:var(--radio);
  padding:1.6rem;transition:transform .35s var(--ease),border-color .35s,background .35s;
}
.nodus__ejemplo:hover{transform:translateY(-5px);border-color:rgba(252,163,17,.5);background:rgba(255,255,255,.07)}
.nodus__ejemplo h3{font-family:var(--f-cuerpo);font-weight:700;font-size:1.12rem;color:var(--blanco);margin-bottom:.6rem}
.nodus__ejemplo h3::before{content:"";display:block;width:34px;height:3px;background:var(--naranja);border-radius:2px;margin-bottom:.9rem}
.nodus__ejemplo p{font-size:.98rem;color:var(--texto-invertido)}
.nodus__regla{
  border-left:4px solid var(--naranja);background:rgba(252,163,17,.08);border-radius:0 var(--radio-s) var(--radio-s) 0;
  padding:1.1rem 1.4rem;font-weight:600;color:var(--blanco);margin:2rem 0;
}
.nodus__final{margin-bottom:2rem}

/* ---------- Pie ---------- */
.pie{background:var(--azul-3);color:rgba(255,255,255,.6);padding:3rem 0 2.5rem;border-top:1px solid var(--linea-oscura)}
.pie__inner{max-width:var(--ancho);margin:0 auto;padding:0 clamp(1.25rem,4vw,2.5rem);display:flex;flex-wrap:wrap;gap:1.5rem;align-items:center;justify-content:space-between}
.pie__logo{font-family:var(--f-display);font-size:1.3rem;color:var(--blanco)}
.pie__logo span{color:var(--naranja)}
.pie__sello{font-size:.92rem;margin-top:.4rem}
.pie__links{display:flex;flex-wrap:wrap;gap:1.4rem;font-size:.95rem;align-items:center}
.pie__links a{transition:color .2s;border-bottom:1px solid transparent}
.pie__links a:hover{color:var(--blanco);border-bottom-color:var(--naranja)}

/* ---------- Aviso de cookies ---------- */
.aviso{
  position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:1100;margin:0 auto;max-width:820px;
  background:var(--azul-3);color:var(--texto-invertido);border:1px solid var(--linea-oscura);
  border-radius:var(--radio-s);box-shadow:var(--sombra);padding:.8rem 1.1rem;
  display:flex;align-items:center;gap:1rem;flex-wrap:wrap;font-size:.9rem;
  animation:avisoSube .5s var(--ease) both;
}
.aviso[hidden]{display:none}
@keyframes avisoSube{from{opacity:0;transform:translateY(16px)}}
.aviso p{flex:1;min-width:220px;margin:0}
.aviso a{color:var(--naranja);font-weight:600;border-bottom:1px solid currentColor}
.aviso__botones{display:flex;gap:.5rem;flex-wrap:wrap}
.aviso__btn{font-weight:700;font-family:var(--f-cuerpo);padding:.5rem 1.1rem;border-radius:7px;cursor:pointer;font-size:.9rem;transition:background .2s,color .2s,border-color .2s}
.aviso__btn--ok{background:var(--naranja);border:0;color:var(--azul)}
.aviso__btn--ok:hover{background:var(--naranja-2)}
.aviso__btn--sec{background:transparent;color:var(--texto-invertido);border:1px solid var(--linea-oscura)}
.aviso__btn--sec:hover{border-color:var(--naranja);color:var(--naranja)}

/* ---------- Componente captura ---------- */
.captura{
  position:relative;aspect-ratio:16/10;border-radius:var(--radio-s);overflow:hidden;
  border:1px solid var(--linea);background:
    linear-gradient(135deg,rgba(20,33,61,.045) 25%,transparent 25%,transparent 50%,rgba(20,33,61,.045) 50%,rgba(20,33,61,.045) 75%,transparent 75%),
    radial-gradient(ellipse at 30% 20%,rgba(252,163,17,.10),transparent 55%),
    linear-gradient(160deg,#EEF1F7,#E2E7F2);
  background-size:26px 26px,cover,cover;
  box-shadow:var(--sombra-s);
}
.captura::before{
  content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(20,33,61,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(20,33,61,.05) 1px,transparent 1px);
  background-size:44px 44px;
}
.captura::after{content:"";position:absolute;left:50%;top:50%;width:54px;height:54px;transform:translate(-50%,-72%);
  border-radius:50%;border:3px solid rgba(20,33,61,.28);
  box-shadow:0 0 0 10px rgba(252,163,17,.14);
}
.captura figcaption{
  position:absolute;left:50%;top:50%;transform:translate(-50%,28%);z-index:1;
  font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(20,33,61,.55);
  background:rgba(255,255,255,.72);padding:.3rem .8rem;border-radius:99px;white-space:nowrap;
}
.captura img{position:absolute;inset:0;z-index:2;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .5s ease}
.captura img.cargada{opacity:1}
.seccion--oscura .captura,.seccion--profunda .captura{border-color:var(--linea-oscura)}

/* ---------- Ficha: dolores ---------- */
.dolores{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem}
@media (max-width:820px){.dolores{grid-template-columns:1fr}}
.dolor{
  background:var(--blanco);border:1px solid var(--linea);border-left:4px solid var(--naranja);
  border-radius:var(--radio-s);padding:1.6rem 1.7rem;
  transition:transform .35s var(--ease),box-shadow .35s var(--ease);
}
.dolor:hover{transform:translateY(-4px);box-shadow:var(--sombra-s)}
.dolor h3{font-family:var(--f-cuerpo);font-weight:700;font-size:1.15rem;color:var(--azul);margin-bottom:.6rem}
.dolor p{color:var(--texto-suave);font-size:1rem}
.dolores-cierre{
  margin-top:clamp(2.5rem,5vw,3.5rem);background:var(--azul);color:var(--blanco);border-radius:var(--radio);
  padding:clamp(2rem,4vw,3rem);text-align:center;font-family:var(--f-display);
  font-size:clamp(1.3rem,2.8vw,1.9rem);line-height:1.3;
}
.dolores-cierre em{font-style:normal;color:var(--naranja)}

/* ---------- Ficha: el despacho a la luz ---------- */
.luz-fila{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center;padding:clamp(2rem,4vw,3rem) 0}
.luz-fila + .luz-fila{border-top:1px solid var(--linea)}
.luz-fila--inv .luz-texto{order:2}
@media (max-width:860px){.luz-fila{grid-template-columns:1fr}.luz-fila--inv .luz-texto{order:0}}
.luz-texto h3{font-family:var(--f-display);font-size:clamp(1.25rem,2.2vw,1.6rem);color:var(--azul);margin-bottom:.8rem}
.luz-texto p{color:var(--texto-suave)}
.luz-visual{display:grid;gap:1rem}

/* Mini panel de recreacion */
.mini-panel{background:var(--blanco);border:1px solid var(--linea);border-radius:var(--radio-s);box-shadow:var(--sombra-s);padding:1rem 1.1rem;font-size:.8rem}
.mini-panel__titulo{font-size:.68rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--texto-suave);margin-bottom:.7rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.mini-panel__titulo .vivo{color:var(--verde);font-size:.62rem;letter-spacing:.06em}

/* Semaforo de rentabilidad */
.sem-fila{display:flex;align-items:center;gap:.6rem;padding:.5rem .4rem;font-weight:600;font-size:.82rem;border-radius:7px;transition:background .4s}
.sem-fila + .sem-fila{border-top:1px dashed var(--linea)}
.sem-luz{width:11px;height:11px;border-radius:50%;background:#CBD2E0;flex:none;transition:background .4s,box-shadow .4s}
.sem-fila.verde .sem-luz{background:var(--verde)}
.sem-fila.ambar .sem-luz{background:var(--ambar)}
.sem-fila.rojo .sem-luz{background:var(--rojo);box-shadow:0 0 0 4px rgba(239,68,68,.15)}
.sem-fila.rojo{background:rgba(239,68,68,.07)}
.sem-fila .sem-margen{margin-left:auto;font-variant-numeric:tabular-nums;color:var(--texto-suave);transition:color .4s}
.sem-fila.verde .sem-margen{color:var(--verde)}
.sem-fila.ambar .sem-margen{color:var(--ambar)}
.sem-fila.rojo .sem-margen{color:var(--rojo)}
.sem-leyenda{display:flex;gap:1rem;margin-top:.8rem;font-size:.68rem;color:var(--texto-suave);flex-wrap:wrap}
.sem-leyenda span{display:inline-flex;align-items:center;gap:.35rem}
.sem-leyenda i{width:8px;height:8px;border-radius:50%;display:inline-block}

/* Barras que se equilibran */
.eq-fila{display:grid;grid-template-columns:56px 1fr 42px;gap:.6rem;align-items:center;font-size:.78rem;font-weight:600;margin-top:.55rem}
.eq-pista{height:12px;background:var(--niebla);border-radius:6px;overflow:hidden;position:relative}
.eq-pista::after{content:"";position:absolute;left:80%;top:-2px;bottom:-2px;width:2px;background:rgba(20,33,61,.18)}
.eq-relleno{height:100%;width:0;border-radius:6px;background:var(--azul-4);transition:width 1.2s var(--ease),background-color .6s}
.eq-relleno.alta{background:var(--rojo)}
.eq-relleno.ok{background:var(--verde)}
.eq-pct{text-align:right;color:var(--texto-suave);font-variant-numeric:tabular-nums}
.eq-nota{margin-top:.8rem;font-size:.7rem;color:var(--texto-suave);text-align:center;transition:opacity .5s}
.js .eq-nota:not(.in){opacity:0}

/* Comparativo sectorial */
.comp-metrica{margin-top:.9rem}
.comp-metrica h4{font-size:.75rem;font-weight:700;color:var(--azul);margin-bottom:.4rem}
.comp-linea{display:grid;grid-template-columns:64px 1fr 44px;gap:.55rem;align-items:center;font-size:.7rem;font-weight:600;color:var(--texto-suave);margin-top:.3rem}
.comp-pista{height:9px;background:var(--niebla);border-radius:5px;overflow:hidden}
.comp-relleno{height:100%;width:0;border-radius:5px;transition:width 1.1s var(--ease)}
.comp-relleno.tuyo{background:var(--naranja)}
.comp-relleno.sector{background:#B9C2D6}

/* ---------- Ficha: dia a dia ---------- */
.diaadia{display:grid;grid-template-columns:repeat(6,1fr);gap:1.3rem}
.diaadia .tarjeta{grid-column:span 2}
.diaadia .tarjeta:nth-child(4),.diaadia .tarjeta:nth-child(5){grid-column:span 3}
@media (max-width:900px){.diaadia{grid-template-columns:1fr}.diaadia .tarjeta,.diaadia .tarjeta:nth-child(4),.diaadia .tarjeta:nth-child(5){grid-column:auto}}
.diaadia h3{font-family:var(--f-cuerpo);font-weight:700;font-size:1.1rem;color:var(--azul)}
.diaadia h3::before{content:"";display:block;width:30px;height:3px;background:var(--naranja);border-radius:2px;margin-bottom:.8rem}

/* ---------- Ficha: diferenciales ---------- */
.diferenciales{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;counter-reset:dif}
@media (max-width:820px){.diferenciales{grid-template-columns:1fr}}
.diferencial{
  background:var(--azul-2);border:1px solid var(--linea-oscura);border-radius:var(--radio);
  padding:2rem;position:relative;overflow:hidden;display:block;
  transition:transform .35s var(--ease),border-color .35s;
}
a.diferencial:hover{transform:translateY(-5px);border-color:rgba(252,163,17,.55)}
.diferencial .num{font-family:var(--f-display);font-size:4.4rem;line-height:1;color:transparent;-webkit-text-stroke:2px rgba(252,163,17,.55);position:absolute;right:1.2rem;top:.9rem;pointer-events:none}
.diferencial h3{color:var(--blanco);margin-bottom:.7rem;max-width:85%}
.diferencial p{color:var(--texto-invertido);font-size:1rem}
.diferencial .mas{display:inline-flex;align-items:center;gap:.4rem;margin-top:1rem;color:var(--naranja);font-weight:700;font-size:.92rem}
.diferencial .mas .fl{transition:transform .3s var(--ease)}
a.diferencial:hover .mas .fl{transform:translateX(5px)}

/* ---------- Ficha: adherencia ---------- */
.adh{background:var(--azul-2);border:1px solid var(--linea-oscura);border-radius:var(--radio);padding:1.2rem 1.3rem;font-size:.8rem;color:var(--texto-invertido)}
.adh__cab{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:1rem}
.adh__pct{font-family:var(--f-display);font-size:2.1rem;color:var(--blanco);transition:color .5s}
.adh__pct.mal{color:var(--rojo)}
.adh svg{width:100%;height:auto}
.adh__linea{fill:none;stroke:url(#adhGrad);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.adh__umbral{stroke:rgba(255,255,255,.25);stroke-width:1;stroke-dasharray:5 5}
.adh__alarma{
  display:flex;align-items:center;gap:.55rem;margin-top:1rem;background:rgba(239,68,68,.14);
  border:1px solid rgba(239,68,68,.4);color:#FCA5A5;font-weight:700;border-radius:8px;padding:.6rem .8rem;
}
.js .adh__alarma:not(.in){display:none}
.adh__alarma.in{animation:avisoSube .45s var(--ease) both}
.adh__alarma::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--rojo);animation:pulsoRojo 1.5s infinite;flex:none}
.adh__plan{display:block;margin-top:.8rem;background:rgba(255,255,255,.05);border-radius:8px;padding:.8rem .9rem}
.js .adh__plan:not(.in){display:none}
.adh__plan.in{animation:avisoSube .45s var(--ease) .15s both}
.adh__plan h4{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--naranja);margin-bottom:.5rem}
.adh__plan li{display:flex;gap:.5rem;padding:.22rem 0;font-weight:600;transition:opacity .4s var(--ease),transform .4s var(--ease)}
.js .adh__plan li:not(.in){opacity:0;transform:translateY(6px)}
.adh__plan li::before{content:"";width:14px;height:14px;flex:none;margin-top:.3rem;border-radius:4px;border:2px solid var(--naranja);
  background:linear-gradient(45deg,transparent 42%,var(--naranja) 42%,var(--naranja) 58%,transparent 58%) no-repeat center/8px 8px}

/* ---------- Ficha: Consul (chat) ---------- */
.chat{background:var(--blanco);border:1px solid var(--linea);border-radius:var(--radio);box-shadow:var(--sombra-s);overflow:hidden;font-size:.92rem}
.chat__cab{background:var(--azul);color:var(--blanco);padding:.75rem 1.1rem;display:flex;align-items:center;gap:.6rem;font-weight:700;font-size:.85rem}
.chat__cab::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--verde);animation:latido 2.4s infinite}
.chat__cuerpo{padding:1.2rem;display:flex;flex-direction:column;gap:.9rem;min-height:280px}
.msg{max-width:88%;padding:.7rem 1rem;border-radius:14px;line-height:1.5;transition:opacity .4s var(--ease),transform .4s var(--ease)}
.js .msg:not(.in){opacity:0;transform:translateY(10px)}
.msg--yo{align-self:flex-end;background:var(--azul);color:var(--blanco);border-bottom-right-radius:4px;font-weight:600}
.msg--consul{align-self:flex-start;background:var(--niebla);color:var(--tinta);border-bottom-left-radius:4px}
.msg--consul strong{color:var(--azul)}
.caret{display:inline-block;width:2px;height:1em;background:var(--naranja);vertical-align:text-bottom;animation:parpadeo .8s steps(1) infinite;margin-left:1px}
@keyframes parpadeo{50%{opacity:0}}
.chat__escribiendo{align-self:flex-start;display:none;gap:4px;padding:.7rem 1rem;background:var(--niebla);border-radius:14px;border-bottom-left-radius:4px}
.chat__escribiendo.in{display:inline-flex}
.chat__escribiendo i{width:7px;height:7px;border-radius:50%;background:#9AA4BD;animation:puntito 1.2s infinite}
.chat__escribiendo i:nth-child(2){animation-delay:.15s}
.chat__escribiendo i:nth-child(3){animation-delay:.3s}
@keyframes puntito{0%,60%,100%{transform:none;opacity:.5}30%{transform:translateY(-4px);opacity:1}}

/* ---------- Ficha: precios ---------- */
.tramos{background:var(--blanco);border:1px solid var(--linea);border-radius:var(--radio);box-shadow:var(--sombra-s);overflow:hidden}
.tramo{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:1rem;align-items:center;padding:1.15rem 1.6rem;transition:background .25s}
.tramo:hover{background:var(--niebla)}
.tramo + .tramo{border-top:1px solid var(--linea)}
.tramo--cab{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--texto-suave);background:var(--niebla)}
.tramo--cab:hover{background:var(--niebla)}
.tramo .cuota{font-family:var(--f-display);font-size:1.3rem;color:var(--azul)}
.tramo .cuota small{font-family:var(--f-cuerpo);font-size:.8rem;color:var(--texto-suave);font-weight:600}
.tramo .puesta{color:var(--texto-suave);font-weight:600}
.tramo .plantilla{font-weight:700}
@media (max-width:640px){.tramo{grid-template-columns:1fr;gap:.2rem}.tramo--cab{display:none}}
.precio-condiciones{margin-top:1.6rem;display:grid;gap:.6rem;color:var(--texto-suave);font-size:1rem}
.nota-grande{
  margin-top:2rem;background:var(--azul);color:var(--texto-invertido);border-radius:var(--radio);
  padding:1.6rem 1.9rem;border-left:5px solid var(--naranja);
}
.nota-grande strong{color:var(--blanco)}

/* ---------- Ficha: arranque (pasos) ---------- */
.pasos{position:relative;display:grid;gap:0;max-width:860px}
.paso{display:grid;grid-template-columns:64px 1fr;gap:1.4rem;padding:1.6rem 0;position:relative}
.paso::before{content:"";position:absolute;left:31px;top:0;bottom:0;width:2px;background:var(--linea)}
.paso:first-child::before{top:1.6rem}
.paso:last-child::before{bottom:auto;height:1.6rem}
.paso__num{
  width:64px;height:64px;border-radius:50%;background:var(--blanco);border:2px solid var(--naranja);
  display:flex;align-items:center;justify-content:center;font-family:var(--f-display);font-size:1.4rem;color:var(--azul);
  position:relative;z-index:1;transition:background .3s,color .3s,transform .3s var(--ease);
}
.paso:hover .paso__num{background:var(--naranja);transform:scale(1.06)}
.paso h3{font-family:var(--f-cuerpo);font-weight:700;font-size:1.2rem;color:var(--azul);margin-bottom:.4rem}
.paso p{color:var(--texto-suave)}
.cita-suelta{margin-top:2.5rem;font-size:1.25rem;font-weight:600;color:var(--azul)}
.cita-suelta .quien{color:var(--naranja);font-weight:700;display:block;margin-top:.4rem;font-size:1rem}

/* ---------- Ficha: la cuenta ---------- */
.cuenta{background:linear-gradient(115deg,var(--azul) 0%,var(--azul-2) 100%);border-radius:var(--radio);color:var(--texto-invertido);padding:clamp(2rem,5vw,3.5rem);position:relative;overflow:hidden}
.cuenta::before{content:"";position:absolute;left:-90px;bottom:-120px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(252,163,17,.18),transparent 65%)}
.cuenta h2{color:var(--blanco)}
.cuenta__mates{display:flex;flex-wrap:wrap;gap:clamp(1rem,3vw,2.2rem);align-items:center;margin:1.8rem 0;font-family:var(--f-display)}
.cuenta__mates .cifra{font-size:clamp(1.9rem,4.5vw,3rem);color:var(--naranja);line-height:1}
.cuenta__mates .cifra small{display:block;font-family:var(--f-cuerpo);font-weight:600;font-size:.85rem;color:var(--texto-invertido);margin-top:.45rem;letter-spacing:0}
.cuenta__mates .op{font-size:1.8rem;color:rgba(255,255,255,.5)}
.cuenta p{position:relative;z-index:1;margin-top:1rem}

/* ---------- FAQ ---------- */
.faq{max-width:var(--ancho-texto);display:grid;gap:.9rem}
.faq details{background:var(--blanco);border:1px solid var(--linea);border-radius:var(--radio-s);overflow:hidden;transition:border-color .25s,box-shadow .25s}
.faq details:hover{border-color:rgba(252,163,17,.6)}
.faq details[open]{box-shadow:var(--sombra-s);border-color:rgba(252,163,17,.6)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.15rem 1.4rem;font-weight:700;font-size:1.08rem;color:var(--azul)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--f-display);font-size:1.3rem;color:var(--naranja);transition:transform .3s var(--ease);flex:none}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .faq__cuerpo{padding:0 1.4rem 1.3rem;color:var(--texto-suave)}

/* ---------- Campanas ---------- */
.ola{position:absolute;left:0;right:0;bottom:-2px;pointer-events:none}
.ola svg{width:200%;display:block}
.ola--anima svg{animation:olaVa 26s linear infinite}
@keyframes olaVa{to{transform:translateX(-50%)}}
.tablero{background:var(--blanco);border:1px solid var(--linea);border-radius:var(--radio);box-shadow:var(--sombra-s);overflow:hidden;font-size:.85rem}
.tablero__cab{display:flex;gap:1.2rem;flex-wrap:wrap;background:var(--niebla);border-bottom:1px solid var(--linea);padding:.8rem 1.2rem;font-weight:700;font-size:.78rem}
.tablero__cab .c-verde{color:var(--verde)}.tablero__cab .c-ambar{color:var(--ambar)}.tablero__cab .c-gris{color:var(--texto-suave)}
.tab-fila{display:grid;grid-template-columns:1.4fr 1fr auto;gap:.8rem;align-items:center;padding:.7rem 1.2rem;font-weight:600}
.tab-fila + .tab-fila{border-top:1px solid var(--linea)}
.tab-fila .modelo{color:var(--texto-suave);font-size:.78rem}
.chip{display:inline-flex;align-items:center;gap:.4rem;border-radius:99px;padding:.22rem .75rem;font-size:.72rem;font-weight:700;transition:background .45s,color .45s;white-space:nowrap}
.chip::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.chip--pendiente{background:#EEF0F5;color:#5A6178}
.chip--curso{background:rgba(240,168,12,.15);color:#B27C06}
.chip--presentado{background:rgba(31,182,98,.13);color:#158549}
@media (max-width:560px){.tab-fila{grid-template-columns:1fr auto}.tab-fila .modelo{grid-column:1 / -1}}

/* ---------- Procesos ---------- */
.stats-duo{display:flex;gap:clamp(2rem,6vw,4.5rem);flex-wrap:wrap;margin-top:2.2rem}
.stats-duo .stat .numero{font-family:var(--f-display);font-size:clamp(3rem,7vw,4.6rem);color:var(--naranja);line-height:1}
.stats-duo .stat p{max-width:260px;font-weight:600;color:var(--azul);margin-top:.5rem}
.seccion--oscura .stats-duo .stat p{color:var(--texto-invertido)}
.pasos-tres{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}
.pasos-tres.pasos-cuatro{grid-template-columns:repeat(4,1fr)}
@media (max-width:1050px){.pasos-tres.pasos-cuatro{grid-template-columns:repeat(2,1fr)}}
@media (max-width:860px){.pasos-tres,.pasos-tres.pasos-cuatro{grid-template-columns:1fr}}
.paso-tres{background:var(--blanco);border:1px solid var(--linea);border-radius:var(--radio);padding:1.9rem;position:relative;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s}
.paso-tres:hover{transform:translateY(-6px);box-shadow:var(--sombra)}
.paso-tres .n{font-family:var(--f-display);font-size:2.6rem;color:transparent;-webkit-text-stroke:2px rgba(20,33,61,.3);line-height:1;display:block;margin-bottom:1rem}
.paso-tres h3{font-family:var(--f-cuerpo);font-weight:700;font-size:1.15rem;color:var(--azul);margin-bottom:.5rem}
.paso-tres p{color:var(--texto-suave);font-size:1rem}
.paso-tres--clave{border-color:var(--naranja);border-width:2px;box-shadow:0 14px 40px -16px rgba(252,163,17,.4)}
.paso-tres--clave .n{-webkit-text-stroke-color:var(--naranja)}

/* ---------- Remate madre ---------- */
.remate{background:linear-gradient(115deg,var(--azul) 0%,var(--azul-2) 100%);border-radius:var(--radio);color:var(--texto-invertido);padding:clamp(2rem,5vw,3.2rem);display:grid;gap:1rem;position:relative;overflow:hidden}
.remate::before{content:"";position:absolute;right:-80px;top:-90px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(252,163,17,.2),transparent 65%)}
.remate h2{color:var(--blanco);font-size:clamp(1.6rem,3vw,2.2rem)}
.remate p{max-width:760px}
.remate .enlace-flecha{color:var(--blanco);justify-self:start}

/* ---------- Pagina cookies ---------- */
.articulo{max-width:var(--ancho-texto);margin:0 auto;display:grid;gap:1.1rem}
.articulo h2{font-size:1.5rem;margin-top:1.4rem}
.articulo ul{list-style:disc;padding-left:1.4rem;display:grid;gap:.5rem;color:var(--texto-suave)}
.articulo p{color:var(--texto-suave)}
.articulo p.destacada{color:var(--tinta);font-weight:600}

/* ---------- Transiciones de pagina (View Transitions API) ---------- */
@view-transition{navigation:auto}
@media (prefers-reduced-motion:no-preference){
  ::view-transition-old(root){animation:vtFuera .2s ease both}
  ::view-transition-new(root){animation:vtDentro .32s var(--ease) both}
}
@keyframes vtFuera{to{opacity:0}}
@keyframes vtDentro{from{opacity:0;transform:translateY(12px)}}

/* ---------- Animaciones dirigidas por scroll (con degradacion) ---------- */
@supports (animation-timeline: scroll()){
  .progreso{animation:progresoCrece linear both;animation-timeline:scroll(root)}
  .hero__glow{animation:glowDeriva linear both;animation-timeline:scroll(root);animation-range:0vh 120vh}
}
@keyframes progresoCrece{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes glowDeriva{to{transform:translateY(180px) scale(1.15)}}

/* ---------- Movimiento reducido: todo digno y quieto ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
  .js [data-reveal]{opacity:1;transform:none}
  .panel{transform:none}
  .progreso{display:none}
  .ola--anima svg{animation:none}
}

/* ---------- Reunión de encaje: formulario de Clientify ---------- */
.form-clientify{width:100%;max-width:700px;margin:0 auto;padding:0 32px}
.form-nota{max-width:700px;margin:1.4rem auto 0;padding:0 32px;text-align:center;font-size:.95rem;color:var(--texto-suave)}
