/* GameCentral — Retro Arcade Pixel (neón violeta)
   Layout: contenedor centrado (max 1160px), escala de espaciado 8/16/24/40/64/96, un radio de tarjeta (12px).
   Acentos (máx 2): --pink (primario) + --cyan (secundario). Base neutra = índigo profundo.
   Efectos dosificados: brillo suave, sin estrobo. Animaciones solo transform/opacity, 200-500ms, ease-out. */

:root{
  --bg:#120458;
  --bg-2:#0d0333;
  --card:#1a0870;
  --pink:#ff2975;
  --yellow:#fee440;
  --cyan:#00f5ff;
  --text:#f4f0ff;
  --muted:#c4b5fd;
  --border:rgba(255,255,255,.12);
  --accent:var(--pink);

  --font-h1:"Press Start 2P",system-ui,sans-serif;
  --font-h:"VT323",monospace;
  --font-body:"Nunito",system-ui,sans-serif;
  --font-ui:"VT323",monospace;

  --sp-1:8px; --sp-2:16px; --sp-3:24px; --sp-4:40px; --sp-5:64px; --sp-6:96px;
  --radius:12px;
  --maxw:1160px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--bg);color:var(--text);
  font-family:var(--font-body);font-size:16px;line-height:1.65;font-weight:400;
  -webkit-font-smoothing:antialiased;transition:opacity .18s ease;
}
body.lang-fading{opacity:.4}
img{max-width:100%;height:auto;display:block}
a{color:var(--cyan);text-decoration:none}
a:hover{color:var(--yellow)}

/* inline icons (Remix Icon style) */
.ic{width:1.2em;height:1.2em;display:inline-block;vertical-align:-.16em;flex:none;fill:currentColor}
.btn .ic{width:1.15em;height:1.15em}

.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 var(--sp-3)}
.section{padding:var(--sp-6) 0}
.section-alt{background:var(--bg-2)}
.narrow{max-width:820px}

h1,h2,h3{margin:0;line-height:1.15}
h2{font-family:var(--font-h);font-size:clamp(2rem,4.6vw,3rem);letter-spacing:.01em}
h3{font-family:var(--font-h);font-size:1.5rem;font-weight:400;letter-spacing:.01em}

.skip-link{position:absolute;left:-999px;top:0;background:var(--pink);color:#12002a;padding:10px 16px;z-index:200;font-family:var(--font-ui)}
.skip-link:focus{left:12px;top:12px}

/* buttons — pixel 3D con box-shadow inferior */
.btn{
  position:relative;overflow:hidden;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:var(--font-ui);font-size:1.15rem;letter-spacing:.04em;
  padding:12px 24px;border-radius:8px;border:2px solid transparent;cursor:pointer;line-height:1;
  transition:transform .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease;
}
/* sheen sweep on hover */
.btn::before{content:"";position:absolute;top:-4px;bottom:-4px;left:-60%;width:38%;pointer-events:none;
  background:linear-gradient(105deg,transparent,rgba(255,255,255,.32),transparent);
  transform:translateX(0) skewX(-18deg);transition:transform .5s ease;}
.btn:hover::before{transform:translateX(430%) skewX(-18deg)}
.btn-primary{background:var(--pink);color:#12002a;font-weight:700;box-shadow:0 4px 0 #b3134f}
.btn-primary:hover{background:#ff4d8d;transform:translateY(-2px);box-shadow:0 6px 0 #b3134f}
.btn-primary:active{transform:translateY(2px);box-shadow:0 2px 0 #b3134f}
.btn-ghost{background:transparent;color:var(--text);border-color:var(--cyan)}
.btn-ghost:hover{border-color:var(--yellow);color:var(--yellow);transform:translateY(-2px)}
.btn-small{padding:9px 16px;font-size:1rem}
.btn-block{width:100%}

/* header */
.site-header{position:sticky;top:0;z-index:100;background:rgba(13,3,51,.9);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--border);
  transition:background .3s ease,box-shadow .3s ease}
/* gradient hairline under the header — arcade marquee feel */
.site-header::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;pointer-events:none;
  background:linear-gradient(90deg,transparent,var(--pink) 28%,var(--cyan) 72%,transparent);
  opacity:.45;transition:opacity .3s ease}
.site-header.is-scrolled{background:rgba(13,3,51,.97);
  box-shadow:0 6px 18px rgba(6,1,28,.45),0 16px 40px rgba(6,1,28,.35)}
@supports (backdrop-filter:blur(1px)){
  .site-header.is-scrolled{background:rgba(13,3,51,.78);backdrop-filter:blur(14px)}
}
.site-header.is-scrolled::after{opacity:1}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);min-height:66px;
  transition:min-height .3s ease}
