*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --blood:#8b1a1a;--blood-bright:#c41e1e;--blood-glow:#ff2a2a;
  --crimson:#a02020;--crimson-light:#d44;
  --dark:#050508;--dark-card:#0c0c12;--dark-surface:#101018;--dark-elevated:#161620;
  --text:#d4d0cc;--text-muted:#5a5565;--text-dim:#3a3545;
  --gold:#c9a84c;--gold-dark:#8a6d2b;
  --border:rgba(139,26,26,0.2);--border-subtle:rgba(255,255,255,0.04);
}
html{scroll-behavior:smooth}
body{font-family:'Inter',sans-serif;background:var(--dark);color:var(--text);overflow-x:hidden;min-height:100vh}button,input,select,textarea{font-family:'Inter',sans-serif}

/* AMBIENT */
#particles-canvas{position:fixed;inset:0;pointer-events:none;z-index:2;opacity:.55}

/* HEADER */
header{
  position:fixed;top:0;left:0;right:0;z-index:100;
  background:rgba(5,5,8,0.9);backdrop-filter:blur(24px);
  border-bottom:1px solid rgba(139,26,26,0.12);
  padding:0 40px;height:68px;display:flex;align-items:center;justify-content:space-between;
}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;transition:all 0.3s}
.logo:hover .logo-skull{filter:drop-shadow(0 0 12px rgba(255,42,42,0.7)) drop-shadow(0 0 22px rgba(245,230,163,0.2));transform:translateY(-1px) scale(1.03)}
.logo:hover .logo-title{text-shadow:0 0 14px rgba(240,235,227,0.25),0 0 28px rgba(196,30,30,0.2)}
.logo-mark{display:flex;align-items:center;justify-content:center;flex:0 0 50px;width:50px;height:54px}
.logo-skull{
  width:50px;height:54px;display:block;object-fit:contain;
  filter:drop-shadow(0 0 7px rgba(255,42,42,0.44)) drop-shadow(0 2px 8px rgba(0,0,0,0.7));
  transition:filter 0.3s,transform 0.3s;
}
.logo-text{display:flex;flex-direction:column;gap:0;line-height:1}
.logo-title{
  font-family:'Pirata One',cursive;font-size:19px;font-weight:400;
  color:#f0ebe3;letter-spacing:2px;
  text-shadow:0 0 20px rgba(240,235,227,0.1);
  transition:text-shadow 0.3s;
}
.logo-sub{
  font-family:'Inter',sans-serif;font-size:7.5px;font-weight:500;
  letter-spacing:4px;text-transform:uppercase;
  margin-top:1px;
  background:linear-gradient(135deg, #c9a84c 0%, #f5e6a3 25%, #c9a84c 50%, #a07c2a 75%, #f5e6a3 100%);
  background-size:200% 200%;
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
  animation:gold-shift 4s ease-in-out infinite;
}
@keyframes gold-shift{
  0%{background-position:0% 50%}
  50%{background-position:100% 50%}
  100%{background-position:0% 50%}
}
nav{display:flex;align-items:center;gap:28px}
nav a{
  font-size:11px;font-weight:500;color:var(--text-muted);text-decoration:none;
  letter-spacing:2px;text-transform:uppercase;transition:all 0.3s;position:relative;
}
nav a:hover{color:var(--blood-bright)}
nav a.active{color:var(--blood-bright)}
nav a.active::after{content:'';position:absolute;bottom:-4px;left:0;right:0;height:1px;background:var(--blood-bright);box-shadow:0 0 8px rgba(196,30,30,0.5)}
.header-right{display:flex;align-items:center;gap:14px}
.ep-badge{
  font-family:'Cinzel',serif;font-size:10px;font-weight:700;
  color:var(--blood-bright);letter-spacing:2px;
  border:1px solid rgba(139,26,26,0.3);padding:6px 14px;border-radius:4px;
  background:rgba(139,26,26,0.08);
}
.wallet-btn{
  display:flex;align-items:center;gap:8px;
  background:rgba(139,26,26,0.08);border:1px solid rgba(139,26,26,0.2);
  padding:8px 18px;border-radius:4px;color:var(--blood-bright);
  font-family:'Inter',sans-serif;font-size:11px;font-weight:600;
  cursor:pointer;letter-spacing:1px;text-transform:uppercase;transition:all 0.3s;
}
.wallet-btn:hover{background:rgba(139,26,26,0.15);border-color:var(--blood-bright)}
.wallet-dot{width:6px;height:6px;border-radius:50%;background:var(--blood-glow);box-shadow:0 0 10px var(--blood-glow)}
.language-switch{display:flex;align-items:center;gap:4px;padding:4px;border:1px solid rgba(139,26,26,0.24);background:rgba(255,255,255,0.025);border-radius:5px}
.language-switch button{
  border:0;background:transparent;color:var(--text-muted);min-width:34px;height:26px;border-radius:4px;
  font-size:10px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;cursor:pointer;transition:all .25s ease;
}
.language-switch button:hover{color:#fff;background:rgba(255,255,255,0.05)}
.language-switch button.active{color:#fff;background:linear-gradient(135deg,rgba(107,16,16,0.9),rgba(196,30,30,0.28));box-shadow:0 0 18px rgba(196,30,30,0.16)}
.auth-menu{position:relative}
.auth-dropdown{
  position:absolute;top:44px;right:0;min-width:190px;padding:10px;
  border:1px solid rgba(139,26,26,0.25);border-radius:8px;background:rgba(10,10,16,0.98);
  display:none;z-index:120;
}
.auth-dropdown.show{display:block}
.auth-dropdown button{
  width:100%;border:none;background:transparent;color:var(--text);
  font-size:11px;letter-spacing:1px;text-transform:uppercase;padding:10px;border-radius:6px;cursor:pointer;
}
.auth-dropdown button:hover{background:rgba(196,30,30,0.12);color:var(--blood-bright)}
.auth-overlay{
  position:fixed;inset:0;
  background:
    linear-gradient(115deg,rgba(0,0,0,0.94),rgba(52,7,13,0.72) 48%,rgba(0,0,0,0.9)),
    repeating-linear-gradient(100deg,rgba(255,42,42,0.06) 0 1px,transparent 1px 18px),
    rgba(0,0,0,0.86);
  backdrop-filter:blur(16px);
  z-index:220;display:none;align-items:center;justify-content:center;padding:20px;
  overflow:hidden;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.auth-overlay.open{display:flex}
.auth-overlay::-webkit-scrollbar{width:0;height:0;display:none}
html.auth-modal-open,
body.auth-modal-open{overflow:hidden}
.auth-stage{
  position:relative;
  width:min(100%,940px);
  min-height:min(760px,calc(100vh - 40px));
  display:grid;
  place-items:center;
  isolation:isolate;
  padding-top:clamp(90px,14vh,132px);
}
.auth-overlay.open .auth-stage{animation:auth-stage-rise .55s cubic-bezier(.16,1,.3,1)}
.auth-werewolf{
  position:absolute;
  left:50%;
  top:clamp(-58px,-4.8vh,-58px);
  width:clamp(500px,51vw,850px);
  height:clamp(300px,33vw,390px);
  z-index:2;
  pointer-events:none;
  opacity:.98;
  overflow:hidden;
  transform:translateX(-50%);
  filter:drop-shadow(0 4px 4px rgba(0,0,0,.9)) drop-shadow(0 0 4px rgba(255,42,42,.3));
  animation:auth-wolf-guard 5.8s ease-in-out infinite;
  mask-image:linear-gradient(180deg,#000 0%,#000 64%,rgba(0,0,0,.84) 78%,transparent 100%);
  -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 64%,rgba(0,0,0,.84) 78%,transparent 100%);
}
.auth-werewolf::before{
  content:'';
  position:absolute;
  left:50%;
  bottom:0;
  width:72%;
  height:72%;
  border-radius:50%;
  transform:translateX(-50%);
  background:radial-gradient(circle,rgba(255,42,42,.34),rgba(122,14,18,.18) 42%,transparent 72%);
  filter:blur(22px);
  z-index:-1;
}
.auth-werewolf img{
  position:absolute;
  left:50%;
  top:0;
  width:100%;
  height:auto;
  display:block;
  max-width:none;
  transform:translateX(-50%);
  object-fit:contain;
}
.auth-embers{
  position:absolute;
  inset:0;
  overflow:hidden;
  pointer-events:none;
  z-index:0;
}
.auth-embers span{
  position:absolute;
  left:var(--x,50%);
  bottom:-12%;
  width:2px;
  height:120px;
  background:linear-gradient(180deg,transparent,rgba(245,230,163,.58),rgba(255,42,42,.82),transparent);
  opacity:.42;
  transform:rotate(var(--r,-8deg));
  animation:auth-ember-rise var(--d,5s) ease-in infinite;
  animation-delay:var(--delay,0s);
}
.auth-embers span:nth-child(1){--x:8%;--d:5.6s;--delay:.1s;--r:-12deg}
.auth-embers span:nth-child(2){--x:24%;--d:7s;--delay:1.1s;--r:8deg}
.auth-embers span:nth-child(3){--x:68%;--d:5.2s;--delay:.6s;--r:-5deg}
.auth-embers span:nth-child(4){--x:82%;--d:6.5s;--delay:1.8s;--r:10deg}
.auth-embers span:nth-child(5){--x:48%;--d:7.4s;--delay:2.4s;--r:0deg}
.auth-modal{
  width:100%;max-width:630px;max-height:calc(100vh - 40px);position:relative;overflow:hidden;
  scrollbar-width:none;
  -ms-overflow-style:none;
  background:
    radial-gradient(circle at 50% -18%,rgba(255,42,42,.28),transparent 30%),
    linear-gradient(145deg,rgba(8,5,10,0.96),rgba(43,8,16,0.9) 46%,rgba(8,8,13,0.96)),
    linear-gradient(100deg,rgba(255,42,42,0.1),transparent 28%,rgba(201,168,76,0.08) 72%,transparent);
  border:1px solid rgba(201,168,76,0.3);border-radius:8px;padding:clamp(30px,3vw,38px);
  box-shadow:0 42px 150px rgba(0,0,0,0.86),0 0 92px rgba(196,30,30,0.24),0 0 0 1px rgba(255,42,42,.1),inset 0 1px 0 rgba(245,230,163,0.13);
  z-index:3;
  transform:translateY(20px);
}
.auth-modal::-webkit-scrollbar{width:0;height:0;display:none}
.auth-modal::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(90deg,transparent,rgba(255,42,42,0.28),transparent) top/100% 2px no-repeat,
    radial-gradient(circle at 50% 0,rgba(245,230,163,.12),transparent 34%),
    linear-gradient(rgba(255,255,255,0.022) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,0.018) 1px,transparent 1px);
  background-size:100% 2px,100% 100%,28px 28px,28px 28px;
  opacity:.72;
}
.auth-modal::after{
  content:'';position:absolute;inset:-40%;pointer-events:none;
  background:conic-gradient(from 90deg,transparent,rgba(255,42,42,0.12),transparent,rgba(201,168,76,0.08),transparent);
  animation:modal-aura 12s linear infinite;opacity:.65;z-index:0;
}
@keyframes modal-aura{to{transform:rotate(360deg)}}
@keyframes auth-stage-rise{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes auth-wolf-guard{0%,100%{transform:translateX(-50%) translateY(0) scale(1)}50%{transform:translateX(-50%) translateY(-8px) scale(1.012)}}
@keyframes auth-ember-rise{0%{opacity:0;transform:translateY(0) rotate(var(--r)) scaleY(.55)}18%{opacity:.46}100%{opacity:0;transform:translateY(-110vh) rotate(var(--r)) scaleY(1.15)}}
.auth-crest{text-align:center;margin:4px 0 22px;position:relative;z-index:1}
.auth-crest-mark{width:62px;height:62px;margin:0 auto 13px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,42,42,0.5);background:radial-gradient(circle,rgba(255,42,42,0.32),rgba(5,5,8,0.88) 62%);box-shadow:0 0 52px rgba(196,30,30,0.36),0 0 80px rgba(201,168,76,0.1),inset 0 0 22px rgba(255,255,255,0.08);color:var(--blood-glow);font-family:'Cinzel',serif;font-size:28px}
.auth-crest h3{font-family:'Cinzel',serif;font-size:clamp(25px,2vw,30px);color:#fff;letter-spacing:0;margin-bottom:7px;text-shadow:0 0 24px rgba(245,230,163,.12)}
.auth-crest p{font-size:12px;color:rgba(212,208,204,.58);line-height:1.6}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}
.auth-tabs,.auth-panel,.auth-actions,.auth-error,.auth-social{position:relative;z-index:1}
.auth-tab{position:relative;z-index:1;border:1px solid rgba(201,168,76,0.13);background:rgba(11,4,9,0.56);color:#7d7288;border-radius:4px;padding:14px;font-size:11px;letter-spacing:3px;text-transform:uppercase;cursor:pointer;transition:all .25s ease;overflow:hidden}
.auth-tab.active{background:linear-gradient(135deg,rgba(107,16,16,0.9),rgba(196,30,30,0.26));color:#f5e6a3;border-color:rgba(255,42,42,0.6);box-shadow:0 12px 32px rgba(196,30,30,0.2),inset 0 0 18px rgba(255,42,42,0.08)}
.auth-panel{display:none}.auth-panel.active{display:block;animation:auth-panel-rise .34s cubic-bezier(.16,1,.3,1)}
.auth-social{display:grid;gap:10px;margin-bottom:16px}
.auth-modal .form-row{margin-bottom:12px}
.auth-modal .form-row label{font-size:12px;letter-spacing:4px;margin-bottom:8px}
.auth-modal .form-row input{min-height:56px;padding:13px 20px;font-size:17px}
.google-login-btn{min-height:46px;display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid rgba(255,255,255,0.12);border-radius:4px;background:rgba(255,255,255,0.045);color:#eee9e1;text-decoration:none;font-size:11px;font-weight:900;letter-spacing:2px;text-transform:uppercase;transition:all .25s ease}
.google-login-btn:hover{border-color:rgba(201,168,76,0.36);background:rgba(255,255,255,0.065);box-shadow:0 0 24px rgba(201,168,76,0.1);transform:translateY(-1px)}
.google-login-mark{width:21px;height:21px;display:grid;place-items:center;border-radius:50%;background:#fff;color:#202124;font-size:14px;font-weight:900;letter-spacing:0;text-transform:none}
.auth-divider{display:flex;align-items:center;gap:10px;color:#6d6575;font-size:9px;font-weight:900;letter-spacing:2px;text-transform:uppercase}
.auth-divider::before,.auth-divider::after{content:"";height:1px;flex:1;background:rgba(255,255,255,0.08)}
.auth-actions{display:flex;gap:10px;margin-top:14px}
.auth-forgot-link{display:inline-flex;margin:-2px 0 12px;color:#f4d98b;text-decoration:none;font-size:11px;font-weight:900;letter-spacing:1.7px;text-transform:uppercase;opacity:.86;transition:.2s}
.auth-forgot-link:hover{opacity:1;color:#fff;text-shadow:0 0 18px rgba(244,217,139,.28)}
.auth-close{position:relative;z-index:1;flex:1;border:1px solid rgba(201,168,76,0.18);background:rgba(10,4,8,0.64);color:#9b8c74;border-radius:4px;padding:14px;font-size:11px;letter-spacing:3px;text-transform:uppercase;cursor:pointer;transition:all .25s ease;overflow:hidden}
.auth-close:hover{border-color:rgba(201,168,76,0.44);color:#f5e6a3;background:rgba(201,168,76,0.06);box-shadow:0 0 26px rgba(201,168,76,0.08)}
.auth-submit{position:relative;z-index:1;flex:1;border:1px solid rgba(255,42,42,0.38);border-radius:4px;padding:14px;background:linear-gradient(135deg,#5e100d,#a51c1b 48%,#dd2525);color:#fff;font-size:11px;font-weight:900;letter-spacing:2.4px;text-transform:uppercase;cursor:pointer;box-shadow:0 14px 42px rgba(196,30,30,0.3),inset 0 1px 0 rgba(255,255,255,0.12);transition:all .25s ease;overflow:hidden}
.auth-submit:hover{transform:translateY(-2px);box-shadow:0 20px 58px rgba(196,30,30,0.42),0 0 30px rgba(255,42,42,0.16)}
.auth-submit:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:0 6px 28px rgba(196,30,30,0.12)}
.auth-error{display:none;position:relative;z-index:1;margin-top:14px;color:#ffb1b1;font-size:13px;border:1px solid rgba(255,42,42,0.22);background:rgba(196,30,30,0.08);border-radius:8px;padding:11px 13px}
@keyframes auth-panel-rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.field-error{margin-top:6px;font-size:11px;color:#ff8f8f;letter-spacing:.2px;display:none}
.field-error.show{display:block}
.field-hint{margin-top:6px;font-size:11px;color:var(--text-dim);letter-spacing:.2px}

/* HERO */
.hero{position:relative;width:100%;min-height:100vh;min-height:100svh;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end}
.hero-banner{
  position:absolute;inset:0;z-index:0;overflow:hidden;
  background:#050508 url('assets/brand/immortalis-video-logo.webp') center center/cover no-repeat;
}
.hero-banner::before{
  content:'';position:absolute;inset:-7%;z-index:0;pointer-events:none;
  background:inherit;filter:blur(26px) saturate(1.18) brightness(.62);transform:scale(1.08);
  opacity:0;transition:opacity .35s ease;
}
.hero-banner img,.hero-banner video{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;object-position:center 20%}
.hero-banner video{display:block;background:transparent}
.hero-video-loader{
  position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;
  background:radial-gradient(circle at 50% 50%,rgba(87,14,18,0.3),rgba(5,5,8,0.78) 44%,rgba(5,5,8,0.92));
  color:#f5e6a3;transition:opacity .45s ease,visibility .45s ease;pointer-events:none;
}
.hero-video-loader.hidden{opacity:0;visibility:hidden}
.hero-loader-ring{
  width:74px;height:74px;border-radius:50%;
  border:3px solid rgba(201,168,76,0.12);
  border-top-color:#f5d56f;border-right-color:rgba(255,42,42,0.82);
  filter:drop-shadow(0 0 18px rgba(201,168,76,0.36)) drop-shadow(0 0 28px rgba(196,30,30,0.22));
  animation:hero-loader-spin 1s linear infinite;
}
.hero-loader-ring::after{
  content:'';display:block;width:44px;height:44px;margin:12px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,42,42,0.18),rgba(5,5,8,0.18));
  box-shadow:inset 0 0 18px rgba(0,0,0,0.6),0 0 24px rgba(196,30,30,0.14);
}
.hero-loader-text{
  font-family:'Cinzel',serif;font-size:11px;font-weight:700;letter-spacing:5px;text-transform:uppercase;color:rgba(245,230,163,0.8);
  text-shadow:0 0 18px rgba(201,168,76,0.28);
}
.hero-loader-bar{
  width:min(280px,56vw);height:3px;overflow:hidden;background:rgba(255,255,255,0.05);
  border:1px solid rgba(201,168,76,0.14);box-shadow:0 0 22px rgba(196,30,30,0.12);
}
.hero-loader-progress{
  display:block;height:100%;width:18%;
  background:linear-gradient(90deg,#7b1414,#ff2a2a,#f5d56f);
  box-shadow:0 0 18px rgba(255,42,42,0.48);animation:hero-loader-bar 1.25s ease-in-out infinite;
}
@keyframes hero-loader-spin{to{transform:rotate(360deg)}}
@keyframes hero-loader-bar{0%{transform:translateX(-110%)}100%{transform:translateX(560%)}}
.hero-banner::after{
  content:'';position:absolute;inset:0;z-index:2;pointer-events:none;
  background:
    linear-gradient(to top, var(--dark) 0%, rgba(5,5,8,0.7) 30%, rgba(5,5,8,0.2) 50%, rgba(5,5,8,0.4) 100%),
    linear-gradient(to right, rgba(5,5,8,0.5) 0%, transparent 30%, transparent 70%, rgba(5,5,8,0.5) 100%);
}
.hero-video-sound{
  position:absolute;right:28px;bottom:28px;z-index:3;display:none;align-items:center;gap:10px;
  border:1px solid rgba(255,42,42,.34);border-radius:6px;background:rgba(8,8,12,.66);
  color:#fff;padding:12px 16px;font-size:10px;font-weight:800;letter-spacing:1.8px;text-transform:uppercase;
  backdrop-filter:blur(14px);box-shadow:0 18px 50px rgba(0,0,0,.35),0 0 24px rgba(196,30,30,.18);cursor:pointer;
}
.hero-video-sound.show{display:inline-flex}
.hero-video-sound span{width:7px;height:7px;border-radius:50%;background:var(--blood-bright);box-shadow:0 0 12px var(--blood-bright)}
.hero-content{position:absolute;left:0;right:0;bottom:46px;z-index:2;width:100%;display:flex;justify-content:center;padding:0 24px;pointer-events:none}
.hero-tagline{
  font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--text-muted);
  margin-bottom:16px;display:flex;align-items:center;gap:12px;
}
.hero-tagline::before{content:'';width:40px;height:1px;background:var(--blood)}
.hero-main-title{
  font-family:'Cinzel Decorative',serif;font-size:clamp(48px,7vw,90px);
  font-weight:900;line-height:0.95;margin-bottom:12px;
  color:var(--blood-bright);
  text-shadow:0 0 80px rgba(196,30,30,0.4),0 0 160px rgba(196,30,30,0.15);
}
.hero-subtitle{
  font-family:'Cinzel',serif;font-size:clamp(14px,2vw,20px);font-weight:400;
  color:var(--text);opacity:0.7;margin-bottom:6px;letter-spacing:1px;
}
.hero-subtitle-red{
  font-family:'Cinzel',serif;font-size:clamp(12px,1.5vw,16px);font-weight:600;
  color:var(--blood-bright);letter-spacing:2px;margin-bottom:40px;
}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;opacity:0;transform:translateY(18px);transition:opacity .8s ease,transform .8s ease;pointer-events:none}
.hero.video-ended .hero-cta{opacity:1;transform:translateY(0);pointer-events:auto}
.btn-blood{
  display:inline-flex;align-items:center;gap:8px;
  background:linear-gradient(135deg,#6b1010,var(--blood-bright));
  color:#fff;padding:14px 36px;border-radius:4px;
  font-family:'Inter',sans-serif;font-size:12px;font-weight:700;
  letter-spacing:2px;text-transform:uppercase;border:none;cursor:pointer;
  transition:all 0.3s;text-decoration:none;
  box-shadow:0 4px 30px rgba(196,30,30,0.25);
}
.btn-blood:hover{transform:translateY(-2px);box-shadow:0 8px 50px rgba(196,30,30,0.4)}
.btn-ghost{
  display:inline-flex;align-items:center;gap:8px;
  background:transparent;border:1px solid rgba(139,26,26,0.3);color:var(--text);
  padding:14px 36px;border-radius:4px;
  font-family:'Inter',sans-serif;font-size:12px;font-weight:600;
  letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:all 0.3s;
  text-decoration:none;
}
.btn-ghost:hover{border-color:var(--blood-bright);color:var(--blood-bright)}
.hero-stats{display:flex;gap:48px}
.stat{text-align:left}
.stat-value{font-family:'Cinzel',serif;font-size:28px;font-weight:800;color:var(--blood-bright);display:block}
.stat-label{font-size:10px;color:var(--text-muted);letter-spacing:2px;text-transform:uppercase;margin-top:2px}

/* SECTIONS */
section{position:relative;z-index:1;padding:100px 40px}
.section-header{text-align:center;margin-bottom:64px}
.section-header h2{
  font-family:'Cinzel',serif;font-size:clamp(24px,3.5vw,42px);font-weight:800;
  color:#fff;margin-bottom:12px;
}
.section-header h2 span{color:var(--blood-bright)}
.section-header p{font-size:14px;color:var(--text-muted);max-width:480px;margin:0 auto;font-weight:300;line-height:1.7}
.section-line{
  display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:20px;
}
.section-line span{width:50px;height:1px;background:rgba(139,26,26,0.3)}
.section-line .dot{width:6px;height:6px;background:var(--blood-bright);border-radius:50%;box-shadow:0 0 10px rgba(196,30,30,0.5)}

/* DARK SEPARATOR */
.dark-sep{
  height:120px;
  background:linear-gradient(to bottom,var(--dark),rgba(10,0,0,0.5),var(--dark));
  position:relative;z-index:1;
}
.dark-sep::after{
  content:'';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:200px;height:1px;
  background:linear-gradient(90deg,transparent,var(--blood),transparent);
}

/* ALUCARD MANIFESTO */
.alucard-manifesto{
  isolation:isolate;
  padding:112px 40px 92px;
  overflow:hidden;
  background:
    linear-gradient(180deg,rgba(5,5,8,0) 0%,rgba(5,5,8,.96) 9%,rgba(5,5,8,.98) 92%,rgba(5,5,8,0) 100%),
    linear-gradient(90deg,#020203 0%,#070306 38%,#150606 72%,#050508 100%);
}
.alucard-manifesto::before{
  content:'';position:absolute;z-index:-2;left:-10%;right:-10%;top:20%;height:62%;
  background:
    linear-gradient(100deg,rgba(136,16,12,.94) 0%,rgba(171,24,18,.78) 28%,rgba(96,13,11,.62) 58%,rgba(26,5,5,.24) 100%);
  clip-path:polygon(0 18%,15% 4%,38% 24%,62% 5%,82% 18%,100% 7%,100% 88%,72% 100%,48% 88%,25% 100%,0 84%);
  filter:drop-shadow(0 28px 70px rgba(139,26,26,.2));
}
.alucard-manifesto::after{
  content:'';position:absolute;z-index:-1;inset:0;
  background:
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(180deg,rgba(255,255,255,.025) 1px,transparent 1px),
    radial-gradient(ellipse at 70% 48%,rgba(255,42,42,.14),transparent 40%),
    linear-gradient(90deg,rgba(5,5,8,.08),rgba(5,5,8,.84) 92%);
  background-size:54px 54px,54px 54px,100% 100%,100% 100%;
  opacity:.56;
  pointer-events:none;
}
.alucard-manifesto-inner{
  position:relative;
  width:min(1540px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(360px,.88fr) minmax(520px,1fr);
  align-items:center;
  gap:44px;
}
.alucard-manifesto-art{
  position:relative;
  min-height:680px;
  align-self:stretch;
}
.alucard-manifesto-art::before{
  content:'';
  position:absolute;
  z-index:2;
  left:50%;
  bottom:-92px;
  width:220vw;
  height:150px;
  transform:translateX(-50%);
  background:linear-gradient(180deg,rgba(5,5,8,0),rgba(5,5,8,.72) 48%,#050508 100%);
  pointer-events:none;
}
.alucard-manifesto-art::after{
  content:none;
}
.alucard-manifesto-art img{
  position:absolute;left:50%;bottom:-76px;
  width:min(58vw,650px);
  max-width:none;
  transform:translateX(-50%);
  filter:drop-shadow(0 34px 56px rgba(0,0,0,.78)) drop-shadow(0 0 38px rgba(139,26,26,.22)) saturate(.95) contrast(1.08);
  user-select:none;
  pointer-events:none;
}
.alucard-manifesto-panel{
  position:relative;
  padding:46px 46px 34px;
  min-height:540px;
  border:1px solid rgba(245,230,163,.18);
  background:
    linear-gradient(135deg,rgba(8,4,5,.78),rgba(56,10,10,.64) 55%,rgba(12,4,5,.82)),
    linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px),
    linear-gradient(180deg,rgba(255,255,255,.04) 1px,transparent 1px);
  background-size:auto,46px 46px,46px 46px;
  box-shadow:0 24px 90px rgba(0,0,0,.44),inset 0 0 70px rgba(255,42,42,.055);
}
.alucard-manifesto-panel::before,
.alucard-manifesto-panel::after{
  content:'';position:absolute;left:18px;right:18px;height:1px;
  background:linear-gradient(90deg,transparent,rgba(245,230,163,.38),rgba(255,42,42,.3),transparent);
  pointer-events:none;
}
.alucard-manifesto-panel::before{top:18px}
.alucard-manifesto-panel::after{bottom:18px}
.alucard-manifesto-kicker{
  margin-bottom:12px;
  color:#f5e6a3;
  font-size:11px;
  font-weight:900;
  letter-spacing:5px;
  text-transform:uppercase;
  text-align:center;
}
.alucard-manifesto-panel h2{
  font-family:'Cinzel',serif;
  font-size:36px;
  line-height:1.1;
  font-weight:900;
  color:#f5efe8;
  text-align:center;
  margin-bottom:8px;
  text-shadow:0 0 34px rgba(255,255,255,.08);
}
.alucard-manifesto-lead{
  color:#f0ebe3;
  font-size:15px;
  font-style:italic;
  font-weight:600;
  text-align:center;
  margin-bottom:36px;
  opacity:.86;
}
.alucard-manifesto-copy{
  display:grid;
  gap:18px;
  color:#eee6e0;
  font-size:15px;
  line-height:1.78;
  font-weight:500;
}
.alucard-manifesto-signature{
  display:flex;
  justify-content:center;
  margin:34px 0 18px;
}
.alucard-manifesto-signature img{
  width:210px;
  height:auto;
  filter:drop-shadow(0 0 16px rgba(201,168,76,.18));
}
.alucard-manifesto-quote{
  color:#f8f1ea;
  text-align:center;
  font-size:15px;
  font-weight:600;
  line-height:1.6;
}
.alucard-manifesto-line{
  height:2px;
  margin:22px 0 18px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.78),rgba(245,230,163,.42),transparent);
}
.alucard-manifesto-footer{
  display:flex;
  align-items:center;
  justify-content:center;
}
.alucard-manifesto-cta{
  justify-content:center;
  min-height:44px;
  padding:13px 24px;
  white-space:nowrap;
}

/* MUSIC SHOWCASE */
.music-showcase-section{
  position:relative;
  z-index:1;
  isolation:isolate;
  padding:88px 40px 98px;
  overflow:hidden;
  background:
    radial-gradient(ellipse at 50% 0%,rgba(201,168,76,.08),transparent 56%),
    linear-gradient(180deg,rgba(5,5,8,0),#050508 10%,#090406 88%,rgba(5,5,8,0));
}
.music-showcase-section::before{
  content:'';
  position:absolute;
  z-index:-1;
  inset:0;
  background:
    linear-gradient(90deg,rgba(255,255,255,.026) 1px,transparent 1px),
    linear-gradient(180deg,rgba(255,255,255,.018) 1px,transparent 1px),
    radial-gradient(circle at 22% 42%,rgba(196,30,30,.11),transparent 34%),
    radial-gradient(circle at 82% 26%,rgba(201,168,76,.08),transparent 28%);
  background-size:58px 58px,58px 58px,100% 100%,100% 100%;
  opacity:.75;
  pointer-events:none;
}
.music-showcase-inner{
  width:min(1600px,calc(100vw - 54px));
  margin:0 auto;
  position:relative;
}
.music-showcase-head{
  width:min(720px,100%);
  margin:0 auto 34px;
  text-align:center;
}
.music-showcase-kicker{
  margin:0 0 13px;
  color:#f5e6a3;
  font-size:11px;
  font-weight:900;
  letter-spacing:5px;
  text-transform:uppercase;
}
.music-showcase-head h2{
  margin:0 0 12px;
  font-family:'Cinzel',serif;
  font-size:clamp(28px,4vw,48px);
  line-height:1.08;
  font-weight:900;
  color:#f5efe8;
  text-shadow:0 0 34px rgba(255,255,255,.08);
}
.music-showcase-head h2 span{color:var(--blood-bright)}
.music-showcase-head p{
  margin:0 auto;
  max-width:610px;
  color:#9a919d;
  font-size:14px;
  line-height:1.8;
}
.music-platform-ribbon{
  display:grid;
  grid-template-columns:repeat(9,minmax(0,1fr));
  align-items:center;
  gap:0;
  margin:0 auto 38px;
  padding:8px 0;
  position:relative;
}
.music-platform-wordmark{
  min-width:0;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 12px;
  opacity:.72;
  text-decoration:none;
  transition:opacity .24s ease,transform .24s ease,filter .24s ease;
}
.music-platform-wordmark:hover,
.music-platform-wordmark:focus-visible{
  opacity:1;
  transform:translateY(-1px);
  filter:drop-shadow(0 0 18px rgba(245,230,163,.18));
  outline:none;
}
.music-platform-wordmark--static{
  cursor:default;
  pointer-events:none;
}
.music-platform-wordmark--static:hover{
  transform:none;
  filter:none;
}
.music-platform-wordmark img{
  display:block;
  width:auto;
  max-width:100%;
  max-height:28px;
  object-fit:contain;
  filter:grayscale(1) invert(1) brightness(1.42) contrast(.86) sepia(.08) drop-shadow(0 0 12px rgba(245,230,163,.11));
  transition:filter .24s ease,opacity .24s ease;
}
.music-platform-wordmark:hover img,
.music-platform-wordmark:focus-visible img{
  filter:grayscale(1) invert(1) brightness(1.68) contrast(.92) sepia(.12) drop-shadow(0 0 16px rgba(245,230,163,.2));
}
.music-quote-carousel{
  width:min(860px,100%);
  margin:0 auto;
  position:relative;
}
.music-quote-stage{
  position:relative;
  min-height:400px;
}
.music-quote-slide{
  position:absolute;
  inset:0;
  display:grid;
  grid-template-rows:1fr auto;
  gap:26px;
  padding:42px 52px 34px;
  border:1px solid rgba(245,230,163,.18);
  background:
    radial-gradient(circle at 18% 0%,rgba(201,168,76,.16),transparent 36%),
    linear-gradient(135deg,rgba(10,5,7,.86),rgba(55,8,12,.68) 58%,rgba(8,4,6,.92));
  box-shadow:0 32px 90px rgba(0,0,0,.36),inset 0 0 70px rgba(255,42,42,.04);
  opacity:0;
  transform:translateY(14px) scale(.985);
  pointer-events:none;
  transition:opacity .36s ease,transform .36s ease;
}
.music-quote-slide::before{
  content:'”';
  position:absolute;
  right:36px;
  top:18px;
  font-family:'Cinzel',serif;
  font-size:92px;
  line-height:1;
  color:rgba(245,230,163,.14);
}
.music-quote-slide.is-active{
  opacity:1;
  transform:translateY(0) scale(1);
  pointer-events:auto;
}
.music-quote-slide blockquote{
  position:relative;
  z-index:1;
  align-self:center;
  margin:0;
  color:#f4eee7;
  font-size:clamp(18px,2.2vw,24px);
  line-height:1.62;
  font-weight:500;
  letter-spacing:.01em;
  text-wrap:pretty;
}
.music-quote-slide figcaption{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  gap:14px;
  padding-top:22px;
  border-top:1px solid rgba(245,230,163,.12);
}
.music-quote-author-link{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
  color:inherit;
  text-decoration:none;
  transition:transform .22s ease,filter .22s ease;
}
.music-quote-author-link[href]:hover,
.music-quote-author-link[href]:focus-visible{
  transform:translateY(-1px);
  filter:brightness(1.08);
  outline:0;
}
.music-quote-author-link--static{
  pointer-events:none;
}
.music-quote-mark{
  width:56px;
  height:56px;
  flex:0 0 56px;
  display:grid;
  place-items:center;
  border-radius:50%;
  overflow:hidden;
  color:#12090b;
  background:linear-gradient(135deg,#f7df8c,#b98c32);
  border:1px solid rgba(245,230,163,.36);
  font-family:'Cinzel',serif;
  font-weight:900;
  box-shadow:0 0 28px rgba(201,168,76,.2),0 12px 28px rgba(0,0,0,.28);
}
.music-quote-mark img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:inherit;
}
.music-quote-person{
  display:grid;
  gap:4px;
  min-width:0;
}
.music-quote-person strong{
  font-family:'Cinzel',serif;
  color:#fff;
  font-size:16px;
  line-height:1.1;
}
.music-quote-person span{
  color:#6f6576;
  font-size:10px;
  font-weight:800;
  letter-spacing:2px;
  text-transform:uppercase;
}
.music-quote-author-link[href]:hover .music-quote-person strong,
.music-quote-author-link[href]:focus-visible .music-quote-person strong{
  color:#f5e6a3;
}
.music-quote-controls{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  margin-top:22px;
}
.music-quote-arrow{
  width:42px;
  height:42px;
  border-radius:50%;
  border:1px solid rgba(245,230,163,.24);
  background:rgba(255,255,255,.03);
  color:#f5e6a3;
  font-size:28px;
  line-height:1;
  cursor:pointer;
  transition:background .24s ease,border-color .24s ease,transform .24s ease,color .24s ease;
}
.music-quote-arrow:hover,
.music-quote-arrow:focus-visible{
  background:rgba(196,30,30,.18);
  border-color:rgba(255,42,42,.45);
  color:#fff;
  transform:translateY(-1px);
  outline:none;
}
.music-quote-dots{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}
.music-quote-dot{
  width:8px;
  height:8px;
  border:0;
  border-radius:50%;
  background:rgba(245,230,163,.26);
  cursor:pointer;
  transition:transform .24s ease,background .24s ease,box-shadow .24s ease;
}
.music-quote-dot.is-active{
  background:#ff2a2a;
  box-shadow:0 0 16px rgba(255,42,42,.45);
  transform:scale(1.25);
}
.f-info{position:absolute;bottom:0;left:0;right:0;padding:28px 28px 24px;z-index:2}
.f-rarity{
  display:inline-block;padding:4px 12px;border-radius:3px;
  font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase;margin-bottom:12px;
}
.rarity-mythic{background:rgba(196,30,30,0.15);color:var(--blood-glow);border:1px solid rgba(196,30,30,0.3)}
.rarity-legendary{background:rgba(201,168,76,0.12);color:var(--gold);border:1px solid rgba(201,168,76,0.25)}
.rarity-epic{background:rgba(139,92,246,0.12);color:#c4b5fd;border:1px solid rgba(139,92,246,0.25)}
.rarity-rare{background:rgba(59,130,246,0.12);color:#93c5fd;border:1px solid rgba(59,130,246,0.25)}
.f-name{font-family:'Cinzel',serif;font-size:22px;font-weight:700;color:#fff;margin-bottom:4px}
.f-class{font-size:11px;color:var(--text-muted);letter-spacing:1px;margin-bottom:16px}
.f-price-row{display:flex;align-items:center;justify-content:space-between}
.f-price{font-family:'Cinzel',serif;font-size:22px;font-weight:800;color:var(--blood-bright)}
.f-price small{font-size:11px;font-weight:400;color:var(--text-muted);margin-left:4px}
.f-buy{
  background:linear-gradient(135deg,#6b1010,var(--blood-bright));
  color:#fff;border:none;padding:10px 24px;border-radius:4px;
  font-family:'Inter',sans-serif;font-size:10px;font-weight:700;
  letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:all 0.3s;
}
.f-buy:hover{box-shadow:0 4px 24px rgba(196,30,30,0.4);transform:translateY(-1px)}

/* WARRIOR GRID */
.warriors-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:20px;
  max-width:1600px;margin:0 auto;
}
.warrior-card{
  position:relative;border-radius:10px;overflow:hidden;
  background:var(--dark-card);border:1px solid var(--border-subtle);
  transition:all 0.4s cubic-bezier(0.23,1,0.32,1);cursor:pointer;
}
.warrior-card:hover{
  transform:translateY(-5px);border-color:rgba(139,26,26,0.3);
  box-shadow:0 16px 48px rgba(0,0,0,0.5),0 0 40px rgba(139,26,26,0.05);
}
.warrior-card .w-image{position:relative;width:100%;aspect-ratio:3/4;overflow:hidden;background:var(--dark-surface)}
.warrior-card .w-image img{width:100%;height:100%;object-fit:cover;transition:transform 0.6s cubic-bezier(0.23,1,0.32,1)}
.warrior-card:hover .w-image img{transform:scale(1.06)}
.warrior-card .w-image::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(to top,rgba(5,5,8,0.95) 0%,rgba(5,5,8,0.3) 40%,transparent 65%);
}
.w-badge{
  position:absolute;top:12px;left:12px;z-index:2;
  padding:3px 10px;border-radius:3px;
  font-size:8px;font-weight:700;letter-spacing:2px;text-transform:uppercase;
}
.w-overlay{position:absolute;bottom:0;left:0;right:0;padding:16px;z-index:2}
.w-name{font-family:'Cinzel',serif;font-size:15px;font-weight:700;color:#fff;margin-bottom:2px}
.w-class{font-size:10px;color:var(--text-muted);margin-bottom:12px;letter-spacing:0.5px}
.w-bars{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}
.w-bar{display:flex;align-items:center;gap:8px}
.w-bar label{font-size:8px;color:var(--text-dim);width:28px;letter-spacing:1px;text-transform:uppercase}
.w-bar .track{flex:1;height:2px;background:rgba(255,255,255,0.05);border-radius:1px;overflow:hidden}
.w-bar .fill{height:100%;border-radius:1px;transition:width 1.2s cubic-bezier(0.23,1,0.32,1)}
.fill-atk{background:var(--blood-bright)}
.fill-def{background:#3b82f6}
.fill-spd{background:#22c55e}
.w-bottom{display:flex;align-items:center;justify-content:space-between}
.w-price{font-family:'Cinzel',serif;font-size:15px;font-weight:700;color:var(--blood-bright)}
.w-buy{
  background:rgba(139,26,26,0.1);border:1px solid rgba(139,26,26,0.2);
  color:var(--blood-bright);padding:5px 14px;border-radius:4px;
  font-family:'Inter',sans-serif;font-size:9px;font-weight:700;
  letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;transition:all 0.3s;
}
.w-buy:hover{background:rgba(139,26,26,0.2);border-color:var(--blood-bright)}

/* FILTERS */
.filters{display:flex;align-items:center;justify-content:center;gap:10px;max-width:1600px;margin:0 auto 48px;flex-wrap:wrap}
.filter-btn{
  background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.05);
  color:var(--text-muted);padding:7px 18px;border-radius:100px;
  font-family:'Inter',sans-serif;font-size:11px;font-weight:500;
  cursor:pointer;transition:all 0.3s;letter-spacing:0.5px;
}
.filter-btn:hover{border-color:rgba(139,26,26,0.3);color:var(--text)}
.filter-btn.active{background:rgba(139,26,26,0.1);border-color:rgba(196,30,30,0.4);color:var(--blood-bright)}

/* LORE BANNER */
.lore-banner{
  position:relative;padding:100px 40px;text-align:center;
  background:linear-gradient(to bottom,var(--dark),rgba(20,5,5,0.3),var(--dark));
  overflow:hidden;z-index:1;
}
.lore-banner::before{
  content:'';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:600px;height:600px;border-radius:50%;
  background:radial-gradient(circle,rgba(139,26,26,0.08) 0%,transparent 70%);
  pointer-events:none;
}
.lore-quote{
  font-family:'Cinzel',serif;font-size:clamp(18px,2.5vw,28px);
  font-weight:400;line-height:1.7;color:var(--text);opacity:0.8;
  max-width:700px;margin:0 auto 20px;position:relative;font-style:italic;
}
.lore-quote::before{
  content:"\201C";font-size:80px;color:var(--blood);opacity:0.2;
  position:absolute;top:-30px;left:-10px;font-family:Georgia,serif;
  font-style:normal;
}
.lore-author{font-size:12px;color:var(--blood-bright);letter-spacing:3px;text-transform:uppercase}

.home-sponsors-section{
  position:relative;
  z-index:1;
  padding:18px 40px 104px;
  background:
    radial-gradient(circle at 50% 0,rgba(201,168,76,.08),transparent 34%),
    linear-gradient(180deg,rgba(5,5,8,.96),#050508 74%);
  overflow:hidden;
}
.home-sponsors-section::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px),
    linear-gradient(180deg,rgba(255,255,255,.012) 1px,transparent 1px);
  background-size:56px 56px;
  opacity:.28;
  mask-image:linear-gradient(180deg,transparent,#000 18%,#000 82%,transparent);
}
.home-sponsors-inner{
  position:relative;
  width:min(1600px,calc(100vw - 54px));
  margin:0 auto;
}
.home-sponsors-head{
  max-width:760px;
  margin:0 auto 28px;
  text-align:center;
}
.home-sponsors-kicker{
  margin:0 0 10px;
  color:var(--gold);
  font-size:10px;
  font-weight:900;
  letter-spacing:4px;
  text-transform:uppercase;
}
.home-sponsors-head h2{
  margin:0;
  font-family:'Cinzel',serif;
  font-size:clamp(28px,3vw,46px);
  line-height:1.08;
  color:#f4eee8;
  text-shadow:0 0 32px rgba(255,42,42,.12);
}
.home-sponsors-head p{
  max-width:620px;
  margin:14px auto 0;
  color:#8f8797;
  font-size:14px;
  line-height:1.75;
}
.home-sponsors-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(290px,1fr));
  gap:16px;
}
.home-sponsor-card{
  position:relative;
  min-height:174px;
  display:grid;
  grid-template-columns:minmax(118px,.42fr) minmax(0,1fr);
  gap:18px;
  align-items:center;
  padding:18px;
  border:1px solid rgba(201,168,76,.16);
  border-radius:8px;
  background:
    radial-gradient(circle at 0 0,rgba(201,168,76,.11),transparent 42%),
    linear-gradient(145deg,rgba(18,18,27,.78),rgba(70,10,16,.18));
  color:var(--text);
  text-decoration:none;
  overflow:hidden;
  box-shadow:0 22px 76px rgba(0,0,0,.36),inset 0 1px 0 rgba(255,255,255,.055);
  transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease;
}
.home-sponsor-card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(255,42,42,.1),transparent 45%,rgba(201,168,76,.08));
  opacity:.72;
}
a.home-sponsor-card:hover,
a.home-sponsor-card:focus-visible{
  transform:translateY(-4px);
  border-color:rgba(201,168,76,.42);
  box-shadow:0 30px 94px rgba(0,0,0,.52),0 0 38px rgba(201,168,76,.12),inset 0 1px 0 rgba(255,255,255,.08);
  outline:0;
}
.home-sponsor-image,
.home-sponsor-copy{
  position:relative;
  z-index:1;
}
.home-sponsor-image{
  min-height:126px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.075);
  border-radius:6px;
  background:rgba(5,5,8,.42);
  overflow:hidden;
}
.home-sponsor-image img{
  display:block;
  width:100%;
  max-height:118px;
  object-fit:contain;
  filter:drop-shadow(0 18px 24px rgba(0,0,0,.52));
}
.home-sponsor-copy{
  display:grid;
  gap:9px;
  min-width:0;
}
.home-sponsor-copy strong{
  font-family:'Cinzel',serif;
  font-size:clamp(20px,1.65vw,28px);
  line-height:1.05;
  color:#fff;
  overflow-wrap:anywhere;
}
.home-sponsor-copy span{
  color:#aaa2b5;
  font-size:13px;
  line-height:1.62;
}

.home-tv-movement{
  position:relative;
  z-index:1;
  isolation:isolate;
  overflow:hidden;
  min-height:290px;
  padding:76px 40px;
  background:
    radial-gradient(circle at 82% 48%,rgba(255,42,42,.18),transparent 30%),
    radial-gradient(circle at 18% 0%,rgba(201,168,76,.10),transparent 36%),
    linear-gradient(180deg,#050508 0%,#020203 52%,#050508 100%);
  border-top:1px solid rgba(255,255,255,.045);
  border-bottom:1px solid rgba(139,26,26,.22);
}
.home-tv-movement::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px),
    linear-gradient(180deg,rgba(255,255,255,.012) 1px,transparent 1px);
  background-size:62px 62px;
  opacity:.36;
}
.home-tv-movement::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    linear-gradient(90deg,#050508 0%,rgba(5,5,8,.9) 22%,rgba(5,5,8,.48) 58%,#050508 100%),
    linear-gradient(180deg,rgba(5,5,8,.62),rgba(5,5,8,.16) 48%,#050508 100%);
  pointer-events:none;
}
.home-tv-movement-wolf{
  position:absolute;
  right:max(-100px,-5vw);
  bottom:-155px;
  z-index:-1;
  width:min(780px,52vw);
  pointer-events:none;
  opacity:.58;
  filter:drop-shadow(0 34px 48px rgba(0,0,0,.82)) drop-shadow(0 0 34px rgba(255,42,42,.2));
  transform:rotate(-5deg);
  mask-image:linear-gradient(90deg,transparent 0%,#000 17%,#000 82%,transparent 100%);
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 17%,#000 82%,transparent 100%);
}
.home-tv-movement-wolf img{display:block;width:100%;height:auto}
.home-tv-movement-inner{
  position:relative;
  z-index:2;
  width:min(1600px,calc(100vw - 54px));
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,760px) auto;
  align-items:center;
  gap:clamp(28px,5vw,86px);
}
.home-tv-movement-copy{display:grid;gap:14px}
.home-tv-movement-kicker{
  margin:0;
  color:var(--blood-bright);
  font-size:11px;
  font-weight:900;
  letter-spacing:5px;
  text-transform:uppercase;
}
.home-tv-movement h2{
  margin:0;
  color:#f4eee8;
  font-size:clamp(30px,4.1vw,54px);
  font-weight:900;
  line-height:1.18;
  letter-spacing:.01em;
  text-wrap:balance;
  text-shadow:0 0 34px rgba(255,255,255,.08),0 0 34px rgba(255,42,42,.12);
}
.home-tv-movement-copy p:last-child{
  max-width:560px;
  margin:0;
  color:#a99fa9;
  font-size:15px;
  line-height:1.7;
  font-weight:600;
}
.home-tv-movement-cta{
  justify-self:end;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:66px;
  min-width:210px;
  padding:0 28px;
  border:1px solid rgba(255,42,42,.5);
  border-radius:7px;
  background:linear-gradient(135deg,#7c0e0e,#c40000 52%,#ef2b2b);
  color:#fff;
  text-decoration:none;
  font-size:15px;
  font-weight:900;
  letter-spacing:.6px;
  box-shadow:0 20px 52px rgba(196,30,30,.35),inset 0 1px 0 rgba(255,255,255,.16);
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease;
}
.home-tv-movement-cta:hover,
.home-tv-movement-cta:focus-visible{
  transform:translateY(-2px);
  border-color:rgba(255,255,255,.42);
  box-shadow:0 28px 70px rgba(196,30,30,.48),0 0 36px rgba(255,42,42,.22);
  outline:0;
}

/* ============================
   JOIN CIRCLE — FREE SIGNUP
   ============================ */
.join-section{
  position:relative;z-index:1;padding:120px 40px;
  background:linear-gradient(180deg, var(--dark) 0%, #0a0408 40%, #0d060a 60%, var(--dark) 100%);
  overflow:hidden;
}
.join-section::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 50% 50% at 50% 50%, rgba(139,26,26,0.06) 0%, transparent 70%);
  pointer-events:none;
}
/* floating runes */
.join-section::after{
  content:'I II III IV V VI';
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  font-size:180px;letter-spacing:60px;
  color:rgba(139,26,26,0.015);pointer-events:none;
  white-space:nowrap;
}
.join-inner{
  max-width:860px;margin:0 auto;text-align:center;position:relative;z-index:2;
}
.join-icon{
  width:80px;height:80px;margin:0 auto 28px;
  border-radius:50%;
  border:2px solid rgba(196,30,30,0.25);
  background:rgba(196,30,30,0.04);
  display:flex;align-items:center;justify-content:center;
  font-size:34px;color:var(--blood-bright);
  box-shadow:0 0 60px rgba(196,30,30,0.08),inset 0 0 30px rgba(196,30,30,0.04);
  animation:icon-pulse 4s ease-in-out infinite;
}
@keyframes icon-pulse{
  0%,100%{box-shadow:0 0 60px rgba(196,30,30,0.08),inset 0 0 30px rgba(196,30,30,0.04)}
  50%{box-shadow:0 0 80px rgba(196,30,30,0.15),inset 0 0 40px rgba(196,30,30,0.06)}
}
.join-kicker{
  font-family:'Inter',sans-serif;font-size:11px;font-weight:600;
  letter-spacing:5px;text-transform:uppercase;
  color:var(--blood-bright);margin-bottom:18px;
}
.join-title{
  font-family:'Cinzel',serif;font-size:clamp(26px,4vw,46px);font-weight:800;
  color:#fff;margin-bottom:14px;line-height:1.15;
}
.join-title span{color:var(--blood-bright)}
.join-desc{
  font-size:14px;color:var(--text-muted);max-width:520px;margin:0 auto 20px;
  line-height:1.8;font-weight:300;
}

/* What you unlock */
.join-perks{
  display:flex;flex-wrap:wrap;justify-content:center;gap:10px 18px;
  max-width:600px;margin:0 auto 44px;
}
.join-perk{
  display:flex;align-items:center;gap:7px;
  font-size:12px;color:var(--text);font-weight:400;
  letter-spacing:0.3px;
}
.join-perk .perk-icon{
  width:22px;height:22px;border-radius:50%;
  background:rgba(196,30,30,0.08);border:1px solid rgba(196,30,30,0.18);
  display:flex;align-items:center;justify-content:center;
  font-size:10px;color:var(--blood-bright);flex-shrink:0;
}

/* Form card */
.join-form-card{
  max-width:520px;margin:0 auto 36px;
  background:
    linear-gradient(145deg,rgba(13,5,10,0.82),rgba(52,10,17,0.54) 48%,rgba(13,12,18,0.76)),
    radial-gradient(circle at 12% 0%,rgba(255,42,42,0.12),transparent 34%),
    radial-gradient(circle at 88% 100%,rgba(201,168,76,0.1),transparent 30%);
  border:1px solid rgba(201,168,76,0.16);
  border-radius:2px;padding:36px 32px;
  position:relative;overflow:hidden;
  box-shadow:0 28px 120px rgba(0,0,0,0.5),0 0 70px rgba(196,30,30,0.12),inset 0 1px 0 rgba(245,230,163,0.08);
  backdrop-filter:blur(18px);
}
.join-form-card::before{
  content:'';position:absolute;inset:0;
  background:
    linear-gradient(90deg,transparent,rgba(255,42,42,0.32),transparent) top/100% 2px no-repeat,
    linear-gradient(rgba(255,255,255,0.02) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,0.016) 1px,transparent 1px);
  background-size:100% 2px,30px 30px,30px 30px;
  pointer-events:none;opacity:.58;
}
.join-form-card::after{
  content:'';position:absolute;left:12%;right:12%;bottom:-40px;height:80px;
  background:radial-gradient(ellipse,rgba(255,42,42,0.2),transparent 70%);
  filter:blur(18px);pointer-events:none;
}
.form-row{margin-bottom:14px;text-align:left}
.form-step,.form-row,.step-header,.step-unlocks,.wizard-google-entry,.social-follow,.join-submit,.join-rank-preview{position:relative;z-index:1}
.form-row label{
  display:block;font-family:'Cinzel',serif;font-size:13px;font-weight:700;
  letter-spacing:5px;text-transform:uppercase;
  color:rgba(201,168,76,0.64);margin-bottom:11px;
}
.form-row input,.form-row textarea,.form-row select{
  width:100%;min-height:62px;padding:16px 22px;
  background:rgba(12,2,8,0.66);
  border:1px solid rgba(139,26,26,0.55);
  border-radius:0;color:#f5e6a3;
  font-family:'Cinzel',serif;font-size:18px;font-weight:600;letter-spacing:1.4px;
  transition:all 0.28s ease;outline:none;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,0.4),0 0 0 rgba(196,30,30,0);
  clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);
}
.form-row input::placeholder,.form-row textarea::placeholder{color:rgba(201,168,76,0.28);font-weight:400}
.form-row input:focus,.form-row textarea:focus,.form-row select:focus{
  border-color:rgba(255,42,42,0.92);
  box-shadow:0 0 26px rgba(196,30,30,0.22),0 0 80px rgba(196,30,30,0.08),inset 0 0 22px rgba(255,42,42,0.04);
  background:rgba(18,3,10,0.84);
  color:#fff4c9;
}

.wizard-google-entry{
  margin:18px 0 20px;
  padding:16px;
  border:1px solid rgba(201,168,76,.18);
  background:
    radial-gradient(circle at 18% 0%,rgba(245,230,163,.14),transparent 36%),
    linear-gradient(135deg,rgba(255,255,255,.052),rgba(77,11,17,.18),rgba(8,5,10,.56));
  box-shadow:0 0 34px rgba(201,168,76,.08),inset 0 1px 0 rgba(255,255,255,.06);
  clip-path:polygon(13px 0,100% 0,100% calc(100% - 13px),calc(100% - 13px) 100%,0 100%,0 13px);
  overflow:hidden;
}
.wizard-google-entry::before{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,transparent,rgba(245,230,163,.22),transparent) top/100% 1px no-repeat,
    linear-gradient(90deg,transparent,rgba(255,42,42,.2),transparent) bottom/100% 1px no-repeat;
  opacity:.7;
}
.wizard-google-entry__label{
  display:block;
  margin-bottom:10px;
  color:#f5e6a3;
  font-size:10px;
  font-weight:900;
  letter-spacing:3px;
  line-height:1.2;
  text-transform:uppercase;
}
.wizard-google-btn{
  position:relative;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:14px;
  align-items:center;
  min-height:70px;
  padding:14px 16px;
  border:1px solid rgba(255,255,255,.12);
  color:#f4efe7;
  background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(18,8,14,.64));
  text-decoration:none;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.22);
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease,background .25s ease;
  clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);
  overflow:hidden;
}
.wizard-google-btn::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(105deg,transparent 0%,rgba(255,255,255,.24) 45%,transparent 62%);
  transform:translateX(-120%);
  transition:transform .55s ease;
}
.wizard-google-btn:hover{
  transform:translateY(-2px);
  border-color:rgba(201,168,76,.42);
  background:linear-gradient(135deg,rgba(255,255,255,.11),rgba(69,12,18,.34),rgba(15,7,13,.74));
  box-shadow:0 18px 50px rgba(0,0,0,.32),0 0 36px rgba(201,168,76,.14);
}
.wizard-google-btn:hover::before{transform:translateX(120%)}
.wizard-google-mark{
  position:relative;
  z-index:1;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#fff;
  color:#202124;
  font-size:24px;
  font-weight:900;
  letter-spacing:0;
  box-shadow:0 0 26px rgba(255,255,255,.16),0 0 34px rgba(201,168,76,.1);
}
.wizard-google-copy{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
}
.wizard-google-copy strong{
  color:#fff;
  font-size:13px;
  font-weight:900;
  letter-spacing:2px;
  line-height:1.25;
  text-transform:uppercase;
}
.wizard-google-copy small{
  color:#a69aaa;
  font-size:12px;
  line-height:1.45;
}

/* Social follow row */
.social-follow{margin:20px 0 24px;text-align:left}
.social-follow-label{
  font-size:10px;font-weight:600;letter-spacing:2px;text-transform:uppercase;
  color:var(--text-muted);margin-bottom:12px;display:block;
}
.social-follow-desc{
  font-size:11px;color:var(--text-dim);margin-bottom:14px;font-weight:300;
}
.social-buttons{display:flex;gap:10px;flex-wrap:wrap}
.social-btn{
  display:flex;align-items:center;gap:8px;
  padding:12px 18px;border-radius:0;
  border:1px solid rgba(201,168,76,0.12);
  background:linear-gradient(145deg,rgba(16,6,12,0.72),rgba(35,7,13,0.36));
  cursor:pointer;transition:all 0.3s;
  font-family:'Inter',sans-serif;font-size:12px;font-weight:700;letter-spacing:1px;
  color:#776f83;flex:1;min-width:120px;justify-content:center;
  position:relative;overflow:hidden;
  clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);
}
.social-btn::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,42,42,0.18),transparent);transform:translateX(-120%);transition:transform .45s ease}
.social-btn svg{width:16px;height:16px;flex-shrink:0}
.social-btn:hover{
  border-color:rgba(255,42,42,0.48);color:#f5e6a3;
  background:linear-gradient(145deg,rgba(60,10,17,0.62),rgba(15,5,11,0.76));
  box-shadow:0 0 28px rgba(196,30,30,0.14);
}
.social-btn:hover::before{transform:translateX(120%)}
.social-btn.followed{
  border-color:rgba(201,168,76,0.42);
  background:linear-gradient(135deg,rgba(95,14,18,0.76),rgba(201,168,76,0.1));
  color:#f5e6a3;
  box-shadow:0 0 34px rgba(196,30,30,0.18),inset 0 0 18px rgba(201,168,76,0.05);
}
.social-btn.followed::after{
  content:'';position:absolute;right:10px;width:6px;height:6px;border-radius:50%;background:var(--blood-bright);box-shadow:0 0 8px rgba(255,42,42,.55);
  font-size:12px;font-weight:700;color:var(--blood-bright);
}
.social-btn.followed .follow-text{display:none}
.social-btn .followed-text{display:none;font-size:10px;letter-spacing:1px}
.social-btn.followed .followed-text{display:inline}

