/* ══════════════════════════════════════════════════════════════════
   /nosotros.html — qué es RivoLegal, qué lo diferencia, cómo trabajamos
   y prensa. Animaciones: entrada del hero (CSS), aparición al hacer
   scroll (.rv → .is-in, js al pie de la página), contadores, etiquetas
   flotantes sobre el mockup. Todo se apaga con prefers-reduced-motion,
   y sin JS el contenido se ve igual (el estado oculto solo aplica con
   html.rv-on).
   ══════════════════════════════════════════════════════════════════ */
.nx{--nx-ease:cubic-bezier(.16,1,.3,1);--nx-navy:#14427E;--nx-deep:#0a2550;--nx-ink:#0c1f3d;--nx-mid:#3d5278;--nx-soft:#F5F8FE;--nx-line:rgba(20,66,126,.11)}
.nx-wrap{max-width:1160px;margin:0 auto;padding:0 5%}
.nx-k{display:inline-flex;align-items:center;gap:8px;font-family:'Poppins',sans-serif;font-size:.68rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--nx-navy);margin-bottom:14px}
.nx-k::before{content:'';width:18px;height:2px;border-radius:2px;background:currentColor;opacity:.6}
.nx-h2{font-family:'Poppins',sans-serif;font-size:clamp(1.7rem,3.2vw,2.5rem);font-weight:800;line-height:1.16;letter-spacing:-.022em;color:var(--nx-ink);margin:0 0 18px}
.nx-lead{font-size:1.05rem;line-height:1.8;color:var(--nx-mid);margin:0}
.nx-sec{padding:104px 0}
.nx-sec--soft{background:var(--nx-soft)}
.nx-center{text-align:center;max-width:700px;margin:0 auto 56px}
.nx-center .nx-k{justify-content:center}

