/* navappweb.com — tema "n" (referencia elespacio.net): base crema, cabecera y hero en tinta, bloques de color, footer rosa.
   Generado en style.css por build.py; no editar style.css a mano. */
@font-face{font-family:"Bricolage";src:url("/assets/fonts/bricolage-grotesque-latin-wght-normal.woff2") format("woff2");font-weight:200 800;font-style:normal;font-display:swap}

:root{
  --ink:#141414;--ink-2:#1f1f1f;--ink-3:#2b2b2b;--paper:#fafaf7;--paper-2:#f2efe6;--paper-3:#e2ddcf;
  /* acento ámbar: --amber para fondos (texto negro encima), --orange para detalles y texto de acento (dorado oscuro en claro, ámbar en oscuro) */
  --amber:#f5b800;--amber-h:#ffc72e;--orange:#8a6500;--orange-d:#141414;--lilac:#f5b800;--green:#ffffff;--ochre:#2b2b2b;--blue:#f5efd9;
  --r-pill:100vw;--r-xl:2.5rem;--r-l:1.5rem;--r-m:1rem;--r-s:.5rem;
  --pad:clamp(20px,4.5vw,72px);--sec:clamp(64px,7.5vw,108px);--max:1320px;
  --ease:cubic-bezier(.34,1.37,.64,1);--ease-o:cubic-bezier(.2,.8,.2,1);
  --fs-0:clamp(1.0625rem,1rem + .3vw,1.2rem);
  /* tokens de contexto (claro por defecto) */
  --bg:var(--paper);--fg:var(--ink);--card:var(--paper-2);--card-2:#fbf8f3;--mut:#57544d;--rule:var(--paper-3);
  --btn-bg:var(--ink);--btn-fg:var(--paper);--btn-hover:var(--ink-3);
}
.n-dark,.n-header,.n-hero,.n-about,.n-services,.n-menu,.n-footer{--bg:var(--ink);--fg:var(--paper);--card:var(--ink-2);--card-2:var(--ink-3);--mut:#b9b4ab;--rule:var(--ink-3);--btn-bg:var(--amber);--btn-fg:var(--ink);--btn-hover:var(--amber-h);--orange:var(--amber);background:var(--bg);color:var(--fg)}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:24px}
html.lenis{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}
body{margin:0;background:var(--bg);color:var(--fg);font-family:"Bricolage",Arial,sans-serif;font-size:var(--fs-0);line-height:1.65;font-weight:400;-webkit-font-smoothing:antialiased;overflow-x:clip}
img{max-width:100%;height:auto;display:block}
[hidden]{display:none!important}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.2em}
h1,h2,h3,h4{margin:0;line-height:1.05;letter-spacing:-.02em;font-weight:700;text-wrap:balance}
h1{font-size:clamp(2.7rem,1.6rem + 5.2vw,5.8rem);font-weight:700;letter-spacing:-.04em;line-height:1}
h2{font-size:clamp(2rem,1.3rem + 3vw,3.6rem)}
h3{font-size:clamp(1.35rem,1.15rem + .8vw,1.8rem);letter-spacing:-.015em}
h1 em,h2 em,.n-big em{font-style:normal;font-weight:700}
p{margin:0 0 1.1em}
p:last-child{margin-bottom:0}
ul,ol{margin:0;padding:0;list-style:none}
strong{font-weight:700}
svg{width:1em;height:1em;fill:currentColor;flex:none}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
:focus-visible{outline:3px solid currentColor;outline-offset:3px;border-radius:4px}
::selection{background:var(--paper-3);color:var(--ink)}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--paper);color:var(--ink);padding:10px 18px;border-radius:var(--r-pill);font-weight:700}
.skip:focus{top:12px}

