/* ============================================================================
   Helbreath Awakening — hoja de estilo única de la home (rediseño minimalista)
   2026-09-12.  Reemplaza los 3 bloques <style> inline de index.html.

   Dirección visual: Minimalism & Swiss Style ejecutado en modo oscuro con la
   marca existente (Cinzel display + Spectral texto, ascua/oro sobre negro).
   Grid de 12, escala de espaciado de 4/8, radio ~3px, un solo acento por
   superficie, cero decoración que no comunique algo.

   Reglas duras de este archivo:
   - Todos los colores salen de :root (el panel Tema del WebEditor los edita ahí).
   - Todo texto de cuerpo cumple contraste AA 4.5:1 sobre su fondo real.
   - Todo elemento interactivo tiene :focus-visible propio (nunca outline:none pelado).
   - Toda animación está apagada bajo prefers-reduced-motion.
   ========================================================================= */

/* ---------------------------------------------------------------- tokens */
:root{
  /* superficies */
  --bg:#0a0706;
  --bg-2:#0f0a09;
  --surface:#15100e;
  --surface-2:#1b1412;
  --line:#2c1d18;
  --line-2:#48291f;

  /* texto — medidos contra --bg / --surface */
  --text:#ece2d6;      /* 14.9:1 */
  --muted:#b3a294;     /*  7.6:1 */
  --faint:#948274;     /*  5.3:1 */

  /* acento */
  --ember:#ff5a2c;
  --ember-2:#ff8f4f;   /*  8.2:1  — el #ff8a3c viejo se usaba también como texto */
  --blood:#c4302a;
  --gold:#d8a850;      /*  9.3:1 */
  --gold-2:#f0c876;
  --ok:#7fd49a;
  --warn:#f0c876;
  --hot:#ff8d80;
  --glow:rgba(255,90,44,.38);
  --scrim:rgba(10,7,6,.82);   /* fondo de controles sobre video/poster */

  /* escala de espaciado 4/8 */
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; --s6:32px;
  --s7:48px; --s8:64px; --s9:96px;

  /* forma y movimiento */
  --r:3px; --r-lg:6px;
  --maxw:1160px;
  --nav-h:60px;
  --t:220ms; --t-fast:140ms;
  --ease:cubic-bezier(.2,.7,.2,1);

  /* tipografía */
  --font-display:'Cinzel',Georgia,serif;
  --font-body:'Spectral',Georgia,serif;
}

/* ---------------------------------------------------------------- reset */
*,*::before,*::after{box-sizing:border-box}
*{margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  background:var(--bg);color:var(--text);
  font-family:var(--font-body);font-weight:400;font-size:16px;line-height:1.65;
  overflow-x:hidden;-webkit-font-smoothing:antialiased;
  min-height:100svh;
}
img,video,svg{max-width:100%;display:block}
h1,h2,h3,h4,h5{font-family:var(--font-display);color:#fff;line-height:1.18;letter-spacing:.02em;font-weight:700}
a{color:var(--ember-2);text-decoration:none;transition:color var(--t-fast)}
a:hover{color:var(--gold-2)}
button,input,select,textarea{font:inherit;color:inherit}
button{background:none;border:0}
:focus-visible{outline:2px solid var(--gold-2);outline-offset:2px;border-radius:2px}
::selection{background:rgba(255,90,44,.3);color:#fff}
.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}
.skip-link{position:absolute;left:50%;top:-60px;transform:translateX(-50%);z-index:2000;
  background:var(--surface);color:var(--gold-2);border:1px solid var(--line-2);border-radius:var(--r);
  padding:10px 18px;font-family:var(--font-display);font-size:.8rem;letter-spacing:.12em;
  text-transform:uppercase;transition:top var(--t)}
.skip-link:focus{top:10px}

/* ---------------------------------------------------------------- layout */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--s5)}
section{position:relative}
.s{padding:clamp(48px,7vw,84px) 0}
.s-dark{background:var(--bg-2)}
.s + .s{border-top:1px solid var(--line)}

.eyebrow,.kicker{display:block;font-family:var(--font-display);font-size:.7rem;font-weight:600;
  letter-spacing:.34em;text-transform:uppercase;color:var(--gold)}
.sec-head{max-width:680px;margin:0 0 var(--s7)}
.sec-head h2,.sec-head h3{font-size:clamp(1.55rem,3.2vw,2.25rem);font-weight:700;margin-top:var(--s3)}
.sec-head h2 b,.sec-head h3 b{color:var(--ember-2);font-weight:700}
.sec-head .rule{width:48px;height:2px;margin:var(--s4) 0 0;background:var(--ember)}
.sec-head p{margin-top:var(--s4);color:var(--muted);font-size:1rem;max-width:62ch}
.hint{color:var(--faint);font-size:.85rem;margin:calc(var(--s7) * -1 + var(--s4)) 0 var(--s5)}

.grid{display:grid;gap:var(--s4)}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}

/* ---------------------------------------------------------------- botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);
  font-family:var(--font-display);font-weight:600;font-size:.82rem;letter-spacing:.1em;
  text-transform:uppercase;padding:13px 24px;min-height:44px;border-radius:var(--r);
  border:1px solid transparent;cursor:pointer;text-align:center;
  transition:background var(--t),border-color var(--t),color var(--t),transform var(--t-fast)}
.btn-primary{background:var(--blood);color:#fff;border-color:#e05038}
.btn-primary:not(:disabled):not([aria-disabled="true"]):hover{background:var(--ember);color:#fff;transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--text);border-color:var(--line-2)}
.btn-ghost:not(:disabled):not([aria-disabled="true"]):hover{border-color:var(--ember-2);color:#fff;background:rgba(255,90,44,.08)}
.btn-play{background:var(--gold);color:#1a0f06;border-color:var(--gold-2)}
.btn-play:not(:disabled):not([aria-disabled="true"]):hover{background:var(--gold-2);color:#1a0f06;transform:translateY(-1px)}
.btn-sm{padding:9px 16px;font-size:.74rem;min-height:38px}
/* F10 estados: presionado, deshabilitado, ocupado (spinner para toda la web: cuenta/panel/ventanas lo usan) */
.btn:not(:disabled):not([aria-disabled="true"]):active{transform:translateY(0) scale(.98)}
.btn.btn:disabled,.btn.btn[aria-disabled="true"]{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none} /* .btn.btn: gana a panel.css (se carga despues) */
.btn[aria-busy="true"]{cursor:progress}
.btn[aria-busy="true"]::after{content:"";flex:none;width:1em;height:1em;border:2px solid currentColor;
  border-right-color:transparent;border-radius:50%;animation:hb-spin .7s linear infinite}
@keyframes hb-spin{to{transform:rotate(360deg)}}
@media(pointer:coarse){.btn,.btn-sm{min-height:44px}}

/* ---------------------------------------------------------------- nav */
nav{position:fixed;top:0;left:0;right:0;z-index:900;border-bottom:1px solid transparent;
  transition:background var(--t),border-color var(--t)}
nav.scrolled{background:rgba(10,7,6,.92);backdrop-filter:blur(10px);border-bottom-color:var(--line)}
.nav-inner{max-width:var(--maxw);margin:0 auto;padding:var(--s3) var(--s5);
  display:flex;align-items:center;gap:var(--s4);min-height:var(--nav-h);min-width:0}