/* Submit */
.join-submit{
  width:100%;min-height:70px;padding:20px 24px;border:1px solid rgba(255,42,42,0.45);border-radius:0;
  background:linear-gradient(135deg,#5f0e0e,#a71b1e 52%,#e0252a);
  color:#fff;font-family:'Inter',sans-serif;font-size:16px;font-weight:900;
  letter-spacing:4px;text-transform:uppercase;cursor:pointer;
  transition:all 0.3s;position:relative;overflow:hidden;
  box-shadow:0 12px 42px rgba(196,30,30,0.26),inset 0 1px 0 rgba(255,255,255,0.12);
  clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);
}
.join-submit::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.22),transparent);transform:translateX(-120%);transition:transform .55s ease}
.join-submit:hover{
  transform:translateY(-2px);
  box-shadow:0 20px 62px rgba(196,30,30,0.42),0 0 30px rgba(255,42,42,0.14);
}
.join-submit:hover::before{transform:translateX(120%)}
.join-submit:disabled{
  opacity:0.4;cursor:not-allowed;transform:none;
  box-shadow:0 4px 30px rgba(196,30,30,0.1);
}
.join-submit .btn-text{}
.join-submit .btn-loading{display:none}

/* RITUAL PROGRESS TRACKER */
.ritual-progress{
  display:flex;align-items:center;justify-content:center;gap:0;
  max-width:400px;margin:0 auto 28px;
}
.ritual-step{
  display:flex;flex-direction:column;align-items:center;gap:6px;
  position:relative;z-index:2;
}
.ritual-step-num{
  width:44px;height:44px;border-radius:50%;
  border:2px solid rgba(255,255,255,0.08);
  background:rgba(255,255,255,0.02);
  display:flex;align-items:center;justify-content:center;
  font-family:'Cinzel',serif;font-size:16px;font-weight:700;
  color:var(--text-dim);transition:all 0.5s cubic-bezier(0.23,1,0.32,1);
}
.ritual-step-label{
  font-size:9px;font-weight:600;letter-spacing:2px;text-transform:uppercase;
  color:var(--text-dim);transition:all 0.5s;
}
.ritual-step.active .ritual-step-num{
  border-color:rgba(196,30,30,0.5);color:var(--blood-bright);
  background:rgba(196,30,30,0.08);
  box-shadow:0 0 20px rgba(196,30,30,0.15);
  animation:step-pulse 2.5s ease-in-out infinite;
}
.ritual-step.active .ritual-step-label{color:var(--blood-bright)}
.ritual-step.completed .ritual-step-num{
  border-color:rgba(196,30,30,0.6);color:#fff;
  background:linear-gradient(135deg,#6b1010,var(--blood-bright));
  box-shadow:0 0 25px rgba(196,30,30,0.25);
  animation:none;
}
.ritual-step.completed .ritual-step-label{color:var(--blood-bright)}
@keyframes step-pulse{
  0%,100%{box-shadow:0 0 20px rgba(196,30,30,0.15)}
  50%{box-shadow:0 0 30px rgba(196,30,30,0.3)}
}
.ritual-connector{
  flex:1;height:2px;background:rgba(255,255,255,0.05);
  position:relative;margin:0 -2px;margin-bottom:20px;
}
.ritual-connector-fill{
  position:absolute;left:0;top:0;height:100%;width:0;
  background:linear-gradient(90deg,var(--blood-bright),var(--blood-glow));
  box-shadow:0 0 8px rgba(196,30,30,0.4);
  transition:width 0.8s cubic-bezier(0.23,1,0.32,1);
  border-radius:1px;
}

/* LIVE RANK DISPLAY */
.rank-live-display{
  display:flex;align-items:center;justify-content:center;gap:14px;
  max-width:400px;margin:0 auto 40px;
  padding:14px 24px;border-radius:8px;
  border:1px solid rgba(255,255,255,0.04);
  background:rgba(255,255,255,0.015);
  transition:all 0.6s cubic-bezier(0.23,1,0.32,1);
}
.rank-live-display.rank-1{
  border-color:rgba(196,30,30,0.2);background:rgba(196,30,30,0.03);
}
.rank-live-display.rank-2{
  border-color:rgba(196,30,30,0.3);background:rgba(196,30,30,0.05);
  box-shadow:0 0 30px rgba(196,30,30,0.06);
}
.rank-live-display.rank-3{
  border-color:rgba(196,30,30,0.5);background:rgba(196,30,30,0.08);
  box-shadow:0 0 40px rgba(196,30,30,0.1),0 0 80px rgba(196,30,30,0.04);
}
.rank-live-icon{
  font-size:28px;transition:all 0.5s;
}
.rank-live-info{text-align:left;display:flex;flex-direction:column}
.rank-live-label{
  font-size:9px;font-weight:600;letter-spacing:2px;text-transform:uppercase;
  color:var(--text-dim);transition:color 0.5s;
}
.rank-live-name{
  font-family:'Cinzel',serif;font-size:18px;font-weight:700;
  color:var(--text-dim);transition:all 0.5s;
}

/* FORM STEPS */
.form-step{
  position:relative;margin-bottom:0;
  padding-bottom:24px;border-bottom:1px solid rgba(255,255,255,0.04);
  margin-bottom:24px;transition:all 0.5s;
}
.form-step:last-of-type{border-bottom:none;margin-bottom:0}
.form-step-hidden{display:none}
.form-step-active{display:block}
.form-step-locked{
  opacity:0.35;pointer-events:none;filter:grayscale(0.5);
  position:relative;
}
.form-step-locked.unlocked{
  opacity:1;pointer-events:auto;filter:none;
}
.step-lock-overlay{
  position:absolute;top:0;left:0;right:0;
  z-index:5;text-align:center;
  font-size:12px;color:var(--text-dim);letter-spacing:1px;
  padding:8px;
  background:rgba(5,5,8,0.6);backdrop-filter:blur(2px);
  border-radius:6px;
  transition:all 0.5s;
}
.step-lock-overlay.hidden{opacity:0;pointer-events:none;transform:translateY(-10px)}
.step-header{margin-bottom:28px}
.step-number{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 12px;
  border:1px solid rgba(255,42,42,.32);
  background:rgba(255,42,42,.085);
  font-family:'Inter',sans-serif;font-size:12px;font-weight:900;
  letter-spacing:3.4px;text-transform:uppercase;
  color:#ff3636;
  opacity:1;
  box-shadow:0 0 22px rgba(255,42,42,.12);
}
.step-title{
  font-family:'Cinzel',serif;font-size:clamp(34px,2.8vw,54px);font-weight:800;
  color:#fff;margin:14px 0 10px;
  line-height:.98;
  text-shadow:0 18px 48px rgba(0,0,0,.72),0 0 34px rgba(255,42,42,.16);
}
.step-desc{
  max-width:980px;
  margin:0 auto;
  font-size:clamp(16px,1vw,20px);
  color:#bfb5c2;
  font-weight:400;
  line-height:1.55;
}
.step-unlocks{
  margin:24px 0 26px;
  padding:18px;
  border:1px solid rgba(201,168,76,.22);
  background:
    radial-gradient(circle at 9% 0%,rgba(245,230,163,.12),transparent 34%),
    radial-gradient(circle at 92% 115%,rgba(255,42,42,.16),transparent 36%),
    linear-gradient(145deg,rgba(38,13,19,.68),rgba(10,6,12,.58));
  box-shadow:0 0 46px rgba(255,42,42,.08),inset 0 1px 0 rgba(255,255,255,.055),inset 0 0 44px rgba(201,168,76,.035);
  clip-path:polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px);
  overflow:hidden;
}
.step-unlocks::before{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,transparent,rgba(245,230,163,.28),transparent) top/100% 1px no-repeat,
    linear-gradient(90deg,transparent,rgba(255,42,42,.24),transparent) bottom/100% 1px no-repeat,
    linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);
  background-size:100% 1px,100% 1px,28px 28px,28px 28px;
  opacity:.72;
}
.step-unlocks-title{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:14px;
  color:#f5e6a3;
  font-size:11px;
  font-weight:900;
  letter-spacing:3.4px;
  line-height:1.2;
  text-transform:uppercase;
  text-shadow:0 0 16px rgba(201,168,76,.22);
}
.step-unlocks-title::before,
.step-unlocks-title::after{
  content:'';
  height:1px;
  flex:1;
  background:linear-gradient(90deg,transparent,rgba(201,168,76,.42));
}
.step-unlocks-title::after{background:linear-gradient(90deg,rgba(201,168,76,.42),transparent)}
.step-unlock-items{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.step-unlock-item{
  position:relative;
  min-height:92px;
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  grid-template-rows:auto auto;
  column-gap:14px;
  row-gap:4px;
  align-items:center;
  align-content:center;
  padding:14px;
  border:1px solid rgba(255,255,255,.105);
  color:#f1ece7;
  background:
    radial-gradient(circle at 18% 0%,rgba(245,230,163,.11),transparent 42%),
    linear-gradient(145deg,rgba(255,255,255,.06),rgba(84,11,18,.18),rgba(9,5,10,.62));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045),0 16px 28px rgba(0,0,0,.18);
  clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);
  overflow:hidden;
}
.step-unlock-item::before{
  content:attr(data-unlock-icon);
  grid-column:1;
  grid-row:1 / span 2;
  align-self:center;
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border:1px solid rgba(245,230,163,.28);
  background:radial-gradient(circle,rgba(255,42,42,.32),rgba(18,5,9,.86) 68%);
  color:#f5e6a3;
  font-family:'Cinzel',serif;
  font-size:18px;
  font-weight:900;
  line-height:1;
  box-shadow:0 0 28px rgba(255,42,42,.16),inset 0 0 18px rgba(245,230,163,.07);
  clip-path:polygon(50% 0,91% 22%,91% 78%,50% 100%,9% 78%,9% 22%);
}
.step-unlock-item::after{
  content:'';
  position:absolute;
  inset:auto 12px 0 58px;
  height:1px;
  background:linear-gradient(90deg,rgba(255,42,42,.46),transparent);
  opacity:.72;
}
.step-unlock-item strong{
  grid-column:2;
  grid-row:1;
  display:block;
  min-width:0;
  color:#fff;
  font-family:'Cinzel',serif;
  font-size:clamp(18px,1.38vw,22px);
  font-weight:800;
  line-height:1.1;
  margin:0;
  text-shadow:0 0 18px rgba(255,255,255,.12);
}
.step-unlock-item small{
  grid-column:2;
  grid-row:2;
  display:block;
  min-width:0;
  color:#b9aeb9;
  font-size:14px;
  line-height:1.45;
}
.step-completed-badge{
  display:none;
  align-items:center;justify-content:center;gap:8px;
  padding:14px;border-radius:6px;
  background:rgba(196,30,30,0.06);border:1px solid rgba(196,30,30,0.15);
  font-family:'Cinzel',serif;font-size:13px;font-weight:700;
  color:var(--blood-bright);letter-spacing:1px;
  animation:success-appear 0.5s cubic-bezier(0.23,1,0.32,1);
}