/* ── Hero ── */
.nx-hero{position:relative;overflow:hidden;padding:150px 0 0;background:#0a2550;color:#fff;isolation:isolate}
.nx-hero::before{content:'';position:absolute;inset:0;z-index:-1;background-image:radial-gradient(rgba(255,255,255,.06) 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(#000 40%,transparent)}
.nx-orb{position:absolute;z-index:-2;border-radius:50%;filter:blur(70px);opacity:.75;animation:nx-drift 18s ease-in-out infinite alternate}
.nx-orb--a{width:560px;height:560px;left:-140px;top:-180px;background:#1d5bab}
.nx-orb--b{width:480px;height:480px;right:-120px;top:40px;background:#2b7be0;opacity:.45;animation-duration:22s;animation-delay:-6s}
.nx-orb--c{width:420px;height:420px;left:40%;bottom:-260px;background:#14427E;animation-duration:26s}
@keyframes nx-drift{0%{transform:translate(0,0) scale(1)}50%{transform:translate(60px,40px) scale(1.08)}100%{transform:translate(-40px,70px) scale(.96)}}
.nx-hero-in{position:relative;text-align:center;max-width:860px;margin:0 auto;padding:0 5%}
.nx-pill{display:inline-flex;align-items:center;gap:10px;padding:7px 16px 7px 8px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);font-size:.8rem;color:rgba(255,255,255,.85);backdrop-filter:blur(6px)}
.nx-pill b{padding:3px 10px;border-radius:999px;background:#fff;color:var(--nx-navy);font-family:'Poppins',sans-serif;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.nx-hero h1{font-family:'Poppins',sans-serif;font-size:clamp(2.2rem,5.2vw,3.9rem);font-weight:800;line-height:1.06;letter-spacing:-.035em;margin:26px 0 22px}
.nx-hero h1 em{font-style:normal;background:linear-gradient(90deg,#9cc3f5,#d6e6ff,#9cc3f5);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:nx-shine 6s linear infinite}
@keyframes nx-shine{to{background-position:-200% 0}}
.nx-hero p{font-size:1.1rem;line-height:1.75;color:rgba(255,255,255,.76);max-width:640px;margin:0 auto}
.nx-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:34px}
.nx-btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:8px;padding:15px 28px;border-radius:999px;font-family:'Poppins',sans-serif;font-weight:700;font-size:.92rem;text-decoration:none;transition:transform .25s,box-shadow .25s,background .25s}
.nx-btn--w{background:#fff;color:var(--nx-navy);box-shadow:0 14px 34px rgba(0,0,0,.25)}
.nx-btn--w::after{content:'';position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(20,66,126,.14),transparent);transform:skewX(-20deg);animation:nx-sweep 3.8s ease-in-out infinite}
@keyframes nx-sweep{0%,55%{left:-60%}100%{left:130%}}
.nx-btn--g{color:#fff;border:1.5px solid rgba(255,255,255,.3)}
.nx-btn--g:hover{background:rgba(255,255,255,.08)}
.nx-btn--p{background:var(--nx-navy);color:#fff;box-shadow:0 14px 30px rgba(20,66,126,.28)}
.nx-btn--o{color:var(--nx-navy);border:1.5px solid rgba(20,66,126,.25)}
.nx-btn:hover{transform:translateY(-2px)}
.nx-stats{list-style:none;margin:70px auto 0;padding:0;max-width:960px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.12)}
.nx-stats li{padding:30px 20px 38px;text-align:center}
.nx-stats li+li{border-left:1px solid rgba(255,255,255,.12)}
.nx-stats b{display:block;font-family:'Poppins',sans-serif;font-size:clamp(2rem,3.6vw,2.8rem);font-weight:800;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}
.nx-stats span{display:block;margin-top:10px;font-size:.88rem;line-height:1.5;color:rgba(255,255,255,.62)}
/* entrada del hero (no depende de JS) */
.nx-hero-in>*,.nx-stats{animation:nx-up .9s cubic-bezier(.2,.8,.2,1) both}
.nx-hero-in>:nth-child(2){animation-delay:.08s}.nx-hero-in>:nth-child(3){animation-delay:.16s}.nx-hero-in>:nth-child(4){animation-delay:.24s}.nx-stats{animation-delay:.36s}
@keyframes nx-up{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}

/* ── Qué es: texto + mockup ── */
.nx-split{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);gap:64px;align-items:center}
.nx-checks{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:14px}
.nx-checks li{display:flex;gap:14px;align-items:flex-start;font-size:.98rem;line-height:1.6;color:var(--nx-mid)}
.nx-checks li b{color:var(--nx-ink)}
.nx-tick{flex-shrink:0;width:26px;height:26px;border-radius:8px;background:#e8f0fb;color:var(--nx-navy);display:flex;align-items:center;justify-content:center;margin-top:1px}
.nx-mock{position:relative;padding:26px 26px 26px 0}
.nx-mock::before{content:'';position:absolute;inset:0 0 0 40px;border-radius:30px;background:linear-gradient(150deg,#dfeafb,#f3f7fe);z-index:0}
.nx-win{position:relative;z-index:1;border-radius:16px;overflow:hidden;background:#fff;border:1px solid var(--nx-line);box-shadow:0 40px 80px rgba(12,31,61,.2);transform:perspective(1400px) rotateY(-6deg) rotateX(2deg);transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.nx-mock:hover .nx-win{transform:perspective(1400px) rotateY(0) rotateX(0)}
.nx-bar{display:flex;align-items:center;gap:6px;padding:10px 14px;background:#f3f6fb;border-bottom:1px solid var(--nx-line)}
.nx-bar i{width:9px;height:9px;border-radius:50%;background:#d5deeb}
.nx-bar span{margin-left:10px;padding:3px 12px;border-radius:999px;background:#fff;border:1px solid var(--nx-line);font-size:.7rem;color:#6b7f9f}
.nx-win img{display:block;width:100%;height:auto}
.nx-chip{position:absolute;z-index:2;display:flex;align-items:center;gap:10px;padding:11px 15px;border-radius:14px;background:#fff;box-shadow:0 18px 40px rgba(12,31,61,.18);font-size:.8rem;line-height:1.3;color:var(--nx-mid);white-space:nowrap;animation:nx-float 6s ease-in-out infinite}
.nx-chip b{display:block;font-family:'Poppins',sans-serif;font-size:.82rem;color:var(--nx-ink)}
.nx-chip-ic{width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.nx-chip--a{left:-34px;top:24%}.nx-chip--a .nx-chip-ic{background:#e7f6ef;color:#1f8a63}
.nx-chip--b{right:-10px;top:44%;animation-delay:-2s}.nx-chip--b .nx-chip-ic{background:#fff4e2;color:#c27a10}
.nx-chip--c{left:8%;bottom:-6px;animation-delay:-4s}.nx-chip--c .nx-chip-ic{background:#e8f0fb;color:var(--nx-navy)}
@keyframes nx-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}

/* ── Pilares ── */
.nx-pillars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.nx-pillar{position:relative;padding:30px 26px 28px;border-radius:22px;background:#fff;border:1px solid var(--nx-line);overflow:hidden;transition:transform .6s var(--nx-ease),box-shadow .6s var(--nx-ease),border-color .4s}
.nx-pillar::after{content:'';position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,#14427E,#5b9cf0);transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.nx-pillar:hover{transform:translateY(-6px);box-shadow:0 26px 54px rgba(20,66,126,.13);border-color:rgba(20,66,126,.2)}
.nx-pillar:hover::after{transform:scaleX(1)}
.nx-ic{width:50px;height:50px;border-radius:15px;background:linear-gradient(140deg,#14427E,#2b6fd0);color:#fff;display:flex;align-items:center;justify-content:center;margin-bottom:22px;box-shadow:0 12px 26px rgba(20,66,126,.25);transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.nx-pillar:hover .nx-ic{transform:rotate(-8deg) scale(1.06)}
.nx-pillar h3{font-family:'Poppins',sans-serif;font-size:1.04rem;font-weight:700;line-height:1.35;color:var(--nx-ink);margin:0 0 10px}
.nx-pillar p{font-size:.9rem;line-height:1.65;color:var(--nx-mid);margin:0}

/* ── Cómo trabajamos ── */
.nx-ways{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--nx-line)}
.nx-way{padding:34px 34px 8px 0}
.nx-way+.nx-way{padding-left:34px;border-left:1px solid var(--nx-line)}
.nx-num{display:block;font-family:'Poppins',sans-serif;font-size:.8rem;font-weight:800;letter-spacing:.12em;color:#5b9cf0;margin-bottom:14px}
.nx-way h3{font-family:'Poppins',sans-serif;font-size:1.12rem;font-weight:700;color:var(--nx-ink);margin:0 0 10px}
.nx-way p{font-size:.95rem;line-height:1.7;color:var(--nx-mid);margin:0}
.nx-team{margin:52px auto 0;max-width:680px;text-align:center;font-size:.95rem;line-height:1.7;color:var(--nx-mid)}
.nx-team b{color:var(--nx-ink);font-weight:600}

/* ── Prensa ── */
.nx-press{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.nx-note{position:relative;display:flex;flex-direction:column;border-radius:20px;background:#fff;border:1px solid var(--nx-line);overflow:hidden;transition:transform .6s var(--nx-ease),box-shadow .6s var(--nx-ease),border-color .4s}
.nx-note:hover{transform:translateY(-6px);box-shadow:0 28px 56px rgba(20,66,126,.14);border-color:rgba(20,66,126,.2)}
/* La captura se ve COMPLETA (contain, sin recorte) en un marco parejo de 5:3. */
.nx-thumb{position:relative;display:block;width:100%;padding:0;border:0;border-bottom:1px solid var(--nx-line);background:#eef2f8;cursor:zoom-in;overflow:hidden}
.nx-thumb{aspect-ratio:5/3}
.nx-thumb img{display:block;width:100%;height:100%;object-fit:contain;transition:transform 1.1s var(--nx-ease),filter .6s}
.nx-thumb::before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(10,37,80,0) 40%,rgba(10,37,80,.55));opacity:0;transition:opacity .5s var(--nx-ease)}
.nx-zoom{position:absolute;z-index:2;left:50%;bottom:16px;display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;background:#fff;color:var(--nx-navy);font-family:'Poppins',sans-serif;font-size:.78rem;font-weight:700;box-shadow:0 10px 26px rgba(3,14,34,.25);opacity:0;transform:translate(-50%,12px);transition:opacity .45s var(--nx-ease),transform .45s var(--nx-ease)}
.nx-thumb:hover img,.nx-thumb:focus-visible img{transform:scale(1.035)}
.nx-thumb:hover::before,.nx-thumb:focus-visible::before{opacity:1}
.nx-thumb:hover .nx-zoom,.nx-thumb:focus-visible .nx-zoom{opacity:1;transform:translate(-50%,0)}
.nx-thumb:focus-visible{outline:3px solid rgba(20,66,126,.4);outline-offset:-3px}
.nx-note-b{position:relative;display:flex;flex-direction:column;flex:1;padding:20px 24px 24px}
.nx-note-m{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.nx-note-d{font-size:.74rem;color:#7a92b4;white-space:nowrap}
.nx-note h3{font-family:'Poppins',sans-serif;font-size:.98rem;font-weight:700;line-height:1.45;color:var(--nx-ink);margin:0 0 18px;flex:1}
.nx-note a{display:inline-flex;align-items:center;gap:7px;font-family:'Poppins',sans-serif;font-size:.82rem;font-weight:700;color:var(--nx-navy);text-decoration:none;transition:gap .25s}
.nx-note a::after{content:'';position:absolute;inset:0}
.nx-note:hover a{gap:11px}
.nx-note a:focus-visible{outline:none}
.nx-note a:focus-visible::after{outline:3px solid rgba(20,66,126,.35);outline-offset:-3px;border-radius:0 0 20px 20px}
.nx-press-foot{margin-top:40px;text-align:center;font-size:.92rem;color:var(--nx-mid)}
.nx-press-foot a{color:var(--nx-navy);font-weight:700;text-decoration:none;border-bottom:1.5px solid rgba(20,66,126,.3)}

/* ── Encontranos + CTA ── */
.nx-links{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.nx-links a{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;border-radius:999px;background:#fff;border:1px solid var(--nx-line);font-family:'Poppins',sans-serif;font-size:.84rem;font-weight:600;color:var(--nx-ink);text-decoration:none;transition:border-color .2s,transform .2s,color .2s,box-shadow .2s}
.nx-links a:hover{border-color:var(--nx-navy);color:var(--nx-navy);transform:translateY(-2px);box-shadow:0 10px 22px rgba(20,66,126,.1)}
.nx-links a span{color:#7a92b4;font-size:.8em}
.nx-cta{position:relative;overflow:hidden;margin:0 auto;max-width:1060px;padding:64px 6%;border-radius:30px;text-align:center;color:#fff;background:radial-gradient(120% 140% at 0% 0%,#1d5bab 0%,#14427E 45%,#0a2550 100%);isolation:isolate}
.nx-cta::before{content:'';position:absolute;inset:0;z-index:-1;background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1px);background-size:24px 24px}
.nx-cta h2{font-family:'Poppins',sans-serif;font-size:clamp(1.6rem,3vw,2.3rem);font-weight:800;letter-spacing:-.02em;margin:0 0 12px}
.nx-cta p{margin:0 0 28px;color:rgba(255,255,255,.75);font-size:1.02rem}
.nx-cta .nx-btns{margin-top:0}

/* ── Aparición al hacer scroll ── */
html.rv-on .rv{opacity:0;transform:translateY(40px) scale(.985);filter:blur(6px);transition:opacity 1.1s var(--nx-ease),transform 1.1s var(--nx-ease),filter 1.1s var(--nx-ease);transition-delay:var(--d,0s)}
html.rv-on .rv.is-in{opacity:1;transform:none;filter:none}
html.rv-on .nx-mock.rv{transform:translateY(40px) translateX(30px) scale(.97)}
html.rv-on .nx-mock.rv.is-in{transform:none}
html.rv-on .nx-mock .nx-chip{opacity:0;transition:opacity .8s var(--nx-ease)}
html.rv-on .nx-mock.is-in .nx-chip,html.rv-on .nx-mock.rv-done .nx-chip{opacity:1}
html.rv-on .nx-mock.is-in .nx-chip--a{transition-delay:.5s}html.rv-on .nx-mock.is-in .nx-chip--b{transition-delay:.7s}html.rv-on .nx-mock.is-in .nx-chip--c{transition-delay:.9s}

/* ── Visor de notas ── */
.nx-lb{position:fixed;inset:0;z-index:2147483100;display:flex;align-items:center;justify-content:center;gap:18px;padding:40px 24px;background:rgba(5,16,36,.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);opacity:0;transition:opacity .38s var(--nx-ease)}
.nx-lb[hidden]{display:none}
.nx-lb.is-open{opacity:1}
.nx-lb-fig{margin:0;max-width:min(1200px,100%);display:flex;flex-direction:column;align-items:center;gap:16px;transform:translateY(24px) scale(.95);transition:transform .55s var(--nx-ease)}
.nx-lb.is-open .nx-lb-fig{transform:none}
.nx-lb-fig img{display:block;max-width:100%;max-height:calc(100vh - 170px);width:auto;height:auto;border-radius:14px;background:#fff;box-shadow:0 40px 90px rgba(0,0,0,.5)}
.nx-lb.is-swap .nx-lb-fig img{animation:nx-swap .5s var(--nx-ease)}
@keyframes nx-swap{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}
.nx-lb-fig figcaption{display:flex;align-items:center;gap:16px;padding:10px 12px 10px 20px;border-radius:999px;background:#fff}
.nx-lb-link{display:inline-flex;align-items:center;gap:7px;padding:8px 16px;border-radius:999px;background:var(--nx-navy);color:#fff;font-family:'Poppins',sans-serif;font-size:.8rem;font-weight:700;text-decoration:none}
.nx-lb-x,.nx-lb-nav{flex-shrink:0;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .25s,transform .25s}
.nx-lb-x:hover,.nx-lb-nav:hover{background:rgba(255,255,255,.2);transform:scale(1.06)}
.nx-lb-x{position:absolute;top:18px;right:18px}
@media(max-width:700px){.nx-lb{padding:70px 12px 24px;gap:0}.nx-lb-nav{position:absolute;bottom:22px;width:44px;height:44px}.nx-lb-prev{left:calc(50% - 56px)}.nx-lb-next{right:calc(50% - 56px)}.nx-lb-fig img{max-height:calc(100vh - 230px)}.nx-lb-fig figcaption{margin-bottom:64px}}

@media(max-width:1020px){.nx-pillars{grid-template-columns:repeat(2,minmax(0,1fr))}.nx-press{grid-template-columns:1fr;max-width:540px;margin:0 auto}}
@media(max-width:860px){
  .nx-sec{padding:76px 0}
  .nx-hero{padding-top:124px}
  .nx-split{grid-template-columns:1fr;gap:56px}
  .nx-mock{padding:20px 12px 28px 0}
  .nx-chip--a{left:-6px}.nx-chip--b{right:-4px}
  .nx-ways{grid-template-columns:1fr;border-top:0}
  .nx-way,.nx-way+.nx-way{padding:26px 0;border-left:0;border-top:1px solid var(--nx-line)}
  .nx-stats{grid-template-columns:1fr;margin-top:48px}.nx-stats li{padding:22px}.nx-stats li+li{border-left:0;border-top:1px solid rgba(255,255,255,.12)}
}
@media(max-width:560px){.nx-pillars{grid-template-columns:1fr}.nx-chip{font-size:.72rem;padding:9px 12px}.nx-chip-ic{width:26px;height:26px}.nx-cta{border-radius:22px}}
@media (prefers-reduced-motion:reduce){
  .nx-orb,.nx-hero h1 em,.nx-btn--w::after,.nx-chip,.nx-hero-in>*,.nx-stats{animation:none}
  html.rv-on .rv{opacity:1;transform:none;transition:none}
  .nx-win,.nx-pillar,.nx-note,.nx-thumb img,.nx-ic,.nx-lb,.nx-lb-fig,.nx-zoom,.nx-thumb::before{transition:none}
  html.rv-on .nx-mock .nx-chip{opacity:1}.nx-lb.is-swap .nx-lb-fig img{animation:none}
}
