/* ============================================================
   FOR HOSTING · site.css — sistema de diseño compartido
   Paleta aprobada (colorimetría ganadora): base verdosa clara ·
   tinta verde-negra · lima (energía). Verde = Estándar/HDD ·
   naranja = Turbo/NVMe. Fuentes self-hosted (sin terceros).
   ============================================================ */

/* ---------- Fuentes self-hosted (subset latin, cubre acentos ES) ---------- */
@font-face{font-family:'Big Shoulders Display';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/bigshoulders-600.woff2) format('woff2')}
@font-face{font-family:'Big Shoulders Display';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/bigshoulders-700.woff2) format('woff2')}
@font-face{font-family:'Big Shoulders Display';font-style:normal;font-weight:800;font-display:swap;src:url(fonts/bigshoulders-800.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/plexsans-400.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/plexsans-500.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/plexsans-600.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/plexmono-400.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/plexmono-500.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/plexmono-600.woff2) format('woff2')}
/* Noto Sans Arabic (solo glifos árabes; se activa vía html[lang="ar"]) */
@font-face{font-family:'Noto Sans Arabic';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/notosansarabic-400.woff2) format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+FE70-FEFF,U+FB50-FDFF}
@font-face{font-family:'Noto Sans Arabic';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/notosansarabic-700.woff2) format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+FE70-FEFF,U+FB50-FDFF}

/* ---------- Tokens ---------- */
:root{
  --fondo:#f6f7f3; --fondo-2:#e9ece5; --panel:#fafbf8; --blanco:#FFFFFF;
  --tinta:#111714; --tinta-2:#1a211c; --tinta-3:#242c26;
  --txt:#111714; --gris-txt:#5d6861; --gris-500:#657069;
  --linea:#dfe4df; --linea-2:#cbd3ca; --linea-dark:rgba(233,240,232,.1);
  --lima:#b8ff4a; --lima-hot:#cdff7a; --lima-deep:#457a12;
  --lima-glow:rgba(184,255,74,.45); --lima-dim:rgba(184,255,74,.15);
  --verde:#2b6251; --verde-txt:#285544; --verde-suave:#d8ede3;
  --naranja:#ff9d3f; --naranja-hot:#ffae57; --naranja-txt:#a14f00;
  --naranja-deep:#b85c00; --naranja-suave:#ffeeda;
  --naranja-glow:rgba(255,157,63,.45); --naranja-dim:rgba(255,157,63,.14);
  /* Cuarto acento del sistema (2026-08-20, AD) — verde/lima/naranja ya estaban
     tomados por VOICE/KIT/HOST. Azul es el único hueco cálido-neutro-frío que
     falta en la rotación; mismo trío de variantes que ya usa cada acto de la
     home (base + -deep para texto + -dim para el lavado radial). */
  --azul:#3f7dff; --azul-deep:#1a4fc4; --azul-dim:rgba(63,125,255,.14);
  --font-display:'Big Shoulders Display','Archivo Black',Impact,sans-serif;
  --font-body:'IBM Plex Sans',ui-sans-serif,system-ui,sans-serif;
  --font-mono:'IBM Plex Mono',ui-monospace,monospace;
  --max:1280px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);background:var(--fondo);color:var(--txt);line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
::selection{background:var(--lima);color:var(--tinta)}
:focus-visible{outline:3px solid var(--lima-deep);outline-offset:3px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.wrap{max-width:var(--max);margin:0 auto;padding:0 28px;position:relative;z-index:2}
h1,h2,h3{font-family:var(--font-display);line-height:.98;letter-spacing:.012em;text-transform:uppercase}
h2{font-size:clamp(2rem,4.2vw,3.2rem);font-weight:800;margin-bottom:16px}
.eyebrow{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.22em;font-weight:600;text-transform:uppercase;color:var(--lima-deep);display:inline-flex;align-items:center;gap:10px;margin-bottom:16px}
.eyebrow::before{content:'▮';font-size:.62rem;color:var(--lima);animation:fhBlink 2.4s steps(1) infinite}
.section{padding:96px 0;position:relative}
.section-lead{max-width:680px;color:var(--gris-txt);font-size:1.03rem}
.section-lead b,.section-lead strong{color:var(--txt)}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}

/* Micro-movimiento del sistema (el bloque reduced-motion de arriba los anula todos) */
@keyframes fhPulse{0%,100%{opacity:1}50%{opacity:.45}}
@keyframes fhBlink{0%,70%{opacity:1}71%,100%{opacity:.25}}
@keyframes fhFloat{0%,100%{transform:translate(0,0)}50%{transform:translate(-26px,22px)}}

