/* Festival graphics share the square cuts and stepped corners of the Summit Play mark. */
:root {
  --paper: #f5f8ff;
  --night: #09152d;
  --cobalt: #1548e9;
  --ice: #99d9ff;
  --bronze: #865a1a;
  --angle: polygon(0 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%);
}
.masthead { border-bottom: 2px solid var(--ink); }
.nav-inner { min-height: 72px; }
.nav-inner nav a { position: relative; font-size: 13px; }
.nav-inner nav a::after { content: ""; position: absolute; height: 3px; background: var(--blue); bottom: 4px; left: 0; right: 0; transform: scaleX(0); transform-origin: left; transition: transform .2s ease; }
.nav-inner nav a:focus-visible::after { transform: scaleX(1); }
.section { padding-block: clamp(38px,3.8vw,61px); }
.poster {
  position: relative; isolation: isolate; display: grid; place-items: center; overflow: clip;
  min-height: clamp(410px,33.4vw,520px);
  background: radial-gradient(ellipse at 49% 38%,#fffdf7 12%,#f5ead2 58%,#e4c98f 93%);
}
.print-grain { position: absolute; inset: 0; z-index: -1; background: radial-gradient(#ad884b75 .8px,transparent 1px) 0 0/6px 6px; mask-image: linear-gradient(115deg,black 7%,transparent 49%,black 95%); }
.poster::before, .poster::after {
  content: ""; position: absolute; z-index: -1; width: 10%; height: 72%;
  border-inline: 1px solid #b79454; background: linear-gradient(90deg,#d8b57477,#f4e3c311); transform: skew(-18deg); opacity: .75;
}
.poster::before { left: 24%; top: -15%; }
.poster::after { right: 25%; bottom: -35%; }
.poster .hero-content { margin: auto; padding: 28px 0 31px; width: fit-content; }
.poster .edition { background: #fffaf0; border: 1px solid #d5bf93; padding: 6px 8px; box-shadow: 3px 3px #e5d0a9; }.poster .edition-year { background: #233452; }
.poster h1 {
  animation: none; text-transform: uppercase; display: flex; flex-direction: column; align-items: center;
  margin: 19px 0 21px; font: italic 800 clamp(73px,7.2vw,120px)/.87 var(--display);
  letter-spacing: -.043em; transform: rotate(-3deg);
}
.city { display: block; }
.playline { display: flex; gap: .085em; align-items: center; justify-content: center; margin-top: .035em; }
.poster h1 .verb { font: italic 800 .26em/.92 var(--display); color: #183264; letter-spacing: -.015em; text-align: right; }
.poster h1 em { font-size: 1.16em; line-height: .82; color: #1648d9; text-shadow: 0 .035em #bbd2fa; }
.poster h1 em span { color: #163c9a; }
.poster .hero-meta { font-size: 12px; }
.poster .hero-prize { margin: 13px 0 16px; border: 0; border-left: 3px solid #d59b27; border-radius: 0; background: linear-gradient(90deg,#ffe59d,#fff6d7); padding: 5px 14px 5px 9px; }
.hero-actions .btn { clip-path: polygon(0 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%); border-radius: 2px; box-shadow: none; min-height: 45px; }
.hero-secondary { border-bottom: 1px solid #9aa8bd; }
.wing {
  position: absolute; inset-block: 0; width: 33%; isolation: isolate; pointer-events: none;
  --accent: #ffd35a; --floor: #a66f27; --shade: #302329; --slant: polygon(0 0,100% 0,68% 100%,0 100%);
}
.wing-fire { left: 0; }
.wing-royale { right: 0; --accent: #94e1ff; --floor: #4e8edb; --shade: #11295b; --slant: polygon(30% 0,100% 0,100% 100%,0 100%); }
.scene-field { position: absolute; inset: 0; clip-path: var(--slant); background: var(--shade); }
.scene-photo { position: absolute; inset: 0; background-size: cover; }
.wing-fire .scene-photo { background-image: linear-gradient(122deg,#0a122b12 0%,#17132d3b 50%,#8e5c2b38),url("assets/free-fire-torneo.webp"); background-position: 53% 50%; }
.wing-royale .scene-photo { background-image: linear-gradient(118deg,#16439655,#0e285018 60%),url("assets/clash-arena.webp"); background-position: 65% 55%; }
.scene-field::before { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(0deg,#0b133988 0%,transparent 58%); }
.scene-field::after {
  content: ""; position: absolute; inset: 0; background: var(--accent);
  clip-path: polygon(92% 0,100% 0,68% 100%,60% 100%,65% 85%,62% 85%);
}
.wing-royale .scene-field::after { clip-path: polygon(30% 0,35% 0,6% 100%,0 100%,6% 80%,4% 80%); }
.screen-dots {
  position: absolute; inset: 0; opacity: .8; background: radial-gradient(#fff9 1px,transparent 1.5px) 0 0 / 5px 5px;
  mask-image: linear-gradient(135deg,black,transparent 49%,transparent 70%,black);
}
.speed-strokes { position: absolute; z-index: 1; left: -13%; bottom: 14%; width: 46%; height: 16%; transform: skewY(-13deg); background: repeating-linear-gradient(0deg,transparent 0 8px,var(--accent) 8px 11px); mask-image: linear-gradient(90deg,#000 15%,transparent); }
.wing-royale .speed-strokes { left: auto; right: 0; top: 9%; transform: rotate(180deg) skewY(-16deg); }
.sprite-pixels { position: absolute; z-index: 1; top: 11%; right: 10%; width: 9px; height: 9px; background: var(--accent); box-shadow: 10px -10px var(--accent),20px -10px var(--accent),20px -20px var(--accent),38px -3px #b4c4e2; transform: rotate(-1deg); }
.wing-royale .sprite-pixels { top: auto; right: auto; bottom: 12%; left: 4%; background: #204ae4; box-shadow: 10px -10px #204ae4,20px -10px #204ae4,20px -20px #67b7ef; }
.float-layer { position: absolute; z-index: 2; inset: 0; transform: translate(var(--offset-x,0px),var(--offset-y,0px)); }
.champion { position: absolute; display: block; max-width: none; filter: drop-shadow(4px 10px 8px #07102648); }
.wing-fire .champion { height: 147%; width: auto; left: 9%; top: 2.5%; }
.wing-royale .champion { width: 89%; right: 1.4%; bottom: 0; }
.game-plate {
  position: absolute; bottom: 18px; z-index: 3; display: grid; grid-template-columns: 1fr auto; gap: 2px 17px;
  min-width: 126px; padding: 9px 15px 10px; color: white; background: #0c1931; border-left: 4px solid var(--accent);
  pointer-events: auto; transform: skewX(-7deg); box-shadow: 4px 4px var(--accent);
}
.wing-fire .game-plate { left: clamp(14px,3.7vw,74px); }
.wing-royale .game-plate { right: clamp(17px,3.7vw,74px); }
.game-plate small { grid-column: 1; font-size: 8px; font-weight: 700; text-transform: uppercase; letter-spacing: .15em; color: var(--accent); }
.game-plate b { grid-column: 1; font: italic 800 25px/.92 var(--display); text-transform: uppercase; }
.game-plate svg { grid-column: 2; grid-row: 1/3; align-self: center; color: var(--accent); }
.time-strip { position: relative; background: linear-gradient(112deg,#0e1c33 7%,#192c47 45%,#283b52 65%,#15233c 65.2%,#101b30 100%); border-top: 3px solid #cba052; }
.time-strip::before { content: ""; position: absolute; top: -3px; left: 0; width: 19%; height: 3px; background: #efbe4d; }
.countdown-layout { min-height: 84px; }
.clock { gap: 9px; }
.clock>div { padding: 6px 4px 4px; min-width: 45px; background: #0713276b; border-bottom: 1px solid #50648b; }
.clock>i { align-self: center; margin-bottom: 8px; }
.clock b { font-size: 32px; }
.section-head { margin-bottom: 20px; }
.prize-total { display: flex; align-items: center; gap: 10px; color: #745014; font-size: 11px; padding: 6px 15px; background: #fff7df; border-left: 3px solid #d7a849; }
.prize-total>.ic { width: 26px; height: 26px; stroke-width: 1.5; }
.prize-total strong { display: block; color: #79500a; font: italic 800 29px/.97 var(--display); }
.tournaments {
  background: radial-gradient(ellipse at 87% 12%,#ead4aa,transparent 43%),linear-gradient(112deg,#fbf8ef 0 30%,#f6ecda 30% 68%,#f0e2c6 68%);
  border-bottom: 1px solid #dcc89d;
}
.tournaments .kicker,.experience .kicker { color: var(--bronze); }
.tournaments .slashes,.experience .slashes { color: var(--bronze); }
.tournaments h2>span,.experience h2>span { color: var(--bronze); }
.tournament-grid { gap: 20px; }
.game-card { position: relative; border: 1px solid #aebcd0; border-radius: 5px; box-shadow: 3px 4px 0 #ddcbab; transform: perspective(1000px) rotateX(var(--tilt-y,0deg)) rotateY(var(--tilt-x,0deg)); transition: box-shadow .22s,border-color .22s; }
.game-cover { height: clamp(200px,17.8vw,283px); }
.game-cover img.cover-art { object-position: 50% 37%; }
.game-cover .card-champion { position: absolute; right: 1%; bottom: -15%; width: 52%; height: 106%; object-fit: contain; filter: drop-shadow(5px 5px 3px #11264c5c); }
.game-overlay { background: linear-gradient(0deg,#061128f5 0%,#0b14283b 53%,transparent 70%),linear-gradient(105deg,#0d13223f,transparent 65%); }
.game-type { position: absolute; top: 16px; left: 20px; background: #0b1731e8; border-left: 3px solid #ffcb4b; padding: 6px 9px; color: #fff; }
.game-cr .game-type { border-color: #85ceff; }
.game-title { bottom: 18px; left: 22px; }
.game-title h3 { margin: 0; font-size: clamp(47px,4.5vw,72px); text-shadow: 2px 2px #18233980; }
.game-title p { font-size: 12px; font-weight: 600; color: #f1f5fd; margin: 3px 0 0; }
.game-foot { padding: 11px 20px; background: #fffcf6; }
.game-foot .prize { gap: 10px; font: 800 26px/1 var(--display); }
.prize small { display: inline; margin-left: 6px; font: 600 11px/1 Inter,sans-serif; color: #72562b; }
.game-foot .text-action { background: linear-gradient(115deg,#1642a6,#1c50ba); color: white; border-radius: 2px; padding: 9px 13px; font-size: 12px; }
.game-card:focus-within { border-color: var(--blue); box-shadow: 3px 5px 0 #a4beff; }
.game-foot .text-action:focus-visible { background: var(--blue); }
.bracket { display: grid; grid-template-columns: minmax(160px,.7fr) 2fr; gap: 18px; align-items: center; padding: 18px 22px; margin-top: 20px; position: relative; isolation: isolate; border: 1px solid #22344d; border-left: 4px solid #e0b65d; background: linear-gradient(107deg,#101d33,#203856 66%,#1d3049 66%); color: #fff; }
.bracket-head h3 { font: 800 29px/1 var(--display); margin: 2px 0 4px; }.bracket-head .micro { color: #ead195; }.bracket-head .text-action { padding: 2px 0; font-size: 11px; color: #c3ddff; }
.bracket-track { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; list-style: none; margin: 0; padding: 0; }
.bracket-track li { position: relative; padding: 2px 8px; text-align: center; }
.bracket-track b { font: italic 800 39px/.94 var(--display); color: #fff; }.bracket-track span { display: block; font-size: 11px; font-weight: 600; color: #dce4f2; line-height: 1.3; margin-top: 2px; }.bracket-track i { position: absolute; top: 22%; left: -17px; color: #d3ba85; font-style: normal; font-size: 20px; }.bracket-track li:last-child b { color: #f6cf72; }
.program { background: linear-gradient(108deg,#fdfbf7,#fff 50%,#eff4fa); }
.program-grid { align-items: center; }
.schedule { position: relative; padding-left: 22px; border: 0; }
.schedule::before { content: ""; position: absolute; left: 5px; top: 19px; bottom: 20px; width: 2px; background: #b6c9e7; }
.schedule li { position: relative; padding: 12px 0; border-color: #c8d5e9; }
.schedule li::before { content: ""; position: absolute; left: -22px; top: calc(50% - 6px); width: 10px; height: 10px; outline: 3px solid #f2f6ff; border: 1px solid #3b63a2; background: #c8d9f2; transform: rotate(45deg); transition: background .4s; }
.schedule li.visited::before { background: var(--blue); border-color: var(--blue); }
.schedule li + li::after { content: ""; position: absolute; width: 2px; height: calc(100% - 10px); left: -17px; bottom: calc(50% + 6px); background: var(--blue); transform-origin: top; transform: scaleY(0); transition: transform .48s ease; }
.schedule li.visited + li.visited::after { transform: scaleY(1); }
.schedule li:last-child { border-bottom: 0; }
.band-card { border-radius: 5px; border-color: #d5c29d; box-shadow: 5px 5px 0 #e7dac3; }
.band-stage { isolation: isolate; height: 174px; background-color: #f3e3c6; background-image: radial-gradient(#c6a569 1px,transparent 1px),linear-gradient(110deg,transparent 54%,#ebd4aa 54% 69%,#fbf2df 69%); border: 1px solid #d5dff0; }
.ticket-stock { display: flex; align-items: center; gap: 11px; position: absolute; top: 16%; left: 18%; width: 65%; height: 60%; transform: rotate(8deg); border: 1px solid #a2b3d0; border-left: 8px solid var(--cobalt); padding: 7px 12px; background: linear-gradient(105deg,#fff 70%,#e3edfc 70%); box-shadow: 0 6px 9px #667c9e35; }
.ticket-stock img { align-self: flex-start; width: 28%; height: auto; }
.ticket-stock div { align-self: flex-start; padding-top: 4px; }.ticket-stock b,.ticket-stock small { display: block; }.ticket-stock b { font: italic 800 20px/1 var(--display); text-transform: uppercase; }.ticket-stock small { font-size: 8px; font-weight: 750; letter-spacing: .08em; margin-top: 4px; }
.wristband { top: 16px; height: 49px; background-image: repeating-linear-gradient(90deg,#ffffff12 0 1px,transparent 1px 3px),linear-gradient(100deg,#132671,#2552d9 39%,#213e9d 78%,#142969); box-shadow: 0 5px 0 #102b6b,0 11px 11px #13265454; }
.wristband::before { content: ""; height: 112%; width: 12px; border-radius: 3px; position: absolute; left: 5%; top: -7%; border: 1px solid #6c7791; background: linear-gradient(90deg,#4d5a71,#eaf5ff 34%,#aebbd2 57%,#505c78); }
.band-shadow { top: 77%; }.fire .ticket-stock { border-left-color: #edac27; }.fire .wristband { background-image: repeating-linear-gradient(90deg,#ffffff12 0 1px,transparent 1px 3px),linear-gradient(90deg,#13141b,#424349 45%,#191a21); }
.experience { background: linear-gradient(110deg,#f9f0dd,#ecdbb7); border-block: 1px solid #d6c099; }
.experience-grid { display: grid; grid-template-columns: 1.55fr 1fr; gap: 20px; }
.caster-story { background: #fffcf6; border: 1px solid #cdb483; overflow: hidden; border-radius: 5px; }
.caster-art {
  position: relative; overflow: hidden; isolation: isolate; height: clamp(175px,14.8vw,232px); display: flex; align-items: center;
  background: linear-gradient(121deg,#101d32 13%,#1f3855 46%,#805e2f 46.2% 67%,#bd9555 67.2% 82%,#a27e47 82.2%);
}
.caster-art::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(#f9edd466 1px,transparent 1.4px) 0 0/5px 5px; mask-image: linear-gradient(128deg,#000,transparent 35%,transparent 70%,#000); }
.caster-heading { position: relative; z-index: 1; padding: 14px 0 14px clamp(19px,2.4vw,37px); }
.experience .caster-heading .kicker,.experience .caster-heading .slashes { color: #f7d58e; }
.caster-heading .kicker { font-size: 9px; margin-bottom: 8px; }
.caster-heading h3 { font: italic 800 clamp(40px,4.1vw,66px)/.89 var(--display); text-transform: uppercase; color: #fff; letter-spacing: -.035em; transform: rotate(-3deg); text-shadow: 2px 3px #14233f; }
.caster-heading h3 span { color: #f4cd77; }
.radio-graphic { position: absolute; right: 2%; top: 3%; bottom: 0; width: 45%; display: grid; place-items: center; }
.radio-rings { width: 85%; aspect-ratio: 1; position: absolute; border-radius: 50%; border: 1px solid #ffe5aa8a; box-shadow: 0 0 0 11px #ffe3ad1a,0 0 0 12px #ffe3ad66,0 0 0 25px #ffe3ad1a; }
.air-waves { position: absolute; inset: 12% -2%; display: flex; gap: 4%; align-items: center; justify-content: space-between; }
.air-waves i { width: 2px; height: 33%; background: #fbe8bf; opacity: .68; }
.air-waves i:nth-child(3n) { height: 64%; }.air-waves i:nth-child(3n+1) { height: 17%; }
.caster-mic { position: relative; width: 91px; height: 145px; transform: rotate(12deg); filter: drop-shadow(5px 7px 0 #3b2c2173); }
.mic-body { position: absolute; width: 53%; height: 68%; top: 0; left: 23%; border: 2px solid #453a28; border-radius: 40px; background: linear-gradient(105deg,#fff4ce,#ddbe80 67%,#b3904f); box-shadow: inset -5px -8px #aa8a52; }
.mic-body::before { content: ""; position: absolute; inset: 10% 10% 39%; border-radius: 30px 30px 10px 10px; background: radial-gradient(#796331 1.1px,transparent 1.4px) 0 0/4px 4px,linear-gradient(115deg,#fff,#d6b87a); }
.mic-body::after { content: ""; position: absolute; left: 35%; bottom: 16%; width: 27%; height: 7%; border: 2px solid #7b6742; border-radius: 5px; background: #665634; }
.mic-cradle { position: absolute; top: 39%; left: 13%; width: 74%; height: 37%; border: 5px solid #f0ddb2; border-top: 0; border-radius: 0 0 31px 31px; box-shadow: 2px 2px #544529; }
.mic-stand { position: absolute; width: 8%; height: 24%; top: 75%; left: 46%; background: linear-gradient(90deg,#b39357,#fff6d8); }
.mic-stand::after { content: ""; position: absolute; bottom: 0; left: -17px; width: 41px; height: 6px; border-radius: 6px; background: #ebdbb8; }
@media (prefers-reduced-motion:no-preference) {
  html:not(.reduce-motion) .scene-active .air-waves i { animation: wave-breathe 2s ease-in-out infinite alternate; }
  .air-waves i:nth-child(even) { animation-delay: -.9s!important; }
}
@keyframes wave-breathe { to { transform: scaleY(.5); } }
.broadcast-intro { padding: 18px 23px 20px; }
.broadcast-intro .kicker { margin-bottom: 6px; font-size: 9px; }.broadcast-intro h3 { font: 800 34px/1 var(--display); }
.broadcast-intro .section-copy { margin: 8px 0 11px; max-width: 65ch; font-size: 13px; line-height: 1.55; }
.broadcast-status { color: #294974; font-size: 11px; }
.diamond-card { display: flex; flex-direction: column; justify-content: space-between; gap: 5px; position: relative; isolation: isolate; padding: 16px 24px 22px; color: #fff; overflow: hidden; border-radius: 5px; background: radial-gradient(ellipse at 55% 22%,#315a93,transparent 53%),linear-gradient(135deg,#212e48,#132844 72%); }
.diamond-card::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(#a1ceff66 1px,transparent 1px) 0 0/6px 6px; mask-image: linear-gradient(152deg,black,transparent 49%); }
.gem-stage { position: relative; height: 140px; flex: 1; min-height: 136px; display: grid; place-items: center; isolation: isolate; }
.gem-orbit { position: absolute; width: 66%; height: 50%; border: 1px solid #93befa66; transform: rotate(-13deg) skew(-20deg); border-radius: 50%; }
.cut-gem { position: relative; width: clamp(100px,9.5vw,152px); aspect-ratio: 1.4; transform: rotate(-9deg); filter: drop-shadow(0 9px 10px #07112766); }
.cut-gem i { position: absolute; inset: 0; }
.cut-gem i:nth-child(1) { clip-path: polygon(0 28%,20% 0,33% 28%); background: #9de9ff; }
.cut-gem i:nth-child(2) { clip-path: polygon(20% 0,50% 0,33% 28%); background: #e4fbff; }
.cut-gem i:nth-child(3) { clip-path: polygon(33% 28%,50% 0,72% 28%); background: #69c5ff; }
.cut-gem i:nth-child(4) { clip-path: polygon(50% 0,77% 0,100% 28%,72% 28%); background: linear-gradient(145deg,#d4f7ff,#3692f6); }
.cut-gem i:nth-child(5) { clip-path: polygon(0 28%,34% 28%,51% 100%); background: linear-gradient(40deg,#2456c1,#76c7ff); }
.cut-gem i:nth-child(6) { clip-path: polygon(33% 28%,73% 28%,51% 100%); background: linear-gradient(#99e6ff,#2779e9); }
.cut-gem i:nth-child(7) { clip-path: polygon(72% 28%,100% 28%,51% 100%); background: linear-gradient(80deg,#1e4099,#4aabff); }
.gem-shadow { position: absolute; width: 34%; height: 12px; background: #08142969; filter: blur(6px); border-radius: 50%; bottom: 7%; z-index: -1; }
.diamond-card h3 { margin: 7px 0 9px; font: italic 800 clamp(44px,4.5vw,72px)/.95 var(--display); letter-spacing: -.025em; }
.diamond-card h3>span { font-size: .65em; }.diamond-card h3 b,.diamond-card h3 b>span { font: inherit; }
.site-shell {
  --page-inset: clamp(22px,3.2vw,52px);
  --grid-gap: clamp(24px,2.6vw,42px);
  background: white;
}
.site-shell .wrap { width: auto; max-width: none; margin-inline: var(--page-inset); }
@media (min-width: 961px) {
  .site-shell .wrap {
    width: min(1800px,calc(100% - var(--page-inset) - var(--page-inset)));
    margin-inline: auto;
  }
  .hero { container-type: inline-size; }
  .poster { min-height: clamp(410px,32cqw,550px); }
  .wing-royale .champion { height: 97%; object-fit: contain; object-position: center bottom; }
  .poster h1 { font-size: clamp(73px,7.2cqw,109px); }
  .tournament-grid,.program-grid,.entrance,.experience-grid,.location,.faq {
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: var(--grid-gap);
  }
  .site-shell .section { padding-block: clamp(42px,3.6vw,58px); }
}
.audience {
  position: relative; isolation: isolate; overflow: clip;
  border-block: 1px solid #d9c391;
  background: linear-gradient(112deg,#fcf7eb 12%,#f4e6c9 61%,#ecdbb5);
}
.audience::after {
  content: ""; position: absolute; z-index: -1; inset: 0 0 0 auto; width: 18%;
  background: repeating-linear-gradient(110deg,transparent 0 15px,#a37a3520 15px 19px);
  mask-image: linear-gradient(90deg,transparent,#000);
}
.audience-layout {
  display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--grid-gap);
  align-items: center; padding-block: clamp(25px,2.5vw,39px);
}
.audience .kicker { margin: 0 0 8px; color: #76521a; }
.audience .slashes { color: #a97b2b; }
.audience h2 { font: 800 clamp(28px,2.55vw,39px)/1.08 var(--display); }
.audience-stat { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 15px; }
.audience-value {
  color: #143e9e; font: 800 clamp(57px,5.1vw,76px)/1 var(--display);
  letter-spacing: -.02em; white-space: nowrap; font-variant-numeric: tabular-nums;
}
.audience-value [aria-hidden="true"] { font: inherit; letter-spacing: inherit; }
.audience-unit { font-weight: 650; font-size: 15px; line-height: 1.4; color: #29354a; }
.event-footer { position: relative; background: #101e35; color: #eef3fb; border: 0; border-top: 4px solid #c79c52; }
.footer-grid {
  display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);
  gap: var(--grid-gap); padding-block: 34px 27px;
}
.footer-event img { width: 126px; height: auto; }
.footer-event p,.footer-contact p { margin-top: 12px; color: #c4cfdf; font-size: 13px; line-height: 1.6; }
.event-footer h2 { color: #f2d18f; font: 800 24px/1.2 var(--display); margin: 0 0 13px; }
.footer-nav ul { display: grid; grid-template-columns: repeat(2,max-content); gap: 3px 23px; list-style: none; margin: 0; padding: 0; }
.footer-nav a { display: inline-block; padding: 3px 0; font-size: 13px; }
.footer-contact address { font-size: clamp(15px,1.25vw,20px); line-height: 1.45; font-weight: 650; font-style: normal; overflow-wrap: anywhere; }
.footer-contact p { margin-top: 6px; max-width: 35ch; font-size: 12px; }
.footer-bottom { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 4px 20px; border-top: 1px solid #3c4960; padding-block: 13px; }
.footer-bottom small,.footer-bottom button { font-size: 12px; color: #d2dceb; }
.footer-bottom>div { display: flex; gap: 18px; flex-wrap: wrap; }
.footer-bottom button { border: none; background: transparent; padding: 5px 0; }
.event-footer a:hover,.footer-bottom button:hover { color: #ffdd9c; text-decoration: underline; text-underline-offset: 3px; }
.faq-contact { color: var(--blue); text-decoration: underline; text-underline-offset: 3px; }
@media (min-width: 621px) and (max-width: 880px) {
  .footer-grid { grid-template-columns: .78fr 1fr 1fr; gap: 20px; }
  .footer-nav ul { grid-template-columns: 1fr; }
}
.sample-pass { position: relative; overflow: hidden; background: linear-gradient(117deg,#142449 57%,#193776 57% 69%,#162a55 69%); }
.sample-pass::after { content: ""; position: absolute; right: 8%; top: 18%; width: 13px; height: 13px; background: #8fc9ff; box-shadow: 13px -13px #82beff,26px -13px #5b99ec,26px -26px #5b99ec; opacity: .6; }
.sample-pass.fire { background: linear-gradient(117deg,#222430 57%,#464031 57% 69%,#292b32 69%); }.sample-pass.fire::after { background: #eab744; box-shadow: 13px -13px #eab744,26px -13px #eab744,26px -26px #eab744; }
[data-count] { font-variant-numeric: tabular-nums; }.sr-only { border: 0; padding: 0; }.schedule time { white-space: nowrap; }
@media (hover:hover) and (pointer:fine) {
  .nav-inner nav a:hover::after { transform: scaleX(1); }
  .game-plate:hover { color: var(--accent); }
  .game-card:hover { box-shadow: 5px 8px 0 #c6d7f7; border-color: #7699d4; }
  .game-card:hover .cover-art { transform: scale(1.035); }
  .game-card:hover .card-champion { transform: translateY(-4px) scale(1.025); }
  .game-foot .text-action:hover { background: var(--blue); text-decoration: none; }
}
@media (max-width:950px) and (min-width:771px) {
  .wing { width: 31%; }.wing-fire .champion { height: 130%; left: -1%; top: 4%; }.wing-royale .champion { width: 101%; bottom: 7%; right: -1%; }
}
@media (max-width:770px) {
  .poster { display: grid; grid-template-columns: 1fr 1fr; min-height: 0; }
  .poster .hero-content { grid-column: 1/-1; grid-row: 1; padding: 24px 12px 22px; }
  .poster h1 { font-size: clamp(67px,12vw,83px); margin: 12px 0 17px; }
  .poster .hero-meta { font-size: 11px; }.hero-actions .btn { min-height: 40px; }.hero-prize { font-size: 11px; }
  .wing { position: relative; grid-row: 2; justify-self: stretch; inset: auto; width: auto; height: clamp(140px,25vw,188px); overflow: clip; }
  .wing-fire { grid-column: 1; margin-right: -5%; --slant: polygon(0 0,100% 0,89% 100%,0 100%); }
  .wing-royale { grid-column: 2; margin-left: -5%; --slant: polygon(12% 0,100% 0,100% 100%,0 100%); }
  .wing-fire .champion { height: 254%; left: 13%; top: 3%; }
  .wing-royale .champion { width: auto; height: 116%; right: 9%; bottom: -19%; }
  .game-plate { min-width: 0; padding: 4px 8px 6px; gap: 2px 8px; bottom: 9px; border-left-width: 3px; box-shadow: 2px 2px var(--accent); }
  .wing-fire .game-plate { left: 11px; }.wing-royale .game-plate { right: 12px; }
  .game-plate b { font-size: 18px; }.game-plate small { font-size: 6.5px; }.game-plate svg { width: 12px; }
  .speed-strokes { height: 25%; }.sprite-pixels { transform: scale(.62); }
  .wing-fire .scene-field::after { clip-path: polygon(96% 0,100% 0,89% 100%,85% 100%); }
  .wing-royale .scene-field::after { clip-path: polygon(12% 0,16% 0,4% 100%,0 100%); }
  .game-cover { height: 180px; }.game-title { left: 14px; bottom: 14px; }.game-title h3 { font-size: 40px; }.game-type { top: 10px; left: 13px; }
  .game-foot { padding: 11px 12px; }.game-foot .prize { font-size: 22px; }.prize small { display: block; margin: 2px 0 0; font-size: 9px; }
  .bracket { padding: 13px; gap: 10px; }.bracket-track { gap: 5px; }.bracket-track i { left: -8px; }.bracket-track span { font-size: 10px; }
  .experience-grid { grid-template-columns: 1.2fr 1fr; gap: 14px; }.diamond-card { padding-inline: 17px; }
  .band-stage { height: 162px; }
}
@media (max-width:620px) {
  .nav-inner { min-height: 60px; }.brand img { width: 75px; }
  .poster .hero-content { padding: 19px 8px 18px; }
  .poster .edition { font-size: 8px; padding: 3px 6px; }
  .poster .hero-prize { margin: 9px 0 12px; padding-block: 3px; }
  .poster h1 { font-size: clamp(57px,14.7vw,78px); }.game-plate { bottom: 7px; }
  .clock { gap: 3px; }.clock>div { min-width: 24px; padding: 4px 1px 2px; }.clock b { font-size: 23px; }.clock>i { margin-bottom: 4px; }
  .countdown-layout { min-height: 64px; padding-block: 10px; }
  .section { padding-block: 31px; }.section-head { margin-bottom: 17px; }.kicker { margin-bottom: 7px; }
  .prize-total { font-size: 9px; padding: 4px 8px; gap: 7px; }.prize-total>.ic { width: 19px; height: 19px; }.prize-total strong { font-size: 22px; }
  .tournament-grid { gap: 15px; }.game-cover { height: clamp(165px,48vw,260px); }.game-foot { padding: 9px 13px; }.prize small { display: inline; margin-left: 5px; }.game-type { padding: 4px 7px; }.game-foot .text-action { padding: 8px 10px; }
  .bracket { grid-template-columns: 1fr; gap: 12px; margin-top: 15px; padding: 13px 10px; }
  .bracket-head { display: grid; grid-template-columns: 1fr auto; }.bracket-head .micro { grid-column: 1; }.bracket-head h3 { grid-column: 1; font-size: 25px; }.bracket-head .text-action { grid-column: 2; grid-row: 1/3; }.bracket-track b { font-size: 31px; }.bracket-track span { font-size: 9px; }
  .experience-grid { grid-template-columns: 1fr; }.caster-art { height: 148px; }.caster-mic { transform: scale(.77) rotate(12deg); }.caster-heading h3 { font-size: 37px; }.broadcast-intro { padding: 14px 16px 17px; }
  .diamond-card { flex-direction: row-reverse; align-items: center; padding: 18px; gap: 8px; }
  .reward-copy { flex: 1; }.diamond-card h3 { font-size: 40px; }.gem-stage { flex: 0 0 21%; min-width: 54px; min-height: 70px; height: 82px; }.cut-gem { width: 100%; }.gem-orbit { width: 113%; }
  .site-shell { --page-inset: 18px; }
  .audience-layout { grid-template-columns: minmax(0,1fr); gap: 14px; padding-block: 23px 24px; }
  .audience h2 { font-size: 27px; }
  .audience-stat { display: grid; grid-template-columns: minmax(0,1fr); gap: 2px; }
  .audience-value { font-size: clamp(56px,14vw,68px); }
  .audience-unit { font-size: 15px; }
  .footer-grid { grid-template-columns: minmax(0,1fr); gap: 20px; padding-block: 24px; }
  .footer-event { display: flex; align-items: center; gap: 15px; }
  .footer-event img { width: 90px; }
  .footer-event p { margin: 0; font-size: 12px; }
  .event-footer h2 { margin-bottom: 6px; font-size: 22px; }
  .footer-nav ul { grid-template-columns: 1fr 1fr; gap: 0 15px; }
  .footer-nav a { padding: 7px 0; }
  .footer-bottom { display: grid; gap: 6px; padding-block: 12px 16px; }
  .footer-bottom button { min-height: 32px; }
  .ticket-stock { left: 12%; width: 76%; }.band-stage { height: 148px; }.bracket-track li { padding-inline: 4px; }
}
@media (prefers-reduced-motion:no-preference) {
  html:not(.reduce-motion) .scene-active .champion { animation: hover-character 5.3s ease-in-out infinite alternate; }
  html:not(.reduce-motion) .scene-active .wing-royale .champion { animation-delay: -2.8s; }
  html:not(.reduce-motion) .scene-active .sprite-pixels { animation: pixel-drift 4.1s ease-in-out infinite alternate; }
  html:not(.reduce-motion) .scene-active .cut-gem { animation: hover-gem 4.3s ease-in-out infinite alternate; }
  html:not(.reduce-motion) .questions details::details-content { interpolate-size: allow-keywords; block-size: 0; overflow: clip; transition: block-size .22s ease,content-visibility .22s allow-discrete; }
  html:not(.reduce-motion) .questions details[open]::details-content { block-size: auto; }
  html:not(.reduce-motion) dialog[open] .sample-pass { animation: pass-in .32s ease-out; }
}
@keyframes hover-character { from { transform: translateY(2px) rotate(-.35deg); } to { transform: translateY(-7px) rotate(.45deg); } }
@keyframes pixel-drift { to { translate: 4px -5px; } }
@keyframes hover-gem { from { transform: rotate(-9deg) translateY(2px); } to { transform: rotate(-4deg) translateY(-7px); } }
@keyframes pass-in { from { opacity: .55; transform: translateY(8px) rotate(-1deg); } }
html.reduce-motion { scroll-behavior: auto; }
html.reduce-motion *,html.reduce-motion *::before,html.reduce-motion *::after { animation: none!important; transition: none!important; }
@media (hover:none) {
  .game-card:hover .game-cover img,.btn-primary:hover { transform: none; }
}