/* ---------- píldoras y azulejos ---------- */
.n-pill{display:inline-flex;align-items:center;gap:.6em;padding:.85em 1.4em;border-radius:var(--r-pill);font-weight:600;font-size:1rem;line-height:1;text-decoration:none;border:2px solid transparent;transition:transform .35s var(--ease),background .25s,color .25s,border-color .25s;white-space:nowrap}
.n-pill svg{transition:transform .35s var(--ease)}
/* opción 4 de Diego: icono grande tras una línea separadora; en botones de tinta el icono va en ámbar */
.n-pill>span+svg{font-size:1.4em}.n-pill>span:has(+svg){padding:.12em .7em .12em 0;border-right:1.5px solid currentColor}
.n-pill{--btn-ic:currentColor}.n-pill-orange,.n-pill-ink{--btn-ic:var(--btn-ic-c,currentColor)}.n-pill svg{color:var(--btn-ic)}
:root{--btn-ic-c:var(--amber)}.n-dark,.n-header,.n-hero,.n-about,.n-services,.n-menu,.n-footer,.n-tile-ochre,.n-tile-orange,.n-plan-featured{--btn-ic-c:var(--ink)}
.n-tile-green,.n-tile-cream,.n-tile-lilac,.n-tile-blue{--btn-ic-c:var(--amber)}
.n-pill:hover{transform:translateY(-2px)}.n-pill:hover svg{transform:translateX(3px)}
.n-pill:active{transform:translateY(1px) scale(.98)}
.n-pill-orange,.n-pill-ink{background:var(--btn-bg);color:var(--btn-fg)}
.n-pill-orange:hover,.n-pill-ink:hover{background:var(--btn-hover)}
.n-tile-ochre .n-pill-ink,.n-tile-orange .n-pill-ink,.n-tile-ochre .n-pill-orange,.n-tile-orange .n-pill-orange{background:var(--amber);color:var(--ink)}
.n-tile-ochre .n-pill-ink:hover,.n-tile-orange .n-pill-ink:hover,.n-tile-ochre .n-pill-orange:hover,.n-tile-orange .n-pill-orange:hover{background:var(--amber-h)}
.n-tile-green .n-pill-ink,.n-tile-green .n-pill-orange{background:var(--ink);color:var(--paper)}
.n-tile-cream .n-pill-ink,.n-tile-lilac .n-pill-ink,.n-tile-blue .n-pill-ink,.n-tile-cream .n-pill-orange,.n-tile-lilac .n-pill-orange,.n-tile-blue .n-pill-orange{background:var(--ink);color:var(--paper)}
.n-pill-line{border-color:currentColor;color:var(--fg);background:transparent}
.n-pill-line:hover{background:rgba(127,127,127,.12)}
.n-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.n-tile-cream{background:var(--paper-2);color:var(--ink)}
.n-tile-lilac{background:var(--lilac);color:var(--ink)}
.n-tile-orange{background:var(--orange-d);color:var(--paper)}
.n-tile-green{background:var(--green);color:var(--ink);box-shadow:inset 0 0 0 1px var(--paper-3)}
.n-tile-ochre{background:var(--ochre);color:var(--paper)}
.n-tile-blue{background:var(--blue);color:var(--ink)}
.n-tag{font-size:.95rem;font-weight:600;color:var(--fg);margin:0 0 14px;display:flex;align-items:center;gap:10px}
.n-tag::before{content:"";width:22px;height:2px;background:var(--orange);border-radius:2px}
.n-tile-orange .n-tag,.n-tile-ochre .n-tag{color:var(--paper)}
.n-tile-orange .n-tag::before,.n-tile-ochre .n-tag::before{background:var(--amber)}
.n-center{justify-content:center}
.n-lead{font-size:clamp(1.15rem,1rem + .6vw,1.5rem);font-weight:300;line-height:1.5;max-width:62ch;color:inherit}
.n-note{font-size:.95rem;color:var(--mut);margin-top:20px;max-width:70ch}
.n-num{font-size:clamp(3rem,2rem + 4vw,5.5rem);font-weight:300;letter-spacing:-.04em;line-height:1;margin:0 0 .35em;font-variant-numeric:tabular-nums}

/* ---------- secciones ---------- */
.n-sec{padding:var(--sec) var(--pad)}
.n-sec>*{max-width:var(--max);margin-left:auto;margin-right:auto}
.n-sec>.n-pill{display:flex;width:fit-content;margin-left:max(0px,calc((100% - var(--max))/2))}
.n-head{margin:0 auto clamp(32px,4vw,56px);max-width:var(--max)}
.n-head .n-lead{margin-top:16px}
.n-two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,80px);align-items:start}
.n-two p{max-width:62ch}
.n-list{display:grid;gap:10px}
.n-list li{position:relative;padding-left:30px}
.n-list li::before{content:"";position:absolute;left:0;top:.55em;width:16px;height:16px;border-radius:50%;background:var(--orange)}
.n-tile-orange .n-list li::before,.n-tile-ochre .n-list li::before{background:var(--amber)}
.n-tile-green .n-list li::before{background:var(--orange)}
.n-tile-lilac .n-list li::before,.n-tile-blue .n-list li::before,.n-tile-cream .n-list li::before{background:var(--ink)}
.n-list-big li{font-size:1.1em;padding-left:34px}.n-list-big li::before{width:20px;height:20px;top:.45em}
.n-cells{display:grid;gap:18px}
.n-cols-3{grid-template-columns:repeat(3,1fr)}.n-cols-2{grid-template-columns:repeat(2,1fr)}
.n-cell{background:var(--card);border-radius:var(--r-l);padding:clamp(24px,3vw,40px);display:flex;flex-direction:column;gap:14px}
.n-cell h3{font-size:1.4rem}
.n-cell p{color:var(--mut);margin:0}
.n-cell .n-pill{align-self:flex-start;margin-top:auto}
.n-ic{width:52px;height:52px;border-radius:14px;background:var(--fg);color:var(--bg);display:grid;place-items:center;font-size:26px}
.n-feat{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;border-radius:var(--r-xl);overflow:hidden;margin-bottom:18px}
.n-feat img{width:100%;height:100%;object-fit:cover}
.n-feat>div{padding:clamp(28px,4vw,56px);display:flex;flex-direction:column;gap:18px}
.n-feat .n-pill{align-self:flex-start}
.n-steps{display:grid;grid-template-columns:repeat(2,1fr);gap:18px 40px}
.n-step{display:grid;grid-template-columns:64px 1fr;gap:20px;padding:22px 0;border-top:1px solid var(--rule)}
.n-step-n{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:1.35rem;letter-spacing:-.02em}
.n-step h3{font-size:1.3rem;margin-bottom:6px}
.n-step p{color:var(--mut);margin:0}
.n-intro h2{margin:0 0 28px max(0px,calc((100% - var(--max))/2));max-width:20ch}
.n-intro img{border-radius:var(--r-l);margin-top:20px}
.n-intro .n-two{align-items:center}
.n-intro .n-two.n-one{grid-template-columns:1fr}
.n-intro-card{background:var(--paper-2);color:var(--ink);border-radius:var(--r-xl);padding:clamp(24px,3vw,44px);display:flex;flex-direction:column;justify-content:center}
.n-intro-card .n-list li::before{background:var(--orange)}
.n-intro-card-img{justify-content:center;gap:24px;padding:14px 14px clamp(22px,3vw,36px)}
.n-intro-card-img .n-list{padding:0 clamp(8px,2vw,22px)}
.n-intro-fig{margin:0;flex:none;display:flex;flex-direction:column}
.n-intro-fig img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:calc(var(--r-xl) - 10px);margin:0}
.n-intro-fig figcaption{font-size:.75rem;color:var(--mut);margin-top:6px;padding:0 6px}