/* ---------- Botones ---------- */
.btn{font-family:var(--font-display);font-weight:700;font-size:1.05rem;letter-spacing:.06em;text-transform:uppercase;padding:15px 32px;display:inline-block;position:relative;overflow:hidden;transition:transform .15s,box-shadow .2s,background .15s;clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px)}
.btn::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 42%,rgba(255,255,255,.5) 50%,transparent 58%);transform:translateX(-130%);pointer-events:none}
.btn:hover::after{transform:translateX(130%);transition:transform .55s ease}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(1px)}
.btn-acento{background:var(--lima);color:var(--tinta);box-shadow:0 10px 40px -12px var(--lima-glow)}
.btn-acento:hover{background:var(--lima-hot);box-shadow:0 16px 56px -12px var(--lima-glow)}
.btn-oscuro{background:var(--tinta);color:var(--fondo)}
.btn-oscuro:hover{background:var(--lima);color:var(--tinta);box-shadow:0 10px 34px -12px var(--lima-glow)}
.btn-linea{background:var(--blanco);color:var(--txt);border:1px solid var(--linea-2)}
.btn-linea:hover{border-color:var(--lima-deep);color:var(--lima-deep)}
.btn-wa{background:#25D366;color:#04310f}
.btn-wa:hover{background:#1fbe59}

/* ---------- NAV (inyectado por site.js) ---------- */
nav.main{position:fixed;top:0;left:0;right:0;z-index:60;padding:12px 0;background:linear-gradient(180deg,rgba(246,247,243,.94),rgba(246,247,243,.8));backdrop-filter:blur(10px);border-bottom:1px solid var(--linea)}
.nav-inner{max-width:var(--max);margin:0 auto;padding:0 28px;display:flex;align-items:center;gap:18px;height:52px}
.logo{display:inline-flex;align-items:center;gap:11px;font-family:var(--font-display);font-weight:800;font-size:1.3rem;letter-spacing:.05em;color:var(--txt);text-transform:uppercase;flex-shrink:0}
.logo .plate{width:34px;height:34px;background:var(--tinta);display:flex;align-items:center;justify-content:center;flex-shrink:0;clip-path:polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px);transition:background .2s}
.logo .bolt{width:22px;height:22px;color:var(--lima)}
.logo:hover .plate{background:var(--tinta-3)}
.logo .for{color:var(--lima-deep)}
.nav-links{display:flex;gap:26px;list-style:none;margin:0 auto;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}
.nav-links a{color:var(--gris-txt);transition:color .15s;white-space:nowrap}
.nav-links a:hover,.nav-links a.active{color:var(--lima-deep)}
.nav-right{display:flex;align-items:center;gap:12px;flex-shrink:0;margin-inline-start:auto}
.lang-switch{font-family:var(--font-mono);font-size:.66rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gris-txt);border:1px solid var(--linea-2);padding:7px 11px;transition:border-color .15s,color .15s;white-space:nowrap}
.lang-switch:hover{border-color:var(--lima);color:var(--lima-deep)}
/* menú de idiomas (N locales): <details> nativo, sin JS */
.lang-menu{position:relative}
.lang-menu summary{list-style:none;cursor:pointer;font-family:var(--font-mono);font-size:.66rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gris-txt);border:1px solid var(--linea-2);padding:7px 11px;transition:border-color .15s,color .15s;white-space:nowrap;user-select:none}
.lang-menu summary::-webkit-details-marker{display:none}
.lang-menu summary::after{content:" ▾";font-size:.6rem}
.lang-menu summary:hover,.lang-menu[open] summary{border-color:var(--lima);color:var(--lima-deep)}
.lang-menu ul{position:absolute;inset-inline-end:0;top:calc(100% + 6px);z-index:60;min-width:150px;margin:0;padding:6px;list-style:none;background:var(--fondo,#fff);border:1px solid var(--linea-2);box-shadow:0 12px 34px -14px rgba(0,0,0,.35)}
.lang-menu ul a{display:block;padding:8px 12px;font-size:.82rem;color:var(--gris-txt);white-space:nowrap;transition:color .15s,background .15s}
.lang-menu ul a:hover{color:var(--lima-deep);background:rgba(0,0,0,.04)}
/* ---------- MEGA-PANEL DE PRODUCTO (nav) — 2026-08-18 ----------
   Sustituye al desplegable de lista. Dos cosas cambian de raíz:

   1. NADA NACE ABIERTO. Hasta hoy `bake.js` horneaba `<details open>` en el item
      activo y, como el panel es `position:absolute`, quedaba COLGANDO bajo la barra
      en TODAS las páginas del sitio (verificado en producción). El «estás aquí» lo
      dice ahora una barra de acento bajo el summary, que no ocupa ni despliega.
   2. EL PANEL SE ANCLA A `.nav-inner`, no al `<li>`. Así dos paneles no pueden
      solaparse aunque llegaran a abrirse los dos, y el ancho es el de la rejilla.

   Los colores salen de variables `--np-*` definidas en `nav.main`: las hojas oscuras
   (voice.css, kit.css) redefinen CUATRO variables en vez de recopiar el bloque —
   antes cada una llevaba su propia copia de `.nav-sub ul{…}` y se quedaban viejas
   por separado. */
nav.main{--np-bg:var(--blanco);--np-line:var(--linea-2);--np-txt:var(--gris-txt);
  --np-hover:var(--fondo);--np-shadow:0 26px 60px -28px rgba(17,23,20,.45)}
.nav-inner{position:relative}
.nav-links .has-sub{display:flex;align-items:center}
.nav-sub{position:static;display:flex;align-items:center}
.nav-sub>summary{list-style:none;cursor:pointer;color:var(--gris-txt);white-space:nowrap;user-select:none;position:relative;padding:8px 13px;transition:color .15s}
.nav-sub>summary::-webkit-details-marker{display:none}
.nav-sub>summary::after{content:"";display:inline-block;width:5px;height:5px;margin-inline-start:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .18s}
.nav-sub[open]>summary::after{transform:translateY(1px) rotate(225deg)}
.nav-sub>summary:hover,.nav-sub[open]>summary{color:var(--lima-deep)}
.nav-sub>summary.active{color:var(--txt)}
.nav-sub>summary.active::before{content:"";position:absolute;inset-inline:13px;bottom:-2px;height:2px;background:var(--lima-deep)}
/* Ancho AL CONTENIDO, no a sangre. A sangre completa (1280) un producto con dos
   enlaces dejaba media barra vacía: parecía que faltaba algo. Sigue anclado a
   `.nav-inner`, que es lo que impide que dos paneles se solapen. */
.nav-panel{position:absolute;top:calc(100% + 13px);inset-inline-start:0;inset-inline-end:auto;
  width:min(100%,760px);z-index:61;background:var(--np-bg);border:1px solid var(--np-line);border-top:2px solid var(--lima-deep);box-shadow:var(--np-shadow);padding:22px 26px 0;display:grid;grid-template-columns:300px minmax(0,1fr);gap:8px 26px;align-items:start;text-transform:none;letter-spacing:normal;font-family:var(--font-body);clip-path:polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px)}
.nav-sub[open]>.nav-panel{animation:npIn .18s ease}
@keyframes npIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
/* puente invisible summary→panel: sin él el ratón cruza el hueco y el hover-intent
   cierra el panel a medio camino */
.nav-sub[open]>summary::after{position:relative}
.nav-sub[open]::after{content:"";position:absolute;inset-inline:0;top:100%;height:16px}
.np-id{border-inline-end:1px solid var(--linea);padding-inline-end:26px}
.np-name{display:block;font-family:var(--font-display);font-size:1.9rem;font-weight:800;text-transform:uppercase;line-height:1;letter-spacing:.03em;color:var(--txt)}
.np-what{margin-top:9px;font-size:.88rem;line-height:1.5;color:var(--np-txt)}
.np-links{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:2px 14px;align-content:start}
.np-links a{display:block;padding:9px 11px;color:var(--txt);border-inline-start:2px solid transparent;transition:color .15s,background .15s,border-color .15s}
.np-links a b{display:block;font-size:.9rem;font-weight:600}
.np-links a span{display:block;font-size:.76rem;color:var(--np-txt)}
.np-links a:hover{background:var(--np-hover);border-inline-start-color:var(--lima-deep);color:var(--lima-deep)}
.np-links a.active{border-inline-start-color:var(--lima-deep)}
/* El acento es una LÍNEA, no un gráfico: una tira de barras animadas se lee como un
   medidor con datos detrás, y no hay ninguno. */
.np-art{grid-column:1/-1;height:3px;margin:16px -26px 0;background:linear-gradient(90deg,var(--np-acento,var(--lima-deep)),transparent 78%)}
.np-voice{--np-acento:var(--verde)}
.np-kit{--np-acento:var(--lima-deep)}
.np-host{--np-acento:var(--naranja)}
/* área de sesión: login inline + chip de saldo + menú de cuenta (lo pinta site.js) */
.nav-auth{display:flex;align-items:center;gap:10px}
.nav-auth[hidden]{display:none}
.nav-balance{font-family:var(--font-mono);font-size:.72rem;font-weight:700;letter-spacing:.05em;color:var(--lima-deep);border:1px solid var(--linea-2);border-radius:999px;padding:5px 11px;white-space:nowrap}
.nav-auth-menu{position:relative}
.nav-auth-menu>summary{list-style:none;cursor:pointer;font-family:var(--font-mono);font-size:.66rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gris-txt);border:1px solid var(--linea-2);padding:7px 11px;transition:border-color .15s,color .15s;white-space:nowrap;user-select:none;max-width:170px;overflow:hidden;text-overflow:ellipsis}
.nav-auth-menu>summary::-webkit-details-marker{display:none}
.nav-auth-menu>summary::after{content:" ▾";font-size:.6rem}
.nav-auth-menu>summary:hover,.nav-auth-menu[open]>summary{border-color:var(--lima);color:var(--lima-deep)}
.nav-auth-pop{position:absolute;inset-inline-end:0;top:calc(100% + 6px);z-index:60;min-width:250px;padding:16px;background:var(--fondo,#fff);border:1px solid var(--linea-2);box-shadow:0 12px 34px -14px rgba(0,0,0,.35)}
.nav-auth-pop .fld{width:100%;padding:10px 12px;border:1px solid var(--linea-2);border-radius:8px;font-size:14px;margin-bottom:8px;font-family:inherit;background:var(--fondo,#fff);color:var(--txt)}
.nav-login-btn{width:100%;font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:.85rem;background:var(--tinta);color:var(--fondo);border:0;padding:10px;cursor:pointer;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);transition:background .15s,color .15s}
.nav-login-btn:hover{background:var(--lima);color:var(--tinta)}
.nav-login-btn:disabled{opacity:.6;cursor:default}
.nav-auth-msg{font-size:12.5px;color:var(--gris-txt);margin:8px 0 0}
.nav-auth-msg.err{color:var(--naranja-deep)}
.nav-auth-links{display:flex;justify-content:space-between;gap:10px;margin-top:12px;font-size:12.5px}
.nav-auth-links a{color:var(--gris-txt);white-space:nowrap}
.nav-auth-links a:hover{color:var(--lima-deep)}
.nav-auth-who{font-family:var(--font-mono);font-size:12px;color:var(--gris-txt);margin:0 0 4px;word-break:break-all}
.nav-acc-btn{display:block;width:100%;background:none;border:0;padding:0;margin:0;font:inherit;text-align:start;cursor:pointer}
.nav-acc-link{display:block;padding:9px 0;color:var(--txt);border-top:1px solid var(--linea);font-size:14px}
.nav-acc-link:hover{color:var(--lima-deep)}
.nav-acc-link:disabled{opacity:.6;cursor:default}
.nav-signout{width:100%;margin-top:10px;background:none;border:1px solid var(--linea-2);padding:9px;cursor:pointer;font-family:var(--font-mono);font-size:.66rem;text-transform:uppercase;letter-spacing:.1em;color:var(--gris-txt);transition:border-color .15s,color .15s}
.nav-signout:hover{border-color:var(--naranja-deep);color:var(--naranja-deep)}
.nav-cta{font-family:var(--font-display);font-size:.9rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--tinta);color:var(--fondo);padding:10px 18px;white-space:nowrap;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);transition:background .15s,color .15s,box-shadow .2s}
.nav-cta:hover{background:var(--lima);color:var(--tinta);box-shadow:0 0 24px -4px var(--lima-glow)}
.nav-burger{display:none;background:none;border:1px solid var(--linea-2);width:42px;height:40px;cursor:pointer;color:var(--txt);flex-shrink:0}
.nav-burger span{display:block;width:18px;height:2px;background:currentColor;margin:3px auto}
body.nav-open{overflow:hidden}
@media(max-width:940px){
  .nav-links{position:fixed;inset:64px 0 auto 0;margin:0;flex-direction:column;gap:0;background:var(--fondo);border-bottom:1px solid var(--linea);padding:8px 0;transform:translateY(-140%);transition:transform .28s ease;font-size:.9rem}
  body.nav-open .nav-links{transform:none}
  .nav-links li{border-top:1px solid var(--linea)}
  .nav-links a{display:block;padding:15px 28px}
  /* MÓVIL = SIMPLIFICADO: el mega-panel se vuelve un acordeón dentro del cajón.
     El cajón tiene que poder DESPLAZARSE: con los tres grupos abiertos el contenido
     pasa de la altura de la pantalla y lo de abajo quedaba fuera de alcance. */
  .nav-links{max-height:calc(100dvh - 64px);overflow-y:auto;overscroll-behavior:contain}
  .nav-links .has-sub,.nav-sub{display:block}
  .nav-sub>summary{padding:15px 28px;display:flex;align-items:center;justify-content:space-between}
  .nav-sub>summary.active::before{inset-inline:28px auto;width:18px;bottom:10px}
  .nav-panel{position:static;display:block;padding:0 0 8px;border:0;box-shadow:none;background:transparent;clip-path:none;animation:none}
  .np-id{display:none}
  .np-art{display:none}
  .np-links{display:block}
  /* padding LÓGICO: el `padding-left` de antes sangraba por el lado que no es en árabe */
  .np-links a{padding-block:12px;padding-inline-start:44px;padding-inline-end:28px;border-inline-start:0}
  .np-links a span{display:none}
  .nav-right{margin-inline-start:auto;gap:8px}
  .nav-burger{display:block;order:3}
  .nav-cta{display:none}
  /* la sesión (login/saldo) SÍ se ve en móvil, a diferencia del CTA */
  .nav-auth{display:flex}
  .nav-auth-menu>summary{max-width:120px}
  .nav-auth-pop{position:fixed;inset-inline-end:12px;inset-inline-start:auto;top:60px;min-width:0;width:min(320px,calc(100vw - 24px))}
}
/* móviles: el header apretaba y empujaba el botón de menú fuera del viewport (28px de padding
   + 18px de gap no caben en 390). Se recortan padding, gap y la marca. */
@media(max-width:480px){
  .nav-inner{padding-left:14px;padding-right:14px;gap:10px}
  .logo{font-size:1.1rem;gap:9px}
  .logo .plate{width:30px;height:30px}
  /* El botón de MENÚ (burger) SIEMPRE debe ser tocable. A ≤480 el saldo "$0.00" + "MY ACCOUNT"
     + idioma empujaban el burger fuera del viewport (Andrea, QA, 2026-07-24). Se libera espacio:
     el saldo se ve dentro del menú de cuenta, no hace falta en la barra; la cuenta se acorta. */
  .nav-right{gap:6px;min-width:0;flex-wrap:nowrap}
  .nav-balance{display:none}
  .nav-auth{gap:6px;min-width:0}
  .nav-auth-menu>summary{max-width:88px;padding:7px 8px}
  .lang-menu>summary{padding:7px 7px}
  .nav-burger{order:9;flex-shrink:0}
}
@media(max-width:400px){
  /* La placa conserva la marca y el aria-label conserva el nombre accesible.
     Ocultar solo el wordmark evita que sesión + idioma saquen el menú del viewport. */
  .main .logo>span:not(.plate){display:none}
}

/* ---------- Modal de cuenta (login / alta / recuperar) — lo pinta site.js ---------- */
body.fh-modal-open{overflow:hidden}
.fh-authmodal{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(20,22,18,.55);backdrop-filter:blur(4px)}
.fh-authmodal[hidden]{display:none}
.fh-authcard{position:relative;width:100%;max-width:420px;max-height:calc(100vh - 40px);overflow-y:auto;background:var(--fondo,#fff);border:1px solid var(--linea-2);box-shadow:0 30px 80px -20px rgba(0,0,0,.5);padding:34px 30px 30px;clip-path:polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px)}
.fh-authclose{position:absolute;top:10px;inset-inline-end:14px;background:none;border:0;font-size:26px;line-height:1;color:var(--gris-txt);cursor:pointer;padding:2px 6px}
.fh-authclose:hover{color:var(--naranja-deep)}
.fh-authtitle{font-family:var(--font-display);text-transform:uppercase;font-size:24px;margin:0 0 6px;color:var(--txt)}
.fh-authlead{color:var(--gris-txt);font-size:14px;margin:0 0 18px;line-height:1.4}
.fh-authview form{display:grid;gap:11px}
.fh-authnames{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.fh-authview .fld{width:100%;padding:12px 14px;border:1px solid var(--linea-2);font-size:15px;font-family:inherit;background:var(--blanco);color:var(--txt);clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px);transition:border-color .15s,box-shadow .2s}
.fh-authview .fld:focus{outline:none;border-color:var(--lima-deep);box-shadow:0 0 0 3px var(--lima-dim)}
.fh-authrow{display:flex;justify-content:flex-end;margin-top:-4px}
.fh-authrow a{font-size:12.5px;color:var(--gris-txt)}
.fh-authrow a:hover{color:var(--lima-deep)}
.fh-authbtn{margin-top:4px;font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:.95rem;background:var(--tinta);color:var(--fondo);border:0;padding:13px;cursor:pointer;clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px);transition:background .15s,color .15s}
.fh-authbtn:hover{background:var(--lima);color:var(--tinta)}
.fh-authbtn:disabled{opacity:.6;cursor:default}
.fh-authmsg{font-size:13px;color:var(--gris-txt);margin:2px 0 0;min-height:1px;line-height:1.4}
.fh-authmsg.err{color:var(--naranja-deep)}
.fh-authmsg.ok{color:var(--lima-deep)}
.fh-authalt{margin:16px 0 0;font-size:13.5px;color:var(--gris-txt);text-align:center}
.fh-authalt a{color:var(--lima-deep);font-weight:600}
.fh-authalt a:hover{text-decoration:underline}
/* botones sociales (Google/Apple) — se muestran cuando site.js los activa */
.fh-social{display:grid;gap:9px;margin-bottom:2px}
.fh-social-btn{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;padding:11px;border:1px solid var(--linea-2);background:var(--blanco);color:var(--txt);font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px);transition:border-color .15s,background .15s,transform .15s}
.fh-social-btn:hover{border-color:var(--lima-deep);transform:translateY(-1px)}
.fh-social-apple{background:#000;color:#fff;border-color:#000}
.fh-social-apple:hover{background:#141414;border-color:#141414}
.fh-or{display:flex;align-items:center;text-align:center;color:var(--gris-txt);font-size:12px;text-transform:uppercase;letter-spacing:.08em;margin:14px 0 6px}
.fh-or::before,.fh-or::after{content:"";flex:1;height:1px;background:var(--linea);margin:0 10px}
.fh-social-ic{display:inline-flex;align-items:center;flex-shrink:0}
.fh-social-ic svg{display:block}
.fh-remember{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--gris-txt);cursor:pointer;user-select:none;margin:2px 0}
.fh-remember input{width:15px;height:15px;cursor:pointer;accent-color:var(--lima-deep);flex-shrink:0}
/* botón "Iniciar sesión" del header (abre el modal) */
.nav-signin-btn{font-family:var(--font-mono);font-size:.66rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gris-txt);border:1px solid var(--linea-2);padding:7px 13px;background:none;cursor:pointer;white-space:nowrap;transition:border-color .15s,color .15s}
.nav-signin-btn:hover{border-color:var(--lima);color:var(--lima-deep)}

/* WhatsApp flotante: RETIRADO el 2026-08-01. Lo sustituye el live chat, que
   ocupa esa esquina y lleva el enlace a WhatsApp dentro de su panel. El CSS del
   chat lo sirve cdn.inteligenciaviva.com; aqui no queda nada suyo. */

/* ---------- Breadcrumb ---------- */
.crumbs{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gris-500);padding-top:96px}
.crumbs a{color:var(--gris-txt);position:relative;padding-bottom:2px}
.crumbs a::after{content:"";position:absolute;bottom:0;inset-inline-start:0;width:0;height:2px;background:var(--lima);transition:width .2s}
.crumbs a:hover{color:var(--lima-deep)}
.crumbs a:hover::after{width:100%}
/* El <span> es la página ACTUAL, no el separador: los › son nodos de texto sueltos
   (ver landing.js/docs.js). La regla venía de --linea-2 (#cbd3ca, color de BORDE),
   así que la miga actual salía casi invisible, y el margin:0 8px la separaba doble. */