.brand{font-family:var(--font-display);font-weight:700;font-size:1.05rem;letter-spacing:.08em;
  color:#fff;white-space:nowrap;flex:none}
.brand b{color:var(--ember-2);font-weight:700}
.brand span{color:var(--gold);font-weight:600}
.nav-links{display:flex;gap:clamp(12px,1.6vw,26px);list-style:none;margin-left:auto}
.nav-links a{font-family:var(--font-display);color:var(--muted);font-size:.74rem;
  letter-spacing:.1em;text-transform:uppercase;font-weight:500;padding:6px 0;display:block;
  white-space:nowrap}
.nav-links a:hover{color:#fff}
.nav-cta{display:flex;gap:var(--s2);align-items:center;flex:none;margin-left:auto}
.menu-btn{display:none;color:#fff;font-size:1.5rem;line-height:1;cursor:pointer;
  width:44px;height:44px;align-items:center;justify-content:center;border-radius:var(--r)}
.menu-btn:hover{background:rgba(255,255,255,.06)}

/* switcher de idioma */
.lang-switch{position:relative;z-index:60}
.lang-btn{display:inline-flex;align-items:center;gap:var(--s2);cursor:pointer;min-height:38px;
  font-family:var(--font-display);font-weight:600;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--text);background:transparent;border:1px solid var(--line-2);border-radius:var(--r);padding:7px 11px;
  transition:border-color var(--t),background var(--t)}
.lang-btn:hover{border-color:var(--ember-2);background:rgba(255,90,44,.08);color:#fff}
.lang-btn .flag{width:26px;height:17px;border-radius:2px;overflow:hidden;display:block;box-shadow:0 0 0 1px rgba(0,0,0,.45)}
.lang-btn .flag svg{display:block;width:100%;height:100%}
.lang-btn .caret{font-size:.5rem;color:var(--faint);transition:transform var(--t)}
.lang-switch.open .lang-btn .caret{transform:rotate(180deg)}
.lang-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:176px;padding:var(--s1);
  background:rgba(12,8,7,.98);backdrop-filter:blur(10px);border:1px solid var(--line-2);border-radius:var(--r-lg);
  box-shadow:0 20px 44px -18px #000;opacity:0;visibility:hidden;transform:translateY(-6px);transition:var(--t)}
.lang-switch.open .lang-menu{opacity:1;visibility:visible;transform:none}
.lang-opt{display:flex;align-items:center;gap:var(--s3);width:100%;cursor:pointer;text-align:left;min-height:40px;
  font-family:var(--font-display);font-size:.8rem;letter-spacing:.05em;color:var(--text);
  padding:9px 11px;border-radius:var(--r);transition:background var(--t-fast)}
.lang-opt:hover{background:rgba(255,90,44,.1);color:#fff}
.lang-opt.active{color:var(--gold-2)}
.lang-opt .flag{width:24px;height:16px;border-radius:2px;overflow:hidden;display:block;flex:none;box-shadow:0 0 0 1px rgba(0,0,0,.45)}
.lang-opt .flag svg{display:block;width:100%;height:100%}
.lang-opt .check{margin-left:auto;color:var(--ember-2);font-size:.8rem;opacity:0}
.lang-opt.active .check{opacity:1}

/* ---------------------------------------------------------------- hero */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;
  padding:calc(var(--nav-h) + var(--s7)) 0 var(--s7);overflow:hidden}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg img{width:100%;height:100%;object-fit:cover;filter:grayscale(.25) brightness(.42) contrast(1.05)}
.hero-bg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(10,7,6,.86) 0%,rgba(10,7,6,.66) 45%,var(--bg) 100%)}
.hero-grid{position:relative;z-index:2;max-width:var(--maxw);margin:0 auto;padding:0 var(--s5);width:100%;
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(24px,4vw,56px);align-items:center}
.hero-copy{min-width:0}
.hero-title{font-family:var(--font-display);font-weight:700;line-height:.95;margin-top:var(--s3);
  font-size:clamp(2.6rem,7vw,4.4rem);letter-spacing:.02em;color:#fff}
.hero-title span{display:block;font-size:.3em;letter-spacing:.42em;color:var(--gold-2);
  margin-top:var(--s3);font-weight:600}
.hero-desc{color:var(--muted);margin-top:var(--s4);max-width:56ch;font-size:1rem}
.hero-sub{color:var(--faint);margin-top:var(--s3);max-width:56ch;font-size:.9rem;line-height:1.6}
.hero-status{margin-top:var(--s5)}
.hero-actions{display:flex;gap:var(--s3);flex-wrap:wrap;margin-top:var(--s6)}
.hero-badges{display:flex;gap:var(--s2) var(--s5);flex-wrap:wrap;margin-top:var(--s5);
  padding-top:var(--s5);border-top:1px solid var(--line)}
.hero-badges .b{font-family:var(--font-display);font-size:.74rem;letter-spacing:.06em;color:var(--faint);
  display:flex;align-items:center;gap:var(--s2)}
.hero-badges .b strong{color:var(--gold-2);font-weight:700}
.hero-badges .b::before{content:"";width:4px;height:4px;background:var(--ember);border-radius:50%;flex:none}

/* pastilla de estado del server */
.evb-online{display:inline-flex;align-items:center;gap:var(--s3);
  padding:9px 18px;border-radius:999px;border:1px solid var(--line-2);background:rgba(0,0,0,.4);
  font-family:var(--font-display);font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  font-size:.76rem;color:var(--muted)}
.evb-gem{width:10px;height:10px;border-radius:50%;flex:none;background:#8b8b8b;box-shadow:0 0 8px rgba(160,160,160,.5)}
.evb-gem.on{background:#3ddc7f;box-shadow:0 0 10px #2ee06a}
.evb-gem.off{background:#e04a4a;box-shadow:0 0 10px #e02e2e}
.evb-online:has(.evb-gem.on){color:#8ef0b4;border-color:#2f8a55}
.evb-online:has(.evb-gem.off){color:#ff9d9d;border-color:#7a2b26}

/* clip destacado del hero */
.hero-media{position:relative;border:1px solid var(--line-2);border-radius:var(--r-lg);
  overflow:hidden;background:#000;box-shadow:0 30px 70px -35px #000}
.hero-media .vframe{aspect-ratio:4/3}
/* F08 carrusel del hero: controles sobre el poster/video, solo con tokens de :root */
.hcar [hidden]{display:none!important}
.hcar-stage{position:relative;aspect-ratio:4/3;background:var(--bg);touch-action:pan-y}
.hcar-stage .vframe{height:100%;aspect-ratio:auto}
.hcar-stage img{-webkit-user-drag:none;user-select:none}
.hcar-stage video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:var(--bg)}
.hcar-prev,.hcar-next{position:absolute;top:50%;z-index:4;width:44px;height:44px;margin-top:-22px;
  display:flex;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;
  border:1px solid var(--line-2);background:var(--scrim);color:var(--text);font-size:1.6rem;line-height:1;
  transition:background var(--t-fast),border-color var(--t-fast),color var(--t-fast)}
.hcar-prev{left:var(--s3)}
.hcar-next{right:var(--s3)}
.hcar-prev span,.hcar-next span{margin-top:-3px}
.hcar-prev:hover,.hcar-next:hover{background:var(--blood);border-color:var(--ember);color:var(--text)}
.hcar-bar{position:absolute;top:0;left:0;right:0;z-index:4;display:flex;align-items:center;gap:var(--s3);
  padding:var(--s2) var(--s3);background:linear-gradient(var(--scrim),transparent)}
.hcar-dots{flex:1;display:flex;gap:3px;min-width:0}
.hcar-dot{position:relative;flex:1;min-width:0;height:24px;padding:0;cursor:pointer}
.hcar-dot::before{content:"";position:absolute;left:0;right:0;top:50%;height:3px;margin-top:-1px;
  border-radius:2px;background:var(--line-2);transition:background var(--t-fast)}
.hcar-dot:hover::before{background:var(--muted)}
.hcar-dot[aria-current="true"]::before{background:var(--gold-2)}
.hcar-count{display:none;margin-left:auto;padding:3px 8px;border-radius:var(--r);background:var(--scrim);
  color:var(--text);font-family:var(--font-display);font-size:.72rem;letter-spacing:.08em;font-variant-numeric:tabular-nums}
.hcar-pause{flex:none;min-height:28px;padding:4px 10px;border:1px solid var(--line-2);border-radius:var(--r);
  background:var(--scrim);color:var(--text);cursor:pointer;font-family:var(--font-display);font-size:.66rem;
  letter-spacing:.1em;text-transform:uppercase;transition:border-color var(--t-fast)}
.hcar-pause:hover{border-color:var(--ember-2)}
@media(max-width:599px){.hcar-dots{display:none}.hcar-count{display:inline-block}}
@media(pointer:coarse){.hcar-pause{min-height:44px}}
.scroll-hint{position:absolute;bottom:var(--s5);left:50%;transform:translateX(-50%);z-index:3;
  color:var(--faint);font-family:var(--font-display);font-size:.62rem;letter-spacing:.3em;text-transform:uppercase}
.scroll-hint::after{content:"";display:block;width:1px;height:26px;margin:var(--s2) auto 0;
  background:linear-gradient(var(--ember),transparent)}

/* ---------------------------------------------------------------- vídeo diferido */
/* El <video> NO existe en el HTML: la galería son botones con un poster lazy y el elemento
   de vídeo se inyecta al hacer click (js-lazyvideo).  Así 33 clips cuestan 0 bytes de red
   hasta que alguien los pide, y el poster sólo baja si su tarjeta entra en pantalla.      */
.vframe{position:relative;display:block;width:100%;aspect-ratio:16/10;background:#000;
  border:0;padding:0;cursor:pointer;overflow:hidden}
.vframe img{width:100%;height:100%;object-fit:cover;transition:transform var(--t),filter var(--t)}
.vframe video{width:100%;height:100%;object-fit:contain;background:#000}
.vframe:hover img{transform:scale(1.03);filter:brightness(1.08)}
.vframe::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.18);transition:background var(--t);pointer-events:none}
.vframe:hover::after{background:rgba(0,0,0,0)}
.vframe.playing::after,.vframe.playing:hover img{display:none}
.vplay{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;pointer-events:none;
  width:54px;height:54px;border-radius:50%;border:1px solid rgba(255,255,255,.55);
  background:rgba(10,7,6,.62);display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:1rem;line-height:1;padding-left:3px;transition:background var(--t),border-color var(--t)}
.vframe:hover .vplay{background:var(--blood);border-color:var(--ember)}
.vframe.playing .vplay{display:none}
/* Duracion real del clip. Los videos van completos (24 s a 2:42), asi que se dice cuanto
   duran antes de que alguien le de play. Sin palabras: "2:17" se lee igual en los 9 idiomas. */
.vdur{position:absolute;right:8px;bottom:8px;z-index:2;pointer-events:none;
  font-variant-numeric:tabular-nums;font-size:.72rem;line-height:1;letter-spacing:.03em;
  padding:3px 6px;border-radius:3px;color:#fff;background:rgba(10,7,6,.78);
  border:1px solid rgba(255,255,255,.22)}
.vframe.playing .vdur{display:none}

/* ---------------------------------------------------------------- banda de stats */
.stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg-2)}
.stats-grid{display:grid;grid-template-columns:repeat(6,1fr);max-width:var(--maxw);margin:0 auto}
.stat{padding:var(--s6) var(--s3);text-align:center;border-right:1px solid var(--line)}
.stat:last-child{border-right:none}
.stat .num{font-family:var(--font-display);font-weight:700;font-size:clamp(1.5rem,2.8vw,2.1rem);
  color:#fff;line-height:1;font-variant-numeric:tabular-nums}
.stat .num em{font-style:normal;color:var(--ember-2);font-size:.6em}
.stat .num.num-txt{font-size:clamp(.92rem,1.5vw,1.2rem);line-height:1.25;color:var(--gold-2)}
.stat .lbl{margin-top:var(--s2);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--faint);font-family:var(--font-display)}

/* ---------------------------------------------------------------- acordeón */
.s.acc{padding:0;scroll-margin-top:var(--nav-h);border-top:1px solid var(--line)}
.s.acc > .wrap{padding-top:var(--s7);padding-bottom:var(--s8)}
.s.acc.collapsed > .wrap{display:none}
.acc-bar{display:flex;align-items:center;gap:var(--s4);width:100%;max-width:var(--maxw);margin:0 auto;
  padding:var(--s4) var(--s5);min-height:56px;cursor:pointer;color:var(--gold-2);text-align:left;
  font-family:var(--font-display);font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  font-size:clamp(.76rem,1.8vw,.92rem);transition:background var(--t),color var(--t)}
.acc-bar:hover{background:rgba(216,168,80,.07);color:#fff}
.acc-ic{margin-left:auto;font-size:1.4rem;line-height:1;color:var(--ember-2);transition:transform var(--t)}
.s.acc:not(.collapsed) > .acc-bar{color:#fff;background:rgba(216,168,80,.09)}
.s.acc:not(.collapsed) > .acc-bar .acc-ic{transform:rotate(45deg)}

/* ---------------------------------------------------------------- mundo */
.about{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center}
.about h2{font-size:clamp(1.6rem,3.4vw,2.3rem);margin:var(--s3) 0 var(--s4)}
.about h2 b{color:var(--ember-2)}
.about p{color:var(--muted);margin-bottom:var(--s4)}
.about-art{border:1px solid var(--line-2);border-radius:var(--r-lg);overflow:hidden}
.about-art img{width:100%;aspect-ratio:4/3;object-fit:cover}
.tagrow{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s5)}
.tag{font-family:var(--font-display);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--gold-2);border:1px solid var(--line-2);padding:6px 12px;border-radius:var(--r)}

/* ---------------------------------------------------------------- tarjetas */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:var(--s5);position:relative;transition:border-color var(--t),background var(--t)}
.card:hover{border-color:var(--line-2);background:var(--surface-2)}
.card .ic{font-size:1.3rem;color:var(--ember-2);margin-bottom:var(--s3);display:block}
.card h3{font-size:1.05rem;margin-bottom:var(--s2);color:#fff}
.card p{color:var(--muted);font-size:.93rem}

/* tarjeta desplegable */
.card.xp{cursor:pointer;padding-right:var(--s7)}
.card.xp .xp-arrow{position:absolute;top:var(--s5);right:var(--s5);color:var(--gold);font-size:.75rem;
  transition:transform var(--t);opacity:.8}
.card.xp.open .xp-arrow{transform:rotate(180deg);color:var(--ember-2);opacity:1}
.card .xp-body{max-height:0;opacity:0;overflow:hidden;margin-top:0;border-top:1px solid var(--line);
  transition:max-height .5s var(--ease),opacity var(--t),margin-top var(--t)}
.card.open .xp-body{max-height:6000px;opacity:1;margin-top:var(--s4)}
.xp-body p{margin-top:var(--s3);color:var(--muted);font-size:.92rem}
.xp-body ul{list-style:none;margin-top:var(--s3)}
.xp-body li{position:relative;padding:4px 0 4px 18px;color:var(--muted);font-size:.9rem}
.xp-body li::before{content:"";position:absolute;left:0;top:.85em;width:5px;height:5px;
  background:var(--ember-2);border-radius:50%}
.xp-media{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s2);margin-top:var(--s4)}
.xp-media img{width:100%;border:1px solid var(--line);border-radius:var(--r);display:block;background:#000;cursor:zoom-in}
.xp-media img:hover{border-color:var(--line-2)}
.xp-media .full{grid-column:1/-1}

/* ---------------------------------------------------------------- rates */
.mech{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4)}
.rate-row{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s3);
  padding:7px 0;border-bottom:1px solid var(--line);font-size:.9rem}
.rate-row:last-child{border-bottom:none}
.rate-row span:first-child{color:var(--muted)}
.rate-row span:last-child{font-family:var(--font-display);font-weight:600;color:var(--gold-2);
  text-align:right;font-variant-numeric:tabular-nums}
.rate-row .ok{color:var(--ok)}
.rate-row .warn{color:var(--warn)}
.rate-row .hot{color:var(--hot)}
.card-lbl{color:var(--gold-2);font-family:var(--font-display);font-size:1.02rem;margin-bottom:var(--s1)}
.card-note{color:var(--faint);font-size:.86rem;margin-bottom:var(--s3)}

/* ---------------------------------------------------------------- arsenal */
.arsenal{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4)}
.item{background:var(--surface);border:1px solid var(--line);border-left:2px solid var(--blood);
  border-radius:var(--r);padding:var(--s5);transition:border-color var(--t),background var(--t)}