.site-header.is-scrolled .header-inner{min-height:56px}
.brand{display:inline-flex;align-items:center;gap:10px;color:var(--text)}
.brand-mark{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:8px;
  background:var(--pink);color:#12002a;font-family:var(--font-h1);font-size:.7rem;
  transition:transform .25s ease,box-shadow .25s ease}
.brand:hover .brand-mark,.brand:focus-visible .brand-mark{
  transform:rotate(-6deg) scale(1.06);box-shadow:0 0 14px rgba(255,41,117,.55),0 0 30px rgba(0,245,255,.2)}
.brand-name{font-family:var(--font-h);font-size:1.5rem;letter-spacing:.02em}
.brand-name .sep{color:var(--cyan)}
.main-nav{display:flex;gap:var(--sp-3)}
.main-nav a{position:relative;color:var(--text);font-family:var(--font-ui);font-size:1.15rem;letter-spacing:.02em;padding:4px 0;
  transition:color .25s ease}
.main-nav a::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;
  background:linear-gradient(90deg,var(--pink),var(--cyan));
  transform:scaleX(0);transform-origin:left;transition:transform .28s ease}
.main-nav a:hover,.main-nav a[aria-current="page"]{color:var(--yellow)}
.main-nav a:hover::after,.main-nav a[aria-current="page"]::after{transform:scaleX(1)}
.header-actions{display:flex;align-items:center;gap:var(--sp-2)}

/* lang switch */
.lang-switch{position:relative;display:inline-flex;background:var(--card);
  border:1px solid var(--border);border-radius:999px;padding:3px;user-select:none}
.lang-btn{position:relative;z-index:1;border:0;background:none;cursor:pointer;
  font:700 14px/1 var(--font-body);letter-spacing:.06em;color:var(--muted);
  padding:7px 15px;border-radius:999px;transition:color .25s ease}
.lang-btn.is-active{color:#12002a}
.lang-thumb{position:absolute;top:3px;left:3px;height:calc(100% - 6px);
  width:calc(50% - 3px);background:var(--accent);border-radius:999px;
  transition:transform .28s cubic-bezier(.4,0,.2,1)}
.lang-switch[data-active="en"] .lang-thumb{transform:translateX(100%)}

/* mobile nav */
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:6px}
.nav-toggle span{width:24px;height:2px;background:var(--text);transition:transform .2s,opacity .2s}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-nav{display:none;flex-direction:column;padding:var(--sp-2) var(--sp-3);
  background:var(--bg-2);border-bottom:1px solid var(--border)}
.mobile-nav.open{display:flex}
.mobile-nav a{color:var(--text);padding:12px 0;border-bottom:1px solid var(--border);font-family:var(--font-ui);font-size:1.2rem}

/* hero */
.hero{position:relative;min-height:84vh;display:flex;align-items:center;overflow:hidden}
.hero-media{position:absolute;inset:0;z-index:0}
.hero-media img{width:100%;height:auto;display:block}
.hero-overlay{position:absolute;inset:0;background:
  linear-gradient(90deg,rgba(18,4,88,.95) 0%,rgba(18,4,88,.82) 48%,rgba(13,3,51,.55) 100%)}
/* scanlines + CRT vignette dosificados */
.hero-fx{position:absolute;inset:0;z-index:1;pointer-events:none}
.hero-fx::before{content:"";position:absolute;inset:0;
  background:repeating-linear-gradient(0deg,rgba(0,0,0,.14) 0 1px,transparent 1px 3px);opacity:.5}
.hero-fx::after{content:"";position:absolute;inset:0;
  box-shadow:inset 0 0 160px 30px rgba(6,1,28,.7)}
