@font-face {
  font-family: "Oxanium";
  src: url('/assets/fonts/oxanium-latin.woff2') format('woff2');
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
}

:root {
  --bg: #050711;
  --bg-soft: #09101b;
  --panel: rgba(12, 17, 29, .9);
  --panel-solid: #0c111d;
  --text: #fbf9ff;
  --muted: #b9b3c3;
  --purple: #9d4dff;
  --purple-bright: #c978ff;
  --blue: #34b9ff;
  --teal: #54efd7;
  --gold: #f2ca68;
  --gold-bright: #ffed9e;
  --green: #35d27d;
  --line: rgba(255, 255, 255, .13);
  --line-gold: rgba(242, 202, 104, .35);
  --shadow: 0 34px 90px rgba(0, 0, 0, .58);
  --display: "Oxanium", Impact, "Arial Black", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  overflow-x: hidden;
  background: var(--bg);
  color: var(--text);
  font-family: "Oxanium", Inter, "Segoe UI", Arial, sans-serif;
  font-size: 17px;
  font-weight: 500;
  line-height: 1.62;
}
body.modal-open { overflow: hidden; }
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  background:
    radial-gradient(circle at 12% 12%, rgba(117, 41, 214, .17), transparent 28%),
    radial-gradient(circle at 86% 68%, rgba(28, 142, 204, .1), transparent 26%),
    linear-gradient(rgba(255, 255, 255, .018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .018) 1px, transparent 1px);
  background-size: auto, auto, 46px 46px, 46px 46px;
}
a { color: inherit; }
button, input, select { font: inherit; }
.shell { width: min(1220px, calc(100% - 48px)); margin-inline: auto; }
.section { position: relative; padding: 112px 0; }

.topbar {
  position: sticky;
  top: 0;
  z-index: 100;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  min-height: 78px;
  padding: 0 max(24px, calc((100vw - 1220px) / 2));
  border-bottom: 1px solid rgba(242, 202, 104, .18);
  background: rgba(4, 6, 12, .88);
  backdrop-filter: blur(18px);
}
.brand-lockup {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
}
.brand-lockup img {
  width: 58px;
  height: 58px;
  object-fit: contain;
  filter: drop-shadow(0 12px 18px rgba(123, 49, 226, .38));
}
.brand-lockup span { display: flex; flex-direction: column; line-height: .95; }
.brand-lockup b { color: #cba3f3; font-size: 10px; letter-spacing: .2em; }
.brand-lockup strong { font-family: var(--display); font-size: 27px; letter-spacing: .06em; }
.topbar nav { display: flex; justify-content: center; gap: 32px; }
.topbar nav a {
  color: #c3bdc9;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .045em;
  text-decoration: none;
}
.topbar nav a:hover { color: var(--gold-bright); }
.nav-cta, .primary-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-height: 56px;
  padding: 0 23px;
  border: 1px solid rgba(211, 163, 255, .5);
  border-radius: 7px;
  background: linear-gradient(135deg, #6f28d8, #b14aff);
  box-shadow: 0 17px 42px rgba(115, 42, 221, .3);
  color: #fff;
  font-size: 13px;
  font-weight: 950;
  letter-spacing: .055em;
  text-decoration: none;
  cursor: pointer;
}
.nav-cta, .primary-button, .ghost-button {
  position: relative;
  overflow: hidden;
  text-transform: uppercase;
}
.nav-cta::after, .primary-button::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 -42%;
  width: 34%;
  transform: skewX(-24deg);
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .22), transparent);
  transition: left .35s ease;
}
.nav-cta:hover::after, .primary-button:hover::after { left: 112%; }