.item:hover{border-left-color:var(--ember);background:var(--surface-2)}
.item .type{font-family:var(--font-display);font-size:.62rem;letter-spacing:.22em;
  text-transform:uppercase;color:var(--gold)}
.item h4{font-size:1rem;color:#fff;margin:var(--s1) 0 var(--s2)}
.item p{color:var(--muted);font-size:.89rem}
.item.magic{border-left-color:#3f7fd0}
.item.magic:hover{border-left-color:#7fb0ee}
.item.magic .type{color:#8fbcf5}

/* ---------------------------------------------------------------- eventos */
.events{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s3)}
.evt{border:1px solid var(--line);border-radius:var(--r);padding:var(--s5) var(--s4);
  transition:border-color var(--t),background var(--t)}
.evt:hover{border-color:var(--ember-2);background:rgba(255,90,44,.05)}
.evt .ic{font-size:1.25rem;display:block;margin-bottom:var(--s2)}
.evt h4{font-size:.94rem;color:#fff;font-family:var(--font-display);font-weight:600}
.evt p{font-size:.8rem;color:var(--faint);margin-top:var(--s1)}

/* ---------------------------------------------------------------- galería */
.gal{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s3)}
.gal .vframe{border:1px solid var(--line);border-radius:var(--r);aspect-ratio:4/3}
.gal .vframe:hover{border-color:var(--line-2)}
.shots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3);margin-top:var(--s6)}
.shots a{display:block;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;aspect-ratio:4/3}
.shots img{width:100%;height:100%;object-fit:cover;transition:transform var(--t)}
.shots a:hover img{transform:scale(1.04)}
.shots a:hover{border-color:var(--line-2)}

/* lightbox */
#lbox{position:fixed;inset:0;z-index:1200;background:rgba(5,3,2,.95);display:none;
  align-items:center;justify-content:center;padding:var(--s4);cursor:zoom-out;overflow:auto}
