/* ==========================================================================
   Nova Forge CR — tema compartido (inicio, blog, artículos, currículo)
   Negro cálido + un solo acento naranja, títulos con serifa (Fraunces)
   y texto en Manrope.
   ========================================================================== */
:root{
  --fondo:#0b0b0c;
  --fondo-2:#111113;
  --superficie:#161618;
  --superficie-2:#1d1d20;
  --linea:rgba(255,255,255,0.08);
  --linea-2:rgba(255,255,255,0.14);
  --texto:#f3f0ea;
  --texto-2:#c9c4bb;
  --suave:#8f8a82;
  --acento:#f26a21;
  --acento-hover:#ff7a33;
  --acento-suave:rgba(242,106,33,0.12);
  --verde-wa:#25d366;
  --serif:'Fraunces', Georgia, 'Times New Roman', serif;
  --sans:'Manrope', 'Segoe UI', Arial, sans-serif;
  --ancho:1180px;
  --radio:14px;
  --nav-alto:72px;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-alto) + 12px);}
body{background:var(--fondo);color:var(--texto);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img{max-width:100%;display:block;}
a{color:inherit;}
h1,h2,h3{font-family:var(--serif);font-weight:500;letter-spacing:-0.01em;line-height:1.12;color:var(--texto);}
h1 em,h2 em,h3 em{font-style:italic;color:var(--acento);font-weight:500;}
.contenedor{max-width:var(--ancho);margin:0 auto;padding:0 28px;}

/* Etiqueta pequeña sobre los títulos */
.etiqueta{display:inline-flex;align-items:center;gap:10px;font-size:0.74rem;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:var(--suave);}
.etiqueta::before{content:'';width:22px;height:1px;background:var(--acento);}

/* Botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 24px;border-radius:999px;font-family:var(--sans);font-size:0.95rem;font-weight:700;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:background .2s,border-color .2s,color .2s,transform .2s;}
.btn svg{width:18px;height:18px;flex-shrink:0;}
.btn-primario{background:var(--acento);color:#fff;}
.btn-primario:hover{background:var(--acento-hover);}
.btn-secundario{background:transparent;color:var(--texto);border-color:var(--linea-2);}
.btn-secundario:hover{border-color:var(--texto-2);}
.btn-wa{background:var(--verde-wa);color:#06290f;}
.btn-wa:hover{background:#3ee07a;}
.enlace-flecha{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:0.92rem;color:var(--acento);text-decoration:none;}
.enlace-flecha span{transition:transform .2s;}
.enlace-flecha:hover span{transform:translateX(4px);}

/* ---------- Encabezado ---------- */
.nf-nav{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--nav-alto);background:rgba(11,11,12,0.86);backdrop-filter:saturate(140%) blur(16px);-webkit-backdrop-filter:saturate(140%) blur(16px);border-bottom:1px solid var(--linea);}
.nf-nav .contenedor{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px;}
.nf-marca{display:flex;align-items:center;gap:12px;text-decoration:none;cursor:pointer;}
.nf-marca img{width:38px;height:38px;object-fit:contain;border-radius:9px;}
.nf-marca-txt{font-family:var(--serif);font-size:1.22rem;font-weight:600;color:var(--texto);letter-spacing:-0.01em;}
.nf-marca-txt span{color:var(--suave);font-weight:400;}
.nf-links{display:flex;align-items:center;gap:30px;list-style:none;}
.nf-links a{font-size:0.9rem;font-weight:600;color:var(--texto-2);text-decoration:none;transition:color .2s;position:relative;padding:6px 0;}
.nf-links a:hover,.nf-links a.activo{color:var(--texto);}
.nf-links a.activo::after{content:'';position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--acento);border-radius:2px;}
.nf-nav-der{display:flex;align-items:center;gap:14px;}
.nf-nav-der .btn{min-height:42px;padding:0 20px;font-size:0.88rem;}
.nf-hamburguesa{display:none;width:44px;height:44px;border:1px solid var(--linea-2);border-radius:12px;background:transparent;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px;}
.nf-hamburguesa span{display:block;width:18px;height:2px;background:var(--texto);border-radius:2px;}
.nf-menu-movil{position:fixed;inset:0;z-index:200;background:var(--fondo);display:flex;flex-direction:column;padding:96px 28px 40px;gap:4px;transform:translateX(100%);transition:transform .3s ease;visibility:hidden;}
.nf-menu-movil.abierto{transform:none;visibility:visible;}
.nf-menu-movil a{font-family:var(--serif);font-size:1.9rem;color:var(--texto);text-decoration:none;padding:10px 0;border-bottom:1px solid var(--linea);}
.nf-menu-movil .btn{margin-top:28px;font-family:var(--sans);font-size:1rem;border-bottom:none;}
.nf-menu-cerrar{position:absolute;top:16px;right:20px;width:44px;height:44px;border:1px solid var(--linea-2);border-radius:12px;background:transparent;color:var(--texto);font-size:1.1rem;cursor:pointer;}

/* ---------- Pie de página ---------- */
.nf-pie{background:var(--fondo-2);border-top:1px solid var(--linea);padding:64px 0 28px;}
.nf-pie-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:48px;}
.nf-pie p{color:var(--suave);font-size:0.92rem;max-width:340px;margin-top:16px;}
.nf-pie h4{font-family:var(--sans);font-size:0.74rem;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:var(--suave);margin-bottom:16px;}
.nf-pie ul{list-style:none;display:flex;flex-direction:column;gap:2px;}
.nf-pie ul a{display:inline-block;padding:7px 0;color:var(--texto-2);text-decoration:none;font-size:0.93rem;transition:color .2s;}
.nf-pie ul a:hover{color:var(--texto);}
.nf-pie-base{margin-top:48px;padding-top:24px;border-top:1px solid var(--linea);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:var(--suave);font-size:0.82rem;padding-right:90px;}

/* ---------- Botón flotante de WhatsApp ---------- */
.nf-wa-flotante{position:fixed;right:24px;bottom:24px;z-index:90;width:54px;height:54px;border-radius:50%;background:var(--verde-wa);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(0,0,0,0.35);transition:transform .2s;}
.nf-wa-flotante:hover{transform:translateY(-2px);}
.nf-wa-flotante svg{width:26px;height:26px;fill:#fff;}

/* Aparición suave al hacer scroll */
.aparecer{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s ease;}
.aparecer.visible{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){.aparecer{opacity:1;transform:none;transition:none;}html{scroll-behavior:auto;}}

@media(max-width:980px){
  .nf-links{display:none;}
  .nf-hamburguesa{display:flex;}
  .nf-nav-der .btn{display:none;}
  .nf-pie-grid{grid-template-columns:1fr 1fr;}
  .nf-pie-grid > div:first-child{grid-column:1 / -1;}
}
@media(max-width:600px){
  :root{--nav-alto:64px;}
  .contenedor{padding:0 20px;}
  .nf-pie-grid{grid-template-columns:1fr;gap:32px;}
  .nf-pie-base{padding-right:0;padding-bottom:64px;}
  .nf-wa-flotante{right:18px;bottom:18px;width:52px;height:52px;}
}