/* ---------- cabecera estática ---------- */
.n-header{padding:18px var(--pad);position:relative;z-index:50}
.n-header-in{max-width:var(--max);margin:0 auto;display:flex;align-items:center;gap:20px}
.n-brand{display:inline-flex;flex:none;text-decoration:none;font-weight:800;font-size:2rem;letter-spacing:-.05em;line-height:1;color:var(--paper);padding:6px 0}
.n-brand i{color:var(--amber);font-style:normal}
.n-brand:hover{color:var(--amber)}
.n-nav{flex:1;display:flex;justify-content:center}
.n-nav ul{display:flex;gap:4px;padding:6px;border-radius:var(--r-pill);background:var(--ink-2)}
.n-nav a{display:block;padding:10px 18px;border-radius:var(--r-pill);text-decoration:none;font-weight:600;font-size:.98rem;transition:background .25s,color .25s}
.n-nav a:hover{background:var(--ink-3)}
.n-nav a[aria-current]{background:var(--paper);color:var(--ink)}
.n-hright{display:flex;align-items:center;gap:10px;margin-left:auto}
.n-burger{display:none;width:52px;height:52px;border-radius:50%;border:0;background:var(--paper);color:var(--ink);font-size:26px;place-items:center;cursor:pointer}
.n-burger .ic-x,.n-burger[aria-expanded=true] .ic-list{display:none}.n-burger[aria-expanded=true] .ic-x{display:block}
.n-menu{max-width:var(--max);margin:12px auto 0;background:var(--ink-2);border-radius:var(--r-xl);padding:28px}
.n-menu-main{display:grid;gap:6px;margin-bottom:22px}
.n-menu-main a{display:block;font-size:1.6rem;font-weight:600;text-decoration:none;padding:8px 0;letter-spacing:-.02em}
.n-menu-main a[aria-current]{color:var(--amber)}
.n-menu-label{color:var(--mut);font-size:.9rem;margin:0 0 8px}
.n-menu-sub{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.n-menu-sub a{display:block;padding:8px 14px;border:1px solid var(--ink-3);border-radius:var(--r-pill);text-decoration:none;font-size:.95rem}
.n-crumbs{font-size:.9rem;color:var(--mut);margin-bottom:22px}
.n-crumbs ol{display:flex;flex-wrap:wrap;gap:6px}
.n-crumbs li+li::before{content:"/";margin-right:6px;opacity:.5}
.n-crumbs a{color:inherit}

/* ---------- hero (en tinta) ---------- */
.n-hero{padding:clamp(28px,5vw,72px) var(--pad) var(--sec)}
.n-hero-in{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,72px);align-items:center}
.n-hero .n-lead{margin-top:24px}
.n-hero h1 strong{font-weight:800}
.n-hero h1 em{font-style:normal;color:var(--amber)}
.n-hero-tiles{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:minmax(150px,auto);gap:14px;align-self:center}
.n-tile{border-radius:var(--r-l);padding:24px;display:flex;flex-direction:column;justify-content:space-between;text-decoration:none;font-weight:700;font-size:clamp(1.15rem,1rem + .8vw,1.6rem);letter-spacing:-.02em;min-height:150px;transition:transform .35s var(--ease)}
.n-tile svg{font-size:1.4em;align-self:flex-end}
.n-tile:hover{transform:translateY(-4px)}
.n-hero-tiles .n-tile{transition:none}
.n-hero-tiles .n-tile:nth-child(1){min-height:210px}
.n-hero-tiles .n-tile:nth-child(2){margin-top:44px}
.n-hero-tiles .n-tile:nth-child(3){margin-top:-44px}
.n-hero-tiles .n-tile:nth-child(4){min-height:210px}
.n-hero-page{padding-bottom:clamp(48px,7vw,96px)}
.n-hero-page>*{max-width:var(--max);margin-left:auto;margin-right:auto}
.n-hero-page .n-hero-text{max-width:860px;margin-left:max(0px,calc((100% - var(--max))/2))}
.n-hero-page h1{font-size:clamp(2.4rem,1.5rem + 4.2vw,4.8rem)}
.n-hero-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:clamp(36px,5vw,64px)}
.n-fact{border-radius:var(--r-l);padding:24px;display:flex;flex-direction:column;gap:6px;min-height:150px;justify-content:flex-end}
.n-fact strong{font-size:clamp(2rem,1.4rem + 2.4vw,3.4rem);font-weight:300;letter-spacing:-.04em;line-height:1}
.n-fact span{font-weight:600}
.n-hero-img{margin:clamp(36px,5vw,64px) auto 0;border-radius:var(--r-xl);overflow:hidden}
.n-hero-img img{width:100%;aspect-ratio:16/8;object-fit:cover}
.n-hero-short{padding-bottom:clamp(40px,6vw,80px)}