#lbox.on{display:flex}
#lbox img{max-width:96vw;max-height:94vh;object-fit:contain;border:1px solid var(--line-2);border-radius:var(--r);margin:auto}
#lbox .x{position:fixed;top:var(--s3);right:var(--s5);font-family:var(--font-display);font-size:1.7rem;
  color:var(--gold-2);cursor:pointer;z-index:2;width:44px;height:44px;display:flex;align-items:center;justify-content:center}
#lbox .x:hover{color:#fff}

/* ---------------------------------------------------------------- economía */
.eco-live{display:flex;align-items:center;gap:var(--s3);margin-bottom:var(--s6);
  padding:var(--s4) var(--s5);border-radius:var(--r-lg);border:1px solid #2f8a55;background:rgba(20,50,34,.4)}
.eco-live-gem{width:11px;height:11px;border-radius:50%;flex:none;background:#3ddc7f;box-shadow:0 0 10px #2ee06a}
.eco-live-txt{font-family:var(--font-display);font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  font-size:clamp(.8rem,2vw,1rem);color:#8ef0b4}

.eco-gauge-wrap{margin-bottom:var(--s6);background:var(--surface);border:1px solid var(--line);
  border-radius:var(--r-lg);padding:var(--s5)}
.eco-gauge-header{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--s4);margin-bottom:var(--s3)}
.eco-gauge-header span{font-family:var(--font-body);font-size:.85rem;color:var(--muted);line-height:1.5}
.eco-gauge-target{font-family:var(--font-display)!important;color:var(--gold-2);font-weight:700;
  white-space:nowrap;font-variant-numeric:tabular-nums}
.eco-gauge{height:14px;background:#1a0f0c;border-radius:999px;border:1px solid var(--line);overflow:hidden}
.eco-gauge-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--blood),var(--ember),var(--gold));
  transition:width 1.4s var(--ease);width:0}
.eco-gauge-labels{display:flex;justify-content:space-between;margin-top:var(--s2);
  font-family:var(--font-display);font-size:.66rem;color:var(--faint);font-variant-numeric:tabular-nums}

.eco-tabs{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.eco-tab-nav{display:flex;border-bottom:1px solid var(--line)}
.eco-tab-btn{flex:1;padding:var(--s4);min-height:52px;font-family:var(--font-display);font-size:.78rem;
  letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--muted);cursor:pointer;
  transition:color var(--t),background var(--t);position:relative}
.eco-tab-btn:hover{color:var(--text);background:rgba(255,255,255,.03)}
.eco-tab-btn.active{color:var(--ember-2);background:rgba(255,90,44,.07)}
.eco-tab-btn.active::after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--ember)}
.eco-tab-panel{display:none;padding:var(--s6)}
.eco-tab-panel.active{display:block}

