/* =========================================================
   HOME - Super Mario Brasil
   ========================================================= */
.home { overflow-x: clip; }
.home h2, .home h3 { font-family: var(--mbr-font-display); font-weight: 400; letter-spacing: .3px; line-height: 1.05; }
.eyebrow {
  display: inline-block; margin: 0 0 10px; font-weight: 900; font-size: 13px; letter-spacing: 2px; text-transform: uppercase;
  color: var(--mbr-red); background: #fff; padding: 5px 12px; border-radius: 999px; box-shadow: 0 3px 0 rgba(0,0,0,.08);
}
.eyebrow--light { background: rgba(255,255,255,.14); color: var(--br-yellow); box-shadow: none; }
.sec-head { max-width: 760px; margin: 0 auto 40px; text-align: center; }
.sec-head h2 { font-size: clamp(34px, 5vw, 56px); margin: 0 0 12px; }
.sec-head p { margin: 0; font-size: 18px; }

/* ---------- HERO ---------- */
.hero {
  position: relative; overflow: hidden; isolation: isolate;
  background: linear-gradient(#4a86f7, #6fa4ff 55%, #a9c9ff);
  padding: 56px 16px 150px;
  min-height: min(760px, 92vh);
}
.hero__sky { position: absolute; inset: 0; z-index: -1; }
.hero__hills { position: absolute; left: 0; bottom: 44px; width: 100%; height: 220px; }
.cloud {
  position: absolute; width: 150px; height: 46px; background: #fff; border-radius: 46px;
  box-shadow: 0 6px 0 rgba(0,40,120,.12); animation: drift linear infinite;
}
.cloud::before, .cloud::after { content: ""; position: absolute; background: #fff; border-radius: 50%; }
.cloud::before { width: 70px; height: 70px; left: 22px; top: -36px; }
.cloud::after { width: 54px; height: 54px; left: 74px; top: -24px; }
.cloud--1 { top: 12%; animation-duration: 70s; animation-delay: -10s; }
.cloud--2 { top: 30%; transform: scale(.7); animation-duration: 90s; animation-delay: -50s; opacity: .9; }
.cloud--3 { top: 8%; transform: scale(1.2); animation-duration: 110s; animation-delay: -80s; }
.cloud--4 { top: 44%; transform: scale(.55); animation-duration: 80s; animation-delay: -30s; opacity: .8; }
@keyframes drift { from { left: -220px; } to { left: 110%; } }

.hero__in { max-width: 1280px; margin: 0 auto; display: grid; grid-template-columns: 1.05fr 1fr; gap: 24px; align-items: center; position: relative; z-index: 2; }
.hero__kicker {
  display: inline-flex; align-items: center; gap: 8px; margin: 0 0 16px;
  background: rgba(0,0,0,.25); color: #fff; font-weight: 900; font-size: 14px; letter-spacing: .5px;
  padding: 7px 14px; border-radius: 999px; backdrop-filter: blur(4px);
}
.hero__dot { width: 10px; height: 10px; border-radius: 50%; background: #4ade80; box-shadow: 0 0 0 4px rgba(74,222,128,.3); animation: pulse 1.6s infinite; }
@keyframes pulse { 50% { box-shadow: 0 0 0 8px rgba(74,222,128,0); } }
.hero__title {
  font-family: var(--mbr-font-display); font-weight: 400; margin: 0 0 18px;
  font-size: clamp(42px, 6.4vw, 86px); line-height: .98; color: #fff; letter-spacing: .5px;
  text-shadow: 0 4px 0 #1b1b1f, 3px 0 0 #1b1b1f, -3px 0 0 #1b1b1f, 0 -3px 0 #1b1b1f, 3px 4px 0 #1b1b1f, -3px 4px 0 #1b1b1f, 0 10px 0 rgba(0,0,0,.18);
}
.hero__mario { color: var(--mbr-red); display: inline-block; transform: rotate(-2deg); }
.hero__lead { color: #0b1d4d; font-size: clamp(16px, 1.6vw, 19px); font-weight: 700; max-width: 560px; margin: 0 0 26px; background: rgba(255,255,255,.72); padding: 14px 18px; border-radius: 16px; }
.hero__cta { display: flex; flex-wrap: wrap; gap: 14px; margin-bottom: 30px; }
.hero__blocks { display: flex; gap: 0; }
.hero__blocks > * { width: 56px; height: 56px; }
.hero__brick {
  border: 0; padding: 0;
  background:
    linear-gradient(#0000 26px, #3a1500 26px 30px, #0000 30px) 0 0 / 56px 56px,
    linear-gradient(90deg, #0000 26px, #3a1500 26px 30px, #0000 30px) 0 0 / 56px 28px,
    linear-gradient(90deg, #3a1500 4px, #0000 4px) 14px 28px / 56px 28px no-repeat,
    #c84c0c;
  box-shadow: inset 0 4px 0 #fca044, inset 0 -4px 0 #6b2400;
}
.hero__brick.is-hit { animation: mbr-blockhit .3s ease; }

.hero__art { position: relative; display: grid; place-items: center; }
.hero__logo { width: 100%; max-width: 620px; filter: drop-shadow(0 18px 24px rgba(0,30,90,.35)); animation: bob 4s ease-in-out infinite; }
@keyframes bob { 50% { transform: translateY(-14px) rotate(-1deg); } }
.hero__seal {
  position: absolute; top: -22px; right: -10px; width: 196px; height: 196px; z-index: 2;
  border: 0; padding: 0; background: none; cursor: pointer; border-radius: 50%;
  filter: drop-shadow(0 8px 0 rgba(0, 40, 110, .22)) drop-shadow(0 16px 18px rgba(0, 0, 0, .22));
  animation: sealFloat 4.5s ease-in-out infinite;
  transition: transform .35s cubic-bezier(.3, 1.6, .5, 1);
}
.hero__seal:hover, .hero__seal:focus-visible { transform: scale(1.07) rotate(-7deg); }
.hero__seal:active { transform: scale(.96); }
.hero__seal svg { width: 100%; height: 100%; overflow: visible; display: block; }
.seal__burst { transform-box: view-box; transform-origin: 120px 120px; animation: spin 60s linear infinite reverse; }
.seal__ring { transform-box: view-box; transform-origin: 120px 120px; animation: spin 26s linear infinite; }
.seal__shine { transform-box: view-box; transform-origin: 120px 120px; animation: sealShine 5s ease-in-out infinite; }
.hero__seal.is-party svg { animation: sealPop .6s cubic-bezier(.3, 1.8, .5, 1); }
@keyframes sealFloat { 50% { translate: 0 -7px; } }
@keyframes sealShine { 0%, 55% { transform: rotate(20deg) translateX(0); } 100% { transform: rotate(20deg) translateX(260px); } }
@keyframes sealPop { 40% { transform: scale(1.18) rotate(8deg); } }
.seal-confetti {
  position: absolute; left: 50%; top: 50%; width: 10px; height: 14px; border-radius: 2px; pointer-events: none; z-index: 3;
  background: var(--c); transform: translate(-50%, -50%);
  animation: sealConfetti .95s cubic-bezier(.15, .7, .3, 1) forwards;
}
@keyframes sealConfetti {
  to { transform: translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) rotate(var(--r)); opacity: 0; }
}

.hero__ground {
  position: absolute; left: 0; right: 0; bottom: 0; height: 48px; z-index: 1;
  background:
    linear-gradient(#0000 22px, #00000059 22px 24px, #0000 24px) 0 0 / 48px 48px,
    linear-gradient(90deg, #0000 46px, #00000059 46px) 0 0 / 48px 24px,
    linear-gradient(90deg, #0000 22px, #00000059 22px 24px, #0000 24px) 0 24px / 48px 48px,
    #c84c0c;
  box-shadow: inset 0 4px 0 #fca044;
}
.hero__pipe {
  position: absolute; bottom: 48px; width: 96px; height: 120px; z-index: 1;
  background: linear-gradient(90deg, #0a5a14, #36c447 30%, #8ef09a 42%, #27a83a 60%, #0a5a14);
  border: 4px solid #062e0a; border-bottom: 0;
}
.hero__pipe::before {
  content: ""; position: absolute; left: -14px; right: -14px; top: -38px; height: 40px;
  background: inherit; border: 4px solid #062e0a; border-radius: 4px;
}
.hero__pipe--l { left: 4%; height: 90px; }
.hero__pipe--r { right: 6%; height: 150px; }
/* Planta Piranha: fica escondida dentro do cano e sai por trás da borda */
.hero__piranha {
  /* janela de recorte logo acima do corpo do cano; a borda (::before) cobre a base */
  position: absolute; left: 50%; bottom: calc(100% + 14px); width: 130px; height: 150px;
  transform: translateX(-50%); overflow: hidden; z-index: -1; cursor: pointer;
}
.hero__piranha-rise {
  position: absolute; left: 0; right: 0; bottom: 0; height: 136px;
  transform: translateY(110%); animation: piranhaRise 7s cubic-bezier(.45, 0, .3, 1) infinite;
}
.hero__piranha-plant {
  position: absolute; inset: 0;
  background: url("../img/inimigos/planta-piranha-sem-cano.webp") center bottom / contain no-repeat;
  transform-origin: 50% 100%; animation: piranhaChomp .42s ease-in-out infinite alternate;
  filter: drop-shadow(0 4px 0 rgba(0, 40, 0, .25));
}
@keyframes piranhaRise {
  0%, 24% { transform: translateY(110%); }
  34%, 70% { transform: translateY(0); }
  80%, 100% { transform: translateY(110%); }
}
@keyframes piranhaChomp {
  from { transform: rotate(-5deg) scaleY(1); }
  to { transform: rotate(5deg) scaleY(.95); }
}
/* clique: a planta se esconde rapidinho */
.hero__piranha.is-hit .hero__piranha-rise { animation: none; transform: translateY(110%); transition: transform .18s ease-in; }
@media (prefers-reduced-motion: reduce) {
  .hero__piranha-rise { animation: none; transform: translateY(18%); }
  .hero__piranha-plant { animation: none; }
}

@media (max-width: 900px) {
  .hero { padding: 36px 16px 130px; min-height: 0; }
  .hero__in { grid-template-columns: 1fr; text-align: center; }
  .hero__art { order: -1; max-width: 420px; margin: 0 auto; }
  .hero__seal { width: 128px; height: 128px; top: -8px; right: -6px; }
  .hero__lead { margin-left: auto; margin-right: auto; }
  .hero__cta, .hero__blocks { justify-content: center; }
  .hero__pipe--l { display: none; }
  .hero__pipe--r { right: 6px; height: 64px; transform: scale(.72); transform-origin: bottom right; }
  .hero__blocks > * { width: 46px; height: 46px; }
  .hero__brick { background-size: 46px 46px, 46px 23px, 46px 23px, auto; }
}

/* ---------- TICKER ---------- */
.ticker { display: flex; align-items: stretch; background: var(--mbr-yellow); border-block: 4px solid #1b1b1f; overflow: hidden; font-weight: 900; }
.ticker__tag { flex-shrink: 0; background: #1b1b1f; color: var(--mbr-yellow); padding: 12px 18px; font-family: var(--mbr-font-pixel); font-size: 11px; display: flex; align-items: center; text-transform: uppercase; }
.ticker__track { overflow: hidden; flex: 1; display: flex; }
.ticker__list { display: flex; gap: 48px; margin: 0; padding: 12px 24px; list-style: none; white-space: nowrap; animation: ticker 60s linear infinite; }
.ticker__track:hover .ticker__list { animation-play-state: paused; }
@keyframes ticker { to { transform: translateX(-50%); } }

/* ---------- CONHEÇA O MARIO ---------- */
.meet { padding: 90px 0 70px; background: radial-gradient(circle at 15% 10%, #ffe9e9, transparent 40%), var(--mbr-cream); }
.meet__card {
  position: relative; display: grid; grid-template-columns: .9fr 1.1fr; gap: 24px; align-items: center;
  background: var(--mbr-red); color: #fff; border-radius: 36px; padding: 40px 48px 40px 24px;
  box-shadow: 0 12px 0 var(--mbr-red-dark), var(--mbr-shadow);
  background-image: radial-gradient(circle at 25% 50%, rgba(255,255,255,.14) 0 30%, transparent 30.2%), repeating-linear-gradient(45deg, rgba(255,255,255,.04) 0 12px, transparent 12px 24px);
}
.meet__art { position: relative; display: grid; place-items: center; min-height: 420px; }
.meet__m {
  position: absolute; width: 300px; height: 300px; border-radius: 50%; background: #fff; display: grid; place-items: center;
  font-family: var(--mbr-font-display); font-size: 220px; color: var(--mbr-red); line-height: 1; opacity: .95;
}
.meet__art img { position: relative; max-height: 520px; width: auto; margin: -80px 0 -60px; filter: drop-shadow(0 16px 20px rgba(0,0,0,.3)); transition: transform .4s cubic-bezier(.3,1.6,.5,1); }
.meet__card:hover .meet__art img { transform: translateY(-10px) rotate(-2deg); }
.meet__txt h2 { font-size: clamp(40px, 5vw, 64px); margin: 0 0 14px; text-shadow: 0 4px 0 var(--mbr-red-dark); }
.meet__txt p { font-size: 17px; margin: 0 0 14px; max-width: 620px; }
.meet__facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 22px 0 26px; }
.meet__facts div { background: #fff; color: var(--mbr-ink); border-radius: 14px; padding: 10px 14px; box-shadow: 0 4px 0 rgba(0,0,0,.18); }
.meet__facts dt { font-size: 11px; font-weight: 900; letter-spacing: 1.4px; text-transform: uppercase; color: var(--mbr-red); }
.meet__facts dd { margin: 0; font-weight: 900; font-size: 15.5px; }
.meet__coin { position: absolute; right: 26px; top: 22px; }
@media (max-width: 900px) {
  .meet__card { grid-template-columns: 1fr; padding: 28px 22px 32px; text-align: center; }
  .meet__art { min-height: 300px; }
  .meet__m { width: 220px; height: 220px; font-size: 160px; }
  .meet__art img { max-height: 360px; margin: -40px 0 -20px; }
  .meet__txt p { margin-left: auto; margin-right: auto; }
  .meet__facts { grid-template-columns: repeat(2, 1fr); text-align: left; }
}

.evo { margin-top: 60px; }
.evo__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.evo__head h3 { font-size: clamp(26px, 3.4vw, 38px); margin: 0; }
.evo__nav { display: flex; gap: 8px; }
.evo__btn { width: 46px; height: 46px; border-radius: 50%; border: 0; background: var(--mbr-red); color: #fff; font-size: 30px; line-height: 1; box-shadow: 0 4px 0 var(--mbr-red-dark); }
.evo__btn:active { transform: translateY(3px); box-shadow: 0 1px 0 var(--mbr-red-dark); }
.evo__track { display: grid; grid-auto-flow: column; grid-auto-columns: 210px; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 10px 4px 22px; margin: 0; list-style: none; scrollbar-width: thin; }
.evo__track li {
  scroll-snap-align: start; background: #fff; border-radius: 22px; padding: 16px 14px 14px; text-align: center;
  box-shadow: 0 6px 0 #ead9c3; transition: transform .25s;
  display: flex; flex-direction: column; align-items: center;
}
.evo__track li:hover { transform: translateY(-6px) rotate(-1deg); }
.evo__track img { height: 170px; width: 100%; object-fit: contain; margin-bottom: 10px; }
.evo__track b { font-family: var(--mbr-font-pixel); font-size: 13px; color: var(--mbr-red); }
.evo__track span { font-weight: 800; font-size: 14px; margin-top: 6px; }

/* ---------- MUNDOS (JOGOS) ---------- */
.worlds {
  position: relative; padding: 90px 0; color: #fff;
  background:
    radial-gradient(2px 2px at 20% 30%, #fff8 50%, transparent 51%) 0 0 / 180px 180px,
    radial-gradient(2px 2px at 70% 80%, #fff6 50%, transparent 51%) 0 0 / 240px 240px,
    linear-gradient(#141a46, #1f2a6b);
}
.worlds .sec-head p { color: #c9d2ff; }
.worlds__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 22px; }
.gcard {
  --c: #e60012;
  position: relative; display: flex; flex-direction: column; text-decoration: none; color: #fff;
  background: #232c70; border-radius: 22px; overflow: hidden; border: 3px solid #2f3a8a;
  transition: transform .3s cubic-bezier(.3,1.4,.5,1), border-color .25s, box-shadow .25s;
  transform-style: preserve-3d;
}
.gcard:hover, .gcard:focus-visible { transform: translateY(-8px) rotate(-1deg); border-color: var(--c); box-shadow: 0 18px 40px -10px var(--c); }
.gcard__cover { position: relative; aspect-ratio: 3 / 4; overflow: hidden; background: var(--c); }
.gcard__cover img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.gcard:hover .gcard__cover img { transform: scale(1.06); }
.gcard__year {
  position: absolute; left: 10px; top: 10px; font-family: var(--mbr-font-pixel); font-size: 11px;
  background: #000c; color: var(--mbr-yellow); padding: 7px 9px; border-radius: 8px;
}
.gcard__num { position: absolute; right: 10px; top: 10px; font-family: var(--mbr-font-display); font-size: 15px; background: var(--c); color: #fff; padding: 3px 10px; border-radius: 999px; text-shadow: 0 1px 0 #0006; box-shadow: 0 2px 0 #0004; }
.gcard__body { padding: 14px 16px 18px; display: flex; flex-direction: column; gap: 4px; flex: 1; }
.gcard__tag { font-size: 12px; font-weight: 900; letter-spacing: 1.2px; text-transform: uppercase; color: var(--mbr-yellow); }
.gcard__title { font-family: var(--mbr-font-display); font-size: 21px; line-height: 1.1; }
.gcard__plat { font-size: 13.5px; color: #b9c3ff; font-weight: 700; margin-top: auto; padding-top: 6px; }
.worlds__more { text-align: center; margin-top: 40px; }

/* ---------- POWER-UPS ---------- */
.powers {
  padding: 90px 0;
  background: radial-gradient(circle, #ffffff40 2px, transparent 2.5px) 0 0 / 26px 26px, var(--mbr-yellow);
}
.powers .eyebrow { color: #a36b00; }
.powers__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 18px; }
.pw {
  width: 100%; height: 100%; border: 0; background: #fff; border-radius: 22px; padding: 18px 14px 18px;
  display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px;
  box-shadow: 0 6px 0 #c99a00; transition: transform .2s, box-shadow .2s;
}
.pw:hover { transform: translateY(-4px); box-shadow: 0 10px 0 #c99a00; }
.pw:active { transform: translateY(4px); box-shadow: 0 2px 0 #c99a00; }
.pw img { width: 96px; height: 96px; object-fit: contain; transition: transform .35s cubic-bezier(.3,1.8,.5,1); }
.pw:hover img { animation: float 1s ease-in-out infinite; }
.pw.is-on img { transform: scale(1.25) rotate(-8deg); }
@keyframes float { 50% { transform: translateY(-8px); } }
.pw strong { font-family: var(--mbr-font-display); font-weight: 400; font-size: 20px; }
.pw span { font-size: 14px; color: var(--mbr-muted); font-weight: 700; line-height: 1.4; }

/* ---------- ELENCO ---------- */
.cast { padding: 90px 0 70px; background: #fff; }
.cast__rail { --pad: max(16px, calc((100vw - 1280px) / 2 + 16px)); display: flex; gap: 18px; overflow-x: auto; padding: 70px var(--pad) 26px; scroll-padding-inline: var(--pad); scroll-snap-type: x proximity; scrollbar-width: thin; }
.cast__card {
  --c: #e60012; flex: 0 0 190px; scroll-snap-align: start; position: relative; height: 250px; text-decoration: none;
  border-radius: 26px; background: radial-gradient(circle at 50% 30%, #ffffff55, transparent 60%), var(--c);
  display: flex; align-items: flex-end; justify-content: center; box-shadow: 0 8px 0 rgb(0 0 0 / .14);
  transition: transform .3s cubic-bezier(.3,1.5,.5,1);
}
.cast__card img { position: absolute; bottom: 46px; left: 50%; height: 270px; width: auto; max-width: 115%; object-fit: contain; transform: translateX(-50%); filter: drop-shadow(0 10px 10px rgb(0 0 0 / .3)); transition: transform .3s cubic-bezier(.3,1.5,.5,1); }
.cast__card:hover { transform: translateY(-6px); }
.cast__card:hover img { transform: translateX(-50%) scale(1.07) rotate(-3deg); }
.cast__card span { position: relative; width: 100%; text-align: center; padding: 10px; font-family: var(--mbr-font-display); font-size: 22px; color: #fff; background: rgb(0 0 0 / .22); border-radius: 0 0 26px 26px; text-shadow: 0 2px 0 rgb(0 0 0 / .3); }

/* ---------- NOTÍCIAS ---------- */
.news { padding: 90px 0; background: var(--mbr-cream); }
.news__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.news__card { display: flex; flex-direction: column; background: #fff; border-radius: 22px; overflow: hidden; text-decoration: none; box-shadow: 0 6px 0 #ead9c3; transition: transform .25s, box-shadow .25s; }
.news__card:hover { transform: translateY(-6px); box-shadow: 0 12px 0 #ead9c3; }
.news__card img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; background: #eee; }
.news__body { padding: 16px 18px 20px; }
.news__cat { font-size: 12px; font-weight: 900; letter-spacing: 1.3px; text-transform: uppercase; color: var(--mbr-red); }
.news__body h3 { font-size: 22px; margin: 6px 0 0; }
.news__body p { margin: 10px 0 0; color: var(--mbr-muted); font-weight: 600; }
.news__card--feature { grid-column: span 2; grid-row: span 2; }
.news__card--feature img { aspect-ratio: auto; flex: 1; min-height: 280px; max-height: 470px; object-position: center 30%; }
.news__card--feature h3 { font-size: clamp(26px, 3vw, 36px); }
@media (max-width: 900px) { .news__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .news__grid { grid-template-columns: 1fr; } .news__card--feature { grid-column: auto; grid-row: auto; } }

/* ---------- 20 ANOS ---------- */
.vinte {
  position: relative; overflow: hidden; padding: 100px 0; color: #fff;
  background: var(--br-green);
}
.vinte::before {
  content: ""; position: absolute; left: 50%; top: 50%; width: 1400px; height: 760px; transform: translate(-50%, -50%);
  background: var(--br-yellow); clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%); opacity: .14;
}
.vinte .mbr-wrap { position: relative; }
.vinte__head { display: grid; grid-template-columns: auto 1fr; gap: 36px; align-items: center; margin-bottom: 50px; }
.vinte__big { font-family: var(--mbr-font-display); font-size: clamp(140px, 20vw, 260px); line-height: .8; color: var(--br-yellow); text-shadow: 0 10px 0 #006627, 0 0 0 #000; -webkit-text-stroke: 6px var(--br-blue); paint-order: stroke fill; }
.vinte__head h2 { font-size: clamp(32px, 4.4vw, 54px); margin: 0 0 14px; }
.vinte__head p { font-size: 18px; margin: 0; max-width: 720px; }
.vinte__line { list-style: none; margin: 0 0 40px; padding: 0; display: grid; grid-template-columns: repeat(9, 1fr); gap: 0; position: relative; }
.vinte__line::before { content: ""; position: absolute; left: 0; right: 0; top: 23px; height: 6px; background: var(--br-yellow); border-radius: 3px; }
.vinte__line li { position: relative; padding: 0 8px; text-align: center; }
.vinte__line b { position: relative; display: inline-grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: #fff; color: var(--br-blue); font-family: var(--mbr-font-display); font-weight: 400; font-size: 14px; border: 5px solid var(--br-yellow); margin-bottom: 10px; }
.vinte__line span { display: block; font-size: 14px; font-weight: 700; line-height: 1.35; }
.vinte__stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.vinte__stats div { background: rgb(0 0 0 / .18); border-radius: 22px; padding: 22px; text-align: center; border: 2px solid rgb(255 255 255 / .16); }
.vinte__stats strong { display: block; font-family: var(--mbr-font-display); font-weight: 400; font-size: 54px; line-height: 1; color: var(--br-yellow); }
.vinte__stats span { font-weight: 800; }
@media (max-width: 980px) {
  .vinte__head { grid-template-columns: 1fr; text-align: center; gap: 10px; }
  .vinte__line { grid-template-columns: 1fr; gap: 16px; padding-left: 8px; }
  .vinte__line::before { left: 31px; right: auto; top: 0; bottom: 0; width: 6px; height: auto; }
  .vinte__line li { display: grid; grid-template-columns: 52px 1fr; gap: 14px; align-items: center; text-align: left; padding: 0; }
  .vinte__line b { margin: 0; }
  .vinte__stats { grid-template-columns: 1fr 1fr; }
}

/* ---------- CAÇA ÀS MOEDAS ---------- */
.hunt { background: #1b1b1f; color: #fff; padding: 70px 0; position: relative; }
.hunt__in { display: grid; grid-template-columns: auto 1fr; gap: 36px; align-items: center; }
.hunt__coin img { width: 130px; height: 150px; object-fit: contain; animation: mbr-spin 2s linear infinite; filter: drop-shadow(0 0 30px #ffcc0088); }
.hunt h2 { font-size: clamp(30px, 4vw, 46px); margin: 0 0 10px; color: var(--mbr-yellow); }
.hunt p { margin: 0 0 10px; font-size: 17px; max-width: 760px; }
.hunt__now strong { color: var(--mbr-yellow); font-size: 22px; }
.hunt__now a { color: var(--mbr-yellow); font-weight: 900; }
.hunt__secret {
  position: absolute; right: 14px; bottom: 14px; width: 30px; height: 30px; border: 0; padding: 0; border-radius: 4px;
  background: transparent; outline: 1px dashed transparent;
}
.hunt__secret:hover, .hunt__secret:focus-visible { background: url("../img/itens/bloco.webp") center / contain no-repeat; }
@media (max-width: 640px) { .hunt__in { grid-template-columns: 1fr; text-align: center; } .hunt__coin img { margin: 0 auto; width: 90px; height: 100px; } }

/* Mobile: grades em 2 colunas para encurtar a página */
@media (max-width: 600px) {
  .worlds__grid { grid-template-columns: 1fr 1fr; gap: 12px; }
  .gcard { border-radius: 16px; }
  .gcard__body { padding: 10px 10px 12px; }
  .gcard__title { font-size: 16px; }
  .gcard__tag { font-size: 10px; letter-spacing: .6px; }
  .gcard__plat { font-size: 12px; }
  .gcard__num { display: none; }
  .powers__grid { grid-template-columns: 1fr 1fr; gap: 12px; }
  .pw { padding: 14px 10px; }
  .pw img { width: 72px; height: 72px; }
  .pw strong { font-size: 17px; }
  .pw span { font-size: 13px; }
  .worlds, .powers, .cast, .news, .meet { padding-top: 64px; padding-bottom: 64px; }
  .evo__track { grid-auto-columns: 170px; }
}

.vinte__cta { text-align: center; margin: 0 0 44px; }