/* ---------- hero: la web se monta en ordenador y móvil a la vez (opción D) ---------- */
.n-duo{position:relative;width:min(100%,520px);aspect-ratio:13/10;perspective:1300px;justify-self:center}
.n-duo-win{position:absolute;left:0;top:4%;width:84%;height:80%;border-radius:16px;background:#fafaf7;overflow:hidden;transform:rotateY(-16deg) rotateX(10deg);transform-style:preserve-3d;box-shadow:0 40px 80px rgba(0,0,0,.55)}
.n-duo-bar{height:7%;min-height:22px;background:#e8e5de;display:flex;gap:6px;align-items:center;padding:0 12px}
.n-duo-bar i{width:9px;height:9px;border-radius:50%;background:#cfc9bd}.n-duo-bar u{margin-left:10px;height:10px;flex:1;border-radius:99px;background:#f2efe6}
.n-duo-ph{position:absolute;right:0;bottom:0;width:30%;height:74%;border-radius:24px;background:#fafaf7;border:7px solid #2b2b2b;overflow:hidden;box-shadow:0 30px 60px rgba(0,0,0,.6);transform:rotateY(-16deg) translateZ(60px)}
.n-blk{position:absolute;border-radius:7px;opacity:0;animation:n-blk 7s cubic-bezier(.2,.8,.2,1) infinite}
.n-blk.k{background:#141414}.n-blk.a{background:var(--amber)}.n-blk.g{background:#e8e5de}.n-blk.p{background:url(/assets/img/hero-nava.webp) center/cover}
@keyframes n-blk{0%{opacity:0;transform:translateZ(120px) translateY(-24px)}10%{opacity:1;transform:none}86%{opacity:1;transform:none}100%{opacity:0}}
.n-duo-win .b1{left:4%;top:14%;width:18%;height:4.5%;animation-delay:0s}.n-duo-win .b2{left:4%;top:23%;width:50%;height:10%;animation-delay:.4s}
.n-duo-win .b3{left:4%;top:37%;width:33%;height:8%;border-radius:99px;animation-delay:.8s}.n-duo-win .b4{left:60%;top:21%;width:36%;height:36%;animation-delay:1.2s}
.n-duo-win .b5{left:4%;top:64%;width:28.5%;height:28%;animation-delay:1.6s}.n-duo-win .b6{left:35.5%;top:64%;width:28.5%;height:28%;animation-delay:1.8s}.n-duo-win .b7{left:67%;top:64%;width:29%;height:28%;animation-delay:2s}
.n-duo-ph .m1{left:8%;top:6%;width:40%;height:4%;animation-delay:.1s}.n-duo-ph .m2{left:8%;top:14%;width:80%;height:9%;animation-delay:.5s}
.n-duo-ph .m3{left:8%;top:27%;width:60%;height:7%;border-radius:99px;animation-delay:.9s}.n-duo-ph .m4{left:8%;top:38%;width:84%;height:24%;animation-delay:1.3s}
.n-duo-ph .m5{left:8%;top:66%;width:84%;height:12%;animation-delay:1.7s}.n-duo-ph .m6{left:8%;top:81%;width:84%;height:12%;animation-delay:1.9s}
@media (max-width:1100px){.n-duo{width:min(100%,460px);margin-top:12px}}
@media (prefers-reduced-motion:reduce){.n-blk{animation:none;opacity:1}}

/* ---------- home: quiénes (tinta), marquee, cifras ---------- */
.n-about{padding-top:0}
.n-about .n-big{font-size:clamp(1.8rem,1.2rem + 2.8vw,3.6rem);font-weight:300;line-height:1.15;letter-spacing:-.025em;max-width:var(--max);margin:0 auto clamp(40px,5vw,72px)}
.n-about .n-big .w:last-child{margin-right:0}
.n-about .n-big{padding-right:clamp(0px,30vw,420px)}
.n-big .w{color:#8f8985;transition:color .3s}
html.n-static .n-big .w,html:not(.n-anim) .n-big .w{color:var(--paper)}
.n-about-cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,80px);align-items:stretch;border-top:1px solid var(--rule);padding-top:36px}
.n-claim-card{background:var(--ink-2);border-radius:var(--r-xl);padding:clamp(24px,3vw,44px);display:flex;align-items:center}
.n-claim{font-size:clamp(1.4rem,1.1rem + 1.2vw,2.2rem);font-weight:600;line-height:1.2;letter-spacing:-.02em;max-width:22ch}
.n-about-cols p{max-width:60ch}
.n-about-cols .n-pill{margin-top:10px}
.n-marquee{overflow:hidden;padding:22px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.n-marquee-track{display:flex;gap:28px;white-space:nowrap;width:max-content;font-size:clamp(1.4rem,1rem + 2vw,2.6rem);font-weight:300;letter-spacing:-.02em}
.n-marquee span::before{content:attr(data-w)}
.n-marquee i::before{content:"✦";color:var(--orange);font-style:normal}
.n-fcards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:clamp(48px,6vw,88px)}
.n-fcards:last-child{margin-bottom:0}
.n-fcard{border-radius:var(--r-xl);padding:clamp(24px,3vw,40px);min-height:280px;display:flex;flex-direction:column;justify-content:flex-end}
.n-fcard h3{font-size:1.35rem;margin-bottom:8px}
.n-fcard p:last-child{opacity:.85}
.n-logos{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:20px}
.n-logos li{display:flex;align-items:center;gap:10px;padding:14px 18px;border-radius:var(--r-m);background:var(--card);font-weight:600;font-size:.95rem}
.n-logos svg{font-size:22px}

/* ---------- proyectos (fijados, scroll horizontal en escritorio) ---------- */
.n-workwrap{padding-left:0;padding-right:0;overflow:clip}
.n-work-pin{padding:0 var(--pad)}
.n-work-head{max-width:var(--max);margin:0 auto clamp(28px,4vw,48px);display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.n-work-head .n-head{margin-bottom:0}
.n-work-track{display:flex;gap:20px;will-change:transform}
.n-work{flex:0 0 min(78vw,620px);display:flex;flex-direction:column;gap:18px}
.n-work-frame{border-radius:var(--r-xl);padding:clamp(18px,2.5vw,32px) clamp(18px,2.5vw,32px) 0;overflow:hidden;aspect-ratio:4/3;display:flex;align-items:flex-end}
.n-work-frame img{border-radius:14px 14px 0 0;box-shadow:0 -10px 40px rgba(32,30,31,.25);width:100%;height:auto;aspect-ratio:1200/900;object-fit:cover;object-position:top}
.n-work-meta h3{font-size:1.4rem;margin-bottom:6px}
.n-work-meta p{color:var(--mut);margin:0}
.n-tags{font-size:.9rem;font-weight:600}
.n-work-end{border-radius:var(--r-xl);padding:clamp(28px,3vw,48px);justify-content:space-between;aspect-ratio:4/3;flex-basis:min(70vw,440px)}
.n-work-end h3{font-size:clamp(1.6rem,1.2rem + 1.5vw,2.4rem);font-weight:300;letter-spacing:-.03em}
.n-work-end .n-pill{align-self:flex-start}
.n-work-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.n-work-grid .n-work{flex:auto}
html:not(.n-anim) .n-work-track{overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px}html:not(.n-anim) .n-work{scroll-snap-align:start}

/* ---------- servicios (tinta, tarjetas que se apilan) ---------- */
.n-svc-stack{display:grid;gap:22px}
.n-svc{border-radius:var(--r-xl);padding:clamp(28px,4vw,56px);min-height:min(70vh,520px);display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px);align-items:center;box-shadow:0 -20px 60px rgba(32,30,31,.35)}
.n-svc-media{display:flex}
.n-svc-img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:calc(var(--r-xl) - 12px);box-shadow:0 20px 40px rgba(0,0,0,.25)}
.n-svc-body{display:flex;flex-direction:column;gap:18px;width:100%;max-width:880px}
.n-svc-main{display:grid;gap:16px;justify-items:start}
.n-svc-n{font-size:clamp(3rem,2rem + 4vw,6rem);font-weight:300;letter-spacing:-.05em;line-height:.9;margin:0}
.n-svc h3{font-size:clamp(1.8rem,1.3rem + 2vw,3rem);margin-bottom:6px}
.n-svc h3 a{text-decoration:none}
.n-svc h3 a:hover{text-decoration:underline}
.n-svc-main>p{max-width:56ch;font-size:1.1em;margin:0}
.n-svc .n-list{grid-template-columns:1fr 1fr;gap:8px 20px;max-width:70ch}
.n-svc .n-pill{margin-top:6px}
.n-svc-foot{margin-top:36px;display:flex;justify-content:center}
.n-svc-stack.n-stack .n-svc{position:sticky;top:20px}

/* ---------- planes ---------- */
.n-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}
@media (max-width:1000px){.n-plan-grid{grid-template-columns:1fr}}
.n-plan{background:var(--card);border-radius:var(--r-xl);padding:clamp(26px,3vw,40px);display:flex;flex-direction:column;gap:14px}
.n-plan-name{font-weight:700;font-size:1.1rem;margin:0}
.n-price{font-size:clamp(2.6rem,2rem + 2.5vw,4rem);font-weight:300;letter-spacing:-.04em;line-height:1;margin:0;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.n-price small{font-size:.95rem;font-weight:600;letter-spacing:0}
.n-plan-desc{color:var(--mut);margin:0;min-height:3.3em}
.n-plan .n-list{margin-top:6px}
.n-plan .n-pill{align-self:flex-start;margin-top:auto}
.n-plan-featured{background:var(--ink);color:var(--paper);--mut:#bcb5ae}
.n-plan-featured .n-pill{background:var(--amber);color:var(--ink)}
.n-plan-featured .n-list li::before{background:var(--amber)}

/* ---------- reseñas con pestañas ---------- */
.n-rev-body{display:grid;grid-template-columns:260px 1fr;gap:clamp(24px,4vw,64px);align-items:start}
.n-tabs{display:grid;gap:6px}
.n-tabs [role=tab]{text-align:left;background:var(--card);color:var(--fg);border:0;padding:14px 20px;border-radius:var(--r-pill);font:inherit;font-weight:600;cursor:pointer;transition:background .25s,color .25s}
.n-tabs [role=tab]:hover{background:var(--card-2)}
.n-tabs [role=tab][aria-selected=true]{background:var(--ink);color:var(--paper)}
.n-rev-panels{position:relative}
.n-rev{border-radius:var(--r-xl);padding:clamp(28px,4vw,56px);min-height:320px;display:flex;flex-direction:column;justify-content:space-between;gap:28px}
.n-quote{font-size:clamp(1.3rem,1rem + 1.4vw,2.1rem);font-weight:300;line-height:1.35;letter-spacing:-.02em;margin:0}
.n-rev footer{display:flex;align-items:center;gap:14px}
.n-rev footer div{display:grid}
.n-rev footer span:last-child{font-size:.95rem;opacity:.8}
.n-avatar{width:48px;height:48px;border-radius:50%;background:var(--ink);color:var(--paper);display:grid;place-items:center;font-weight:700;font-size:1.2rem;}
.n-tile-ochre .n-avatar,.n-tile-orange .n-avatar{background:var(--amber);color:var(--ink)}
.n-rev-nav{display:flex;gap:8px;margin-top:14px;justify-content:flex-end}
.n-arrow{width:52px;height:52px;border-radius:50%;border:2px solid var(--fg);background:transparent;color:var(--fg);font-size:22px;display:grid;place-items:center;cursor:pointer;transition:background .25s,color .25s}
.n-arrow:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}

/* ---------- zonas ---------- */
.n-zgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:32px}
.n-zones-home{overflow-x:clip}
.n-zone{display:flex;flex-direction:column;gap:4px;padding:18px 22px;border-radius:var(--r-l);background:var(--card);text-decoration:none;transition:transform .35s var(--ease),background .25s;min-height:96px;justify-content:center}
.n-zone strong{font-size:1.15rem;letter-spacing:-.01em}
.n-zone small{color:var(--mut);font-size:.92rem}
.n-zone:hover{background:var(--lilac);transform:translateY(-3px);color:var(--ink)}
.n-zone:hover small{color:var(--ink)}
.n-zones-in .n-zgrid{margin-bottom:0}

/* ---------- blog ---------- */
.n-post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.n-post{display:flex;flex-direction:column;gap:8px;text-decoration:none}
.n-post-x{display:none}
@media (min-width:761px) and (max-width:1100px){.n-post-x{display:flex}}
.n-post-img{display:block;border-radius:var(--r-l);padding:16px;overflow:hidden}
/* la imagen a su proporción real (16:9): nunca se recorta (Diego) */
.n-post-img img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;border-radius:12px}
.n-post-cat{display:inline-block;font-size:.85rem;font-weight:700;color:var(--ink);background:var(--lilac);padding:4px 12px;border-radius:var(--r-pill);align-self:flex-start;margin-top:8px}
.n-post time{font-size:.9rem;color:var(--mut)}
.n-post h3{font-size:1.3rem}
.n-post:hover h3{text-decoration:underline}
.n-post p{color:var(--mut);margin:0}
.n-posts .n-pill{margin-top:36px}
.page-hub .n-posts .n-post-grid{grid-template-columns:repeat(2,1fr)}
.n-article .article{max-width:820px;margin:0 auto}
.n-article .n-crumbs{max-width:820px;margin-left:auto;margin-right:auto}
.article-head h1{font-size:clamp(2.2rem,1.4rem + 3.4vw,4rem);font-weight:600;margin:12px 0 18px}
.article-meta{color:var(--mut);font-size:.95rem}
.article-hero{border-radius:var(--r-xl);padding:20px 20px 0;overflow:hidden;margin:28px 0 36px}
.article-hero img{border-radius:14px 14px 0 0;aspect-ratio:16/9;object-fit:cover;width:100%}
.toc{background:var(--card);border-radius:var(--r-l);padding:22px 26px;margin-bottom:36px}
.toc h2{font-size:1rem;margin-bottom:10px}
.toc ol{display:grid;gap:6px;counter-reset:t}
.toc li{counter-increment:t;padding-left:28px;position:relative}
.toc li::before{content:counter(t);position:absolute;left:0;font-weight:700;color:var(--orange)}
.prose{font-size:1.08rem;line-height:1.7}
.prose h2{font-size:clamp(1.6rem,1.2rem + 1.4vw,2.3rem);margin:1.8em 0 .6em;scroll-margin-top:24px}
.prose h3{font-size:1.35rem;margin:1.4em 0 .5em}
.prose p,.prose li{max-width:70ch}
.prose ul,.prose ol{margin:0 0 1.2em;padding-left:1.4em;display:grid;gap:6px}
.prose ul{list-style:disc}.prose ol{list-style:decimal}
.prose img{border-radius:var(--r-l);margin:1.5em 0}
.prose a{color:inherit;font-weight:600}
.prose blockquote{margin:1.5em 0;padding:22px 26px;background:var(--blue);color:var(--ink);border-radius:var(--r-l)}
.prose table{border-collapse:collapse;width:100%;margin:1.2em 0;font-size:.98rem}
.prose p,.prose li,.prose td{overflow-wrap:anywhere}
.prose th,.prose td,.n-table th,.n-table td{padding:12px 14px;border-bottom:1px solid var(--rule);text-align:left;vertical-align:top}
.prose th,.n-table th{font-weight:700;background:var(--card)}
.table-wrap{overflow-x:auto}
.n-table table{width:100%;border-collapse:collapse}
.n-tiles-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px}
.n-tile-link{min-height:120px}
.n-svclinks h2{margin-bottom:10px}
.n-related{padding-top:0}

