/* =====================================================================
   NUEVO ENCANTO · prototipo de la estrategia 1
   Una sola página que respira entre dos escenas —tinta y crema— con la
   paleta de la marca. Las variables --ne-* las interpola el JS con el
   scroll: el viraje ocurre DENTRO de una sección, nunca en el borde.
   Componentes adaptados de /componentes: 05 scrollytelling, 07 tarjetas
   apiladas, 20 anillo, 06 acordeón, 02 pestañas, 11 mira y visor,
   04 cilindro, 10 tarjetas que se alargan y 03 esfera.
   ===================================================================== */

.ne{
  /* escena oscura de partida; el JS la reescribe al bajar */
  --ne-bg:#13120e; --ne-surf:#1c1a15; --ne-surf2:#25221b;
  --ne-fg:#f6f0de; --ne-mut:#bdb5a1; --ne-faint:#948d7b;
  --ne-line:rgba(246,240,222,.11); --ne-line2:rgba(246,240,222,.22);
  --ne-em:#f0bf40; --ne-link:#0cbfde; --ne-soft:rgba(240,191,64,.14);

  --azul:#029bd2; --azul-o:#0a6e99; --maiz:#f0bf40; --hoja:#70853a; --hoja-o:#4e5e27;
  --cielo:#0cbfde; --crema:#f6f0de; --tinta:#1b1a17;

  --bar-h:54px; --top:calc(var(--nav-h) + var(--bar-h));
  --ease:cubic-bezier(.22,.9,.3,1); --spring:cubic-bezier(.34,1.56,.64,1);
  --gut:clamp(16px,4vw,48px);
  --r-lg:28px; --r-md:20px; --r-sm:14px;
  --urb:"Urbanist",var(--font-body);

  background:var(--ne-bg); color:var(--ne-fg);
  font-family:var(--urb); font-size:17px;
}
.ne ::selection{ background:var(--maiz); color:var(--tinta); }
.ne-main{ position:relative; z-index:1; }
.ne-main h1,.ne-main h2,.ne-main h3,.ne-main h4{ font-family:var(--urb); color:var(--ne-fg); }
.ne-main p{ color:var(--ne-mut); max-width:none; }
.ne-main a{ color:var(--ne-link); }
.ne-main img{ max-width:100%; height:auto; }
.ne-ic{ width:1.15em; height:1.15em; flex:none; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; vertical-align:-.2em; }

.ne-wrap{ width:min(100% - 2 * var(--gut), 1320px); margin-inline:auto; }
.ne-sec{ position:relative; padding-block:clamp(56px,6.4vw,100px); scroll-margin-top:calc(var(--top) + 6px); }

/* luz del cursor: solo existe en la escena oscura (en crema, nada detrás del texto) */
.ne-luz{ position:fixed; inset:0; z-index:0; pointer-events:none; opacity:var(--luz,0);
  background:radial-gradient(640px circle at var(--lx,60%) var(--ly,30%), rgba(2,155,210,.14), rgba(2,155,210,.04) 45%, transparent 65%); }

/* ---------- encabezado del sitio sobre la marca ---------- */
.ne .site-header{ z-index:50; }
body.ne.is-light .site-header{ background:rgba(246,240,222,.82); border-bottom-color:rgba(27,26,23,.10); }
.ne .site-footer{ position:relative; z-index:1; background:#0a0d10; }

/* ---------- barra de capítulos ---------- */
.ne-bar{ position:sticky; top:var(--nav-h); z-index:44; margin-top:var(--nav-h); height:var(--bar-h);
  background:color-mix(in srgb, var(--ne-bg) 88%, transparent); -webkit-backdrop-filter:blur(14px) saturate(140%); backdrop-filter:blur(14px) saturate(140%);
  border-bottom:1px solid var(--ne-line); }
.ne-bar-in{ height:100%; width:min(100% - 24px, 1500px); margin-inline:auto; display:flex; align-items:center; gap:14px; }
.ne-bar-home{ display:flex; flex-direction:column; line-height:1.1; text-decoration:none; padding-right:16px; border-right:1px solid var(--ne-line); flex:none; }
.ne-bar-home b{ display:flex; align-items:center; gap:6px; font-weight:800; font-size:.86rem; color:var(--ne-fg); }
.ne-bar-home span{ font-size:.7rem; color:var(--ne-faint); margin-top:2px; }
.ne-bar ol{ list-style:none; margin:0; padding:0; display:flex; gap:2px; flex:1; min-width:0; overflow-x:auto; scrollbar-width:none; }
.ne-bar ol::-webkit-scrollbar{ display:none; }
.ne-bar li{ flex:none; }
.ne-bar ol a{ display:block; padding:8px 12px; border-radius:10px; font-weight:650; font-size:.9rem; color:var(--ne-mut); text-decoration:none; transition:color .2s, background-color .2s; }
.ne-bar ol a:hover{ color:var(--ne-fg); }
.ne-bar ol a.is-on{ color:var(--ne-fg); background:var(--ne-soft); }
.ne-bar-pdf{ flex:none; display:inline-flex; align-items:center; gap:7px; padding:8px 14px; border-radius:999px; border:1px solid var(--ne-line2); color:var(--ne-fg); text-decoration:none; font-weight:700; font-size:.84rem; transition:border-color .2s, background-color .2s; }
.ne-bar-pdf small{ font-weight:600; color:var(--ne-faint); }
.ne-bar-pdf:hover{ border-color:var(--maiz); background:var(--ne-soft); }
.ne-bar-prog{ position:absolute; left:0; right:0; bottom:-1px; height:2px; }
.ne-bar-prog i{ display:block; height:100%; background:var(--maiz); transform-origin:left; transform:scaleX(var(--p,0)); }

/* ---------- tipografía base ---------- */
.ne-eyebrow{ display:flex; flex-wrap:wrap; align-items:center; gap:6px 12px; margin:0 0 18px; font-weight:700; font-size:.76rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ne-mut) !important; }
.ne-eyebrow span{ padding:5px 11px; border-radius:999px; background:var(--ne-soft); color:var(--ne-em); letter-spacing:.1em; }
.ne-h1{ margin:0 0 24px; font-weight:800; font-size:clamp(2.9rem,1.3rem + 4.2vw,6rem); line-height:.92; letter-spacing:-.05em; }
.ne-h2{ margin:0; font-weight:800; font-size:clamp(2.2rem,1.2rem + 2.9vw,4.4rem); line-height:.95; letter-spacing:-.045em; }
.ne-h1 em,.ne-h2 em{ font-style:normal; color:var(--ne-em); }
.ne-sub{ margin:20px 0 0; font-size:clamp(1.02rem,.95rem + .35vw,1.24rem); line-height:1.55; max-width:62ch !important; }
.ne-head{ margin-bottom:clamp(28px,3.4vw,48px); }
.ne-wrap > .ne-head{ display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr); column-gap:clamp(24px,4vw,72px); align-items:end; }
.ne-wrap > .ne-head .ne-eyebrow{ grid-column:1 / -1; }
.ne-wrap > .ne-head .ne-sub{ margin:0; padding-bottom:.35em; }
.ne-head.is-compacta{ margin-top:clamp(64px,8vw,110px); }
.ne-mk{ display:flex; align-items:center; gap:8px; margin:0 0 10px; font-weight:750; font-size:.72rem; letter-spacing:.15em; text-transform:uppercase; color:var(--ne-em) !important; }
.ne-nota{ font-size:.86rem; line-height:1.55; color:var(--ne-faint) !important; }
.ne-hint{ display:flex; align-items:center; gap:8px; font-size:.84rem; color:var(--ne-faint) !important; }
.ne-link{ display:inline-flex; align-items:center; gap:6px; font-weight:700; font-size:.92rem; text-decoration:none; color:var(--ne-link); border-bottom:1px solid currentColor; padding-bottom:1px; }
.ne-link:hover{ color:var(--ne-em); }
.ne-lista{ list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.ne-lista li{ position:relative; padding-left:22px; color:var(--ne-mut); line-height:1.5; }
.ne-lista li::before{ content:""; position:absolute; left:2px; top:.62em; width:8px; height:8px; border-radius:50%; background:var(--ne-em); }
.ne-lista b{ color:var(--ne-fg); }

/* botones */
.ne-ctas{ display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.ne-btn{ display:inline-flex; align-items:center; gap:9px; padding:14px 22px; border-radius:999px; font-weight:800; font-size:.98rem; text-decoration:none; border:1px solid transparent; transition:transform .35s var(--spring), box-shadow .3s, background-color .25s, border-color .25s, color .25s; }
.ne-main .ne-btn.is-pri{ background:var(--maiz); color:var(--tinta); box-shadow:0 14px 34px -16px rgba(240,191,64,.8); }
.ne-main .ne-btn.is-pri:hover{ transform:translateY(-2px); box-shadow:0 20px 40px -16px rgba(240,191,64,.9); }
.ne-main .ne-btn.is-ghost{ color:var(--ne-fg); border-color:var(--ne-line2); }
.ne-main .ne-btn.is-ghost:hover{ border-color:var(--ne-em); background:var(--ne-soft); }
.ne-btn small{ font-weight:600; opacity:.7; }

/* tarjetas */
.ne-card{ background:var(--ne-surf); border:1px solid var(--ne-line); border-radius:var(--r-md); padding:clamp(22px,2.4vw,34px); }
.ne-card h3{ display:flex; align-items:center; gap:10px; margin:0 0 14px; font-size:1.35rem; font-weight:800; letter-spacing:-.02em; }
.ne-card p{ margin:0; line-height:1.6; }
.ne-dos{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(14px,2vw,24px); margin-top:clamp(20px,2.4vw,32px); }
.ne-tres{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(14px,1.8vw,22px); margin-top:clamp(14px,1.8vw,22px); }

/* segmentado */
.ne-seg{ display:inline-flex; padding:4px; gap:2px; border-radius:999px; background:var(--ne-surf2); border:1px solid var(--ne-line); }
.ne-seg button{ padding:8px 14px; border:0; border-radius:999px; background:none; color:var(--ne-mut); font:700 .86rem/1 var(--urb); cursor:pointer; transition:background-color .25s, color .25s; }
.ne-seg button[aria-pressed="true"]{ background:var(--ne-fg); color:var(--ne-bg); }
.ne-seg button:focus-visible,.ne-btn:focus-visible,.ne-link:focus-visible{ outline:2px solid var(--maiz); outline-offset:3px; }

/* entrada por scroll (solo con JS; sin JS todo se ve) */
.ne-js .ne-rv{ opacity:0; transform:translateY(24px); filter:blur(6px); transition:opacity .85s var(--ease) var(--d,0s), transform .95s var(--ease) var(--d,0s), filter .85s var(--ease) var(--d,0s); }
.ne-js .ne-rv.is-in{ opacity:1; transform:none; filter:none; }
.ne-ln{ display:block; overflow:hidden; padding-bottom:.06em; margin-bottom:-.06em; }
.ne-ln > span{ display:block; }
.ne-js .ne-ln > span{ transform:translateY(108%); transition:transform 1.1s var(--ease); }
.ne-js .ne-ln:nth-child(2) > span{ transition-delay:.12s; }
.ne-js .is-listo .ne-ln > span{ transform:none; }

/* =====================================================================
   1 · PORTADA
   ===================================================================== */
.ne-hero{ min-height:calc(100svh - var(--top)); display:flex; flex-direction:column; justify-content:center; padding-block:clamp(40px,5vw,72px) 0; overflow:hidden; }
.ne-hero-in{ display:grid; grid-template-columns:minmax(0,1.14fr) minmax(0,.86fr); align-items:center; gap:clamp(28px,3.4vw,60px); }
.ne-lead{ margin:0 0 14px; font-size:clamp(1.25rem,1rem + .9vw,1.8rem); font-weight:650; line-height:1.3; color:var(--ne-fg) !important; letter-spacing:-.015em; }
.ne-hero-que{ margin:0; font-size:1.05rem; line-height:1.6; max-width:52ch !important; }

.ne-stage{ position:relative; width:min(100%,560px,calc(100svh - var(--top) - 120px)); aspect-ratio:1; justify-self:center; --mx:0; --my:0; }
.ne-stage > *{ position:absolute; }
.ne-stage-glow{ inset:-14%; border-radius:50%; background:radial-gradient(circle, rgba(2,155,210,.55), rgba(2,155,210,.16) 40%, transparent 66%); filter:blur(8px); animation:neLate 7s ease-in-out infinite; }
@keyframes neLate{ 50%{ transform:scale(1.06); opacity:.8; } }
.ne-stage-orbit{ inset:0; width:100%; height:100%; fill:none; stroke:rgba(246,240,222,.2); stroke-width:.25; stroke-dasharray:.8 1.6; animation:neGira 80s linear infinite; }
.ne-stage-orbit .is-b{ stroke:rgba(240,191,64,.35); stroke-dasharray:none; stroke-width:.2; }
@keyframes neGira{ to{ transform:rotate(360deg); } }
.ne-stage-logo{ inset:15%; z-index:3; transform:translate3d(calc(var(--mx) * 10px), calc(var(--my) * 10px), 0) rotateX(calc(var(--my) * -8deg)) rotateY(calc(var(--mx) * 10deg)); transition:transform .5s var(--ease); }
.ne-stage-logo img{ width:100%; height:100%; filter:drop-shadow(0 34px 60px rgba(0,0,0,.55)); animation:neFlota 6s ease-in-out infinite; }
@keyframes neFlota{ 50%{ transform:translateY(-10px); } }
.ne-stage-bag{ width:34%; z-index:2; filter:drop-shadow(0 26px 30px rgba(0,0,0,.5)); transition:transform .6s var(--ease); }
.ne-stage-bag.is-a{ left:-4%; top:31%; transform:translate3d(calc(var(--mx) * -18px), calc(var(--my) * -14px), 0) rotate(-14deg); }
.ne-stage-bag.is-b{ right:-4%; top:25%; transform:translate3d(calc(var(--mx) * -24px), calc(var(--my) * -18px), 0) rotate(12deg); }
.ne-stage-chip{ width:30%; z-index:4; filter:drop-shadow(0 12px 18px rgba(0,0,0,.35)); transition:transform .5s var(--ease); }
.ne-stage-chip.is-1{ left:2%; top:7%; transform:translate3d(calc(var(--mx) * 30px), calc(var(--my) * 24px), 0) rotate(-6deg); }
.ne-stage-chip.is-2{ right:-2%; bottom:13%; transform:translate3d(calc(var(--mx) * 22px), calc(var(--my) * 18px), 0) rotate(5deg); }
.ne-stage-chip.is-3{ left:10%; bottom:2%; transform:translate3d(calc(var(--mx) * 36px), calc(var(--my) * 26px), 0) rotate(-3deg); }
/* la entrada: el sello aparece y las bolsas salen de detrás */
.ne-js .ne-stage:not(.is-listo) .ne-stage-logo{ opacity:0; transform:scale(.7); filter:blur(10px); }
.ne-js .ne-stage:not(.is-listo) .ne-stage-bag{ opacity:0; transform:translate3d(0,0,0) rotate(0) scale(.6); }
.ne-js .ne-stage:not(.is-listo) .ne-stage-chip{ opacity:0; transform:translateY(20px) scale(.8); }
.ne-js .ne-stage .ne-stage-logo{ transition:transform 1.1s var(--spring), opacity .8s, filter .8s; }
.ne-js .ne-stage .ne-stage-bag{ transition:transform 1.2s var(--ease) .35s, opacity .8s .35s; }
.ne-js .ne-stage .ne-stage-chip{ transition:transform .9s var(--spring) .8s, opacity .6s .8s; }
.ne-js .ne-stage.is-quieto > *{ transition-delay:0s !important; transition-duration:.5s !important; }

.ne-kpis{ list-style:none; margin:clamp(34px,4vw,56px) 0 0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(14px,2vw,28px); }
.ne-kpis li{ padding-top:16px; border-top:1px solid var(--ne-line2); display:flex; flex-direction:column; gap:6px; }
.ne-kpis b{ font-weight:800; font-size:clamp(2rem,1.4rem + 1.8vw,3.2rem); line-height:1; letter-spacing:-.04em; color:var(--ne-fg); font-variant-numeric:tabular-nums; }
.ne-kpis li > span{ font-size:.92rem; color:var(--ne-mut); line-height:1.4; }

.ne-marquee{ margin-top:clamp(40px,5vw,70px); border-block:1px solid var(--ne-line); overflow:hidden; padding:18px 0; }
.ne-marquee-in{ display:flex; align-items:center; gap:34px; width:max-content; animation:neCorre 48s linear infinite; }
.ne-marquee span{ font-weight:800; font-size:clamp(1.4rem,1rem + 1.4vw,2.4rem); letter-spacing:-.03em; white-space:nowrap; color:var(--ne-fg); }
.ne-marquee img{ width:44px; height:44px; flex:none; }
@keyframes neCorre{ to{ transform:translateX(-50%); } }

/* =====================================================================
   2 · DIAGNÓSTICO — componente 05 (scrollytelling)
   ===================================================================== */
.ne-scr{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(26px,4vw,64px); align-items:start; }
.ne-scr-col{ position:sticky; top:calc(var(--top) + 26px); order:2; }
.ne-scr-momentos{ order:1; min-width:0; }
.ne-scr-visor{ position:relative; margin:0; aspect-ratio:5/4; max-height:calc(100svh - var(--top) - 200px); border-radius:var(--r-lg); overflow:hidden; background:var(--ne-surf); border:1px solid var(--ne-line); container-type:size; box-shadow:0 40px 80px -46px rgba(0,0,0,.8); }
.ne-slide{ position:absolute; inset:0; display:grid; place-items:center; background:var(--bg); opacity:0; transition:opacity .7s ease; }
.ne-slide.is-on{ opacity:1; }
.ne-slide-img{ position:relative; width:min(100cqw, 100cqh * var(--r)); aspect-ratio:var(--r); }
.ne-slide-img > img{ display:block; width:100%; height:100%; object-fit:contain; }
.ne-call{ position:absolute; z-index:2; padding:9px 14px; border-radius:999px; background:var(--tinta); color:var(--crema); font-weight:750; font-size:clamp(.72rem,.6rem + .3vw,.9rem); box-shadow:0 12px 26px -12px rgba(0,0,0,.7); opacity:0; transform:translateY(8px); transition:opacity .5s .35s, transform .5s var(--ease) .35s; }
.ne-call.is-maiz{ background:var(--maiz); color:var(--tinta); }
.ne-slide.is-on .ne-call{ opacity:1; transform:none; }
.ne-mark{ position:absolute; inset:0; width:100%; height:100%; fill:none; stroke:var(--maiz); stroke-width:16; stroke-linecap:round; stroke-dasharray:1; stroke-dashoffset:1; opacity:.95; }
.ne-slide.is-on .ne-mark{ animation:neTraza 1.1s var(--ease) .25s forwards; }
@keyframes neTraza{ to{ stroke-dashoffset:0; } }
.ne-box{ position:absolute; border:3px dashed var(--maiz); border-radius:10px; box-shadow:0 0 0 999px rgba(0,0,0,.28); }
.ne-pulso{ position:absolute; border:3px solid var(--maiz); border-radius:18px; animation:nePulso 1.8s ease-out infinite; }
@keyframes nePulso{ 0%{ box-shadow:0 0 0 0 rgba(240,191,64,.65); } 100%{ box-shadow:0 0 0 22px rgba(240,191,64,0); } }
.ne-arco{ margin:16px 0 0; }
.ne-arco svg{ display:block; width:100%; height:auto; overflow:visible; }
.ne-arco-riel{ fill:none; stroke:var(--ne-line2); stroke-width:1.5; }
.ne-arco-hecho{ fill:none; stroke:var(--maiz); stroke-width:1.8; stroke-linecap:round; transition:stroke-dashoffset .55s var(--ease); }
.ne-arco-sol{ fill:var(--maiz); }
.ne-arco-halo{ fill:var(--maiz); opacity:.22; }
.ne-scr-cont{ display:flex; align-items:baseline; gap:10px; margin:14px 0 0; padding-top:14px; border-top:1px solid var(--ne-line); }
.ne-scr-cont b{ font-weight:800; font-size:1.4rem; color:var(--ne-em); font-variant-numeric:tabular-nums; }
.ne-scr-cont span{ font-weight:700; font-size:.8rem; color:var(--ne-faint); }
.ne-scr-cont em{ margin-left:auto; font-style:normal; font-weight:700; font-size:.92rem; color:var(--ne-fg); text-align:right; }
.ne-mom{ min-height:clamp(300px,52vh,470px); display:flex; flex-direction:column; justify-content:center; opacity:.26; transition:opacity .5s ease; }
.ne-mom.is-on{ opacity:1; }
.ne-mom .ne-mk::before{ content:""; width:26px; height:1.5px; background:currentColor; transform:scaleX(0); transform-origin:left; transition:transform .5s var(--ease); }
.ne-mom.is-on .ne-mk::before{ transform:scaleX(1); }
.ne-mom h3{ margin:0 0 .5em; font-size:clamp(1.7rem,1.2rem + 1.6vw,2.7rem); font-weight:800; letter-spacing:-.035em; line-height:1.05; }
.ne-mom p{ margin:0; font-size:clamp(1rem,.95rem + .25vw,1.16rem); line-height:1.62; max-width:48ch !important; }

/* =====================================================================
   3 · ESTRATEGIA — componente 07 (tarjetas apiladas)
   ===================================================================== */
.ne-obj{ display:grid; grid-template-columns:minmax(0,1fr); gap:6px; padding:clamp(22px,2.6vw,36px); border-radius:var(--r-lg); border:1px solid var(--ne-line); background:linear-gradient(135deg, var(--ne-surf), transparent); margin-bottom:clamp(40px,5vw,72px); }
.ne-obj-t{ margin:0 0 18px; font-size:clamp(1.15rem,1rem + .6vw,1.6rem); font-weight:650; line-height:1.4; letter-spacing:-.015em; color:var(--ne-fg) !important; max-width:70ch !important; }
.ne-chips{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
.ne-chips li{ padding:7px 13px; border-radius:999px; border:1px solid var(--ne-line2); font-size:.84rem; font-weight:650; color:var(--ne-mut); }

.ne-pila{ perspective:1600px; perspective-origin:50% 40%; }
.ne-carta{ position:sticky; top:calc(var(--top) + 22px + var(--i) * 16px); margin-bottom:38vh; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.62fr);
  border-radius:var(--r-lg); overflow:hidden; border:1px solid var(--ne-line2); background:var(--ne-surf);
  box-shadow:0 30px 70px -40px rgba(0,0,0,.9); transform:scale(var(--s,1)) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)); transform-origin:50% 0; transform-style:preserve-3d; transition:transform .18s linear, box-shadow .4s ease; }