.hero {
  position: relative;
  min-height: 860px;
  overflow: hidden;
  border-bottom: 1px solid rgba(242, 202, 104, .24);
  background: #04060c;
}
.hero-art {
  position: absolute;
  inset: 0;
  background: url('/assets/campeonato/hero-rift-v2.webp') center / cover no-repeat;
  filter: saturate(1.1) contrast(1.06);
}
.hero-art::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(2, 3, 8, .76) 0%, rgba(4, 5, 12, .46) 44%, rgba(5, 7, 17, .88) 100%),
    radial-gradient(circle at 50% 42%, rgba(72, 25, 127, .08) 0 22%, rgba(2, 3, 8, .32) 74%);
}
.hero-art::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 68% 42%, transparent 0 28%, rgba(99, 41, 180, .18) 53%, transparent 68%);
  mix-blend-mode: screen;
}
.hero-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  align-items: center;
  min-height: 860px;
  padding: 54px 0 80px;
}
.hero-copy-centered {
  width: min(900px, 100%);
  margin-inline: auto;
  text-align: center;
}
.hero-brand {
  display: grid;
  justify-items: center;
  gap: 2px;
  margin-bottom: 22px;
}
.hero-brand img {
  width: clamp(166px, 18vw, 228px);
  height: clamp(166px, 18vw, 228px);
  object-fit: contain;
  filter: drop-shadow(0 22px 36px rgba(92, 34, 178, .55)) drop-shadow(0 0 18px rgba(242, 202, 104, .2));
}
.hero-brand span {
  color: #f4d98d;
  font-size: clamp(13px, 1.5vw, 18px);
  font-weight: 950;
  letter-spacing: .22em;
  text-shadow: 0 4px 18px rgba(0, 0, 0, .75);
}
.eyebrow {
  margin: 0;
  color: #d7a8ff;
  font-size: 14px;
  font-weight: 950;
  letter-spacing: .14em;
  line-height: 1.45;
}
.eyebrow > span {
  display: inline-block;
  width: 36px;
  height: 2px;
  margin-right: 10px;
  background: linear-gradient(90deg, var(--gold), var(--purple));
  vertical-align: middle;
}
.hero h1, .section-heading h2, .identity-card h2, .group-copy h2, .registration-copy h2 {
  position: relative;
  margin: 20px 0;
  font-family: var(--display);
  font-size: 78px;
  font-weight: 900;
  line-height: .92;
  letter-spacing: -.025em;
  text-transform: uppercase;
  text-wrap: balance;
}
.hero h1 { max-width: 820px; font-size: clamp(64px, 6.2vw, 92px); line-height: .9; }
.hero-copy-centered h1 { margin-inline: auto; }
.hero h1::before, .section-heading h2::before, .group-copy h2::before, .registration-copy h2::before {
  content: "";
  position: absolute;
  top: -11px;
  left: 0;
  width: 62px;
  height: 3px;
  clip-path: polygon(0 0, 100% 0, 88% 100%, 0 100%);
  background: linear-gradient(90deg, var(--purple-bright), var(--gold));
  box-shadow: 68px 0 0 rgba(157, 77, 255, .45);
}
.section-heading.centered h2::before { left: 50%; transform: translateX(-50%); }
.hero-copy-centered h1::before { left: 50%; transform: translateX(-50%); }
.hero h1 em, .section-heading h2 em, .identity-card h2 em, .group-copy h2 em, .registration-copy h2 em {
  color: var(--gold-bright);
  font-style: normal;
  text-shadow: 0 0 36px rgba(255, 209, 100, .25);
}
.hero-lead {
  max-width: 650px;
  margin: 0;
  color: #eeeaf3;
  font-size: 20px;
  font-weight: 550;
  line-height: 1.65;
  text-shadow: 0 2px 18px rgba(0, 0, 0, .8);
}
.hero-copy-centered .hero-lead { margin-inline: auto; }
.hero-actions { display: flex; justify-content: center; gap: 12px; margin-top: 34px; }
.crest-button img {
  position: relative;
  z-index: 1;
  width: 34px;
  height: 34px;
  object-fit: contain;
  filter: drop-shadow(0 7px 10px rgba(0, 0, 0, .35));
}
.pulse-cta {
  isolation: isolate;
  animation: hmbCtaPulse 2.15s ease-in-out infinite;
}
.pulse-cta::before {
  content: "";
  position: absolute;
  z-index: 3;
  top: -48%;
  bottom: -48%;
  left: -46%;
  width: 28%;
  pointer-events: none;
  transform: skewX(-22deg);
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .68), transparent);
  filter: blur(.4px);
  animation: hmbCtaSweep 2.85s ease-in-out infinite;
}
@keyframes hmbCtaPulse {
  0%, 100% { box-shadow: 0 16px 40px rgba(121, 44, 224, .26), 0 0 0 0 rgba(190, 105, 255, .28); }
  50% { box-shadow: 0 20px 52px rgba(142, 53, 244, .42), 0 0 0 9px rgba(190, 105, 255, 0); }
}
@keyframes hmbCtaSweep {
  0%, 38% { left: -46%; opacity: 0; }
  43% { opacity: 1; }
  72%, 100% { left: 122%; opacity: 0; }
}
.ghost-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: 0 22px;
  border: 1px solid rgba(242, 202, 104, .35);
  border-radius: 7px;
  background: rgba(5, 8, 14, .78);
  color: #f6e9bd;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .05em;
  text-decoration: none;
}
.hero-group-intro {
  display: grid;
  grid-template-columns: 54px 1fr;
  gap: 15px;
  align-items: center;
  max-width: 720px;
  margin-top: 24px;
  padding: 18px 19px;
  border: 1px solid rgba(59, 219, 127, .32);
  border-left: 3px solid #35d27d;
  border-radius: 10px;
  background: linear-gradient(105deg, rgba(21, 122, 70, .18), rgba(9, 12, 21, .9) 68%);
  box-shadow: 0 20px 55px rgba(0, 0, 0, .34);
}
.hero-copy-centered .hero-group-intro { margin-inline: auto; text-align: left; }
.hero-group-icon {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border: 1px solid rgba(80, 233, 146, .38);
  border-radius: 50%;
  background: rgba(25, 169, 87, .16);
  color: #55e995;
  box-shadow: inset 0 0 22px rgba(53, 210, 125, .1);
}
.hero-group-icon svg { width: 31px; height: 31px; }
.hero-group-intro p { margin: 0; line-height: 1.5; }
.hero-group-intro b, .hero-group-intro span { display: block; }
.hero-group-intro b { color: #effff5; font-size: 14px; font-weight: 900; }
.hero-group-intro span { margin-top: 3px; color: #bbcbc2; font-size: 13px; font-weight: 550; }
.hero-card {
  position: relative;
  padding: 34px 30px;
  border: 1px solid rgba(242, 202, 104, .55);
  border-radius: 17px;
  background: linear-gradient(155deg, rgba(24, 19, 42, .9), rgba(4, 7, 13, .95));
  box-shadow: 0 38px 100px rgba(0, 0, 0, .65), inset 0 0 55px rgba(140, 67, 224, .08);
  backdrop-filter: blur(14px);
  text-align: center;
}
.hero-card::before {
  content: "";
  position: absolute;
  inset: 9px;
  border: 1px solid rgba(255, 234, 168, .1);
  border-radius: 11px;
  pointer-events: none;
}
.hero-rank-row {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
  margin: -84px 0 7px;
}
.hero-rank-row img { width: 78px; height: 78px; object-fit: contain; filter: drop-shadow(0 12px 18px rgba(0, 0, 0, .6)); }
.hero-rank-row img:nth-child(2) { width: 92px; height: 92px; }
.hero-rank-row img:nth-child(3) { width: 108px; height: 108px; }
.prize-preview > p { position: relative; margin: 0; color: #d9afff; font-size: 12px; font-weight: 950; letter-spacing: .13em; }
.prize-preview > small { position: relative; display: block; margin-top: 27px; color: #d3c18a; font-size: 11px; font-weight: 900; letter-spacing: .12em; }
.hero-prize-value {
  position: relative;
  display: block;
  margin-top: 3px;
  color: var(--gold-bright);
  font-family: var(--display);
  font-size: 78px;
  line-height: 1;
  text-shadow: 0 0 34px rgba(255, 207, 88, .28);
}
.hero-prize-note { position: relative; display: block; max-width: 270px; margin: 11px auto 0; color: #ded6e5; font-size: 13px; line-height: 1.5; }
.prize-preview > a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 24px;
  padding: 16px;
  border: 1px solid rgba(255, 231, 159, .45);
  border-radius: 7px;
  background: linear-gradient(135deg, #b57a18, #f2ce6b);
  color: #160f03;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .045em;
  text-decoration: none;
}
.scroll-cue {
  position: absolute;
  left: 50%;
  bottom: 22px;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 10px;
  transform: translateX(-50%);
  color: #a89caf;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .14em;
}
.scroll-cue span { width: 38px; height: 1px; background: linear-gradient(90deg, transparent, var(--gold)); }

.rank-arena {
  position: relative;
  z-index: 5;
  display: grid;
  grid-template-columns: 330px minmax(0, 1fr);
  align-items: center;
  min-height: 174px;
  overflow: hidden;
  border-block: 1px solid rgba(84, 239, 215, .2);
  background: linear-gradient(90deg, #07111a, #101228 50%, #07111a);
}
.rank-title { padding-left: max(24px, calc((100vw - 1220px) / 2)); }
.rank-title small, .rank-title strong { display: block; }
.rank-title small { color: var(--teal); font-size: 12px; font-weight: 950; letter-spacing: .13em; }
.rank-title strong { font-family: var(--display); color: #f5edf9; font-size: 29px; line-height: 1.02; letter-spacing: .025em; }
.rank-title strong em { color: var(--gold-bright); font-style: normal; text-shadow: 0 0 25px rgba(242, 202, 104, .2); }
.rank-marquee {
  min-width: 0;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
}
.rank-marquee-track {
  display: flex;
  width: max-content;
  will-change: transform;
  animation: rankMarquee 28s linear infinite;
}
.rank-marquee-group {
  display: flex;
  flex: 0 0 auto;
  align-items: end;
  gap: 28px;
  padding: 18px 14px;
}
.rank-marquee figure { width: 106px; margin: 0; text-align: center; }
.rank-marquee img { width: 100px; height: 100px; object-fit: contain; filter: drop-shadow(0 11px 18px rgba(0, 0, 0, .58)); transition: transform .2s ease; }
.rank-marquee figure:hover img { transform: translateY(-5px) scale(1.05); }
.rank-marquee:hover .rank-marquee-track { animation-play-state: paused; }
@keyframes rankMarquee { to { transform: translateX(-50%); } }

.section-heading { max-width: 780px; }
.section-heading.centered { margin: 0 auto 54px; text-align: center; }
.section-heading h2, .identity-card h2, .group-copy h2, .registration-copy h2 { font-size: 65px; }
.section-heading > p:last-child { color: #d1cad8; font-size: 19px; font-weight: 550; line-height: 1.72; }

.prize-section {
  min-height: 900px;
  overflow: hidden;
  background: linear-gradient(180deg, #050711, #08121b 48%, #050711);
}
.rift-texture {
  position: absolute;
  inset: 0;
  opacity: .19;
  background: url('/assets/campeonato/hero-arena.webp') center 54% / cover no-repeat;
  filter: saturate(.9);
}
.rift-texture::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, #050711, transparent 28%, transparent 72%, #050711), radial-gradient(circle at center, transparent, #050711 76%); }
.prize-section .shell { position: relative; z-index: 2; }
.prize-stage {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 110px 1fr;
  align-items: center;
  min-height: 470px;
}
.prize-stage-v3::before {
  content: "";
  position: absolute;
  left: 12%;
  right: 12%;
  top: 50%;
  z-index: 1;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(84, 239, 215, .55), rgba(242, 202, 104, .7), transparent);
  box-shadow: 0 0 28px rgba(157, 77, 255, .5);
}
.bracket-card {
  position: relative;
  z-index: 3;
  min-height: 420px;
  padding: 34px;
  border: 1px solid var(--line);
  background: linear-gradient(145deg, rgba(10, 15, 26, .96), rgba(7, 8, 15, .94));
  box-shadow: var(--shadow);
}
.bracket-10 { border-radius: 18px 4px 4px 18px; }
.bracket-20 { border-color: rgba(242, 202, 104, .5); border-radius: 4px 18px 18px 4px; background: linear-gradient(145deg, rgba(50, 31, 12, .65), rgba(9, 9, 16, .96)); }
.main-key {
  position: absolute;
  top: 17px;
  right: 18px;
  padding: 7px 10px;
  border: 1px solid rgba(242, 202, 104, .38);
  border-radius: 999px;
  color: var(--gold-bright);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .08em;
}
.bracket-badge { display: inline-flex; align-items: end; gap: 9px; }
.bracket-badge span { font-family: var(--display); font-size: 92px; line-height: .8; }
.bracket-badge small { padding-bottom: 7px; color: #b6afbd; font-size: 14px; font-weight: 900; letter-spacing: .13em; }
.bracket-card > p { margin: 32px 0 5px; color: #c29be9; font-size: 12px; font-weight: 950; letter-spacing: .14em; }
.bracket-card h3 { margin: 0; font-size: 18px; }
.bracket-card > strong { display: block; margin: 2px 0 22px; color: var(--gold-bright); font-family: var(--display); font-size: 61px; line-height: 1; }
.team-entry {
  display: grid;
  gap: 2px;
  margin: 0 0 20px;
  padding: 13px 15px;
  border: 1px solid rgba(84, 239, 215, .27);
  border-radius: 8px;
  background: rgba(14, 73, 68, .16);
}
.team-entry small { color: #9fe9dd; font-size: 10px; font-weight: 800; letter-spacing: .1em; }
.team-entry b { color: #fff; font-size: 20px; font-weight: 800; }
.team-entry b span { color: #aeb7b9; font-size: 12px; font-weight: 600; }
.bracket-card ul { display: grid; gap: 11px; margin: 0; padding: 20px 0 0; border-top: 1px solid var(--line); list-style: none; }
.bracket-card li { color: #e2dce6; font-size: 15px; font-weight: 600; }
.bracket-card li::before { content: "◆"; margin-right: 10px; color: var(--gold); font-size: 9px; }
.bracket-connector {
  position: relative;
  z-index: 7;
  display: grid;
  place-items: center;
  align-self: center;
}
.bracket-connector::before {
  content: "";
  position: absolute;
  width: 104px;
  height: 104px;
  border: 1px solid rgba(242, 202, 104, .34);
  transform: rotate(45deg);
  background: radial-gradient(circle, rgba(157, 77, 255, .3), rgba(5, 7, 17, .96) 70%);
  box-shadow: 0 0 42px rgba(157, 77, 255, .3);
}
.bracket-connector img { position: relative; width: 88px; height: 88px; object-fit: contain; filter: drop-shadow(0 14px 20px rgba(0, 0, 0, .65)); }
.bracket-connector span { position: absolute; bottom: -34px; padding: 5px 11px; border: 1px solid rgba(84, 239, 215, .34); border-radius: 999px; background: #080d16; color: #9ff3e4; font-size: 11px; font-weight: 800; letter-spacing: .12em; }
.prize-disclaimer { max-width: 760px; margin: 26px auto 0; color: #8e8795; font-size: 13px; text-align: center; }
.prize-stage .ranked-prize { --rank-accent: #8fd9ff; --rank-edge: #427bad; --rank-glow: #3273bc; border: 2px solid var(--rank-edge); border-radius: 24px 6px; background: radial-gradient(ellipse at 50% 0, #163c5c 0, #101b2c 35%, #080d18 75%); box-shadow: inset 0 0 0 5px #080d18, inset 0 0 0 6px var(--rank-edge), 0 16px 50px #0008; padding: 34px; overflow: hidden; }
.prize-stage .bracket-20.ranked-prize { --rank-accent: #ffe6a3; --rank-edge: #a9813b; --rank-glow: #c9943f; background: radial-gradient(ellipse at 50% 0, #4c371c 0, #211c18 35%, #0c101b 75%); }
.ranked-prize::before { content: ''; position: absolute; height: 3px; top: 6px; left: 15%; right: 15%; background: linear-gradient(90deg, transparent, var(--rank-accent), transparent); box-shadow: 0 0 22px var(--rank-glow); }
.prize-rank-header { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 4px 0 22px; }
.prize-rank-header img { width: 116px; height: 116px; object-fit: contain; filter: drop-shadow(0 0 16px var(--rank-glow)); }
.bracket-10 .prize-rank-header img { filter: grayscale(1) sepia(1) saturate(3) hue-rotate(165deg) brightness(1.15) drop-shadow(0 0 16px #3273bc); }
.bracket-20 .prize-rank-header img { filter: grayscale(1) sepia(1) saturate(2.2) brightness(1.18) drop-shadow(0 0 16px #c9943f); }
.ranked-prize .bracket-badge { display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }
.ranked-prize .bracket-badge span { font-size: clamp(58px, 7vw, 82px); color: var(--rank-accent); font-weight: 700; }
.ranked-prize .bracket-badge small { color: #e2deea; font-size: 14px; padding: 0; }
.ranked-prize .main-key { position: static; display: table; margin: 0 0 14px auto; border-radius: 4px; font-size: 12px; }
.ranked-prize > p { margin: 16px 0 8px; color: var(--rank-accent); font-size: 14px; }
.ranked-prize h3 { font-family: 'Segoe UI', Arial, sans-serif; font-size: 16px; letter-spacing: .05em; color: #eee7f4; }
.prize-stage .ranked-prize > strong { margin: 10px 0 24px; font-size: clamp(44px, 6vw, 66px); color: var(--rank-accent); font-weight: 800; letter-spacing: -.04em; text-shadow: 0 2px 20px #0008; }
.ranked-prize .team-entry { border-color: var(--rank-edge); border-radius: 10px; background: #ffffff06; }
.ranked-prize .team-entry small { color: var(--rank-accent); font-size: 12px; }
.ranked-prize .team-entry b { font-family: 'Segoe UI', Arial, sans-serif; font-size: 24px; }
.ranked-prize .team-entry b span { font-size: 14px; }
.runner-up-prize { display: flex; gap: 12px; align-items: center; margin: 0 0 22px; padding: 15px 0; border-block: 1px solid #ffffff21; }
.runner-up-prize > span { display: grid; place-items: center; width: 43px; height: 43px; flex-shrink: 0; border: 1px solid var(--rank-edge); border-radius: 50%; color: var(--rank-accent); font-size: 20px; font-weight: 800; }
.runner-up-prize b { display: block; color: #fff; font-family: 'Segoe UI', Arial, sans-serif; font-size: 16px; }
.runner-up-prize small { display: block; margin-top: 4px; color: #cbc5d4; font-family: 'Segoe UI', Arial, sans-serif; font-size: 14px; line-height: 1.45; }
.ranked-prize ul { padding-top: 0; border: 0; gap: 10px; }
.ranked-prize li { font-family: 'Segoe UI', Arial, sans-serif; font-size: 16px; }
.ranked-prize li::before { content: '✓'; color: var(--rank-accent); font-size: 14px; }
@media (max-width: 600px) { .prize-stage .ranked-prize { padding: 26px; } .prize-rank-header img { width: 100px; height: 100px; } }

.identity-section {
  min-height: 900px;
  overflow: hidden;
  border-block: 1px solid rgba(157, 77, 255, .25);
  background: #050711;
}
.identity-bg {
  position: absolute;
  inset: 0;
  background: url('/assets/campeonato/champions-arena-v4.webp') center / cover no-repeat;
  opacity: .92;
}
.identity-bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, #050711 0%, rgba(5, 7, 17, .82) 25%, rgba(5, 7, 17, .06) 46%, rgba(5, 7, 17, .16) 65%, #050711 100%), linear-gradient(180deg, #050711 0%, transparent 19%, transparent 70%, #050711 100%); }
.identity-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  align-items: end;
  min-height: 760px;
  padding-top: 340px;
}
.identity-card {
  position: relative;
  z-index: 6;
  min-height: 390px;
  padding: 32px;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 14px;
  background: linear-gradient(145deg, rgba(12, 18, 30, .92), rgba(6, 8, 15, .84));
  box-shadow: var(--shadow);
  backdrop-filter: blur(10px);
}
.identity-card.owner-card { border-color: rgba(242, 202, 104, .38); }
.role-tag { display: inline-block; margin-bottom: 28px; padding: 7px 10px; border: 1px solid rgba(84, 239, 215, .28); border-radius: 999px; color: var(--teal); font-size: 11px; font-weight: 950; letter-spacing: .1em; }
.role-tag.gold { border-color: rgba(242, 202, 104, .35); color: var(--gold-bright); }
.identity-card .eyebrow { font-size: 11px; }
.identity-card h2 { font-size: 46px; line-height: .98; }
.identity-card > p:not(.eyebrow) { color: #e0d9e5; font-size: 17px; font-weight: 550; line-height: 1.7; }
.identity-card ul { display: grid; gap: 10px; margin: 22px 0 0; padding: 0; list-style: none; }
.identity-card li { color: #f7f2fa; font-size: 15px; font-weight: 650; }
.identity-card li::before { content: "✓"; margin-right: 10px; color: var(--teal); font-weight: 900; }
.owner-card li::before { color: var(--gold); }

.series-section {
  overflow: hidden;
  border-bottom: 1px solid rgba(84, 239, 215, .2);
  background:
    radial-gradient(circle at 14% 44%, rgba(53, 115, 218, .2), transparent 28%),
    radial-gradient(circle at 84% 34%, rgba(137, 57, 226, .2), transparent 32%),
    linear-gradient(115deg, #07111d, #0e0b1d 58%, #07101a);
}
.series-section::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .2;
  background-image: linear-gradient(rgba(255, 255, 255, .04) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .04) 1px, transparent 1px);
  background-size: 52px 52px;
  mask-image: linear-gradient(90deg, transparent, #000 20%, #000 80%, transparent);
}
.series-section > .shell { position: relative; z-index: 2; }
.series-heading { max-width: 900px; margin: 0 auto; text-align: center; }
.series-heading h2 { margin: 0; font-family: var(--display); font-size: 62px; line-height: .98; text-transform: uppercase; }
.series-heading h2 em { color: var(--gold-bright); font-style: normal; }
.series-heading > p:not(.eyebrow) { max-width: 670px; margin: 22px auto 0; color: #d9d3de; font-size: 19px; font-weight: 550; line-height: 1.62; }
.series-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 46px; }
.series-card {
  position: relative;
  min-width: 0;
  padding: 23px 17px 25px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 14px;
  background: linear-gradient(160deg, rgba(25, 22, 42, .94), rgba(6, 9, 16, .96));
  box-shadow: 0 24px 48px rgba(0, 0, 0, .32);
}
.series-card::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(circle at 50% 42%, rgba(161, 76, 240, .17), transparent 42%); }
.series-card-head { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.series-card-head span { font-family: var(--display); color: #fff; font-size: 34px; line-height: 1; }
.series-card-head small { color: #c9a6e8; font-size: 12px; font-weight: 950; letter-spacing: .07em; text-align: right; }
.series-ranks { position: relative; display: flex; align-items: center; justify-content: center; min-height: 150px; margin: 10px -8px 7px; }
.series-ranks img { width: 112px; height: 112px; margin: 0 -13px; object-fit: contain; filter: drop-shadow(0 18px 22px rgba(0, 0, 0, .6)); }
.series-ranks img:nth-child(2) { z-index: 2; width: 134px; height: 134px; }
.series-card > strong { position: relative; display: block; color: #eee8f2; font-size: 14px; font-weight: 950; letter-spacing: .035em; text-align: center; }
.series-b { border-color: rgba(84, 239, 215, .34); }
.series-b::before { background: radial-gradient(circle at 50% 42%, rgba(38, 192, 159, .18), transparent 42%); }
.series-b .series-card-head small, .series-b > strong { color: #8ff1df; }
.series-a { border-color: rgba(242, 202, 104, .38); }
.series-a::before { background: radial-gradient(circle at 50% 42%, rgba(242, 202, 104, .17), transparent 42%); }
.series-a .series-card-head small, .series-a > strong { color: var(--gold-bright); }
.series-entry { display: flex; flex-direction: column; align-items: center; justify-content: center; margin-top: 34px; }

.group-section {
  border-bottom: 1px solid var(--line);
  background: radial-gradient(circle at 20% 20%, rgba(103, 39, 188, .17), transparent 27%), linear-gradient(180deg, #08101a, #050711);
}
.group-v2-grid { display: grid; grid-template-columns: 1fr; gap: 46px; align-items: center; }
.group-v3-grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr); gap: 58px; align-items: center; }
.group-copy { width: min(840px, 100%); }
.group-copy > p:not(.eyebrow) { color: #d1cad7; font-size: 19px; font-weight: 550; line-height: 1.72; }
.group-benefits { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 24px; }
.group-benefits span { display: grid; gap: 5px; padding: 16px; border: 1px solid rgba(190, 105, 255, .24); border-radius: 10px; background: rgba(8, 12, 21, .64); }
.group-benefits span:last-child { border-color: rgba(84, 239, 215, .26); }
.group-benefits b { color: #f1e8f6; font-size: 14px; font-weight: 950; letter-spacing: .025em; }
.group-benefits small { color: #bdb5c2; font-size: 14px; line-height: 1.45; }
.group-access-card {
  position: relative;
  display: grid;
  grid-template-columns: 92px 1fr;
  gap: 17px;
  align-items: center;
  width: 100%;
  justify-self: end;
  max-width: 470px;
  min-height: 178px;
  padding: 20px 22px;
  overflow: hidden;
  border: 1px solid rgba(202, 128, 255, .52);
  border-radius: 14px;
  background:
    radial-gradient(circle at 16% 50%, rgba(194, 105, 255, .3), transparent 35%),
    linear-gradient(145deg, rgba(76, 26, 126, .96), rgba(14, 10, 25, .97));
  box-shadow: 0 34px 74px rgba(0, 0, 0, .38), inset 0 0 0 1px rgba(255, 255, 255, .04);
  color: #fff;
  text-align: left;
  cursor: pointer;
  transition: transform .22s ease, border-color .22s ease;
}
.group-access-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(112deg, transparent 42%, rgba(255, 255, 255, .1) 50%, transparent 58%); transform: translateX(-110%); transition: transform .5s ease; }
.group-access-card:hover { transform: translateY(-4px); border-color: rgba(243, 218, 144, .72); }
.group-access-card:hover::after { transform: translateX(110%); }
.group-access-card > img { width: 92px; height: 92px; object-fit: contain; filter: drop-shadow(0 18px 22px rgba(0, 0, 0, .46)); }
.group-access-card > span { position: relative; z-index: 1; display: grid; }
.group-access-card small { color: #d5abff; font-size: 10px; font-style: normal; font-weight: 900; letter-spacing: .11em; }
.group-access-card b { margin-top: 5px; font-size: 18px; line-height: 1.12; }
.group-access-card strong { margin: 6px 0; color: var(--gold-bright); font-family: var(--display); font-size: 49px; line-height: .88; text-shadow: 0 0 25px rgba(242, 202, 104, .25); }
.group-access-card em { justify-self: start; padding: 5px 9px; border-radius: 5px; background: rgba(255, 255, 255, .1); color: #fff; font-size: 10px; font-style: normal; font-weight: 950; letter-spacing: .05em; }
.section-entry { display: flex; flex-direction: column; align-items: center; justify-content: center; margin-top: 34px; }
.inline-entry-cta {
  position: relative;
  display: inline-grid;
  grid-template-columns: 48px 1fr;
  gap: 12px;
  align-items: center;
  min-width: min(420px, 100%);
  min-height: 72px;
  padding: 10px 20px 10px 13px;
  border: 1px solid rgba(214, 157, 255, .66);
  border-radius: 10px;
  background: linear-gradient(135deg, #6d27d0, #a340ec 60%, #6f2dc6);
  color: #fff;
  text-align: left;
  cursor: pointer;
  overflow: hidden;
}
.inline-entry-cta img { width: 48px; height: 48px; object-fit: contain; filter: drop-shadow(0 9px 12px rgba(0, 0, 0, .38)); }
.inline-entry-cta span { display: grid; }
.inline-entry-cta small { color: #e2c6f9; font-size: 9px; font-weight: 850; letter-spacing: .09em; }
.inline-entry-cta b { margin-top: 1px; font-size: 13px; font-weight: 950; letter-spacing: .035em; }
.inline-entry-cta:hover { transform: translateY(-2px); filter: brightness(1.08); }
.whatsapp-group-mark {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin: 0 auto 28px;
  padding: 11px 15px;
  border: 1px solid rgba(70, 230, 139, .32);
  border-radius: 10px;
  background: rgba(23, 137, 77, .14);
  color: #45e58f;
  box-shadow: 0 16px 38px rgba(0, 0, 0, .2);
}
.whatsapp-group-mark svg { width: 38px; height: 38px; flex: 0 0 auto; }
.whatsapp-group-mark span { display: grid; }
.whatsapp-group-mark b { color: #eefff6; font-size: 13px; letter-spacing: .07em; }
.whatsapp-group-mark small { color: #91caaa; font-size: 11px; }
.access-price {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto auto;
  align-items: end;
  width: min(560px, 100%);
  margin: 30px auto 0;
  padding: 21px;
  border: 1px solid rgba(242, 202, 104, .36);
  border-radius: 10px;
  background: linear-gradient(90deg, rgba(96, 61, 16, .23), rgba(11, 14, 22, .86));
}
.access-price span { color: #d2c08d; font-size: 12px; font-weight: 950; letter-spacing: .11em; }
.access-price strong { grid-column: 2; grid-row: 1 / 3; color: var(--gold-bright); font-family: var(--display); font-size: 54px; line-height: 1; }
.access-price small { margin-top: 4px; color: #a39aa9; font-size: 13px; }
.price-clarifier {
  width: min(560px, 100%);
  margin: 12px auto 0 !important;
  padding: 12px 14px;
  border-left: 3px solid var(--teal);
  background: rgba(84, 239, 215, .08);
  color: #c9deda !important;
  font-size: 14px !important;
}
.price-clarifier b { color: #7af2dd; }
.group-flow { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.group-flow article {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr) minmax(150px, auto);
  gap: 16px;
  align-items: center;
  min-height: 108px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: linear-gradient(90deg, rgba(14, 22, 35, .95), rgba(8, 10, 17, .9));
  box-shadow: 0 15px 32px rgba(0, 0, 0, .22);
}
.group-flow article.team-step {
  border-color: rgba(242, 202, 104, .68);
  background: radial-gradient(circle at 87% 50%, rgba(242, 202, 104, .17), transparent 34%), linear-gradient(90deg, rgba(75, 46, 10, .58), rgba(8, 10, 17, .96));
  box-shadow: 0 18px 40px rgba(0, 0, 0, .28), inset 0 0 24px rgba(242, 202, 104, .06);
}
.team-step .flow-number { border-color: rgba(242, 202, 104, .62); background: rgba(145, 96, 20, .2); color: var(--gold-bright); }
.team-step .flow-highlight { border-color: rgba(242, 202, 104, .62); background: linear-gradient(135deg, rgba(131, 82, 15, .34), rgba(242, 202, 104, .08)); }
.team-step .flow-highlight strong { color: var(--gold-bright); }
.entry-support-note { margin: 12px 0 0; color: #aaa3b1; font-size: 14px; font-weight: 650; line-height: 1.45; text-align: center; }
.flow-number { display: grid; place-items: center; width: 54px; height: 54px; border: 1px solid rgba(157, 77, 255, .42); border-radius: 9px; background: rgba(93, 38, 174, .2); color: #d4a8ff; font-weight: 950; }
.group-flow b { font-size: 16px; font-weight: 800; }
.group-flow p { margin: 4px 0 0; color: #c5beca; font-size: 15px; font-weight: 520; }
.flow-highlight {
  display: grid;
  gap: 2px;
  min-width: 150px;
  padding: 11px 12px;
  border: 1px solid rgba(190, 105, 255, .4);
  border-radius: 9px;
  background: linear-gradient(135deg, rgba(104, 43, 180, .25), rgba(84, 239, 215, .08));
  box-shadow: inset 0 0 18px rgba(157, 77, 255, .07);
}
.flow-highlight strong { color: #dcb2ff; font-size: 10px; font-weight: 950; letter-spacing: .075em; }
.flow-highlight small { color: #fff; font-size: 12px; font-weight: 850; line-height: 1.25; }

.registration-section {
  overflow: hidden;
  border-bottom: 1px solid rgba(242, 202, 104, .2);
  background: #070b13;
}
.registration-map {
  position: absolute;
  inset: 0;
  opacity: .18;
  background: url('/assets/campeonato/hero-rift-v2.webp') 58% center / cover no-repeat;
}
.registration-map::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, #070b13 0%, rgba(7, 11, 19, .86) 43%, rgba(7, 11, 19, .65) 100%), linear-gradient(180deg, #070b13, transparent 35%, #070b13); }
.registration-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: .88fr 1.12fr;
  gap: 80px;
  align-items: center;
}
.registration-copy > p:not(.eyebrow) { color: #d1cad7; font-size: 19px; font-weight: 550; line-height: 1.72; }
.registration-proof { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 26px; }
.registration-proof span { display: grid; grid-template-columns: 64px 1fr; grid-template-rows: auto auto; align-items: center; padding: 13px; border: 1px solid var(--line); border-radius: 10px; background: rgba(8, 12, 20, .76); }
.registration-proof img { grid-row: 1 / 3; width: 74px; height: 74px; margin-left: -5px; object-fit: contain; filter: drop-shadow(0 12px 18px rgba(0, 0, 0, .5)); }
.registration-proof b { font-size: 14px; }
.registration-proof small { color: #a99fad; font-size: 12px; }
.secure-note { display: grid; gap: 3px; margin-top: 12px; padding: 15px; border-left: 3px solid var(--teal); background: rgba(25, 112, 98, .11); }
.secure-note b { color: #75ead7; font-size: 12px; }
.secure-note span { color: #a9afb4; font-size: 13px; }
.ticket-builder {
  padding: 30px;
  border: 1px solid rgba(179, 105, 247, .46);
  border-radius: 18px;
  background: linear-gradient(155deg, rgba(31, 20, 47, .96), rgba(7, 9, 15, .98));
  box-shadow: var(--shadow);
}
.builder-head { display: flex; align-items: center; justify-content: space-between; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.builder-head span { color: #cf9dff; font-size: 12px; font-weight: 950; letter-spacing: .12em; }
.builder-head b { font-size: 15px; }
.builder-price { display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto auto; align-items: end; margin: 20px 0; padding: 18px; border: 1px solid var(--line-gold); border-radius: 10px; background: linear-gradient(90deg, rgba(101, 64, 17, .26), rgba(10, 12, 19, .7)); }
.builder-price small { color: #d0bb80; font-size: 12px; font-weight: 950; letter-spacing: .1em; }
.builder-price strong { grid-row: 1 / 3; grid-column: 2; color: var(--gold-bright); font-family: var(--display); font-size: 49px; line-height: 1; }
.builder-price span { color: #9d959f; font-size: 13px; }
.ticket-builder fieldset, .championship-checkout fieldset { margin: 0; padding: 0; border: 0; }
.ticket-builder legend, .championship-checkout legend, .field-grid label > span, .route-field > span { display: block; margin-bottom: 10px; color: #b0a8b5; font-size: 12px; font-weight: 950; letter-spacing: .09em; }
.type-options { display: grid; gap: 10px; }
.type-option {
  display: grid;
  grid-template-columns: 50px 1fr;
  gap: 13px;
  align-items: center;
  padding: 15px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: rgba(255, 255, 255, .025);
  cursor: pointer;
}
.type-option.selected { border-color: rgba(176, 95, 247, .72); background: linear-gradient(90deg, rgba(102, 42, 185, .24), rgba(255, 255, 255, .025)); box-shadow: inset 0 0 0 1px rgba(178, 96, 247, .12); }
.type-option input { position: absolute; opacity: 0; pointer-events: none; }
.type-mark { display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid rgba(186, 112, 255, .28); border-radius: 8px; background: #261537; color: #d4aaff; font-weight: 950; }
.type-option b, .type-option small { display: block; }
.type-option b { font-size: 14px; }
.type-option small { margin-top: 3px; color: #9e95a3; font-size: 13px; }
.field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 18px; }
.field-grid label > span small { float: right; color: #77707b; font-weight: 600; letter-spacing: 0; }
.route-field { display: block; margin-top: 13px; }
.text-field {
  width: 100%;
  height: 50px;
  padding: 0 13px;
  border: 1px solid var(--line);
  border-radius: 8px;
  outline: 0;
  background: #080b12;
  color: #fff;
  font-size: 15px;
}
.text-field:focus { border-color: rgba(176, 95, 247, .7); box-shadow: 0 0 0 3px rgba(157, 77, 255, .1); }
.order-summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 18px; padding: 17px; border: 1px solid rgba(84, 239, 215, .28); border-radius: 9px; background: rgba(27, 105, 91, .12); }
.order-summary span, .order-summary small { display: block; }
.order-summary span { font-size: 14px; font-weight: 900; }
.order-summary small { margin-top: 3px; color: #8eb4ae; font-size: 12px; }
.order-summary strong { flex: 0 0 auto; color: #80f4df; font-family: var(--display); font-size: 31px; }
.whatsapp-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 60px;
  margin-top: 12px;
  padding: 0 19px;
  border: 0;
  border-radius: 9px;
  background: linear-gradient(135deg, #159c55, #31d47b);
  box-shadow: 0 17px 38px rgba(35, 184, 104, .22);
  color: #fff;
  font-size: 13px;
  font-weight: 950;
  letter-spacing: .045em;
  cursor: pointer;
}
.builder-foot { margin: 13px 0 0; color: #a9a2ad; font-size: 12px; font-weight: 550; line-height: 1.55; text-align: center; }
.builder-foot b { color: #f0d686; }

.championship-dialog {
  width: min(700px, calc(100% - 28px));
  max-height: min(92vh, 920px);
  margin: auto;
  padding: 0;
  overflow: auto;
  border: 0;
  border-radius: 22px;
  background: transparent;
  color: var(--text);
  box-shadow: 0 38px 100px rgba(0, 0, 0, .72);
}
.championship-dialog::backdrop { background: rgba(2, 3, 8, .82); backdrop-filter: blur(8px); }
.championship-checkout {
  position: relative;
  padding: 34px;
  border: 1px solid rgba(186, 105, 255, .52);
  border-radius: 22px;
  background:
    radial-gradient(circle at 86% 5%, rgba(158, 68, 246, .24), transparent 29%),
    linear-gradient(155deg, #1d102e, #090b13 48%, #070a11);
}
.dialog-close {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 4;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 50%;
  background: rgba(3, 5, 10, .72);
  color: #fff;
  font-size: 25px;
  line-height: 1;
  cursor: pointer;
}
.dialog-brand { display: flex; align-items: center; gap: 10px; padding-right: 50px; }
.dialog-brand img { width: 58px; height: 58px; object-fit: contain; filter: drop-shadow(0 12px 16px rgba(112, 43, 207, .38)); }
.dialog-brand span { color: #e2bdff; font-size: 12px; font-weight: 950; letter-spacing: .13em; }
.championship-checkout h2 { margin: 18px 0 8px; font-family: var(--display); font-size: clamp(40px, 6vw, 58px); line-height: .95; text-transform: uppercase; }
.championship-checkout > .checkout-step > p:not(.builder-foot):not(.dialog-error) { margin: 0 0 24px; color: #cfc7d5; font-size: 15px; }
.checkout-step[hidden] { display: none !important; }
.contact-fields { grid-template-columns: 1fr; gap: 14px; }
.championship-checkout .field-grid label > span, .championship-checkout .route-field > span { font-size: 14px; }
.ticket-summary { position: relative; margin-top: 22px; overflow: hidden; padding: 20px; border: 1px solid #66507e; border-top: 3px solid #bd89ef; border-radius: 16px; background: radial-gradient(ellipse at 100% 0, rgba(139,75,203,.22), transparent 60%), #11121c; box-shadow: 0 12px 30px #0003; font-family: 'Segoe UI', Arial, sans-serif; }
.ticket-heading { display: flex; align-items: center; gap: 12px; }
.ticket-heading img { flex: 0 0 58px; width: 58px; height: 58px; object-fit: contain; filter: drop-shadow(0 3px 12px #9d4dff50); }
.ticket-eyebrow { display: block; color: #d5acef; font-size: 12px; letter-spacing: .13em; font-weight: 700; }
.ticket-heading h3 { margin: 5px 0 0; color: #fff; font-family: var(--display); font-size: clamp(19px, 4.8vw, 25px); font-weight: 700; line-height: 1.22; }
.ticket-benefits { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 16px; margin: 20px 0; padding: 0; list-style: none; }
.ticket-benefits li { display: flex; align-items: flex-start; gap: 8px; color: #e0dce7; font-size: 14px; line-height: 1.4; }
.ticket-benefits li::before { content: '✓'; color: #c393ee; font-weight: 800; flex-shrink: 0; }
.ticket-price-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-top: 17px; border-top: 1px dashed #655270; }
.ticket-price-label { display: block; font-size: 12px; font-weight: 700; color: #b8b0c2; letter-spacing: .08em; }
.ticket-price { display: block; margin-top: 5px; color: #fff; font-family: 'Segoe UI', Arial, sans-serif; font-size: 46px; font-weight: 800; line-height: 1.1; white-space: nowrap; letter-spacing: -.04em; }
.ticket-currency { font-size: 22px; font-weight: 500; letter-spacing: 0; }
.ticket-cents { font-size: 27px; letter-spacing: 0; }
.ticket-payment { text-align: right; flex-shrink: 0; }
.ticket-payment b { display: inline-block; padding: 3px 9px; border: 1px solid #47776b; border-radius: 6px; color: #83e4c9; font-size: 12px; letter-spacing: .08em; }
.ticket-payment span { display: block; margin-top: 7px; color: #c9c2d1; font-size: 13px; line-height: 1.5; }
@media (max-width: 360px) { .ticket-summary { padding: 16px; } .ticket-benefits { grid-template-columns: 1fr; gap: 9px; } .ticket-price { font-size: 40px; } }
.group-profile { text-align: left; margin: 20px 0; }
.group-profile .route-field { display: block; margin-top: 18px; }
.group-profile .profile-note, #profileSaveStatus { font-size: 14px; line-height: 1.5; color: #cfc1db; }
#profileSaveStatus { color: #dcb6ff; min-height: 42px; }
#retryProfileSave { padding: 12px 16px; border: 1px solid #a66ce0; border-radius: 10px; background: #321350; color: white; cursor: pointer; }
.championship-checkout .text-field { font-size: 16px; min-width: 0; }
.championship-checkout button:disabled { cursor: not-allowed; }
.championship-checkout fieldset { margin-top: 24px; }
.lead-honeypot { position: fixed; left: -10000px; width: 1px; height: 1px; opacity: 0; }
.dialog-error { min-height: 23px; margin: 10px 0 0; color: #ff8b9c; font-size: 13px; font-weight: 750; }
.championship-checkout button:disabled { cursor: wait; opacity: .68; }
.pix-pending { display: grid; justify-items: center; gap: 13px; padding: 22px; border: 1px solid rgba(84, 239, 215, .26); border-radius: 15px; background: rgba(6, 18, 20, .64); }
.pix-pending > img { width: 220px; height: 220px; padding: 8px; border-radius: 10px; background: #fff; }
.pix-pending > label { color: #a9e8dc; font-size: 11px; font-weight: 950; letter-spacing: .12em; }
.pix-pending > div { display: grid; grid-template-columns: 1fr auto; width: 100%; }
.pix-pending input { min-width: 0; height: 50px; padding: 0 12px; border: 1px solid rgba(255, 255, 255, .15); border-right: 0; border-radius: 8px 0 0 8px; background: #05080d; color: #dcd6e2; }
.pix-pending button { padding: 0 18px; border: 0; border-radius: 0 8px 8px 0; background: #51dab5; color: #06110e; font-size: 12px; font-weight: 950; cursor: pointer; }
.pix-pending p { margin: 0; color: #a6aaa9; font-size: 12px; text-align: center; }
.success-step { padding: 44px 10px 20px; text-align: center; }
.success-mark { display: grid; place-items: center; width: 92px; height: 92px; margin: 0 auto 18px; border: 2px solid rgba(84, 239, 215, .62); border-radius: 50%; background: rgba(36, 168, 139, .16); color: var(--teal); font-size: 48px; font-weight: 950; box-shadow: 0 0 40px rgba(84, 239, 215, .12); }
.success-step > span { color: #77eed9; font-size: 12px; font-weight: 950; letter-spacing: .15em; }
.success-step > p { max-width: 490px; margin-inline: auto !important; }
.success-step .whatsapp-button { max-width: 440px; margin-inline: auto; }

.faq-section { background: linear-gradient(180deg, #050711, #080b14); }
.faq-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: 82px; }
.faq-list details { border-top: 1px solid var(--line); }
.faq-list details:last-child { border-bottom: 1px solid var(--line); }
.faq-list summary { display: flex; justify-content: space-between; gap: 20px; padding: 25px 0; font-size: 18px; font-weight: 800; cursor: pointer; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary span { color: var(--purple-bright); font-size: 24px; font-weight: 300; transition: transform .2s ease; }
.faq-list details[open] summary span { transform: rotate(45deg); }
.faq-list p { max-width: 680px; margin: -4px 0 25px; color: #c4bdc9; font-size: 16px; font-weight: 520; line-height: 1.72; }

.final-cta { padding: 58px 0; border-block: 1px solid rgba(242, 202, 104, .24); background: linear-gradient(90deg, #191026, #09131c 50%, #241813); }
.final-grid { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 25px; }
.final-grid > img { width: 118px; height: 118px; object-fit: contain; filter: drop-shadow(0 16px 24px rgba(121, 48, 220, .4)); }
.final-grid .crest-button img { width: 32px; height: 32px; }
.final-grid p { margin: 0; color: #d4a6ff; font-size: 12px; font-weight: 950; letter-spacing: .12em; }
.final-grid h2 { margin: 7px 0 0; font-family: var(--display); font-size: 35px; font-weight: 800; line-height: 1.08; letter-spacing: -.01em; text-transform: uppercase; }
footer { padding: 27px 0; background: #03050a; }
.footer-grid { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 32px; }
.footer-grid .brand-lockup img { width: 50px; height: 50px; }
.footer-grid p { justify-self: center; margin: 0; color: #7d7781; font-size: 12px; }
.footer-grid > a:last-child { color: #c3b4cd; font-size: 12px; font-weight: 900; text-decoration: none; }
.mobile-ticket { display: none; }

@media (max-width: 1080px) {
  .topbar nav { display: none; }
  .hero-grid { grid-template-columns: 1fr; gap: 0; padding-top: 62px; }
  .hero-copy { max-width: 900px; }
  .hero-card { max-width: 560px; }
  .rank-arena { grid-template-columns: 1fr; }
  .rank-title { padding: 24px; text-align: center; }
  .identity-grid { grid-template-columns: 1fr 1fr; gap: 16px; }
  .identity-card h2 { font-size: 42px; }
  .series-grid { gap: 10px; }
  .series-ranks img { width: 96px; height: 96px; }
  .series-ranks img:nth-child(2) { width: 116px; height: 116px; }
}

@media (max-width: 880px) {
  .section { padding: 88px 0; }
  .hero { min-height: auto; }
  .hero-art::before { background: linear-gradient(180deg, rgba(2, 3, 8, .78), rgba(4, 7, 14, .54) 48%, #050711 96%); }
  .hero-grid { min-height: auto; padding-bottom: 58px; }
  .hero-card { margin-left: 0; }
  .prize-stage { grid-template-columns: 1fr 86px 1fr; gap: 10px; }
  .bracket-connector::before { width: 78px; height: 78px; }
  .bracket-connector img { width: 68px; height: 68px; }
  .bracket-card { min-height: 390px; }
  .bracket-10, .bracket-20 { border-radius: 14px; }
  .identity-section { padding-top: 0; }
  .identity-bg { background-position: center top; background-size: auto 560px; background-repeat: no-repeat; }
  .identity-bg::after { background: linear-gradient(180deg, rgba(5, 7, 17, .05), rgba(5, 7, 17, .18) 42%, #050711 72%); }
  .identity-grid { grid-template-columns: 1fr 1fr; gap: 16px; min-height: auto; padding-top: 350px; }
  .identity-card { min-height: 420px; }
  .series-heading h2 { font-size: 52px; }
  .series-grid { grid-template-columns: 1fr; max-width: 620px; margin-inline: auto; }
  .series-card { padding-inline: 24px; }
  .series-ranks img { width: 118px; height: 118px; }
  .series-ranks img:nth-child(2) { width: 142px; height: 142px; }
  .group-v2-grid, .group-v3-grid, .registration-grid, .faq-grid { grid-template-columns: 1fr; gap: 48px; }
  .registration-copy { max-width: 680px; }
  .final-grid { grid-template-columns: auto 1fr; }
  .final-grid .primary-button { grid-column: 1 / 3; }
}

@media (max-width: 620px) {
  .shell { width: calc(100% - 24px); }
  .topbar { grid-template-columns: 1fr; min-height: 64px; padding: 0 12px; backdrop-filter: none; }
  .brand-lockup img { width: 45px; height: 45px; }
  .brand-lockup strong { font-size: 21px; }
  .brand-lockup b { font-size: 8px; }
  .hero-art {
    background-image: url('/assets/campeonato/hero-rift-mobile.webp');
    background-position: 50% center;
  }
  .hero-grid { gap: 0; padding: 34px 0 54px; }
  .hero-copy { padding-top: 8px; text-align: center; }
  .hero-brand { margin-bottom: 20px; }
  .hero-brand span { font-size: 11px; letter-spacing: .18em; }
  .eyebrow { font-size: 11px; }
  .eyebrow > span { width: 22px; }
  .hero h1 { font-size: clamp(40px, 11.5vw, 52px); }
  .hero h1::before, .section-heading h2::before, .group-copy h2::before, .registration-copy h2::before { top: -8px; height: 2px; }
  .hero-lead { font-size: 17px; font-weight: 550; }
  .hero-actions { display: grid; }
  .crest-button img { width: 30px; height: 30px; }
  .ghost-button { min-height: 48px; }
  .hero-group-intro { grid-template-columns: 44px 1fr; padding: 14px; text-align: left; }
  .hero-group-icon { width: 43px; height: 43px; }
  .hero-group-icon svg { width: 27px; height: 27px; }
  .hero-group-intro b { font-size: 12px; }
  .hero-group-intro span { font-size: 11px; line-height: 1.5; }
  .hero-card { padding: 26px 17px; }
  .hero-rank-row { margin-top: -68px; }
  .hero-rank-row img { width: 60px; height: 60px; }
  .hero-rank-row img:nth-child(2) { width: 72px; height: 72px; }
  .hero-rank-row img:nth-child(3) { width: 84px; height: 84px; }
  .hero-prize-value { font-size: 64px; }
  .scroll-cue { display: none; }
  .rank-title strong { font-size: 24px; }
  .rank-marquee-group { gap: 16px; padding: 11px 8px 15px; }
  .rank-marquee figure { width: 88px; }
  .rank-marquee img { width: 82px; height: 82px; }
  .rank-marquee-track { animation-duration: 24s; }
  .section { padding: 72px 0; }
  .section-heading h2, .group-copy h2, .registration-copy h2 { font-size: clamp(41px, 11.4vw, 49px); }
  .section-heading > p:last-child, .group-copy > p:not(.eyebrow), .registration-copy > p:not(.eyebrow) { font-size: 17px; }
  .series-heading h2 { font-size: clamp(39px, 10.8vw, 48px); }
  .series-heading > p:not(.eyebrow) { font-size: 17px; }
  .series-card { padding: 20px 14px 23px; }
  .series-card-head span { font-size: 31px; }
  .series-card-head small { font-size: 11px; }
  .series-ranks { min-height: 136px; }
  .series-ranks img { width: 104px; height: 104px; }
  .series-ranks img:nth-child(2) { width: 126px; height: 126px; }
  .series-card > strong { font-size: 12px; }
  .series-entry .primary-button { width: 100%; }
  .prize-stage { grid-template-columns: 1fr; gap: 44px; }
  .prize-stage-v3::before { top: 50%; left: 50%; right: auto; width: 2px; height: 64%; transform: translate(-50%, -50%); }
  .bracket-connector { min-height: 72px; }
  .bracket-connector::before { width: 72px; height: 72px; }
  .bracket-connector img { width: 64px; height: 64px; }
  .bracket-connector span { bottom: -18px; }
  .bracket-card { min-height: auto; padding: 27px 23px; border-radius: 13px; }
  .bracket-badge span { font-size: 78px; }
  .bracket-card > strong { font-size: 54px; }
  .main-key { font-size: 9px; }
  .identity-section { min-height: 0; padding-top: 0; }
  .rift-texture { background-image: url('/assets/campeonato/hero-arena-mobile.webp'); }
  .identity-bg {
    background-image: url('/assets/campeonato/champions-arena-mobile.webp');
    background-position: 50% top;
    background-size: auto 430px;
  }
  .identity-grid { grid-template-columns: 1fr; gap: 13px; padding-top: 360px; }
  .identity-card { min-height: auto; padding: 26px 22px; }
  .identity-card h2 { font-size: 40px; }
  .identity-card > p:not(.eyebrow) { font-size: 16px; }
  .group-v2-grid, .group-v3-grid { gap: 34px; }
  .group-copy { text-align: center; }
  .group-copy h2::before { left: 50%; transform: translateX(-50%); }
  .group-benefits { grid-template-columns: 1fr; text-align: left; }
  .hero-brand img { width: 164px; height: 164px; }
  .group-access-card { grid-template-columns: 74px 1fr; gap: 12px; max-width: 420px; min-height: 148px; padding: 16px 13px; border-radius: 12px; }
  .group-access-card > img { width: 74px; height: 74px; }
  .group-access-card small { font-size: 8px; }
  .group-access-card b { font-size: 15px; }
  .group-access-card strong { font-size: 43px; }
  .group-flow { grid-template-columns: 1fr; }
  .access-price strong { font-size: 46px; }
  .group-flow article { grid-template-columns: 48px 1fr; padding: 15px; }
  .flow-number { width: 46px; height: 46px; }
  .flow-highlight { grid-column: 2; justify-self: stretch; min-width: 0; }
  .registration-grid { gap: 34px; }
  .registration-proof { gap: 6px; }
  .registration-proof span { grid-template-columns: 48px 1fr; padding: 9px; }
  .registration-proof img { width: 46px; height: 46px; }
  .ticket-builder { padding: 20px 14px; }
  .championship-dialog { width: calc(100% - 14px); max-height: 95vh; border-radius: 16px; }
  .championship-checkout { padding: 24px 14px 18px; border-radius: 16px; }
  .dialog-close { top: 10px; right: 10px; width: 38px; height: 38px; }
  .dialog-brand img { width: 48px; height: 48px; }
  .dialog-brand span { font-size: 10px; }
  .championship-checkout h2 { padding-right: 5px; font-size: clamp(35px, 10.7vw, 45px); }
  .builder-head { align-items: flex-start; flex-direction: column; gap: 4px; }
  .builder-price strong { font-size: 44px; }
  .type-option { grid-template-columns: 46px 1fr; padding: 13px 11px; }
  .type-mark { width: 44px; height: 44px; }
  .field-grid { grid-template-columns: 1fr; }
  .order-summary { align-items: flex-start; flex-direction: column; }
  .faq-grid { gap: 22px; }
  .faq-list summary { font-size: 16px; }
  .final-grid { grid-template-columns: 82px 1fr; gap: 12px; }
  .final-grid > img { width: 82px; height: 82px; }
  .final-grid h2 { font-size: 25px; }
  .final-grid p { font-size: 9px; }
  .final-grid .primary-button { display: flex; grid-column: 1 / 3; width: 100%; margin-top: 10px; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-grid p { justify-self: start; }
  .footer-grid > a:last-child { display: none; }
}

.group-introduction { margin-top: 22px; text-align: left; padding: 18px; border: 1px solid rgba(174,114,255,.3); border-radius: 16px; background: rgba(132,64,214,.09); }
.group-introduction p { font-size: 1rem; line-height: 1.55; }
.group-introduction strong { color: #d8b6ff; }
#finishWhatsApp:disabled { opacity: .5; cursor: not-allowed; }

/* Desktop arena layout --------------------------------------------------- */
@media (min-width: 1100px) {
  .shell {
    width: min(1760px, calc(100% - 96px));
  }

  .section {
    padding: clamp(120px, 7vw, 168px) 0;
  }

  .hero,
  .hero-grid {
    min-height: clamp(900px, 54vw, 1080px);
  }

  .hero-grid {
    padding: 64px 0 94px;
  }

  .hero-copy-centered {
    width: min(1160px, 100%);
  }

  .hero-brand {
    margin-bottom: 26px;
  }

  .hero-brand img {
    width: clamp(220px, 13vw, 286px);
    height: clamp(220px, 13vw, 286px);
  }

  .hero h1 {
    max-width: 1080px;
    font-size: clamp(82px, 5.15vw, 116px);
  }

  .hero-lead {
    max-width: 820px;
    font-size: clamp(20px, 1.2vw, 24px);
  }

  .hero-actions {
    gap: 18px;
    margin-top: 40px;
  }

  .primary-button,
  .ghost-button {
    min-height: 68px;
    padding-inline: 32px;
    border-radius: 10px;
    font-size: 15px;
  }

  .hero-actions .primary-button {
    min-width: 360px;
  }

  .hero-actions .ghost-button {
    min-width: 274px;
  }

  .hero-actions .crest-button img {
    width: 42px;
    height: 42px;
  }

  .hero-group-intro {
    grid-template-columns: 62px 1fr;
    gap: 19px;
    max-width: 900px;
    margin-top: 30px;
    padding: 22px 24px;
  }

  .hero-group-icon {
    width: 60px;
    height: 60px;
  }

  .hero-group-icon svg {
    width: 35px;
    height: 35px;
  }

  .hero-group-intro b {
    font-size: 16px;
  }

  .hero-group-intro span {
    font-size: 15px;
  }

  .rank-arena {
    grid-template-columns: minmax(420px, calc((100vw - 1760px) / 2 + 430px)) minmax(0, 1fr);
    min-height: 246px;
    background:
      linear-gradient(90deg, rgba(3, 17, 23, .96), rgba(9, 37, 37, .9) 30%, rgba(18, 20, 47, .94) 64%, rgba(5, 14, 23, .98)),
      url('/assets/campeonato/hero-arena.webp') center 54% / cover no-repeat;
  }

  .rank-title {
    min-width: 0;
    padding: 36px 34px 36px max(48px, calc((100vw - 1760px) / 2 + 48px));
  }

  .rank-title strong {
    max-width: 390px;
    font-size: clamp(32px, 2.05vw, 46px);
  }

  .rank-marquee-group {
    gap: 34px;
    padding: 25px 18px;
  }

  .rank-marquee figure {
    width: clamp(126px, 7vw, 154px);
  }

  .rank-marquee img {
    width: clamp(120px, 6.6vw, 146px);
    height: clamp(120px, 6.6vw, 146px);
  }

  .group-section {
    isolation: isolate;
    overflow: hidden;
    border-bottom-color: rgba(84, 239, 215, .28);
    background: #06100f;
  }

  .group-section::before,
  .group-section::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
  }

  .group-section::before {
    z-index: -2;
    background: url('/assets/campeonato/hero-arena.webp') center 48% / cover no-repeat;
    filter: saturate(1.05) contrast(1.08);
    opacity: .46;
  }

  .group-section::after {
    z-index: -1;
    background:
      linear-gradient(90deg, rgba(3, 12, 12, .96) 0%, rgba(4, 17, 18, .78) 33%, rgba(10, 11, 25, .72) 70%, rgba(5, 7, 17, .95) 100%),
      linear-gradient(180deg, rgba(5, 7, 17, .88), transparent 24%, rgba(5, 7, 17, .82) 100%);
  }

  .group-v3-grid {
    grid-template-columns: minmax(0, 1.12fr) minmax(500px, .88fr);
    gap: clamp(70px, 6vw, 126px);
    align-items: center;
  }

  .group-copy {
    width: min(920px, 100%);
  }

  .group-copy h2,
  .section-heading h2 {
    font-size: clamp(66px, 4.1vw, 88px);
  }

  .group-copy > p:not(.eyebrow),
  .section-heading > p:last-child {
    font-size: 20px;
  }

  .group-benefits {
    gap: 16px;
    margin-top: 30px;
  }

  .group-benefits span {
    min-height: 112px;
    padding: 22px;
    border-radius: 14px;
    background: rgba(5, 14, 18, .8);
    backdrop-filter: blur(8px);
  }

  .group-benefits b {
    font-size: 16px;
  }

  .group-benefits small {
    font-size: 15px;
  }

  .group-access-card {
    grid-template-columns: 120px 1fr;
    gap: 24px;
    max-width: 590px;
    min-height: 224px;
    padding: 28px 32px;
    border-radius: 20px;
  }

  .group-access-card > img {
    width: 118px;
    height: 118px;
  }

  .group-access-card small {
    font-size: 12px;
  }

  .group-access-card b {
    font-size: 22px;
  }

  .group-access-card strong {
    margin: 10px 0;
    font-size: 64px;
  }

  .group-access-card em {
    padding: 7px 12px;
    font-size: 12px;
  }

  .group-section > .shell + .shell {
    margin-top: clamp(54px, 4vw, 82px);
  }

  .group-flow {
    gap: 24px;
  }

  .group-flow article {
    grid-template-columns: 78px minmax(0, 1fr) minmax(190px, auto);
    gap: 24px;
    min-height: 184px;
    padding: 28px;
    border-radius: 18px;
    background: linear-gradient(105deg, rgba(7, 24, 25, .94), rgba(8, 10, 20, .9));
    backdrop-filter: blur(10px);
  }

  .flow-number {
    width: 74px;
    height: 74px;
    border-radius: 13px;
    font-size: 19px;
  }

  .group-flow b {
    font-size: 20px;
  }

  .group-flow p {
    margin-top: 7px;
    font-size: 17px;
    line-height: 1.58;
  }

  .flow-highlight {
    min-width: 190px;
    padding: 16px;
    border-radius: 12px;
  }

  .flow-highlight strong {
    font-size: 12px;
  }

  .flow-highlight small {
    font-size: 14px;
  }

  .section-entry {
    margin-top: 48px;
  }

  .inline-entry-cta {
    grid-template-columns: 62px 1fr;
    gap: 16px;
    min-width: min(560px, 100%);
    min-height: 90px;
    padding: 13px 28px 13px 17px;
    border-radius: 14px;
  }

  .inline-entry-cta img {
    width: 62px;
    height: 62px;
  }

  .inline-entry-cta small {
    font-size: 11px;
  }

  .inline-entry-cta b {
    font-size: 16px;
  }

  .entry-support-note {
    font-size: 15px;
  }

  .series-section {
    background:
      radial-gradient(circle at 12% 48%, rgba(29, 118, 83, .28), transparent 32%),
      radial-gradient(circle at 84% 34%, rgba(121, 51, 211, .26), transparent 36%),
      linear-gradient(115deg, #061512, #0b1820 46%, #100b21);
  }

  .series-heading {
    max-width: 1100px;
  }

  .series-heading h2 {
    font-size: clamp(66px, 4.2vw, 90px);
  }

  .series-heading > p:not(.eyebrow) {
    max-width: 820px;
    font-size: 20px;
  }

  .series-grid {
    gap: 28px;
    margin-top: 60px;
  }

  .series-card {
    min-height: 390px;
    padding: 32px 28px 34px;
    border-radius: 20px;
  }

  .series-card-head span {
    font-size: 46px;
  }

  .series-card-head small {
    font-size: 14px;
  }

  .series-ranks {
    min-height: 220px;
    margin: 16px -8px 9px;
  }

  .series-ranks img {
    width: clamp(132px, 8vw, 166px);
    height: clamp(132px, 8vw, 166px);
    margin-inline: -18px;
  }

  .series-ranks img:nth-child(2) {
    width: clamp(158px, 9.3vw, 194px);
    height: clamp(158px, 9.3vw, 194px);
  }

  .series-card > strong {
    font-size: 16px;
    letter-spacing: .055em;
  }

  .series-entry {
    margin-top: 48px;
  }

  .series-entry .primary-button {
    min-width: 430px;
  }

  .prize-stage {
    grid-template-columns: minmax(0, 1fr) 130px minmax(0, 1fr);
    gap: 18px;
  }

  .prize-stage .ranked-prize {
    padding: 42px;
  }

  .prize-rank-header img {
    width: 138px;
    height: 138px;
  }

  .ranked-prize h3,
  .runner-up-prize b {
    font-size: 18px;
  }

  .runner-up-prize small,
  .ranked-prize li {
    font-size: 16px;
  }
}

@media (min-width: 1800px) {
  body {
    font-size: 18px;
  }

  .hero-copy-centered {
    width: min(1240px, 100%);
  }

  .group-flow article {
    min-height: 196px;
  }
}

/* One alignment language for every championship CTA. */
.hero-actions .primary-button,
.hero-actions .ghost-button,
.series-entry .primary-button,
.final-grid .primary-button,
.whatsapp-button {
  justify-content: center;
  text-align: center;
}

.group-access-card,
.inline-entry-cta {
  justify-content: center;
  justify-items: center;
  text-align: center;
}

.group-access-card {
  grid-template-columns: 92px minmax(0, 1fr) 92px;
}

.inline-entry-cta {
  grid-template-columns: 48px minmax(0, 1fr) 48px;
}

.group-access-card > span,
.inline-entry-cta > span {
  min-width: 0;
  align-content: center;
  justify-items: center;
  text-align: center;
}

.group-access-card em {
  justify-self: center;
}

.group-access-card img,
.inline-entry-cta img,
.crest-button img {
  justify-self: center;
  flex: 0 0 auto;
}

.championship-checkout button,
.pix-pending button {
  text-align: center;
}

@media (min-width: 1100px) {
  .group-access-card {
    grid-template-columns: 118px minmax(0, 1fr) 118px;
  }

  .inline-entry-cta {
    grid-template-columns: 62px minmax(0, 1fr) 62px;
  }
}

@media (max-width: 620px) {
  .group-access-card {
    grid-template-columns: 64px minmax(0, 1fr) 64px;
  }
}

@media (min-width: 1100px) and (max-width: 1399px) {
  .group-access-card {
    grid-template-columns: 92px minmax(0, 1fr) 92px;
  }

  .group-flow {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .bracket-connector { animation: none; }
  .pulse-cta { animation: none; }
  .pulse-cta::before { display: none; }
  .rank-marquee { overflow-x: auto; -webkit-mask-image: none; mask-image: none; }
  .rank-marquee-track { animation: none; }
  .rank-marquee-group[aria-hidden="true"] { display: none; }
}

/* A primeira dobra recebe prioridade; as seções seguintes só entram no custo
   de layout e pintura quando estiverem próximas da área visível. */
.rank-arena,
.group-section,
.series-section,
.prize-section,
.identity-section,
.faq-section,
.final-cta,
footer {
  content-visibility: auto;
  contain-intrinsic-size: auto 900px;
}