/* ---------- FAQ ---------- */
.faq{display:grid;gap:10px;max-width:920px}
.faq details{background:var(--card);border-radius:var(--r-l);padding:0 26px}
.faq summary{list-style:none;cursor:pointer;padding:20px 0;font-weight:600;font-size:1.1rem;display:flex;justify-content:space-between;align-items:center;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary svg{transition:transform .3s;color:var(--orange)}
.faq details[open] summary svg{transform:rotate(180deg)}
.faq details p{padding:0 0 22px;color:var(--mut);max-width:70ch}

/* ---------- CTA, contacto, calculadora ---------- */
.n-cta{border-radius:var(--r-xl);padding:clamp(32px,5vw,72px);display:grid;gap:16px;max-width:var(--max)}
.n-cta h2{max-width:18ch}
.n-cta p{max-width:60ch;font-size:1.1em}
.n-cta .n-ctas{margin-top:8px}
.n-cta .n-pill-line{color:inherit}
.n-contact-card{border-radius:var(--r-xl);padding:clamp(28px,4vw,56px);display:flex;flex-direction:column;justify-content:center;gap:16px}
.n-contact-mail{font-size:clamp(1.5rem,1rem + 2vw,2.6rem);font-weight:600;letter-spacing:-.02em;word-break:break-all}
.n-contact-card .n-pill{align-self:flex-start;margin-top:14px}
.n-contact-card .n-contact-mail{margin-bottom:6px}
.n-contact .n-two{align-items:stretch}
.n-contact-side{display:flex;flex-direction:column;gap:26px}
.n-contact-img{width:100%;height:auto;aspect-ratio:3/2;flex:none;object-fit:cover;border-radius:var(--r-xl)}
.n-contact-list{display:grid;gap:22px}
.n-contact-list dt{font-weight:700;margin-bottom:4px}
.n-contact-list dd{margin:0;color:var(--mut)}
.n-calc-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(24px,4vw,64px);align-items:start}
.n-calc-q{border:0;padding:0;margin:0 0 30px}
.n-calc-q legend{display:flex;align-items:center;gap:14px;font-weight:700;font-size:1.15rem;margin-bottom:14px;padding:0}
.n-calc-q .n-step-n{width:44px;height:44px;font-size:1rem}
.n-opts{display:flex;flex-wrap:wrap;gap:8px}
.n-opt{position:relative;cursor:pointer}
.n-opt input{position:absolute;opacity:0;width:1px;height:1px}
.n-opt span{display:block;padding:12px 20px;border-radius:var(--r-pill);border:2px solid var(--rule);font-weight:600;transition:background .25s,border-color .25s,color .25s}
.n-opt input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.n-opt input:focus-visible+span{outline:3px solid currentColor;outline-offset:3px}
.n-calc-result{position:sticky;top:20px}
.n-calc-plan{border-radius:var(--r-xl);padding:clamp(26px,3vw,40px);display:grid;gap:14px}
.n-calc-plan h3{font-size:1.8rem}
.n-calc-plan .n-pill{justify-self:start}
.n-calc-all{display:inline-block;margin-top:16px;font-weight:600}