/* rank unlock badge */
.join-rank-preview{
  display:flex;align-items:center;justify-content:center;gap:14px;
  margin-top:24px;padding:16px 20px;
  border:1px solid rgba(139,26,26,0.12);border-radius:8px;
  background:rgba(139,26,26,0.03);
}
.rank-badge-mini{
  width:44px;height:44px;border-radius:50%;
  border:2px solid rgba(196,30,30,0.3);
  background:rgba(196,30,30,0.06);
  display:flex;align-items:center;justify-content:center;
  font-size:18px;flex-shrink:0;
}
.rank-info{text-align:left}
.rank-info .rank-label{
  font-size:9px;font-weight:600;letter-spacing:2px;text-transform:uppercase;
  color:var(--text-dim);
}
.rank-info .rank-name{
  font-family:'Cinzel',serif;font-size:16px;font-weight:700;
  color:var(--blood-bright);
}
.rank-info .rank-desc{font-size:11px;color:var(--text-muted);font-weight:300;margin-top:1px}

/* Success state */
.join-success{
  display:none;text-align:center;padding:20px 0;
}
.join-success.show{display:block}
.join-success-icon{
  font-size:60px;margin-bottom:16px;
  animation:success-appear 0.6s cubic-bezier(0.23,1,0.32,1);
}
@keyframes success-appear{
  0%{transform:scale(0) rotate(-180deg);opacity:0}
  100%{transform:scale(1) rotate(0);opacity:1}
}
.join-success h3{
  font-family:'Cinzel',serif;font-size:24px;font-weight:700;
  color:var(--blood-bright);margin-bottom:8px;
}
.join-success p{font-size:13px;color:var(--text-muted);line-height:1.7;max-width:380px;margin:0 auto}