.crumbs span{color:var(--gris-txt)}

/* ---------- Hero de página secundaria ---------- */
.page-hero{position:relative;padding:40px 0 60px;overflow:hidden}
.page-hero::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(17,23,20,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(17,23,20,.045) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(ellipse 90% 85% at 60% 0%,#000 25%,transparent 78%);-webkit-mask-image:radial-gradient(ellipse 90% 85% at 60% 0%,#000 25%,transparent 78%)}
.page-hero .glow{position:absolute;border-radius:50%;filter:blur(100px);pointer-events:none;z-index:0;width:520px;height:520px;background:radial-gradient(circle,var(--lima-dim),transparent 65%);top:-160px;right:-120px;animation:fhFloat 14s ease-in-out infinite} /* physical: decor */
.page-hero h1{font-size:clamp(2.3rem,5vw,3.8rem);font-weight:800;max-width:16ch;margin:14px 0 16px;color:var(--txt)}
.page-hero .lead{font-size:clamp(1rem,1.5vw,1.18rem);color:var(--gris-txt);max-width:60ch}
.page-hero .lead strong{color:var(--txt)}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
@media(max-width:560px){.hero-actions .btn{width:100%;text-align:center}}

/* ---------- Bloques de contenido / features ---------- */
.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:36px}
.fcard{background:var(--blanco);border:1px solid var(--linea);padding:26px;position:relative;overflow:hidden;transition:border-color .2s,transform .2s,box-shadow .25s;clip-path:polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px);box-shadow:0 14px 34px -26px rgba(17,23,20,.4)}
.fcard::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--lima),transparent 75%);opacity:0;transition:opacity .22s}
.fcard:hover{border-color:rgba(184,255,74,.65);transform:translateY(-4px);box-shadow:0 24px 48px -24px var(--lima-glow)}
.fcard:hover::before{opacity:1}
.fcard .ic{width:46px;height:46px;display:flex;align-items:center;justify-content:center;background:var(--tinta);color:var(--lima);margin-bottom:16px;border:0;clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px);transition:transform .25s,box-shadow .25s}
.fcard:hover .ic{transform:rotate(-4deg) scale(1.07);box-shadow:0 10px 26px -10px var(--lima-glow)}
.fcard .ic svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:square}
.fcard h3{font-size:1.12rem;font-weight:700;margin-bottom:6px;letter-spacing:.03em}
.fcard p{font-size:.9rem;color:var(--gris-txt)}
.fcard .tech{display:inline-flex;align-items:center;gap:7px;margin-top:12px;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.06em;color:var(--lima-deep)}
.fcard .tech::before{content:'▮';font-size:.55rem;color:var(--lima)}

