/* ===== Season 2 · Bienvenida (01/10/2026): banda #s2bHero + seccion #s2bienvenida =====
   Tokens de main.css / s2.css. Toda animacion se apaga con prefers-reduced-motion (al final).
   Las capas decorativas viven en contenedores con overflow:hidden: nunca crean scroll horizontal. */
:root{--s2b-pump:#ff7a1a;--s2b-pump-2:#ffb35c;--s2b-hex:#9b6bff;--s2b-gold:#ffd66b;--s2b-night:#07050a}

/* ---------------------------------------------------------------- banda de bienvenida */
.s2b-hero{position:relative;overflow:hidden;isolation:isolate;border-bottom:1px solid var(--line);
  background:radial-gradient(90% 120% at 78% 40%,rgba(155,107,255,.20),transparent 60%),
    radial-gradient(70% 90% at 15% 110%,rgba(255,122,26,.22),transparent 60%),
    linear-gradient(180deg,#120a10 0%,var(--s2b-night) 55%,var(--bg) 100%);
  padding:clamp(48px,7vw,96px) var(--s4)}
.s2b-fx{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1}
.s2b-moon{position:absolute;top:8%;right:8%;width:clamp(90px,14vw,190px);aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle at 38% 36%,#fff6d8 0,#ffd98a 40%,#e3a64a 70%,transparent 72%);
  box-shadow:0 0 80px 20px rgba(255,200,110,.25);opacity:.55}
.s2b-fog{position:absolute;left:-30%;width:160%;height:45%;bottom:-8%;opacity:.5;filter:blur(18px);
  background:radial-gradient(40% 60% at 20% 60%,rgba(190,170,220,.22),transparent 70%),
    radial-gradient(35% 50% at 60% 50%,rgba(160,140,200,.18),transparent 70%),
    radial-gradient(30% 55% at 90% 65%,rgba(200,180,230,.16),transparent 70%);
  animation:s2b-fog 38s linear infinite alternate}
.s2b-fog2{bottom:20%;height:30%;opacity:.28;animation-duration:52s;animation-direction:alternate-reverse}
@keyframes s2b-fog{from{transform:translateX(-6%)}to{transform:translateX(6%)}}
.s2b-bat{position:absolute;width:44px;height:21px;color:#1a0f18;filter:drop-shadow(0 0 6px rgba(155,107,255,.45));
  animation:s2b-bat 16s ease-in-out infinite}
.s2b-bat1{top:18%;left:-60px}
.s2b-bat2{top:32%;left:-60px;width:30px;height:14px;animation-duration:21s;animation-delay:-7s}
.s2b-bat3{top:10%;left:-60px;width:24px;height:11px;animation-duration:26s;animation-delay:-15s;opacity:.7}
@keyframes s2b-bat{0%{transform:translate(0,0) scaleY(1)}20%{transform:translate(25vw,-18px) scaleY(.55)}
  40%{transform:translate(50vw,10px) scaleY(1)}60%{transform:translate(75vw,-12px) scaleY(.55)}
  100%{transform:translate(calc(100vw + 120px),6px) scaleY(1)}}
.s2b-pk{position:absolute;bottom:-6px;width:clamp(48px,6vw,84px);height:auto;aspect-ratio:64/56;
  filter:drop-shadow(0 0 18px rgba(255,122,26,.55));animation:s2b-flick 3.2s ease-in-out infinite}
.s2b-pk1{left:2%}
.s2b-pk2{right:3%;width:clamp(36px,4.4vw,60px);animation-delay:-1.4s}
@keyframes s2b-flick{0%,100%{filter:drop-shadow(0 0 14px rgba(255,122,26,.45))}50%{filter:drop-shadow(0 0 26px rgba(255,150,40,.8))}}
.s2b-sparks{position:absolute;inset:0;display:block}
.s2b-sparks i{position:absolute;bottom:-10px;width:4px;height:4px;border-radius:50%;background:var(--s2b-pump-2);
  box-shadow:0 0 8px 2px rgba(255,140,40,.7);opacity:0;animation:s2b-rise var(--d,9s) linear infinite;animation-delay:var(--w,0s)}
@keyframes s2b-rise{0%{transform:translateY(0);opacity:0}10%{opacity:.9}100%{transform:translate(var(--x,20px),-110vh);opacity:0}}

.s2b-hero-in{position:relative;max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);
  gap:clamp(24px,4vw,56px);align-items:center}
.s2b-eb{color:var(--s2b-pump-2)}
.s2b-title{font-size:clamp(2.2rem,6.4vw,4.6rem);line-height:1;margin-top:var(--s3);letter-spacing:.03em;
  background:linear-gradient(180deg,#fff2cf 0%,var(--s2b-gold) 45%,#c9822a 100%);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 2px 0 #000) drop-shadow(0 0 24px rgba(255,122,26,.35))}
.s2b-title em{display:block;font-style:normal;font-size:.62em;letter-spacing:.18em;margin-top:.12em;
  background:linear-gradient(90deg,var(--s2b-pump) 0%,var(--s2b-pump-2) 50%,var(--s2b-hex) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.s2b-lead{color:var(--text);font-size:clamp(1rem,1.6vw,1.12rem);max-width:58ch;margin-top:var(--s4)}

/* cuenta regresiva */
.s2b-cd{margin-top:var(--s5)}
.s2b-cd-l{font-family:var(--font-display);font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.s2b-cd-run{display:flex;flex-wrap:wrap;gap:var(--s3);margin-top:var(--s3)}
.s2b-cd-run[hidden],.s2b-cd-until[hidden],.s2b-cd-end[hidden]{display:none}
.s2b-cd-u{min-width:76px;padding:10px 12px 8px;text-align:center;border:1px solid rgba(255,122,26,.45);border-radius:var(--r-lg);
  background:linear-gradient(180deg,rgba(40,18,10,.85),rgba(14,8,10,.9));box-shadow:0 0 22px -6px rgba(255,122,26,.55) inset,0 10px 24px -14px #000}
.s2b-cd-u b{display:block;font-family:var(--font-display);font-size:clamp(1.6rem,3.6vw,2.3rem);line-height:1.05;color:#fff;
  font-variant-numeric:tabular-nums;text-shadow:0 0 14px rgba(255,140,40,.6)}
.s2b-cd-u span{display:block;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--s2b-pump-2);margin-top:2px}
.s2b-cd-until{margin-top:var(--s3);color:var(--muted);font-size:.9rem}
.s2b-cd-until time{color:var(--gold-2);font-family:var(--font-display);letter-spacing:.04em}
.s2b-cd-end{display:inline-flex;align-items:center;gap:var(--s2);margin-top:var(--s3);padding:10px 18px;border:1px solid var(--line-2);
  border-radius:999px;background:rgba(0,0,0,.45);font-family:var(--font-display);font-size:1.1rem;letter-spacing:.08em;color:var(--gold-2)}
.s2b-ico-sk{width:22px;height:22px;color:#e8dcc8}
.s2b-cta{display:flex;flex-wrap:wrap;gap:var(--s3);margin-top:var(--s5)}

.s2b-hero-art{position:relative;display:grid;place-items:center;min-height:220px}
.s2b-hero-art img{position:relative;width:min(320px,80%);height:auto;filter:drop-shadow(0 18px 30px rgba(0,0,0,.7));animation:s2b-float 6s ease-in-out infinite}
.s2b-halo{position:absolute;left:50%;top:50%;width:78%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;
  background:radial-gradient(circle,rgba(255,122,26,.45) 0%,rgba(155,107,255,.18) 45%,transparent 70%);filter:blur(6px);
  animation:s2b-pulse 4.5s ease-in-out infinite}
@keyframes s2b-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes s2b-pulse{0%,100%{opacity:.75;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.07)}}

/* imagen que todavia no existe (asset pendiente): se oculta, queda el marco */
img.s2b-miss{visibility:hidden}
/* width/height del markup = solo reserva de proporcion; el alto lo da el CSS (si no, 900px fijos) */
:where(.s2b,.s2b-hero) img{height:auto}
/* sprites del .pak con halo cuadrado horneado: se funde el borde en elipse */
.s2b-hero-art img,.s2b-npc-art img,.s2b-eart img,.s2b-chest-img,.s2b-iart img{
  -webkit-mask:radial-gradient(closest-side,#000 72%,transparent 100%);mask:radial-gradient(closest-side,#000 72%,transparent 100%)}

/* ---------------------------------------------------------------- seccion (acordeon) */
.s2b > .wrap{position:relative}
.s2b .sec-head h2 b{color:var(--s2b-pump-2)}
.s2b-block{margin-top:var(--s8)}
.s2b-block:first-of-type{margin-top:0}
.s2b-bh{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3);margin-bottom:var(--s4)}
.s2b-h3{font-size:clamp(1.25rem,2.6vw,1.75rem);color:#fff}
.s2b-pill{display:inline-block;font-family:var(--font-display);font-weight:700;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;
  color:#1a0f06;background:linear-gradient(90deg,var(--s2b-pump),var(--s2b-pump-2));border-radius:999px;padding:4px 12px}
.s2b-pill-gold{background:linear-gradient(90deg,#c9922f,var(--s2b-gold),#c9922f);box-shadow:0 0 18px rgba(255,214,107,.45)}
.s2b-srv{display:inline-block;font-family:var(--font-display);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;
  color:#fff;background:var(--blood);border-radius:999px;padding:2px 8px;vertical-align:middle;white-space:nowrap}
.s2b-fine{color:var(--faint);font-size:.82rem;margin-top:var(--s3)}

/* que es / como se consigue / para que sirve */
.s2b-qcp{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3);margin-bottom:var(--s5)}
.s2b-qcp > div{border:1px solid var(--line-2);border-radius:var(--r-lg);background:var(--surface);padding:var(--s4)}
.s2b-qcp dt{font-family:var(--font-display);font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--s2b-pump-2)}
.s2b-qcp dd{margin-top:var(--s1);color:var(--text);font-size:.95rem;line-height:1.55}
.s2b-qcp dd b{color:var(--gold-2);font-family:var(--font-display)}
.s2b-qcp-s{grid-template-columns:minmax(0,1fr);gap:var(--s2);margin-bottom:0}
.s2b-qcp-s > div{padding:var(--s2) var(--s3);background:rgba(0,0,0,.25)}
.s2b-qcp-s dd{font-size:.9rem}
kbd{display:inline-block;font-family:var(--font-display);font-size:.78rem;padding:1px 7px;border:1px solid var(--line-2);
  border-bottom-width:2px;border-radius:4px;background:#1d1513;color:#fff}

/* podio del Top 3 */
.s2b-podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4)}
.s2b-podium-art{grid-column:1/-1;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line-2);aspect-ratio:16/6;
  background:radial-gradient(60% 80% at 50% 100%,rgba(255,122,26,.25),transparent 70%),var(--surface)}
.s2b-podium-art img{width:100%;height:100%;object-fit:cover;cursor:zoom-in}
.s2b-rank{--c:var(--gold);position:relative;border:1px solid var(--line-2);border-top:3px solid var(--c);border-radius:var(--r-lg);
  background:linear-gradient(180deg,rgba(255,255,255,.03),transparent 40%),var(--surface);padding:var(--s5) var(--s4) var(--s4);
  box-shadow:0 18px 40px -26px var(--c)}
.s2b-r1{--c:var(--s2b-gold);box-shadow:0 0 0 1px rgba(255,214,107,.25),0 22px 50px -24px rgba(255,214,107,.6)}
.s2b-r2{--c:#d6dbe4}
.s2b-r3{--c:#d08a4e}
.s2b-rank header{display:flex;align-items:center;gap:var(--s3);margin-bottom:var(--s3)}
.s2b-medal{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;font-family:var(--font-display);font-weight:700;
  color:#1a0f06;background:radial-gradient(circle at 35% 30%,#fff,var(--c) 55%,#6b4a1a 100%);box-shadow:0 0 16px var(--c)}
.s2b-rank h4{font-size:1.05rem;color:#fff}
.s2b-rank ul{list-style:none;display:grid;gap:var(--s2)}
.s2b-rank li{display:flex;align-items:center;gap:var(--s2);flex-wrap:wrap;padding:6px 8px;border-radius:var(--r);background:rgba(0,0,0,.28);font-size:.92rem}
.s2b-rank li img{width:36px;height:36px;object-fit:contain;flex:none}
.s2b-rank li b{font-family:var(--font-display);color:var(--gold-2)}
.s2b-necks{display:inline-flex;gap:2px}
.s2b-necks img{width:30px!important;height:30px!important}
.s2b-ico{display:inline-grid;place-items:center;width:36px;height:36px;flex:none;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.25),rgba(0,0,0,0) 60%),var(--c2,#7a3b14)}
.s2b-ico-forge{--c2:linear-gradient(135deg,#ff7a1a,#7a2a0a)}
.s2b-ico-forge::before{content:"";width:16px;height:10px;background:#1a0f06;clip-path:polygon(0 0,100% 0,80% 45%,70% 100%,30% 100%,20% 45%)}
.s2b-ico-contrib{--c2:linear-gradient(135deg,#6b8cff,#2a2f7a)}
.s2b-ico-contrib::before{content:"";width:14px;height:14px;background:#fff;clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}

/* tarjetas promocionales (C16) */
.s2b-pgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4)}
.s2b-pcard{display:flex;flex-direction:column;border:1px solid var(--line-2);border-radius:var(--r-lg);overflow:hidden;background:var(--surface);
  transition:transform var(--t) var(--ease),border-color var(--t),box-shadow var(--t)}
.s2b-pcard:hover{transform:translateY(-3px);border-color:var(--s2b-pump);box-shadow:0 18px 40px -22px rgba(255,122,26,.7)}
.s2b-pcard > img{width:100%;aspect-ratio:16/9;object-fit:cover;cursor:zoom-in;background:radial-gradient(60% 80% at 50% 100%,rgba(255,122,26,.18),transparent 70%),#120c0a}
.s2b-pbody{padding:var(--s4);display:flex;flex-direction:column;gap:var(--s3)}
.s2b-pbody h4{font-size:1.05rem;color:#fff;display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2)}
.s2b-manuals{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.s2b-manuals li{display:flex;align-items:center;gap:6px;font-size:.82rem;padding:4px 6px;border-radius:var(--r);background:rgba(0,0,0,.3);min-width:0}
.s2b-manuals li img{width:28px;height:28px;object-fit:contain;flex:none}
.s2b-manuals li span{flex:1;min-width:0;overflow-wrap:anywhere}
.s2b-manuals li b{font-family:var(--font-display);color:var(--gold-2)}

/* items nuevos */
.s2b-igrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s4)}
.s2b-icard{border:1px solid var(--line-2);border-radius:var(--r-lg);background:var(--surface);padding:var(--s4);display:flex;flex-direction:column;gap:var(--s3)}
.s2b-iart{position:relative;display:grid;place-items:center;height:110px;border-radius:var(--r-lg);
  background:radial-gradient(circle at 50% 55%,rgba(255,122,26,.35),rgba(155,107,255,.12) 45%,transparent 70%),rgba(0,0,0,.35)}
.s2b-iart img{width:72px;height:72px;object-fit:contain;filter:drop-shadow(0 0 12px rgba(255,160,60,.55));animation:s2b-float 5s ease-in-out infinite}
.s2b-icard h4{font-size:1.15rem;color:var(--ic,#fff);text-align:center;text-shadow:0 0 14px var(--ic-g,transparent)}
/* color por item (mock_seccion.png del agente de arte): borde, halo y titulo */
.s2b-icard{--ic:var(--s2b-pump);--ic-g:rgba(255,122,26,.35);border-color:var(--ic);border-radius:12px;
  background:radial-gradient(90% 60% at 50% 0,var(--ic-g),transparent 70%),#110b14}
.s2b-icard[data-s2b-topic="shadowessence"]{--ic:#b98aff;--ic-g:rgba(155,107,255,.32)}
.s2b-icard[data-s2b-topic="bunnytoe"]{--ic:var(--gold);--ic-g:rgba(216,168,80,.3)}
.s2b-icard[data-s2b-topic="killerbunnytoe"]{--ic:#ff6a2a;--ic-g:rgba(255,90,44,.32)}
.s2b-icard[data-s2b-topic="halloweendye"]{--ic:#ff9a3c;--ic-g:rgba(255,150,60,.3)}
.s2b-icard .s2b-iart{background:radial-gradient(circle at 50% 55%,var(--ic-g),transparent 70%),rgba(0,0,0,.35)}
.s2b-icard .s2b-iart img{width:96px;height:96px;filter:drop-shadow(0 0 14px var(--ic-g))}

/* Peaceful Bunny */
.s2b-npc{display:grid;grid-template-columns:240px minmax(0,1fr);gap:var(--s5);align-items:start}
.s2b-npc-art{position:relative;display:grid;place-items:center;min-height:240px;border-radius:var(--r-lg);border:1px solid var(--line-2);
  background:radial-gradient(circle at 50% 60%,rgba(127,212,154,.18),transparent 65%),var(--surface)}
.s2b-npc-art img{position:relative;width:200px;height:auto;animation:s2b-float 6s ease-in-out infinite}
.s2b-npc-copy .s2b-qcp{grid-template-columns:minmax(0,1fr);margin-bottom:var(--s4)}
.s2b-npc-promo{width:100%;aspect-ratio:16/7;object-fit:cover;border-radius:var(--r-lg);border:1px solid var(--line-2);cursor:zoom-in;background:#120c0a}
.s2b-tbl-wrap{margin-top:var(--s5);border:1px solid var(--line-2);border-radius:var(--r-lg);overflow:hidden}
.s2b-tbl{width:100%;border-collapse:collapse;font-size:.92rem}
.s2b-tbl caption{text-align:left;padding:var(--s3) var(--s4);font-family:var(--font-display);letter-spacing:.06em;color:#fff;background:var(--surface-2)}
.s2b-tbl th{text-align:left;font-family:var(--font-display);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--s2b-pump-2);
  padding:var(--s2) var(--s4);background:var(--surface)}
.s2b-tbl td{padding:var(--s2) var(--s4);border-top:1px solid var(--line);vertical-align:middle;overflow-wrap:anywhere}
.s2b-tbl tbody tr:nth-child(even){background:rgba(255,255,255,.02)}
.s2b-tbl tbody tr:hover{background:rgba(255,122,26,.07)}
.s2b-tbl td b{font-family:var(--font-display);color:var(--gold-2)}
.s2b-tico{display:inline-block;width:28px;height:28px;object-fit:contain;vertical-align:middle;margin-right:8px}
.s2b-tbl td:last-child{color:var(--muted);white-space:nowrap}

/* eventos */
.s2b-wide{width:100%;aspect-ratio:16/6;object-fit:cover;border-radius:var(--r-lg);border:1px solid var(--line-2);margin-bottom:var(--s4);cursor:zoom-in;
  background:radial-gradient(60% 80% at 50% 100%,rgba(155,107,255,.2),transparent 70%),#100b0e}
.s2b-egrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4)}
.s2b-ecard{position:relative;border:1px solid var(--line-2);border-radius:var(--r-lg);background:var(--surface);padding:var(--s4);
  display:flex;flex-direction:column;gap:var(--s3)}
.s2b-ecard h4{font-size:1.05rem;color:#fff;padding-right:84px}
.s2b-eart{position:absolute;top:8px;right:8px;width:76px;height:76px;display:grid;place-items:center;border-radius:50%;
  background:radial-gradient(circle,rgba(255,122,26,.3),transparent 70%)}
.s2b-eart img{width:70px;height:70px;object-fit:contain}
.s2b-ecard-bh{grid-column:1/-1;border-color:rgba(120,220,255,.35);box-shadow:0 0 40px -18px rgba(120,220,255,.55)}
.s2b-ecard-bh .s2b-qcp-s{grid-template-columns:repeat(3,minmax(0,1fr))}
.s2b-ecard-promo{width:100%;aspect-ratio:16/6;object-fit:cover;border-radius:var(--r-lg);cursor:zoom-in;background:#0b0d12}

/* cofres: escenario con luz */
.s2b-stage{position:relative;overflow:hidden;isolation:isolate;display:flex;justify-content:center;align-items:flex-end;gap:clamp(24px,8vw,120px);
  min-height:clamp(300px,36vw,420px);padding:var(--s7) var(--s4) var(--s6);border-radius:var(--r-lg);border:1px solid rgba(255,214,107,.35);
  background:radial-gradient(50% 60% at 50% 70%,rgba(255,214,107,.22),transparent 70%),
    radial-gradient(80% 60% at 50% 120%,rgba(255,122,26,.35),transparent 70%),linear-gradient(180deg,#0d0806,#170d07);
  box-shadow:0 0 60px -20px rgba(255,214,107,.45) inset}
.s2b-stage-bg{position:absolute;inset:0;z-index:-2;opacity:.42}
.s2b-stage-bg img{width:100%;height:100%!important;object-fit:cover;-webkit-mask:radial-gradient(75% 85% at 50% 55%,#000 40%,transparent 100%);mask:radial-gradient(75% 85% at 50% 55%,#000 40%,transparent 100%)}
/* cinta superior (s2.css): el CTA ahora es un link a #s2bienvenida */
a.s2-ribbon-go{display:inline-flex;align-items:center;text-decoration:none;color:#1a0f06}
a.s2-ribbon-go:hover{color:#1a0f06}
.s2-ribbon time{color:var(--gold-2)}
.s2b-rays{position:absolute;left:50%;top:60%;width:180%;aspect-ratio:1;transform:translate(-50%,-50%);z-index:-1;opacity:.5;
  background:repeating-conic-gradient(from 0deg,rgba(255,220,140,.16) 0deg 6deg,transparent 6deg 18deg);
  -webkit-mask:radial-gradient(circle,#000 0,transparent 60%);mask:radial-gradient(circle,#000 0,transparent 60%);
  animation:s2b-spin 60s linear infinite}
@keyframes s2b-spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
.s2b-chest{position:relative;display:grid;place-items:center;width:clamp(120px,22vw,230px);aspect-ratio:1}
.s2b-chest::after{content:"";position:absolute;bottom:-6%;left:15%;right:15%;height:12%;border-radius:50%;background:rgba(0,0,0,.6);filter:blur(6px);
  animation:s2b-shadow 5s ease-in-out infinite}
.s2b-chest-img{position:relative;z-index:1;width:78%;height:auto;animation:s2b-float 5s ease-in-out infinite;
  filter:drop-shadow(0 0 22px rgba(255,214,107,.75)) drop-shadow(0 12px 18px rgba(0,0,0,.7))}
.s2b-chest-epic .s2b-chest-img{animation-delay:-2.5s;filter:drop-shadow(0 0 30px rgba(190,140,255,.85)) drop-shadow(0 12px 18px rgba(0,0,0,.7))}
.s2b-chest-epic{width:clamp(140px,26vw,260px)}
.s2b-chest-tag{position:absolute;bottom:-28px;left:50%;transform:translateX(-50%);white-space:nowrap;font-family:var(--font-display);font-size:.78rem;
  letter-spacing:.1em;color:var(--s2b-gold);text-shadow:0 0 10px rgba(255,214,107,.6)}
.s2b-chest-epic .s2b-chest-tag{color:#d9c2ff;text-shadow:0 0 10px rgba(190,140,255,.7)}
@keyframes s2b-shadow{0%,100%{transform:scaleX(1);opacity:.6}50%{transform:scaleX(.8);opacity:.35}}
.s2b-orbit{position:absolute;inset:0;animation:s2b-spin2 14s linear infinite}
.s2b-orbit img{position:absolute;left:50%;top:50%;width:clamp(22px,3vw,36px);height:auto;margin:calc(clamp(22px,3vw,36px) / -2);
  transform:rotate(calc(var(--i) * 72deg)) translateX(calc(clamp(120px,22vw,230px) * .48)) rotate(calc(var(--i) * -72deg));
  filter:drop-shadow(0 0 8px rgba(255,214,107,.8))}
.s2b-chest-epic .s2b-orbit{animation-duration:18s;animation-direction:reverse}
@keyframes s2b-spin2{to{transform:rotate(360deg)}}
.s2b-cgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4);margin:var(--s7) 0 var(--s4)}
.s2b-ccard{border:1px solid rgba(255,214,107,.35);border-radius:var(--r-lg);padding:var(--s4);display:flex;flex-direction:column;gap:var(--s3);
  background:linear-gradient(180deg,rgba(255,214,107,.06),transparent 50%),var(--surface)}
.s2b-ccard-epic{border-color:rgba(190,140,255,.45);background:linear-gradient(180deg,rgba(190,140,255,.08),transparent 50%),var(--surface)}
.s2b-ccard h4{font-size:1.1rem;color:var(--s2b-gold)}
.s2b-ccard-epic h4{color:#d9c2ff}
.s2b-loot{padding:var(--s3);border-radius:var(--r);background:rgba(0,0,0,.35);border-left:3px solid var(--s2b-gold);font-size:.92rem}
.s2b-loot b{font-family:var(--font-display);color:var(--gold-2)}

/* InfoBox Oly */
.s2b-oly{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:var(--s5);align-items:start}
.s2b-oly .s2b-qcp{grid-template-columns:minmax(0,1fr);margin-bottom:0}
.s2b-oly-shots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s2)}
.s2b-oly-shots img{width:100%;height:auto;aspect-ratio:536/830;object-fit:cover;border-radius:var(--r);border:1px solid var(--line-2);cursor:zoom-in;
  background:#0d0a09;transition:transform var(--t) var(--ease)}
.s2b-oly-shots img:hover{transform:translateY(-4px) scale(1.02)}

/* foco visible */
.s2b-hero :focus-visible,.s2b :focus-visible{outline:2px solid var(--gold-2);outline-offset:2px}
#s2bienvenida,#s2bTop,#s2bChests{scroll-margin-top:calc(var(--nav-h) + 16px)}
body.s2-rib #s2bienvenida{scroll-margin-top:calc(var(--nav-h) + 44px)}

/* ---------------------------------------------------------------- responsive */
@media (max-width:1024px){
  .s2b-pgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .s2b-igrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .s2b-oly{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:860px){
  .s2b-hero-in{grid-template-columns:minmax(0,1fr)}
  .s2b-hero-art{order:-1;min-height:160px}
  .s2b-hero-art img{width:min(200px,55%)}
  .s2b-qcp{grid-template-columns:minmax(0,1fr)}
  .s2b-podium{grid-template-columns:minmax(0,1fr)}
  .s2b-npc{grid-template-columns:minmax(0,1fr)}
  .s2b-npc-art{min-height:180px}
  .s2b-npc-art img{width:150px}
  .s2b-egrid,.s2b-cgrid{grid-template-columns:minmax(0,1fr)}
  .s2b-ecard-bh .s2b-qcp-s{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:560px){
  .s2b-pgrid,.s2b-igrid{grid-template-columns:minmax(0,1fr)}
  .s2b-manuals{grid-template-columns:minmax(0,1fr)}
  .s2b-oly-shots{grid-template-columns:repeat(2,minmax(0,1fr))}
  .s2b-cd-u{min-width:0;flex:1 1 calc(25% - 12px);padding:8px 4px 6px}
  .s2b-cd-u span{font-size:.58rem;letter-spacing:.06em}
  .s2b-tbl{font-size:.84rem}
  .s2b-tbl th,.s2b-tbl td{padding:var(--s2)}
  .s2b-tbl td:last-child{white-space:normal}
  .s2b-stage{gap:var(--s3);padding-left:var(--s2);padding-right:var(--s2)}
  .s2b-chest-tag{font-size:.64rem;letter-spacing:.04em}
}

/* ---------------------------------------------------------------- movimiento reducido: todo quieto */
@media (prefers-reduced-motion:reduce){
  .s2b-hero *,.s2b *{animation:none!important;transition:none!important}
  .s2b-bat,.s2b-sparks{display:none}
  .s2b-pcard:hover,.s2b-oly-shots img:hover{transform:none}
}