.eco-info h4{font-size:1.15rem;color:#fff;margin-bottom:var(--s2)}
.eco-info p{color:var(--muted);font-size:.94rem;max-width:70ch}
.eco-note{margin-top:var(--s3);font-size:.85rem;color:var(--faint);border-left:2px solid var(--gold);padding-left:var(--s3)}
.eco-table-wrap{overflow-x:auto;margin:var(--s5) 0}
.eco-table{width:100%;border-collapse:collapse;font-size:.9rem;font-variant-numeric:tabular-nums}
.eco-table th{font-family:var(--font-display);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gold-2);padding:var(--s3);text-align:right;border-bottom:1px solid var(--line-2);white-space:nowrap}
.eco-table th:first-child{text-align:left}
.eco-table td{padding:10px var(--s3);text-align:right;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap}
.eco-table td:first-child{text-align:left;color:var(--text)}
.eco-table tbody tr:hover{background:rgba(255,90,44,.05)}
.eco-table tbody tr:last-child td{border-bottom:none;color:var(--gold-2)}

.eco-coin-uses{margin-top:var(--s5)}
.eco-coin-uses h4{font-size:1.05rem;margin-bottom:var(--s3)}
.eco-coin-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s2)}
.eco-coin-item{border:1px solid var(--line);border-radius:var(--r);padding:var(--s3);font-size:.84rem;
  color:var(--muted);display:flex;align-items:center;gap:var(--s2)}
.eco-coin-ic{font-size:1rem;flex:none}

.eco-anon-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4);margin-top:var(--s5)}
.eco-anon-card{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s5)}
.eco-anon-ic{font-size:1.6rem;display:block;margin-bottom:var(--s2)}
.eco-anon-card h5{font-family:var(--font-display);font-size:.9rem;color:#fff;margin-bottom:var(--s2)}
.eco-anon-card p{font-size:.87rem;color:var(--muted)}

.eco-roadmap{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--s3);margin:var(--s5) 0}
.eco-rm-node{border:1px solid var(--line);border-radius:var(--r);padding:var(--s4)}
.eco-rm-icon{font-size:1.5rem;display:block;margin-bottom:var(--s2)}
.eco-rm-node h5{font-family:var(--font-display);font-size:.76rem;letter-spacing:.08em;color:var(--gold-2);
  margin-bottom:var(--s1);text-transform:uppercase}
.eco-rm-node p{font-size:.78rem;color:var(--faint);line-height:1.5}
.eco-rm-arrow{display:none}

.eco-token{background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-lg);
  padding:var(--s6);margin-top:var(--s6)}
.eco-token-header{display:flex;align-items:center;gap:var(--s3);margin-bottom:var(--s5)}
.eco-token-ic{font-size:1.6rem}
.eco-token-header h4{font-size:1.1rem;color:#fff}
.eco-token-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3);margin-bottom:var(--s5)}
.eco-token-card{border:1px solid var(--line);border-radius:var(--r);padding:var(--s4)}
.eco-token-stat{font-family:var(--font-display);font-weight:700;font-size:1.6rem;color:var(--ember-2);
  margin-bottom:var(--s2);font-variant-numeric:tabular-nums}
.eco-token-card p{font-size:.84rem;color:var(--muted)}
.eco-token-methods{border-top:1px solid var(--line);padding-top:var(--s4)}
.eco-token-methods h5{font-family:var(--font-display);font-size:.72rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--gold);margin-bottom:var(--s3)}
.eco-method-list{display:flex;flex-wrap:wrap;gap:var(--s2)}
.eco-method{font-family:var(--font-display);font-size:.76rem;color:var(--muted);
  border:1px solid var(--line);border-radius:var(--r);padding:var(--s2) var(--s3);line-height:1.4}

.eco-philosophy{margin-top:var(--s6)}
.eco-philosophy h4{font-size:1.05rem;color:#fff;margin-bottom:var(--s4)}
.eco-phil-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3)}
.eco-phil-item{display:flex;gap:var(--s3);border:1px solid var(--line);border-radius:var(--r);padding:var(--s4)}
.eco-phil-ic{font-size:1.1rem;flex:none}
.eco-phil-item p{font-size:.84rem;color:var(--muted)}
.eco-phil-item p[style]{width:auto!important;max-width:100%!important}

/* formulario de donación */
.don-form{margin:var(--s5) 0 0;background:var(--surface-2);border:1px solid var(--line-2);
  border-radius:var(--r-lg);padding:var(--s5);scroll-margin-top:calc(var(--nav-h) + var(--s5));
  transition:border-color var(--t),box-shadow var(--t)}
.don-form h4{font-size:1.05rem;color:#fff;margin-bottom:var(--s1)}
.don-form .eco-note{margin:0 0 var(--s4)}
.don-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4)}
.don-fld{display:flex;flex-direction:column;gap:var(--s1);min-width:0}
.don-fld.wide{grid-column:1/-1}
.don-lbl{font-family:var(--font-display);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.don-inwrap{position:relative;display:flex;align-items:center}
.don-pre{position:absolute;left:12px;font-family:var(--font-display);font-size:.88rem;font-weight:700;
  color:var(--gold-2);pointer-events:none}
.don-form input,.don-form select{width:100%;min-height:44px;background:rgba(8,5,4,.7);
  border:1px solid var(--line);border-radius:var(--r);color:var(--text);
  font-family:var(--font-body);font-size:.95rem;padding:10px 12px;transition:border-color var(--t),box-shadow var(--t)}
.don-form input#donUsd{padding-left:38px}
.don-form input:focus-visible,.don-form select:focus-visible{outline:none;border-color:var(--ember);
  box-shadow:0 0 0 3px rgba(255,90,44,.22)}
.don-form select{appearance:none;cursor:pointer}
.don-form option{background:#17100e;color:var(--text)}
.don-conv{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--s2);margin-top:var(--s1);
  font-size:.9rem;color:var(--muted)}
.don-conv-lbl{font-family:var(--font-display);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}
.don-conv b{font-family:var(--font-display);font-weight:700;font-size:1.2rem;color:var(--gold-2);font-variant-numeric:tabular-nums}
.don-conv-bonus{color:var(--ember-2);font-weight:600}
.don-actions{display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap;margin-top:var(--s4)}
.don-send{font-family:var(--font-display);font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  font-size:.76rem;color:#1a0d08;cursor:pointer;border-radius:var(--r);padding:12px 22px;min-height:44px;
  background:var(--gold);transition:background var(--t),transform var(--t-fast)}
.don-send:hover{background:var(--gold-2);transform:translateY(-1px)}
.don-err{font-size:.82rem;color:#ff9d9d;min-height:1.2em}
.don-out{margin-top:var(--s5);border:1px solid var(--line-2);border-left:2px solid var(--gold);
  border-radius:var(--r);padding:var(--s5);background:rgba(216,168,80,.05)}
.don-out h5{font-family:var(--font-display);font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gold-2);margin-bottom:var(--s3)}
.don-out-rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s2) var(--s5);margin-bottom:var(--s3)}
.don-out-row{display:flex;justify-content:space-between;gap:var(--s3);border-bottom:1px solid var(--line);
  padding-bottom:var(--s1);font-size:.87rem;color:var(--muted)}