/* trust line */
.join-trust{
  font-size:11px;color:var(--text-dim);margin-top:20px;
  display:flex;align-items:center;justify-content:center;gap:6px;
}
.join-trust svg{width:12px;height:12px;opacity:0.4}

/* Expanded onboarding wizard */
.join-wizard-section{
  min-height:calc(100dvh - 68px);
  display:grid;
  align-items:center;
}
.join-wizard-section .join-inner{
  width:min(1600px,calc(100vw - 54px));
  max-width:none;
  margin:0 auto;
}
.join-wizard-section>.join-inner>.ritual-progress-expanded,
.join-wizard-section>.join-inner>.rank-live-display{display:none}
.join-wizard-section>.join-inner>.join-wizard-card{
  width:100%;
  max-width:1220px;
  min-height:0;
  margin-left:auto;
  margin-right:auto;
}
.join-server-entry{
  width:min(520px,100%);
  margin:0 auto 20px;
  display:grid;
  gap:12px;
}
.join-server-entry p{
  color:var(--text-muted);
  font-size:12px;
  line-height:1.6;
}
.join-open-auth{
  margin:0 auto;
  max-width:520px;
}
.join-icon-crest{
  border-radius:0;
  clip-path:polygon(50% 0,90% 20%,86% 78%,50% 100%,14% 78%,10% 20%);
  background:linear-gradient(145deg,rgba(84,8,14,.58),rgba(9,5,13,.9));
  border-color:rgba(201,168,76,.34);
}
.join-icon-crest img{
  width:52px;height:52px;object-fit:contain;
  filter:drop-shadow(0 0 20px rgba(255,42,42,.54));
}
.ritual-progress-expanded{
  max-width:820px;
  margin-bottom:24px;
}
.ritual-progress-expanded .ritual-step-num{
  width:48px;height:48px;
  border-radius:0;
  clip-path:polygon(50% 0,100% 28%,100% 72%,50% 100%,0 72%,0 28%);
}
.ritual-progress-expanded .ritual-connector{min-width:34px}
.rank-live-blood{
  min-width:92px;
  padding:8px 12px;
  border-left:1px solid rgba(201,168,76,.14);
  text-align:left;
}
.rank-live-blood span{
  display:block;
  font-family:'Cinzel',serif;
  color:#f5e6a3;
  font-size:20px;
  font-weight:800;
  line-height:1;
}
.rank-live-blood small{
  display:block;
  margin-top:3px;
  color:var(--text-dim);
  font-size:8px;
  letter-spacing:2px;
  text-transform:uppercase;
}
.join-wizard-card{
  max-width:980px;
  min-height:620px;
  padding:38px;
  text-align:left;
}
.join-wizard-card .step-header{text-align:center;max-width:760px;margin:0 auto 24px}
.onboarding-modal{
  position:fixed;
  inset:0;
  z-index:10060;
  display:none;
  align-items:center;
  justify-content:center;
  padding:28px;
}
.onboarding-modal.open{display:flex}
.onboarding-modal-backdrop{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 50% 18%,rgba(196,30,30,.18),transparent 34%),
    rgba(2,1,4,.82);
  backdrop-filter:blur(18px);
}
.onboarding-modal-shell{
  position:relative;
  width:min(1120px,100%);
  max-height:min(92vh,980px);
  overflow:hidden;
  border:1px solid rgba(201,168,76,.18);
  background:linear-gradient(180deg,rgba(16,8,13,.96),rgba(6,4,9,.98));
  box-shadow:0 32px 110px rgba(0,0,0,.72),0 0 80px rgba(196,30,30,.12);
  clip-path:polygon(18px 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%,0 18px);
}
.onboarding-modal-topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-height:74px;
  padding:18px 24px;
  border-bottom:1px solid rgba(201,168,76,.12);
  background:linear-gradient(90deg,rgba(92,10,15,.26),rgba(255,255,255,.018),rgba(201,168,76,.06));
}
.onboarding-modal-kicker{
  display:block;
  color:var(--blood-bright);
  font-size:9px;
  font-weight:900;
  letter-spacing:3px;
  text-transform:uppercase;
}
.onboarding-modal-topbar strong{
  display:block;
  margin-top:4px;
  color:#fff;
  font-family:'Cinzel',serif;
  font-size:20px;
}
.onboarding-modal-close{
  width:42px;
  height:42px;
  border:1px solid rgba(201,168,76,.24);
  background:rgba(201,168,76,.06);
  color:#f5e6a3;
  font-size:28px;
  line-height:1;
  cursor:pointer;
}
.onboarding-modal-close:disabled{
  opacity:.25;
  cursor:not-allowed;
}
.onboarding-modal-content{
  max-height:calc(min(92vh,980px) - 74px);
  overflow:auto;
  padding:34px 32px 42px;
}
.onboarding-modal-content .ritual-progress-expanded,
.onboarding-modal-content .rank-live-display{
  display:flex;
}
.onboarding-modal-content .join-wizard-card{
  margin-left:auto;
  margin-right:auto;
}
body.onboarding-modal-locked{overflow:hidden}
body.onboarding-modal-locked .onboarding-modal:not(.can-close) .onboarding-modal-backdrop{cursor:not-allowed}
.wizard-stage-sigil{
  position:absolute;
  inset:16px;
  pointer-events:none;
  opacity:.22;
  background:
    linear-gradient(90deg,transparent 0 9%,rgba(201,168,76,.22) 9% 9.2%,transparent 9.2% 90.8%,rgba(201,168,76,.22) 90.8% 91%,transparent 91%),
    linear-gradient(180deg,transparent 0 8%,rgba(255,42,42,.18) 8% 8.2%,transparent 8.2% 91.8%,rgba(255,42,42,.18) 91.8% 92%,transparent 92%);
  mask:linear-gradient(#000,transparent 82%);
}
.wizard-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px 18px;
}
.form-row-wide{grid-column:1/-1}
.social-reward-panel{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin:0 0 18px;
  padding:16px 18px;
  border:1px solid rgba(201,168,76,.18);
  background:linear-gradient(135deg,rgba(201,168,76,.08),rgba(117,14,19,.16),rgba(5,4,9,.72));
  clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);
}
.social-reward-label{
  display:block;
  color:var(--text-dim);
  font-size:10px;
  font-weight:900;
  letter-spacing:2px;
  text-transform:uppercase;
}
.social-reward-panel strong{
  display:block;
  margin-top:4px;
  color:#f5e6a3;
  font-family:'Cinzel',serif;
  font-size:24px;
}
.social-reward-panel p{
  color:var(--text-muted);
  font-size:14px;
  line-height:1.5;
  text-align:right;
}
.social-buttons-reward{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.social-buttons-reward .social-btn{
  min-width:0;
  min-height:96px;
  flex-direction:column;
  gap:7px;
}
.social-reward-chip{
  display:inline-flex;
  min-height:20px;
  align-items:center;
  justify-content:center;
  padding:0 8px;
  border:1px solid rgba(201,168,76,.22);
  color:#f5e6a3;
  background:rgba(201,168,76,.08);
  font-size:10px;
  letter-spacing:1px;
}
.social-btn.followed .social-reward-chip{display:none}
.legion-rules-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-bottom:18px;
}
.legion-rules-grid div{
  padding:14px;
  border:1px solid rgba(255,255,255,.06);
  background:rgba(255,255,255,.025);
}
.legion-rules-grid strong{
  display:block;
  color:#fff;
  font-family:'Cinzel',serif;
  font-size:13px;
}
.legion-rules-grid span{
  display:block;
  margin-top:6px;
  color:var(--text-muted);
  font-size:11px;
  line-height:1.55;
}
.legion-choice-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-bottom:20px;
}
.legion-choice{
  display:grid;
  grid-template-columns:82px 1fr;
  gap:14px;
  align-items:center;
  min-height:126px;
  padding:14px;
  border:1px solid color-mix(in srgb,var(--legion-accent) 30%,rgba(255,255,255,.08));
  background:
    radial-gradient(circle at 14% 30%,color-mix(in srgb,var(--legion-accent) 18%,transparent),transparent 36%),
    linear-gradient(145deg,rgba(14,8,13,.86),rgba(38,12,18,.54));
  color:var(--text);
  text-align:left;
  cursor:pointer;
  transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease;
  clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);
}
.legion-choice:hover,.legion-choice.selected{
  transform:translateY(-2px);
  border-color:color-mix(in srgb,var(--legion-accent) 68%,#fff);
  box-shadow:0 18px 48px rgba(0,0,0,.34),0 0 34px color-mix(in srgb,var(--legion-accent) 18%,transparent);
}
.legion-choice-banner{
  width:82px;
  height:104px;
  object-fit:contain;
  filter:drop-shadow(0 12px 18px rgba(0,0,0,.5)) drop-shadow(0 0 14px color-mix(in srgb,var(--legion-accent) 40%,transparent));
}
.legion-choice strong{
  display:block;
  font-family:'Cinzel',serif;
  color:#fff;
  font-size:18px;
}
.legion-choice em{
  display:block;
  margin-top:3px;
  color:color-mix(in srgb,var(--legion-accent) 78%,#f5e6a3);
  font-size:11px;
  font-style:normal;
  letter-spacing:.8px;
  text-transform:uppercase;
}
.legion-choice small{
  display:block;
  margin-top:8px;
  color:var(--text-muted);
  font-size:12px;
  line-height:1.45;
}
.legion-empty{
  grid-column:1/-1;
  padding:22px;
  border:1px solid rgba(201,168,76,.16);
  color:var(--text-muted);
  text-align:center;
}

/* Full-screen onboarding stage */
.onboarding-stage{
  padding:0;
  align-items:stretch;
  justify-content:stretch;
  overflow:auto;
  background:#040307;
}
.onboarding-stage.open{display:block}
.onboarding-stage .onboarding-modal-backdrop{
  position:fixed;
  background:
    linear-gradient(90deg,rgba(3,2,5,.95),rgba(12,6,9,.7) 38%,rgba(58,5,9,.42) 68%,rgba(3,2,5,.96)),
    linear-gradient(180deg,rgba(6,4,8,.8),rgba(18,4,7,.72) 42%,rgba(3,2,5,.94)),
    repeating-linear-gradient(90deg,rgba(255,255,255,.025) 0 1px,transparent 1px 92px),
    repeating-linear-gradient(180deg,rgba(255,42,42,.035) 0 1px,transparent 1px 72px),
    url('/assets/onboarding/dark-ritual-desk-castle.png') center center/cover no-repeat;
  backdrop-filter:none;
}
.onboarding-stage .onboarding-modal-backdrop::before,
.onboarding-stage .onboarding-modal-backdrop::after{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
}
.onboarding-stage .onboarding-modal-backdrop::before{
  background:
    linear-gradient(115deg,transparent 0 22%,rgba(201,168,76,.08) 22.2% 22.4%,transparent 22.6% 100%),
    linear-gradient(245deg,transparent 0 26%,rgba(255,42,42,.1) 26.2% 26.36%,transparent 26.6% 100%);
  opacity:.7;
}
.onboarding-stage .onboarding-modal-backdrop::after{
  background:linear-gradient(180deg,transparent,rgba(255,42,42,.08),transparent);
  height:38%;
  animation:onboarding-scan 8s linear infinite;
  mix-blend-mode:screen;
}
@keyframes onboarding-scan{
  0%{transform:translateY(-120%)}
  100%{transform:translateY(320%)}
}
.onboarding-stage-shell{
  width:100%;
  min-height:100dvh;
  max-height:none;
  border:0;
  overflow:visible;
  background:
    linear-gradient(180deg,rgba(14,8,13,.84),rgba(5,4,8,.94)),
    linear-gradient(90deg,rgba(201,168,76,.08),transparent 22%,transparent 78%,rgba(255,42,42,.07));
  box-shadow:none;
  clip-path:none;
}
.onboarding-stage-topbar{
  position:sticky;
  top:0;
  z-index:6;
  min-height:78px;
  padding:10px clamp(18px,3vw,56px);
  background:
    linear-gradient(90deg,rgba(7,5,9,.98),rgba(48,9,15,.96),rgba(10,8,12,.98));
  border-bottom:1px solid rgba(201,168,76,.2);
  box-shadow:0 14px 42px rgba(0,0,0,.44),0 1px 0 rgba(255,255,255,.04) inset;
}
.onboarding-stage-topbar>div:first-child{
  min-width:300px;
}
.onboarding-stage .onboarding-modal-kicker{
  font-size:11px;
  letter-spacing:3.4px;
}
.onboarding-stage .onboarding-modal-topbar strong{
  font-size:20px;
  letter-spacing:.4px;
}
.onboarding-stage-status{
  flex:1;
  display:flex;
  justify-content:flex-end;
  min-width:0;
}
.onboarding-stage-status .rank-live-display{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  width:min(400px,100%);
  min-height:58px;
  margin:0;
  padding:8px 12px;
  border-color:rgba(201,168,76,.2);
  background:
    linear-gradient(100deg,rgba(255,42,42,.16),rgba(12,8,12,.92) 54%,rgba(201,168,76,.1));
  box-shadow:0 0 28px rgba(255,42,42,.08),inset 0 1px 0 rgba(255,255,255,.04);
}
.onboarding-stage-status .rank-live-icon{
  width:40px;
  font-size:22px;
}
.onboarding-stage-status .rank-live-label{
  font-size:9px;
  letter-spacing:2px;
}
.onboarding-stage-status .rank-live-name{
  display:block;
  max-width:100%;
  font-size:15px;
  line-height:1.02;
  overflow-wrap:anywhere;
}
.onboarding-stage-status .rank-live-blood span{
  font-size:25px;
}
.onboarding-stage .onboarding-modal-close{
  flex:0 0 auto;
}
.onboarding-stage-content{
  min-height:calc(100dvh - 78px);
  max-height:calc(100dvh - 78px);
  overflow:auto;
  width:min(1380px,calc(100% - 32px));
  margin:0 auto;
  padding:12px 0 36px;
  display:grid;
  align-content:center;
  justify-items:center;
}
.onboarding-stage-content .ritual-progress-expanded{
  display:flex;
  width:100%;
  max-width:1180px;
  margin:0 auto 12px;
  justify-content:center;
}
.onboarding-stage-content .ritual-progress-expanded .ritual-step{
  min-width:66px;
}
.onboarding-stage-content .ritual-progress-expanded .ritual-step-num{
  width:42px;
  height:42px;
  font-size:14px;
}
.onboarding-stage-content .ritual-progress-expanded .ritual-step-label{
  margin-top:5px;
  font-size:9px;
  letter-spacing:2px;
}
.onboarding-stage-content .ritual-progress-expanded .ritual-connector{
  flex:1 1 118px;
  max-width:160px;
  margin-bottom:22px;
}
.onboarding-stage-content .join-wizard-card{
  width:100%;
  max-width:1320px;
  min-height:0;
  margin:0 auto;
  padding:clamp(22px,2.4vw,36px);
  background:
    linear-gradient(180deg,rgba(28,10,15,.78),rgba(10,7,10,.92)),
    repeating-linear-gradient(90deg,rgba(255,255,255,.025) 0 1px,transparent 1px 84px),
    repeating-linear-gradient(180deg,rgba(201,168,76,.035) 0 1px,transparent 1px 72px);
  border-color:rgba(201,168,76,.22);
  box-shadow:0 28px 90px rgba(0,0,0,.48),0 0 70px rgba(255,42,42,.08),inset 0 1px 0 rgba(255,255,255,.04);
}
.onboarding-stage-content .form-step-active{
  display:grid;
  align-content:center;
}
.onboarding-stage-content .form-step-active#form-step-2{
  min-height:min(520px,calc(100dvh - 260px));
}
.onboarding-stage-content .step-header{
  margin-bottom:18px;
}
.onboarding-stage-content .step-title{
  margin:10px 0 8px;
}
.onboarding-stage-content .wizard-form-grid{
  gap:12px 16px;
}
.onboarding-stage-content .form-row{
  margin-bottom:8px;
}
.onboarding-stage-content .form-row label{
  margin-bottom:7px;
  font-size:11px;
  letter-spacing:3.6px;
}
.onboarding-stage-content .form-row input,
.onboarding-stage-content .form-row textarea,
.onboarding-stage-content .form-row select{
  min-height:52px;
  padding:12px 18px;
  font-size:16px;
}
.onboarding-stage-content .wizard-google-entry{
  margin:12px 0 14px;
  padding:12px 14px;
}
.onboarding-stage-content .wizard-google-entry__label{
  margin-bottom:8px;
  font-size:9px;
}
.onboarding-stage-content .join-submit{
  min-height:56px;
  padding:14px 20px;
  font-size:13px;
  letter-spacing:3px;
}
.onboarding-stage-content .step-unlocks{
  margin:16px 0 18px;
  padding:14px;
}
.onboarding-stage-content .step-unlocks-title{
  margin-bottom:10px;
  font-size:10px;
}
.onboarding-stage-content .step-unlock-items{
  gap:10px;
}
.onboarding-stage-content .step-unlock-item{
  min-height:72px;
  grid-template-columns:40px minmax(0,1fr);
  padding:10px;
}
.onboarding-stage-content .step-unlock-item::before{
  width:36px;
  height:36px;
  font-size:15px;
}
.onboarding-stage-content .step-unlock-item::after{
  inset:auto 10px 0 50px;
}
.onboarding-stage-content .step-unlock-item strong{
  font-size:clamp(15px,1vw,18px);
}
.onboarding-stage-content .step-unlock-item small{
  font-size:12px;
  line-height:1.35;
}
.onboarding-stage-content .join-wizard-card::before{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(255,42,42,.08),transparent);
  opacity:.45;
}
.onboarding-stage-content .step-header{
  max-width:980px;
}
.legion-stage{
  position:relative;
  z-index:1;
}
.legion-stage-hero{
  display:grid;
  grid-template-columns:minmax(0,880px);
  gap:18px;
  align-items:end;
  margin-bottom:14px;
}
.legion-stage-hero .step-header{
  text-align:left;
  margin:0;
}
.legion-stage-hero .step-title{
  font-size:clamp(30px,3.2vw,50px);
  line-height:.95;
}
.legion-stage-hero .step-desc{
  max-width:860px;
  font-size:15px;
}
.legion-weekly-note{
  display:block;
  margin-top:6px;
  color:#f5d36d;
  font-size:.82em;
  font-weight:800;
  letter-spacing:.8px;
}
.legion-stage-hero .legion-rules-grid{
  grid-template-columns:1fr;
  margin:0;
}
.legion-stage-hero .legion-rules-grid div{
  min-height:74px;
  background:linear-gradient(120deg,rgba(255,255,255,.035),rgba(201,168,76,.04));
}
.legion-command{
  display:grid;
  grid-template-columns:minmax(190px,260px) 1fr;
  gap:20px;
  align-items:center;
  margin:0 0 14px;
  padding:16px;
  border:1px solid color-mix(in srgb,var(--legion-accent) 46%,rgba(255,255,255,.1));
  background:
    radial-gradient(circle at 18% 50%,color-mix(in srgb,var(--legion-accent) 24%,transparent),transparent 42%),
    linear-gradient(135deg,color-mix(in srgb,var(--legion-accent) 16%,rgba(18,10,14,.92)),rgba(6,5,8,.94));
  box-shadow:0 24px 80px rgba(0,0,0,.42),0 0 70px color-mix(in srgb,var(--legion-accent) 14%,transparent),inset 0 1px 0 rgba(255,255,255,.05);
  clip-path:polygon(22px 0,100% 0,100% calc(100% - 22px),calc(100% - 22px) 100%,0 100%,0 22px);
}
.legion-command-banner{
  position:relative;
  min-height:210px;
  display:grid;
  place-items:center;
}
.legion-command-banner::before{
  content:'';
  position:absolute;
  inset:16% 8%;
  border:1px solid color-mix(in srgb,var(--legion-accent) 42%,transparent);
  transform:skewX(-8deg);
  opacity:.65;
}
.legion-command-banner img{
  position:relative;
  z-index:1;
  max-width:100%;
  max-height:245px;
  object-fit:contain;
  filter:drop-shadow(0 24px 22px rgba(0,0,0,.62)) drop-shadow(0 0 28px color-mix(in srgb,var(--legion-accent) 42%,transparent));
  animation:legion-banner-breathe 4.8s ease-in-out infinite;
}
@keyframes legion-banner-breathe{
  0%,100%{transform:translateY(0) scale(1)}
  50%{transform:translateY(-8px) scale(1.018)}
}
.legion-command-kicker{
  color:var(--blood-bright);
  font-size:10px;
  font-weight:900;
  letter-spacing:3px;
  text-transform:uppercase;
}
.legion-command-copy h4{
  margin:8px 0 6px;
  color:#fff;
  font-family:'Cinzel Decorative','Cinzel',serif;
  font-size:clamp(30px,3.4vw,52px);
  line-height:.9;
}
.legion-command-motto{
  color:color-mix(in srgb,var(--legion-accent) 76%,#f5e6a3);
  font-size:14px;
  font-weight:800;
  letter-spacing:2px;
  text-transform:uppercase;
}
.legion-command-desc{
  max-width:680px;
  margin:12px 0 0;
  color:var(--text-muted);
  font-size:13px;
  line-height:1.45;
}
.legion-command-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:24px 0 18px;
}
.legion-command-stats span{
  min-height:72px;
  padding:14px;
  border:1px solid color-mix(in srgb,var(--legion-accent) 30%,rgba(255,255,255,.08));
  background:rgba(0,0,0,.22);
  color:var(--text-muted);
  font-size:10px;
  font-weight:900;
  letter-spacing:1.5px;
  text-transform:uppercase;
}
.legion-command-stats b{
  display:block;
  margin-bottom:5px;
  color:#f5e6a3;
  font-family:'Cinzel',serif;
  font-size:26px;
  letter-spacing:0;
}
.legion-command-actions{
  display:block;
  margin-top:14px;
}
.legion-command-oath{
  margin:0;
  min-height:48px;
}
.legion-command-link{
  display:inline-flex;
  width:auto;
  min-height:58px;
  padding:12px 18px;
}
.legion-stage .legion-choice-grid{
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
}
.legion-stage .legion-choice{
  position:relative;
  grid-template-columns:1fr;
  place-items:center;
  min-height:150px;
  padding:10px 8px;
  text-align:center;
  overflow:hidden;
}
.legion-stage .legion-choice::after{
  content:'';
  position:absolute;
  inset:auto 14px 10px;
  height:2px;
  background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--legion-accent) 76%,#fff),transparent);
  transform:scaleX(.35);
  opacity:.45;
  transition:transform .24s ease,opacity .24s ease;
}
.legion-stage .legion-choice:hover::after,
.legion-stage .legion-choice.is-previewed::after,
.legion-stage .legion-choice.selected::after{
  transform:scaleX(1);
  opacity:1;
}
.legion-stage .legion-choice.is-previewed{
  border-color:color-mix(in srgb,var(--legion-accent) 54%,#fff);
}
.legion-stage .legion-choice.selected{
  background:
    radial-gradient(circle at 50% 18%,color-mix(in srgb,var(--legion-accent) 30%,transparent),transparent 44%),
    linear-gradient(180deg,color-mix(in srgb,var(--legion-accent) 18%,rgba(30,10,14,.92)),rgba(9,6,9,.96));
}
.legion-stage .legion-choice-banner{
  width:100%;
  height:86px;
}
.legion-stage .legion-choice strong{
  font-size:15px;
}
.legion-stage .legion-choice em{
  min-height:26px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:8px;
}
.welcome-collectible{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(300px,420px) 1fr;
  gap:34px;
  align-items:center;
  margin:8px 0 22px;
  padding:22px;
  border:1px solid rgba(245,230,163,.12);
  background:
    radial-gradient(circle at 18% 28%,rgba(245,230,163,.12),transparent 34%),
    radial-gradient(circle at 74% 48%,rgba(47,217,104,.09),transparent 36%),
    linear-gradient(135deg,rgba(8,5,10,.78),rgba(63,12,18,.34));
  box-shadow:0 28px 90px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.045);
  clip-path:polygon(18px 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%,0 18px);
}
.welcome-collectible::before{
  content:'';
  position:absolute;
  inset:12px;
  border:1px solid rgba(255,255,255,.045);
  pointer-events:none;
  clip-path:inherit;
}
.welcome-collectible-art{
  position:relative;
  aspect-ratio:4/3;
  overflow:hidden;
  border:1px solid rgba(201,168,76,.22);
  background:linear-gradient(145deg,rgba(8,4,9,.86),rgba(58,12,18,.42));
  box-shadow:0 22px 58px rgba(0,0,0,.34),0 0 38px rgba(201,168,76,.08);
  clip-path:polygon(18px 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%,0 18px);
}
.welcome-collectible-art img{width:100%;height:100%;object-fit:cover;display:block;filter:contrast(1.08) saturate(1.04)}
.welcome-collectible-art::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 42%,rgba(0,0,0,.52)),radial-gradient(circle at 18% 8%,rgba(201,168,76,.26),transparent 42%);
}
.welcome-collectible-copy{
  position:relative;
  z-index:1;
  min-width:0;
}
.imm-rarity-badge.welcome-rarity-badge{
  --rarity-color:#dfe3ea;
  --rarity-bg:rgba(223,227,234,.09);
  --rarity-line:rgba(223,227,234,.28);
  --rarity-glow:rgba(223,227,234,.24);
  position:relative;
  isolation:isolate;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  width:max-content;
  max-width:100%;
  padding:8px 15px;
  border:1px solid var(--rarity-line);
  border-radius:6px;
  background:linear-gradient(135deg,var(--rarity-bg),rgba(255,255,255,.035)),radial-gradient(ellipse at 50% 105%,var(--rarity-glow),transparent 62%);
  box-shadow:0 0 26px color-mix(in srgb,var(--rarity-color) 17%,transparent),inset 0 1px 0 rgba(255,255,255,.075);
  color:var(--rarity-color);
  font:900 10px/1 Inter,system-ui,sans-serif;
  letter-spacing:2.2px;
  text-transform:uppercase;
  text-shadow:0 0 12px color-mix(in srgb,var(--rarity-color) 35%,transparent),0 1px 0 rgba(0,0,0,.78);
}
.imm-rarity-badge.welcome-rarity-badge::before{
  content:'';
  width:7px;
  height:7px;
  flex:0 0 auto;
  margin:0 8px 0 0;
  border-radius:50%;
  background:var(--rarity-color);
  box-shadow:0 0 9px var(--rarity-color),0 0 18px var(--rarity-glow);
}
.imm-rarity-badge.welcome-rarity-badge::after{
  content:'';
  position:absolute;
  left:10%;
  right:10%;
  bottom:-7px;
  height:8px;
  z-index:-1;
  background:radial-gradient(ellipse at center,var(--rarity-glow),transparent 70%);
  filter:blur(5px);
  opacity:.72;
  pointer-events:none;
}
.welcome-rarity-badge .imm-rarity-badge__label{
  position:relative;
  z-index:1;
  transform:translateY(.5px);
}
.welcome-rarity-badge.rarity-rare{--rarity-color:#7fc8ff;--rarity-bg:rgba(82,169,255,.12);--rarity-line:rgba(127,200,255,.36);--rarity-glow:rgba(82,169,255,.34)}
.welcome-rarity-badge.rarity-epic{--rarity-color:#c18cff;--rarity-bg:rgba(170,92,255,.13);--rarity-line:rgba(193,140,255,.38);--rarity-glow:rgba(170,92,255,.36)}
.welcome-rarity-badge.rarity-legendary{--rarity-color:#f5d36d;--rarity-bg:rgba(201,168,76,.14);--rarity-line:rgba(245,211,109,.42);--rarity-glow:rgba(245,211,109,.35)}
.welcome-rarity-badge.rarity-mythic{--rarity-color:#ff8a2a;--rarity-bg:rgba(255,122,31,.14);--rarity-line:rgba(255,138,42,.43);--rarity-glow:rgba(255,122,31,.38)}
.welcome-collectible-copy h4{
  margin:18px 0 12px;
  color:#fff;
  font-family:'Cinzel',serif;
  font-size:clamp(38px,4.1vw,66px);
  line-height:.98;
  text-wrap:balance;
  text-shadow:0 0 30px rgba(255,42,42,.18),0 2px 0 rgba(0,0,0,.55);
}
.welcome-collectible-copy p{
  max-width:780px;
  margin:0;
  color:#d2cbd6;
  font-size:18px;
  line-height:1.62;
}
.welcome-offer-panel{
  display:grid;
  grid-template-columns:minmax(150px,.9fr) minmax(170px,1fr) minmax(230px,1.3fr);
  gap:12px;
  margin-top:24px;
}
.welcome-price-card{
  position:relative;
  min-height:110px;
  padding:18px;
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.018));
  overflow:visible;
  clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);
}
.welcome-price-card span,
.welcome-price-card small{
  display:block;
  color:#a49baa;
  font-size:11px;
  font-weight:900;
  letter-spacing:1.9px;
  line-height:1.25;
  text-transform:uppercase;
}
.welcome-price-card small{
  margin-top:10px;
  color:#d8cfbf;
  font-size:10px;
  letter-spacing:1.4px;
}
.welcome-price-card strong{
  display:block;
  margin-top:11px;
  color:#f5e6a3;
  font-family:'Cinzel',serif;
  font-size:clamp(26px,2.4vw,38px);
  line-height:1;
  letter-spacing:0;
  text-transform:none;
}
.welcome-price-card strong b{
  font:inherit;
}
.welcome-price-card--original strong{
  color:#817884;
  text-decoration:line-through;
  text-decoration-thickness:2px;
  text-decoration-color:#ff3030;
  text-shadow:none;
}
.welcome-price-card--free{
  border-color:rgba(255,42,42,.36);
  background:linear-gradient(145deg,rgba(134,18,21,.62),rgba(46,8,12,.46));
  box-shadow:0 0 32px rgba(255,42,42,.16),inset 0 1px 0 rgba(255,255,255,.06);
}
.welcome-price-card--free strong{
  color:#fff;
  font-size:clamp(50px,4.6vw,78px);
  text-shadow:0 0 28px rgba(255,42,42,.42),0 3px 0 rgba(0,0,0,.58);
}
.welcome-price-card--value{
  border-color:rgba(78,255,150,.28);
  background:radial-gradient(circle at 50% 10%,rgba(78,255,150,.14),transparent 56%),linear-gradient(145deg,rgba(28,58,34,.52),rgba(14,18,15,.48));
  box-shadow:0 0 34px rgba(78,255,150,.1),inset 0 1px 0 rgba(255,255,255,.06);
}
.welcome-price-card--value strong{
  color:#dfffe8;
  font-size:clamp(42px,4vw,66px);
  text-shadow:0 0 24px rgba(70,255,146,.34),0 2px 0 rgba(0,0,0,.55);
}
.welcome-price-card--achievement{
  grid-column:1/-1;
  min-height:78px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  border-color:rgba(245,230,163,.16);
  background:linear-gradient(90deg,rgba(245,230,163,.075),rgba(255,255,255,.035),rgba(255,42,42,.055));
}
.welcome-price-card--achievement strong{
  margin:0;
  color:#fff;
  font-size:30px;
}
.collection-value-counter{
  position:relative;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  width:max-content;
  min-width:2.5ch;
  overflow:visible;
  transform:translateZ(0);
  will-change:transform,color,text-shadow;
}
.collection-value-counter.is-counter-increase{
  animation:realtime-counter-rise .72s cubic-bezier(.18,.86,.28,1);
  color:#dfffe8!important;
  text-shadow:0 0 18px rgba(70,255,146,.55),0 0 36px rgba(48,201,105,.28)!important;
}
.collection-value-counter.is-counter-increase::before,
.collection-value-counter.is-counter-increase::after{
  position:absolute;
  left:50%;
  pointer-events:none;
  transform:translateX(-50%);
  white-space:nowrap;
}
.collection-value-counter.is-counter-increase::before{
  content:'';
  top:-20px;
  width:0;
  height:0;
  border-right:7px solid transparent;
  border-left:7px solid transparent;
  border-bottom:13px solid #61ff9a;
  filter:drop-shadow(0 0 10px rgba(79,255,147,.72)) blur(.1px);
  animation:realtime-counter-arrow .82s ease-out both;
}
.collection-value-counter.is-counter-increase::after{
  content:attr(data-counter-delta);
  top:-34px;
  border:1px solid rgba(97,255,154,.38);
  border-radius:999px;
  background:rgba(12,42,22,.72);
  box-shadow:0 0 24px rgba(44,220,104,.22);
  color:#caffe0;
  padding:3px 8px;
  font-family:Inter,system-ui,sans-serif;
  font-size:11px;
  font-weight:900;
  letter-spacing:.4px;
  line-height:1.2;
  animation:realtime-counter-delta .82s ease-out both;
}
@keyframes realtime-counter-rise{
  0%{transform:translateY(0) scale(1)}
  36%{transform:translateY(-7px) scale(1.06)}
  100%{transform:translateY(0) scale(1)}
}
@keyframes realtime-counter-arrow{
  0%{opacity:0;transform:translate(-50%,8px) scale(.82)}
  20%{opacity:1}
  100%{opacity:0;transform:translate(-50%,-7px) scale(1)}
}
@keyframes realtime-counter-delta{
  0%{opacity:0;transform:translate(-50%,8px) scale(.88)}
  18%{opacity:1}
  100%{opacity:0;transform:translate(-50%,-10px) scale(1)}
}
.wizard-action-row{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:1fr auto;
  gap:12px;
  align-items:stretch;
}
.wizard-action-row .join-submit:only-child{
  grid-column:1/-1;
}
.wizard-secondary-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:0 18px;
  border:1px solid rgba(201,168,76,.24);
  color:#f5e6a3;
  background:rgba(201,168,76,.05);
  text-decoration:none;
  font-size:10px;
  font-weight:900;
  letter-spacing:2px;
  text-transform:uppercase;
  cursor:pointer;
  clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);
}
.wizard-secondary-button{font-family:'Inter',sans-serif}
.collection-value-map{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  margin:36px 0 32px;
}
.collection-value-map div{
  position:relative;
  min-height:260px;
  padding:30px 26px 26px;
  overflow:hidden;
  border:1px solid rgba(201,168,76,.22);
  background:
    radial-gradient(circle at 18% 0%,rgba(255,42,42,.18),transparent 38%),
    linear-gradient(145deg,rgba(36,12,19,.84),rgba(13,8,14,.82));
  box-shadow:0 22px 64px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.055);
  clip-path:polygon(18px 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%,0 18px);
  transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease;
}
.collection-value-map div::before{
  content:attr(data-value-mark);
  position:absolute;
  right:18px;
  top:12px;
  color:rgba(245,230,163,.08);
  font-family:'Cinzel Decorative','Cinzel',serif;
  font-size:92px;
  font-weight:900;
  line-height:1;
}
.collection-value-map div::after{
  content:'';
  position:absolute;
  left:24px;
  right:24px;
  bottom:18px;
  height:2px;
  background:linear-gradient(90deg,#ff2a2a,rgba(245,230,163,.48),transparent);
  box-shadow:0 0 18px rgba(255,42,42,.18);
}
.collection-value-map div:hover{
  transform:translateY(-4px);
  border-color:rgba(245,230,163,.36);
  box-shadow:0 30px 82px rgba(0,0,0,.46),0 0 42px rgba(255,42,42,.12);
}
.collection-value-map span{
  position:relative;
  color:#ff3636;
  font-size:12px;
  font-weight:900;
  letter-spacing:3.4px;
  text-transform:uppercase;
}
.collection-value-map strong{
  position:relative;
  display:block;
  margin-top:28px;
  color:#fff;
  font-family:'Cinzel',serif;
  font-size:clamp(28px,2vw,38px);
  line-height:1.02;
  text-shadow:0 12px 32px rgba(0,0,0,.6);
}
.collection-value-map small{
  position:relative;
  display:block;
  margin-top:18px;
  color:#c7bcc8;
  font-size:16px;
  line-height:1.55;
}
.pact-choice-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-bottom:18px;
}
.pact-choice{
  position:relative;
  min-height:190px;
  padding:20px 16px;
  border:1px solid rgba(201,168,76,.16);
  background:linear-gradient(145deg,rgba(12,6,10,.9),rgba(68,13,18,.42));
  color:var(--text);
  text-align:left;
  cursor:pointer;
  transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease;
  clip-path:polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px);
}
.pact-choice:hover,.pact-choice.selected{
  transform:translateY(-2px);
  border-color:rgba(245,211,109,.72);
  box-shadow:0 20px 56px rgba(0,0,0,.38),0 0 36px rgba(201,168,76,.16);
}
.pact-choice.is-featured{
  border-color:rgba(255,42,42,.46);
  background:linear-gradient(145deg,rgba(89,12,16,.76),rgba(10,6,10,.9));
}
.pact-choice strong{
  display:block;
  margin-top:30px;
  color:#fff;
  font-family:'Cinzel',serif;
  font-size:28px;
}
.pact-choice em{
  display:block;
  margin-top:9px;
  color:#f5e6a3;
  font-style:normal;
  font-size:13px;
  font-weight:900;
  letter-spacing:1px;
  text-transform:uppercase;
}
.pact-choice small{
  display:block;
  margin-top:14px;
  color:var(--text-muted);
  font-size:15px;
  line-height:1.55;
}
.pact-choice-once{filter:saturate(.78)}
.pact-star::before{
  content:'★';
  position:absolute;
  top:14px;
  right:14px;
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  color:#f5d36d;
  border:1px solid rgba(245,211,109,.32);
  background:rgba(245,211,109,.08);
  box-shadow:0 0 18px rgba(245,211,109,.22);
}