/* Grid de dos columnas (infra, etc.) */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:36px}
@media(max-width:820px){.duo{grid-template-columns:1fr}}
/* Lista de especificaciones dentro de tarjetas */
.specs{list-style:none;margin-top:14px}
.specs li{display:flex;justify-content:space-between;gap:18px;padding:11px 0;border-bottom:1px solid var(--linea);font-size:.88rem}
.specs li:last-child{border-bottom:0}
.specs .s-k{color:var(--gris-txt)}
.specs .s-v{font-weight:600;text-align:end;font-family:var(--font-mono);font-size:.82rem}
.slab .specs li{border-bottom-color:var(--linea-dark)}
.slab .specs .s-k{color:#98a59b}
.slab .specs .s-v{color:var(--lima-hot)}
.server-tag{display:inline-flex;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;padding:6px 11px;border:1px solid var(--linea-2);color:var(--gris-txt);margin-bottom:14px}
.slab .server-tag{border-color:var(--linea-dark);color:var(--lima-hot);align-items:center;gap:8px}
.slab .server-tag::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--lima);box-shadow:0 0 6px var(--lima);animation:fhPulse 2.2s infinite}

/* ---------- Mapa global (datacenter) ---------- */
.wmap{position:relative;background:var(--tinta);border:1px solid var(--tinta-3);overflow:hidden;margin-top:36px;box-shadow:0 40px 90px -50px rgba(17,23,20,.6);clip-path:polygon(18px 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%,0 18px)}
.wmap canvas{display:block;width:100%;aspect-ratio:2/1;background:var(--tinta)}
.wmap .w-tag{position:absolute;top:12px;inset-inline-start:16px;z-index:2;font-family:var(--font-mono);font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:var(--lima-hot);display:inline-flex;align-items:center;gap:8px}
.wmap .w-tag i{width:7px;height:7px;border-radius:50%;background:var(--lima);box-shadow:0 0 8px var(--lima);animation:fhPulse 2s infinite}
.wmap .w-near{position:absolute;bottom:12px;left:16px;right:16px;z-index:2;font-family:var(--font-mono);font-size:.66rem;color:#98a59b}
.wmap .w-near b{color:var(--lima-hot)}
.gstats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}
@media(max-width:640px){.gstats{grid-template-columns:1fr}}
.gstat{background:var(--blanco);border:1px solid var(--linea-2);padding:20px 22px;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);transition:border-color .2s,transform .2s}
.gstat:hover{border-color:rgba(184,255,74,.55);transform:translateY(-2px)}
.gstat b{display:block;font-family:var(--font-display);font-weight:800;font-size:2.3rem;line-height:1;color:var(--tinta);font-variant-numeric:tabular-nums}
.gstat b::after{content:'';display:block;width:34px;height:5px;margin-top:10px;background:var(--lima);clip-path:polygon(4px 0,100% 0,calc(100% - 4px) 100%,0 100%)}
.gstat span{display:block;margin-top:8px;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gris-500)}
.gstat small{display:block;margin-top:8px;font-size:.82rem;color:var(--gris-txt)}