.don-out-row b{color:var(--gold-2);font-weight:700;word-break:break-all;text-align:right}
.don-form.don-hi{border-color:var(--ember);box-shadow:0 0 0 3px rgba(255,90,44,.2)}

/* ---------------------------------------------------------------- descargas */
.dl-card{max-width:760px;background:var(--surface);border:1px solid var(--line-2);
  border-radius:var(--r-lg);padding:var(--s6)}
.dl-card h3{font-size:1.4rem;color:#fff}
.dl-meta{font-family:var(--font-display);color:var(--faint);font-size:.74rem;letter-spacing:.1em;margin:var(--s2) 0 var(--s4)}
.dl-req{font-size:.86rem;color:var(--muted);line-height:1.7;margin-bottom:var(--s5)}
.dl-req strong{display:block;color:var(--gold-2);font-family:var(--font-display);font-size:.7rem;
  letter-spacing:.18em;text-transform:uppercase;margin-bottom:var(--s1)}
.dl-feats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s2);margin:var(--s5) 0}
.dl-feats .f{font-size:.74rem;color:var(--faint);border:1px solid var(--line);border-radius:var(--r);
  padding:var(--s3) var(--s2);font-family:var(--font-display);text-align:center}
.dl-feats .f b{display:block;color:var(--gold-2);font-size:1rem;margin-bottom:var(--s1)}
.dl-sec{border:1px solid var(--line-2);border-radius:var(--r);padding:var(--s5);margin-bottom:var(--s5)}
.dl-sec-hd{display:flex;align-items:center;gap:var(--s2);color:#7fd49a;font-family:var(--font-display);
  font-weight:700;font-size:.94rem;margin-bottom:var(--s3)}
.dl-sec p{font-size:.85rem;color:var(--muted);margin-bottom:var(--s3);line-height:1.6}
.dl-actions{display:flex;gap:var(--s3);flex-wrap:wrap;margin:var(--s5) 0}
.steps{max-width:600px;margin-top:var(--s5);counter-reset:s}
.steps li{list-style:none;position:relative;padding:var(--s2) 0 var(--s2) 40px;color:var(--muted);
  font-size:.93rem;border-bottom:1px solid var(--line)}
.steps li:last-child{border-bottom:none}
.steps li::before{counter-increment:s;content:counter(s);position:absolute;left:0;top:10px;
  width:26px;height:26px;border-radius:50%;border:1px solid var(--ember);color:var(--ember-2);
  font-family:var(--font-display);font-weight:700;display:flex;align-items:center;justify-content:center;font-size:.78rem}
code{background:rgba(255,255,255,.06);padding:2px 6px;border-radius:2px;color:var(--gold-2);
  font-family:var(--font-display);font-size:.86em}
pre{background:rgba(0,0,0,.4);border:1px solid var(--line);border-radius:var(--r);
  padding:var(--s3);font-size:.8rem;color:var(--gold-2);overflow-x:auto}
details summary{cursor:pointer;color:var(--gold-2);font-family:var(--font-display);font-size:.7rem;
  letter-spacing:.16em;text-transform:uppercase;min-height:30px;display:flex;align-items:center}
details[open] summary{margin-bottom:var(--s3)}
.hash{word-break:break-all;font-size:.8rem;color:var(--faint)}

/* ---------------------------------------------------------------- controles */
.ctrl-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s5)}
.ctrl-col h4{font-family:var(--font-display);font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--ember-2);margin-bottom:var(--s3);padding-bottom:var(--s2);border-bottom:1px solid var(--line)}
.kb{display:flex;justify-content:space-between;gap:var(--s3);padding:5px 0;font-size:.86rem}
.kb .k{font-family:var(--font-display);color:var(--gold-2);white-space:nowrap;font-size:.78rem}
.kb .d{color:var(--muted);text-align:right}

/* ---------------------------------------------------------------- CTA + footer */
.cta-band{position:relative;padding:clamp(56px,8vw,88px) var(--s5);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;text-align:center}
.cta-band .bgimg{position:absolute;inset:0;z-index:0}
.cta-band .bgimg img{width:100%;height:100%;object-fit:cover;opacity:.18;filter:grayscale(.3)}
.cta-band .bgimg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(var(--bg),rgba(10,7,6,.5),var(--bg))}
.cta-band .inner{position:relative;z-index:2;max-width:660px;margin:0 auto}
.cta-band h2{font-size:clamp(1.8rem,4.5vw,2.8rem)}
.cta-band h2 b{color:var(--ember-2)}
.cta-band p{color:var(--muted);margin:var(--s4) auto var(--s6)}
.cta-band .hero-actions{justify-content:center;margin-top:0}

footer{background:#070403;border-top:1px solid var(--line);padding:var(--s8) var(--s5) var(--s5)}
.foot-inner{max-width:var(--maxw);margin:0 auto;display:flex;flex-wrap:wrap;gap:var(--s7);
  justify-content:space-between;align-items:flex-start}
.foot-brand .brand{font-size:1.15rem}
.foot-brand p{color:var(--faint);font-size:.85rem;margin-top:var(--s2);max-width:32ch}
.foot-links{display:flex;gap:var(--s8);flex-wrap:wrap}
.foot-col h5{font-family:var(--font-display);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold);margin-bottom:var(--s3)}
.foot-col a{display:block;color:var(--muted);font-size:.88rem;margin-bottom:var(--s2);min-height:24px}
.foot-bottom{max-width:var(--maxw);margin:var(--s7) auto 0;padding-top:var(--s5);border-top:1px solid var(--line);
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--s2);color:var(--faint);
  font-size:.78rem;font-family:var(--font-display);letter-spacing:.06em}

/* ---------------------------------------------------------------- utilidades flotantes */
/* El contador vive en el pie: flotando arriba a la derecha chocaba con el switcher de idioma. */
#visitBadge{display:inline-flex;align-items:center;gap:var(--s1);
  font-family:var(--font-display);font-size:.78rem;letter-spacing:.06em;color:var(--faint);line-height:1}
#visitBadge .vb-icon{color:var(--ember-2);opacity:.8}
#visitBadge .vb-num{color:var(--gold-2);font-weight:700;font-variant-numeric:tabular-nums}

#toTop{position:fixed;right:var(--s3);top:50%;transform:translateY(-50%) translateX(72px);z-index:940;
  width:46px;height:46px;border-radius:50%;border:1px solid var(--line-2);cursor:pointer;
  background:rgba(21,16,14,.95);color:var(--gold-2);font-size:1rem;line-height:1;
  display:flex;align-items:center;justify-content:center;
  transition:transform var(--t) var(--ease),opacity var(--t),border-color var(--t);opacity:0;pointer-events:none}
#toTop.show{transform:translateY(-50%) translateX(0);opacity:1;pointer-events:auto}
#toTop:hover{border-color:var(--ember-2);color:#fff}

/* modal guest play */
.gp-modal{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;
  padding:var(--s5);background:rgba(6,4,3,.8);backdrop-filter:blur(6px)}