#form-step-4 .step-header{
  margin-bottom:20px;
}
#form-step-4 .step-title{
  font-size:clamp(34px,2.8vw,52px);
}
#form-step-4 .step-desc{
  max-width:820px;
  font-size:clamp(16px,1vw,20px);
  line-height:1.5;
}
#form-step-4 .welcome-collectible{
  gap:28px;
  padding:26px;
}
#form-step-4 .welcome-collectible-art{
  min-height:260px;
}
#form-step-4 .welcome-collectible-copy h4{
  margin-top:12px;
  font-size:clamp(32px,3.1vw,52px);
}
#form-step-4 .welcome-collectible-copy p{
  font-size:16px;
  line-height:1.5;
}
#form-step-4 .welcome-offer-panel{
  margin-top:18px;
  gap:10px;
}
#form-step-4 .welcome-price-card{
  min-height:96px;
  padding:15px;
}
#form-step-4 .welcome-price-card--free strong{
  font-size:clamp(42px,3.6vw,62px);
}
#form-step-4 .welcome-price-card--value strong{
  font-size:clamp(36px,3.3vw,56px);
}
#form-step-4 .step-unlocks{
  margin:18px 0 20px;
  padding:14px;
}
#form-step-4 .step-unlock-item{
  min-height:78px;
}
#form-step-5 .step-title{
  font-size:clamp(36px,3vw,56px);
}
#form-step-5 .step-desc{
  max-width:880px;
  font-size:clamp(17px,1.05vw,21px);
}
#form-step-5 .collection-value-map{
  gap:14px;
  margin:28px 0 26px;
}
#form-step-5 .collection-value-map div{
  min-height:220px;
  padding:26px 24px 24px;
}
#form-step-5 .collection-value-map div::before{
  font-size:78px;
}
#form-step-5 .collection-value-map strong{
  font-size:clamp(25px,1.7vw,34px);
}
#form-step-5 .collection-value-map small{
  font-size:15px;
}