.hero-inner{position:relative;z-index:2;padding:var(--sp-6) 0}
.eyebrow{font-family:var(--font-ui);color:var(--cyan);letter-spacing:.14em;text-transform:uppercase;font-size:1.15rem;margin:0 0 var(--sp-2)}
.hero-title{font-family:var(--font-h1);font-size:clamp(1.7rem,5.4vw,3.4rem);line-height:1.35;max-width:16ch;
  color:var(--text);text-shadow:0 0 18px rgba(255,41,117,.5),3px 3px 0 rgba(0,0,0,.35)}
.hero-sub{font-size:1.15rem;color:var(--text);max-width:48ch;margin:var(--sp-3) 0 var(--sp-4)}
.insert-coin{display:inline-block;font-family:var(--font-ui);color:var(--yellow);letter-spacing:.14em;
  font-size:1.2rem;margin:var(--sp-3) 0 0;opacity:.9}
.hero-cta{display:flex;flex-wrap:wrap;gap:var(--sp-2)}
.hero-tags{display:flex;flex-wrap:wrap;gap:var(--sp-2);list-style:none;padding:0;margin:var(--sp-4) 0 0}
.hero-tags li{font-family:var(--font-ui);font-size:1.05rem;letter-spacing:.04em;color:var(--muted);
  border:1px solid var(--border);border-radius:999px;padding:5px 16px}

/* floating coins (transform/opacity, suave) */
.coins{position:absolute;inset:0;z-index:1;pointer-events:none}
.coins span{position:absolute;bottom:-14px;width:12px;height:12px;border-radius:50%;
  background:var(--yellow);box-shadow:0 0 8px rgba(254,228,64,.6);opacity:0;
  animation:coin 8s linear infinite}
.coins span:nth-child(1){left:12%;animation-delay:0s}
.coins span:nth-child(2){left:28%;animation-delay:2.4s}
.coins span:nth-child(3){left:46%;animation-delay:4.6s}
.coins span:nth-child(4){left:66%;animation-delay:1.2s}
.coins span:nth-child(5){left:84%;animation-delay:3.4s}
@keyframes coin{
  0%{opacity:0;transform:translateY(0)}
  12%{opacity:.85}
  85%{opacity:.55}
  100%{opacity:0;transform:translateY(-78vh)}
}

/* section heads */
.section-head{max-width:660px;margin:0 0 var(--sp-4)}
.kicker{display:inline-block;font-family:var(--font-ui);color:var(--pink);
  letter-spacing:.12em;text-transform:uppercase;font-size:1.1rem;margin-bottom:var(--sp-1)}
.section-lead{color:var(--muted);margin:var(--sp-2) 0 0;max-width:65ch}

/* grids */
.grid{display:grid;gap:var(--sp-3)}
.zonas-grid{grid-template-columns:repeat(3,1fr)}
.tokens-grid{grid-template-columns:repeat(3,1fr)}
.sedes-grid{grid-template-columns:repeat(3,1fr)}
.torneos-grid{grid-template-columns:repeat(3,1fr)}
.gallery-grid{grid-template-columns:repeat(3,1fr)}
.tes-grid{grid-template-columns:repeat(2,1fr)}
.stats-grid{grid-template-columns:repeat(4,1fr)}

/* card base — layered two-tone shadow on hover (tight + ambient) */
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.card:hover{transform:translateY(-4px);border-color:var(--pink);
  box-shadow:0 3px 8px rgba(6,1,28,.5),0 14px 34px rgba(255,41,117,.18)}

/* zonas */
.zona-card{padding:var(--sp-3)}
.zona-ico{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:10px;
  background:var(--bg-2);font-size:1.6rem;margin-bottom:var(--sp-2)}
.zona-card p{color:var(--muted);margin:var(--sp-1) 0 var(--sp-2)}
.hpbar{height:10px;border-radius:999px;background:var(--bg-2);border:1px solid var(--border);overflow:hidden;margin-top:var(--sp-2)}
.hpbar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--cyan),var(--pink))}
.hpbar-label{font-family:var(--font-ui);font-size:1rem;color:var(--muted);margin-top:6px;letter-spacing:.03em}

/* stats — faint pixel grid + ambient cyan glow */
.stats-band{position:relative;overflow:hidden;background:var(--bg-2);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:var(--sp-5) 0}
.stats-band::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(640px 260px at 50% 0%,rgba(0,245,255,.07),transparent 70%),
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:auto,24px 24px,24px 24px}
.stats-band .container{position:relative;z-index:1}
.stat{text-align:center}
.stat-num{display:block;font-family:var(--font-h);font-size:clamp(2.6rem,6vw,4rem);color:var(--yellow);
  line-height:1;text-shadow:0 0 16px rgba(254,228,64,.3)}
