/* Layout: faixas full-bleed empilhadas (hero, ticker, palco, contagem, ingressos, info, lineup, premiação, hotéis, experiências, apoio, rodapé); conteúdo em coluna de 1152px, uma coluna no mobile (layout Figma 1440 / 390). */
/* Modo escuro forçado (Samsung Internet, Chrome Android etc.): o navegador escurece fundos claros, clareia texto escuro e mexe em ícones SVG,
   mesmo com color-scheme. Ele não toca em fundo escuro nem em texto claro. Então toda superfície clara com texto escuro
   (pill do idioma, data, ticker, ingressos, cards de hotel) é pintada com as cores invertidas e desinvertida por filter:invert(1),
   que roda depois do navegador e devolve as cores exatas. Pares usados: branco #000, lime #ff0081, ink #efefef, azul #ff9900. */
@font-face{font-family:"Druk Condensed Super";src:url("../fonts/DrukCond-Super.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Druk Wide Heavy";src:url("../fonts/DrukWide-Heavy.woff2") format("woff2");font-weight:900;font-style:normal;font-display:swap}
/* D-DIN Exp (Datto, licença SIL OFL 1.1 em fonts/OFL-D-DIN-Exp.txt): a fonte de texto do site, a mesma de evosingapore.gg. Só existem os pesos 400 e 700; 800 e 900 usam o 700 */
@font-face{font-family:"D-DIN Exp";src:url("../fonts/D-DINExp.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"D-DIN Exp";src:url("../fonts/D-DINExp-Bold.woff2") format("woff2");font-weight:700 900;font-style:normal;font-display:swap}
:root{
  color-scheme: dark;
  --navy-9:#071428;
  --navy-ink:#06033b;
  --indigo:#1d10d4;
  --blue:#0066ff;
  --blue-deep:#1a4ed8;
  --cyan:#00aeef;
  --lime:#00ff7e;
  --lavender:#c5c2f3;
  --white:#ffffff;
  --white-90:rgba(255,255,255,.9);
  --white-55:rgba(255,255,255,.55);
  --ink:#101010;
  --grey:#666666;
  --grey-10:#1a1a1a;
  /* Fontes oficiais (Druk Wide / D-DIN Exp / Druk Condensed), carregadas pelos @font-face acima; o resto do stack é reserva */
  --f-prize:"Druk Wide Heavy","Druk Wide","Archivo",system-ui,sans-serif;
  --f-prize-m:"Druk Condensed Super","Druk Condensed","Anton","Impact",sans-serif;
  --f-display:"Druk Wide Heavy","Druk Wide","Archivo",system-ui,sans-serif;
  --f-ui:"D-DIN Exp","Archivo",system-ui,sans-serif;
  --f-cond:"Druk Condensed","Anton","Impact",sans-serif;
  --col:1152px;
  --gutter-l:max(24px, env(safe-area-inset-left, 0px));
  --gutter-r:max(24px, env(safe-area-inset-right, 0px));
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:clip}
/* Parallax: o fundo é maior que a seção para poder deslizar sem mostrar bordas */
.hero>.bg,.countdown>.bg,.info>.bg,.hotels>.bg{inset:-90px 0;will-change:transform}
.bg-shader,.bg-crt{position:absolute;inset:0;width:100%;height:100%;display:block}
.has-shader .bg>:not(.bg-shader){display:none}
html.is-mb :is(.stage,.ticker,.band,.support,.footer){filter:url(#mblur)}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--navy-9);color:var(--white);font-family:var(--f-ui);font-stretch:112%;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
picture{display:contents}
picture source{display:none}
:focus-visible{outline:2px solid var(--lime);outline-offset:3px}
.display{font-family:var(--f-display);font-weight:900;font-stretch:125%;text-transform:uppercase;text-wrap:balance}
.wrap{width:100%;max-width:calc(var(--col) + var(--gutter-l) + var(--gutter-r));margin-inline:auto;padding-left:var(--gutter-l);padding-right:var(--gutter-r);position:relative}
.band{position:relative;overflow:hidden;isolation:isolate}
.bg{position:absolute;inset:0;z-index:-1;pointer-events:none}
.bg img,.cover{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.skip{position:absolute;left:-9999px}
.skip:focus{left:16px;top:16px;z-index:100;background:#ff0081;color:#efefef;filter:invert(1);padding:8px 12px}

/* ---------- Logos ---------- */
.logo{position:relative;flex:none}
.logo img{position:absolute;max-width:none}
.logo .mark{inset:0;width:100%;height:100%}
.logo-sm{width:44.28px;height:47px}
.logo-lg{width:clamp(220px,20.4vw,293.737px);aspect-ratio:473/502}

/* ---------- Language switch ---------- */
.lang{position:relative;height:32px;display:flex;align-items:center;font-size:13px;letter-spacing:1.2px;flex:none}
.lang .pill{position:absolute;left:9px;bottom:3px;width:14px;height:2px;background:var(--lime);border-radius:1px;transition:transform .25s ease}
.lang[data-active="1"] .pill{transform:translateX(32px)}
.lang[data-active="2"] .pill{transform:translateX(64px)}
.lang button{position:relative;width:32px;height:100%;display:grid;place-items:center;color:var(--white-55);font-weight:700;transition:color .2s ease}
.lang button:hover{color:var(--white)}
.lang button[aria-pressed="true"]{color:var(--lime)}
/* Do tablet para cima: pílula translúcida como a barra, com marcador lime que desliza até o idioma ativo */
@media (min-width: 640px){
  .lang{height:34px;padding:3px;border-radius:17px;background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}
  .lang .pill{left:3px;top:3px;bottom:auto;width:38px;height:28px;border-radius:14px;box-shadow:0 2px 8px rgba(0,255,126,.25)}
  .lang[data-active="1"] .pill{transform:translateX(38px)}
  .lang[data-active="2"] .pill{transform:translateX(76px)}
  .lang button{width:38px;height:28px;border-radius:14px;letter-spacing:1px}
  .lang button[aria-pressed="true"]{color:var(--navy-ink)}
}
@media (prefers-reduced-motion: reduce){.lang .pill{transition:none}}

/* ---------- Hero ---------- */
.hero{z-index:30;min-height:810px;min-height:calc(100vh - 29px);min-height:calc(100svh - 29px);display:flex;flex-direction:column;align-items:center;padding-top:84px}
.hero .overlay-blue,.page-hero .overlay-blue{position:absolute;inset:0;background:var(--indigo);mix-blend-mode:soft-light}
.hero .overlay-darken,.page-hero .overlay-darken{position:absolute;inset:0 -69px -18px 0;background:var(--indigo);mix-blend-mode:darken}
.hero .overlay-grad,.page-hero .overlay-grad{position:absolute;left:-10px;right:-10px;bottom:-18px;height:263px;background:linear-gradient(180deg,rgba(29,16,212,0) 5.577%,#0f086e 77.413%);mix-blend-mode:multiply;opacity:.47}
.nav{position:fixed;top:20px;left:50%;transform:translateX(-50%);width:60vw;height:64px;background:rgba(18,58,114,.4);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:8px;display:flex;align-items:center;padding-inline:20px;z-index:40}
/* Com os links visíveis, a barra tem no mínimo 940px para os textos não encostarem no logo central */
@media (min-width: 1280px){.nav{width:max(60vw, 940px)}}
@media (min-width: 1920px){.nav{top:25px;height:80px;border-radius:10px;padding-inline:25px}.nav .nav-logo .logo-sm{--lh:60px}}
@media (min-width: 2560px){.nav{top:33px;height:107px;border-radius:13.33px;padding-inline:33px}.nav .nav-logo .logo-sm{--lh:80px}}
/* Logo no centro da barra; links à esquerda; redes sociais e idiomas à direita, separados por um traço fino */
.nav-brand{display:contents}
.nav-logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center}
.nav-links{order:1;flex:0 1 auto;display:flex;gap:24px;font-weight:700;font-size:13px;letter-spacing:1.5px;min-width:0}
.nav-links a{white-space:nowrap;opacity:.85;transition:color .2s ease,opacity .2s ease}
.nav-links a:hover{color:var(--lime);opacity:1}
.nav-social{order:2;margin:0 0 0 auto;display:flex;align-items:center;gap:12px;list-style:none;padding:0}
.nav-social a{display:block;width:23px;height:23px;opacity:.6;transition:opacity .2s ease}
.nav-social a:hover{opacity:1}
.nav-social img{display:block;width:23px;height:23px}
.nav .logo-sm{--lh:48px;height:var(--lh);width:calc(var(--lh) * 473 / 502)}
.nav-right{order:3;flex:none;display:flex;align-items:center;margin-left:16px;padding-left:12px;border-left:1px solid rgba(255,255,255,.18)}
.menu-wrap{order:4}
.menu-btn{display:none;width:34px;height:34px}
.hero-content{margin-block:auto;display:flex;flex-direction:column;align-items:center;gap:36px;padding-top:56px;padding-bottom:40px;text-align:center}
.event-date{display:flex;flex-direction:column;align-items:center;gap:16.8px;width:303.8px}
.month{background:#000;color:#f9fcc4;filter:invert(1);font-weight:700;font-size:24.08px;letter-spacing:-1.064px;text-transform:uppercase;width:100%;height:30.8px;display:grid;place-items:center;line-height:1}
.days{display:flex;align-items:center;justify-content:space-between;width:calc(100% + 6px);margin-inline:-3px;height:50px}
.days span{font-weight:700;font-size:58.5px;letter-spacing:6.47px;text-shadow:0 6.25px 6.25px rgba(0,0,0,.2);margin-right:-6.47px;line-height:1}
.dia{width:14.25px;height:14.25px;transform:rotate(-46.58deg) skewX(-3.11deg);flex:none}
.venue{font-weight:700;font-size:18px;letter-spacing:5.2px;text-transform:uppercase;white-space:nowrap;width:calc(100% + 5.2px);margin-right:-5.2px;text-align:left;text-align-last:justify}

/* ---------- Ticker ---------- */
.ticker{position:relative;height:29px;overflow:hidden;display:flex;align-items:center}
.ticker::before{content:"";position:absolute;inset:0;background:#ff0081;filter:invert(1)}
.ticker-track{position:relative;display:flex;align-items:center;gap:18px;width:max-content;animation:tick 60s linear infinite;padding-left:18px}
.ticker-track span{color:#ffffff;filter:invert(1);font-weight:700;font-size:15.8px;letter-spacing:3.2px;text-transform:uppercase;white-space:nowrap;line-height:1}
.ticker-track i{width:23.33px;height:18.55px;flex:none;background:#1C1C1C;-webkit-mask:url(../img/ticker-1.svg) 0 0/100% 100% no-repeat;mask:url(../img/ticker-1.svg) 0 0/100% 100% no-repeat}
@keyframes tick{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion: reduce){.ticker-track{animation:none}}

/* ---------- Stage ---------- */
.stage{padding-top:7px}
.stage .line{height:2px;background:var(--lime)}
.stage .video{aspect-ratio:16/9;background:#000}
.stage .video iframe,.stage .video video{display:block;width:100%;height:100%;border:0;object-fit:contain;background:#000}
.stage .video video{pointer-events:none;user-select:none;-webkit-user-select:none}
.stage .video video::-webkit-media-controls,.stage .video video::-webkit-media-controls-start-playback-button{display:none!important;-webkit-appearance:none}

/* ---------- Countdown ---------- */
.countdown{min-height:440px;display:flex;align-items:center;justify-content:center;border-block:2px solid var(--lime)}
.countdown .cd-tint{position:absolute;inset:0;background:#0252ff;mix-blend-mode:overlay}
.countdown .cd-shade{position:absolute;inset:0;background:rgba(12,4,88,.87);mix-blend-mode:multiply}
.countdown .inner{display:flex;flex-direction:column;align-items:center;gap:32px;padding-block:56px;text-align:center}
.eyebrow{font-weight:700;font-size:24.32px;letter-spacing:-1.216px;text-transform:uppercase}
.eyebrow b{color:var(--lime);font-weight:700}
.cd-title{display:flex;flex-direction:column;align-items:center;gap:4px}
.cd-title .l1{font-size:53.12px;letter-spacing:6.6px;color:transparent;-webkit-text-stroke:1.5px var(--white);line-height:1}
.cd-title .l2{font-size:51.24px;letter-spacing:6.6px;font-style:italic;line-height:1}
.counter{display:flex;align-items:flex-start;gap:16.8px}
.unit{min-width:110.4px;padding-inline:10px;height:110.4px;border:1.5px solid var(--lime);border-radius:4.686px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9.6px}
.unit .n{font-family:var(--f-ui);font-stretch:100%;font-weight:900;font-size:61px;line-height:1;font-variant-numeric:tabular-nums}
.unit .l{color:var(--lime);font-weight:700;font-size:12px;letter-spacing:1.69px;text-transform:uppercase;line-height:1}
.colon{font-weight:900;font-stretch:100%;font-size:64px;line-height:1;padding-top:12.8px;width:11.2px}

/* ---------- Tickets ---------- */
.tickets{min-height:560px;border-bottom:2px solid var(--white)}
.tickets::after{content:"";position:absolute;left:0;right:0;bottom:3px;height:1px;background:var(--white)}
.tickets .base{position:absolute;inset:0;background:#020202;mix-blend-mode:multiply;opacity:.48}
.tickets .bg .cover{object-position:50% 50%}
.tickets .inner{display:flex;flex-direction:column;align-items:center;gap:56px;padding-block:96px 120px}
.tickets h2{font-size:40.4px;letter-spacing:6.78px;line-height:44.8px;text-align:center;margin:0}
.tickets h2 span{display:block;color:var(--lime)}
/* Como funciona: um cartão largo, no contorno dos cartões de lote; à esquerda o ingresso (acesso), à direita a competição (preço por jogo) */
.tk-how{width:100%;max-width:1152px;display:flex;flex-direction:column;align-items:center;gap:22px;margin-top:-16px}
.tk-how-h{margin:0;font-weight:700;font-size:12px;letter-spacing:3.4px;text-transform:uppercase}
.tk-card{--cut:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px));position:relative;width:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:32px;padding:30px 36px 34px;background:rgba(255,255,255,.85);clip-path:var(--cut)}
.tk-card::before{content:"";position:absolute;inset:1px;background:#111;clip-path:var(--cut)}
.tk-card>*{position:relative}
.tk-step{display:flex;flex-direction:column;align-items:flex-start;gap:8px;align-self:start}
.tk-step .k{padding:6px 10px;margin-bottom:4px;background:var(--white);color:var(--ink);font-weight:700;font-size:11.5px;letter-spacing:2.6px;text-transform:uppercase;line-height:1}
.tk-step-hl .k{background:var(--lime);color:var(--ink)}
.tk-step h3{margin:0;font-weight:800;font-stretch:125%;font-size:20px;letter-spacing:5px;line-height:1.15;text-transform:uppercase}
.tk-step p{margin:0;font-size:15px;line-height:1.45;color:var(--white-90)}
.tk-price{position:relative;margin-top:10px;width:271px;max-width:100%;height:43px;display:grid;place-items:center;background:#226cff;clip-path:polygon(0 0,calc(100% - 9.7px) 0,100% 9.1px,100% 100%,9.7px 100%,0 calc(100% - 9.1px))}
.tk-price>span{color:var(--white);font-weight:700;font-size:24px;letter-spacing:2.52px;text-transform:uppercase;white-space:nowrap}
.tk-price small{font-size:14px;letter-spacing:1.5px;font-weight:700;opacity:.75}
.tk-plus{align-self:center;font-family:var(--f-display);font-weight:900;font-size:56px;line-height:1;color:var(--lime)}
.tk-ex{margin:0;font-weight:700;font-size:11.5px;letter-spacing:2.6px;text-transform:uppercase;text-align:center;text-wrap:balance}
@media (max-width: 719px){.tk-card{grid-template-columns:1fr;gap:18px;padding:26px 22px 28px}.tk-plus{justify-self:center;font-size:40px}.tk-price{width:100%}}

/* ---------- Info ---------- */
.info{min-height:504px}
.info .navy{position:absolute;inset:0;background:rgba(12,4,88,.68);mix-blend-mode:multiply}
.info .tint{position:absolute;inset:0;background:#0252ff;mix-blend-mode:overlay}
.info .wm{position:absolute;inset:auto -0.05% -21% auto;width:29.9%;height:auto;max-width:430.77px;opacity:.9}
.info .inner{display:grid;grid-template-columns:560px minmax(0,494px);column-gap:78px;padding-block:96px 86px;align-items:center}
.info-head{min-width:0;display:flex;flex-direction:column;gap:60px}
.info h2{font-family:var(--f-prize-m);font-weight:400;font-size:151px;letter-spacing:9.6px;line-height:96px;text-transform:uppercase;margin:0;white-space:nowrap}
.info .lead{color:var(--lime);font-weight:700;font-size:23px;line-height:32px;margin:0;max-width:535px}
.info .body{min-width:0}
.info .body p{color:var(--white-90);font-size:17px;line-height:26px;margin:0 0 26px;font-weight:400}
.info .body p:last-child{margin:0}

/* ---------- Lineup ---------- */
.lineup{min-height:688px}
.grain{position:absolute;inset:0;mix-blend-mode:overlay;opacity:.25;background-size:180px 180px;background-repeat:repeat}
.lineup .inner{display:flex;flex-direction:column;align-items:center;gap:48px;padding-block:96px}
.lineup h2{font-size:70.4px;letter-spacing:-1.76px;line-height:70.4px;margin:0;align-self:stretch}
.games{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;width:100%;list-style:none;margin:0;padding:0}
.game{position:relative;aspect-ratio:2/1;max-width:100%;background:rgba(0,0,0,.65);backdrop-filter:blur(3px);box-shadow:0 0 0 .771px var(--cyan);overflow:hidden;display:grid;place-items:center;transition:box-shadow .2s ease}
.game:hover{box-shadow:0 0 0 1.5px var(--lime)}
.game::before{content:"";position:absolute;inset:0;opacity:.3;background:repeating-linear-gradient(180deg,rgba(255,255,255,.043) 0 .77px,transparent .77px 2.31px)}
.game img{position:absolute;inset:0;margin:auto;object-fit:contain;max-width:none;width:68%;height:73%}
.game img.sf6{width:66%;height:88%}
.game img.t8{width:80%;height:50%}
.game img.kof{width:80%;height:68%}
.game img.avatar{width:60%;height:88%}
.game img.ff{width:60%;height:88%}
.game img.ggst{width:80%;height:62%}
.game img.tokon{width:60%;height:88%}
.game img.mk1{width:80%;height:62%}
.btn-reg{position:relative;width:192px;height:38px;display:grid;place-items:center;background:rgba(6,4,12,.5);clip-path:polygon(7.29% 0,92.71% 0,100% 50%,92.71% 100%,7.29% 100%,0 50%);font-weight:700;font-size:14px;letter-spacing:2.52px;text-transform:uppercase}
.btn-reg img{position:absolute;inset:0;width:100%;height:100%}
.btn-reg span{position:relative}
.btn-reg:hover{color:var(--lime)}
.btn-reg.btn-buy{width:340px;max-width:100%;height:57px;font-size:20px;letter-spacing:3.2px;color:var(--lime);transition:filter .2s,background-color .2s}
.btn-reg.btn-buy::before{content:"";position:absolute;inset:0;background:#ff0081;filter:invert(1);clip-path:polygon(25px 0,calc(100% - 25px) 0,100% 50%,calc(100% - 25px) 100%,25px 100%,0 50%);opacity:0;transition:opacity .2s}
.btn-reg.btn-buy span{transition:color .2s}
.btn-reg.btn-buy img{z-index:1}
.btn-reg.btn-buy:hover::before{opacity:1}
.btn-reg.btn-buy:hover{background-color:transparent}
.btn-reg.btn-buy:hover span{color:#efefef;filter:invert(1)}

/* ---------- Prize pool ---------- */
.prize{min-height:442px;display:flex;align-items:center;box-shadow:inset 0 0 0 3px var(--lime)}
.prize .inner{padding-block:80px 64px;display:flex;flex-direction:column;gap:8px}
.prize .label{color:var(--lime);font-weight:700;font-size:24px;letter-spacing:2.16px;line-height:28px;text-transform:uppercase;margin:0}
.prize .amount{font-family:var(--f-prize);font-weight:900;font-size:min(124px,calc((100vw - 48px) / 9.3));line-height:1.2;letter-spacing:.0265em;margin:0;white-space:nowrap}

/* ---------- Hotels ---------- */
.hotels .map{position:absolute;left:50%;top:50%;width:2560px;height:1440px;transform:translate(-50%,-50%);max-width:none}
.hotels .map img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.hotels .map::after{content:"";position:absolute;inset:0;background:rgba(3,35,199,.82)}
/* Luz nas ruas do mapa (scripts/hotels-streets.js): duas luzes de placa de circuito, faísca na cabeça e rastro que se apaga, acima do véu azul */
.hotels .streets{position:absolute;inset:0;width:100%;height:100%;z-index:1;fill:none;stroke:#fff;stroke-linecap:butt;stroke-linejoin:round;mix-blend-mode:screen;pointer-events:none}
.hotels .streets .glow{stroke-width:8;opacity:.3}
.hotels .streets .line{stroke-width:2.5;opacity:.45}
.hotels .streets .spark{fill:url(#street-spark);stroke:none;transition:opacity .25s}
/* Bloco + faixa inferior ocupam a tela inteira, como o hero. As cartas têm a altura que sobra depois do menu fixo (--ht-top),
   do título, das setas e da nota (--ht-rest). Se a foto em 16:9 + o texto do card mais longo não couberem, o JS (fitHotels)
   aumenta a altura (--card-min) e o bloco cresce. */
.hotels{--ht-top:104px;--ht-rest:189px;display:flex;flex-direction:column;min-height:calc(100vh - 29px);min-height:calc(100svh - 29px)}
.hotels .inner{flex:1;padding-block:var(--ht-top) 32px;display:flex;flex-direction:column;justify-content:space-between;gap:20px}
.hotels .carousel{gap:12px;--card-h:max(var(--card-min,440px),calc(100vh - 29px - var(--ht-top) - var(--ht-rest)));--card-h:max(var(--card-min,440px),calc(100svh - 29px - var(--ht-top) - var(--ht-rest)))}
/* No desktop o título fica numa linha (o espaço antes do <br> separa as palavras) */
@media (min-width: 901px){.hotels h2 br{display:none}}
@media (min-width: 1920px){.hotels{--ht-top:125px}}
@media (min-width: 2560px){.hotels{--ht-top:160px}}
.hotels h2{font-size:48.75px;letter-spacing:1.25px;line-height:50px;margin:0}
.carousel{display:flex;flex-direction:column;gap:40px}
.track{display:flex;gap:40px;padding:12px 8px;margin:-12px -8px;scroll-padding-inline:8px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-behavior:smooth;outline-offset:6px}
.track::-webkit-scrollbar{display:none}
.track>*{scroll-snap-align:start;flex:0 0 calc((100% - 40px)/2);min-width:0}
.controls{display:flex;align-items:center;justify-content:center;gap:14px}
.controls .arrow{width:36px;height:36px;display:grid;place-items:center;font-size:28px;line-height:1;font-weight:400}
.controls .arrow:hover{color:var(--lime)}
.controls .arrow:disabled{opacity:.35;cursor:default}
.dots{display:flex;gap:7.86px}
.dots button{width:14.14px;height:14.14px;background:url(../img/dot-off.svg) center/contain no-repeat}
.dots button[aria-current="true"]{background-image:url(../img/dot-on.svg?v=20261026h)}
/* Carrossel (Swiper, scripts/swiper-bundle.min.js): duas cartas lado a lado (uma no celular), centradas na coluna, avançando de página em página.
   Corta só na horizontal, com folga para a sombra das cartas. */
.hotels{--per:2;--gap:24px}
.hotels .swiper{width:calc(var(--card-w) * var(--per) + var(--gap) * (var(--per) - 1));max-width:100%;margin-inline:auto;overflow:visible;overflow-x:clip;overflow-clip-margin:20px}
/* Cada carta ocupa a sua fração da coluna (--per cartas por página) */
.hotels .carousel{position:relative;--card-w:var(--card-wmax)}
/* Altura mínima da carta; se o texto precisar de mais (fonte, idioma ou barra do navegador), a carta cresce em vez de cortar o conteúdo */
.hotels .swiper-slide{height:auto;min-height:var(--card-h);width:var(--card-w);display:flex}
/* Medição invisível (fitHotels): os cards nos três idiomas, na largura da carta */
.hotels .ht-measure{position:absolute;left:0;top:0;width:var(--card-w);height:0;overflow:hidden;visibility:hidden;pointer-events:none}
.hotels .ht-measure .hotel{filter:none;transition:none}
.hotels .ht-measure .body{flex:none}
.hotels{--card-wmax:calc((min(100vw - 48px, 1152px) - var(--gap) * (var(--per) - 1)) / var(--per))}
/* Sombra leve no slide (fora do .hotel, cujo invert(1) inverteria a cor) para separar o branco dos cards sobrepostos */
.hotels .swiper-slide{box-shadow:0 2px 6px rgba(2,6,50,.22),0 14px 34px rgba(2,6,50,.32)}
.hotels .swiper-slide>.hotel{flex:1;min-width:0}
.hotels .dots .is-active{background-image:url(../img/dot-on.svg?v=20261026h)}
.hotel{background:#000;padding:7px;color:#e5e5e5;filter:invert(1);display:flex;flex-direction:column;transition:box-shadow .2s ease}
.hotel:hover{box-shadow:0 0 0 1.5px #ff0081}
/* Foto sempre em 16:9 */
.hotel .photo{flex:none;aspect-ratio:16/9;position:relative;overflow:hidden;max-width:100%}
.hotel .photo img{filter:invert(1)}
.hotel .photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:46% 50%}
.hotel .body{padding:12px 12px 14px 16px;display:flex;flex-direction:column;gap:10px;flex:1}
/* Estrelas acima do nome, para o nome usar a largura toda da carta */
.hotel .title{display:flex;flex-direction:column-reverse;align-items:flex-start;gap:6px}
.hotel h3{margin:0;font-size:20px;letter-spacing:.5px;line-height:25px;color:#e5b127}
.hotel h4{margin:0 0 4px;font-weight:700;font-size:15px;line-height:20.5px;color:#e5e5e5}
.hotel ul{margin:0;padding-left:24px;font-size:15px;line-height:20.6px;color:#999}
.hotel li{margin-bottom:1px}
/* Quebra de linha sem deixar uma palavra sozinha na última linha */
.hotel h4,.hotel li,.hotel .cost{text-wrap:pretty}
.hotel li b{color:#d5d5d5;font-weight:700}
.hotel li a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.hotel li a:hover{color:#e5b127}
.hotel .perks{list-style:none;padding:0;font-size:13px;line-height:18px;color:#b5b5b5}
.hotel .perks li{margin:0;padding-left:18px;position:relative}
.hotel .perks li::before{content:"✓";position:absolute;left:0;color:#e5b127;font-weight:700}
.hotel .foot{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:4px;gap:12px}
.hotel .cost{color:#e5b127;font-weight:700;font-size:14px;letter-spacing:.35px;line-height:20px}
.hotel .cost small{color:#fff;opacity:.49;font-size:14px}
.hotel .cost .note{font-size:12px;font-weight:400;letter-spacing:0;line-height:16px}
.hotels-note{margin:0;color:var(--white-90);font-size:12px;letter-spacing:.3px;line-height:16px}
.btn-book{position:relative;width:120px;height:32px;display:grid;place-items:center;background:var(--blue-deep);clip-path:polygon(12.27% 0,87.73% 0,100% 50%,87.73% 100%,12.27% 100%,0 50%);filter:invert(1);color:var(--white);font-weight:700;font-size:12px;letter-spacing:1.92px;text-transform:uppercase;flex:none;transition:filter .2s}
.btn-book:hover{filter:invert(1) brightness(1.2)}
.btn-book span{position:relative}

/* ---------- Experiences ---------- */
.lineup .bg,.exp .bg{container-type:inline-size;--u:calc(max(100cqw,720px)/1440)}
.lineup .i113,.exp .i113{position:absolute;left:calc(var(--u)*-747);top:calc(var(--u)*-37);width:calc(var(--u)*1479.6);height:calc(var(--u)*1374.5);object-fit:cover;object-position:bottom;transform:scaleY(-1) rotate(-1.36deg);max-width:none}
.lineup .i117,.exp .i117{position:absolute;left:calc(var(--u)*-67);top:calc(var(--u)*var(--t));width:calc(var(--u)*1215);height:calc(var(--u)*1129);object-fit:cover;max-width:none}
.bg .glitch{position:absolute;left:calc(var(--u)*-327);top:0;width:calc(var(--u)*2017);height:calc(var(--u)*1135);object-fit:cover;max-width:none}
.bgrad{position:absolute;left:calc(var(--u)*-10);bottom:0;height:min(calc(var(--u)*536),60%);width:calc(var(--u)*1519);background:linear-gradient(180deg,rgba(29,16,212,0) 5.577%,#0f086e 77.413%);mix-blend-mode:multiply;opacity:.85}
.exp .inner{padding-block:96px 120px;display:flex;flex-direction:column}
.exp h2{font-size:46.4px;line-height:1;margin:0 0 40px}
.exp h2.comm{margin-top:80px}
.exp .track{gap:20px}
.exp .track>*{flex-basis:100%}
.activity{position:relative;border:2px solid var(--white);height:520px;overflow:hidden;transition:box-shadow .2s ease}
.activity:hover{box-shadow:0 0 0 1.5px var(--lime)}
.activity img{width:100%;height:100%;object-fit:cover}
.activity::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.85),rgba(0,0,0,.25) 50%,rgba(0,0,0,0))}
.activity .cap{position:absolute;left:68px;right:68px;bottom:34px;z-index:1;max-width:420px}
.activity h3{margin:0 0 3px;font-family:var(--f-display);font-weight:900;font-size:18px;letter-spacing:.45px;line-height:28px;text-transform:uppercase}
.activity p{margin:0;color:var(--white-90);font-size:14px;line-height:19.25px;font-weight:400}
.exp .controls{margin-top:24px}
.stage{position:relative}
.exp .track{cursor:grab}
.exp .track.dragging,.exp .track.settling{scroll-snap-type:none}
.exp .track.dragging{cursor:grabbing;scroll-behavior:auto;user-select:none}
.exp .track.dragging .activity{transform:none}
.edge{position:absolute;top:0;bottom:0;z-index:3;width:44px;display:grid;place-items:center;color:var(--white);background:rgba(255,255,255,.1);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);border:0 solid rgba(255,255,255,.35);cursor:pointer;opacity:.85;transition:opacity .2s ease,background .2s ease,color .2s ease}
.edge svg{width:22px;height:22px}
.edge-prev{left:0;border-right-width:1px}
.edge-next{right:0;border-left-width:1px}
.edge:hover{background:rgba(255,255,255,.2);color:var(--lime);opacity:1}
.activity:first-child .edge-prev,.activity:last-child .edge-next{display:none}
.community{display:grid;grid-template-columns:repeat(2,1fr);gap:36px;align-items:stretch;list-style:none;margin:0;padding:0}
.community li{display:flex}
.community .ccard{flex:1}
.ccard{position:relative;border:1px solid var(--white);display:grid;grid-template-columns:160px 1fr;min-height:176px;background:rgba(255,255,255,.08);-webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%);transition:box-shadow .2s ease}
.ccard:hover{box-shadow:0 0 0 1.5px var(--lime)}
.ccard .pic{overflow:hidden}
.ccard .pic img{width:100%;height:100%;object-fit:cover}
.ccard .txt{padding:16px 48px 50px 16px;min-width:0;display:flex;flex-direction:column;justify-content:center}
.ccard h3{margin:0 0 8px;font-size:22.8px;letter-spacing:.57px;line-height:28.5px}
.ccard p{margin:0;color:var(--white-90);font-size:13px;line-height:17.88px;font-weight:400}
.ccard .cta{position:absolute;right:52px;bottom:10px;height:32px;display:flex;align-items:center;color:var(--lime);font-size:12px;font-weight:700;letter-spacing:1.6px;line-height:16px;text-transform:uppercase;white-space:nowrap}
.ccard .go{position:absolute;right:10px;bottom:10px;width:32px;height:32px;background:#0166ff;display:grid;place-items:center}
.ccard .go img{width:20px;height:20px}

/* ---------- Support ---------- */
.support{background:var(--blue);padding-block:80px;min-height:448px;display:flex;align-items:center}
.support .inner{width:100%}
.support .inner{display:flex;flex-direction:column;align-items:center;gap:48px}
.support h2{font-size:56px;letter-spacing:-1.4px;line-height:56px;margin:0}
.sponsors{display:flex;justify-content:center;align-items:center;gap:120px;list-style:none;margin:0;padding:0}
.sponsors img{display:block;height:auto}
.sponsors li:nth-child(1) img{width:204px}
.sponsors li:nth-child(2) img{width:230.56px}

/* ---------- Footer ---------- */
.footer{background:#000;border-top:2px solid var(--cyan);padding-block:48px;min-height:434px;text-align:center}
.footer nav ul{display:flex;gap:16px 40px;justify-content:center;flex-wrap:wrap;list-style:none;margin:0;padding:0;font-weight:700;font-size:12px;letter-spacing:1.92px;text-transform:uppercase;line-height:16px}
.footer nav a:hover{color:var(--lime)}
.footer .flogo{display:block;width:120px;margin:40px auto 0;filter:none}
.footer .legal{margin:32px 0 0;color:var(--white-90);font-size:12px;letter-spacing:.3px;line-height:16px;font-weight:400}
.footer .credits{margin:31px auto 0;max-width:960px;padding:0;list-style:none;display:flex;flex-direction:column;gap:3px;color:var(--white-55);font-size:12px;letter-spacing:.3px;line-height:16.5px;font-weight:400}

/* ---------- Mobile menu ---------- */
.drawer[hidden]{display:none}
.drawer{position:fixed;inset:0;z-index:50;background:rgba(7,20,40,.97);display:flex;flex-direction:column;padding:calc(28px + env(safe-area-inset-top,0px)) var(--gutter-r) 32px var(--gutter-l)}
.drawer .close{align-self:flex-end;width:34px;height:34px;background:#ff0081;color:#e3e3e3;filter:invert(1);border-radius:5px;font-size:22px;font-weight:700;display:grid;place-items:center}
.drawer ul{list-style:none;margin:40px 0 0;padding:0;display:flex;flex-direction:column;gap:24px}
.drawer a{font-family:var(--f-display);font-stretch:125%;font-weight:900;font-size:28px;text-transform:uppercase}
.drawer a:hover{color:var(--lime)}
.drawer .nav-social{margin:auto 0 0;padding-top:24px;flex-direction:row;gap:20px;border-top:1px solid rgba(255,255,255,.12)}
.drawer .nav-social a{width:28px;height:28px;opacity:.85}
.drawer .nav-social img{width:28px;height:28px}

@media (max-width: 1439px){.nav-links{gap:18px;font-size:12px;letter-spacing:1px}}
/* Valor da premiação em fonte condensada só em telas bem estreitas */
@media (max-width: 600px){
  .prize .amount{font-family:var(--f-prize-m);font-weight:400;font-size:calc((100vw - 48px) / 2.59);line-height:1;letter-spacing:.01em}
}
/* ---------- Menu compacto ---------- */
@media (max-width: 1279px){
  .nav-links{display:none}
  .menu-wrap{display:flex;margin-left:14px}
  /* Sem os links, as redes vão para a esquerda do logo */
  .nav-social{order:0;margin:0 auto 0 0}
  .nav-right{margin-left:auto;padding-left:0;border-left:0}
  .menu-btn{display:block}
}
@media (max-width: 1023px){.nav{left:24px;right:24px;width:auto;transform:none}}
/* No celular as redes sociais saem da barra e ficam no rodapé do menu */
@media (max-width: 639px){
  .nav{top:16px;height:56px;padding-inline:12px 10px}
  .nav .logo-sm{--lh:40px}
  .nav .nav-social{display:none}
  .nav-right{order:0;margin:0 auto 0 -6px}
}
@media (max-width: 340px){.lang button{width:28px}.lang .pill{left:7px}.lang[data-active="1"] .pill{transform:translateX(28px)}.lang[data-active="2"] .pill{transform:translateX(56px)}}

/* ---------- Tablet / mobile ---------- */
@media (max-width: 1100px){
  .info .inner{grid-template-columns:minmax(0,1fr);row-gap:32px}
  .info h2{font-size:min(151px,calc((100vw - 48px) / 3.8));letter-spacing:.0636em;line-height:.64}
  .games{grid-template-columns:repeat(2,1fr)}
  .community{grid-template-columns:1fr;gap:16px;max-width:560px}
  .sponsors{gap:64px}
}
@media (max-width: 900px){
  .hero{min-height:752px;min-height:calc(100vh - 29px);min-height:calc(100svh - 29px);padding-top:72px}
  .hero-content{padding-top:153px;gap:34px}
  .logo-lg{width:255.4px}
  .month{height:22px;font-size:17.2px;letter-spacing:-.76px}
  .days{height:35px;width:calc(100% + 3px);margin-inline:-1.5px}
  .days span{font-size:41.8px;letter-spacing:4.6px;margin-right:-4.6px}
  .days .dia{width:10.18px;height:10.18px}
  .event-date{gap:12px}
  .venue{font-size:14.4px;letter-spacing:4.1px;width:calc(100% + 4.1px);margin-right:-4.1px}
  .countdown{min-height:432px}
  .countdown .inner{gap:28px;padding-block:64px}
  .eyebrow{font-size:17.4px;letter-spacing:-.87px}
  .cd-title .l1{font-size:clamp(28px,9.8vw,38px);letter-spacing:4.7px}
  .cd-title .l2{font-size:clamp(27px,9.4vw,36.6px);letter-spacing:4.7px}
  .counter{gap:4px}
  .unit{min-width:clamp(58px,18.6vw,76.6px);padding-inline:6px;height:clamp(58px,18.6vw,76.6px);gap:6px}
  .unit .n{font-size:clamp(24px,8vw,38px)}
  .unit .l{font-size:8.3px;letter-spacing:1.17px}
  .colon{font-size:36px;padding-top:9px;width:8px;text-align:center}
  .tickets .inner{padding-block:72px 80px;gap:40px}
  .tickets h2{font-size:clamp(22px,7.2vw,28px);letter-spacing:4.7px;line-height:1.1}
  .info .inner{padding-block:72px}
  .info .lead{font-size:20px;line-height:28px}
  .info-head{gap:32px}
  .info .wm{width:58%;bottom:-12%;opacity:.45}
  .lineup .inner{padding-block:72px;gap:32px}
  .lineup h2{font-size:clamp(40px,13vw,52px);line-height:1}
  .games{grid-template-columns:1fr;gap:12px}
  .prize{min-height:0}
  .prize .inner{padding-block:56px}
  .prize .label{font-size:17px;letter-spacing:1.5px}
  .hotels{--ht-top:78px;--ht-rest:178px;--per:1;--gap:16px}
  .hotels .swiper{width:var(--card-w)}
  .hotels .inner{padding-bottom:10px;gap:12px}
  .hotels .controls .arrow{height:28px}
  .hotels .carousel{gap:8px}
  .hotels h2{font-size:clamp(28px,9vw,36px);line-height:1.05}
  .track>*{flex-basis:100%}
  .track{gap:16px}
  .hotel ul{padding-left:20px}
  .exp .inner{padding-block:72px 80px}
  .exp h2{font-size:clamp(20px,7.2vw,34px);margin-bottom:28px}
  .exp h2.comm{margin-top:64px}
  .edge{width:32px}
  .edge svg{width:18px;height:18px}
  .activity{height:auto;aspect-ratio:358/260}
  .activity .cap{left:48px;right:48px;bottom:16px}
  .activity h3{font-size:16px;line-height:22px}
  .activity p{font-size:13px;line-height:18px}
  .ccard{grid-template-columns:42% 1fr;min-height:150px}
  .ccard h3{font-size:clamp(14px,4.4vw,18px);line-height:22px;margin-bottom:10px}
  /* O título se ajusta à largura do próprio card, para palavras longas (Arbitragem, Expositores) não vazarem */
  @supports (font-size:1cqi){.ccard .txt{container-type:inline-size}.ccard h3{font-size:clamp(8px,8.2cqi,18px)}}
  .ccard .txt{padding:16px 44px 44px 14px}
  .ccard .cta{font-size:11px;letter-spacing:1.2px}
  .support{padding-block:56px;min-height:0}
  .support .inner{gap:32px}
  .support h2{font-size:clamp(34px,11vw,44px);line-height:1}
  .sponsors{flex-direction:column;gap:28px}
  .footer{min-height:0}
  .footer nav ul{gap:12px 24px;max-width:300px;margin-inline:auto}
}
/* Telas baixas: o hero encolhe para que a faixa inferior (ticker) apareça sempre junto */
@media (max-height: 720px){
  .hero-content{padding-top:24px;padding-bottom:16px;gap:20px}
  .logo-lg{width:clamp(110px,26vh,200px)}
  .event-date{gap:10px}
}
@media (max-height: 560px){
  .hero-content{padding-top:12px;gap:12px}
  .logo-lg{width:clamp(80px,24vh,140px)}
  .month{transform:scale(.8);margin-block:-3px}
  .days{transform:scale(.8);margin-block:-5px}
  .venue{font-size:13px}
}

/* ---------- Ajustes mobile (revisão do layout) ---------- */
@media (max-width: 900px){
  /* Hero: bloco centralizado na tela e no espaço entre menu e ticker, 20% menor; EVO, caixa, datas e local com a mesma largura */
  .hero-content{padding-top:0;padding-bottom:0;gap:27px;--evo-w:176.4px}
  .logo-lg{width:204.3px}
  .event-date{width:var(--evo-w);gap:10px}
  .month{height:17.6px;font-size:13.8px;letter-spacing:-.6px}
  .days{width:calc(100% + 2.6px);margin-inline:-1.3px;justify-content:space-between;gap:0;height:28px}
  .days span{font-size:33.4px;letter-spacing:3.7px;margin-right:-3.7px}
  .days .dia{width:8.1px;height:8.1px}
  .venue{width:calc(100% + 3.1px);font-size:11px;letter-spacing:3.1px;margin-right:-3.1px}
  /* Títulos sempre em uma linha por trecho */
  .cd-title .l1,.cd-title .l2{white-space:nowrap;font-size:min(34px,calc((100vw - 48px) / 11.2));letter-spacing:.12em}
  .tickets h2{white-space:nowrap;font-size:min(26.5px,calc((100vw - 48px) / 13.9));letter-spacing:.17em}
  .tickets h2 span{white-space:nowrap}
  /* Informações: espaço entre o destaque e o texto igual ao do título para o destaque */
  .info .inner{row-gap:16px}
}

/* ---------- Hover: card cresce de leve ---------- */
.game,.ticket,.hotel,.activity,.ccard{--grow:1.02;transition:transform .5s cubic-bezier(.22,1,.36,1),box-shadow .25s ease}
.hotel,.ccard{--grow:1.012}
.activity{--grow:1.008}
@media (hover:hover) and (pointer:fine){
  .game:hover,.ticket:hover,.hotel:hover,.activity:hover,.ccard:hover{transform:scale(var(--grow))}
}
@media (prefers-reduced-motion: reduce){.game,.ticket,.hotel,.activity,.ccard{transition:box-shadow .25s ease}}

/* ---------- Páginas internas (FAQ, termos, privacidade, contato) ---------- */
/* Topo com o mesmo fundo do hero da home e o título na fonte condensada; o texto corre numa coluna de leitura de 860px. */
.page-hero{min-height:420px;display:flex;align-items:flex-end;border-bottom:2px solid var(--lime)}
.page-hero .inner{padding-block:156px 56px}
.page-hero h1{font-family:var(--f-prize-m);font-weight:400;font-size:clamp(64px,10vw,140px);letter-spacing:.06em;line-height:.9;text-transform:uppercase;margin:0}
.page-hero .lead{color:var(--lime);font-weight:700;font-size:20px;line-height:28px;margin:20px 0 0;max-width:640px}
.page-hero .lead a{text-decoration:underline;text-underline-offset:3px}
.doc{background:var(--navy-9);padding-block:72px 96px}
.doc article{max-width:860px}
.doc p,.doc li,.doc td,.doc th{color:var(--white-90);font-size:17px;line-height:27px;font-weight:400}
.doc p{margin:0 0 20px}
.doc a{color:var(--lime);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.doc a:hover{color:var(--white)}
.doc b,.doc strong{color:var(--white);font-weight:700}
.doc .updated{color:var(--lavender);font-size:13px;letter-spacing:1.5px;text-transform:uppercase;font-weight:700}
/* Dados da organizadora ainda a preencher: ficam marcados até a troca pelo texto definitivo */
.doc .todo{background:rgba(0,255,126,.16);color:var(--lime);padding:0 4px;border-radius:3px}
.doc .caps{font-size:15px;line-height:24px;letter-spacing:.2px}
.doc h2{font-family:var(--f-display);font-weight:900;font-stretch:125%;text-transform:uppercase;font-size:22px;line-height:30px;letter-spacing:.5px;color:var(--white);margin:56px 0 20px;padding-top:24px;border-top:1px solid rgba(197,194,243,.25)}
.doc h3{font-weight:700;font-size:18px;line-height:26px;color:var(--lime);margin:32px 0 10px}
.doc ul,.doc ol:not(.faq){margin:0 0 20px;padding-left:24px}
.doc ol ol{list-style:lower-alpha}
.doc li{margin-bottom:10px}
.doc li::marker{color:var(--lime)}
.doc li :is(ul,ol){margin:10px 0 0}
.doc .table{overflow-x:auto;margin:8px 0 28px;border:1px solid rgba(197,194,243,.3);border-radius:8px}
.doc table{width:100%;border-collapse:collapse;min-width:560px}
.doc th,.doc td{text-align:left;vertical-align:top;padding:14px 16px;border-bottom:1px solid rgba(197,194,243,.18);font-size:15px;line-height:23px}
.doc thead th{background:rgba(29,16,212,.35);color:var(--white);font-weight:700;font-size:12px;letter-spacing:1.5px;text-transform:uppercase}
.doc tbody th{color:var(--white);font-weight:700;width:30%}
.doc tbody tr:last-child>*{border-bottom:0}
/* FAQ: perguntas numeradas que abrem e fecham */
.faq{list-style:none;margin:0;padding:0;border-top:1px solid rgba(197,194,243,.25)}
.faq li{margin:0;border-bottom:1px solid rgba(197,194,243,.25)}
.faq summary{display:flex;align-items:baseline;gap:20px;padding:26px 0;cursor:pointer;list-style:none;font-family:var(--f-display);font-weight:900;font-stretch:125%;text-transform:uppercase;font-size:20px;line-height:28px;color:var(--white)}
.faq summary::-webkit-details-marker{display:none}
.faq summary .n{font-family:var(--f-prize-m);font-weight:400;font-size:34px;line-height:1;color:var(--lime);flex:none;width:44px}
.faq summary::after{content:"+";margin-left:auto;padding-left:16px;color:var(--lime);font-family:var(--f-ui);font-size:28px;line-height:28px}
.faq details[open] summary::after{content:"−"}
.faq summary:hover{color:var(--lime)}
.faq .a{padding:0 0 22px 64px}
.contact-mail{display:inline-block;font-family:var(--f-display);font-weight:900;font-stretch:125%;font-size:clamp(20px,4vw,40px);line-height:1.2;color:var(--lime)!important;text-decoration:none!important;overflow-wrap:anywhere}
.contact-mail:hover{color:var(--white)!important}
@media (max-width: 900px){
  .page-hero{min-height:340px}
  .page-hero .inner{padding-block:120px 40px}
  .page-hero .lead{font-size:17px;line-height:25px}
  .doc{padding-block:48px 72px}
  .doc p,.doc li{font-size:16px;line-height:25px}
  .doc h2{font-size:18px;line-height:25px;margin-top:44px}
  .faq summary{font-size:15px;line-height:22px;gap:12px;padding:20px 0}
  .faq summary .n{font-size:26px;width:32px}
  .faq .a{padding-left:44px}
}
/* Regras: mesmo layout de evosingapore.gg/rules. Menu lateral de abas à esquerda (no celular, acima do texto), uma seção por vez,
   título centralizado e tabela Best Of Spread no fim de cada jogo. A faixa ocupa a largura toda, sem a coluna de leitura. */
/* ---------- Regras: tamanhos e fontes de evosingapore.gg/rules ----------
   Medidas tiradas da página de Singapura, com os mesmos pontos de quebra (640px e 1024px).
   Títulos em Druk Wide Heavy no lugar da Gamay Wide, que é do Adobe Fonts e não pode ser redistribuída. */
.doc-regras{padding:0}
.doc-regras>.wrap{max-width:none;padding:0}
.doc-regras article{max-width:none}
/* Topo: 240px, 300px a partir de 640px e 320px a partir de 1024px; título de 60px a 112px (12vw entre eles) */
.page-hero-center{min-height:240px;align-items:center;justify-content:center;text-align:center;border-bottom:0}
.page-hero-center .inner{padding-block:72px 0}
.page-hero-center h1{font-family:var(--f-display);font-weight:900;font-stretch:125%;font-size:clamp(60px,12vw,112px);letter-spacing:-.025em;line-height:1}
/* "Regras" e "Reglas" são mais longas que "Rules" na Druk Wide: no celular o título encolhe para caber */
html:not([lang="en"]) .page-hero-center h1{font-size:min(clamp(60px,12vw,112px),calc((100vw - 40px) / 6.6))}
/* Layout: menu em cima até 1023px; a partir de 1024px, menu lateral de 28rem e texto à direita */
.rules-layout{display:grid;grid-template-columns:minmax(0,1fr);min-height:70vh}
.rules-layout.is-acc{display:block;min-height:0;max-width:900px;margin-inline:auto}
.rules-layout.is-acc .rules-body{display:none}
.rules-tabs{background:rgba(10,28,58,.8)}
.doc .rules-tabs ul{list-style:none;margin:0;padding:0}
.doc .rules-tabs li{margin:0;border-bottom:1px solid rgba(255,255,255,.2)}
.doc .rules-tabs a{display:block;white-space:nowrap;padding:22px 24px;font-size:var(--tab-fs,14px);line-height:20px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--white);text-decoration:none;transition:color .2s}
.doc .rules-tabs a:hover,.doc .rules-tabs a[aria-current="page"]{color:var(--cyan)}
/* Selos (To Be Confirmed) e (TBD) */
.tag{display:inline-block;font-family:var(--f-ui);font-stretch:100%;font-weight:700;font-size:.72em;letter-spacing:.5px;text-transform:none;color:var(--lavender);vertical-align:.08em;white-space:nowrap}
.rules-tabs .tag{font-size:10px;letter-spacing:.06em;margin-right:4px;vertical-align:.1em}
/* Acordeão: o conteúdo de cada item abre abaixo do botão */
.doc .is-acc .rules-tabs a{display:flex;align-items:center;gap:8px}
.doc .is-acc .rules-tabs a::after{content:"";flex:none;margin-left:auto;width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translate(-2px,-2px);transition:transform .25s ease}
.doc .is-acc .rules-tabs a[aria-expanded="true"]{color:var(--cyan)}
.doc .is-acc .rules-tabs a[aria-expanded="true"]::after{transform:rotate(225deg) translate(-2px,-2px)}
.acc-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease}
.is-open>.acc-panel{grid-template-rows:1fr}
.acc-inner{min-height:0;overflow:hidden;visibility:hidden;transition:visibility 0s .3s}
.is-open>.acc-panel>.acc-inner{visibility:visible;transition:none}
@media (prefers-reduced-motion: reduce){.acc-panel,.doc .is-acc .rules-tabs a::after{transition:none}}
.rules-tabs .tag{display:none}
.acc-inner .rules-sec{padding:40px 24px 40px max(24px,var(--guide,24px));background-color:var(--navy-9);max-width:none}
.acc-inner .rules-sec>*{max-width:768px;margin-inline:0}
.rules-body{padding:48px 24px;background-color:var(--navy-9);background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.025) 0 1px,transparent 1px 96px),repeating-linear-gradient(-45deg,rgba(255,255,255,.025) 0 1px,transparent 1px 96px)}
.rules-sec{max-width:none;margin-inline:0}
/* Título da seção: 28px, 32px a 56px (5vw) a partir de 640px; 32px até o primeiro bloco */
.doc .rules-sec h2{font-family:var(--f-display);text-align:left;font-size:28px;line-height:1;letter-spacing:-.025em;margin:0 0 32px;padding:0;border:0}
.doc .rules-sec h2 .tag{display:block;font-size:14px;letter-spacing:.08em;margin-bottom:14px}
.doc .rules-sec h2 .name{display:block}
.doc .rules-sec h3{font-size:14px;line-height:21px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--lime);margin:40px 0 16px}
.doc .rules-sec p,.doc .rules-sec li{font-size:14px;line-height:1.625;color:var(--white-90)}
.doc .rules-sec p{margin:16px 0 0}
.doc .rules-sec h2+p,.doc .rules-sec h2+ul,.doc .rules-sec h3+p,.doc .rules-sec h3+ul,.doc .rules-sec h3+ol{margin-top:0}
.doc .rules-sec ul,.doc .rules-sec ol{margin:16px 0 0;padding-left:20px}
.doc .rules-sec li{margin:0 0 8px}
.doc .rules-sec li:last-child{margin-bottom:0}
.doc .rules-sec li::marker{color:var(--white-90)}
.doc .rules-sec li :is(ul,ol){margin:8px 0 0}
.doc .rules-sec li li{padding-left:4px}
.doc .rules-sec ul ul{list-style:circle}
.doc .rules-sec b{color:inherit;font-weight:700}
.doc .rules-sec a{color:var(--lime);font-weight:700}
.doc .rules-game li{color:var(--white)}
.doc .rules-game li li{color:var(--white-90)}
.doc .rules-sec .platform{margin:0;font-weight:400;text-transform:none;letter-spacing:normal}
.doc .rules-sec .contact{margin:6px 0 0;font-weight:400;text-transform:none;letter-spacing:normal}
/* Best Of Spread */
.spread{overflow-x:auto}
.doc .spread table{width:100%;border-collapse:collapse;min-width:420px}
.doc .spread th,.doc .spread td{border:1px solid rgba(255,255,255,.18);padding:12px 8px;text-align:center;font-size:14px;line-height:1.25}
.doc .spread thead th{background:rgba(10,28,58,.9);font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--white)}
.doc .spread tbody th{font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--white);width:auto}
.doc .spread td{font-weight:400;color:var(--white-90)}
.doc .spread td.bo5{color:var(--lime);font-weight:800}
/* Local no fim da aba Geral */
.venue-box{margin-top:40px}
.doc .rules-sec .venue-box p{margin:8px 0 0;font-size:16px;line-height:24px;letter-spacing:.025em;color:rgba(255,255,255,.8)}
.doc .rules-sec .venue-box .vb-name{margin:0;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--white)}
@media (min-width: 640px){
  .page-hero-center{min-height:300px}
  .page-hero-center .inner{padding-block:84px 0}
  .doc .rules-tabs a{padding:24px 32px;font-size:var(--tab-fs,15px);line-height:22px}
  .rules-body{padding:64px 40px}
  .acc-inner .rules-sec{padding:56px 24px 56px max(24px,var(--guide,24px))}
  .doc .rules-sec h2{font-size:clamp(32px,5vw,56px)}
  .doc .rules-sec h3{font-size:16px;line-height:24px}
  .doc .rules-sec p,.doc .rules-sec li{font-size:16px}
  .doc .spread th,.doc .spread td{font-size:16px}
}
@media (min-width: 1024px){
  .page-hero-center{min-height:320px}
  .rules-layout{grid-template-columns:minmax(20rem,28rem) minmax(0,1fr)}
  .rules-tabs{border-right:1px solid rgba(255,255,255,.1)}
  .rules-body{--rules-gap:max(calc(var(--guide,0px) - 28rem),48px);padding:64px var(--rules-gap)}
}

/* Tabela de valores por lote (design do Figma): direto sobre o fundo, em largura total, com o lote em vigor destacado em lima */
.tk-table{--hl:#00ff7e;width:100%;max-width:1152px;margin-top:-34px}
.tkt-title{margin:0 0 18px;text-align:center;font-weight:700;font-size:12px;letter-spacing:3.36px;text-transform:uppercase}
.tkt-scroll{overflow-x:auto}
.tk-table table{width:100%;min-width:560px;border-collapse:collapse}
.tk-table th,.tk-table td{padding:13px 10px;text-align:center;font-size:16px;line-height:1.25;border:1px solid rgba(255,255,255,.16)}
.tk-table thead th{background:#06033b;font-weight:800;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--white)}
.tk-table thead th:first-child,.tk-table tbody th[scope="row"]{text-align:left;padding-left:16px}
.tk-table tbody th[scope="row"]{width:30%;font-weight:400;color:var(--white)}
.tk-table td{font-weight:700;letter-spacing:.04em;white-space:nowrap}
.tkt-band th{position:relative;padding:16px 0 10px;border:0;text-align:left;background:none}
.tkt-tag{display:inline-block;padding:9px 22px;background:#fff;color:var(--ink);font-weight:700;font-size:12.6px;letter-spacing:3.28px;line-height:1;text-transform:uppercase;vertical-align:middle;clip-path:polygon(0 0,calc(100% - 7.5px) 0,100% 7px,100% 100%,4.5px 100%,0 calc(100% - 5px))}
.tkt-lot.is-now .tkt-tag{background:var(--hl)}
.tkt-date{position:absolute;left:53.4%;top:50%;transform:translate(-50%,-50%);margin-top:3px;font-weight:700;font-size:18px;white-space:nowrap}
/* Lote em vigor: as duas linhas com fundo verde translúcido e contorno de 2px; o passe de 3 dias em verde */
.tkt-lot.is-now tr:nth-child(n+2)>*{background:rgba(0,255,126,.19)}
.tkt-lot.is-now tr:nth-child(2)>*{border-top:2px solid var(--hl)}
.tkt-lot.is-now tr:nth-child(3)>*{border-bottom:2px solid var(--hl)}
.tkt-lot.is-now tr:nth-child(n+2)>:first-child{border-left:2px solid var(--hl)}
.tkt-lot.is-now tr:nth-child(n+2)>:last-child{border-right:2px solid var(--hl)}
.tk-table .tkt-lot.is-now tr:nth-child(3)>*{color:var(--hl)}
@media (max-width:719px){.tk-table th,.tk-table td{font-size:13px;padding:11px 4px}.tk-table table{min-width:0}.tk-table thead th{font-size:10px;letter-spacing:.04em;padding:10px 2px}.tk-table tbody th[scope="row"]{width:34%;padding-left:8px;font-size:12px}.tkt-tag{padding:8px 14px;font-size:11px;letter-spacing:2.4px}.tkt-date{position:static;transform:none;margin:0 0 0 10px;font-size:14px;vertical-align:middle}}

/* Página /tickets: aviso de redirecionamento para a Pixta */
.doc-tickets .rd-card{--cut:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px));position:relative;max-width:680px;padding:40px 40px 36px;background:rgba(255,255,255,.85);clip-path:var(--cut);display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.doc-tickets .rd-card::before{content:"";position:absolute;inset:1px;background:#111;clip-path:var(--cut)}
.doc-tickets .rd-card>*{position:relative}
.doc-tickets .rd-logo{display:block;height:44px;width:auto;margin-bottom:14px}
.doc-tickets .rd-title{margin:0 0 8px;padding:0;border:0;font-family:var(--f-display);font-weight:900;font-size:clamp(20px,3.2vw,28px);line-height:1.1;letter-spacing:-.02em;text-transform:uppercase}
.doc-tickets .rd-card p{margin:0 0 12px}
.doc-tickets .rd-count{color:var(--lime);font-weight:700;letter-spacing:.04em}
.doc-tickets .rd-count b{color:inherit}
.doc-tickets .rd-hint{color:#ffb38a}
.doc-tickets .rd-go{margin:10px 0 18px;text-decoration:none}
.doc-tickets .rd-note{font-size:14px;line-height:22px;color:var(--white-55)}
@media (max-width:719px){.doc-tickets .rd-card{padding:28px 22px 26px}.doc-tickets .rd-logo{height:36px}}

/* Aviso em destaque (FAQ e Regras) e títulos de grupo do FAQ */
.doc .callout{margin:0 0 36px;padding:20px 24px;border-left:4px solid var(--lime);background:rgba(0,255,126,.08)}
.doc .callout p,.doc .rules-sec .callout p{margin:0;font-size:16px;line-height:25px}
.doc .callout .callout-t,.doc .rules-sec .callout .callout-t{margin:0 0 8px;color:var(--lime);font-weight:700;font-size:14px;letter-spacing:1.5px;text-transform:uppercase}
.doc .faq-lead{margin:0 0 24px;font-size:18px;line-height:28px;color:var(--white)}
.doc .faq-group{margin:52px 0 14px;padding:0;border:0;font-size:17px;line-height:24px;letter-spacing:2px;color:var(--lavender)}