.collection-unlock-modal{
  position:fixed;
  inset:0;
  z-index:10050;
  display:grid;
  place-items:center;
  padding:22px;
  background:radial-gradient(circle at 50% 38%,rgba(120,16,22,.34),rgba(3,3,6,.88) 54%,rgba(3,3,6,.96));
  opacity:0;
  pointer-events:none;
  transition:opacity .24s ease;
}
.collection-unlock-modal.is-open{opacity:1;pointer-events:auto}
.collection-unlock-modal__panel{
  position:relative;
  width:min(620px,100%);
  padding:34px;
  overflow:hidden;
  border:1px solid rgba(245,211,109,.24);
  background:
    linear-gradient(rgba(245,230,163,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(245,230,163,.035) 1px,transparent 1px),
    radial-gradient(circle at 50% 0%,rgba(255,42,42,.2),transparent 44%),
    linear-gradient(145deg,rgba(37,13,18,.96),rgba(9,7,12,.96));
  background-size:28px 28px,28px 28px,100% 100%,100% 100%;
  box-shadow:0 38px 120px rgba(0,0,0,.68),0 0 70px rgba(255,42,42,.18),inset 0 1px 0 rgba(255,255,255,.06);
  clip-path:polygon(22px 0,100% 0,100% calc(100% - 22px),calc(100% - 22px) 100%,0 100%,0 22px);
}
.collection-unlock-modal__close{
  position:absolute;
  top:14px;
  right:14px;
  width:38px;
  height:38px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  color:#f5e6a3;
  font-size:26px;
  line-height:1;
  cursor:pointer;
}
.collection-unlock-modal__kicker{display:block;color:#ff3636;font-size:11px;font-weight:900;letter-spacing:3.5px;text-transform:uppercase}
.collection-unlock-modal h3{margin:12px 0;color:#fff;font-family:'Cinzel',serif;font-size:clamp(32px,3.2vw,48px);line-height:1.04}
.collection-unlock-modal p{margin:0;color:#d0c7d2;font-size:16px;line-height:1.65}
.collection-unlock-modal__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:24px 0}
.collection-unlock-modal__stats span{min-height:92px;padding:14px;border:1px solid rgba(255,255,255,.09);background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,42,42,.06))}
.collection-unlock-modal__stats small{display:block;color:#a49baa;font-size:10px;font-weight:900;letter-spacing:2px;text-transform:uppercase}
.collection-unlock-modal__stats strong{display:block;margin-top:12px;color:#f5e6a3;font-family:'Cinzel',serif;font-size:34px}
.collection-unlock-modal__actions{display:grid;grid-template-columns:1fr auto;gap:10px}
.collection-unlock-modal__cta,
.collection-unlock-modal__secondary{
  min-height:58px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 18px;
  border:1px solid rgba(255,42,42,.38);
  color:#fff;
  background:linear-gradient(135deg,#7c1013,#ef2428);
  font-size:11px;
  font-weight:900;
  letter-spacing:2.5px;
  text-transform:uppercase;
  text-decoration:none;
  cursor:pointer;
  clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);
}
.collection-unlock-modal__secondary{min-width:160px;border-color:rgba(201,168,76,.22);color:#d8cfbf;background:rgba(255,255,255,.04)}

@media(max-width:980px){
  .auth-stage{min-height:calc(100vh - 28px);padding-top:112px}
  .auth-werewolf{top:-24px;width:min(78vw,590px);height:310px;opacity:.9}
  .auth-modal{max-width:min(100%,610px)}
  .onboarding-modal{padding:14px}
  .onboarding-modal-content{padding:24px 16px 30px}
  .onboarding-modal-topbar{padding:16px 18px}
  .onboarding-stage{padding:0}
  .onboarding-stage-topbar{
    position:relative;
    flex-wrap:wrap;
    min-height:0;
    padding:16px;
  }
  .onboarding-stage-status{
    order:3;
    flex-basis:100%;
    min-width:0;
    justify-content:flex-start;
  }
  .onboarding-stage-status .rank-live-display{width:100%}
  .onboarding-stage-content{
    width:min(100% - 20px,860px);
    padding:26px 0 48px;
    align-content:start;
  }
  .onboarding-stage-content .join-wizard-card{padding:34px 24px}
  .legion-stage-hero,
  .legion-command{grid-template-columns:1fr}
  .legion-command-banner{min-height:260px}
  .legion-command-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
  .legion-stage .legion-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .join-wizard-card{padding:28px 22px}
  .ritual-progress-expanded{max-width:100%;overflow-x:auto;justify-content:flex-start;padding-bottom:8px}
  .ritual-progress-expanded .ritual-step{min-width:58px}
  .ritual-progress-expanded .ritual-connector{min-width:28px;flex:0 0 34px}
  .wizard-form-grid,.welcome-collectible{grid-template-columns:1fr}
  .welcome-offer-panel{grid-template-columns:repeat(2,minmax(0,1fr))}
  .welcome-price-card--value,
  .welcome-price-card--achievement{grid-column:1/-1}
  .social-buttons-reward,.collection-value-map,.pact-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .collection-value-map div{min-height:230px}
  .legion-choice-grid,.legion-rules-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
  .auth-overlay{padding:10px;align-items:flex-start}
  .auth-stage{min-height:calc(100vh - 20px);place-items:start center;padding-top:88px}
  .auth-werewolf{top:-34px;left:50%;width:min(122vw,470px);height:232px;opacity:.58;filter:drop-shadow(0 22px 36px rgba(0,0,0,.9)) drop-shadow(0 0 24px rgba(255,42,42,.18))}
  .auth-embers span{height:84px}
  .auth-modal{margin-top:0;max-height:calc(100vh - 20px);overflow-x:hidden;overflow-y:auto;padding:24px 16px;transform:none}
  .auth-crest{margin-top:0}
  .auth-crest-mark{width:54px;height:54px;font-size:24px}
  .auth-crest h3{font-size:24px}
  .auth-tabs{gap:6px}
  .auth-tab{padding:12px 8px;font-size:10px;letter-spacing:1.7px}
  .auth-actions{display:grid;grid-template-columns:1fr;gap:8px}
  .google-login-btn{font-size:10px;letter-spacing:1.4px;padding:0 10px}
  .join-section{padding:82px 14px}
  .onboarding-modal{padding:0;align-items:stretch}
  .onboarding-stage{padding:0}
  .onboarding-modal-shell{
    width:100%;
    max-height:100vh;
    min-height:100vh;
    clip-path:none;
    border-left:0;
    border-right:0;
  }
  .onboarding-modal-content{max-height:calc(100vh - 72px);padding:22px 16px 32px}
  .onboarding-stage-content{
    max-height:calc(100dvh - 72px);
    min-height:calc(100dvh - 72px);
    overflow:auto;
    width:calc(100% - 16px);
    padding:16px 0 34px;
    align-content:start;
  }
  .onboarding-modal-topbar{min-height:72px}
  .onboarding-stage-topbar{
    min-height:0;
    gap:12px;
  }
  .onboarding-modal-topbar strong{font-size:16px}
  .onboarding-stage-status .rank-live-display{
    grid-template-columns:auto 1fr;
  }
  .onboarding-stage-status .rank-live-blood{
    grid-column:1/-1;
  }
  .onboarding-stage-content .join-wizard-card{min-height:0;padding:28px 16px}
  .step-title{font-size:35px}
  .step-desc{font-size:17px;line-height:1.6}
  .step-number{font-size:10px;letter-spacing:2.2px}
  .legion-stage-hero .step-title{font-size:36px}
  .legion-command{padding:18px}
  .legion-command-banner{min-height:220px}
  .legion-command-copy h4{font-size:38px}
  .legion-command-desc{font-size:14px}
  .legion-command-stats{grid-template-columns:1fr}
  .legion-command-actions{grid-template-columns:1fr}
  .legion-stage .legion-choice-grid{grid-template-columns:1fr}
  .legion-stage .legion-choice{min-height:190px}
  .legion-stage .legion-choice-banner{height:120px}
  .join-wizard-card{min-height:0;padding:24px 16px}
  .ritual-progress-expanded{justify-content:center;overflow:visible;padding-bottom:0}
  .ritual-progress-expanded .ritual-step{min-width:44px;flex:0 0 44px}
  .ritual-progress-expanded .ritual-step-num{width:38px;height:38px;font-size:13px}
  .ritual-progress-expanded .ritual-step-label{font-size:7px;letter-spacing:1px}
  .ritual-progress-expanded .ritual-connector{min-width:8px;flex:1 1 8px;margin-bottom:17px}
  .rank-live-display{align-items:stretch;gap:10px;flex-wrap:wrap}
  .rank-live-blood{border-left:0;border-top:1px solid rgba(201,168,76,.14);width:100%;text-align:center}
  .form-row label{font-size:12px;letter-spacing:3px}
  .form-row input,.form-row textarea,.form-row select{min-height:58px;padding:14px 16px;font-size:16px;letter-spacing:.6px}
  .wizard-google-entry{padding:14px}
  .wizard-google-btn{grid-template-columns:38px 1fr;min-height:66px;padding:12px}
  .wizard-google-mark{width:38px;height:38px;font-size:22px}
  .wizard-google-copy strong{font-size:11px;letter-spacing:1.5px}
  .wizard-google-copy small{font-size:11px}
  .step-unlocks{padding:14px;margin:20px 0 24px}
  .step-unlock-items{grid-template-columns:1fr}
  .step-unlock-item{min-height:86px;padding:13px}
  .social-buttons-reward,.collection-value-map,.pact-choice-grid{grid-template-columns:1fr}
  .collection-value-map{gap:14px;margin:28px 0 26px}
  .collection-value-map div{min-height:210px;padding:24px 20px 24px}
  .collection-value-map div::before{font-size:72px;right:14px}
  .collection-value-map strong{font-size:29px;margin-top:22px}
  .collection-value-map small{font-size:15px;line-height:1.5}
  .legion-choice{grid-template-columns:64px 1fr;min-height:112px;padding:12px}
  .legion-choice-banner{width:64px;height:86px}
  .wizard-action-row{grid-template-columns:1fr}
  .welcome-collectible{padding:16px;gap:22px}
  .welcome-offer-panel{grid-template-columns:1fr}
  .welcome-price-card{min-height:94px}
  .welcome-price-card--achievement{display:grid;justify-items:start}
  .welcome-collectible-copy h4{font-size:34px}
  .welcome-collectible-copy p{font-size:15px}
}

/* MURO DE LOS ETERNOS */
.muro-section{
  position:relative;z-index:1;padding:120px 40px;
  background:linear-gradient(180deg, var(--dark) 0%, #08060a 50%, var(--dark) 100%);
  overflow:hidden;
}
.muro-section::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 60% 40% at 50% 50%, rgba(139,26,26,0.04) 0%, transparent 70%);
  pointer-events:none;
}
.muro-inner{max-width:1600px;margin:0 auto;text-align:center;position:relative}
.muro-kicker{
  font-family:'Inter',sans-serif;font-size:11px;font-weight:500;
  letter-spacing:5px;text-transform:uppercase;
  color:var(--gold);margin-bottom:18px;margin-top:10px;
}
.muro-title{
  font-family:'Cinzel',serif;font-size:clamp(28px,4vw,48px);font-weight:800;
  color:#fff;margin-bottom:14px;line-height:1.1;
}
.muro-title span{color:var(--blood-bright)}
.muro-desc{
  font-size:13px;color:var(--text-muted);max-width:500px;margin:0 auto 50px;
  line-height:1.7;font-weight:300;
}
.muro-archive-list{
  display:flex;flex-wrap:wrap;justify-content:center;align-items:center;
  gap:10px 12px;max-width:1600px;margin:0 auto 44px;
  overflow:visible;
}
.muro-archive-entry{
  position:relative;overflow:visible;display:inline-grid;grid-template-columns:auto minmax(0,1fr);
  align-items:center;gap:10px;min-height:54px;min-width:min(100%,260px);
  padding:8px 14px;border-radius:6px;border:1px solid rgba(255,255,255,.06);
  background:rgba(255,255,255,.015);color:inherit;text-decoration:none;
  transition:transform .28s ease,background .28s ease,border-color .28s ease,box-shadow .28s ease;
  letter-spacing:.3px;text-align:left;
}
.muro-archive-entry[href]{cursor:pointer}
.muro-archive-entry[href]:hover,.muro-archive-entry[href]:focus-visible{
  z-index:30;
  transform:translateY(-2px);background:rgba(255,255,255,.035);border-color:rgba(255,42,42,.24);
  box-shadow:0 16px 46px rgba(0,0,0,.24),0 0 28px rgba(255,42,42,.08);outline:none;
}
.muro-archive-avatar{width:38px;height:38px;border-radius:50%;font-family:'Cinzel',serif;font-size:15px;line-height:1}
.muro-archive-avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}
.muro-archive-copy{min-width:0;display:grid;gap:5px}
.muro-archive-line{display:flex;align-items:center;gap:9px;min-width:0}
.muro-archive-name{font-family:'Cinzel',serif;font-size:14px;font-weight:650;line-height:1.15;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.muro-archive-rank{font-size:8px;font-weight:900;letter-spacing:1.4px;text-transform:uppercase;color:#5f586a;white-space:nowrap}
.muro-archive-meta{font-size:9px;font-weight:900;letter-spacing:1px;text-transform:uppercase;color:#7c7488;white-space:nowrap}
.imm-rank-badge.muro-archive-community-rank{justify-self:start;flex-wrap:nowrap;min-height:22px;padding:4px 7px;font-size:8px;letter-spacing:.9px;border-radius:5px}
.imm-rank-badge.muro-archive-community-rank:hover,
.imm-rank-badge.muro-archive-community-rank:focus-visible{z-index:40}
.imm-rank-badge.muro-archive-community-rank .imm-rank-badge__name{white-space:nowrap;overflow:hidden;overflow-wrap:normal;word-break:normal}
.imm-rank-badge.muro-archive-community-rank .imm-rank-badge__patron-star{width:20px;height:20px;flex-basis:20px;border-color:rgba(245,230,163,.72);background:radial-gradient(circle at 50% 42%,rgba(255,245,183,.46),rgba(201,168,76,.2) 48%,rgba(5,5,8,.78));box-shadow:0 0 18px rgba(245,230,163,.42),0 0 34px rgba(201,168,76,.24);color:#fff4b8;font-size:10px;text-shadow:0 0 12px rgba(255,244,184,.62)}
.imm-rank-badge.muro-archive-community-rank.imm-rank-badge--text-lg{font-size:7.3px;letter-spacing:.62px}
.imm-rank-badge.muro-archive-community-rank.imm-rank-badge--text-xl{font-size:6.8px;letter-spacing:.42px}
.muro-archive-entry.tier-founder{border-color:rgba(255,42,42,.48);background:rgba(196,30,30,.045)}
.muro-archive-entry.tier-inmortal{border-color:rgba(255,42,42,.3);background:rgba(196,30,30,.032)}
.muro-archive-entry.tier-eterno,.muro-archive-entry.tier-patrono,.muro-archive-entry.tier-mecenas-archivo{border-color:rgba(201,168,76,.42);background:rgba(201,168,76,.026)}
.muro-archive-entry.tier-mecenas-sangre{border-color:rgba(255,42,42,.4)}
.muro-archive-entry.tier-circulo-vip,.muro-archive-entry.tier-leyenda-eterna{border-color:rgba(255,255,255,.42)}
.muro-archive-entry.tier-founder .muro-archive-name,
.muro-archive-entry.tier-inmortal .muro-archive-name,
.muro-archive-entry.tier-mecenas-sangre .muro-archive-name{color:#ff3434;text-shadow:0 0 18px rgba(255,42,42,.28)}
.muro-archive-entry.tier-eterno .muro-archive-name,
.muro-archive-entry.tier-patrono .muro-archive-name,
.muro-archive-entry.tier-mecenas-archivo .muro-archive-name{color:#f0c85d;text-shadow:0 0 18px rgba(201,168,76,.22)}
.muro-archive-entry.tier-circulo-vip .muro-archive-name,
.muro-archive-entry.tier-leyenda-eterna .muro-archive-name{color:#fff;text-shadow:0 0 24px rgba(255,255,255,.38)}
.muro-archive-entry.tier-heraldo .muro-archive-name{color:#b8a88a}
.muro-archive-entry.tier-guardian .muro-archive-name{color:#8a8898}
.muro-archive-entry.tier-acolito .muro-archive-name{color:#6f687a}
.muro-archive-entry.tier-mecenas-sangre,
.muro-archive-entry.tier-patrono,
.muro-archive-entry.tier-mecenas-archivo,
.muro-archive-entry.tier-circulo-vip,
.muro-archive-entry.tier-leyenda-eterna{background:linear-gradient(145deg,rgba(24,24,34,.64),rgba(83,8,14,.17))}
.muro-archive-entry.has-sublegion{
  grid-template-columns:auto 24px minmax(0,1fr);
  border-color:color-mix(in srgb,var(--sublegion-accent) 28%,rgba(255,255,255,.06));
  background:
    radial-gradient(circle at 20% 50%,color-mix(in srgb,var(--sublegion-accent) 18%,transparent),transparent 42%),
    linear-gradient(90deg,color-mix(in srgb,var(--sublegion-accent) 8%,rgba(255,255,255,.015)),rgba(255,255,255,.015));
  box-shadow:0 0 26px color-mix(in srgb,var(--sublegion-accent) 8%,transparent),inset 0 1px 0 rgba(255,255,255,.04);
}
.muro-archive-entry.has-sublegion::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--sublegion-accent),transparent);
  opacity:.78;
}
.muro-archive-sublegion-standard{width:24px;height:31px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 8px 13px rgba(0,0,0,.5)) drop-shadow(0 0 12px color-mix(in srgb,var(--sublegion-accent) 30%,transparent))}
.muro-full-link{
  display:inline-flex;align-items:center;justify-content:center;min-height:46px;
  padding:0 22px;border-radius:5px;border:1px solid rgba(201,168,76,.24);
  color:#f5e6a3;background:rgba(201,168,76,.05);text-decoration:none;
  font-size:10px;font-weight:900;letter-spacing:2px;text-transform:uppercase;
  box-shadow:0 0 28px rgba(201,168,76,.08);transition:.25s;
}
.muro-full-link:hover{border-color:rgba(255,42,42,.45);color:#fff;background:rgba(255,42,42,.11);box-shadow:0 0 36px rgba(255,42,42,.18)}
.muro-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:0 auto 22px}
.muro-ranking-link{border-color:rgba(255,42,42,.34);color:#fff;background:linear-gradient(135deg,rgba(139,26,26,.28),rgba(201,168,76,.055));box-shadow:0 0 32px rgba(255,42,42,.12),inset 0 1px 0 rgba(255,255,255,.06)}
.muro-ranking-link:hover{border-color:rgba(255,42,42,.58);background:linear-gradient(135deg,rgba(196,30,30,.34),rgba(201,168,76,.08));box-shadow:0 0 42px rgba(255,42,42,.22)}
.muro-quote-block{max-width:650px;margin:0 auto 40px;padding:0 20px}
.muro-quote-text{
  font-family:'Cinzel',serif;font-size:clamp(14px,1.6vw,17px);
  font-style:italic;font-weight:400;color:var(--text-muted);line-height:1.8;opacity:0.6;
}
.muro-legend{display:flex;justify-content:center;gap:18px;flex-wrap:wrap}
.legend-item{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--text-dim);letter-spacing:1px;text-transform:uppercase;font-weight:500}
.legend-dot{width:8px;height:8px;border-radius:2px}
.dot-founder{background:var(--blood-glow);box-shadow:0 0 8px rgba(255,42,42,0.4)}
.dot-inmortal{background:var(--blood-bright)}
.dot-eterno{background:var(--gold)}
.dot-heraldo{background:#b8a88a}
.dot-guardian{background:#8a8898}
.dot-acolito{background:#5e5a68}
.dot-mecenas{background:#ff3434;box-shadow:0 0 10px rgba(255,52,52,.55)}
.dot-vip{background:#fff;box-shadow:0 0 12px rgba(255,255,255,.55),0 0 18px rgba(182,36,255,.28)}

/* ============================
   COLECCIÓN
   ============================ */
.coleccion-section{
  position:relative;z-index:1;padding:120px 40px;
  background:linear-gradient(180deg, var(--dark) 0%, #080410 50%, var(--dark) 100%);
  overflow:hidden;
}
.coleccion-section::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 50% 50% at 50% 30%, rgba(139,26,26,0.04) 0%, transparent 70%);
  pointer-events:none;
}
.coleccion-inner{max-width:1600px;margin:0 auto;text-align:center;position:relative}
.coleccion-kicker{
  font-family:'Inter',sans-serif;font-size:11px;font-weight:600;
  letter-spacing:5px;text-transform:uppercase;
  color:var(--blood-bright);margin-bottom:18px;margin-top:10px;
}
.coleccion-title{
  font-family:'Cinzel',serif;font-size:clamp(28px,4vw,48px);font-weight:800;
  color:#fff;margin-bottom:14px;line-height:1.1;
}
.coleccion-title span{color:var(--blood-bright)}
.coleccion-desc{
  font-size:14px;color:var(--text-muted);max-width:560px;margin:0 auto 40px;
  line-height:1.8;font-weight:300;
}
.collection-guest{display:none;max-width:920px;margin:0 auto 42px;text-align:left;grid-template-columns:1fr 1fr;gap:18px;align-items:stretch}
.coleccion-section.collection-locked .collection-guest{display:grid}
.coleccion-section.collection-locked .col-stats-bar,
.coleccion-section.collection-locked .col-tabs,
.coleccion-section.collection-locked .col-panel{display:none}
.collection-guest-card{position:relative;overflow:hidden;border:1px solid rgba(196,30,30,.24);border-radius:14px;background:linear-gradient(145deg,rgba(18,18,28,.88),rgba(47,14,20,.52));padding:24px;box-shadow:0 22px 70px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.06)}
.collection-guest-card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 0,rgba(255,42,42,.14),transparent 38%);pointer-events:none}
.collection-guest-kicker{position:relative;color:var(--blood-bright);font-size:10px;font-weight:800;letter-spacing:3px;text-transform:uppercase;margin-bottom:10px}
.collection-guest-title{position:relative;font-family:'Cinzel',serif;font-size:26px;color:#fff;margin-bottom:12px}
.collection-guest-text{position:relative;color:var(--text-muted);font-size:13px;line-height:1.8;margin-bottom:18px}
.collection-guest-preview{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.collection-mini{min-height:118px;border:1px solid rgba(255,255,255,.07);border-radius:10px;background:rgba(255,255,255,.025);display:flex;flex-direction:column;justify-content:end;padding:12px;color:#fff}
.collection-mini strong{font-family:'Cinzel',serif;font-size:15px}
.collection-mini span{margin-top:4px;color:var(--gold);font-size:9px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase}
.collection-guest-action{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 18px;border-radius:7px;background:linear-gradient(135deg,#6b1010,var(--blood-bright));color:#fff;text-decoration:none;font-size:11px;font-weight:800;letter-spacing:1.8px;text-transform:uppercase;box-shadow:0 12px 36px rgba(196,30,30,.22)}

/* Stats bar */
.col-stats-bar{
  display:flex;align-items:center;justify-content:center;gap:0;
  max-width:600px;margin:0 auto 40px;
  padding:16px 28px;border-radius:10px;
  background:rgba(255,255,255,0.015);
  border:1px solid rgba(255,255,255,0.04);
}
.col-stat-item{display:flex;flex-direction:column;align-items:center;gap:2px;flex:1}
.col-stat-val{font-family:'Cinzel',serif;font-size:24px;font-weight:800;color:#fff}
.col-val-mythic{color:var(--blood-glow)}
.col-val-legendary{color:var(--gold)}
.col-val-epic{color:#c4b5fd}
.col-val-rare{color:#93c5fd}
.col-stat-lbl{font-size:9px;color:var(--text-dim);letter-spacing:2px;text-transform:uppercase;font-weight:500}
.col-stat-divider{width:1px;height:36px;background:rgba(255,255,255,0.05);flex-shrink:0}

/* Tabs */
.col-tabs{
  display:flex;justify-content:center;gap:6px;
  margin-bottom:48px;flex-wrap:wrap;
}
.col-tab{
  display:flex;align-items:center;gap:8px;
  padding:10px 22px;border-radius:8px;
  background:rgba(255,255,255,0.02);
  border:1px solid rgba(255,255,255,0.05);
  color:var(--text-muted);
  font-family:'Inter',sans-serif;font-size:12px;font-weight:500;
  cursor:pointer;transition:all 0.3s;letter-spacing:0.5px;
}
.col-tab:hover{border-color:rgba(139,26,26,0.25);color:var(--text)}
.col-tab.active{
  background:rgba(139,26,26,0.08);
  border-color:rgba(196,30,30,0.35);
  color:var(--blood-bright);
  box-shadow:0 0 20px rgba(196,30,30,0.06);
}
.col-tab-icon{font-size:14px}
.col-tab-count{
  font-size:10px;font-weight:700;
  background:rgba(255,255,255,0.06);
  padding:2px 7px;border-radius:10px;
  color:var(--text-dim);
}
.col-tab.active .col-tab-count{
  background:rgba(196,30,30,0.15);color:var(--blood-bright);
}

/* Panels */
.col-panel{display:none}
.col-panel.active{display:block;animation:colFadeIn 0.4s ease}
@keyframes colFadeIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}

.col-grid{max-width:1600px;margin:0 auto}
.col-grid-chars{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.col-grid-items{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.col-grid-places{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.col-grid-frases{display:grid;grid-template-columns:1fr;gap:20px;max-width:760px;margin:0 auto}

/* ---- Character Cards ---- */
.col-char-card{
  position:relative;border-radius:12px;overflow:hidden;
  background:var(--dark-card);border:1px solid rgba(255,255,255,0.04);
  transition:all 0.5s cubic-bezier(0.23,1,0.32,1);
  cursor:pointer;
}
.col-char-card:hover{
  transform:translateY(-6px);
  border-color:rgba(196,30,30,0.3);
  box-shadow:0 20px 60px rgba(0,0,0,0.4),0 0 60px rgba(139,26,26,0.06);
}
.col-char-card[data-rarity="mythic"]:hover{box-shadow:0 20px 60px rgba(0,0,0,0.4),0 0 80px rgba(196,30,30,0.12)}
.col-char-card[data-rarity="legendary"]:hover{box-shadow:0 20px 60px rgba(0,0,0,0.4),0 0 80px rgba(201,168,76,0.1)}
.col-char-card[data-rarity="epic"]:hover{box-shadow:0 20px 60px rgba(0,0,0,0.4),0 0 80px rgba(139,92,246,0.1)}

.col-char-glow{
  position:absolute;top:0;left:0;right:0;height:60%;
  background:radial-gradient(ellipse at 50% 20%,rgba(196,30,30,0.06) 0%,transparent 70%);
  pointer-events:none;z-index:1;opacity:0;transition:opacity 0.5s;
}
.col-char-card:hover .col-char-glow{opacity:1}
.col-char-card[data-rarity="legendary"] .col-char-glow{background:radial-gradient(ellipse at 50% 20%,rgba(201,168,76,0.06) 0%,transparent 70%)}
.col-char-card[data-rarity="epic"] .col-char-glow{background:radial-gradient(ellipse at 50% 20%,rgba(139,92,246,0.06) 0%,transparent 70%)}
.col-char-card[data-rarity="rare"] .col-char-glow{background:radial-gradient(ellipse at 50% 20%,rgba(59,130,246,0.06) 0%,transparent 70%)}

.col-char-image{width:100%;aspect-ratio:3/4;overflow:hidden;position:relative}
.col-char-placeholder{
  width:100%;height:100%;display:flex;align-items:center;justify-content:center;
  position:relative;
}
.col-char-silhouette{
  width:55%;opacity:0.6;
  transition:all 0.5s;
}
.col-char-card:hover .col-char-silhouette{opacity:0.9;transform:scale(1.03)}
.col-char-emblem{
  position:absolute;bottom:18%;left:50%;transform:translateX(-50%);
  font-size:26px;opacity:0.35;
  filter:drop-shadow(0 0 12px currentColor);
  animation:emblem-float 4s ease-in-out infinite;
}
@keyframes emblem-float{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-6px)}}

.col-char-shine{
  position:absolute;top:0;left:-100%;width:60%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,0.02),rgba(255,255,255,0.04),rgba(255,255,255,0.02),transparent);
  transition:left 0.7s ease;pointer-events:none;z-index:3;
}
.col-char-card:hover .col-char-shine{left:150%}

.col-char-info{
  padding:18px 16px 20px;text-align:left;
  position:relative;z-index:2;
  background:linear-gradient(to top, var(--dark-card) 80%, transparent 100%);
  margin-top:-30px;
}
.col-rarity-tag{
  display:inline-block;padding:3px 10px;border-radius:3px;
  font-size:8px;font-weight:700;letter-spacing:2px;text-transform:uppercase;
  margin-bottom:8px;
}
.col-char-name{
  font-family:'Cinzel',serif;font-size:15px;font-weight:700;
  color:#fff;margin-bottom:3px;
}
.col-char-class{
  font-size:10px;color:var(--text-muted);letter-spacing:0.5px;margin-bottom:10px;
}
.col-char-power{
  display:inline-flex;align-items:center;gap:4px;
  font-family:'Cinzel',serif;font-size:14px;font-weight:700;
  color:var(--blood-bright);margin-bottom:12px;
}
.col-power-icon{font-size:11px}

.col-char-bars{display:flex;flex-direction:column;gap:5px}
.col-bar{display:flex;align-items:center;gap:6px}
.col-bar-lbl{font-size:8px;color:var(--text-dim);width:24px;letter-spacing:1px;text-transform:uppercase}
.col-bar-track{flex:1;height:2px;background:rgba(255,255,255,0.05);border-radius:1px;overflow:hidden}
.col-bar-fill{height:100%;border-radius:1px;transition:width 1.2s cubic-bezier(0.23,1,0.32,1)}

/* ---- Item / Artifact Cards ---- */
.col-item-card{
  position:relative;border-radius:12px;overflow:hidden;
  background:var(--dark-card);border:1px solid rgba(255,255,255,0.04);
  padding:28px 22px 24px;text-align:left;
  transition:all 0.5s cubic-bezier(0.23,1,0.32,1);
  cursor:pointer;
  display:flex;flex-direction:column;
}
.col-item-card.is-locked{filter:saturate(.72);opacity:.7}
.col-item-card.is-locked::after{
  content:'BLOQUEADO';position:absolute;top:14px;right:14px;z-index:4;
  padding:5px 9px;border-radius:4px;border:1px solid rgba(255,255,255,.08);
  background:rgba(0,0,0,.55);color:var(--text-muted);font-size:8px;font-weight:900;letter-spacing:1.8px;
}
.col-item-card:hover{
  transform:translateY(-5px);
  border-color:rgba(196,30,30,0.25);
  box-shadow:0 16px 48px rgba(0,0,0,0.4),0 0 40px rgba(139,26,26,0.05);
}
.col-item-card[data-rarity="mythic"]{border-color:rgba(196,30,30,0.12)}
.col-item-card[data-rarity="mythic"]:hover{border-color:rgba(196,30,30,0.4);box-shadow:0 16px 48px rgba(0,0,0,0.4),0 0 60px rgba(196,30,30,0.08)}
.col-item-card[data-rarity="legendary"]:hover{border-color:rgba(201,168,76,0.35);box-shadow:0 16px 48px rgba(0,0,0,0.4),0 0 60px rgba(201,168,76,0.08)}

.col-item-glow-ring{
  position:absolute;top:-20px;right:-20px;width:120px;height:120px;border-radius:50%;
  background:radial-gradient(circle,rgba(196,30,30,0.04) 0%,transparent 70%);
  pointer-events:none;
}
.col-item-card[data-rarity="legendary"] .col-item-glow-ring{background:radial-gradient(circle,rgba(201,168,76,0.04) 0%,transparent 70%)}
.col-item-card[data-rarity="epic"] .col-item-glow-ring{background:radial-gradient(circle,rgba(139,92,246,0.04) 0%,transparent 70%)}

.col-item-icon-wrap{
  position:relative;width:64px;height:64px;margin-bottom:20px;
  display:flex;align-items:center;justify-content:center;
}
.col-item-icon{
  font-size:32px;position:relative;z-index:2;
  filter:drop-shadow(0 0 10px rgba(196,30,30,0.2));
}
.col-item-orbit{
  position:absolute;inset:-4px;border-radius:50%;
  border:1px solid rgba(196,30,30,0.12);
  animation:orbit-spin 12s linear infinite;
}
.col-item-orbit::before{
  content:'';position:absolute;top:-2px;left:50%;
  width:4px;height:4px;border-radius:50%;
  background:var(--blood-bright);
  box-shadow:0 0 6px var(--blood-bright);
  transform:translateX(-50%);
}
@keyframes orbit-spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
.col-item-card[data-rarity="legendary"] .col-item-orbit{border-color:rgba(201,168,76,0.15)}
.col-item-card[data-rarity="legendary"] .col-item-orbit::before{background:var(--gold);box-shadow:0 0 6px var(--gold)}
.col-item-card[data-rarity="epic"] .col-item-orbit{border-color:rgba(139,92,246,0.15)}
.col-item-card[data-rarity="epic"] .col-item-orbit::before{background:#c4b5fd;box-shadow:0 0 6px #8b5cf6}
.col-item-card[data-rarity="rare"] .col-item-orbit{border-color:rgba(59,130,246,0.15)}
.col-item-card[data-rarity="rare"] .col-item-orbit::before{background:#93c5fd;box-shadow:0 0 6px #3b82f6}
.col-item-card[data-rarity="common"] .col-item-orbit{border-color:rgba(185,192,200,0.14)}
.col-item-card[data-rarity="common"] .col-item-orbit::before{background:#b9c0c8;box-shadow:0 0 6px rgba(185,192,200,.45)}
.col-item-image-wrap{
  position:relative;aspect-ratio:16/9;margin:-8px -2px 18px;border-radius:10px;overflow:hidden;
  border:1px solid rgba(255,255,255,.06);background:rgba(0,0,0,.26);
  box-shadow:inset 0 0 28px rgba(0,0,0,.55),0 18px 36px rgba(0,0,0,.24);
}
.col-item-image-wrap img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease,filter .6s ease}
.col-item-card:hover .col-item-image-wrap img{transform:scale(1.045);filter:contrast(1.08)}
.col-item-image-wrap::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.48)),radial-gradient(circle at 18% 10%,rgba(255,220,145,.18),transparent 34%);
  pointer-events:none;
}
.col-item-unlock-hint{margin-top:14px;color:var(--gold);font-size:10px;line-height:1.5;letter-spacing:.8px;text-transform:uppercase}

.col-item-body{flex:1}
.col-item-name{
  font-family:'Cinzel',serif;font-size:17px;font-weight:700;
  color:#fff;margin-bottom:4px;
}
.col-item-type{
  font-size:10px;color:var(--text-muted);letter-spacing:0.5px;margin-bottom:12px;
}
.col-item-desc{
  font-size:12px;color:var(--text-muted);line-height:1.7;
  margin-bottom:18px;font-weight:300;font-style:italic;
  opacity:0.7;
}
.col-item-stats{
  display:flex;gap:10px;
}
.col-item-stat{
  flex:1;text-align:center;
  padding:8px 6px;border-radius:6px;
  background:rgba(255,255,255,0.02);
  border:1px solid rgba(255,255,255,0.04);
}
.col-istat-val{
  display:block;font-family:'Cinzel',serif;font-size:14px;font-weight:700;
  color:var(--blood-bright);
}
.col-item-card[data-rarity="legendary"] .col-istat-val{color:var(--gold)}
.col-item-card[data-rarity="epic"] .col-istat-val{color:#c4b5fd}
.col-item-card[data-rarity="rare"] .col-istat-val{color:#93c5fd}
.col-istat-lbl{
  display:block;font-size:8px;color:var(--text-dim);
  letter-spacing:1.5px;text-transform:uppercase;margin-top:2px;
}

/* ---- Place Cards ---- */
.col-place-card{
  position:relative;border-radius:12px;overflow:hidden;
  background:var(--dark-card);border:1px solid rgba(255,255,255,0.04);
  transition:all 0.5s cubic-bezier(0.23,1,0.32,1);cursor:pointer;
}
.col-place-card:hover{
  transform:translateY(-5px);
  border-color:rgba(196,30,30,0.25);
  box-shadow:0 16px 48px rgba(0,0,0,0.4),0 0 40px rgba(139,26,26,0.06);
}
.col-place-visual{
  width:100%;height:200px;position:relative;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
}
.col-place-landmark{
  font-size:56px;opacity:0.3;position:relative;z-index:2;
  filter:drop-shadow(0 0 20px rgba(196,30,30,0.3));
  transition:all 0.5s;
}
.col-place-card:hover .col-place-landmark{opacity:0.5;transform:scale(1.08)}
.col-place-horizon{
  position:absolute;bottom:0;left:0;right:0;height:40%;
  background:linear-gradient(to top,var(--dark-card),transparent);
  z-index:1;
}
.col-place-particles span{
  position:absolute;width:2px;height:2px;border-radius:50%;
  background:rgba(196,30,30,0.4);
  box-shadow:0 0 4px rgba(196,30,30,0.3);
  animation:place-particle 3.5s ease-in-out infinite;
  z-index:2;
}
@keyframes place-particle{
  0%,100%{opacity:0;transform:translateY(0)}
  50%{opacity:1;transform:translateY(-15px)}
}
.col-place-info{padding:22px 20px 24px;text-align:left}
.col-place-name{
  font-family:'Cinzel',serif;font-size:19px;font-weight:700;
  color:#fff;margin-bottom:4px;
}
.col-place-region{
  font-size:10px;color:var(--text-muted);letter-spacing:0.5px;margin-bottom:12px;
}
.col-place-desc{
  font-size:12px;color:var(--text-muted);line-height:1.7;
  margin-bottom:16px;font-weight:300;
}
.col-place-tags{display:flex;gap:8px;flex-wrap:wrap}
.col-place-tag{
  font-size:10px;color:var(--text-muted);
  padding:4px 10px;border-radius:4px;
  background:rgba(255,255,255,0.02);
  border:1px solid rgba(255,255,255,0.04);
  letter-spacing:0.3px;
}

/* ---- Frase Cards ---- */
.col-frase-card{
  position:relative;border-radius:12px;overflow:hidden;
  background:var(--dark-card);border:1px solid rgba(255,255,255,0.04);
  padding:32px 28px 24px;text-align:left;
  transition:all 0.5s cubic-bezier(0.23,1,0.32,1);
  cursor:default;
}
.col-frase-card:hover{
  border-color:rgba(139,26,26,0.2);
  box-shadow:0 12px 40px rgba(0,0,0,0.3),0 0 30px rgba(139,26,26,0.04);
}
.col-frase-mark{
  font-size:48px;color:var(--blood);opacity:0.15;
  font-family:Georgia,serif;line-height:1;margin-bottom:-10px;
}
.col-frase-text{
  font-family:'Cinzel',serif;font-size:clamp(15px,1.5vw,19px);
  font-style:italic;font-weight:400;color:var(--text);
  line-height:1.8;opacity:0.75;margin-bottom:20px;
}
.col-frase-footer{
  display:flex;align-items:center;justify-content:space-between;
  padding-top:16px;border-top:1px solid rgba(255,255,255,0.04);
}
.col-frase-author{display:flex;align-items:center;gap:10px}
.col-frase-avatar{
  width:36px;height:36px;border-radius:50%;
  border:1px solid rgba(196,30,30,0.25);
  background:rgba(196,30,30,0.04);
  display:flex;align-items:center;justify-content:center;
  font-size:14px;color:var(--blood-bright);flex-shrink:0;
}
.col-frase-name{
  display:block;font-family:'Cinzel',serif;font-size:13px;font-weight:600;color:#fff;
}
.col-frase-context{
  display:block;font-size:10px;color:var(--text-dim);margin-top:1px;letter-spacing:0.3px;
}

/* Collection responsive */
@media(max-width:1080px){
  .col-grid-chars{grid-template-columns:repeat(2,1fr)}
  .col-grid-items{grid-template-columns:repeat(2,1fr)}
  .collection-guest{grid-template-columns:1fr}
}
@media(max-width:700px){
  .col-grid-chars{grid-template-columns:1fr;max-width:320px;margin:0 auto}
  .col-grid-items{grid-template-columns:1fr;max-width:400px;margin:0 auto}
  .col-grid-places{grid-template-columns:1fr}
  .coleccion-section{padding:80px 16px}
  .col-stats-bar{flex-wrap:wrap;gap:8px;padding:14px 16px}
  .col-stat-divider{display:none}
  .col-tabs{gap:4px}
  .col-tab{padding:8px 12px;font-size:11px}
  .col-tab-text{display:none}
}

/* PACTOS DE MECENAZGO */
.pactos-section{
  position:relative;z-index:1;padding:120px 40px;
  background:linear-gradient(180deg, var(--dark) 0%, #0a0306 50%, var(--dark) 100%);
  overflow:hidden;
}
.pactos-section::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 50% 50% at 50% 40%, rgba(139,26,26,0.05) 0%, transparent 70%);
  pointer-events:none;
}
.pactos-inner{max-width:1140px;margin:0 auto;text-align:center;position:relative}
.pactos-kicker{
  font-family:'Inter',sans-serif;font-size:11px;font-weight:600;
  letter-spacing:5px;text-transform:uppercase;
  color:var(--blood-bright);margin-bottom:18px;margin-top:10px;
}
.pactos-title{
  font-family:'Cinzel',serif;font-size:clamp(28px,4vw,48px);font-weight:800;
  color:#fff;margin-bottom:14px;line-height:1.1;
}
.pactos-title span{color:var(--blood-bright)}
.pactos-desc{
  font-size:14px;color:var(--text-muted);max-width:520px;margin:0 auto 28px;
  line-height:1.8;font-weight:300;font-style:italic;
}
.pacto-hero-art{
  position:relative;width:min(460px,78vw);margin:0 auto 54px;
  filter:drop-shadow(0 28px 80px rgba(0,0,0,.58)) drop-shadow(0 0 44px rgba(196,30,30,.2));
  perspective:900px;
}
.pacto-hero-art::before{
  content:'';position:absolute;inset:14% 6%;z-index:-1;
  background:radial-gradient(ellipse,rgba(255,42,42,.24),rgba(201,168,76,.12) 34%,transparent 68%);
  filter:blur(24px);animation:pacto-aura 4.5s ease-in-out infinite;
}
.pacto-hero-art img{
  width:100%;height:auto;display:block;object-fit:contain;
  transform:rotateX(4deg);animation:pacto-float 5.8s ease-in-out infinite;
}
@keyframes pacto-float{
  0%,100%{transform:translateY(0) rotateX(4deg) scale(1)}
  50%{transform:translateY(-10px) rotateX(2deg) scale(1.015)}
}
@keyframes pacto-aura{
  0%,100%{opacity:.62;transform:scale(.96)}
  50%{opacity:1;transform:scale(1.05)}
}
.pactos-groups{
  display:grid;
  gap:42px;
}
.pactos-group{
  position:relative;
  display:grid;
  gap:22px;
}
.pactos-group-head{
  display:grid;
  gap:7px;
  max-width:760px;
  margin:0 auto;
}
.pactos-group-head p{
  color:var(--gold);
  font-size:10px;
  font-weight:900;
  letter-spacing:3.4px;
  text-transform:uppercase;
}
.pactos-group-head h3{
  font-family:'Cinzel',serif;
  color:#fff;
  font-size:clamp(24px,3vw,36px);
  line-height:1;
  font-weight:900;
}
.pactos-group-head span{
  color:var(--text-muted);
  font-size:14px;
  line-height:1.7;
}
.pactos-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:20px;
  align-items:stretch;
}
.pacto-card{
  position:relative;
  background:rgba(139,26,26,0.02);
  border:1px solid rgba(139,26,26,0.1);
  border-radius:12px;padding:36px 24px 28px;
  text-align:center;
  transition:all 0.4s cubic-bezier(0.23,1,0.32,1);
  display:flex;flex-direction:column;
  height:100%;
}
.pacto-card::before{
  content:'';position:absolute;inset:-1px;border-radius:12px;
  background:linear-gradient(160deg,rgba(196,30,30,0.08),transparent 40%,transparent 60%,rgba(139,26,26,0.04));
  z-index:-1;pointer-events:none;opacity:0;transition:opacity 0.4s;
}
.pacto-card:hover::before{opacity:1}
.pacto-card:hover{
  border-color:rgba(196,30,30,0.3);
  transform:translateY(-4px);
  box-shadow:0 20px 60px rgba(139,26,26,0.08),0 0 80px rgba(139,26,26,0.03);
}
.pacto-popular{
  border-color:rgba(196,30,30,0.3);
  background:rgba(139,26,26,0.04);
  box-shadow:0 0 40px rgba(139,26,26,0.05);
}
.pacto-popular:hover{
  border-color:rgba(196,30,30,0.5);
  box-shadow:0 20px 60px rgba(139,26,26,0.12),0 0 80px rgba(196,30,30,0.06);
}
.pacto-popular-tag{
  position:absolute;top:-1px;right:-1px;
  display:inline-flex;align-items:center;gap:7px;
  background:linear-gradient(135deg, #6b1010, var(--blood-bright));
  color:#fff;font-size:9px;font-weight:800;
  letter-spacing:1.5px;text-transform:uppercase;
  padding:6px 16px;border-radius:0 12px 0 12px;
  box-shadow:0 4px 16px rgba(196,30,30,0.25);
}
.pacto-popular-tag::before{content:'';width:5px;height:5px;border-radius:50%;background:#fff;box-shadow:0 0 10px rgba(255,255,255,.8)}
.pacto-icon{
  font-size:28px;margin-bottom:18px;
  filter:grayscale(0.2);
}
.pacto-icon-img{
  width:min(170px,72%);
  aspect-ratio:1;
  margin:0 auto 18px;
  display:grid;
  place-items:center;
  position:relative;
  filter:drop-shadow(0 18px 34px rgba(0,0,0,0.42));
}
.pacto-icon-img::before{
  content:'';
  position:absolute;
  inset:13%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,42,42,0.22),transparent 68%);
  filter:blur(18px);
  opacity:.9;
  transition:opacity .35s ease,transform .35s ease;
}
.pacto-icon-img img{
  width:100%;
  height:100%;
  object-fit:contain;
  position:relative;
  z-index:1;
  transform:translateZ(0);
  transition:transform .45s cubic-bezier(.23,1,.32,1),filter .45s ease;
}
.pacto-card:hover .pacto-icon-img::before{opacity:1;transform:scale(1.08)}
.pacto-card:hover .pacto-icon-img img{
  transform:translateY(-5px) scale(1.045) rotateX(4deg);
  filter:brightness(1.12) saturate(1.08);
}
.pacto-popular .pacto-icon-img::before{background:radial-gradient(circle,rgba(255,42,42,0.34),transparent 68%)}
.pacto-name{
  font-family:'Cinzel',serif;font-size:17px;font-weight:700;
  color:#fff;letter-spacing:1px;margin-bottom:14px;
  text-transform:uppercase;font-variant:small-caps;
}
.pacto-price{
  font-family:'Cinzel',serif;font-size:38px;font-weight:800;
  color:var(--blood-bright);margin-bottom:2px;line-height:1;
  text-shadow:0 0 30px rgba(196,30,30,0.2);
}
.pacto-popular .pacto-price{
  color:var(--blood-glow);
  text-shadow:0 0 40px rgba(255,42,42,0.25);
}
.pacto-freq{
  font-size:11px;color:var(--text-dim);
  letter-spacing:1px;margin-bottom:24px;font-weight:300;
}
.pacto-perks{
  list-style:none;text-align:left;
  margin-bottom:28px;padding:0;flex:1 1 auto;
  min-height:0;
}
.pacto-perks li{
  font-size:12.5px;color:var(--text-muted);
  padding:7px 0;
  border-bottom:1px solid rgba(139,26,26,0.06);
  display:flex;align-items:flex-start;gap:8px;
  line-height:1.5;font-weight:400;
}
.pacto-perks li:last-child{border-bottom:none}
.pacto-perks li::before{
  content:'';width:4px;height:4px;border-radius:50%;
  background:var(--blood-bright);box-shadow:0 0 8px rgba(255,42,42,.48);
  flex-shrink:0;margin-top:8px;
}
.pacto-popular .pacto-perks li::before{background:var(--blood-glow);box-shadow:0 0 10px rgba(255,42,42,.62)}
.pacto-btn{
  display:block;width:100%;padding:14px 20px;
  background:transparent;
  border:1px solid rgba(139,26,26,0.25);
  border-radius:6px;
  color:var(--text-muted);
  font-family:'Inter',sans-serif;font-size:12px;font-weight:700;
  letter-spacing:2.5px;text-transform:uppercase;
  cursor:pointer;transition:all 0.4s cubic-bezier(0.23,1,0.32,1);
  position:relative;overflow:hidden;z-index:1;
  margin-top:auto;
}
.pacto-btn::before{
  content:'';position:absolute;inset:0;z-index:-1;
  background:linear-gradient(135deg,rgba(139,26,26,0.08),rgba(139,26,26,0.02));
  opacity:0;transition:opacity 0.4s;
}
.pacto-btn:hover::before{opacity:1}
.pacto-btn:hover{
  border-color:rgba(196,30,30,0.6);color:#fff;
  box-shadow:0 0 20px rgba(196,30,30,0.12),0 4px 16px rgba(139,26,26,0.1);
  transform:translateY(-2px);
  text-shadow:0 0 10px rgba(196,30,30,0.3);
}

/* Popular blood button — epic animated */
.pacto-btn-blood{
  background:linear-gradient(135deg, #6b1010, var(--blood-bright));
  color:#fff;border:1px solid rgba(196,30,30,0.4);
  font-weight:800;
  box-shadow:0 4px 30px rgba(196,30,30,0.2);
  position:relative;overflow:hidden;
}
.pacto-btn-blood::before{
  content:'';position:absolute;top:50%;left:50%;
  width:0;height:0;
  background:radial-gradient(circle,rgba(255,42,42,0.6) 0%,rgba(196,30,30,0.3) 40%,transparent 70%);
  border-radius:50%;
  transform:translate(-50%,-50%);
  transition:width 0.6s cubic-bezier(0.23,1,0.32,1),height 0.6s cubic-bezier(0.23,1,0.32,1);
  z-index:-1;opacity:0;
}
.pacto-btn-blood:hover::before{
  width:400px;height:400px;opacity:1;
}
.pacto-btn-blood::after{
  content:'';position:absolute;inset:-2px;
  background:linear-gradient(90deg,transparent,rgba(255,42,42,0.4),rgba(255,150,50,0.2),rgba(255,42,42,0.4),transparent);
  background-size:200% 100%;
  z-index:-1;opacity:0;
  transition:opacity 0.4s;
  animation:blood-shimmer 2s linear infinite;
}
@keyframes blood-shimmer{
  0%{background-position:200% 0}
  100%{background-position:-200% 0}
}
.pacto-btn-blood:hover::after{opacity:1}
.pacto-btn-blood:hover{
  background:linear-gradient(135deg, #8b1a1a, #e02020);
  border-color:rgba(255,42,42,0.6);
  box-shadow:
    0 0 30px rgba(196,30,30,0.35),
    0 0 60px rgba(196,30,30,0.15),
    0 8px 32px rgba(139,26,26,0.25),
    inset 0 0 20px rgba(255,42,42,0.08);
  transform:translateY(-2px);
  text-shadow:0 0 12px rgba(255,100,100,0.5);
  color:#fff;
}

/* Blood drip particles on popular btn hover */
.pacto-btn-blood .blood-particles{
  position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;
}
.pacto-btn-blood .blood-particle{
  position:absolute;width:3px;height:3px;border-radius:50%;
  background:var(--blood-glow);
  box-shadow:0 0 6px var(--blood-glow);
  opacity:0;
}

@media(max-width:1080px){
  .pactos-grid{grid-template-columns:repeat(2,1fr);gap:16px}
  .pactos-grid .pacto-card{height:auto}
}
@media(max-width:600px){
  .pactos-grid{grid-template-columns:1fr;max-width:360px;margin:0 auto}
  .pactos-section{padding:80px 16px}
  .pacto-hero-art{width:min(340px,88vw);margin-bottom:36px}
}

.home-news-section{
  position:relative;
  z-index:1;
  padding:110px 40px 82px;
  scroll-margin-top:96px;
  background:
    radial-gradient(circle at 18% 14%,rgba(196,30,30,.11),transparent 30%),
    linear-gradient(180deg,#08070b 0%,var(--dark) 100%);
  overflow:hidden;
}
.home-news-section::before{
  content:'';
  position:absolute;
  left:50%;
  top:0;
  width:min(1180px,86vw);
  height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(201,168,76,.28),rgba(196,30,30,.36),transparent);
}
.home-news-inner{
  position:relative;
  width:min(1100px,100%);
  margin:0 auto;
}
.home-news-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:22px;
  margin-bottom:18px;
}
.home-news-kicker{
  margin:0 0 8px;
  color:var(--gold);
  font-size:9px;
  font-weight:900;
  letter-spacing:5px;
  text-transform:uppercase;
}
.home-news-title{
  margin:0;
  font-family:'Cinzel',serif;
  font-size:clamp(24px,2.65vw,34px);
  line-height:1;
  color:#f5eee9;
  text-transform:uppercase;
  text-shadow:0 18px 44px rgba(0,0,0,.6);
}
.home-news-title span{color:var(--blood-bright)}
.home-news-copy{
  max-width:500px;
  margin:7px 0 0;
  color:var(--text-muted);
  font-size:12px;
  line-height:1.6;
}
.home-news-all{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:0 15px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:5px;
  background:rgba(255,255,255,.035);
  color:#fff;
  font-size:11px;
  font-weight:900;
  letter-spacing:2.4px;
  text-decoration:none;
  text-transform:uppercase;
  transition:transform .32s cubic-bezier(.23,1,.32,1),border-color .32s,background .32s,box-shadow .32s;
}
.home-news-all:hover{
  transform:translateY(-2px);
  border-color:rgba(196,30,30,.5);
  background:rgba(196,30,30,.1);
  box-shadow:0 14px 34px rgba(0,0,0,.25),0 0 24px rgba(196,30,30,.12);
}
.home-news-grid{
  position:relative;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.home-news-grid::before{
  content:'';
  position:absolute;
  left:50%;
  top:6px;
  bottom:6px;
  width:1px;
  background:linear-gradient(180deg,transparent,rgba(225,38,38,.38),rgba(213,180,90,.2),transparent);
  box-shadow:0 0 18px rgba(225,38,38,.12);
}
.home-news-card{
  position:relative;
  display:grid;
  grid-template-columns:minmax(120px,31%) minmax(0,1fr);
  min-height:150px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.075);
  border-radius:10px;
  background:linear-gradient(180deg,rgba(26,25,33,.94),rgba(12,11,16,.98));
  color:inherit;
  text-decoration:none;
  box-shadow:0 14px 42px rgba(0,0,0,.32);
  transition:transform .35s cubic-bezier(.23,1,.32,1),border-color .35s,box-shadow .35s;
}
.home-news-card::after{
  content:'';
  position:absolute;
  top:50%;
  width:22px;
  height:1px;
  background:linear-gradient(90deg,rgba(225,38,38,.5),rgba(213,180,90,.32));
  box-shadow:0 0 14px rgba(225,38,38,.18);
}
.home-news-card:nth-child(odd)::after{right:-21px}
.home-news-card:nth-child(even)::after{left:-21px}
.home-news-card:hover{
  transform:translateY(-4px);
  border-color:rgba(225,38,38,.4);
  box-shadow:0 24px 64px rgba(0,0,0,.52),0 0 38px rgba(139,26,26,.16);
}
.home-news-media{
  position:relative;
  display:block;
  height:100%;
  min-height:150px;
  background:
    radial-gradient(circle at 50% 35%,rgba(196,30,30,.18),transparent 42%),
    #09090d;
  overflow:hidden;
}
.home-news-media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  opacity:.76;
  filter:saturate(1.08) contrast(1.08);
  transition:transform .55s,opacity .55s;
}
.home-news-card:hover .home-news-media img{
  transform:scale(1.05);
  opacity:.92;
}
.home-news-media::after{
  content:'';
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,transparent 38%,rgba(12,11,16,.82)),
    linear-gradient(180deg,transparent 42%,rgba(5,5,8,.68));
}
.home-news-body{
  display:flex;
  flex:1;
  flex-direction:column;
  gap:7px;
  min-width:0;
  padding:14px;
}
.home-news-date{
  width:max-content;
  max-width:100%;
  padding:5px 9px;
  border:1px solid rgba(213,180,90,.26);
  border-radius:5px;
  background:rgba(213,180,90,.085);
  color:var(--gold-soft);
  font-size:8px;
  font-weight:900;
  letter-spacing:2px;
  text-transform:uppercase;
}
.home-news-card h3{
  margin:0;
  font-family:'Cinzel',serif;
  font-size:clamp(16px,1.1vw,20px);
  line-height:1.08;
  color:#f4eee8;
}
.home-news-excerpt{
  margin:0;
  color:var(--text-muted);
  font-size:11.5px;
  line-height:1.5;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.home-news-cta{
  margin-top:auto;
  color:#fff;
  font-size:9px;
  font-weight:900;
  letter-spacing:2.2px;
  text-transform:uppercase;
}
.home-news-cta::after{
  content:'';
  display:block;
  width:42px;
  height:1px;
  margin-top:10px;
  background:linear-gradient(90deg,var(--blood-bright),transparent);
  transition:width .32s ease;
}
.home-news-card:hover .home-news-cta::after{width:76px}

@media(max-width:1120px){
  .home-news-grid{grid-template-columns:1fr}
  .home-news-grid::before{left:0;display:none}
  .home-news-card::after{display:none}
  .home-news-head{align-items:flex-start;flex-direction:column}
}
@media(max-width:700px){
  .home-news-section{padding:82px 16px 72px}
  .home-news-grid{grid-template-columns:1fr}
  .home-news-card{grid-template-columns:1fr;min-height:0}
  .home-news-media{height:auto;min-height:0;aspect-ratio:16/9}
  .home-news-media::after{background:linear-gradient(180deg,transparent 40%,rgba(5,5,8,.82))}
  .home-news-all{width:100%}
}

.pact-ritual-overlay{
  position:fixed;inset:0;z-index:260;display:none;align-items:center;justify-content:center;padding:24px;
  background:
    radial-gradient(circle at 50% 46%,rgba(255,42,42,.34),transparent 25%),
    radial-gradient(circle at 50% 50%,rgba(201,168,76,.16),transparent 34%),
    rgba(0,0,0,.84);
  backdrop-filter:blur(18px);overflow:hidden;
}
.pact-ritual-overlay.show{display:flex}
.pact-ritual-overlay::before,.pact-ritual-overlay::after{
  content:"";position:absolute;left:50%;top:50%;width:min(84vw,760px);height:min(84vw,760px);border-radius:50%;
  transform:translate(-50%,-50%);pointer-events:none;
}
.pact-ritual-overlay::before{
  border:1px solid rgba(255,42,42,.3);box-shadow:0 0 120px rgba(255,42,42,.28),inset 0 0 90px rgba(201,168,76,.12);
  animation:pact-ring-expand 1.4s ease-out infinite;
}
.pact-ritual-overlay::after{
  background:conic-gradient(from 20deg,transparent,rgba(255,42,42,.26),transparent,rgba(201,168,76,.24),transparent,rgba(255,42,42,.2),transparent);
  filter:blur(.2px);animation:pact-sigil-spin 9s linear infinite;opacity:.72;
}
.pact-ritual-card{
  position:relative;z-index:2;width:min(1080px,100%);min-height:min(720px,calc(100vh - 48px));padding:34px;text-align:center;overflow:hidden;
  display:grid;grid-template-columns:minmax(330px,.86fr) minmax(360px,1fr);gap:22px;align-items:center;
  border:1px solid rgba(245,230,163,.2);border-radius:2px;
  background:
    linear-gradient(145deg,rgba(10,5,9,.94),rgba(61,9,16,.78),rgba(8,8,13,.92)),
    radial-gradient(circle at 50% 0%,rgba(255,42,42,.28),transparent 42%);
  box-shadow:0 42px 160px rgba(0,0,0,.75),0 0 120px rgba(196,30,30,.36),inset 0 1px 0 rgba(245,230,163,.12);
  animation:pact-card-rise .65s cubic-bezier(.16,1,.3,1);
}
.pact-ritual-card::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(90deg,transparent,rgba(245,230,163,.58),transparent) top/100% 2px no-repeat,
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:100% 2px,28px 28px,28px 28px;opacity:.72;
}
.pact-ritual-card>*{position:relative;z-index:1}
.pact-ritual-stage{
  position:relative;min-height:560px;display:grid;place-items:center;perspective:1200px;
  /*border:1px solid rgba(245,230,163,.12);
  background:
    radial-gradient(circle at 50% 48%,rgba(255,42,42,.22),transparent 44%),
    linear-gradient(135deg,rgba(255,255,255,.035),rgba(255,255,255,.01));
  box-shadow:inset 0 0 70px rgba(255,42,42,.08),0 0 60px rgba(0,0,0,.34);*/
  overflow:hidden;
}
.pact-ritual-stage::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(circle at 50% 50%,transparent 34%,rgba(255,42,42,.18) 35%,transparent 36%),
    linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);
  background-size:100% 100%,36px 36px,36px 36px;opacity:.65;
}
.pact-ritual-3d{
  position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;
}
.pact-ritual-image{
  position:relative;z-index:1;width:min(460px,88%);height:auto;object-fit:contain;
  filter:drop-shadow(0 32px 44px rgba(0,0,0,.62)) drop-shadow(0 0 34px rgba(255,42,42,.22));
  transform:rotateX(8deg) rotateY(-10deg) translateY(4px);
  animation:pact-image-float 4.2s ease-in-out infinite;
}
.pact-ritual-stage.is-three .pact-ritual-image{opacity:.18;filter:blur(.4px) drop-shadow(0 0 28px rgba(255,42,42,.18))}
.pact-ritual-content{position:relative;z-index:2;padding:12px 6px}
.pact-ritual-seal{
  width:118px;height:118px;margin:0 auto 22px;border-radius:50%;display:grid;place-items:center;
  border:1px solid rgba(255,42,42,.52);color:#f5e6a3;font-family:'Cinzel',serif;font-size:52px;
  background:radial-gradient(circle,rgba(255,42,42,.42),rgba(20,4,8,.86) 62%);
  box-shadow:0 0 70px rgba(255,42,42,.44),0 0 110px rgba(201,168,76,.16),inset 0 0 32px rgba(245,230,163,.1);
  animation:pact-seal-beat 1.7s ease-in-out infinite;
}
.pact-ritual-kicker{font-size:12px;font-weight:900;letter-spacing:6px;text-transform:uppercase;color:#c9a84c;margin-bottom:14px}
.pact-ritual-title{font-family:'Cinzel',serif;font-size:clamp(36px,5vw,62px);line-height:.92;color:#f0ebe3;text-shadow:0 16px 55px #000}
.pact-ritual-title span{display:block;color:#ff2a2a;text-shadow:0 0 34px rgba(255,42,42,.54)}
.pact-ritual-copy{margin:18px auto 0;max-width:520px;color:#bdb3c9;font-size:15px;line-height:1.75}
.pact-blood-reward{
  width:max-content;max-width:100%;margin:24px auto 0;padding:12px 22px;border:1px solid rgba(255,42,42,.34);
  background:linear-gradient(135deg,rgba(255,42,42,.14),rgba(201,168,76,.08));box-shadow:0 0 42px rgba(255,42,42,.22);
  color:#f5e6a3;font-family:'Cinzel',serif;font-size:26px;font-weight:800;
}
.pact-ritual-actions{display:flex;justify-content:center;gap:14px;margin-top:28px;flex-wrap:wrap}
.pact-ritual-actions a,.pact-ritual-actions button{
  min-height:44px;border-radius:0;padding:0 22px;clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px);
  font-size:11px;font-weight:900;letter-spacing:2.2px;text-transform:uppercase;text-decoration:none;cursor:pointer;
}
.pact-ritual-actions a{display:inline-flex;align-items:center;border:1px solid rgba(255,42,42,.42);background:linear-gradient(135deg,#781314,#d52323);color:#fff;box-shadow:0 14px 48px rgba(196,30,30,.34)}
.pact-ritual-actions button{border:1px solid rgba(201,168,76,.24);background:rgba(8,4,8,.62);color:#f5e6a3}
.pact-spark{position:absolute;left:50%;top:50%;width:5px;height:5px;border-radius:50%;background:#ff2a2a;box-shadow:0 0 18px #ff2a2a;animation:pact-spark-flight var(--duration) ease-out forwards;transform:rotate(var(--angle)) translateX(0)}
@keyframes pact-ring-expand{0%{opacity:.8;transform:translate(-50%,-50%) scale(.72)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.16)}}
@keyframes pact-sigil-spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes pact-card-rise{from{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes pact-image-float{0%,100%{transform:rotateX(8deg) rotateY(-10deg) translateY(4px) scale(1)}50%{transform:rotateX(4deg) rotateY(8deg) translateY(-10px) scale(1.035)}}
@keyframes pact-seal-beat{0%,100%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.045);filter:brightness(1.22)}}
@keyframes pact-spark-flight{0%{opacity:0;transform:rotate(var(--angle)) translateX(0) scale(.6)}16%{opacity:1}100%{opacity:0;transform:rotate(var(--angle)) translateX(var(--distance)) scale(1.35)}}
@media(max-width:900px){
  .pact-ritual-card{grid-template-columns:1fr;min-height:0;max-height:calc(100vh - 32px);overflow-y:auto;padding:22px}
  .pact-ritual-stage{min-height:360px}
  .pact-ritual-image{width:min(320px,86%)}
}

/* MODAL */
.modal-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,0.85);backdrop-filter:blur(16px);
  z-index:200;display:none;align-items:center;justify-content:center;padding:24px;
}
.modal-overlay.open{display:flex}
.modal{
  background:var(--dark-elevated);border:1px solid rgba(139,26,26,0.15);
  border-radius:12px;max-width:700px;width:100%;max-height:90vh;
  overflow-y:auto;position:relative;
}
.modal-close{
  position:absolute;top:14px;right:14px;
  background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);
  color:var(--text-muted);width:34px;height:34px;border-radius:50%;cursor:pointer;
  display:flex;align-items:center;justify-content:center;font-size:16px;
  transition:all 0.3s;z-index:5;
}
.modal-close:hover{background:rgba(196,30,30,0.1);color:var(--blood-bright);border-color:rgba(196,30,30,0.3)}
.modal-img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:12px 12px 0 0}
.modal-body{padding:28px}
.modal-body h2{font-family:'Cinzel',serif;font-size:26px;font-weight:700;color:#fff;margin-bottom:6px}
.modal-meta{font-size:12px;color:var(--blood-bright);letter-spacing:1px;margin-bottom:18px}
.modal-body p{font-size:13px;line-height:1.8;color:var(--text-muted);margin-bottom:24px}
.modal-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}
.modal-stat{
  background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.04);
  border-radius:6px;padding:14px;text-align:center;
}
.modal-stat .val{font-family:'Cinzel',serif;font-size:22px;font-weight:700;color:var(--blood-bright);display:block}
.modal-stat .lbl{font-size:9px;color:var(--text-dim);letter-spacing:1.5px;text-transform:uppercase;margin-top:3px}
.modal-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}
.modal-price{font-family:'Cinzel',serif;font-size:26px;font-weight:800;color:var(--blood-bright)}
.modal-buy{
  flex:1;max-width:240px;
  background:linear-gradient(135deg,#6b1010,var(--blood-bright));
  color:#fff;border:none;padding:14px 28px;border-radius:6px;
  font-family:'Inter',sans-serif;font-size:12px;font-weight:700;
  letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:all 0.3s;
}
.modal-buy:hover{box-shadow:0 8px 40px rgba(196,30,30,0.35);transform:translateY(-2px)}

/* SCROLL ANIMATIONS */
.fade-up{opacity:0;transform:translateY(30px);transition:all 0.7s cubic-bezier(0.23,1,0.32,1)}
.fade-up.visible{opacity:1;transform:translateY(0)}

/* SCROLLBAR */
::-webkit-scrollbar{width:5px}
::-webkit-scrollbar-track{background:var(--dark)}
::-webkit-scrollbar-thumb{background:rgba(139,26,26,0.25);border-radius:3px}
::-webkit-scrollbar-thumb:hover{background:rgba(196,30,30,0.4)}

@media(max-width:900px){
  header{padding:0 16px}
  body > header > nav{display:none}
  .hero-content{bottom:34px;padding:0 16px}
  .hero-video-sound{right:16px;bottom:86px}
  .hero-stats{gap:24px;flex-wrap:wrap}
  section{padding:70px 16px}
  .alucard-manifesto{padding:72px 16px 64px}
  .alucard-manifesto-inner{grid-template-columns:1fr;gap:0}
  .alucard-manifesto-art{min-height:500px;order:0}
  .alucard-manifesto-art::before{content:none}
  .alucard-manifesto-art img{width:min(112vw,520px);bottom:-42px}
  .alucard-manifesto-panel{order:1;padding:34px 22px 28px;min-height:0}
  .alucard-manifesto-panel h2{font-size:30px}
  .alucard-manifesto-copy{font-size:14px;line-height:1.72}
  .alucard-manifesto-footer{align-items:center}
  .alucard-manifesto-cta{width:min(100%,360px)}
  .music-showcase-section{padding:74px 16px 78px}
  .music-platform-ribbon{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:0;
    padding:10px 0;
  }
  .music-platform-wordmark{min-height:42px;padding:0 8px}
  .music-platform-wordmark:nth-child(3n+1)::before{content:none}
  .music-platform-wordmark img{max-height:24px}
  .music-quote-stage{min-height:430px}
  .music-quote-slide{padding:34px 22px 28px}
  .music-quote-slide blockquote{font-size:18px;line-height:1.7}
  .music-quote-slide::before{right:18px;top:12px;font-size:70px}
  .modal-stats{grid-template-columns:repeat(2,1fr)}
  .modal-actions{flex-direction:column;align-items:stretch}
  .collection-unlock-modal{padding:14px}
  .collection-unlock-modal__panel{padding:30px 18px 18px;clip-path:none}
  .collection-unlock-modal__stats{grid-template-columns:1fr;gap:8px;margin:18px 0}
  .collection-unlock-modal__stats span{min-height:0}
  .collection-unlock-modal__actions{grid-template-columns:1fr}
  .collection-unlock-modal__secondary{min-width:0}
  .stat-value{font-size:22px}
  .join-section{padding:80px 16px}
  .join-form-card{padding:24px 18px}
  .social-buttons{flex-direction:column}
  .social-btn{min-width:100%}
  .join-perks{gap:8px 14px}
  .muro-section{padding:80px 16px}
  .muro-archive-list{gap:8px 10px}
  .muro-archive-entry{width:100%;grid-template-columns:auto minmax(0,1fr);min-width:0}
  .muro-archive-name{font-size:13px;min-width:0}
  .muro-archive-line{flex-wrap:wrap}
  .muro-archive-rank{text-align:left;white-space:normal}
  .muro-legend{gap:10px}
  .home-sponsors-section{
    padding:14px 16px 82px;
  }
  .home-sponsors-inner{
    width:100%;
  }
  .home-sponsors-grid{
    grid-template-columns:1fr;
  }
  .home-sponsor-card{
    grid-template-columns:112px minmax(0,1fr);
    min-height:148px;
    padding:14px;
  }
  .home-sponsor-image{
    min-height:106px;
  }
  .home-sponsor-image img{
    max-height:96px;
  }
  .home-tv-movement{
    padding:72px 16px;
  }
  .home-tv-movement-inner{
    grid-template-columns:1fr;
    gap:30px;
  }
  .home-tv-movement-wolf{
    right:-140px;
    bottom:-110px;
    width:min(720px,82vw);
    opacity:.38;
  }
  .home-tv-movement-cta{
    justify-self:start;
  }
}
@media(max-width:520px){
  .pactos-section{padding:96px 16px 72px}
  .pactos-inner{text-align:left}
  .pactos-inner .section-line{justify-content:flex-start;width:150px;margin-left:0;margin-right:0}
  .pactos-kicker{margin-top:0;margin-bottom:12px;font-size:9px;letter-spacing:3.2px}
  .pactos-title{font-size:31px;margin-bottom:12px}
  .pactos-desc{max-width:none;margin:0 0 24px;font-size:13px;line-height:1.65}
  .pacto-hero-art{width:min(82vw,300px);margin:2px auto 34px}
  .pactos-groups{gap:34px}
  .pactos-group{gap:16px}
  .pactos-group-head{margin:0;text-align:left;gap:6px}
  .pactos-group-head p{font-size:9px;letter-spacing:2.5px}
  .pactos-group-head h3{font-size:25px}
  .pactos-group-head span{font-size:13px;line-height:1.55}
  .pactos-grid{grid-template-columns:1fr;gap:16px}
  .pacto-card{padding:26px 18px 22px;text-align:left;border-radius:10px}
  .pacto-popular-tag{padding:6px 13px;border-radius:0 10px 0 10px;font-size:8px;letter-spacing:1.2px}
  .pacto-icon-img{width:min(160px,58vw);margin:0 auto 16px}
  .pacto-name{font-size:18px;text-align:center;margin-bottom:12px}
  .pacto-price{text-align:center;font-size:34px}
  .pacto-freq{text-align:center;margin-bottom:18px}
  .pacto-perks{margin-bottom:22px}
  .pacto-perks li{font-size:12px;padding:6px 0;line-height:1.42}
  .pacto-btn{min-height:44px;padding:0 14px;font-size:10px;letter-spacing:1.8px}
  .music-showcase-head{max-width:320px;margin-bottom:28px}
  .music-showcase-kicker{font-size:10px;letter-spacing:3.2px}
  .music-platform-ribbon{
    width:min(100%,330px);
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:0;
  }
  .music-platform-wordmark{min-height:44px}
  .music-platform-wordmark img{max-height:22px}
  .music-quote-carousel{width:min(100%,300px)}
  .music-quote-stage{min-height:520px}
  .music-quote-slide{padding:30px 20px 24px}
  .music-quote-slide blockquote{font-size:16px;line-height:1.72}
  .music-quote-controls{gap:12px}
  .home-sponsors-head{
    text-align:left;
  }
  .home-sponsors-head p{
    margin-left:0;
    margin-right:0;
  }
  .home-sponsor-card{
    grid-template-columns:1fr;
  }
  .home-sponsor-image{
    min-height:128px;
  }
  .home-tv-movement{
    min-height:0;
    padding:74px 16px 82px;
  }
  .home-tv-movement-wolf{
    right:-180px;
    bottom:-86px;
    width:min(680px,125vw);
    opacity:.32;
    transform:rotate(-7deg);
  }
  .home-tv-movement-inner{
    grid-template-columns:1fr;
    gap:28px;
  }
  .home-tv-movement-copy{
    max-width:620px;
  }
  .home-tv-movement h2{
    font-size:clamp(28px,8vw,40px);
  }
  .home-tv-movement-cta{
    justify-self:start;
    width:min(100%,320px);
  }
}
@media(orientation:portrait){
  .hero{min-height:100svh;height:100svh}
  .hero-banner{display:block}
  .hero-banner::before{opacity:0}
  .hero-banner img,.hero-banner video{
    width:100%;
    height:100%;
    max-height:none;
    object-fit:cover;
    object-position:50% 50%;
    filter:none;
  }
  .hero-banner::after{
    background:
      linear-gradient(to top,var(--dark) 0%,rgba(5,5,8,.72) 16%,rgba(5,5,8,.08) 48%,rgba(5,5,8,.46) 100%),
      linear-gradient(to right,rgba(5,5,8,.28),transparent 24%,transparent 76%,rgba(5,5,8,.28));
  }
  .hero-content{bottom:max(22px,env(safe-area-inset-bottom));padding:0 18px}
  .hero-video-sound{left:50%;right:auto;bottom:86px;transform:translateX(-50%);white-space:nowrap}
  .btn-blood{width:min(100%,330px);justify-content:center;padding:14px 22px}
}
@media(max-width:520px) and (orientation:portrait){
  .hero-banner img,.hero-banner video{object-position:52% 50%}
}
@media(min-width:701px) and (max-width:1100px) and (orientation:landscape){
  .hero-banner img,.hero-banner video{object-position:center center}
}