/* ---------- footer rosa ---------- */
.n-footer{padding:var(--sec) var(--pad) 32px;border-top:1px solid var(--ink-3)}
.n-foot-top h2 em{font-style:normal;color:var(--amber)}
.n-foot-cols a:hover{color:var(--amber)}
.n-footer>*{max-width:var(--max);margin-left:auto;margin-right:auto}
.n-foot-top{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:clamp(40px,6vw,88px)}
.n-foot-top h2{font-size:clamp(2.6rem,1.6rem + 5vw,6rem);font-weight:700;letter-spacing:-.04em}
.n-foot-ctas{display:flex;gap:10px;flex-wrap:wrap}
.n-foot-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(28px,5vw,80px);border-top:2px solid var(--rule);padding-top:40px}
.n-foot-label{font-weight:700;margin:0 0 10px}
.n-foot-brand{font-size:clamp(2.6rem,2rem + 2vw,3.6rem);margin-bottom:18px;padding:0}
.n-foot-nap p{max-width:44ch}
.n-foot-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.n-foot-cols ul{display:grid;gap:8px}
.n-foot-cols a{text-decoration:none}
.n-foot-cols a:hover{text-decoration:underline}
.n-foot-copy{margin-top:40px;font-size:.9rem;opacity:.8}
.n-float{position:fixed;right:18px;bottom:18px;z-index:60;width:60px;height:60px;border-radius:50%;background:var(--amber);color:var(--ink);display:grid;place-items:center;font-size:28px;box-shadow:0 10px 30px rgba(20,20,20,.35);transition:transform .35s var(--ease)}
.n-float svg{position:relative;z-index:1}
.n-float-wave{position:absolute;inset:0;border-radius:50%;border:2px solid var(--amber);animation:n-wave 2.4s cubic-bezier(.2,.8,.2,1) infinite;pointer-events:none}
.n-float-wave-2{animation-delay:1.2s}
@keyframes n-wave{0%{transform:scale(1);opacity:.9}100%{transform:scale(1.9);opacity:0}}
.n-float:hover{transform:scale(1.08)}