.ne-carta:last-child{ margin-bottom:0; }
.ne-carta.es-frente{ box-shadow:0 40px 90px -48px rgba(0,0,0,.95), 0 0 0 1px rgba(240,191,64,.3); transition:transform .12s ease-out, box-shadow .4s ease; }
.ne-carta::after{ content:""; position:absolute; inset:0; border-radius:inherit; background:#050403; opacity:calc(var(--t,0) * .55); pointer-events:none; z-index:4; }
.ne-carta-brillo{ position:absolute; inset:0; z-index:3; pointer-events:none; opacity:0; background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%), rgba(240,191,64,.13), transparent 62%); transition:opacity .35s; }
.ne-carta.es-frente .ne-carta-brillo{ opacity:1; }
.ne-carta-cuerpo{ padding:clamp(22px,2.8vw,40px); min-width:0; }
.ne-carta-cab{ display:flex; align-items:flex-start; gap:16px; padding-bottom:18px; margin-bottom:22px; border-bottom:1px solid var(--ne-line); }
.ne-carta-n{ flex:none; padding:7px 12px; border-radius:12px; background:var(--maiz); color:var(--tinta); font-weight:900; font-size:1.05rem; letter-spacing:-.02em; }
.ne-carta-cab h3{ margin:0; font-size:clamp(1.3rem,1rem + .9vw,1.8rem); font-weight:800; letter-spacing:-.03em; line-height:1.1; }
.ne-carta-cab p{ margin:4px 0 0; font-size:.94rem; }
.ne-cita{ margin:0 0 22px; padding-left:18px; border-left:2px solid var(--maiz); }
.ne-cita p{ margin:0; font-weight:650; font-size:clamp(1.1rem,.95rem + .6vw,1.45rem); line-height:1.35; letter-spacing:-.02em; color:var(--ne-fg) !important; }
.ne-cadena{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-bottom:20px; }
.ne-cadena > div{ padding:14px 15px; border-radius:var(--r-sm); border:1px solid var(--ne-line); background:var(--ne-bg); display:flex; flex-direction:column; gap:4px; transition:border-color .25s, transform .25s; }
.ne-cadena > div:hover{ border-color:var(--ne-line2); transform:translateY(-2px); }
.ne-cadena .ne-ic{ color:var(--ne-em); margin-bottom:4px; }
.ne-cadena small{ font-weight:750; font-size:.66rem; letter-spacing:.15em; text-transform:uppercase; color:var(--ne-faint); }
.ne-cadena b{ font-weight:800; font-size:1.2rem; color:var(--ne-fg); letter-spacing:-.02em; }
.ne-cadena p{ margin:0; font-size:.86rem; line-height:1.5; }
.ne-carta-pie{ display:grid; gap:6px; padding:16px 18px; border-radius:var(--r-sm); background:var(--ne-soft); border:1px solid rgba(240,191,64,.25); }
.ne-carta-pie small{ font-weight:750; font-size:.66rem; letter-spacing:.15em; text-transform:uppercase; color:var(--ne-em); }
.ne-carta-pie p{ margin:0; line-height:1.55; color:var(--ne-fg) !important; }
.ne-carta-links{ display:flex; flex-wrap:wrap; gap:8px 22px; margin-top:6px; }
.ne-carta-vis{ position:relative; margin:0; min-height:100%; overflow:hidden; }
.ne-cv{ position:absolute; inset:0; display:grid; place-items:center; }
.ne-cv.is-t11{ background:var(--crema); }
.ne-cv.is-t11::before{ content:""; position:absolute; inset:0; background:url("../img/patron.svg?v=1") center/340px; opacity:.28; }
.ne-cv-logo{ position:relative; width:64%; filter:drop-shadow(0 22px 30px rgba(0,40,70,.3)); }
.ne-cv-dots{ position:absolute; bottom:22px; display:flex; gap:8px; }
.ne-cv-dots i{ width:22px; height:22px; border-radius:50%; background:var(--c); box-shadow:inset 0 0 0 1px rgba(0,0,0,.12); }
.ne-cv.is-t12{ background:radial-gradient(circle at 50% 40%, #0a6e99, #0b1f2a 70%); }
.ne-cv.is-t12 img{ position:absolute; width:44%; filter:drop-shadow(0 26px 30px rgba(0,0,0,.55)); }
.ne-cv.is-t12 img:first-child{ transform:translateX(-26%) rotate(-8deg); }
.ne-cv.is-t12 img:last-child{ transform:translateX(26%) translateY(6%) rotate(7deg); }
.ne-cv.is-t13{ background:var(--maiz); }
.ne-cv.is-t13 .is-s{ position:absolute; width:62%; top:10%; left:8%; filter:drop-shadow(0 20px 26px rgba(80,50,0,.35)); }
.ne-cv.is-t13 .is-t{ position:absolute; width:34%; right:9%; bottom:9%; transform:rotate(6deg); border-radius:6px; filter:drop-shadow(0 20px 26px rgba(80,50,0,.35)); }

.ne-gantt{ margin-top:clamp(48px,6vw,90px); padding:clamp(22px,2.6vw,36px); border-radius:var(--r-lg); border:1px solid var(--ne-line); background:var(--ne-surf); display:grid; grid-template-columns:minmax(170px,.3fr) repeat(var(--meses),minmax(0,1fr)); row-gap:10px; }
.ne-gantt-cab{ grid-column:1 / -1; display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:6px 20px; margin-bottom:12px; }
.ne-gantt-cab h3{ margin:0; font-size:clamp(1.4rem,1.1rem + .9vw,2rem); font-weight:800; letter-spacing:-.03em; }
.ne-gantt-meses{ grid-column:1 / -1; display:grid; grid-template-columns:subgrid; padding-bottom:8px; border-bottom:1px solid var(--ne-line); }
.ne-gantt-meses span{ font-size:.74rem; font-weight:700; color:var(--ne-faint); text-align:center; }
.ne-gantt-fila{ grid-column:1 / -1; display:grid; grid-template-columns:subgrid; align-items:center; min-height:64px; border-bottom:1px dashed var(--ne-line); }
.ne-gantt-lab{ display:flex; flex-direction:column; gap:1px; padding-right:12px; }
.ne-gantt-lab b{ font-weight:900; color:var(--ne-em); font-size:.9rem; }
.ne-gantt-lab span{ font-weight:700; font-size:.92rem; color:var(--ne-fg); line-height:1.2; }
.ne-gantt-lab small{ font-size:.8rem; color:var(--ne-faint); font-variant-numeric:tabular-nums; }
.ne-gantt-pista{ grid-column:2 / -1; position:relative; height:100%; background:repeating-linear-gradient(90deg, transparent 0 calc(100% / var(--meses) - 1px), var(--ne-line) calc(100% / var(--meses) - 1px) calc(100% / var(--meses))); }
.ne-gantt-barra{ position:absolute; top:50%; height:18px; margin-top:-9px; left:calc((var(--a) - 1) / var(--meses) * 100% + 4px); width:calc((var(--b) - var(--a) + 1) / var(--meses) * 100% - 8px); border-radius:999px; background:linear-gradient(90deg, var(--azul), var(--cielo)); transform-origin:left; }
.ne-js .ne-gantt .ne-gantt-barra{ transform:scaleX(0); transition:transform 1.1s var(--ease) var(--d,0s); }
.ne-js .ne-gantt.is-in .ne-gantt-barra{ transform:scaleX(1); }
.ne-hito{ position:absolute; top:4px; left:calc(var(--m) / var(--meses) * 100%); transform:translateX(-100%); padding:2px 8px 2px 0; font-size:.72rem; font-weight:750; color:var(--ne-em); white-space:nowrap; }
.ne-hito::after{ content:""; position:absolute; right:-5px; top:50%; width:9px; height:9px; margin-top:-4px; background:var(--maiz); transform:rotate(45deg); }
/* hito en el primer tercio del cronograma: la etiqueta va a la derecha del rombo para no salirse por la izquierda en pantallas angostas */
.ne-hito.is-ini{ transform:none; padding:2px 0 2px 12px; }
.ne-hito.is-ini::after{ right:auto; left:-5px; }
.ne-gantt-tot{ grid-column:1 / -1; display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 16px; margin:14px 0 0; }
.ne-gantt-tot span{ font-weight:700; color:var(--ne-mut); }
.ne-gantt-tot b{ font-weight:900; font-size:clamp(1.6rem,1.2rem + 1.2vw,2.4rem); letter-spacing:-.03em; color:var(--ne-fg); font-variant-numeric:tabular-nums; }
.ne-gantt-tot small{ flex-basis:100%; font-size:.84rem; color:var(--ne-faint); }
.ne-escs{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(12px,1.6vw,20px); margin-top:clamp(14px,1.8vw,22px); }
.ne-esc{ padding:18px 20px; border-radius:var(--r-md); border:1px solid var(--ne-line); background:var(--ne-surf); }
.ne-esc small{ display:flex; align-items:center; gap:8px; font-weight:800; font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ne-fg); }
.ne-esc small::before{ content:""; width:10px; height:10px; border-radius:50%; background:var(--k); }
.ne-esc.is-opt{ --k:var(--cielo); } .ne-esc.is-rea{ --k:var(--maiz); } .ne-esc.is-pes{ --k:#e07a3f; }
.ne-esc p{ margin:8px 0 0; font-size:.92rem; line-height:1.5; }

/* =====================================================================
   4 · TRANSFORMACIÓN — antes y después
   ===================================================================== */
.ne-ba{ position:relative; aspect-ratio:16/7.2; max-height:calc(100svh - var(--top) - 60px); width:100%; border-radius:var(--r-lg); overflow:hidden; border:1px solid var(--ne-line2); box-shadow:0 40px 90px -50px rgba(0,0,0,.9); user-select:none; }
.ne-ba-lado{ position:absolute; inset:0; display:grid; place-items:center; }
/* v4: los dos logos con el mismo alto y medidos contra el lado (absolutos): el % de alto dentro de una celda de grid sin alto se ignoraba y el de 2020 salía a 800 px, cortado */
.ne-ba-lado img{ position:absolute; left:50%; top:50%; height:78%; width:auto; max-width:92%; object-fit:contain; transform:translate(-50%,-50%); }
.ne-ba-lado.is-antes{ background:#0299d1; }
.ne-ba-lado.is-despues{ background:var(--crema); clip-path:inset(0 0 0 var(--p)); }
.ne-ba-lado.is-despues::before{ content:""; position:absolute; inset:0; background:url("../img/patron.svg?v=1") center/300px; opacity:.22; }
.ne-ba-lado.is-despues img{ filter:drop-shadow(0 26px 40px rgba(0,40,70,.28)); }
.ne-ba-tag{ position:absolute; bottom:16px; z-index:3; padding:8px 14px; border-radius:999px; font-weight:800; font-size:.8rem; }
.ne-ba-tag.is-l{ left:16px; background:var(--tinta); color:var(--crema); }
.ne-ba-tag.is-r{ right:16px; background:var(--maiz); color:var(--tinta); }
.ne-ba-linea{ position:absolute; top:0; bottom:0; left:var(--p); z-index:3; width:3px; margin-left:-1.5px; background:var(--crema); box-shadow:0 0 0 1px rgba(0,0,0,.12); pointer-events:none; }
.ne-ba-linea i{ position:absolute; top:50%; left:50%; width:54px; height:54px; margin:-27px 0 0 -27px; border-radius:50%; background:var(--maiz); display:grid; place-items:center; box-shadow:0 10px 30px rgba(0,0,0,.35); transition:transform .3s var(--spring); }
.ne-ba-linea svg{ width:26px; height:26px; fill:none; stroke:var(--tinta); stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
.ne-ba:hover .ne-ba-linea i{ transform:scale(1.08); }
.ne-ba-rango{ position:absolute; inset:0; z-index:4; width:100%; height:100%; margin:0; opacity:0; cursor:ew-resize; -webkit-appearance:none; appearance:none; }
.ne-ba-rango:focus-visible + *{ outline:none; }
.ne-ba:focus-within{ outline:2px solid var(--maiz); outline-offset:4px; }
.ne-adn{ list-style:none; margin:0 0 16px; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
.ne-adn li{ display:inline-flex; align-items:center; gap:8px; padding:7px 13px 7px 8px; border-radius:999px; border:1px solid var(--ne-line2); font-weight:700; font-size:.88rem; color:var(--ne-fg); }
.ne-adn i{ width:18px; height:18px; border-radius:50%; background:var(--c); box-shadow:inset 0 0 0 1px rgba(255,255,255,.25); }

/* =====================================================================
   5 · IDENTIDAD — componente 20 (galería en anillo)
   ===================================================================== */
.ne-ring-zona{ display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); align-items:center; gap:clamp(26px,3vw,48px); }
.ne-halo{ position:relative; width:100%; height:clamp(460px,50vw,660px); touch-action:pan-y; user-select:none; outline:none; cursor:grab; }
.ne-halo.es-arrastrando,.ne-halo.es-en-fila{ cursor:grabbing; }
.ne-halo:focus-visible{ outline:2px solid var(--azul-o); outline-offset:10px; border-radius:18px; }
.ne-halo:not(.es-vivo){ height:auto; display:flex; flex-wrap:wrap; gap:12px; }
.ne-halo:not(.es-vivo) .ne-halo-card{ position:relative; width:120px; height:120px; }
.ne-halo-card{ position:absolute; top:50%; margin:0; overflow:hidden; border-radius:22px; display:grid; place-items:center; box-shadow:0 26px 50px -28px rgba(40,30,10,.55); will-change:transform; }
.ne-halo-card img{ width:78%; height:78%; object-fit:contain; pointer-events:none; user-select:none; }
.ne-halo-card.is-crema{ background:var(--crema); box-shadow:0 26px 50px -28px rgba(40,30,10,.55), inset 0 0 0 1px rgba(27,26,23,.1); }
.ne-halo-card.is-blanco{ background:#fff; box-shadow:0 26px 50px -28px rgba(40,30,10,.55), inset 0 0 0 1px rgba(27,26,23,.08); }
.ne-halo-card.is-tinta{ background:var(--tinta); }
.ne-halo-card.is-maiz{ background:var(--maiz); }
.ne-halo-card.is-azul{ background:var(--azul); }
.ne-halo-card.is-cielo{ background:var(--cielo); }
.ne-halo-card.is-hoja{ background:var(--hoja); }
.ne-halo-card.is-patron img{ width:100%; height:100%; object-fit:cover; }
.ne-ring-now{ margin-top:26px; padding:20px 22px; border-radius:var(--r-md); background:var(--ne-surf); border:1px solid var(--ne-line); display:grid; gap:4px; }
.ne-ring-now small{ font-weight:750; font-size:.68rem; letter-spacing:.16em; text-transform:uppercase; color:var(--ne-faint); }
.ne-ring-now b{ font-weight:800; font-size:1.6rem; letter-spacing:-.03em; color:var(--ne-fg); }
.ne-ring-now p{ margin:0 0 8px; line-height:1.5; }
.ne-ring-now .ne-link{ justify-self:start; }
.ne-ring-now.es-nuevo > *{ animation:neEntra .42s var(--ease) both; }
@keyframes neEntra{ from{ opacity:0; transform:translateY(8px); } to{ opacity:1; transform:none; } }
.ne-ring-copy .ne-hint{ margin-top:14px; }
.ne-reglas{ list-style:none; margin:clamp(30px,4vw,56px) 0 0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(14px,2vw,26px); }
.ne-reglas li{ padding-top:14px; border-top:2px solid var(--ne-fg); display:grid; gap:4px; }
.ne-reglas b{ font-weight:800; font-size:1.05rem; }
.ne-reglas span{ color:var(--ne-mut); font-size:.94rem; line-height:1.45; }

/* =====================================================================
   6 · COLOR — componente 06 (acordeón horizontal)
   ===================================================================== */
.ne-head-dos{ display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:clamp(24px,3vw,48px); align-items:end; margin-bottom:clamp(30px,3.6vw,50px); }
.ne-head-dos .ne-head{ margin:0; }
.ne-antes-hex{ margin:0; padding:12px; border-radius:var(--r-md); background:var(--ne-surf); border:1px solid var(--ne-line); }
.ne-antes-hex img{ display:block; border-radius:10px; border:1px solid var(--ne-line); }
.ne-antes-hex figcaption{ margin-top:10px; font-size:.9rem; line-height:1.5; color:var(--ne-mut); }
.ne-antes-hex b{ color:var(--ne-fg); }
.ne-aco{ display:flex; gap:10px; height:clamp(440px,62vh,590px); }
.ne-hoja{ position:relative; flex:0 0 var(--lomo,86px); min-width:0; border-radius:var(--r-md); overflow:hidden; background:var(--c); color:var(--t); transition:flex-grow .62s var(--ease), box-shadow .4s; box-shadow:inset 0 0 0 1px rgba(27,26,23,.10); }
.ne-hoja.es-abierta{ flex-grow:1; box-shadow:0 30px 60px -36px rgba(40,30,10,.5), inset 0 0 0 1px rgba(27,26,23,.10); }
.ne-hoja-tir{ position:absolute; inset:0; z-index:5; padding:0; border:0; background:none; cursor:pointer; color:inherit; font:inherit; }
.ne-hoja.es-abierta .ne-hoja-tir{ pointer-events:none; }
.ne-hoja-tir:focus-visible{ outline:3px solid var(--tinta); outline-offset:-6px; border-radius:var(--r-md); }
.ne-hoja-n{ position:absolute; top:18px; left:0; right:0; text-align:center; font-weight:800; font-size:.8rem; opacity:.7; transition:opacity .3s; }
.ne-hoja-lomo{ position:absolute; left:32px; bottom:24px; transform-origin:left bottom; transform:rotate(-90deg); white-space:nowrap; font-weight:800; font-size:1.1rem; letter-spacing:-.01em; transition:opacity .3s; }
.ne-hoja-lomo small{ font-weight:600; opacity:.75; margin-left:8px; }
.ne-hoja.es-abierta .ne-hoja-lomo,.ne-hoja.es-abierta .ne-hoja-n{ opacity:0; }
.ne-hoja-panel{ position:absolute; inset:0; z-index:6; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.9fr); gap:20px; align-items:end; padding:clamp(20px,2.4vw,34px); opacity:0; visibility:hidden; transition:opacity .35s, visibility 0s .35s; }
.ne-hoja.es-abierta .ne-hoja-panel{ opacity:1; visibility:visible; transition:opacity .5s .2s, visibility 0s; }
.ne-hoja-txt{ align-self:end; padding:clamp(0px,1vw,14px); border-radius:16px; background:var(--tb); }
.ne-hoja-txt h3{ margin:0 0 12px; font-size:clamp(2rem,1.3rem + 2.2vw,3.6rem); font-weight:900; letter-spacing:-.045em; line-height:.95; color:var(--t) !important; }
.ne-hex{ display:inline-flex; align-items:center; gap:12px; padding:9px 10px 9px 16px; border-radius:999px; border:1.5px solid currentColor; background:transparent; color:var(--t); font:800 1.2rem var(--urb); letter-spacing:.02em; cursor:pointer; transition:transform .3s var(--spring), background-color .25s; }
.ne-hex span{ display:inline-flex; align-items:center; gap:6px; padding:5px 10px; border-radius:999px; background:var(--t); color:var(--c); font-size:.78rem; font-weight:750; }
.ne-hoja[style*="--tb:#"] .ne-hex span{ color:var(--tb); }
.ne-hex:hover{ transform:translateY(-2px); }
.ne-hex:focus-visible{ outline:3px solid var(--t); outline-offset:3px; }
.ne-hoja-txt dl{ display:flex; gap:24px; margin:16px 0 10px; }
.ne-hoja-txt dt{ font-weight:750; font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; opacity:.8; }
.ne-hoja-txt dd{ margin:2px 0 0; font-weight:700; font-variant-numeric:tabular-nums; }
.ne-hoja-txt p{ margin:0; max-width:40ch !important; font-weight:550; line-height:1.5; color:var(--t) !important; }
.ne-hoja-muestra{ align-self:center; justify-self:center; width:100%; display:grid; place-items:center; gap:14px; }
.ne-hoja-muestra img{ width:min(88%,300px); filter:drop-shadow(0 22px 34px rgba(0,0,0,.25)); }
.ne-hoja-muestra .is-bolsa{ width:min(62%,210px); transform:rotate(4deg); }
.ne-hoja-muestra .is-qr{ width:120px; border-radius:10px; }
.ne-m-precio{ display:grid; gap:2px; padding:18px 26px; border-radius:18px; background:var(--tinta); color:var(--maiz); font-weight:900; font-size:clamp(2rem,1.4rem + 1.8vw,3.4rem); letter-spacing:-.03em; box-shadow:0 24px 40px -20px rgba(0,0,0,.45); transform:rotate(-3deg); }
.ne-m-precio small{ font-weight:700; font-size:.8rem; letter-spacing:.12em; text-transform:uppercase; color:var(--crema); }
.ne-m-boton{ display:inline-flex; align-items:center; gap:10px; padding:16px 24px; border-radius:999px; background:var(--tinta); color:var(--cielo); font-weight:800; font-size:1.1rem; }
.ne-m-patron{ width:min(92%,340px); aspect-ratio:1; border-radius:24px; background-size:220px; background-color:#fffaf0; box-shadow:0 20px 40px -24px rgba(40,30,10,.5), inset 0 0 0 1px rgba(27,26,23,.08); }
.ne-m-tipo{ display:grid; color:var(--crema); font-weight:900; font-size:clamp(5rem,4rem + 4vw,9rem); line-height:.9; letter-spacing:-.05em; }
.ne-m-tipo small{ font-size:1.1rem; font-weight:500; letter-spacing:0; color:var(--maiz); }
.ne-prop{ margin-top:clamp(26px,3vw,42px); }
.ne-prop-barra{ display:flex; height:70px; border-radius:18px; overflow:hidden; box-shadow:inset 0 0 0 1px rgba(27,26,23,.1); }
.ne-prop-barra i{ flex:var(--w); background:var(--c); display:flex; align-items:flex-end; padding:10px 12px; min-width:0; }
.ne-prop-barra b{ font-weight:800; font-size:.84rem; color:var(--tinta); white-space:nowrap; overflow:hidden; }
.ne-prop-barra i:nth-child(4) b,.ne-prop-barra i:nth-child(6) b{ color:var(--crema); }
.ne-prop-barra i:nth-child(n+5) b{ display:none; }
.ne-prop .ne-nota{ margin:10px 0 0; }
.ne-pares{ list-style:none; margin:clamp(20px,2.4vw,30px) 0 12px; padding:0; display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; }
.ne-pares li{ display:flex; flex-direction:column; justify-content:space-between; gap:12px; padding:16px; border-radius:16px; background:var(--f); color:var(--t); min-height:132px; box-shadow:inset 0 0 0 1px rgba(27,26,23,.1); }
.ne-pares b{ font-weight:900; font-size:2.2rem; line-height:1; letter-spacing:-.04em; }
.ne-pares span{ font-weight:700; font-size:.84rem; line-height:1.3; }
.ne-pares small{ display:block; font-weight:600; opacity:.85; }

/* =====================================================================
   7 · TIPOGRAFÍA
   ===================================================================== */
.ne-tipo{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(20px,4vw,64px); padding:clamp(26px,4vw,64px); border-radius:36px; background:var(--azul); color:var(--tinta); overflow:hidden; position:relative; box-shadow:0 50px 100px -60px rgba(0,60,90,.8); }
.ne-tipo::before{ content:""; position:absolute; right:-10%; top:-30%; width:60%; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle, rgba(255,255,255,.22), transparent 70%); pointer-events:none; }
.ne-tipo-aa{ display:grid; align-content:center; justify-items:start; position:relative; }
.ne-tipo-aa span{ font-weight:var(--w,800); font-size:clamp(8rem,4rem + 16vw,21rem); line-height:.8; letter-spacing:-.06em; color:var(--crema); transition:font-weight .6s var(--ease); text-shadow:0 30px 60px rgba(0,40,70,.25); }
.ne-tipo-aa small{ margin-top:14px; font-weight:800; font-size:.9rem; letter-spacing:.2em; text-transform:uppercase; }
.ne-tipo-cuerpo{ position:relative; min-width:0; }
.ne-tipo .ne-eyebrow{ color:var(--tinta) !important; }
.ne-tipo .ne-eyebrow span{ background:rgba(27,26,23,.12); color:var(--tinta); }
.ne-tipo .ne-h2{ color:var(--tinta); font-size:clamp(2rem,1.1rem + 2.4vw,3.7rem); }
.ne-tipo .ne-h2 em{ color:#fff; }
.ne-pesos{ display:flex; flex-wrap:wrap; gap:8px; margin:26px 0 18px; }
.ne-pesos button{ padding:10px 16px; border-radius:999px; border:1.5px solid var(--tinta); background:transparent; color:var(--tinta); font:700 .92rem var(--urb); cursor:pointer; transition:background-color .25s, color .25s; }
.ne-pesos button[aria-pressed="true"]{ background:var(--tinta); color:var(--crema); }
.ne-pesos button:focus-visible,.ne-probar input:focus-visible{ outline:3px solid var(--crema); outline-offset:2px; }
.ne-probar{ display:grid; gap:6px; }
.ne-probar span{ font-weight:750; font-size:.72rem; letter-spacing:.15em; text-transform:uppercase; }
.ne-probar input{ width:100%; padding:12px 16px; border-radius:14px; border:1.5px solid rgba(27,26,23,.4); background:rgba(255,255,255,.2); color:var(--tinta); font:600 1.05rem var(--urb); }
.ne-probar-out{ margin:18px 0 22px; min-height:1.1em; font-weight:var(--w,800); font-size:clamp(1.8rem,1.2rem + 2vw,3.2rem); line-height:1.02; letter-spacing:-.035em; color:var(--tinta) !important; overflow-wrap:anywhere; transition:font-weight .6s var(--ease); }
.ne-jer{ list-style:none; margin:0; padding:0; display:grid; gap:12px; border-top:1.5px solid rgba(27,26,23,.3); padding-top:16px; }
.ne-jer li{ display:grid; gap:2px; }
.ne-jer .j8{ font-weight:800; font-size:2rem; letter-spacing:-.03em; line-height:1; }
.ne-jer .jf{ font-family:"Fraunces",Georgia,serif; font-weight:860; font-variation-settings:"SOFT" 0,"WONK" 0,"opsz" 144; font-size:2.5rem; letter-spacing:-.02em; line-height:1; }
.ne-jer .j6{ font-weight:600; font-size:1.35rem; }
.ne-jer .j4{ font-weight:400; font-size:1.02rem; line-height:1.5; }
.ne-jer small{ font-weight:650; font-size:.8rem; color:rgba(27,26,23,.82); }
.ne-tipo-antes{ margin:22px 0 0; display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:14px; align-items:center; padding:12px; border-radius:18px; background:rgba(255,255,255,.18); }
.ne-tipo-antes img{ display:block; border-radius:10px; }
.ne-tipo-antes figcaption{ font-weight:600; font-size:.9rem; line-height:1.45; }

/* =====================================================================
   8 · MANUAL — componente 02 (pestañas con panel e imagen) + libro 3D
   ===================================================================== */
.ne-man-cab{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:clamp(24px,4vw,72px); align-items:center; margin-bottom:clamp(30px,3.6vw,50px); }
.ne-man-cab .ne-head{ margin:0; }
.ne-libro{ display:grid; justify-items:center; gap:18px; text-decoration:none; perspective:1400px; padding:10px 30px; }
.ne-libro-3d{ position:relative; width:200px; height:272px; transform-style:preserve-3d; transform:rotateY(-32deg) rotateX(8deg); transition:transform .8s var(--spring); }
.ne-libro:hover .ne-libro-3d,.ne-libro:focus-visible .ne-libro-3d{ transform:rotateY(-10deg) rotateX(4deg) translateY(-6px); }
.ne-libro-tapa{ position:absolute; inset:0; transform:translateZ(15px); border-radius:4px 14px 14px 4px; background:linear-gradient(120deg, #0ab0e6, #029bd2 45%, #0a6e99); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; padding:20px; box-shadow:inset 6px 0 0 rgba(0,0,0,.14), 0 30px 50px -20px rgba(0,40,70,.6); overflow:hidden; }
.ne-libro-tapa::after{ content:""; position:absolute; inset:0; background:linear-gradient(105deg, transparent 40%, rgba(255,255,255,.25) 50%, transparent 60%); transform:translateX(-60%); transition:transform .9s var(--ease); }
.ne-libro:hover .ne-libro-tapa::after{ transform:translateX(60%); }
.ne-libro-tapa img{ width:66%; filter:drop-shadow(0 10px 16px rgba(0,0,0,.3)); }
.ne-libro-tapa b{ font-weight:900; font-size:1.3rem; letter-spacing:-.03em; color:var(--crema); text-align:center; line-height:1; }
.ne-libro-tapa small{ font-weight:650; font-size:.7rem; color:rgba(246,240,222,.85); }
.ne-libro-lomo{ position:absolute; top:0; left:calc(50% - 15px); width:30px; height:100%; transform:rotateY(-90deg) translateZ(100px); background:linear-gradient(90deg, #075874, #0a6e99); border-radius:3px; }
.ne-libro-hojas{ position:absolute; top:5px; left:calc(50% - 14px); width:28px; height:calc(100% - 10px); transform:rotateY(90deg) translateZ(96px); background:repeating-linear-gradient(90deg, #fffaf0 0 2px, #e4dcc6 2px 3px); }
.ne-libro-cta{ display:inline-flex; align-items:center; gap:8px; padding:11px 18px; border-radius:999px; background:var(--tinta); color:var(--crema); font-weight:800; font-size:.92rem; }
.ne-libro-cta small{ font-weight:600; opacity:.7; }
.ne-libro:focus-visible{ outline:2px solid var(--azul-o); outline-offset:4px; border-radius:18px; }
.ne-man-cab{ grid-template-areas:"cab libro" "cab web"; }
.ne-man-cab .ne-head{ grid-area:cab; } .ne-libro{ grid-area:libro; } .ne-libro-web{ grid-area:web; justify-self:center; }

.ne-pes{ border-radius:var(--r-lg); background:var(--ne-surf); border:1px solid var(--ne-line); overflow:hidden; box-shadow:0 40px 80px -60px rgba(40,30,10,.6); }
.ne-pes-tabs{ display:grid; grid-auto-flow:column; grid-auto-columns:1fr; gap:6px; padding:8px; background:var(--ne-surf2); border-bottom:1px solid var(--ne-line); overflow-x:auto; scrollbar-width:none; }
.ne-pes-tabs::-webkit-scrollbar{ display:none; }
.ne-pes-tabs button{ padding:12px 16px; white-space:nowrap; border:1px solid transparent; border-radius:12px; background:transparent; color:var(--ne-mut); font:750 .95rem var(--urb); cursor:pointer; transition:color .2s, background-color .2s, border-color .2s; }
.ne-pes-tabs button:hover{ color:var(--ne-fg); }
.ne-pes-tabs button[aria-selected="true"]{ color:var(--ne-fg); background:var(--ne-bg); border-color:var(--ne-line2); box-shadow:0 8px 20px -14px rgba(0,0,0,.4); }
.ne-pes-tabs button:focus-visible{ outline:2px solid var(--azul-o); outline-offset:-2px; }
.ne-pes-panel{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(22px,3.4vw,50px); align-items:center; padding:clamp(22px,3.4vw,44px); }
.ne-pes-panel[hidden]{ display:none; }
.ne-pes-txt h3{ margin:0 0 16px; font-size:clamp(1.6rem,1.2rem + 1.2vw,2.5rem); font-weight:800; letter-spacing:-.035em; line-height:1.05; }
.ne-pes-txt > p{ line-height:1.6; margin:0 0 14px; }
@media (prefers-reduced-motion:no-preference){
  .ne-pes-panel:not([hidden]) > *{ animation:neEntra .5s var(--ease) both; }
  .ne-pes-panel:not([hidden]) > *:nth-child(2){ animation-delay:.08s; }
}
.ne-pes-puntos{ display:flex; justify-content:center; gap:8px; padding:0 0 20px; }
.ne-pes-puntos button{ width:8px; height:8px; padding:0; border:0; border-radius:999px; background:var(--ne-line2); cursor:pointer; transition:width .3s, background-color .3s; }
.ne-pes-puntos button[aria-current="true"]{ width:26px; background:var(--ne-em); }
.ne-es{ display:grid; gap:16px; margin:0; }
.ne-es dt{ font-weight:750; font-size:.7rem; letter-spacing:.15em; text-transform:uppercase; color:var(--ne-em); }
.ne-es dd{ margin:4px 0 0; font-size:1.08rem; line-height:1.5; color:var(--ne-fg); font-weight:550; }
.ne-med{ margin:0; border-radius:var(--r-md); overflow:hidden; aspect-ratio:4/3.1; background:var(--ne-surf2); position:relative; }
.ne-med.is-esencia{ background-color:#fffaf0; background-size:240px; display:grid; place-items:center; }
.ne-med.is-esencia img{ width:56%; filter:drop-shadow(0 24px 34px rgba(0,40,70,.3)); }
.ne-med.is-logo{ display:grid; grid-template-rows:1fr auto; background:#fffaf0; padding:18px; gap:14px; }
.ne-safe{ position:relative; justify-self:center; align-self:center; height:100%; max-height:250px; aspect-ratio:1; display:grid; place-items:center; outline:2px dashed rgba(10,110,153,.55); outline-offset:0; border-radius:8px; }
.ne-safe img{ width:72%; }
.ne-safe b{ position:absolute; font-weight:900; font-size:1rem; color:var(--azul-o); opacity:.8; }
.ne-safe .e1{ top:2%; left:50%; transform:translateX(-50%); } .ne-safe .e2{ bottom:2%; left:50%; transform:translateX(-50%); }
.ne-safe .e3{ left:3%; top:50%; transform:translateY(-50%); } .ne-safe .e4{ right:3%; top:50%; transform:translateY(-50%); }
.ne-mal{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.ne-mal span{ position:relative; display:grid; place-items:center; height:76px; border-radius:12px; background:#fff; overflow:hidden; box-shadow:inset 0 0 0 1px rgba(27,26,23,.08); }
.ne-mal img{ height:56px; }
.ne-mal span::after{ content:""; position:absolute; inset:0; background:linear-gradient(to top right, transparent calc(50% - 1.5px), #d8392b calc(50% - 1.5px) calc(50% + 1.5px), transparent calc(50% + 1.5px)); }
.ne-med.is-foto img{ width:100%; height:100%; object-fit:cover; }
.ne-med.is-patron{ background-color:#fffaf0; background-size:220px; display:grid; align-content:center; justify-items:center; gap:14px; }
.ne-med.is-patron img{ width:58%; filter:drop-shadow(0 12px 18px rgba(40,30,10,.25)); }
.ne-med.is-patron img:nth-child(2){ transform:translateX(10%) rotate(-3deg); } .ne-med.is-patron img:nth-child(3){ transform:translateX(-8%) rotate(2deg); }
.ne-med.is-tono{ list-style:none; padding:14px; display:grid; gap:8px; align-content:center; aspect-ratio:auto; background:transparent; }
.ne-med.is-tono li{ display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.ne-med.is-tono p{ margin:0; padding:10px 12px; border-radius:12px; font-size:.9rem; line-height:1.35; color:var(--ne-fg) !important; background:var(--ne-bg); border:1px solid var(--ne-line); }
.ne-med.is-tono small{ display:block; font-weight:800; font-size:.62rem; letter-spacing:.14em; text-transform:uppercase; margin-bottom:3px; }
.ne-med.is-tono .si small{ color:#3f7a45; } .ne-med.is-tono .no small{ color:#b33b2e; }
.ne-med.is-tono .si{ border-left:3px solid #5a9a5f; } .ne-med.is-tono .no{ border-left:3px solid #d8392b; opacity:.8; }
.ne-med.is-pira{ list-style:none; padding:16px; display:grid; gap:8px; align-content:center; justify-items:center; aspect-ratio:auto; background:transparent; }
.ne-med.is-pira li{ width:calc(100% - var(--i) * 11%); padding:14px 18px; border-radius:14px; text-align:center; background:color-mix(in srgb, var(--azul) calc(100% - var(--i) * 22%), var(--crema)); color:var(--tinta); }
.ne-med.is-pira li:first-child{ background:var(--tinta); color:var(--crema); }
.ne-med.is-pira small{ display:block; font-weight:800; font-size:.64rem; letter-spacing:.15em; text-transform:uppercase; opacity:.8; }
.ne-med.is-pira p{ margin:3px 0 0; font-weight:700; font-size:.96rem; line-height:1.35; color:inherit !important; }

/* =====================================================================
   9 · EMPAQUES — bolsas 3D + componente 11 (mira y visor)
   ===================================================================== */
.ne-pk{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,.95fr); gap:clamp(18px,2.6vw,40px); align-items:start; }
.ne-bolsa{ margin:0; display:grid; justify-items:center; }
.ne-bolsa-esc{ position:relative; width:min(100%,290px); aspect-ratio:600/860; perspective:1500px; cursor:grab; touch-action:pan-y; container-type:inline-size; outline:none; }
.ne-bolsa-esc:focus-visible{ outline:2px solid var(--maiz); outline-offset:10px; border-radius:18px; }
.ne-bolsa-esc.es-arrastrando{ cursor:grabbing; }
.ne-bolsa-esc.es-mira{ cursor:none; }
.ne-bolsa-rot{ position:absolute; inset:0; transform-style:preserve-3d; transform:rotateX(var(--bx,0deg)) rotateY(var(--by,0deg)); transition:transform .8s var(--ease); }
.ne-bolsa-esc.es-arrastrando .ne-bolsa-rot{ transition:none; }
.ne-cara{ position:absolute; inset:0; border-radius:16px; overflow:hidden; backface-visibility:hidden; -webkit-backface-visibility:hidden; }
.ne-cara img{ display:block; width:100%; height:100%; pointer-events:none; }
.ne-cara.is-frente{ transform:translateZ(3.5cqw); }
.ne-cara.is-reverso{ transform:rotateY(180deg) translateZ(3.5cqw); }
.ne-canto{ position:absolute; top:2.5%; bottom:2.5%; left:calc(50% - 3.5cqw); width:7cqw; background:linear-gradient(90deg, var(--c2), var(--c1) 50%, var(--c2)); border-radius:6px; }
.ne-canto.is-i{ transform:rotateY(-90deg) translateZ(49.5cqw); }
.ne-canto.is-d{ transform:rotateY(90deg) translateZ(49.5cqw); }
.ne-bolsa-brillo{ position:absolute; inset:0; border-radius:16px; pointer-events:none; background:radial-gradient(60% 45% at var(--gx,30%) var(--gy,20%), rgba(255,255,255,.34), transparent 70%); mix-blend-mode:soft-light; opacity:var(--go,.9); transition:opacity .4s; }
.ne-bolsa-piso{ width:74%; height:26px; margin-top:6px; border-radius:50%; background:radial-gradient(closest-side, rgba(0,0,0,.6), transparent); transform:scaleX(var(--sx,1)); transition:transform .8s var(--ease); }
.ne-zona{ position:absolute; border:2px solid transparent; border-radius:10px; transition:border-color .25s, background-color .25s, box-shadow .25s; pointer-events:none; }
.ne-zona.is-on{ border-color:var(--maiz); background:rgba(240,191,64,.16); box-shadow:0 0 0 5px rgba(240,191,64,.2); }
.ne-reticula{ position:absolute; left:0; top:0; z-index:5; width:112px; height:112px; margin:-56px 0 0 -56px; pointer-events:none; opacity:0; transform:translate3d(var(--rx2,0), var(--ry2,0), 0); transition:opacity .3s; }
.ne-bolsa-esc.es-mira .ne-reticula{ opacity:1; }
.ne-reticula svg{ width:100%; height:100%; fill:none; stroke:var(--maiz); stroke-width:1.4; filter:drop-shadow(0 0 4px rgba(0,0,0,.6)); }
.ne-reticula .is-p{ fill:var(--maiz); stroke:none; }
.ne-ret-anillo{ transform-origin:110px 110px; animation:neGira 16s linear infinite; opacity:.7; }
.ne-bolsa figcaption{ margin-top:12px; display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:10px 14px; text-align:center; }
.ne-bolsa figcaption b{ flex-basis:100%; font-weight:800; font-size:1.2rem; letter-spacing:-.02em; color:var(--ne-fg); }
.ne-visor{ position:sticky; top:calc(var(--top) + 24px); padding:18px; border-radius:var(--r-md); background:color-mix(in srgb, var(--ne-surf) 92%, transparent); border:1px solid rgba(240,191,64,.4); box-shadow:0 30px 70px -40px rgba(0,0,0,.8); }
.ne-visor-cab{ display:flex; align-items:center; justify-content:space-between; padding-bottom:10px; margin-bottom:12px; border-bottom:1px solid var(--ne-line); font-weight:800; font-size:.7rem; letter-spacing:.16em; text-transform:uppercase; color:var(--ne-em); }
.ne-visor-cab span{ display:flex; align-items:center; gap:8px; }
.ne-visor-punto{ width:7px; height:7px; border-radius:50%; background:var(--maiz); animation:neParpadea 1.6s ease-in-out infinite; }
@keyframes neParpadea{ 50%{ opacity:.25; } }
.ne-visor-lect small{ font-weight:750; font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ne-faint); }
.ne-visor-lect b{ display:block; margin:4px 0 6px; font-weight:800; font-size:1.45rem; letter-spacing:-.03em; line-height:1.1; color:var(--ne-fg); }
.ne-visor-lect p{ margin:0; font-size:.92rem; line-height:1.5; min-height:4.5em; }
.ne-visor-lect.es-nuevo b,.ne-visor-lect.es-nuevo p:not(.ne-visor-xy){ animation:neEntra .3s var(--ease) both; }
.ne-visor-xy{ display:flex; gap:14px; margin-top:10px !important; min-height:0 !important; font-size:.76rem !important; font-variant-numeric:tabular-nums; color:var(--ne-faint) !important; }
.ne-visor-xy b{ display:inline; margin:0; font-size:inherit; color:var(--ne-em); }
.ne-niveles{ list-style:none; margin:16px 0 10px; padding:0; display:grid; gap:4px; }
.ne-niveles button{ width:100%; display:flex; align-items:center; gap:12px; padding:8px 10px; border-radius:12px; border:1px solid transparent; background:none; color:inherit; text-align:left; cursor:pointer; font:inherit; transition:background-color .2s, border-color .2s; }
.ne-niveles button:hover{ background:var(--ne-surf2); }
.ne-niveles button.is-on{ background:var(--ne-soft); border-color:rgba(240,191,64,.35); }
.ne-niveles i{ flex:none; width:30px; height:30px; border-radius:50%; display:grid; place-items:center; background:var(--maiz); color:var(--tinta); font-style:normal; font-weight:900; font-size:.9rem; }
.ne-niveles span{ display:grid; line-height:1.25; }
.ne-niveles b{ font-weight:800; color:var(--ne-fg); font-size:.95rem; }
.ne-niveles small{ font-size:.8rem; color:var(--ne-mut); }
.ne-pk-notas .ne-card h3 .ne-ic{ color:var(--ne-em); }
.ne-card-st{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:18px; align-items:center; }
.ne-card-st img{ filter:drop-shadow(0 16px 22px rgba(0,0,0,.35)); transform:rotate(-4deg); }
.ne-costo{ display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 14px; margin:clamp(18px,2vw,26px) 0 0; font-size:.94rem; }
.ne-costo .ne-ic{ color:var(--ne-em); align-self:center; }
.ne-costo b{ font-weight:900; font-size:1.5rem; letter-spacing:-.03em; color:var(--ne-fg); font-variant-numeric:tabular-nums; }

/* =====================================================================
   10 · CRECER — componente 04 (carrusel cilindro)
   ===================================================================== */
.ne-cil-zona{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(24px,4vw,64px); align-items:center; }
.ne-cil{ position:relative; width:100%; height:clamp(380px,40vw,520px); perspective:1400px; cursor:grab; touch-action:pan-y; outline:none; }
.ne-cil.es-arrastrando{ cursor:grabbing; }
.ne-cil:focus-visible{ outline:2px solid var(--maiz); outline-offset:8px; border-radius:18px; }
.ne-cil-aro{ position:absolute; inset:0; transform-style:preserve-3d; transform:rotateX(-8deg) rotateY(var(--giro,0deg)); will-change:transform; }
.ne-cil-cara{ position:absolute; left:50%; top:50%; width:var(--cw); height:var(--ch); margin:calc(var(--ch) / -2) 0 0 calc(var(--cw) / -2); transform:rotateY(var(--a)) translateZ(var(--r)); border-radius:14px; overflow:hidden; opacity:.32; filter:saturate(.35) brightness(.55); transition:opacity .5s, filter .5s, box-shadow .5s; }
.ne-cil-cara img{ display:block; width:100%; height:100%; pointer-events:none; }
.ne-cil-cara span{ display:none; }
.ne-cil-cara.es-activa{ opacity:1; filter:none; box-shadow:0 0 0 2px var(--maiz), 0 30px 60px -30px rgba(0,0,0,.9); }
.ne-cil-col .ne-hint{ justify-content:center; margin-top:10px; }
.ne-cil-info .ne-head{ margin-bottom:24px; }
.ne-cil-ficha{ padding:18px 20px; border-radius:var(--r-md); background:var(--ne-surf); border:1px solid var(--ne-line); }
.ne-cil-n{ margin:0 0 6px; display:flex; align-items:baseline; gap:6px; }
.ne-cil-n b{ font-weight:900; font-size:2.4rem; letter-spacing:-.05em; line-height:1; color:var(--ne-em); font-variant-numeric:tabular-nums; }
.ne-cil-n small{ font-weight:700; color:var(--ne-faint); }
.ne-cil-ficha h3{ margin:0 0 6px; font-size:1.6rem; font-weight:800; letter-spacing:-.03em; }
.ne-cil-ficha p:last-child{ margin:0; line-height:1.5; }
.ne-cil-bts{ display:flex; flex-wrap:wrap; gap:7px; margin:16px 0; }
.ne-cil-bts button{ min-width:42px; padding:8px 11px; border-radius:10px; border:1px solid var(--ne-line2); background:transparent; color:var(--ne-mut); font:800 .84rem var(--urb); cursor:pointer; font-variant-numeric:tabular-nums; transition:color .2s, border-color .2s, background-color .2s; }
.ne-cil-bts button:hover{ color:var(--ne-fg); }
.ne-cil-bts button.es-activo{ color:var(--ne-em); border-color:var(--maiz); background:var(--ne-soft); }
.ne-cil-bts button:focus-visible{ outline:2px solid var(--maiz); outline-offset:2px; }

/* =====================================================================
   11 · ANAQUEL — tienda + componente 10 (tarjetas que se alargan)
   ===================================================================== */
.ne-tienda-ctl,.ne-tienda,.ne-tienda + .ne-nota{ max-width:min(100%, calc((100svh - var(--top) - 150px) * 1.5)); margin-inline:auto; }
.ne-tienda-ctl{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px 24px; margin-bottom:16px; }
.ne-dist{ display:flex; align-items:center; gap:14px; font-weight:700; font-size:.92rem; color:var(--ne-mut); }
.ne-dist span{ display:flex; align-items:center; gap:8px; white-space:nowrap; }
.ne-dist b{ color:var(--ne-fg); font-variant-numeric:tabular-nums; min-width:3.6em; }
.ne-dist input{ width:min(260px,44vw); accent-color:var(--maiz); }
.ne-tienda{ position:relative; border-radius:var(--r-lg); overflow:hidden; background:#0c0b09; border:1px solid var(--ne-line2); box-shadow:0 40px 90px -50px rgba(0,0,0,.9); }
.ne-tienda-lienzo{ position:relative; aspect-ratio:1536/1024; filter:blur(var(--blur,0px)); transform:scale(var(--esc,1)); transition:filter .35s ease, transform .35s ease; }
.ne-tienda-lienzo > img{ position:absolute; display:block; }
.ne-tienda-fondo{ inset:0; width:100%; height:100%; object-fit:cover; }
.ne-t-vieja{ left:25.6%; top:31%; width:8.4%; }
.ne-t-bolsa{ width:7.2%; top:30.4%; filter:drop-shadow(2px 8px 6px rgba(0,0,0,.5)); }
.ne-t-bolsa.is-q{ left:26.3%; } .ne-t-bolsa.is-c{ left:37.3%; }
.ne-t-cenefa{ left:24.4%; top:45.9%; width:21.9%; filter:drop-shadow(0 4px 6px rgba(0,0,0,.4)); }
.ne-t-tarjeta{ left:40.4%; top:49.6%; width:4.8%; border-radius:3px; filter:drop-shadow(0 6px 8px rgba(0,0,0,.45)); transform:rotate(1.5deg); }
.ne-t-sticker{ left:77.6%; top:26.5%; width:12.4%; filter:drop-shadow(0 6px 10px rgba(0,0,0,.35)); }
.ne-tienda-lienzo > img:not(.ne-tienda-fondo){ opacity:0; transform:translateY(-6%); transition:opacity .5s, transform .6s var(--ease); }
.ne-tienda[data-v="hoy"] .ne-t-vieja,
.ne-tienda[data-v="bolsa"] .ne-t-bolsa,
.ne-tienda[data-v="kit"] .ne-t-bolsa,.ne-tienda[data-v="kit"] .ne-t-cenefa,.ne-tienda[data-v="kit"] .ne-t-tarjeta,.ne-tienda[data-v="kit"] .ne-t-sticker{ opacity:1; transform:none; }
.ne-tienda[data-v="kit"] .ne-t-tarjeta{ transform:rotate(1.5deg); }
.ne-tienda-leyenda{ position:absolute; left:16px; bottom:16px; z-index:2; margin:0; max-width:calc(100% - 32px); padding:10px 16px; border-radius:14px; background:rgba(19,18,14,.82); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); color:var(--crema) !important; font-weight:650; font-size:.9rem; }
.ne-tienda + .ne-nota{ margin:12px 0 0; }
.ne-kit-zona{ display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr); gap:clamp(24px,3.4vw,56px); align-items:center; margin-top:clamp(40px,5vw,72px); }
.ne-kit-lista{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(12px,1.4vw,20px); align-items:end; }
.ne-kit{ position:relative; display:flex; flex-direction:column; justify-content:flex-end; min-height:clamp(250px,20vw,320px); border-radius:var(--r-md); overflow:hidden; border:1px solid var(--ne-line2); text-decoration:none; color:var(--crema); transition:transform .5s var(--ease), border-color .5s, box-shadow .5s, min-height .5s var(--ease); }
.ne-kit-img{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; padding:10% 12% 46%; transition:filter .5s; filter:saturate(.6) brightness(.72); }
.ne-kit-img img{ max-height:100%; max-width:100%; width:auto; height:auto; object-fit:contain; filter:drop-shadow(0 16px 20px rgba(0,0,0,.35)); transition:transform .8s var(--ease); }
.ne-kit-img.is-maiz{ background:var(--maiz); } .ne-kit-img.is-azul{ background:var(--azul-o); } .ne-kit-img.is-tinta{ background:#2a2720; }
.ne-kit::before{ content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(to top, rgba(12,11,9,.96), rgba(12,11,9,.5) 42%, transparent 70%); }
.ne-kit-txt{ position:relative; z-index:2; display:flex; flex-direction:column; gap:5px; padding:18px; }
.ne-kit-rot{ font-weight:750; font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; color:var(--maiz); }
.ne-kit-n{ font-weight:800; font-size:clamp(1.2rem,1rem + .6vw,1.5rem); line-height:1.1; letter-spacing:-.02em; color:#fff; }
.ne-kit-desp{ display:grid; grid-template-rows:0fr; overflow:hidden; transition:grid-template-rows .5s var(--ease); }
.ne-kit-desp > span{ min-height:0; }
.ne-kit-g,.ne-kit-d{ display:block; opacity:0; transition:opacity .4s .08s; }
.ne-kit-g{ padding-top:6px; font-size:.9rem; line-height:1.4; color:var(--crema); }
.ne-kit-d{ padding-top:6px; font-size:.78rem; color:var(--maiz); }
.ne-kit-ir{ position:absolute; z-index:2; top:14px; right:14px; width:34px; height:34px; display:grid; place-items:center; border-radius:50%; border:1px solid rgba(246,240,222,.4); color:#fff; opacity:0; transform:translateY(-4px); transition:opacity .4s, transform .4s var(--ease); }
.ne-kit:hover,.ne-kit:focus-visible{ min-height:clamp(320px,26vw,400px); }
.ne-kit:hover .ne-kit-desp,.ne-kit:focus-visible .ne-kit-desp{ grid-template-rows:1fr; }
.ne-kit:hover .ne-kit-g,.ne-kit:hover .ne-kit-d,.ne-kit:focus-visible .ne-kit-g,.ne-kit:focus-visible .ne-kit-d{ opacity:1; }
.ne-kit:hover,.ne-kit.es-activa{ transform:translateY(-8px); border-color:var(--maiz); box-shadow:0 30px 66px -32px rgba(0,0,0,.92); }
.ne-kit:hover .ne-kit-img,.ne-kit.es-activa .ne-kit-img{ filter:none; }
.ne-kit:hover .ne-kit-img img{ transform:scale(1.05) rotate(-2deg); }
.ne-kit:hover .ne-kit-ir,.ne-kit.es-activa .ne-kit-ir{ opacity:1; transform:none; }
.ne-kit:focus-visible{ outline:2px solid var(--maiz); outline-offset:4px; }
.ne-kit-panel{ padding:clamp(20px,2.2vw,30px); border-radius:var(--r-md); background:var(--ne-surf); border:1px solid var(--ne-line); }
.ne-kit-panel h3{ margin:0 0 8px; font-size:clamp(1.6rem,1.2rem + 1vw,2.2rem); font-weight:800; letter-spacing:-.03em; }
.ne-kit-pg{ margin:0 0 8px; font-weight:700; font-size:1.1rem; color:var(--ne-em) !important; }
.ne-kit-panel > p{ line-height:1.6; margin:0 0 14px; }
.ne-kit-panel.es-nuevo > *{ animation:neEntra .42s var(--ease) both; }
.ne-kit-dat{ margin:0; display:grid; gap:10px; padding-top:14px; border-top:1px solid var(--ne-line); }
.ne-kit-dat dt{ font-weight:750; font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ne-faint); }
.ne-kit-dat dd{ margin:2px 0 0; font-size:.9rem; line-height:1.45; color:var(--ne-mut); }

/* =====================================================================
   12 · DIGITAL — componente 02 con maquetas
   ===================================================================== */
.ne-pes.is-dig .ne-pes-panel{ grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr); }
.ne-dig-media{ display:grid; place-items:center; min-height:clamp(380px,36vw,560px); padding:clamp(14px,2vw,26px); border-radius:var(--r-md); background:radial-gradient(circle at 50% 30%, rgba(2,155,210,.18), transparent 60%), var(--ne-surf2); }
.ne-phone{ width:min(100%,258px); aspect-ratio:9/18.6; padding:11px; border-radius:44px; background:#121212; box-shadow:0 40px 70px -30px rgba(0,0,0,.55), inset 0 0 0 2px #2a2a2a; }
.ne-phone-in{ height:100%; border-radius:34px; overflow:hidden; background:#fff; color:#111; font-family:"Inter",system-ui,sans-serif; display:flex; flex-direction:column; }
.ne-ig-bar{ display:flex; justify-content:space-between; padding:18px 16px 8px; font-size:.86rem; }
.ne-ig-id{ display:flex; align-items:center; gap:14px; padding:4px 16px 8px; }
.ne-ig-id img{ width:54px; height:54px; border-radius:50%; box-shadow:0 0 0 2px #fff, 0 0 0 4px #f0bf40; }
.ne-ig-id div{ display:flex; gap:9px; font-size:.56rem; text-align:center; }
.ne-ig-id span{ display:grid; }
.ne-ig-id b{ font-size:.92rem; }
.ne-ig-bio{ margin:0 !important; padding:0 16px; font-size:.7rem; line-height:1.35; color:#222 !important; }
.ne-ig-bio b{ display:block; font-size:.78rem; }
.ne-ig-bio span{ color:#0a6e99; font-weight:600; }
.ne-ig-bts{ display:grid; grid-template-columns:1fr 1fr; gap:6px; padding:10px 16px; }
.ne-ig-bts span{ padding:7px; border-radius:8px; background:#efefef; text-align:center; font-size:.7rem; font-weight:600; }
.ne-ig-bts span:first-child{ background:#029bd2; color:#fff; }
.ne-ig-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:2px; margin-top:auto; }
.ne-ig-post{ position:relative; margin:0; aspect-ratio:1; overflow:hidden; display:grid; place-items:center; }
.ne-ig-post img{ width:100%; height:100%; object-fit:cover; }
.ne-ig-post.is-azul{ background:var(--azul); } .ne-ig-post.is-azul img{ width:54%; height:54%; object-fit:contain; margin-top:-34%; }
.ne-ig-post.is-foto2 img{ object-position:20% 50%; }
.ne-ig-post.is-patron{ background:#fffaf0; } .ne-ig-post.is-patron img{ object-fit:cover; opacity:.8; }
.ne-ig-post.is-maiz{ background:var(--maiz); } .ne-ig-post.is-maiz img{ width:54%; height:54%; object-fit:contain; margin-top:-34%; }
.ne-ig-post.is-crema{ background:var(--crema); } .ne-ig-post.is-crema img{ width:44%; height:44%; object-fit:contain; margin-top:-34%; }
.ne-ig-dest{ display:flex; gap:12px; padding:4px 16px 8px; }
.ne-ig-dest span{ display:grid; justify-items:center; gap:3px; font-size:.54rem; color:#333; }
.ne-ig-dest i{ width:38px; height:38px; border-radius:50%; background:var(--c); box-shadow:0 0 0 2px #fff, 0 0 0 3px #d9d4c7; }
.ne-ig-post figcaption{ position:absolute; left:0; right:0; bottom:0; padding:5px 6px; background:linear-gradient(to top, rgba(0,0,0,.72), transparent); color:#fff; line-height:1.1; }
.ne-ig-post.is-crema figcaption,.ne-ig-post.is-maiz figcaption,.ne-ig-post.is-patron figcaption{ background:none; color:var(--tinta); }
.ne-ig-post small{ display:block; font-size:.42rem; letter-spacing:.1em; text-transform:uppercase; opacity:.85; }
.ne-ig-post b{ font-family:var(--urb); font-weight:800; font-size:.62rem; }
.ne-wa-bar{ display:flex; align-items:center; gap:10px; padding:26px 14px 12px; background:#0b5e53; color:#fff; }
.ne-wa-bar img{ width:38px; height:38px; border-radius:50%; }
.ne-wa-bar div{ display:grid; line-height:1.2; } .ne-wa-bar b{ font-size:.86rem; } .ne-wa-bar small{ font-size:.66rem; opacity:.8; }
.ne-wa-chat{ flex:1; display:flex; flex-direction:column; gap:8px; padding:14px 12px; background:#ece5dd; overflow:hidden; }
.ne-wa-chat p{ margin:0; max-width:84%; padding:8px 10px 14px; border-radius:10px; font-size:.72rem; line-height:1.35; position:relative; color:#111 !important; }
.ne-wa-chat small{ position:absolute; right:8px; bottom:3px; font-size:.54rem; color:#667; }
.ne-wa-chat .in{ background:#fff; align-self:flex-start; border-top-left-radius:2px; }
.ne-wa-chat .out{ background:#d9fdd3; align-self:flex-end; border-top-right-radius:2px; }
.ne-wa-cat{ display:grid; grid-template-columns:1fr 1fr; gap:6px; }
.ne-wa-cat span{ display:grid; gap:2px; padding:6px; border-radius:10px; background:#fff; font-size:.62rem; text-align:center; }
.ne-wa-cat img{ width:56%; justify-self:center; }
.ne-wa-cat small{ position:static; color:#0a6e99; font-weight:700; }
.ne-wa-in{ display:flex; align-items:center; gap:8px; padding:10px 12px 18px; background:#ece5dd; }
.ne-wa-in span{ flex:1; padding:8px 12px; border-radius:999px; background:#fff; font-size:.7rem; color:#888; }
.ne-wa-in i{ width:30px; height:30px; border-radius:50%; background:#0b5e53; }
.ne-browser{ width:100%; border-radius:16px; overflow:hidden; background:#fff; box-shadow:0 40px 70px -30px rgba(0,0,0,.5); color:#111; font-family:"Inter",system-ui,sans-serif; }
.ne-browser-bar{ display:flex; align-items:center; gap:6px; padding:10px 12px; background:#eceae4; }
.ne-browser-bar i{ width:10px; height:10px; border-radius:50%; background:#d7d2c4; }
.ne-browser-bar span{ margin-left:10px; flex:1; padding:5px 12px; border-radius:999px; background:#fff; font-size:.72rem; color:#666; }
.ne-fb-portada{ display:grid; grid-template-columns:1fr 1fr; aspect-ratio:2.63; background:var(--azul); }
.ne-fb-portada > div{ display:grid; align-content:center; padding:0 7%; color:var(--tinta); font-family:var(--urb); }
.ne-fb-portada b{ font-weight:900; font-size:clamp(1rem,.6rem + 1.4vw,1.9rem); line-height:1; letter-spacing:-.03em; }
.ne-fb-portada span{ margin-top:6px; font-weight:600; font-size:.78rem; }
.ne-fb-portada img{ width:100%; height:100%; object-fit:cover; }
.ne-fb-id{ display:flex; align-items:flex-end; gap:12px; padding:0 18px 12px; margin-top:-34px; position:relative; }
.ne-fb-id img{ width:92px; height:92px; border-radius:50%; box-shadow:0 0 0 4px #fff; }
.ne-fb-id div{ display:grid; flex:1; line-height:1.3; padding-bottom:6px; } .ne-fb-id b{ font-size:1.05rem; } .ne-fb-id span{ font-size:.72rem; color:#666; }
.ne-fb-id em{ font-style:normal; padding:8px 14px; border-radius:8px; background:#029bd2; color:#fff; font-size:.74rem; font-weight:700; margin-bottom:6px; }
.ne-fb-tabs{ display:flex; gap:18px; padding:10px 18px; border-top:1px solid #eee; font-size:.74rem; color:#555; }
.ne-fb-tabs .is-on{ color:#0a6e99; font-weight:700; box-shadow:0 2px 0 #0a6e99; }
.ne-web{ background:var(--crema); font-family:var(--urb); }
.ne-web-top{ display:flex; align-items:center; justify-content:space-between; gap:14px; padding:14px 20px; }
.ne-web-top img{ height:34px; width:auto; }
.ne-web-top nav{ display:flex; align-items:center; gap:14px; font-size:.74rem; font-weight:700; color:var(--tinta); }
.ne-web-top .is-cta{ padding:7px 14px; border-radius:999px; background:var(--maiz); }
.ne-web-hero{ display:grid; grid-template-columns:1fr 1fr; gap:16px; align-items:center; padding:12px 20px 18px; }
.ne-web-hero b{ display:block; font-weight:900; font-size:clamp(1.3rem,.9rem + 1.4vw,2.2rem); line-height:.98; letter-spacing:-.04em; color:var(--tinta); }
.ne-web-hero p{ margin:10px 0 12px; font-size:.8rem; color:#4a463d !important; }
.ne-web-hero span{ display:inline-block; padding:8px 14px; border-radius:999px; background:var(--tinta); color:var(--crema); font-size:.74rem; font-weight:800; }
.ne-web-hero img{ width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:60px 10px 10px 10px; }
.ne-web-prods{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; padding:0 20px 20px; }
.ne-web-prods span{ display:grid; gap:4px; place-items:center; padding:10px; border-radius:14px; background:#fffaf0; font-size:.72rem; color:var(--tinta); text-align:center; }
.ne-web-prods img{ height:84px; width:auto; }
.ne-web-prods .is-txt{ align-content:center; background:var(--azul); line-height:1.35; }
.ne-web-prods .is-txt b{ font-size:.9rem; }

/* =====================================================================
   13 · VALIDACIÓN
   ===================================================================== */
.ne-r13{ display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(24px,4vw,64px); padding:clamp(28px,4.4vw,70px); border-radius:36px; background:var(--azul-o); color:var(--crema); overflow:hidden; position:relative; scroll-margin-top:calc(var(--top) + 16px); box-shadow:0 50px 100px -60px rgba(0,50,80,.9); }
.ne-r13::before{ content:""; position:absolute; inset:0; background:url("../img/patron.svg?v=1") center/360px; opacity:.07; pointer-events:none; }
.ne-r13-marca{ position:relative; display:grid; align-content:center; gap:22px; }
.ne-r13-marca img{ width:min(78%,300px); filter:drop-shadow(0 30px 40px rgba(0,0,0,.35)); }
.ne-r13-marca p{ margin:0; display:grid; font-weight:900; font-size:clamp(2.2rem,1.4rem + 3vw,4.4rem); line-height:.95; letter-spacing:-.05em; color:var(--crema) !important; }
.ne-r13-marca span:nth-child(2){ color:var(--maiz); }
.ne-r13-txt{ position:relative; }
.ne-r13 .ne-eyebrow{ color:var(--crema) !important; }
.ne-r13 .ne-eyebrow span{ background:rgba(246,240,222,.16); color:var(--crema); }
.ne-r13 .ne-h2{ color:var(--crema); }
.ne-r13 .ne-h2 em{ color:var(--maiz); }
.ne-r13-txt > p{ margin:18px 0 0; line-height:1.6; color:var(--crema) !important; max-width:58ch !important; }
.ne-nums{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:26px 0; }
.ne-nums div{ padding-top:12px; border-top:1.5px solid rgba(246,240,222,.35); }
.ne-nums b{ display:block; font-weight:900; font-size:clamp(2.4rem,1.8rem + 2vw,3.6rem); line-height:1; letter-spacing:-.05em; color:var(--maiz); font-variant-numeric:tabular-nums; }
.ne-nums span{ font-weight:650; font-size:.9rem; line-height:1.35; }
.ne-pasos{ list-style:none; margin:0 0 16px; padding:0; display:grid; gap:12px; }
.ne-pasos li{ display:grid; grid-template-columns:36px 1fr; gap:14px; align-items:start; }
.ne-pasos b{ width:36px; height:36px; border-radius:50%; display:grid; place-items:center; background:var(--crema); color:var(--azul-o); font-weight:900; }
.ne-pasos p{ margin:6px 0 0; line-height:1.5; color:var(--crema) !important; }
.ne-r13 .ne-nota{ color:rgba(246,240,222,.85) !important; margin:0; }
.ne-riesgo,.ne-ind{ display:flex; flex-direction:column; gap:10px; padding:clamp(20px,2.2vw,28px); border-radius:var(--r-md); background:var(--ne-surf); border:1px solid var(--ne-line); }
.ne-riesgo-id{ display:flex; align-items:center; gap:10px; margin:0; font-size:.78rem; font-weight:700; color:var(--ne-faint) !important; }
.ne-riesgo-id b{ padding:4px 10px; border-radius:8px; background:var(--tinta); color:var(--crema); font-weight:900; }
.ne-riesgo h4,.ne-ind h4{ margin:0; font-size:1.12rem; font-weight:800; line-height:1.3; letter-spacing:-.015em; }
.ne-grados{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:0; }
.ne-grados .ne-ic{ color:var(--ne-faint); }
.ne-grados small{ margin-left:auto; font-weight:750; font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:var(--ne-faint); }
.ne-g{ padding:5px 11px; border-radius:999px; font-weight:800; font-size:.8rem; color:var(--tinta); }
.ne-g.is-tol{ background:#a8dcb8; } .ne-g.is-baj{ background:#cfe6a0; } .ne-g.is-mod{ background:var(--maiz); } .ne-g.is-alt{ background:#f2a26b; } .ne-g.is-int{ background:#ec8a80; }
.ne-riesgo-dis{ margin:auto 0 0 !important; padding-top:12px; border-top:1px solid var(--ne-line); display:grid; gap:4px; }
.ne-riesgo-dis small{ font-weight:750; font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ne-faint); }
.ne-riesgo-dis a{ font-weight:700; line-height:1.4; text-decoration:none; color:var(--ne-link); }
.ne-riesgo-dis a:hover{ text-decoration:underline; }
.ne-ind-meta{ margin:0; font-weight:800; font-size:1.05rem; color:var(--ne-fg) !important; }
.ne-ind-meta small{ display:block; font-weight:750; font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ne-faint); }
.ne-bandas{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px; }
.ne-bandas span{ padding:8px 10px; font-weight:750; font-size:.8rem; color:var(--tinta); line-height:1.25; }
.ne-bandas small{ display:block; font-weight:700; font-size:.6rem; letter-spacing:.1em; text-transform:uppercase; opacity:.8; }
.ne-bandas .is-crit{ background:#f3b5ae; border-radius:10px 0 0 10px; } .ne-bandas .is-norm{ background:#f6d98a; } .ne-bandas .is-sat{ background:#b7e0c1; border-radius:0 10px 10px 0; }
.ne-ind-f{ margin:0; font-size:.88rem; line-height:1.5; }
.ne-ind-fr{ margin:auto 0 0 !important; padding-top:10px; border-top:1px solid var(--ne-line); font-size:.8rem; color:var(--ne-faint) !important; }

/* =====================================================================
   14 · CIERRE — componente 03 (esfera)
   ===================================================================== */
.ne-cierre{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(24px,4vw,64px); align-items:center; }
.ne-esf{ position:relative; width:100%; max-width:560px; aspect-ratio:1; margin-inline:auto; perspective:1200px; cursor:grab; touch-action:pan-y; outline:none;
  -webkit-mask-image:radial-gradient(circle at 50% 50%, #000 54%, transparent 79%); mask-image:radial-gradient(circle at 50% 50%, #000 54%, transparent 79%); }
.ne-esf.es-arrastrando{ cursor:grabbing; }
.ne-esf:focus-visible{ outline:2px solid var(--azul-o); outline-offset:8px; border-radius:18px; }
.ne-esf-inclina{ position:absolute; inset:0; transform-style:preserve-3d; transform:rotateX(var(--ty,0deg)) rotateY(var(--tx,0deg)); }
.ne-esf-cascara{ position:absolute; inset:0; transform-style:preserve-3d; transform:rotateY(var(--spin,0deg)); }
.ne-esf-pieza{ position:absolute; top:50%; left:50%; width:var(--w,80px); margin:calc(var(--w,80px) * -.5) 0 0 calc(var(--w,80px) * -.5); transform-style:preserve-3d; transform:rotateY(var(--a)) rotateX(var(--b)) translateZ(var(--r)); }
.ne-esf-pieza img{ display:block; width:100%; height:auto; border-radius:12px; background:#fffaf0; box-shadow:0 16px 34px -20px rgba(40,30,10,.8); transform:rotateY(calc(var(--spin,0deg) * -1)) rotateY(calc(var(--a) * -1)); }
.ne-esf-nucleo{ position:absolute; left:50%; top:50%; width:140px; height:140px; margin:-70px 0 0 -70px; border-radius:50%; background:radial-gradient(circle, rgba(2,155,210,.35), transparent 70%); pointer-events:none; }
.ne-cierre-txt .ne-head{ margin-bottom:26px; }
.ne-estado{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.ne-estado .ne-card h3{ font-size:1.2rem; }
.ne-estado .is-ok h3 .ne-ic{ color:#3f7a45; }
.ne-estado .is-pend h3 .ne-ic{ color:#b37a00; }
.ne-estado .is-ok .ne-lista li::before{ background:#5a9a5f; }
.ne-estado .ne-lista li{ font-size:.94rem; }
.ne-conecta{ margin-top:clamp(64px,8vw,110px); padding-top:clamp(34px,4vw,54px); border-top:1px solid var(--ne-line); }
.ne-conecta .ne-sub{ margin:0 0 24px; }
.ne-cons{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.ne-main .ne-con{ display:grid; gap:4px; padding:18px; border-radius:var(--r-md); background:var(--ne-surf); border:1px solid var(--ne-line); text-decoration:none; color:var(--ne-fg); transition:transform .4s var(--spring), border-color .3s, box-shadow .3s; }
.ne-con:hover{ transform:translateY(-4px); border-color:var(--azul-o); box-shadow:0 22px 40px -26px rgba(40,30,10,.5); }
.ne-con i{ justify-self:start; font-style:normal; padding:3px 9px; border-radius:8px; background:var(--azul-o); color:var(--crema); font-weight:900; font-size:.8rem; }
.ne-con b{ font-weight:800; font-size:1.1rem; letter-spacing:-.02em; }
.ne-con span{ font-size:.88rem; color:var(--ne-mut); }
.ne-pn{ display:grid; grid-template-columns:1fr auto 1fr; gap:12px; margin-top:22px; }
.ne-main .ne-pn a{ display:flex; align-items:center; gap:12px; padding:16px 18px; border-radius:var(--r-md); border:1px solid var(--ne-line2); text-decoration:none; color:var(--ne-fg); font-weight:800; transition:border-color .25s, background-color .25s; }
.ne-pn a:hover{ border-color:var(--azul-o); background:var(--ne-surf); }
.ne-pn a:last-child{ justify-content:flex-end; text-align:right; }
.ne-pn a.is-c{ justify-content:center; }
.ne-pn span{ display:grid; line-height:1.2; }
.ne-pn small{ font-weight:700; font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; color:var(--ne-faint); }

/* aviso de copiado */
.ne-toast{ position:fixed; left:50%; bottom:28px; z-index:70; transform:translate(-50%,20px); padding:12px 20px; border-radius:999px; background:var(--tinta); color:var(--crema); font:700 .92rem var(--urb); box-shadow:0 20px 40px -16px rgba(0,0,0,.6); opacity:0; pointer-events:none; transition:opacity .3s, transform .4s var(--spring); }
.ne-toast.is-on{ opacity:1; transform:translate(-50%,0); }

/* =====================================================================
   ANCHOS
   ===================================================================== */
@media (max-width:1180px){
  .ne-pk{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ne-visor{ grid-column:1 / -1; position:static; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:0 24px; }
  .ne-visor-cab{ grid-column:1 / -1; }
  .ne-visor .ne-nota{ grid-column:1 / -1; }
  .ne-niveles{ margin-top:0; }
  .ne-pares{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .ne-bar-home span{ display:none; }
}
@media (max-width:1024px){
  .ne-wrap > .ne-head{ grid-template-columns:1fr; }
  .ne-wrap > .ne-head .ne-sub{ margin-top:18px; }
  .ne-hero-in{ grid-template-columns:1fr; }
  .ne-stage{ width:min(100%,520px); order:-1; }
  .ne-carta{ grid-template-columns:1fr; }
  .ne-carta-vis{ min-height:220px; order:-1; }
  .ne-ring-zona,.ne-cil-zona,.ne-cierre,.ne-head-dos,.ne-kit-zona{ grid-template-columns:1fr; }
  .ne-ring-copy{ order:-1; }
  .ne-halo{ height:clamp(360px,62vw,520px); }
  .ne-reglas{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ne-tipo{ grid-template-columns:1fr; }
  .ne-tipo-aa{ justify-items:center; }
  .ne-man-cab{ grid-template-columns:1fr; grid-template-areas:"cab" "libro" "web"; }
  .ne-libro-web{ justify-self:start; }
  .ne-libro{ justify-self:start; }
  .ne-pes-panel,.ne-pes.is-dig .ne-pes-panel{ grid-template-columns:1fr; }
  .ne-r13{ grid-template-columns:1fr; }
  .ne-tres{ grid-template-columns:1fr; }
  .ne-cons{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ne-gantt{ grid-template-columns:minmax(120px,.34fr) repeat(var(--meses),minmax(0,1fr)); }
}
@media (max-width:900px){
  .ne-scr{ grid-template-columns:1fr; gap:0; }
  .ne-scr-col{ order:0; top:calc(var(--top) + 4px); z-index:3; padding:10px 0 12px; background:var(--ne-bg); display:grid; grid-template-columns:132px minmax(0,1fr); grid-template-areas:"foto arco" "foto cont"; gap:4px 16px; align-items:end; border-bottom:1px solid var(--ne-line); margin-bottom:6px; }
  .ne-scr-visor{ grid-area:foto; border-radius:14px; }
  .ne-call,.ne-box{ display:none; }
  .ne-arco{ grid-area:arco; margin:0; align-self:center; }
  .ne-scr-cont{ grid-area:cont; margin:0; padding-top:10px; }
  .ne-mom{ min-height:0; padding:28px 0; opacity:1; }
  .ne-aco{ display:grid; grid-template-columns:1fr; height:auto; gap:12px; }
  .ne-hoja{ flex:none; min-height:0; }
  .ne-hoja-tir,.ne-hoja-n,.ne-hoja-lomo{ display:none; }
  .ne-hoja-panel,.ne-hoja.es-abierta .ne-hoja-panel{ position:static; opacity:1; visibility:visible; grid-template-columns:minmax(0,1fr) minmax(0,.8fr); }
  .ne-dos,.ne-escs{ grid-template-columns:1fr; }
  .ne-kpis{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ne-kit-lista{ grid-template-columns:1fr; }
  .ne-kit{ flex-direction:row; align-items:stretch; justify-content:flex-start; min-height:0; }
  .ne-kit:hover,.ne-kit:focus-visible{ min-height:0; transform:none; }
  .ne-kit-img{ position:relative; inset:auto; flex:none; width:38%; max-width:170px; aspect-ratio:3/4; padding:12%; filter:none; }
  .ne-kit::before{ display:none; }
  .ne-kit{ background:#1c1a15; }
  .ne-kit-txt{ flex:1; justify-content:center; padding:16px 44px 16px 16px; }
  .ne-kit-desp{ grid-template-rows:1fr; }
  .ne-kit-g,.ne-kit-d{ opacity:1; }
  .ne-kit-panel{ display:none; }
  .ne-bar-pdf small{ display:none; }
}
@media (max-width:760px){
  .ne-pk{ grid-template-columns:1fr; }
  .ne-bolsa-esc{ width:min(78%,300px); }
  .ne-visor{ grid-template-columns:1fr; }
  .ne-cadena{ grid-template-columns:1fr; }
  .ne-gantt{ grid-template-columns:repeat(var(--meses),minmax(0,1fr)); }
  .ne-gantt-meses > span:first-child{ display:none; }
  .ne-gantt-lab{ grid-column:1 / -1; flex-direction:row; flex-wrap:wrap; gap:4px 10px; align-items:baseline; padding:10px 0 4px; }
  .ne-gantt-pista{ grid-column:1 / -1; min-height:40px; }
  .ne-hito{ font-size:.64rem; }
  .ne-ba{ aspect-ratio:4/3.6; }
  .ne-reglas{ grid-template-columns:1fr; }
  .ne-pares{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ne-hoja-panel,.ne-hoja.es-abierta .ne-hoja-panel{ grid-template-columns:1fr; }
  .ne-hoja-muestra{ order:-1; }
  .ne-card-st{ grid-template-columns:1fr; }
  .ne-tienda-ctl{ flex-direction:column; align-items:stretch; }
  .ne-dist{ justify-content:space-between; }
  .ne-tienda-leyenda{ position:static; border-radius:0; max-width:none; }
  .ne-estado,.ne-cons,.ne-nums{ grid-template-columns:1fr; }
  .ne-pn{ grid-template-columns:1fr; }
  .ne-pn a:last-child{ justify-content:flex-start; text-align:left; }
  .ne-mal span{ height:60px; } .ne-mal img{ height:44px; }
  .ne-med.is-tono li{ grid-template-columns:1fr; }
  .ne-web-hero,.ne-fb-portada{ grid-template-columns:1fr; }
  .ne-fb-portada{ aspect-ratio:auto; } .ne-fb-portada > div{ padding:18px; } .ne-fb-portada img{ aspect-ratio:2; }
  .ne-web-top nav span:not(.is-cta){ display:none; }
  .ne-bar-home{ padding-right:10px; }
}
@media (max-height:820px){
  .ne-carta{ position:relative; top:auto; margin-bottom:22px; transform:none !important; }
  .ne-carta::after{ display:none; }
}
@media (max-width:620px){
  .ne-pila{ perspective:none; }
  .ne-carta{ position:static; transform:none !important; margin-bottom:16px; }
  .ne-carta::after,.ne-carta-brillo{ display:none; }
  .ne-stage-chip{ width:36%; }
  .ne-marquee img{ width:34px; height:34px; }
  .ne-bar-home b{ font-size:0; gap:0; } .ne-bar-home b .ne-ic{ font-size:1rem; }
  .ne-bar-pdf{ padding:8px 10px; font-size:0; gap:0; } .ne-bar-pdf .ne-ic{ font-size:1rem; }
}

@media (prefers-reduced-motion:reduce){
  .ne-stage-glow,.ne-stage-orbit,.ne-stage-logo img,.ne-marquee-in,.ne-ret-anillo,.ne-visor-punto,.ne-pulso{ animation:none !important; }
  .ne-js .ne-rv{ transform:none; filter:none; }
  .ne-js .ne-ln > span{ transform:none; transition:none; }
  .ne-hoja,.ne-carta,.ne-kit,.ne-kit-desp,.ne-cil-cara,.ne-bolsa-rot{ transition:none !important; }
  .ne-carta{ transform:none !important; }
}


/* =====================================================================
   HÉROE FOTOGRÁFICO · los cinco prototipos (v2, 2-oct)
   Una foto a sangre con la marca dentro de la escena. Momento de entrada:
   la foto se abre desde una franja horizontal (como un obturador de cine)
   y luego deriva muy despacio. El cursor la mueve unos píxeles.
   ===================================================================== */
.pt-hero{ position:relative; min-height:calc(100svh - var(--top)); display:flex; flex-direction:column; justify-content:flex-end; padding-block:clamp(70px,9vw,140px) clamp(30px,3vw,48px); overflow:hidden; isolation:isolate; color:#f6f0de; background:#0c0b08; }
.pt-hero-foto{ position:absolute; inset:0; z-index:-2; overflow:hidden; clip-path:inset(0 0 0 0); }
.ne-js .pt-hero-foto{ clip-path:inset(38% 0 38% 0); transition:clip-path 1.5s cubic-bezier(.16,1,.3,1); }
.ne-js .pt-hero.is-listo .pt-hero-foto{ clip-path:inset(0 0 0 0); }
.pt-hero-deriva{ position:absolute; inset:0; animation:ptDeriva 28s ease-in-out 1.6s infinite alternate; }
.pt-hero-foto img{ width:100%; height:100%; object-fit:cover; object-position:var(--pos,60% 50%); transform:scale(1.14) translate3d(calc(var(--mx,0) * -14px), calc(var(--my,0) * -9px), 0); filter:saturate(.92) contrast(1.04); transition:transform 2.8s cubic-bezier(.16,1,.3,1); }
.pt-hero.is-listo .pt-hero-foto img{ transform:scale(1.04) translate3d(calc(var(--mx,0) * -14px), calc(var(--my,0) * -9px), 0); }
@keyframes ptDeriva{ from{ transform:scale(1); } to{ transform:scale(1.07) translate3d(-1.2%, -.8%, 0); } }
.pt-hero::before{ content:""; position:absolute; inset:0; z-index:-1; background:
  linear-gradient(90deg, rgba(12,11,8,.95) 0%, rgba(12,11,8,.8) 32%, rgba(12,11,8,.32) 62%, rgba(12,11,8,.1) 100%),
  linear-gradient(0deg, rgba(12,11,8,.97) 0%, rgba(12,11,8,.38) 32%, rgba(12,11,8,0) 58%),
  linear-gradient(180deg, rgba(12,11,8,.55) 0%, rgba(12,11,8,0) 22%),
  radial-gradient(80% 60% at 8% 0%, rgba(2,155,210,.22), transparent 60%); }
.pt-hero::after{ content:""; position:absolute; inset:auto 0 0 0; height:1px; background:linear-gradient(90deg, transparent, rgba(240,191,64,.6), transparent); }
.pt-hero-in{ display:grid; grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr); gap:clamp(24px,4vw,72px); align-items:end; }
.pt-hero .ne-h1{ color:#f6f0de; text-shadow:0 2px 40px rgba(0,0,0,.35); }
.pt-hero .ne-lead{ color:#f6f0de !important; max-width:34ch; }
.pt-hero .ne-hero-que{ color:rgba(246,240,222,.78) !important; max-width:58ch; }
.pt-hero .ne-eyebrow{ color:rgba(246,240,222,.8) !important; }
.pt-hero .ne-btn.is-ghost{ color:#f6f0de; border-color:rgba(246,240,222,.38); background:rgba(12,11,8,.25); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); }
.pt-hero .ne-kpis li{ border-top-color:rgba(246,240,222,.24); }
.pt-hero .ne-kpis b{ color:#f6f0de; }
.pt-hero .ne-kpis li > span{ color:rgba(246,240,222,.72); }
.pt-hero-sello{ position:absolute; top:clamp(18px,2.4vw,34px); right:clamp(16px,3vw,48px); width:clamp(64px,6vw,92px); aspect-ratio:1; border-radius:50%; box-shadow:0 18px 40px -18px rgba(0,0,0,.9), 0 0 0 1px rgba(246,240,222,.25); opacity:0; transform:translateY(-10px) scale(.92); transition:opacity .9s var(--ease) 1.1s, transform 1.1s var(--ease) 1.1s; }
.pt-hero.is-listo .pt-hero-sello{ opacity:1; transform:none; }
.pt-hero-ficha{ align-self:end; padding:22px 22px 18px; border-radius:20px; background:rgba(18,17,13,.6); border:1px solid rgba(246,240,222,.16); -webkit-backdrop-filter:blur(18px) saturate(140%); backdrop-filter:blur(18px) saturate(140%); box-shadow:0 40px 80px -40px rgba(0,0,0,.8); }
.pt-hero-ficha ul{ list-style:none; margin:4px 0 14px; padding:0; display:grid; gap:4px; }
.pt-hero-ficha li a, .pt-hero-ficha li > span{ display:grid; grid-template-columns:28px minmax(0,1fr) 16px; gap:10px; align-items:center; padding:8px 8px 8px 6px; margin-inline:-6px; border-radius:12px; text-decoration:none; color:inherit; transition:background-color .25s; }
.pt-hero-ficha li a:hover, .pt-hero-ficha li a:focus-visible{ background:rgba(246,240,222,.08); }
.pt-hero-ficha li a > .ne-ic{ width:14px; height:14px; opacity:.4; transition:opacity .25s, transform .3s var(--ease); }
.pt-hero-ficha li a:hover > .ne-ic{ opacity:1; transform:translateX(3px); }
.pt-hero-ficha li i{ display:grid; place-items:center; width:26px; height:26px; border-radius:50%; background:rgba(70,194,142,.16); color:#46c28e; }
.pt-hero-ficha li i .ne-ic{ width:15px; height:15px; }
.pt-hero-ficha b{ display:block; font-size:.98rem; color:#f6f0de; line-height:1.25; }
.pt-hero-ficha small{ font-size:.8rem; color:rgba(246,240,222,.62); }
.pt-hero-estado{ display:flex; align-items:center; gap:10px; margin:0; padding-top:12px; border-top:1px solid rgba(246,240,222,.14); font-size:.82rem; font-weight:700; color:rgba(246,240,222,.85) !important; }
.pt-hero-estado i{ width:9px; height:9px; border-radius:50%; background:#46c28e; box-shadow:0 0 0 0 rgba(70,194,142,.6); animation:ptPulso 2.4s infinite; }
@keyframes ptPulso{ 70%{ box-shadow:0 0 0 10px rgba(70,194,142,0); } 100%{ box-shadow:0 0 0 0 rgba(70,194,142,0); } }
@media (max-width:1180px){ .pt-hero-in{ grid-template-columns:1fr; } .pt-hero-ficha{ max-width:560px; } }
@media (max-width:760px){
  .pt-hero{ padding-top:96px; }
  .pt-hero-ficha{ display:none; }
  .pt-hero::before{ background:linear-gradient(0deg, rgba(12,11,8,.97) 0%, rgba(12,11,8,.82) 46%, rgba(12,11,8,.35) 78%, rgba(12,11,8,.55) 100%); }
  .pt-hero-foto img{ object-position:var(--pos-m, var(--pos,60% 50%)); }
}

/* =====================================================================
   TARJETAS CON COMPONENTES (2-oct)
   · Inclinación 3D con brillo que sigue al cursor (componente 07) en las
     tarjetas de contenido. Usa la propiedad «rotate» (eje y ángulo) para no
     pisar el «transform» de la entrada; la perspectiva la pone el contenedor.
   · Riesgos que se voltean: frente = el riesgo y su grado; dorso = el
     tratamiento, el plan y la pieza del prototipo que lo responde.
   ===================================================================== */
.ne-tres, .ne-estado, .ne-cons, .ne-escs, .pt-dos, .pt-tres-mini, .ne-pk-notas{ perspective:1100px; }
.ne-tilt{ position:relative; isolation:isolate; rotate:var(--tilt-ax, 0 0 1) var(--tilt-ang, 0deg); transition:opacity .85s var(--ease) var(--d,0s), transform .95s var(--ease) var(--d,0s), filter .85s var(--ease) var(--d,0s), rotate .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s, border-color .3s; will-change:rotate; }
.ne-tilt::after{ content:""; position:absolute; inset:0; z-index:3; border-radius:inherit; pointer-events:none; opacity:0; background:radial-gradient(420px circle at var(--gx,50%) var(--gy,50%), rgba(255,255,255,.16), transparent 45%); transition:opacity .35s; }
.ne-tilt.is-tilt{ box-shadow:0 30px 60px -34px rgba(20,16,8,.55); }
.ne-tilt.is-tilt::after{ opacity:1; }
[data-scene="claro"] .ne-tilt::after, .ne-tilt.is-claro::after{ background:radial-gradient(420px circle at var(--gx,50%) var(--gy,50%), rgba(255,255,255,.55), transparent 45%); }

.ne-flip{ padding:0 !important; background:none !important; border:0 !important; cursor:pointer; perspective:1200px; outline:none; }
.ne-flip-in{ display:grid; height:100%; transform-style:preserve-3d; transition:transform .85s cubic-bezier(.2,.75,.2,1); }
.ne-flip.is-vuelta .ne-flip-in{ transform:rotateY(180deg); }
@media (hover:hover) and (pointer:fine){ .ne-flip:hover .ne-flip-in{ transform:rotateY(180deg); } .ne-flip.is-vuelta:hover .ne-flip-in{ transform:rotateY(180deg); } }
.ne-flip-cara{ grid-area:1 / 1; display:flex; flex-direction:column; gap:10px; padding:clamp(20px,2.2vw,28px); border-radius:var(--r-md); background:var(--ne-surf); border:1px solid var(--ne-line); -webkit-backface-visibility:hidden; backface-visibility:hidden; min-height:100%; }
.ne-flip-cara.is-dorso{ transform:rotateY(180deg); background:linear-gradient(160deg, var(--azul-o), #063f59); border-color:transparent; color:#f6f0de; }
.ne-flip-cara.is-dorso .ne-riesgo-id{ color:rgba(246,240,222,.7) !important; }
.ne-flip-cara.is-dorso .ne-riesgo-id b{ background:#f6f0de; color:#063f59; }
.ne-flip-cara.is-dorso h4{ color:#f6f0de; }
.ne-flip-cara.is-dorso p{ color:rgba(246,240,222,.86) !important; }
.ne-flip-cara.is-dorso .ne-riesgo-dis{ border-top-color:rgba(246,240,222,.2); }
.ne-flip-cara.is-dorso .ne-riesgo-dis small{ color:rgba(246,240,222,.6); }
.ne-flip-cara.is-dorso .ne-riesgo-dis a{ color:#f0bf40; }
.ne-flip-grado{ display:flex; align-items:center; gap:10px; margin:auto 0 0 !important; padding-top:12px; border-top:1px solid var(--ne-line); }
.ne-flip-grado small{ font-weight:750; font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ne-faint); }
.ne-flip-pista{ display:flex; align-items:center; gap:6px; margin:0 !important; font-size:.78rem; font-weight:700; color:var(--ne-link) !important; }
.ne-flip-pista .ne-ic{ width:15px; height:15px; }
.ne-flip-plan{ margin:0 !important; font-size:.9rem; line-height:1.5; }
.ne-flip:focus-visible .ne-flip-cara{ outline:3px solid #f0bf40; outline-offset:3px; }
@media (prefers-reduced-motion:reduce){
  .ne-js .pt-hero-foto{ clip-path:none; transition:none; }
  .pt-hero-deriva{ animation:none; }
  .pt-hero-foto img{ transform:none !important; transition:none; }
  .pt-hero-estado i{ animation:none; }
  .pt-hero-sello{ transition:none; opacity:1; transform:none; }
  .ne-tilt{ rotate:none !important; }
  .ne-flip-in{ transition:none; }
}
