/* AUDITOR LANG MARKER (no-op) */
.lang{ /* marker only; real styles abajo */ }

/* ==========================================================
   Nature’s Resources — Global Commodities & Energy Solutions
   ========================================================== */

:root{
  --navy:#0a173d;
  --navy2:#0e2450;
  --gold:#caa84a;
  --gold2:#e4cf86;
  --ink:#0c1227;
  --muted:#8b95b3;
  --white:#fff;
  --radius:16px;
  --shadow:0 10px 30px rgba(8,14,35,.25);
}

*{box-sizing:border-box}
body{
  margin:0;
  background:#fafbff;
  color:#131a2c;
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Inter,Arial,sans-serif;
  overflow-x:hidden;
}
h1,h2,h3{
  font-family:"Montserrat",system-ui,sans-serif;
  margin:.2rem 0 .6rem;
}
.wrap{max-width:1160px;margin:0 auto;padding:0 20px}
.center{text-align:center}
.muted{color:var(--muted)}

/* --- Buttons --- */
.btn{
  display:inline-flex;align-items:center;gap:.6rem;
  padding:.9rem 1.1rem;border-radius:12px;
  border:1px solid transparent;text-decoration:none;
  font-weight:700;cursor:pointer;transition:all .25s ease;
}
.btn--gold{
  background:linear-gradient(180deg,var(--gold2),var(--gold));
  color:#1f1d18;box-shadow:var(--shadow);
}
.btn--gold:hover{filter:brightness(1.1)}
.btn--dark{background:#0d1a3d;color:#fff}
.btn--dark:hover{filter:brightness(1.2)}
.btn--ghost{background:transparent;border:1px solid rgba(255,255,255,.25);color:#e6ebff;padding:.6rem .9rem}

/* --- Topbar --- */
.topbar{
  position:sticky;top:0;z-index:30;
  background:linear-gradient(90deg,var(--navy),#071333);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.topbar .wrap{
  display:flex;align-items:center;justify-content:space-between;height:70px;
}
.brand{
  display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:800;
}
.brand img{height:28px;filter:drop-shadow(0 6px 18px rgba(0,0,0,.4))}
.nav a{color:#e6ebff;text-decoration:none;margin:0 10px;font-weight:600;transition:color .3s}
.nav a:hover{color:var(--gold2)}
.lang{margin-left:6px;background:transparent;border:1px solid rgba(255,255,255,.25);color:#e6ebff;padding:.5rem .8rem;border-radius:10px}

/* ==========================================================
   HERO — crossfade version
   ========================================================== */
.hero{
  position:relative;min-height:100vh;
  color:#fff;display:grid;place-items:center;overflow:hidden;
}
.hero__bg{position:absolute;inset:0}
.hero__slide{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
  opacity:0;transition:opacity 1.4s ease-in-out;will-change:opacity,background-image;
}
.hero__slide.is-active{opacity:1}
.hero__veil{
  position:absolute;inset:0;
  background:
    radial-gradient(1200px 520px at 70% 12%, rgba(0,0,0,.18), transparent),
    linear-gradient(180deg, rgba(8,16,45,.55), rgba(8,16,45,.28) 40%, rgba(8,16,45,.70));
}
.hero__content{position:relative;z-index:2;text-align:center;padding:0 20px}
.hero__logo{
  height:160px;width:auto;display:inline-block;margin-bottom:28px;
  filter:drop-shadow(0 8px 22px rgba(0,0,0,.55));
}
.hero h1{
  font-size:clamp(28px,5vw,56px);
  margin:.2rem 0 .3rem;text-shadow:0 6px 18px rgba(0,0,0,.35);
}
.hero p{opacity:.95;text-shadow:0 4px 12px rgba(0,0,0,.30)}
@media (max-width:980px){
  .hero{min-height:82vh}
  .hero__logo{height:110px;margin-bottom:20px}
}

/* ==========================================================
   PRODUCTS HERO — full visual section
   ========================================================== */
.hero--products{
  position:relative;min-height:100vh;color:#fff;
  display:grid;place-items:center;overflow:hidden;
  background:#0a173d;
}
.hero__bg--products{
  position:absolute;inset:0;
  background:url('/assets/products-hero.webp') center/cover no-repeat;
}
@supports not (background: paint(something)){
  .hero__bg--products{background-image:url('/assets/products-hero.png')}
}
.hero--products .hero__content{
  position:relative;z-index:2;text-align:center;padding:0 20px;
}
.hero--products .hero__logo{
  height:160px;margin-bottom:28px;
  filter:drop-shadow(0 8px 22px rgba(0,0,0,.55));
}
.hero--products h1{
  font-size:clamp(28px,5vw,56px);
  margin:.2rem 0 .3rem;text-shadow:0 6px 18px rgba(0,0,0,.35);
}
.hero--products p{
  opacity:.95;text-shadow:0 4px 12px rgba(0,0,0,.3);
}

/* ==========================================================
   SECTIONS & CARDS
   ========================================================== */
.section{padding:72px 0}
.grid2{display:grid;grid-template-columns:1.1fr .9fr;gap:28px}
.cards3{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:22px;margin-top:32px;justify-items:center;
}
.card{
  background:#fff;border-radius:var(--radius);
  box-shadow:var(--shadow);padding:24px;position:relative;
  transform:translateY(30px);opacity:0;
  transition:transform .8s ease,opacity .8s ease,box-shadow .3s ease;
}
.card.visible{transform:translateY(0);opacity:1}
.card:hover{
  box-shadow:0 20px 40px rgba(0,0,0,.25);
  transform:translateY(-6px);
}
.card img{
  width:100%;border-radius:12px;margin-bottom:16px;
  transition:transform .6s ease;
}
.card:hover img{transform:scale(1.05)}
.card h3{color:var(--navy2);margin:.5rem 0}
.card p{color:#444;font-size:.95rem;line-height:1.5}

/* ==========================================================
   FOOTER
   ========================================================== */
.footer{
  background:#0a173d;color:#cfd6ff;padding:28px 0;
  border-top:1px solid rgba(255,255,255,.08);
}
.footer .wrap{
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:10px;
}
.footer a{color:var(--gold2);text-decoration:none}
.footer a:hover{text-decoration:underline}

/* ==========================================================
   RESPONSIVE
   ========================================================== */
@media (max-width:980px){
  .grid2{grid-template-columns:1fr}
  .cards3{grid-template-columns:1fr}
  .nav a{display:none}
  .lang{display:none}
}

/* ==========================================================
   FADE-IN on scroll (for product cards)
   ========================================================== */
@keyframes fadeUp{
  from{opacity:0;transform:translateY(40px)}
  to{opacity:1;transform:translateY(0)}
}
.card[data-animate]{animation:fadeUp .8s ease forwards;animation-delay:.2s}
.card:nth-child(2)[data-animate]{animation-delay:.35s}
.card:nth-child(3)[data-animate]{animation-delay:.5s}
.card:nth-child(4)[data-animate]{animation-delay:.65s}
/* === Centrado y marco uniforme de imágenes de productos === */
.products-grid{justify-items:center}

.card.product picture{
  display:grid;              /* centrado perfecto */
  place-items:center;
  width:100%;
  aspect-ratio:3/4;          /* mismo alto visual para todas */
  padding:12px;
  border-radius:12px;
  background:linear-gradient(180deg,#0b1636 0,#0e2047 100%);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.06);
}

.card.product img{
  max-width:100%;
  max-height:100%;
  object-fit:contain;        /* no recorta, ajusta dentro del marco */
  display:block;
  margin:auto;               /* centrado extra por si acaso */
  border-radius:8px;
}

/* === ABOUT: hero full (reuse hero styles) === */
.hero--about{min-height:78vh}
.hero__bg--about{position:absolute;inset:0;background-size:cover;background-position:center}

/* === Timeline === */
.timeline{position:relative;margin:10px auto;max-width:900px;padding-left:24px}
.timeline:before{content:"";position:absolute;left:14px;top:0;bottom:0;width:2px;background:linear-gradient(#d6dbff,#a9b4e6)}
.tl-item{position:relative;margin:24px 0 24px 0}
.tl-dot{position:absolute;left:6px;top:8px;width:16px;height:16px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px rgba(202,168,74,.25)}
.tl-card{margin-left:32px;background:#fff;border-radius:12px;box-shadow:var(--shadow);padding:16px}

/* === Stats cards === */
.card.stat{display:grid;place-items:center;text-align:center}
.card.stat h3{font-size:2rem;margin:.2rem 0;color:var(--navy2)}
.card.visible{transform:translateY(0);opacity:1}

/* ===== THEME SWITCH ================================================== */
:root{
  --bg:#fafbff; --text:#131a2c; --muted:#8b95b3;
  --card:#fff; --card-shadow:0 10px 30px rgba(8,14,35,.25);
  --navy:#0a173d; --navy2:#0e2450;
  --gold:#caa84a; --gold2:#e4cf86;
  --veil-top: rgba(8,16,45,.55);
  --veil-mid: rgba(8,16,45,.28);
  --veil-bot: rgba(8,16,45,.70);
}
body{ background:var(--bg); color:var(--text); }

/* Dark theme overrides */
:root[data-theme="dark"]{
  --bg:#0b1022; --text:#e6ebff; --muted:#aab5de;
  --card:#11183a; --card-shadow:0 14px 34px rgba(0,0,0,.45);
  --navy:#070f2a; --navy2:#1a2a62;
  --veil-top: rgba(2,6,18,.70);
  --veil-mid: rgba(2,6,18,.40);
  --veil-bot: rgba(2,6,18,.88);
}
.topbar{ background:linear-gradient(90deg,var(--navy),#071333); }
.card{ background:var(--card); box-shadow:var(--card-shadow); }
.card p{ color: var(--text); opacity:.85 }
.muted{ color: var(--muted); }
.footer{ background:var(--navy); }
/* Hero veil usa variables para respetar el tema */
.hero__veil{
  position:absolute; inset:0;
  background:
    radial-gradient(1200px 520px at 70% 12%, rgba(0,0,0,.18), transparent),
    linear-gradient(180deg, var(--veil-top), var(--veil-mid) 40%, var(--veil-bot));
}


/* ==== MOBILE NAV (Hamburger) ======================================= */
.header-ctl{display:flex;align-items:center;gap:8px;margin-left:auto}
.icon-btn{appearance:none;border:1px solid rgba(255,255,255,.22);background:transparent;color:#e6ebff;border-radius:10px;padding:.45rem .6rem;cursor:pointer}
.icon-btn:hover{filter:brightness(1.1)}
.icon-btn .sep{opacity:.6;margin:0 .25rem}
.hamburger{font-size:1.05rem;font-weight:800}

@media (min-width:981px){
  /* en desktop ocultamos el drawer y el botón */
  #nav-toggle{display:none}
  .mnav{display:none}
}

/* Drawer */
.mnav{position:fixed;inset:0;z-index:2200}
.mnav[hidden]{display:none}
.mnav__overlay{position:absolute;inset:0;background:rgba(0,0,0,.45);backdrop-filter:saturate(120%) blur(2px)}
.mnav__panel{
  position:absolute;top:0;right:0;height:100%;width:min(80vw,360px);
  background:var(--bg);color:var(--text);box-shadow:-20px 0 50px rgba(0,0,0,.35);
  transform:translateX(100%);transition:transform .25s ease;
  display:flex;flex-direction:column;gap:10px;padding:18px;
}
.mnav.is-open .mnav__panel{transform:translateX(0)}
.mnav__close{align-self:flex-end;border-color:rgba(0,0,0,.15);color:inherit}
.mnav__list{list-style:none;margin:10px 0 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.mnav__list a{display:block;padding:.8rem 1rem;border-radius:10px;text-decoration:none;background:var(--card);box-shadow:var(--card-shadow);color:var(--text)}
.mnav__list a:hover{filter:brightness(1.05)}
.mnav__bottom{margin-top:auto;display:flex;gap:8px}

/* Ajustes mobile: ocultar links de la nav en pantallas chicas */
@media (max-width:980px){
  .nav a{display:none}
  .lang{display:none} /* el viejo botón si quedara por compat */
}

/* === HAMBURGER USABILITY BOOST ===================================== */
.header-ctl{position:relative;z-index:1100;gap:10px}
.icon-btn{
  min-width:44px; min-height:44px;         /* target mínimo recomendado */
  padding:.5rem .7rem; border-radius:12px;
  display:inline-grid; place-items:center;
  touch-action:manipulation; -webkit-tap-highlight-color:transparent;
}
.hamburger{font-size:1.15rem;font-weight:800;letter-spacing:.5px}

/* agranda el hit area sin cambiar el layout visual */
.icon-btn::after{
  content:""; position:absolute; inset:-6px; /* +12px al ancho/alto total */
}

/* el overlay nunca bloquea el header */
.mnav__overlay{pointer-events:auto}
.topbar{position:sticky;z-index:1200}

/* swipe affordance (opcional, sutil) */
@media (max-width:980px){
  .mnav__panel{touch-action:pan-y;}
}

/* mejor espaciado de links en el drawer */
.mnav__list a{padding:1rem 1.1rem; font-size:1.05rem}
html{color-scheme:dark}
body{background:#0b1024 !important;color:#e6ebff !important}
.topbar{background:linear-gradient(90deg,#0a173d,#071333) !important}
.card{background:#101735 !important;color:#dfe6ff !important}
.card p.muted,.muted{color:#9fb0d4 !important}
.footer{background:#0a173d !important;color:#cfd6ff !important}

/* LANG TOGGLE */
.lang{
  display:inline-flex;align-items:center;gap:.45rem;
  padding:.45rem .65rem;border-radius:12px;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.06);
  color:#e6ebff;font-weight:700;line-height:1;white-space:nowrap;
  -webkit-tap-highlight-color:transparent; user-select:none;
}
.lang .sep{opacity:.45}
.lang__opt{opacity:.55;letter-spacing:.3px}
.lang[data-lang="es"]  .lang__opt[data-opt="es"],
.lang[data-lang="en"]  .lang__opt[data-opt="en"]{opacity:1}
.lang:hover{filter:brightness(1.05)}
@media (max-width:980px){
  .lang{padding:.42rem .6rem;border-radius:10px}
}

/* NR LANG TOGGLE */
.lang{
  display:inline-flex;align-items:center;gap:.45rem;
  padding:.45rem .65rem;border-radius:12px;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.06);
  color:#e6ebff;font-weight:700;line-height:1;white-space:nowrap;
  -webkit-tap-highlight-color:transparent; user-select:none;
}
.lang .sep{opacity:.45}
.lang__opt{opacity:.55;letter-spacing:.3px}
.lang[data-lang="es"] .lang__opt[data-opt="es"],
.lang[data-lang="en"] .lang__opt[data-opt="en"]{opacity:1}
.lang:hover{filter:brightness(1.05)}
@media (max-width:980px){ .lang{padding:.42rem .6rem;border-radius:10px} }

/* NR LANG TOGGLE */
.lang{
  display:inline-flex;align-items:center;gap:.45rem;
  padding:.45rem .65rem;border-radius:12px;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.06);
  color:#e6ebff;font-weight:700;line-height:1;white-space:nowrap;
  -webkit-tap-highlight-color:transparent; user-select:none;
}
.lang .sep{opacity:.45}
.lang__opt{opacity:.55;letter-spacing:.3px}
.lang[data-lang="es"] .lang__opt[data-opt="es"],
.lang[data-lang="en"] .lang__opt[data-opt="en"]{opacity:1}
.lang:hover{filter:brightness(1.05)}
@media (max-width:980px){ .lang{padding:.42rem .6rem;border-radius:10px} }

/* NR LANG TOGGLE */
.lang{
  display:inline-flex;align-items:center;gap:.45rem;
  padding:.45rem .65rem;border-radius:12px;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.06);
  color:#e6ebff;font-weight:700;line-height:1;white-space:nowrap;
  -webkit-tap-highlight-color:transparent; user-select:none;
}
.lang .sep{opacity:.45}
.lang__opt{opacity:.55;letter-spacing:.3px}
.lang[data-lang="es"] .lang__opt[data-opt="es"],
.lang[data-lang="en"] .lang__opt[data-opt="en"]{opacity:1}
.lang:hover{filter:brightness(1.05)}
@media (max-width:980px){ .lang{padding:.42rem .6rem;border-radius:10px} }

/* LANG TOGGLE */
.lang{
  display:inline-flex;align-items:center;gap:.45rem;
  padding:.45rem .65rem;border-radius:12px;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.06);
  color:#e6ebff;font-weight:700;line-height:1;white-space:nowrap;
}
.lang .sep{opacity:.45}
.lang__opt{opacity:.55;letter-spacing:.3px}
.lang[data-lang="es"] .lang__opt[data-opt="es"],
.lang[data-lang="en"] .lang__opt[data-opt="en"]{opacity:1}
@media (max-width:980px){ .lang{padding:.42rem .6rem;border-radius:10px} }

/* LANG TOGGLE */
.lang{
  display:inline-flex;align-items:center;gap:.45rem;
  padding:.45rem .65rem;border-radius:12px;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.06);
  color:#e6ebff;font-weight:700;line-height:1;white-space:nowrap;
}
.lang .sep{opacity:.45}
.lang__opt{opacity:.55;letter-spacing:.3px}
.lang[data-lang="es"] .lang__opt[data-opt="es"],
.lang[data-lang="en"] .lang__opt[data-opt="en"]{opacity:1}
@media (max-width:980px){ .lang{padding:.42rem .6rem;border-radius:10px} }
/* ABOUT HERO FULL v3 */
.hero--about{position:relative;min-height:100vh;display:grid;place-items:center;overflow:hidden;}
@supports (min-height: 100svh){ .hero--about{min-height:100svh;} }
@supports (min-height: 100dvh){ .hero--about{min-height:100dvh;} }
.hero--about .hero__bg{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat;transform:translateZ(0);}
.hero--about .hero__veil{position:absolute;inset:0;
  background:
    radial-gradient(1100px 520px at 70% 12%, rgba(0,0,0,.18), transparent),
    linear-gradient(180deg, rgba(8,16,45,.55), rgba(8,16,45,.28) 40%, rgba(8,16,45,.70));
}
.hero--about .hero__content{position:relative;z-index:2;text-align:center;display:grid;gap:12px;padding:0 20px}
.hero__logo--about{height:clamp(84px,20vw,170px);width:auto;filter:drop-shadow(0 8px 22px rgba(0,0,0,.55));}
.hero--about h1{font-size:clamp(28px,5vw,56px);margin:.2rem 0 .1rem;text-shadow:0 6px 18px rgba(0,0,0,.35);}
/* NR LOGO GLOW */
:root{
  --logo-glow-gold: rgba(202,168,74,.30);   /* dorado suave */
  --logo-glow-gold2: rgba(202,168,74,.16);  /* halo externo */
  --logo-shadow: rgba(0,0,0,.55);
}
.hero__logo{
  /* capas: sombra base + dos halos dorados */
  filter:
    drop-shadow(0 12px 26px var(--logo-shadow))
    drop-shadow(0 0 22px var(--logo-glow-gold))
    drop-shadow(0 0 44px var(--logo-glow-gold2));
  will-change: filter;
}
@media (prefers-reduced-motion: reduce){
  .hero__logo{ will-change: auto; }
}
/* Si hubiera hero claro en el futuro, sube un poco la sombra para legibilidad */
[data-theme="light"] .hero__logo{
  filter:
    drop-shadow(0 14px 30px rgba(0,0,0,.65))
    drop-shadow(0 0 16px rgba(202,168,74,.22));
}

/* ==========================================================
   Logo contrast boost
   - .hero__logo--contrast : aplica brillo bajo + drop-shadow sutil
   - .hero__logo--about    : igual que lo anterior + halo radial detrás
   ========================================================== */
.hero__logo--contrast{
  position:relative;
  z-index:2;
  /* oscurece un poco y añade sombra suave para mayor definición */
  filter: brightness(.85) drop-shadow(0 0 10px rgba(0,0,0,.70));
}

/* Halo radial detrás del logo (no tapa, sólo contrasta) */
.hero__logo--about{ position:relative; z-index:2; }
.hero__logo--about::before{
  content:"";
  position:absolute;
  inset:-24px;                /* tamaño del halo alrededor */
  background: radial-gradient(circle,
              rgba(0,0,0,.58) 0%,
              rgba(0,0,0,.40) 40%,
              rgba(0,0,0,0) 80%);
  border-radius:50%;
  z-index:-1;
  pointer-events:none;
}

/* Opcional: oscurecer ligeramente la franja central del hero para texto/logo */
.hero__veil::after{
  content:"";
  position:absolute; inset:0;
  background: radial-gradient(600px 280px at 50% 45%,
              rgba(0,0,0,.28), rgba(0,0,0,0) 65%);
  pointer-events:none; z-index:1;
}

/* === Logo contrast boost — STRONGER === */
.hero__logo--contrast{
  /* más oscuro y más sombra */
  filter: brightness(.78)
          drop-shadow(0 0 14px rgba(0,0,0,.85))
          drop-shadow(0 6px 18px rgba(0,0,0,.55));
}

/* halo más grande y más denso */
.hero__logo--about::before{
  inset:-34px; /* +10px vs. antes */
  background: radial-gradient(circle,
              rgba(0,0,0,.70) 0%,
              rgba(0,0,0,.55) 42%,
              rgba(0,0,0,.08) 78%,
              rgba(0,0,0,0) 90%);
}

/* refuerzo de la viñeta del hero alrededor del centro */
.hero__veil::after{
  background: radial-gradient(720px 340px at 50% 46%,
              rgba(0,0,0,.34), rgba(0,0,0,0) 68%);
}
/*=== GC-MNAV START ===*/
.header-ctl{ margin-left:auto; display:flex; align-items:center; gap:.55rem; }
.icon-btn,.hamburger{
  appearance:none; border:1px solid rgba(255,255,255,.15);
  background:rgba(255,255,255,.06); border-radius:12px;
  width:44px; height:44px; line-height:44px; text-align:center;
  font-size:20px; font-weight:700; color:#e8eeff; cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.hamburger:active{ transform:scale(.98); }
.lang{
  display:inline-flex; align-items:center; gap:.45rem;
  padding:.45rem .65rem; border-radius:12px;
  border:1px solid rgba(255,255,255,.15);
  background:rgba(255,255,255,.06); color:#e8eeff; font-weight:700; line-height:1;
}
.lang .sep{ opacity:.45 }

/* OFF-CANVAS desde la derecha */
.mnav{ position:fixed; inset:0; z-index:9999; }
.mnav[hidden]{ display:none; }
.mnav__overlay{ position:absolute; inset:0; background:rgba(0,0,0,.45); backdrop-filter:blur(2px);
  opacity:0; transition:opacity .2s ease; }
.mnav__panel{
  position:absolute; top:0; right:0; bottom:0; width:min(86vw,360px);
  background:rgba(8,16,45,.98); border-left:1px solid rgba(255,255,255,.1);
  transform:translateX(100%); transition:transform .22s ease;
  display:flex; flex-direction:column; padding:14px;
}
.mnav.is-open .mnav__overlay{ opacity:1; }
.mnav.is-open .mnav__panel{ transform:translateX(0); }
.mnav__close{ align-self:flex-end; border-radius:10px; }
.mnav__list{ list-style:none; padding:10px 4px; margin:6px 0;
  display:flex; flex-direction:column; gap:10px; }
.mnav__list a{
  display:block; padding:12px 10px; border-radius:10px; text-decoration:none;
  color:#e8eeff; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08);
}
.topbar{ position:relative; z-index:10000; }
/*=== GC-MNAV END ===*/

/* === FIX HEADER === */
.header-ctl{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:.55rem;
}
.hamburger{
  width:42px; height:42px;
  font-size:22px; font-weight:700;
  color:#e8eeff;
  border:1px solid rgba(255,255,255,.15);
  background:rgba(255,255,255,.06);
  border-radius:10px;
  cursor:pointer;
}
.lang{
  display:flex; align-items:center; justify-content:center;
  gap:.35rem;
  padding:.4rem .65rem;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.15);
  background:rgba(255,255,255,.06);
  color:#e8eeff;
  font-weight:700;
}
.lang .sep{opacity:.4}

/* === HEADER LAYOUT FIX === */
.topbar .wrap{display:flex;align-items:center;gap:1rem}
.topbar .brand{display:flex;align-items:center;gap:.6rem}
.topbar .nav{display:flex;align-items:center;gap:1rem;flex-wrap:nowrap}
.header-ctl{margin-left:auto;display:flex;align-items:center;gap:.55rem}

.lang{
  display:inline-flex;align-items:center;gap:.4rem;
  padding:.42rem .66rem;border-radius:10px;
  border:1px solid rgba(255,255,255,.15);
  background:rgba(255,255,255,.06);color:#e8eeff;font-weight:700;
  line-height:1; -webkit-tap-highlight-color:transparent;
}
.lang .sep{opacity:.5}

.hamburger{
  width:42px;height:42px;border-radius:10px;cursor:pointer;
  border:1px solid rgba(255,255,255,.15);
  background:rgba(255,255,255,.06);color:#e8eeff;font-size:22px;font-weight:700;
}

/* Desktop: nav visible, hamburger opcional; el lang queda "enseguida" del nav */
@media (min-width:981px){
  .hamburger{display:none}
}

/* Mobile: lang a la IZQUIERDA del hamburger (misma fila) */
@media (max-width:980px){
  .header-ctl{gap:.5rem}
  .lang{order:1}
  .hamburger{order:2;display:inline-flex;align-items:center;justify-content:center}
}

/* === Mobile Nav panel (si ya existía, esto solo mejora) === */
.mnav{position:fixed;inset:0;z-index:1000}
.mnav[hidden]{display:none}
.mnav__overlay{position:absolute;inset:0;background:rgba(0,0,0,.45);backdrop-filter:blur(2px);opacity:0;transition:opacity .25s ease}
.mnav.is-open .mnav__overlay{opacity:1}
.mnav__panel{
  position:absolute;top:0;right:0;height:100vh;width:min(84vw,360px);
  background:rgba(8,16,45,.96);border-left:1px solid rgba(255,255,255,.08);
  transform:translateX(100%);transition:transform .25s ease;
  display:flex;flex-direction:column;padding:14px 16px;gap:10px
}
.mnav.is-open .mnav__panel{transform:translateX(0)}
.mnav__list{list-style:none;margin:20px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.mnav__list a{display:block;padding:.8rem 1rem;border-radius:10px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}
.mnav__close{align-self:flex-end;width:40px;height:40px;border-radius:10px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.06);color:#e8eeff;font-size:20px}
/* MOBILE MENU PRO v2 */
.topbar{position:sticky;top:0;z-index:900;background:#0f1a3b}
.topbar .wrap{display:flex;align-items:center;gap:1rem}
.topbar .nav{display:flex;align-items:center;gap:1rem}
.header-ctl{margin-left:auto;display:flex;align-items:center;gap:.6rem}

.lang{display:inline-flex;align-items:center;gap:.35rem;padding:.42rem .66rem;border-radius:10px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.06);color:#e8eeff;font-weight:700}
.lang .sep{opacity:.5}

.hamburger{position:relative;width:46px;height:42px;border-radius:10px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.06);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.hamburger .hb{display:block;width:20px;height:2px;background:#e8eeff;border-radius:2px;position:absolute;transition:transform .2s,opacity .2s}
.hamburger .hb:nth-child(1){transform:translateY(-6px)}
.hamburger .hb:nth-child(2){transform:translateY(0)}
.hamburger .hb:nth-child(3){transform:translateY(6px)}

@media (min-width:981px){ .hamburger{display:none} .topbar .nav{margin-left:auto} }
@media (max-width:980px){ .header-ctl{gap:.5rem} .lang{order:1} .hamburger{order:2} }

.mnav{position:fixed;inset:0;z-index:1200}
.mnav[hidden]{display:none}
.mnav__overlay{position:absolute;inset:0;background:rgba(0,0,0,.45);backdrop-filter:blur(2px);opacity:0;transition:opacity .25s ease}
.mnav.is-open .mnav__overlay{opacity:1}
.mnav__panel{position:absolute;top:0;right:0;height:100vh;width:min(86vw,370px);background:rgba(10,18,48,.97);border-left:1px solid rgba(255,255,255,.08);transform:translateX(100%);transition:transform .25s ease;display:flex;flex-direction:column;gap:12px;padding:14px 16px}
.mnav.is-open .mnav__panel{transform:translateX(0)}
.mnav__close{align-self:flex-end;width:40px;height:40px;border-radius:10px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.06);color:#e8eeff;font-size:20px}
.mnav__list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.mnav__list a{display:flex;align-items:center;gap:12px;padding:.85rem 1rem;border-radius:12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:#e8eeff}
.mnav__list svg{width:22px;height:22px;fill:#e8eeff;opacity:.9}
.mnav__list a.wa{background:linear-gradient(180deg,#24d366,#14a34a);color:#0b2e15;border-color:transparent}
/* NAV CLICK FIX */
.topbar{ z-index:3000 !important; position:sticky; top:0; }
.mnav{ z-index:3200 !important; }
.hero__bg, .hero__veil{ pointer-events:none !important; z-index:0 !important; }
.hero__content{ position:relative; z-index:1; }
.hamburger{ touch-action:manipulation; -webkit-tap-highlight-color:transparent; }
/* MOBILE DRAWER FIX */
.topbar{position:sticky;top:0;z-index:3000}
.header-ctl{margin-left:auto;display:flex;align-items:center;gap:.6rem}
.hamburger{display:inline-flex;flex-direction:column;gap:4px;padding:.5rem;border:0;background:transparent;color:#e6ebff;cursor:pointer}
.hamburger .hb{display:block;width:22px;height:2px;background:#e6ebff;opacity:.9}

.mnav[hidden]{display:none !important;}
.mnav{position:fixed;inset:0;display:none;z-index:3200}
.mnav.is-open{display:block}
.mnav__overlay{position:absolute;inset:0;background:rgba(0,0,0,.45)}
.mnav__panel{
  position:absolute;top:0;right:0;height:100%;width:min(86vw,380px);
  background:#0a173d;color:#e6ebff;border-left:1px solid rgba(255,255,255,.08);
  transform:translateX(100%);transition:transform .24s ease;
  box-shadow:-18px 0 40px rgba(0,0,0,.45);
}
.mnav.is-open .mnav__panel{transform:translateX(0)}
.mnav__close{position:absolute;top:8px;right:8px;border:0;background:transparent;color:#e6ebff;font-size:28px;line-height:1;cursor:pointer}
.mnav__list{list-style:none;margin:56px 0 0;padding:0}
.mnav__list li{border-bottom:1px solid rgba(255,255,255,.08)}
.mnav__list a{display:flex;align-items:center;gap:.7rem;padding:14px 18px;text-decoration:none;color:#e6ebff;font-weight:700}
.mnav__list a:hover{background:rgba(255,255,255,.06)}

.hero__bg,.hero__veil{pointer-events:none !important;z-index:0 !important}
.hero__content{position:relative;z-index:1}
/* HAMBURGER VIS FIX */
.topbar{position:sticky;top:0;z-index:3000}
.header-ctl{margin-left:auto;display:flex;align-items:center;gap:.6rem}
.hamburger{display:inline-flex !important;flex-direction:column;gap:4px;padding:.5rem;border:0;background:transparent;color:#e6ebff;cursor:pointer}
.hamburger .hb{display:block;width:22px;height:2px;background:#e6ebff;opacity:.95;border-radius:2px}
.hamburger:focus{outline:2px solid rgba(255,255,255,.35);outline-offset:2px}

/* Asegura que el pill ES|EN quede a la izquierda del menú en móvil */
@media (max-width: 980px){
  .header-ctl{order:3}  /* a la derecha del header */
  .nav{order:2}
}

/* Evitar que el hero tape los clics del header */
.hero__bg,.hero__veil{pointer-events:none !important;z-index:0 !important}
.hero__content{position:relative;z-index:1}
/* MENU FINAL FIX */
.topbar{position:sticky;top:0;z-index:3000}
.header-ctl{margin-left:auto;display:flex;align-items:center;gap:.6rem}
.hamburger{display:inline-flex !important;flex-direction:column;gap:4px;padding:.5rem;border:0;background:transparent;color:#e6ebff;cursor:pointer}
.hamburger .hb{display:block;width:22px;height:2px;background:#e6ebff;border-radius:2px;opacity:.95}
.hamburger:focus{outline:2px solid rgba(255,255,255,.35);outline-offset:2px}
@media (max-width:980px){ .header-ctl{order:3} .nav{order:2} }
.hero__bg,.hero__veil{pointer-events:none !important;z-index:0 !important}
.hero__content{position:relative;z-index:1}

/* Drawer */
.mnav{position:fixed;inset:0;z-index:4000}
.mnav[hidden]{display:none}
.mnav__overlay{position:absolute;inset:0;background:rgba(0,0,0,.45);backdrop-filter:saturate(120%) blur(2px)}
.mnav__panel{position:absolute;top:0;right:0;height:100%;width:min(86vw,360px);background:#0b1430;border-left:1px solid rgba(255,255,255,.1);box-shadow:-12px 0 40px rgba(0,0,0,.45);transform:translateX(100%);transition:transform .28s ease}
.mnav.is-open .mnav__panel{transform:translateX(0)}
.mnav__close{position:absolute;top:10px;right:10px;background:transparent;border:0;color:#e6ebff;font-size:28px;line-height:1;cursor:pointer}
.mnav__list{list-style:none;margin:64px 0 0;padding:0}
.mnav__list li a{display:flex;align-items:center;gap:10px;padding:14px 18px;color:#e6ebff;text-decoration:none;border-radius:10px}
.mnav__list li a:hover{background:rgba(255,255,255,.06)}

/* === DESKTOP RESTORE FIX === */
@media (min-width:981px){
  .hamburger{display:none!important}
  .mnav{display:none!important}
  .nav{display:flex!important}
}

/* === MOBILE ONLY === */
@media (max-width:980px){
  .nav{display:none!important}
  .hamburger{display:inline-flex!important}
}

/* === DESKTOP OVERRIDE (super específico) === */
@media (min-width:981px){
  .topbar .nav{display:flex!important}
  .topbar .header-ctl #nav-toggle,
  .topbar #nav-toggle,
  button#nav-toggle{display:none!important}
  #mnav{display:none!important}
}

/* === MOBILE ONLY === */
@media (max-width:980px){
  .topbar .nav{display:none!important}
  .topbar .header-ctl #nav-toggle,
  .topbar #nav-toggle,
  button#nav-toggle{display:inline-flex!important}
}

/* === LOCATIONS === */
.locations .card{
  background:rgba(7,16,45,.35);
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;padding:18px 16px
}
.locations h2{margin:0 0 .5rem}
.locations .muted{opacity:.85}
/* === LOCATIONS LAYOUT v2 === */
.locations .loc-title{ text-align:center; margin:0 0 14px; }
.locations .wrap.grid2{ align-items:stretch; }
.locations .card{ background:rgba(7,16,45,.35); border:1px solid rgba(255,255,255,.08); border-radius:16px; padding:18px 16px; }
.locations h3.muted{ opacity:.9; margin:.2rem 0 .5rem; }
/* STRUCTURE NORMALIZER */
.topbar{position:sticky;top:0;z-index:900;background:#0f1a3b}
.topbar .wrap{display:flex;align-items:center;gap:1rem;min-height:64px}
.topbar .brand{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none}
.topbar .nav{display:flex;align-items:center;gap:1rem}
.topbar .nav a{display:inline-flex;align-items:center;padding:.4rem .6rem}
.header-ctl{margin-left:auto;display:flex;align-items:center;gap:.6rem}

/* Idioma y hamburguesa coherentes */
.lang{display:inline-flex;align-items:center;gap:.35rem;padding:.42rem .66rem;
  border-radius:10px;border:1px solid rgba(255,255,255,.15);
  background:rgba(255,255,255,.06);color:#e8eeff;font-weight:700;line-height:1}
.lang .sep{opacity:.6}

/* Hamburguesa */
.hamburger{display:none;flex-direction:column;gap:4px;
  width:38px;height:34px;justify-content:center;align-items:center;
  border:1px solid rgba(255,255,255,.15);border-radius:10px;
  background:rgba(255,255,255,.06);cursor:pointer}
.hamburger .hb{display:block;width:20px;height:2px;background:#e8eeff}

/* Drawer móvil por defecto oculto */
.mnav{position:fixed;inset:0;z-index:950}
.mnav[hidden]{display:none}
.mnav__overlay{position:absolute;inset:0;background:rgba(0,0,0,.45);backdrop-filter:blur(2px)}
.mnav__panel{position:absolute;right:0;top:0;bottom:0;width:min(86vw,380px);
  background:#0d1636;border-left:1px solid rgba(255,255,255,.08);padding:18px}

/* Desktop vs Mobile */
@media (min-width:981px){
  .topbar .nav{display:flex!important}
  .hamburger,.mnav{display:none!important}
}
@media (max-width:980px){
  .topbar .nav{display:none!important}
  .hamburger{display:flex!important}
  /* En móvil, deja el pill de idioma pegado a la izquierda del menú */
  .header-ctl{gap:.5rem}
}

/* Hero logo resalte (aplica en todos) */
.hero__logo{filter:
  drop-shadow(0 14px 38px rgba(0,0,0,.60))
  drop-shadow(0 8px 18px rgba(0,0,0,.35));}
/* Landing blocks */
.vp__item h3{margin:.2rem 0 .3rem}
.trust__row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.trust .badge{font-weight:800;font-size:.85rem;color:#1b1b1b;
  background:linear-gradient(180deg,#e9d590,#caa84a);
  padding:.35rem .6rem;border-radius:999px;box-shadow:0 6px 18px rgba(0,0,0,.25)}
.feat__grid .feat picture{display:block;margin-bottom:.4rem}
.feat__grid .feat img{width:100%;height:auto;border-radius:10px}
.process__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.step{position:relative;padding:14px}
.step__n{display:inline-flex;width:36px;height:36px;background:#e9d590;color:#111;border-radius:999px;align-items:center;justify-content:center;font-weight:800;margin-bottom:.6rem}
@media (max-width:980px){.process__grid{grid-template-columns:repeat(2,1fr)}}
.cta .btn{margin:.2rem .4rem}
.faq details{margin:10px 0;padding:12px;border-radius:12px;background:rgba(255,255,255,.02)}
/* ======== Landing extras ======== */
.value-props .vp h3{margin:.2rem 0 .3rem}
.badges .badge-row{display:inline-flex;gap:10px;margin-top:6px}
.badge{font-weight:800;font-size:.8rem;letter-spacing:.4px;color:#1b1b1b;
  background:linear-gradient(180deg,#e9d590,#caa84a);
  padding:.35rem .55rem;border-radius:999px;box-shadow:0 6px 18px rgba(0,0,0,.25)}

.feat__grid .feat picture{display:block;aspect-ratio:16/10;overflow:hidden;border-radius:12px;margin-bottom:.5rem}
.feat__grid .feat img{width:100%;height:100%;object-fit:cover;display:block}

.process .proc__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
@media(max-width:980px){.process .proc__grid{grid-template-columns:repeat(2,1fr)}}
.step h3{font-size:1.4rem;margin:.2rem 0 .4rem;color:#e9ecff}
.docs .docs__list{margin:.3rem 0 0;line-height:1.6}

.testimonials .quote p{font-style:italic;margin:0 0 .4rem}

.faq .faq__item{background:rgba(7,16,45,.35);border:1px solid rgba(255,255,255,.08);
  border-radius:12px;padding:.7rem 1rem;margin:.5rem 0}
.faq .faq__item summary{cursor:pointer;font-weight:700;outline:none}
.faq .faq__item[open]{box-shadow:0 12px 28px rgba(0,0,0,.22)}

/* Header controls & mobile drawer (consistentes) */
.header-ctl{margin-left:auto;display:flex;align-items:center;gap:.6rem}
.hamburger{display:inline-flex;flex-direction:column;gap:4px;padding:.5rem;border:0;background:transparent;color:#e6ebff;cursor:pointer}
.hamburger .hb{display:block;width:22px;height:2px;background:#e6ebff;border-radius:2px}

.mnav{position:fixed;inset:0;z-index:4000}
.mnav[hidden]{display:none}
.mnav__overlay{position:absolute;inset:0;background:rgba(0,0,0,.45);backdrop-filter:saturate(120%) blur(2px)}
.mnav__panel{position:absolute;top:0;right:0;height:100%;width:min(86vw,360px);background:#0b1430;border-left:1px solid rgba(255,255,255,.1); box-shadow:-12px 0 40px rgba(0,0,0,.45);transform:translateX(100%);transition:transform .28s ease}
.mnav.is-open .mnav__panel{transform:translateX(0)}
.mnav__close{position:absolute;top:10px;right:10px;background:transparent;border:0;color:#e6ebff;font-size:28px;line-height:1;cursor:pointer}
.mnav__list{list-style:none;margin:64px 0 0;padding:0}
.mnav__list li a{display:block;padding:14px 18px;color:#e6ebff;text-decoration:none;border-radius:10px}
.mnav__list li a:hover{background:rgba(255,255,255,.06)}

/* Desktop vs Mobile */
@media (min-width:981px){
  .hamburger{display:none!important}
  .mnav{display:none!important}
  .nav{display:flex!important}
}
@media (max-width:980px){
  .nav{display:none!important}
  .hamburger{display:inline-flex!important}
}
/* ===== Contact ===== */
.contact .form input,
.contact .form textarea{
  width:100%; padding:.75rem .9rem; border-radius:10px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.06); color:#e8eeff;
}
.contact .form textarea{ min-height:120px; resize:vertical }
.contact .form .form__row{ margin:.6rem 0 }
.contact .form .form__actions{ display:flex; gap:.6rem; align-items:center; margin-top:.4rem }
.contact .tiny{ font-size:.8rem; opacity:.75; margin-top:.4rem }
.sr-only{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden }

/* NR_LIGHT_THEME_OVERRIDES */
:root, html[data-theme="light"]{
  color-scheme: light;
  --bg: #ffffff;
  --text: #0b1430;
  --muted: #4a5678;
  --surface: #ffffff;
  --border: rgba(0,0,0,.08);
}

html, body{ background: var(--bg) !important; color: var(--text) !important; }

.topbar{
  background:#ffffff !important;
  border-bottom:1px solid rgba(0,0,0,.06) !important;
  box-shadow:0 4px 18px rgba(0,0,0,.06) !important;
}
.topbar .brand span,
.topbar .nav a,
.topbar .btn,.brand, .nav a{ color:#0b1430 !important; }
.btn.btn--ghost{
  color:#0b1430 !important;
  border:1px solid rgba(11,20,48,.25) !important;
  background:transparent !important;
}

.hamburger .hb{ background:#0b1430 !important; }
/* Drawer claro */
.mnav__panel{ background:#ffffff !important; color:#0b1430 !important; border-left:1px solid rgba(0,0,0,.08) !important; }
.mnav__list li a{ color:#0b1430 !important; }
.mnav__list li a:hover{ background:rgba(0,0,0,.04) !important; }
.mnav__overlay{ background:rgba(0,0,0,.35) !important; }

/* Tarjetas y secciones */
.section .card,
.card{
  background:var(--surface) !important;
  color:var(--text) !important;
  border:1px solid var(--border) !important;
  box-shadow:0 10px 30px rgba(0,0,0,.06) !important;
}

/* Textos */
.muted{ color:var(--muted) !important; }
h1,h2,h3,h4,h5{ color:#0b1430 !important; }

/* Badges doradas siguen igual, pero texto oscuro */
.badge{ color:#0b1430 !important; }

/* Hero veil más claro para que no se vea “nocturno” */
.hero__veil{
  background:
    linear-gradient(180deg, rgba(255,255,255,.0), rgba(255,255,255,.45)) !important;
}

/* Footer claro */
.footer{
  background:#fafbff !important;
  border-top:1px solid rgba(0,0,0,.06) !important;
  color:#0b1430 !important;
}

/* NR_BG_WHITE_AFTER_HERO */
/* Mantén topbar/hero oscuros; todo lo demás claro y limpio */
.section,
.section .card,
.card{
  background:#ffffff !important;
  color:#0b1430 !important;
  border:1px solid rgba(0,0,0,.08) !important;
  box-shadow:0 8px 24px rgba(0,0,0,.06) !important;
}
.muted{ color:#4a5678 !important; }
h1,h2,h3,h4,h5{ color:#0b1430 !important; }

/* Fondo general claro para el scroll, sin tocar el hero (que ya trae su bg) */
html, body{ background:#ffffff !important; }

/* Badges doradas: texto oscuro */
.badge{ color:#0b1430 !important; }

/* Footer claro para que no “oscurezca” el final */
.footer{
  background:#fafbff !important;
  border-top:1px solid rgba(0,0,0,.06) !important;
  color:#0b1430 !important;
}

/* Topbar se queda oscuro (propio del tema) */
.topbar{
  background:#0f1a3b !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
  box-shadow:none !important;
}
.topbar .nav a,
.topbar .brand span,
.topbar .btn{ color:#e6ebff !important; }
.hamburger .hb{ background:#e6ebff !important; }

/* Drawer móvil: mantenlo oscuro acorde al tema */
.mnav__panel{ background:#0b1430 !important; color:#e6ebff !important; border-left:1px solid rgba(255,255,255,.1) !important; }
.mnav__list li a{ color:#e6ebff !important; }
.mnav__list li a:hover{ background:rgba(255,255,255,.06) !important; }
.mnav__overlay{ background:rgba(0,0,0,.45) !important; }

/* Hero veil oscuro como antes (no tocar look del hero) */
.hero__veil{
  background:
    radial-gradient(1100px 520px at 70% 12%, rgba(0,0,0,.18), transparent),
    linear-gradient(180deg, rgba(8,16,45,.55), rgba(8,16,45,.28) 40%, rgba(8,16,45,.70)) !important;
}
/* NR_WHITE_ELEVATION_V1 — Cards visibles y formularios legibles en fondo blanco */
.section .card,
.card{
  background:#fff !important;
  color:#0b1430 !important;
  border:1px solid rgba(13,23,59,.12) !important;
  border-radius:14px !important;
  box-shadow:
    0 6px 20px rgba(10,22,50,.08),
    0 1px 0 rgba(10,22,50,.02) !important;
}

.muted{ color:#4a5678 !important; }

/* Inputs y textarea bien definidos */
.form input,
.form textarea,
input[type="text"],
input[type="email"],
input[type="tel"],
textarea{
  background:#fff !important;
  color:#0b1430 !important;
  border:1.2px solid #c9d1e8 !important;
  border-radius:12px !important;
  padding:12px 14px !important;
  box-shadow:none !important;
}

.form input::placeholder,
.form textarea::placeholder{ color:#9aa3bf !important; }

.form input:focus,
.form textarea:focus{
  outline:0 !important;
  border-color:#335dff !important;
  box-shadow:0 0 0 3px rgba(51,93,255,.15) !important;
}

/* Botones sobre blanco: contraste */
.btn--gold{
  background:linear-gradient(#f2c94c,#e2b23a) !important;
  color:#2b2b2b !important;
  border:1px solid rgba(0,0,0,.08) !important;
  box-shadow:0 8px 16px rgba(242,201,76,.25) !important;
}
.btn--gold:hover{ filter:brightness(.98); transform:translateY(-1px); }

.btn--dark{
  background:#0f1a3b !important;
  color:#e6ebff !important;
  border:1px solid rgba(255,255,255,.08) !important;
}

/* Divisor sutil en blanco */
.divider-metal{ height:1px; background:linear-gradient(90deg,#e9eef7,transparent); }

/* Grid: respirito extra en blanco */
.wrap{ gap:18px; }
.cards3, .cards4, .grid2{ gap:18px; }
/* NR_LOCATIONS_CONTRAST_V1 — Mejor contraste en Locations sobre fondo blanco */
.locations .card{ color:#1f2a44 !important; }
.locations .card h2,
.locations .card h3,
.locations .card h4{ color:#172038 !important; font-weight:800; }
.locations .card p{ color:#233252 !important; }
.locations .card .muted{ color:#2e3d5e !important; opacity:1 !important; }
.locations .card a{ color:#0f3edb !important; text-decoration: underline; text-underline-offset: 2px; }
.locations .card a:hover{ filter:brightness(0.9); }
/* NR_CONTACT_LOC_CONTRAST_V2 */
.contact .card, .locations .card { color:#1a2540 !important; }
.contact .card h2, .contact .card h3,
.locations .card h2, .locations .card h3, .locations .card h4 {
  color:#141f36 !important; font-weight:800;
}
.contact .card p, .locations .card p { color:#1f2d4a !important; }
.contact .card .muted, .locations .card .muted { color:#263659 !important; opacity:1 !important; }
.locations .card a { color:#0f3edb !important; text-decoration:underline; text-underline-offset:2px; }
.locations .card a:hover { filter:brightness(.9); }

/* Inputs: borde visible y foco claro en tema claro */
.form input[type="text"], .form input[type="email"], .form input[type="tel"], .form textarea {
  background:#fff; border:1px solid #c7cfdd; color:#111827;
}
.form input::placeholder, .form textarea::placeholder { color:#6b7280; }
.form input:focus, .form textarea:focus {
  outline:2px solid #e5b94b44; border-color:#e5b94b; box-shadow:0 0 0 3px #e5b94b22;
}

/* NR_HERO_GLOW */
.hero .hero__content h1,
.hero .hero__content p {
  color:#fff !important;
  text-shadow:
    0 1px 2px rgba(0,0,0,.55),
    0 0 10px rgba(0,0,0,.35);
}
.hero .hero__content h1{
  /* un poco más de realce para el título */
  text-shadow:
    0 2px 4px rgba(0,0,0,.6),
    0 0 14px rgba(0,0,0,.35);
}

/* === NR_PRODUCTS_PRO === */
/* Grid sólido (3 col responsive) */
.cards3{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:24px;
}

/* Tarjeta consistente */
.card{
  background:#fff;
  border:1px solid rgba(10,15,30,.08);
  border-radius:14px;
  padding:14px;
  box-shadow:0 6px 28px rgba(0,0,0,.06);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.card:hover{
  transform:translateY(-3px);
  box-shadow:0 10px 36px rgba(0,0,0,.10);
  border-color:rgba(10,15,30,.12);
}

/* Imágenes uniformes (recorte elegante 4:3) */
.card img,
.card picture{
  display:block;
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  border-radius:10px;
  background:#eef1f5;
}

/* Títulos y copy */
.card h3, .card h4{
  margin:10px 2px 2px;
  font-weight:800;
  letter-spacing:.1px;
  color:#0b1530;
}
.card p, .card .muted{
  color:#4b5568;
}

/* Encabezados de sección del catálogo */
.section h2.center{
  font-weight:800;
  letter-spacing:.2px;
  margin-bottom:8px;
}
.section .muted.center{
  color:#5c677d;
}

/* Ajustes visuales del layout claro desde hero hacia abajo */
.section{
  background:#f7f8fb;         /* fondo claro suave entre bloques */
  border-top:1px solid rgba(10,15,30,.06);
}
.section .wrap{ gap:24px; }

/* Formularios (para que se vean pros también) */
.form input, .form textarea{
  background:#fff;
  border:1px solid rgba(10,15,30,.18);
  color:#0b1530;
  border-radius:10px;
  padding:.85rem .9rem;
  outline:none;
}
.form input::placeholder, .form textarea::placeholder{ color:#9aa3b2; }
.form input:focus, .form textarea:focus{
  border-color:#1b3bb3;
  box-shadow:0 0 0 3px rgba(27,59,179,.15);
}

/* Legibilidad en "Direct contact" y Locations */
.locations .card, .contact .card{
  background:#fff;
  color:#0b1530;
}
.locations .card p, .contact .card p{ color:#3e4759; }

/* FIN NR_PRODUCTS_PRO */

/* NR_CONTACT_BRAND */
.contact__info{ display:flex; flex-direction:column; align-items:flex-start; }
.contact__brand{ width:100%; display:flex; justify-content:center; margin:6px 0 10px; }
.contact__brand img{ width:auto; max-width:200px; height:auto; filter:drop-shadow(0 1px 0 rgba(0,0,0,.05)); opacity:.95; }
.contact__info p{ color:#273246; } /* legible en fondo claro */

/* NR_CONTACT_CENTER_V2 */
.contact__info{
  display:flex; flex-direction:column;
  align-items:center; text-align:center;
}
.contact__info .contact__brand{
  display:flex; justify-content:center; align-items:center;
  width:100%; min-height:200px; padding:10px 12px;
  border-radius:14px; background:rgba(0,0,0,.035);
}
.contact__info .contact__brand img{
  display:block; max-width:min(260px,80%); height:auto; margin:0 auto;
}
.contact__info p{ align-self:center; }

/* opcional: descomenta si quieres el título centrado también */
/* .contact__info h3{ align-self:center; text-align:center; } */

/* NR_HERO_GLOW_V2 */
.hero .hero__content h1,
.hero .hero__content p{
  color:#fff;
  text-shadow:
    0 2px 16px rgba(0,0,0,.55),
    0 0 2px rgba(255,255,255,.35);
}
/* NR_HERO_LOGO_GLOW_V5 START */
/* 1) Asegura que el <picture> del logo pueda alojar el aura */
.hero .hero__content picture{
  position: relative;
  display: inline-block;
  z-index: 1; /* por encima del aura */
}

/* 2) El IMG conserva sus colores (sin saturar/teñir) + sombras NEGRAS que siguen la silueta */
.hero .hero__content img.hero__logo,
.hero .hero__content img.hero__logo--contrast{
  background: transparent !important;
  position: relative;
  z-index: 2;
  filter:
    drop-shadow(0 2px 8px rgba(0,0,0,.85))
    drop-shadow(0 6px 18px rgba(0,0,0,.65))
    drop-shadow(0 14px 38px rgba(0,0,0,.55)); /* profundidad */
}

/* 3) Aura dorada DETRÁS del logo (no afecta colores del logo) */
.hero .hero__content picture::after{
  content: "";
  position: absolute;
  inset: -14% -16%;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(50% 50% at 50% 50%,
      rgba(212,175,55,.55) 0%,
      rgba(212,175,55,.28) 32%,
      rgba(212,175,55,.12) 58%,
      rgba(212,175,55,0) 78%);
  filter: blur(16px);
}

/* Desktop: un poco más de aura y sombra */
@media (min-width:981px){
  .hero .hero__content picture::after{ inset:-16% -18%; filter: blur(22px); }
  .hero .hero__content img.hero__logo,
  .hero .hero__content img.hero__logo--contrast{
    filter:
      drop-shadow(0 3px 10px rgba(0,0,0,.90))
      drop-shadow(0 10px 26px rgba(0,0,0,.68))
      drop-shadow(0 20px 46px rgba(0,0,0,.58));
  }
}
/* NR_HERO_LOGO_GLOW_V5 END */
/* NR_IMG_SHOW_HOTFIX */
.card{ opacity:1 !important; transform:none !important; }
.card img,
.card picture img,
.feat__grid img,
.products__grid img{
  opacity:1 !important;
  filter:none !important;
  mix-blend-mode:normal !important;
  visibility:visible !important;
}
/* NR_LANG_NAV_VIS_FIX */
@media (max-width:980px){
  .lang{ display:inline-flex !important; }
}
#nav-toggle{ display:inline-flex !important; }
.mnav{ z-index:3200 !important; }
.topbar{ z-index:3000 !important; }

/* NR_HERO_LINEUP_V1 */
.hero__lineup{margin-top:8px}
.hero-tags{
  list-style:none;margin:8px 0 0;padding:0;
  display:flex;flex-wrap:wrap;gap:8px;justify-content:center
}
.hero-tags li{
  display:inline-flex;align-items:center;gap:8px;
  padding:.38rem .7rem;border-radius:999px;
  background:rgba(0,0,0,.35);
  border:1px solid rgba(212,175,55,.55);
  color:#fff;font-weight:700;letter-spacing:.2px;
  box-shadow:
    0 2px 10px rgba(0,0,0,.35),
    0 0 18px rgba(212,175,55,.18);
  backdrop-filter:saturate(120%) blur(2px);
}
@media (max-width:980px){
  .hero-tags li{padding:.34rem .62rem;font-weight:700}
}

/* NR_CLICK_STACK_V2 — header clickeable y drawer al frente */
.topbar{ position:sticky; top:0; z-index:6000 !important; }
.header-ctl{ position:relative; z-index:6100; }
#nav-toggle, #lang-toggle{ position:relative; z-index:6200; pointer-events:auto; }

.hero__bg, .hero__veil{ pointer-events:none !important; z-index:0 !important; }
.hero__content{ position:relative; z-index:1; }

/* Drawer por encima del hero */
#mnav{ z-index:7000 !important; }
.mnav__overlay{ pointer-events:auto; }

/* hide hero subline */
#t-hero-sub,.hero__sub,[data-i18n="hero_sub"]{display:none!important}

/* === Back-to-top button === */
.backtop{
  position:fixed; right:18px; bottom:18px;
  width:44px; height:44px; border-radius:999px;
  display:flex; align-items:center; justify-content:center;
  font-size:20px; line-height:1; border:0; cursor:pointer;
  background:linear-gradient(180deg,#ffd15a,#d9a72a);
  color:#1b1f2a; box-shadow:0 6px 18px rgba(0,0,0,.25);
  opacity:0; visibility:hidden; transform:translateY(8px);
  transition:opacity .25s ease, transform .25s ease, visibility .25s;
  z-index:1100; /* sobre hero/overlay */
}
.backtop:hover{ filter:brightness(1.05); }
.backtop:active{ transform:translateY(10px) scale(.98); }
.backtop.show{ opacity:1; visibility:visible; transform:translateY(0); }
@media (min-width:1024px){
  .backtop{ right:24px; bottom:24px; }
}

/* === FIX: Mobile drawer clickability ============================== */
.mnav{ position:fixed; inset:0; z-index:1200; }           /* el drawer por encima de todo */
.mnav[hidden]{ display:none !important; }
.mnav__overlay{ position:absolute; inset:0; z-index:1190; }
.mnav__panel{ position:relative; z-index:1201; pointer-events:auto; }
.mnav__panel *{ pointer-events:auto; }
.mnav__list a{ pointer-events:auto; -webkit-tap-highlight-color:transparent; }
/* === HOTFIX: Drawer clickeable ==================================== */
.mnav{position:fixed; inset:0; z-index:9999 !important;}
.mnav[hidden]{display:none !important;}
.mnav__overlay{
  position:absolute; inset:0;
  z-index:0 !important;
  pointer-events:none !important;    /* <- que no intercepte toques */
}
.mnav__panel{
  position:relative; z-index:1 !important;
  pointer-events:auto !important;
}
.mnav__panel *{pointer-events:auto !important;}
.mnav__list a{
  display:block;
  position:relative; z-index:2;
  -webkit-tap-highlight-color:transparent;
}

/* NR_DRAWER_LAYERING_FIX */
.mnav{ position:fixed; inset:0; z-index:9999; }
.mnav[hidden]{ display:none !important; }
.mnav__overlay{
  position:fixed; inset:0;
  background:rgba(0,0,0,.45);
  backdrop-filter:saturate(120%) blur(2px);
  z-index:1;
}
.mnav__panel{ position:relative; z-index:2; transform:translateX(100%); transition:transform .24s ease; }
.mnav.is-open .mnav__panel{ transform:translateX(0); }
/* Evitar que el hero bloquee toques */
.hero__bg, .hero__veil{ pointer-events:none; }

/* NR_LANG_PILL_RESTORE */
.lang{display:inline-flex;gap:.35rem;align-items:center;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.06);backdrop-filter:saturate(120%) blur(2px);border-radius:12px;padding:.35rem .6rem;font-weight:600}
.lang .lang__opt.is-active{text-decoration:underline}
.lang .sep{opacity:.7}