/* Panel oscuro reutilizable (mono vs multi, infra) */
.slab{background:var(--tinta);color:#e9efe7;border:1px solid var(--tinta-3);padding:clamp(28px,5vw,54px);position:relative;overflow:hidden;clip-path:polygon(20px 0,100% 0,100% calc(100% - 20px),calc(100% - 20px) 100%,0 100%,0 20px);box-shadow:0 40px 90px -50px rgba(17,23,20,.6)}
.slab h2,.slab h3{color:#e9efe7}
.slab p{color:#98a59b}
.slab p strong,.slab b{color:#e9efe7}
.slab .eyebrow{color:var(--lima)}

/* Tabla comparativa genérica (mono vs multi, etc.) */
.ctable{width:100%;border-collapse:collapse;margin-top:34px;background:var(--blanco);border:1px solid var(--linea-2);font-size:.92rem}
.ctable th,.ctable td{padding:14px 16px;text-align:start;border-bottom:1px solid var(--linea)}
.ctable thead th{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;background:var(--tinta);color:#c6d1c7;border-bottom:0}
.ctable thead th.z{background:var(--lima);color:var(--tinta)}
.ctable tbody tr:nth-child(even) td{background:rgba(17,23,20,.018)}
.ctable tbody tr:nth-child(even) td.z{background:var(--lima-dim)}
.ctable td:first-child{font-weight:600}
.ctable td.z{background:var(--lima-dim);border-inline-start:2px solid var(--lima);border-inline-end:2px solid var(--lima)}
.ctable tbody tr:hover td{background:rgba(184,255,74,.05)}
.ctable td.z:hover{background:var(--lima-dim)}
@media(max-width:720px){.ctable{display:block;overflow-x:auto;white-space:nowrap}}

/* ---------- Prosa (páginas legales) ---------- */
.prose{max-width:78ch;margin-top:14px;color:var(--gris-txt);font-size:1rem;line-height:1.75}
.prose h2{display:flex;align-items:center;gap:12px;font-size:clamp(1.4rem,2.6vw,1.9rem);margin:38px 0 12px;color:var(--txt)}
.prose h2::before{content:"";width:22px;height:5px;background:var(--lima);clip-path:polygon(4px 0,100% 0,calc(100% - 4px) 100%,0 100%);flex:none}
.prose h3{font-size:1.1rem;margin:26px 0 8px;color:var(--txt);letter-spacing:.02em}
.prose p{margin:0 0 14px}
.prose ol{margin:0 0 16px;margin-inline-start:22px}
.prose ul{list-style:none;margin:0 0 16px}
.prose ul li{position:relative;padding-inline-start:20px}
.prose ul li::before{content:'▮';position:absolute;inset-inline-start:0;top:.32em;font-size:.68em;color:var(--lima)}
.prose li{margin:6px 0}
.prose strong{color:var(--txt)}
.prose a{color:var(--lima-deep);border-bottom:2px solid var(--lima-dim);transition:border-color .15s}
.prose a:hover{border-color:var(--lima)}
.prose code{font-family:var(--font-mono);font-size:.85em;background:var(--fondo-2);padding:2px 6px}
.legal-meta{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;color:var(--gris-500);margin-bottom:8px}

/* ---------- FAQ ----------
   ÚNICA definición del sitio (2026-08-10): kit.css tenía una segunda versión
   que pisaba a esta en las landings; se borró y ahora manda esta en todas. */
.faq{display:grid;gap:10px;max-width:860px;margin-top:30px}
.faq details{background:var(--blanco);border:1px solid var(--linea);border-inline-start:3px solid transparent;padding:0 20px;transition:border-color .2s;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px)}
.faq details[open]{border-inline-start-color:var(--lima)}
.faq summary{cursor:pointer;list-style:none;padding:17px 0;font-weight:600;display:flex;justify-content:space-between;gap:14px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';font-family:var(--font-mono);color:var(--lima-deep);font-size:1.25rem;transition:transform .25s;flex:none}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin:0;padding:0 0 18px;color:var(--gris-txt);max-width:75ch}
/* Despliegue animado (Chrome 129+; en el resto degrada a abrir sin animación) */
.faq details::details-content{block-size:0;overflow:hidden;transition:block-size .28s,content-visibility .28s;transition-behavior:allow-discrete}
.faq details[open]::details-content{block-size:auto;block-size:calc-size(auto,size)}

/* ---------- Contacto ---------- */
.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:36px}
.contact-card{background:var(--blanco);border:1px solid var(--linea-2);padding:28px;clip-path:polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px);transition:border-color .18s,transform .18s,box-shadow .2s}
.contact-card:hover{border-color:rgba(184,255,74,.55);transform:translateY(-2px);box-shadow:0 18px 38px -26px var(--lima-glow)}
.contact-card .k{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gris-500);margin-bottom:8px}
.contact-card .v{font-size:1.25rem;font-weight:600;letter-spacing:.01em}
.contact-card .v a{color:var(--txt)}
.contact-card .v a:hover{color:var(--lima-deep)}
.contact-card p{font-size:.88rem;color:var(--gris-txt);margin-top:8px}

/* ---------- Badge Zero-Spam ---------- */
.zwrap{margin-top:36px;display:flex;justify-content:center}
.zbadge{display:inline-flex;align-items:center;gap:16px;text-decoration:none;background:var(--blanco);border:1px solid var(--linea-2);border-inline-start:3px solid var(--lima);padding:16px 22px;max-width:640px;transition:border-color .18s,box-shadow .2s,transform .15s;clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);box-shadow:0 14px 34px -26px rgba(17,23,20,.4)}
.zbadge:hover{border-color:var(--lima);transform:translateY(-2px);box-shadow:0 20px 42px -24px var(--lima-glow)}
.zb-ic{width:44px;height:44px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--tinta);border:0;color:var(--lima);clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}
.zb-ic svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7}
.zb-txt{display:flex;flex-direction:column;gap:3px}
.zb-txt b{font-family:var(--font-display);font-weight:800;font-size:1.1rem;letter-spacing:.03em;text-transform:uppercase;color:var(--txt)}
.zb-txt small{font-size:.84rem;color:var(--gris-txt);line-height:1.4}
.zb-arrow{margin-inline-start:auto;font-family:var(--font-mono);color:var(--lima-deep);font-size:1.1rem;flex-shrink:0;transition:transform .2s}
.zbadge:hover .zb-arrow{transform:translateX(4px)}
.slab .zbadge,.sector-oscuro .zbadge{background:var(--tinta-2);border-color:var(--linea-dark);border-inline-start-color:var(--lima)}
.slab .zb-txt b,.sector-oscuro .zb-txt b{color:#e9efe7}
.slab .zb-txt small,.sector-oscuro .zb-txt small{color:#98a59b}
@media(max-width:520px){.zbadge{gap:12px;padding:14px 16px}.zb-arrow{display:none}}

/* ---------- Cinta CTA final ---------- */
.cta-final{text-align:center;padding:90px 0}
.cta-final h2{font-size:clamp(2rem,5vw,3.4rem);color:var(--txt)}
.cta-final p{color:var(--gris-txt);max-width:560px;margin:14px auto 30px}

/* ---------- Chips / badges ---------- */
.badge{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;padding:6px 12px;border:1px solid var(--linea-2);color:var(--gris-txt)}
.badge.mono{border-color:var(--verde);color:var(--verde-txt);background:var(--verde-suave)}
.badge.multi{border-color:var(--naranja);color:var(--naranja-txt);background:var(--naranja-suave)}
.badge.dot::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--lima);box-shadow:0 0 8px var(--lima);animation:fhPulse 2.2s infinite}