.stat-label{font-family:var(--font-ui);letter-spacing:.05em;color:var(--muted);font-size:1.05rem;text-transform:uppercase}

/* tokens / precios */
.token-card{padding:var(--sp-3);display:flex;flex-direction:column;gap:var(--sp-1)}
.token-card .tag{align-self:flex-start;font-family:var(--font-ui);font-size:.95rem;letter-spacing:.06em;
  text-transform:uppercase;color:var(--cyan);background:var(--bg-2);border:1px solid var(--border);
  padding:3px 12px;border-radius:999px;margin-bottom:6px}
.token-card p{color:var(--muted);margin:0 0 var(--sp-1);flex:1}
.price{font-family:var(--font-h);font-size:2rem;color:var(--text);margin:2px 0}
.price .cur{font-family:var(--font-ui);font-size:1rem;color:var(--muted);letter-spacing:.05em}
.token-card .btn{margin-top:var(--sp-2)}

/* sedes */
.sede-card{padding:var(--sp-3);display:flex;flex-direction:column;gap:8px}
.sede-card h3{color:var(--cyan)}
.sede-card .meta{color:var(--muted);font-size:.95rem;margin:0}
.sede-card .btn{margin-top:auto}

/* cumpleaños highlight */
.cumple{background:linear-gradient(135deg,var(--card),var(--bg-2));
  border:1px solid var(--pink);border-radius:var(--radius);padding:var(--sp-5);text-align:center;
  box-shadow:0 0 0 1px rgba(255,41,117,.25) inset,0 4px 12px rgba(6,1,28,.5),0 14px 44px rgba(255,41,117,.16)}
.cumple h2{color:var(--yellow)}
.cumple .cumple-price{font-family:var(--font-h);font-size:clamp(2.4rem,6vw,3.6rem);color:var(--pink);margin:var(--sp-2) 0}
.cumple ul{list-style:none;padding:0;margin:var(--sp-3) auto;max-width:520px;display:flex;flex-wrap:wrap;
  justify-content:center;gap:var(--sp-2)}
.cumple li{font-family:var(--font-ui);font-size:1.1rem;color:var(--text);
  border:1px solid var(--border);border-radius:999px;padding:6px 18px}

/* torneos */
.torneo-card{padding:var(--sp-3);display:flex;flex-direction:column;gap:8px}
.torneo-date{font-family:var(--font-ui);color:var(--yellow);font-size:1.2rem;letter-spacing:.03em}
.torneo-card p{color:var(--muted);margin:0;flex:1}
.torneo-card .btn{margin-top:var(--sp-2)}

/* gallery */
.gallery-grid .g-item{border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);aspect-ratio:1/1;background:var(--bg-2)}
.gallery-grid img{width:100%;height:auto;transition:transform .35s ease;display:block}
.gallery-grid .g-item:hover img{transform:scale(1.05)}

/* testimonios — speech bubble */
.tes-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);
  padding:var(--sp-4) var(--sp-3);margin:0;position:relative;
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.tes-card:hover{transform:translateY(-4px);border-color:var(--cyan);
  box-shadow:0 3px 8px rgba(6,1,28,.5),0 14px 34px rgba(0,245,255,.12)}
.tes-card p{font-size:1.05rem;margin:0 0 var(--sp-2)}
.tes-card footer{font-family:var(--font-ui);color:var(--cyan);font-size:1.1rem;letter-spacing:.02em}

/* about split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-5);align-items:center}
.split-media{border-radius:var(--radius);overflow:hidden}
.split-media img{width:100%;border-radius:var(--radius);border:1px solid var(--border);height:auto;display:block;
  transition:transform .35s ease}
.split-media:hover img{transform:scale(1.03)}
.split-text p{color:var(--text)}

/* faq */
.faq-list{display:flex;flex-direction:column;gap:12px}
.faq-item{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;
  transition:border-color .25s ease}