.gp-modal.open{display:flex}
.gp-box{position:relative;max-width:440px;width:100%;background:var(--surface);
  border:1px solid var(--line-2);border-radius:var(--r-lg);padding:var(--s7) var(--s6) var(--s6);text-align:center}
.gp-box h3{font-size:1.3rem;color:var(--gold-2);margin-bottom:var(--s3)}
.gp-box p{color:var(--muted);font-size:.93rem;margin-bottom:var(--s3)}
.gp-box .gp-note{font-size:.85rem;color:var(--faint)}
.gp-box .btn{margin-top:var(--s3)}
.gp-close{position:absolute;top:var(--s2);right:var(--s2);color:var(--muted);font-size:1.4rem;
  line-height:1;cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--r)}
.gp-close:hover{color:#fff;background:rgba(255,255,255,.06)}

/* ---------------------------------------------------------------- reveal */
.reveal{opacity:0;transform:translateY(18px);
  transition:opacity .6s var(--ease),transform .6s var(--ease)}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.06s}
.reveal.d2{transition-delay:.12s}
.reveal.d3{transition-delay:.18s}
.reveal.d4{transition-delay:.24s}

/* ============================================================================
   MURO DE LA TABERNA — dock flotante (chat global traducido).  Conservado.
   ========================================================================= */
/* Anclado ABAJO a la derecha y plegado por defecto: arriba tapaba el hero (medido a 1440 el
   dock cubria la columna del video) y en celular ocupaba media pantalla.  Crece hacia arriba. */
#tavDock{position:fixed;bottom:0;right:var(--s5);width:330px;
  max-width:calc(100vw - 28px);z-index:930;font-family:var(--font-body);
  background:var(--surface);border:1px solid var(--line);border-bottom:0;
  border-radius:var(--r-lg) var(--r-lg) 0 0;
  box-shadow:0 -12px 48px rgba(0,0,0,.55);overflow:hidden;
  display:flex;flex-direction:column;
  transition:opacity .4s ease,transform .4s ease}
#tavDock.boot{opacity:0;transform:translateY(12px)}
/* mientras nace, el plegado inicial es INSTANTANEO: si no, el primer frame muestra el dock
   abierto ocupando la pantalla y despues se cierra animado (visible en la captura de 360) */
#tavDock.boot,#tavDock.boot *{transition:none!important}
.tavd-bar{display:flex;align-items:center;gap:var(--s2);cursor:pointer;user-select:none;width:100%;
  padding:var(--s3);min-height:48px;border-bottom:1px solid var(--line);text-align:left;
  background:rgba(255,255,255,.02);transition:background var(--t)}