/* ---------- popup del blog ---------- */
.n-pop{position:fixed;inset:0;z-index:70;background:rgba(32,30,31,.6);display:grid;place-items:center;padding:20px}
.n-pop-card{position:relative;background:var(--paper);color:var(--ink);box-shadow:0 30px 80px rgba(0,0,0,.35);border-radius:var(--r-xl);padding:clamp(28px,4vw,48px);max-width:520px;width:100%;display:grid;gap:14px}
.n-pop-card h2{font-size:clamp(1.7rem,1.3rem + 1.5vw,2.5rem)}
.n-pop-card .n-pill{justify-self:start}
.n-pill-cta{background:var(--amber);color:var(--ink);font-size:1.08rem;padding:1em 1.6em;box-shadow:0 8px 24px rgba(245,184,0,.35)}
.n-pill-cta:hover{background:var(--amber-h)}
.n-hcta{font-size:1rem;padding:.95em 1.5em}
.n-pill-cta svg{font-size:1.45em}
.n-pop-tag{font-weight:700;margin:0;display:inline-block;justify-self:start;background:var(--ink);color:var(--amber);padding:5px 12px;border-radius:var(--r-pill);font-size:.9rem}
.n-pop-x{position:absolute;top:16px;right:16px;width:44px;height:44px;border-radius:50%;border:0;background:var(--ink);color:var(--paper);font-size:20px;display:grid;place-items:center;cursor:pointer}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .n-nav{display:none}.n-burger{display:grid}.n-hcta{display:none}
  .n-hero-in{grid-template-columns:1fr}
  .n-hero-tiles{grid-auto-rows:minmax(120px,auto)}
  .n-hero-tiles .n-tile:nth-child(1),.n-hero-tiles .n-tile:nth-child(4){min-height:150px}
  .n-hero-tiles .n-tile:nth-child(2){margin-top:28px}.n-hero-tiles .n-tile:nth-child(3){margin-top:-28px}
  .n-zgrid{grid-template-columns:repeat(2,1fr)}
  .n-post-grid{grid-template-columns:repeat(2,1fr)}
  .n-rev-body{grid-template-columns:1fr}
  .n-tabs{display:flex;flex-wrap:wrap}
  .n-cols-3{grid-template-columns:repeat(2,1fr)}
  .n-logos{grid-template-columns:repeat(2,1fr)}
  .n-fcards{grid-template-columns:1fr}
  .n-fcard{min-height:200px}
}
@media (max-width:760px){
  :root{--sec:clamp(52px,11vw,72px)}
  body{font-size:1.02rem}
  .n-two,.n-steps,.n-cols-2,.n-cols-3,.n-plan-grid,.n-post-grid,.n-work-grid,.n-foot-grid,.n-foot-cols,.n-calc-grid,.n-tiles-row,.n-feat,.n-about-cols{grid-template-columns:1fr}
  .page-hub .n-posts .n-post-grid{grid-template-columns:1fr}
  .n-hero-facts{grid-template-columns:1fr}
  .n-fact{min-height:0;padding:20px;flex-direction:row;align-items:baseline;gap:14px;justify-content:flex-start}
  .n-hero-tiles{grid-template-columns:1fr 1fr;gap:10px}
  .n-tile{padding:16px;min-height:110px;font-size:1.05rem}
  .n-hero-tiles .n-tile:nth-child(1),.n-hero-tiles .n-tile:nth-child(4){min-height:120px}
  .n-hero-tiles .n-tile:nth-child(2){margin-top:18px}.n-hero-tiles .n-tile:nth-child(3){margin-top:-18px}
  .n-svc-body{grid-template-columns:1fr}
  .n-svc .n-list{grid-template-columns:1fr}
  .n-svc{min-height:0;grid-template-columns:1fr}
  .n-svc-media{min-height:0}.n-svc-img{min-height:0;aspect-ratio:3/2;height:auto}
  .n-work{flex-basis:84vw}
  .n-work-end{flex-basis:84vw;aspect-ratio:auto;min-height:260px}
  .n-step{grid-template-columns:1fr;gap:10px}.n-step-n{width:44px;height:44px;font-size:1.05rem}
  .n-calc-result{position:static}
  .n-pill{padding:.8em 1.2em}
  .n-ctas .n-pill,.n-foot-ctas .n-pill{width:100%;justify-content:center}
  .n-float{width:54px;height:54px;font-size:24px}
  .n-brand{font-size:1.7rem}
}
@media (max-width:380px){
  .n-pill{white-space:normal;text-align:left}
  .n-zgrid{grid-template-columns:1fr}
  .n-zone{min-height:0}
  .n-hero-tiles{grid-template-columns:1fr}
  .n-hero-tiles .n-tile{margin-top:0!important;min-height:0}
  .n-logos{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .n-float-wave{display:none}
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
  .n-big .w{color:var(--paper)}
}

/* llamada a la acción dentro de los posts */
.n-incta{margin:40px 0;padding:clamp(24px,3.5vw,36px);border-radius:var(--r-xl);background:var(--ink);color:var(--paper);display:grid;gap:10px;justify-items:start}
.n-incta p{margin:0}.n-incta .n-incta-t{font-size:clamp(1.25rem,1rem + 1vw,1.6rem);font-weight:700;letter-spacing:-.02em;line-height:1.2}
.prose .n-incta a.n-pill,.n-incta a.n-pill{margin-top:8px;text-decoration:none;color:var(--ink);background:var(--amber)}
.prose .n-incta a.n-pill:hover{background:var(--amber-h)}