.faq-item:hover,.faq-item[open]{border-color:rgba(0,245,255,.4)}
.faq-item summary{cursor:pointer;padding:16px var(--sp-3);font-family:var(--font-h);font-size:1.35rem;
  list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";color:var(--pink);font-size:1.5rem;transition:transform .2s ease}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item p{margin:0;padding:0 var(--sp-3) 16px;color:var(--muted)}

/* contact form */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-5);align-items:start}
.split-form{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-4)}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--sp-2)}
.field label{font-family:var(--font-ui);font-size:1.05rem;letter-spacing:.03em;color:var(--muted)}
.field input,.field select,.field textarea{
  background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);
  padding:11px 13px;font-family:var(--font-body);font-size:.98rem;width:100%}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none;border-color:var(--pink);box-shadow:0 0 0 3px rgba(255,41,117,.2)}
.field textarea{resize:vertical}
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.contact-list{list-style:none;padding:0;margin:var(--sp-3) 0;display:flex;flex-direction:column;gap:10px}
.contact-list .ci{color:var(--cyan);margin-right:8px}
.contact-note{font-size:.9rem;color:var(--muted);margin-top:var(--sp-2)}
.hours-box{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-3);margin:var(--sp-3) 0}
.hours-box h3{font-size:1.3rem;color:var(--cyan);margin-bottom:var(--sp-2)}
.hours-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.hours-list li{display:flex;justify-content:space-between;gap:12px;font-family:var(--font-ui);
  font-size:1.05rem;color:var(--text);padding-bottom:8px;border-bottom:1px solid var(--border)}
.hours-list li:last-child{border-bottom:0;padding-bottom:0}
.hours-list li span:last-child{color:var(--muted)}
.micro{font-size:.85rem;color:var(--muted)}
#formStatus{margin:var(--sp-2) 0 0;font-family:var(--font-ui);font-size:1.1rem}
#formStatus.error{color:#ff7a9d}

/* footer */
.site-footer{background:var(--bg-2);border-top:1px solid var(--border);padding:var(--sp-5) 0 var(--sp-3)}
.footer-inner{display:grid;grid-template-columns:2fr 1fr 1fr;gap:var(--sp-4)}
.footer-brand .brand-mark{margin-bottom:var(--sp-1)}
.footer-tag{color:var(--muted);max-width:36ch;margin:var(--sp-1) 0 0}
.footer-col h4{font-family:var(--font-ui);font-size:1.15rem;color:var(--cyan);margin:0 0 var(--sp-2);letter-spacing:.04em;text-transform:uppercase}
.footer-nav{display:flex;flex-direction:column;gap:10px}
.footer-nav a{color:var(--text);font-family:var(--font-body);font-size:.92rem}
.footer-nav a:hover{color:var(--yellow)}
.footer-bottom{margin-top:var(--sp-4);padding-top:var(--sp-3);border-top:1px solid var(--border);
  display:flex;flex-direction:column;gap:8px}
.disclaimer{color:var(--yellow);font-family:var(--font-ui);font-size:1.1rem;letter-spacing:.02em;margin:0}
.copy{color:var(--muted);font-size:.85rem;margin:0}

/* cookie banner */
.cookie-banner{position:fixed;bottom:16px;left:16px;right:16px;max-width:560px;margin:0 auto;z-index:120;
  background:var(--card);border:1px solid var(--pink);border-radius:var(--radius);
  padding:var(--sp-2) var(--sp-3);display:flex;align-items:center;gap:var(--sp-3);
  flex-wrap:wrap;box-shadow:0 12px 34px rgba(0,0,0,.5)}
.cookie-banner p{margin:0;font-size:.9rem;flex:1;min-width:200px}
.cookie-actions{display:flex;gap:10px}

/* legal pages */
.legal-main{padding:var(--sp-6) 0}
.legal-main h1{font-family:var(--font-h1);font-size:clamp(1.3rem,3.4vw,2rem);line-height:1.4;
  color:var(--text);text-shadow:0 0 16px rgba(255,41,117,.4);margin-bottom:var(--sp-3)}
.legal-main h2{font-size:1.5rem;margin:var(--sp-4) 0 var(--sp-1)}
.legal-main p,.legal-main li{color:var(--text)}
.legal-main .updated{color:var(--muted);font-family:var(--font-ui);font-size:1.05rem}
.legal-main a{color:var(--cyan)}
.back-link{font-family:var(--font-ui);font-size:1.15rem;transition:color .25s ease,transform .25s ease;display:inline-block}
.back-link:hover{transform:translateX(-3px)}