/* ---------- FOOTER (inyectado por site.js) ---------- */
footer.site{background:var(--tinta);border-top:2px solid var(--lima);padding:52px 0 34px;color:#8a958e;font-size:.85rem;position:relative;z-index:2}
.foot-top{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:30px;margin-bottom:36px}
.foot-brand .logo{color:#e9efe7;margin-bottom:14px}
.foot-brand p{color:#8a958e;font-size:.85rem;max-width:34ch}
.foot-col h4{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:#6e7a70;margin-bottom:14px}
.foot-col h4::before{content:'▮';color:var(--lima);font-size:.55rem}
.foot-col ul{list-style:none}
.foot-col li{margin:9px 0}
.foot-col a{color:#c6d1c7;font-size:.88rem;display:inline-block;transition:color .15s,transform .15s}
.foot-col a:hover{color:var(--lima-hot);transform:translateX(3px)}
[dir="rtl"] .foot-col a:hover{transform:translateX(-3px)}
.foot-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center;border-top:1px solid var(--linea-dark);padding-top:22px}
.foot-bottom .fm{font-family:var(--font-mono);font-size:.64rem;letter-spacing:.08em;text-transform:uppercase;display:inline-flex;align-items:center;gap:8px}
.foot-bottom .fm .bolt{width:14px;height:14px;color:var(--lima)}
.foot-bottom .acento{color:var(--lima)}
@media(max-width:820px){.foot-top{grid-template-columns:1fr 1fr}.foot-brand{grid-column:1/-1}}
@media(max-width:520px){.foot-top{grid-template-columns:1fr}}

/* ===== RTL / i18n ===== */
/* Código, URLs y endpoints siempre LTR dentro de páginas RTL */
[dir="rtl"] pre,[dir="rtl"] code,[dir="rtl"] .endpoint,[dir="rtl"] .code-tabs{direction:ltr;unicode-bidi:isolate;text-align:start}
/* Espejado de iconos direccionales: la flecha → del badge Zero-Spam apunta "adelante" */
[dir="rtl"] .zb-arrow{display:inline-block;transform:scaleX(-1)}
[dir="rtl"] .zbadge:hover .zb-arrow{transform:scaleX(-1) translateX(-4px)}
/* Tipografía japonesa: sustituye display/body por stack JP nativo; MS Gothic como fallback mono */
html[lang="ja"] body,html[lang="ja"]{--font-display:"Hiragino Sans","Yu Gothic","Noto Sans JP",sans-serif;--font-body:"Hiragino Sans","Yu Gothic","Noto Sans JP",sans-serif;--font-mono:'IBM Plex Mono',"MS Gothic",ui-monospace,monospace}
/* Tipografía árabe: Noto Sans Arabic delante del stack (unicode-range limita a glifos árabes) */
html[lang="ar"] body,html[lang="ar"]{--font-display:'Noto Sans Arabic','Big Shoulders Display','Archivo Black',Impact,sans-serif;--font-body:'Noto Sans Arabic','IBM Plex Sans',ui-sans-serif,system-ui,sans-serif}
/* El árabe no tolera letter-spacing: anularlo en los elementos con fuente display */
html[lang="ar"] h1,html[lang="ar"] h2,html[lang="ar"] h3,html[lang="ar"] .btn,html[lang="ar"] .nav-cta,html[lang="ar"] .logo,html[lang="ar"] .zb-txt b{letter-spacing:0}
/* …y en los componentes mono con tracking que llevan texto traducido (rediseño 2026-08-10) */
html[lang="ar"] .eyebrow,html[lang="ar"] .ctable thead th,html[lang="ar"] .foot-col h4{letter-spacing:0}
