/* ============================================================
   HERO — titular, rotador, estadísticas y cinta marquesina
   ============================================================ */
.hero{padding:clamp(64px,9vw,130px) 0 clamp(48px,5vw,72px);position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:56px 56px;
  -webkit-mask-image:radial-gradient(ellipse 75% 65% at 50% 0%,#000 30%,transparent 75%);
  mask-image:radial-gradient(ellipse 75% 65% at 50% 0%,#000 30%,transparent 75%);pointer-events:none}
.hero::after{content:"";position:absolute;top:-18%;right:-10%;width:52vw;height:52vw;max-width:680px;max-height:680px;
  background:radial-gradient(circle,rgba(51,214,196,.14),transparent 62%);pointer-events:none}
.hero .wrap{position:relative;z-index:1}

/* insignia de plazas */
.badge{display:inline-flex;align-items:center;gap:10px;border:1px solid #262626;background:rgba(14,14,14,.9);padding:9px 16px;border-radius:var(--radius-pill);margin-bottom:34px}
.badge i{width:7px;height:7px;border-radius:var(--radius-pill);background:var(--color-coral);box-shadow:0 0 10px var(--color-coral);animation:pulse2 1.8s infinite}
.badge span{font-family:var(--font-mono);font-size:12px;letter-spacing:.03em;color:#eaeaea}

/* titular con palabra rotativa */
.h1{font-family:var(--font-heading);font-weight:900;font-size:clamp(42px,7.6vw,106px);line-height:.94;letter-spacing:-.04em;text-wrap:balance;max-width:15ch}
.h1 + .h1{margin-top:6px;max-width:none}
.rot{display:inline-grid;text-align:left;color:var(--color-cyan)}
.rot span{grid-area:1/1;opacity:0;transform:translateY(.55em);transition:opacity .45s ease,transform .45s var(--ease-out);white-space:nowrap}
.rot span.on{opacity:1;transform:none}
.hero-sub{font-size:clamp(17px,2.1vw,21px);line-height:1.55;color:var(--color-muted);max-width:620px;margin-top:28px}
.hero-cta{display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin-top:38px}

/* estadísticas con contador */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:0;margin-top:64px;border-top:1px solid var(--color-line-2)}
.stat{padding:26px 22px 4px;border-left:1px solid var(--color-line-2);transition:background .2s}
.stat:first-child{border-left:none;padding-left:0}
.stat:hover{background:rgba(255,255,255,.02)}
.stat b{font-family:var(--font-heading);font-weight:900;font-size:clamp(28px,3.6vw,42px);letter-spacing:-.03em;display:block}
.stat span{font-family:var(--font-mono);font-size:12px;color:var(--color-dim);display:block;margin-top:4px;line-height:1.4}
.stat.az b{color:var(--color-blue)}
.stat.cy b{color:var(--color-cyan)}

/* cinta marquesina */
.marquee{border-top:1px solid var(--color-line-2);border-bottom:1px solid var(--color-line-2);background:var(--color-panel);overflow:hidden;margin-top:clamp(48px,6vw,80px)}
.mq-track{display:flex;width:max-content;animation:mq 36s linear infinite;padding:15px 0}
.marquee:hover .mq-track{animation-play-state:paused}
.mq-track span{font-family:var(--font-mono);font-size:13px;color:var(--color-muted);white-space:nowrap;padding:0 22px;display:flex;align-items:center;gap:22px}
.mq-track span::after{content:"✦";color:var(--color-cyan);font-size:11px}