/* icon inline alignment for label rows */
.insert-coin{display:inline-flex;align-items:center;gap:8px}
.torneo-date{display:inline-flex;align-items:center;gap:8px}
.sede-hours{display:flex;align-items:center;gap:8px}
.sede-hours .ic,.torneo-date .ic{color:var(--yellow)}
.brand-name .sep .ic{width:.8em;height:.8em;vertical-align:-.02em}
.brand-mark .ic{width:22px;height:22px}
.zona-ico .ic{width:26px;height:26px;color:var(--cyan)}
.hero-cta .btn .ic{color:inherit}

/* como funciona — numbered steps */
.steps-list{list-style:none;counter-reset:step;padding:0;margin:0;
  display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-3)}
.step-item{display:flex;gap:var(--sp-3);align-items:flex-start;
  background:var(--card);border:1px solid var(--border);border-radius:var(--radius);
  padding:var(--sp-3);transition:border-color .2s ease,transform .2s ease}
.step-item:hover{border-color:var(--cyan);transform:translateY(-3px)}
.step-num{font-family:var(--font-h1);font-size:1.1rem;color:var(--pink);flex:none;
  line-height:1;padding-top:4px;text-shadow:0 0 12px rgba(255,41,117,.5)}
.step-body h3{margin-bottom:6px}
.step-body p{color:var(--muted);margin:0}

/* tick list (inside splits) */
.tick-list{list-style:none;padding:0;margin:var(--sp-3) 0 0;display:flex;flex-direction:column;gap:10px}
.tick-list li{display:flex;align-items:flex-start;gap:10px;color:var(--text)}
.tick-list .ic{color:var(--cyan);margin-top:.15em}

/* split reverse (zigzag) */
.split-reverse .split-media{order:2}
.split-text h2{margin-bottom:var(--sp-2)}
.split-text p{color:var(--muted)}
.split-text p+p{margin-top:var(--sp-2)}

/* cumpleaños full-bleed band */
.cumple-band{position:relative;background:url("../images/console-lounge-violet-neon.webp") center/cover no-repeat;overflow:hidden}
.cumple-band-overlay{position:absolute;inset:0;z-index:0;
  background:linear-gradient(135deg,rgba(13,3,51,.94),rgba(26,8,112,.82) 60%,rgba(255,41,117,.32))}
.cumple-band .container{position:relative;z-index:1}