.tavd-bar:hover{background:rgba(216,168,80,.08)}
.tavd-flame{width:14px;height:18px;flex:none;border-radius:50% 50% 48% 48%/60% 60% 40% 40%;
  background:radial-gradient(ellipse at 50% 75%,#ffd27a,#ff7a2c 45%,#c4302a 78%,transparent 82%);
  animation:tavFlick 2.2s ease-in-out infinite}
@keyframes tavFlick{0%,100%{transform:scale(1)}50%{transform:scale(1.08,1.14)}}
.tavd-ti{flex:1;min-width:0}
.tavd-ti h3{font-family:var(--font-display);font-weight:700;font-size:.86rem;letter-spacing:.04em;
  color:var(--text);line-height:1.2}
.tavd-ti .sub{font-size:.68rem;color:var(--faint);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tavd-toggle{font-family:var(--font-display);color:var(--gold-2);font-size:.85rem;flex:none;transition:transform var(--t)}
#tavDock.closed .tavd-toggle{transform:rotate(180deg)}
.tavd-body{display:flex;flex-direction:column;max-height:62vh;overflow:hidden;
  transition:max-height .35s ease,opacity var(--t)}
#tavDock.closed .tavd-body{max-height:0;opacity:0;pointer-events:none}
.tavd-hint{display:flex;align-items:center;gap:var(--s1);padding:var(--s2) var(--s3);font-size:.68rem;
  color:var(--faint);border-bottom:1px solid var(--line);background:rgba(0,0,0,.2)}
.tavd-hint .flag{width:18px;height:13px;border-radius:2px;overflow:hidden;flex:none}
.tavd-hint .flag svg{width:100%;height:100%;display:block}
.tavd-hint b{color:var(--gold-2);font-weight:700}
.tav-feed{flex:1;overflow-y:auto;padding:var(--s3) var(--s3) var(--s1);display:flex;flex-direction:column;
  gap:var(--s2);min-height:90px;scrollbar-width:thin;scrollbar-color:var(--ember) transparent}
.tav-feed::-webkit-scrollbar{width:6px}
.tav-feed::-webkit-scrollbar-thumb{background:var(--ember);border-radius:4px}
.tav-note{position:relative;background:#efe2c8;color:#241a12;border-radius:2px;
  padding:var(--s2) var(--s3) var(--s2) 14px;line-height:1.45}
.tav-note::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--blood)}
.tav-note .who{font-family:var(--font-display);font-weight:700;font-size:.72rem;color:#7a2f12;text-transform:uppercase}
.tav-note .when{float:right;font-size:.62rem;color:#6b5233}
.tav-note .msg{margin-top:2px;font-size:.85rem;word-break:break-word;white-space:pre-wrap}
.tav-note .orig{display:inline-block;margin-top:4px;font-size:.66rem;color:#8a5216;cursor:pointer;
  border-bottom:1px dotted #b07a3a}
.tav-note .orig:hover{color:#5f2408}
.tav-empty{color:var(--faint);text-align:center;padding:var(--s5) var(--s2);font-size:.82rem}
.tavd-form{display:flex;flex-direction:column;gap:var(--s2);padding:var(--s3);
  border-top:1px solid var(--line);background:rgba(0,0,0,.2)}
.tavd-form .tav-input,.tavd-form .tav-text{width:100%;background:rgba(8,5,4,.7);border:1px solid var(--line);
  border-radius:var(--r);color:var(--text);font-family:var(--font-body);font-size:.86rem;padding:9px 11px;
  min-height:40px;transition:border-color var(--t),box-shadow var(--t)}
.tavd-form .tav-input:focus-visible,.tavd-form .tav-text:focus-visible{outline:none;border-color:var(--ember);
  box-shadow:0 0 0 3px rgba(255,90,44,.2)}
.tavd-form .tav-text{resize:none;min-height:56px;line-height:1.45}
.tav-row{display:flex;align-items:center;justify-content:space-between;gap:var(--s2)}
.tav-count{font-size:.72rem;color:var(--faint);font-variant-numeric:tabular-nums}
.tav-count.warn{color:var(--ember-2)}
.tav-send{font-family:var(--font-display);font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  font-size:.74rem;color:#1a0d08;cursor:pointer;border-radius:var(--r);padding:9px 16px;min-height:40px;
  background:var(--gold);transition:background var(--t),transform var(--t-fast),opacity var(--t)}
.tav-send:hover{background:var(--gold-2);transform:translateY(-1px)}
.tav-send:disabled{opacity:.5;cursor:not-allowed;transform:none}
.tav-msg{font-size:.76rem;min-height:1.1em}
.tav-msg.err{color:#ff9d9d}
.tav-msg.ok{color:var(--gold-2)}
.tav-note.fresh{animation:tavIn .35s ease both}
@keyframes tavIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
/* votos: pulgar arriba verde / pulgar abajo rojo */
.tav-votes{display:flex;gap:var(--s2);align-items:center;margin-top:var(--s1)}
.tav-votes .tv{display:inline-flex;align-items:center;gap:4px;border:1px solid rgba(120,80,40,.4);
  border-radius:10px;background:rgba(255,255,255,.4);cursor:pointer;font-size:.72rem;padding:3px 9px;
  line-height:1.3;min-height:24px;color:#4a3826;transition:background var(--t),border-color var(--t),transform var(--t-fast);
  font-family:var(--font-body)}
.tav-votes .tv:hover{transform:translateY(-1px)}
.tav-votes .tv.up{color:#16642f}
.tav-votes .tv.dn{color:#8f1a10}
.tav-votes .tv.up.act{background:rgba(60,180,100,.3);border-color:#2e9c52}
.tav-votes .tv.dn.act{background:rgba(220,70,50,.25);border-color:#c4302a}
.tav-votes .tv b{font-weight:700;font-variant-numeric:tabular-nums}

/* ============================================================================
   RESPONSIVE — mobile-first verificado a 360 / 768 / 1024 / 1440
   ========================================================================= */
@media(max-width:1100px){
  .gal{grid-template-columns:repeat(3,minmax(0,1fr))}
  .eco-roadmap{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:980px){
  /* El pedido original del usuario: al abrir la web la seccion de inicio tiene que entrar
     ENTERA (marca + estado del server + CTA) sin scrollear.  Debajo de 980 el hero se apila
     y se reordena: lo accionable primero, la prosa despues de la primera pantalla. */
  .hero{min-height:auto;padding:calc(var(--nav-h) + var(--s4)) 0 var(--s7)}
  .hero-grid{grid-template-columns:1fr;gap:var(--s4)}
  .hero-media{order:-1;max-height:min(34vh,280px)}
  .hero-media .vframe{aspect-ratio:16/9}
  .hero-media .vframe img{object-position:center 42%}
  .hero-media .hcar-stage{aspect-ratio:16/9}
  .hero-copy{display:flex;flex-direction:column}
  .hero-copy > .eyebrow{order:1}
  .hero-title{order:2;font-size:clamp(2rem,8vw,3rem);margin-top:var(--s2)}
  .hero-status{order:3;margin-top:var(--s4)}
  .hero-actions{order:4;margin-top:var(--s4)}
  .hero-desc{order:5;margin-top:var(--s6)}
  .hero-sub{order:6}
  .hero-badges{order:7}
  .about{grid-template-columns:1fr}
  .g3,.arsenal,.ctrl-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .events{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stats-grid{grid-template-columns:repeat(3,1fr)}
  .stat:nth-child(3n){border-right:none}
  .stat:nth-child(n+4){border-top:1px solid var(--line)}
  .shots{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dl-feats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .eco-coin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .eco-anon-options,.eco-token-grid,.eco-phil-grid{grid-template-columns:1fr}
  .scroll-hint{display:none}
}
@media(max-width:980px){
  #tavDock{width:300px;right:var(--s3)}
  /* centrado a la derecha tapaba las tarjetas de la galeria a 768: va a la esquina,
     por encima de la barra del dock (61 px) */
  #toTop{top:auto;bottom:72px;right:var(--s3);width:42px;height:42px;transform:translateX(72px)}
  #toTop.show{transform:none}
}
/* Por encima de 1024 entran marca + 6 enlaces + 2 CTA + idioma dentro del contenedor de 1160;
   por debajo se van al menu, que es lo que evitaba que el switcher se saliera de pantalla. */
@media(max-width:1024px){
  nav .nav-links{display:none}
  .menu-btn{display:flex}
  .nav-links.open{display:flex;position:absolute;top:var(--nav-h);left:0;right:0;flex-direction:column;
    gap:0;margin:0;background:rgba(10,7,6,.98);border-bottom:1px solid var(--line);padding:var(--s2) var(--s5) var(--s4)}
  .nav-links.open li{border-bottom:1px solid var(--line)}
  .nav-links.open a{padding:var(--s3) 0;font-size:.85rem}
}
@media(max-width:760px){
  .nav-cta .btn{display:none}
  .g3,.g2,.arsenal,.mech,.events,.ctrl-grid{grid-template-columns:1fr}
  .gal{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .stat{border-right:none;border-bottom:1px solid var(--line);padding:var(--s5) var(--s3)}
  .stat:nth-child(2n){border-right:none}
  .stat:nth-child(n+3){border-top:none}
  .don-grid,.don-out-rows{grid-template-columns:1fr}
  .eco-tab-panel{padding:var(--s5) var(--s4)}
  .eco-coin-grid,.eco-roadmap{grid-template-columns:1fr}
  .eco-gauge-header{flex-direction:column;align-items:flex-start;gap:var(--s1)}
  .dl-card{padding:var(--s5) var(--s4)}
  .foot-inner{gap:var(--s6)}
  .foot-links{gap:var(--s6)}
  /* el dock de la taberna cubría la pantalla en celular: acá ocupa el ancho, plegado por defecto */
  #tavDock{bottom:0;right:0;left:0;width:auto;max-width:none;border-radius:0;
    border-left:0;border-right:0}
  .tavd-body{max-height:min(46vh,320px)}
  .tav-feed{min-height:64px}
  .tavd-form .tav-text{min-height:44px}

}
@media(max-width:420px){
  .wrap,.nav-inner,.hero-grid{padding-left:var(--s4);padding-right:var(--s4)}
  /* a 360 la marca completa + idioma + hamburguesa no entran: el sufijo se calla */
  .brand{font-size:.92rem}
  nav .brand span{display:none}
  .gal,.shots{grid-template-columns:1fr}
  .hero-actions .btn{width:100%}
  .dl-actions .btn{width:100%}
  .hero-badges{gap:var(--s2) var(--s4)}
  .eco-tab-btn{font-size:.68rem;letter-spacing:.06em;padding:var(--s3) var(--s2)}
  #visitBadge{font-size:.62rem;padding:5px 8px}
}

/* ============================================================================
   PREFERENCIAS DEL USUARIO
   ========================================================================= */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;
    transition-duration:.001ms!important;scroll-behavior:auto!important}
  .reveal{opacity:1;transform:none}
  .tavd-flame{animation:none}
}
@media(prefers-contrast:more){
  :root{--muted:#d8cabc;--faint:#c2b2a4;--line:#4a3229;--line-2:#6b4133}
}
@media print{
  nav,#tavDock,#toTop,#visitBadge,.hero-bg,.vframe,.gp-modal,#lbox{display:none!important}
  body{background:#fff;color:#000}
}

/* imagen todavía sin hidratar: reserva su caja y no muestra el icono de rota */
img[data-src]{background:#0b0807 linear-gradient(110deg,#0b0807,#151010,#0b0807);min-height:1px}

/* números destacados dentro de un párrafo (conserva el nodo de texto que traduce applyLang) */
.ok-num{color:var(--ok);font-weight:600}
.gold-t{color:var(--gold-2);font-weight:600}