/* media strip (wide feature row) */
.media-strip{display:grid;grid-template-columns:1.1fr 1fr;gap:0;
  background:var(--card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.media-strip-img{overflow:hidden}
.media-strip-img img{width:100%;height:auto;min-height:320px;display:block;object-fit:cover;
  transition:transform .35s ease}
.media-strip:hover .media-strip-img img{transform:scale(1.03)}
.media-strip-text{padding:var(--sp-5) var(--sp-4)}
.media-strip-text h2{margin:var(--sp-1) 0 var(--sp-2)}
.media-strip-text p{color:var(--muted);margin:0}

/* testimonial quote mark */
.tes-quote{display:inline-flex;color:var(--pink);margin-bottom:6px}
.tes-quote .ic{width:1.8em;height:1.8em}

/* contact page extras */
.ci{display:inline-flex}
.ci .ic{color:var(--cyan)}

/* tier list (ranking para novatos) */
.tier-board{display:flex;flex-direction:column;gap:var(--sp-2)}
.tier-row{display:grid;grid-template-columns:96px 1fr;align-items:stretch;
  background:var(--card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.tier-row:hover{transform:translateX(4px);border-color:rgba(255,41,117,.45);
  box-shadow:0 3px 8px rgba(6,1,28,.45),0 10px 26px rgba(255,41,117,.12)}
.tier-badge{display:flex;align-items:center;justify-content:center;
  font-family:var(--font-h1);font-size:1.5rem;color:#12002a;line-height:1}
.tier-s .tier-badge{background:var(--pink)}
.tier-a .tier-badge{background:var(--yellow)}
.tier-b .tier-badge{background:var(--cyan)}
.tier-c .tier-badge{background:var(--muted)}
.tier-body{padding:var(--sp-3);display:flex;flex-direction:column;gap:var(--sp-1)}
.tier-tags{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.tier-tags li{font-family:var(--font-ui);font-size:1.1rem;letter-spacing:.02em;color:var(--text);
  background:var(--bg-2);border:1px solid var(--border);border-radius:999px;padding:4px 14px}
.tier-body p{margin:0;color:var(--muted)}

/* responsive */
@media (max-width:1024px){
  .zonas-grid,.tokens-grid,.sedes-grid,.torneos-grid,.gallery-grid{grid-template-columns:repeat(2,1fr)}
  .split,.contact-grid{gap:var(--sp-4)}
}
@media (max-width:900px){
  .steps-list{grid-template-columns:1fr}
  .media-strip{grid-template-columns:1fr}
  .media-strip-img img{min-height:240px;display:block;object-fit:cover}
}
@media (max-width:768px){
  .tier-row{grid-template-columns:64px 1fr}
  .tier-badge{font-size:1.2rem}
  .main-nav{display:none}
  .nav-toggle{display:flex}
  .tes-grid{grid-template-columns:1fr}
  .stats-grid{grid-template-columns:repeat(2,1fr);gap:var(--sp-4)}
  .split,.contact-grid{grid-template-columns:1fr}
  .split-media{order:-1}
  .split-reverse .split-media{order:-1}
  .footer-inner{grid-template-columns:1fr 1fr}
  .footer-brand{grid-column:1/-1}
  .section{padding:var(--sp-5) 0}
  .media-strip-text{padding:var(--sp-4)}
}
@media (max-width:480px){
  .zonas-grid,.tokens-grid,.sedes-grid,.torneos-grid,.gallery-grid{grid-template-columns:1fr}
  .footer-inner{grid-template-columns:1fr}
  .hero{min-height:88vh}
  .cookie-banner{flex-direction:column;align-items:flex-start}
}

/* ===== visual polish pass ===== */

/* scroll-reveal (classes added via JS; no-JS pages stay fully visible) */
.reveal{opacity:0;transform:translateY(16px);
  transition:opacity .55s ease,transform .55s ease;transition-delay:var(--rd,0s)}
.reveal.is-visible{opacity:1;transform:none}

/* themed selection + thin scrollbar */
::selection{background:var(--pink);color:#12002a}
html{scrollbar-width:thin;scrollbar-color:var(--pink) var(--bg-2)}
::-webkit-scrollbar{width:10px}
::-webkit-scrollbar-track{background:var(--bg-2)}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--pink),#8a1d55);border-radius:8px;border:2px solid var(--bg-2)}
::-webkit-scrollbar-thumb:hover{background:var(--pink)}

/* refined focus rings */
:where(a,button,summary,.lang-btn):focus-visible{
  outline:2px solid var(--cyan);outline-offset:3px;border-radius:4px}

/* thank-you page — rewarding arrival */
.ty-check{position:relative;display:inline-grid;place-items:center;width:88px;height:88px;margin:0 auto var(--sp-3);
  border-radius:50%;background:var(--card);border:2px solid var(--pink);color:var(--cyan);
  box-shadow:0 0 0 6px rgba(255,41,117,.12),0 0 34px rgba(255,41,117,.35),0 0 60px rgba(0,245,255,.15);
  animation:ty-pop .6s cubic-bezier(.34,1.56,.64,1) both}
.ty-check .ic{width:44px;height:44px}
.ty-check::after{content:"";position:absolute;inset:-18px;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(0,245,255,.14),transparent 70%)}
@keyframes ty-pop{from{transform:scale(.4);opacity:0}60%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.01ms!important;animation-iteration-count:1!important;
    transition-duration:.01ms!important;transition-delay:0s!important}
  .coins span{animation:none;opacity:0}
  .reveal{opacity:1;transform:none}
  .btn::before{display:none}
  .card:hover,.tes-card:hover,.tier-row:hover,.step-item:hover,.btn-primary:hover,.btn-ghost:hover,
  .split-media:hover img,.media-strip:hover .media-strip-img img,.gallery-grid .g-item:hover img,
  .brand:hover .brand-mark{transform:none}
  .site-header.is-scrolled .header-inner{min-height:66px}
}

.cookie-banner[hidden]{display:none!important}
