@font-face { font-family:"Russo One"; src:url("/assets/RussoOne-Regular.woff2") format("woff2"); font-display:swap; }
:root { --bg:#050608; --ciano:#3fd6e0; --ciano2:#00a9b7; --teal:#2fbfae; --laranja:#f2a33a; --vermelho:#e3222d; --txt:#f2f4f7; --mut:#9aa3b2; --card:rgba(10,14,18,.78); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--bg); color:var(--txt); font-family:"Poppins", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; overflow-x:hidden; }
a { color:inherit; }
img { max-width:100%; display:block; }
.fundo { position:fixed; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; opacity:.55; }
.fundo-cor { position:fixed; inset:0; z-index:-1; background:radial-gradient(ellipse at 50% 0%, rgba(63,214,224,.10), transparent 60%), linear-gradient(180deg, rgba(5,6,8,.2), rgba(5,6,8,.85)); }
.canto { position:fixed; top:58px; left:-6px; width:70px; height:120px; border:6px solid #fff; border-left:0; border-top:0; border-radius:0 0 26px 0; z-index:0; opacity:.9; pointer-events:none; }
.canto::after { content:""; position:absolute; left:6px; top:0; width:14px; height:70px; background:var(--ciano); border-radius:0 0 8px 0; }
/* topo */
.topo { position:sticky; top:0; z-index:20; background:rgba(0,0,0,.92); backdrop-filter:blur(6px); border-bottom:1px solid rgba(63,214,224,.15); }
.topo .in { max-width:1240px; margin:0 auto; display:flex; align-items:center; gap:18px; padding:8px 18px; }
.topo .marca { display:flex; align-items:center; gap:8px; text-decoration:none; font-family:"Russo One", sans-serif; letter-spacing:1px; }
.topo .marca img { width:36px; height:36px; object-fit:contain; }
.topo nav { margin-left:auto; display:flex; gap:22px; align-items:center; }
.topo nav a { text-decoration:none; font-size:13.5px; font-weight:600; color:#c9ced8; letter-spacing:.3px; white-space:nowrap; }
.topo nav a:hover, .topo nav a.on { color:#fff; }
.topo nav a.on { text-shadow:0 0 12px rgba(63,214,224,.6); }
.topo .patro { background:linear-gradient(90deg, var(--ciano2), var(--teal)); color:#031417 !important; padding:7px 14px; border-radius:999px; font-weight:800; }
.menu-bt { display:none; margin-left:auto; background:none; border:1px solid #333; color:#fff; border-radius:8px; font-size:20px; padding:4px 10px; }
/* comuns */
.wrap { max-width:1240px; margin:0 auto; padding:28px 18px 60px; position:relative; z-index:1; }
.titulo { font-family:"Russo One", sans-serif; font-weight:400; }
.pilula { display:inline-flex; align-items:center; justify-content:center; gap:10px; text-decoration:none; font-family:"Russo One", sans-serif; font-size:24px; letter-spacing:1.5px;
  padding:10px 16px 10px 26px; border-radius:999px; border:3px solid var(--ciano); background:linear-gradient(90deg, #060a0d 55%, #0d6f78 100%); box-shadow:0 0 18px rgba(63,214,224,.25); transition:transform .15s, box-shadow .15s; }
.pilula:hover { transform:translateY(-2px); box-shadow:0 0 26px rgba(63,214,224,.5); }
.pilula svg, .pilula img { width:38px; height:38px; flex:0 0 auto; }
.pilula.peq { font-size:17px; padding:6px 10px 6px 16px; border-width:2px; } .pilula.peq svg, .pilula.peq img { width:26px; height:26px; }
.botoes { display:flex; gap:22px; flex-wrap:wrap; justify-content:center; }
.linha-neon { height:6px; border-radius:6px; background:linear-gradient(90deg, var(--ciano), rgba(63,214,224,.15)); margin:26px auto; max-width:1000px; }
/* home */
.hero { display:grid; grid-template-columns:1fr 1.25fr; gap:30px; align-items:center; min-height:calc(100vh - 230px); }
.hero .logo { width:100%; max-width:420px; margin:0 auto; filter:drop-shadow(0 10px 30px rgba(0,0,0,.6)); }
.idiomas { text-align:center; }
.idiomas h3 { font-family:"Russo One", sans-serif; font-weight:400; font-size:28px; margin:0 0 12px; }
.bandeiras { display:flex; gap:16px; justify-content:center; }
.bandeiras a { width:100px; height:100px; border-radius:50%; overflow:hidden; display:block; box-shadow:0 6px 18px rgba(0,0,0,.5); transition:transform .15s; }
.bandeiras a:hover { transform:scale(1.07); }
.bandeiras img, .bandeiras svg { width:100%; height:100%; object-fit:cover; }
.slogan { font-family:"Russo One", sans-serif; font-size:clamp(30px, 4.2vw, 58px); line-height:1.05; text-align:center; margin:26px 0 0; }
.slogan .t { color:var(--teal); } .slogan .c { color:#35b9d8; } .slogan .o { color:var(--laranja); }
.eventos { display:grid; grid-template-columns:repeat(3, 1fr); gap:24px; max-width:1080px; margin:0 auto; }
.evento { border:3px solid var(--ciano2); border-radius:22px; overflow:hidden; background:#000; display:flex; flex-direction:column; text-decoration:none; box-shadow:0 0 24px rgba(0,169,183,.18); transition:transform .15s, box-shadow .15s; }
.evento:hover { transform:translateY(-4px); box-shadow:0 0 34px rgba(0,169,183,.45); }
.evento img { aspect-ratio:1/1; object-fit:cover; width:100%; }
.evento .rd { aspect-ratio:1/1; display:flex; align-items:center; justify-content:center; padding:22px; }
.evento .rd img { width:72%; aspect-ratio:auto; object-fit:contain; }
.evento .tx { padding:14px 12px 18px; text-align:center; font-weight:700; font-size:20px; line-height:1.45; text-transform:uppercase; flex:1; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:10px; }
.evento .clique { display:inline-flex; align-items:center; gap:8px; border:2px solid #fff; border-radius:999px; padding:6px 22px; font-family:"Russo One", sans-serif; font-size:20px; }
/* páginas de evento */
.ev-grid { display:grid; grid-template-columns:minmax(260px, 380px) 1fr 1fr; gap:36px; align-items:start; }
.ev-arte img { border:3px solid var(--ciano2); border-radius:12px; box-shadow:0 0 24px rgba(0,169,183,.25); }
.ev-arte h1 { font-family:"Russo One", sans-serif; font-weight:400; text-align:center; font-size:30px; margin:14px 0; }
.ev-bts { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.ev-bts .pilula { justify-content:space-between; }
.bloco h2 { color:var(--laranja); font-style:italic; font-weight:800; font-size:30px; text-align:center; margin:0 0 18px; letter-spacing:.5px; }
.lista { list-style:none; padding:0; margin:0; font-weight:700; font-size:19px; line-height:1.45; text-transform:uppercase; }
.lista li { margin-bottom:8px; }
.lista .v { color:#2fd1c4; } .lista .ct { text-align:center; } .lista .sub { font-size:17px; padding-left:28px; color:#e9edf3; }
.lista .esp { height:16px; }
/* RD */
.rd-hero { display:grid; grid-template-columns:1.3fr 1fr; align-items:end; min-height:520px; }
.rd-hero .jog { display:flex; justify-content:center; align-items:flex-end; }
.rd-hero .jog img { width:34%; margin:0 -5%; filter:drop-shadow(0 10px 20px rgba(0,0,0,.6)); }
.rd-hero .jog img:nth-child(2) { width:38%; z-index:2; position:relative; }
.rd-hero .lg { padding:20px 40px 60px; } .rd-hero .lg img { max-width:340px; margin:0 auto; }
.rd-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:36px; margin-top:30px; }
.rd-grid h2 { color:var(--vermelho); font-style:italic; font-size:19px; text-align:center; margin:0 0 18px; text-decoration:underline; text-decoration-color:rgba(227,34,45,.4); }
.rd-grid p { font-size:17px; line-height:1.55; text-transform:uppercase; text-align:justify; margin:0 0 20px; }
.rede { display:block; text-decoration:none; margin:0 auto 18px; max-width:300px; }
.rede .nm { font-family:"Russo One", sans-serif; font-size:26px; text-align:center; display:flex; align-items:center; justify-content:center; gap:10px; margin-bottom:6px; }
.rede .nm svg { width:30px; height:30px; }
.rede img { border:2px solid var(--ciano2); border-radius:4px; transition:box-shadow .15s; } .rede:hover img { box-shadow:0 0 18px rgba(0,169,183,.6); }
.contatos { text-align:center; } .contatos h3 { font-family:"Russo One", sans-serif; font-weight:400; font-size:26px; display:flex; gap:10px; justify-content:center; align-items:center; }
.contatos h3 svg { width:32px; height:32px; }
.contatos a { display:grid; grid-template-columns:1fr 1fr; gap:14px; text-decoration:none; font-size:24px; margin:4px 0; }
.contatos a b { color:#2c9fb5; font-style:italic; text-align:left; } .contatos a span { text-align:left; font-weight:700; }
.rush { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.rush .c { position:relative; aspect-ratio:565/800; background:center/cover no-repeat; border-radius:6px; overflow:hidden; border:1px solid rgba(242,163,58,.4); }
.rush .c img { position:absolute; left:6%; right:6%; bottom:20%; height:68%; width:88%; object-fit:contain; object-position:bottom; }
.rush .c b { position:absolute; top:9%; left:10%; font-family:"Russo One", sans-serif; font-weight:400; font-size:clamp(16px, 2vw, 24px); }
.rush .c .pe { position:absolute; left:8%; right:8%; bottom:5%; background:rgba(0,0,0,.75); border:2px solid var(--laranja); border-radius:12px; display:flex; justify-content:space-around; align-items:center; padding:5px 4px; font-size:12px; font-weight:800; }
.rush .c .pe span { text-align:center; } .rush .c .pe em { color:var(--laranja); font-style:normal; display:block; font-size:10px; }
.proximo { display:flex; justify-content:flex-end; margin-top:20px; }
/* rodapé */
.rodape { text-align:center; color:var(--mut); font-size:13px; padding:28px 18px 40px; position:relative; z-index:1; }
.rodape a { color:#c9ced8; }
@media (max-width:980px) {
  .hero, .ev-grid, .rd-grid, .rd-hero { grid-template-columns:1fr; }
  .eventos { grid-template-columns:1fr; max-width:460px; }
  .hero { min-height:auto; } .hero .logo { max-width:280px; }
  .ev-arte { max-width:420px; margin:0 auto; }
  .rd-hero { min-height:auto; } .rd-hero .lg { padding:10px; } .rd-hero .lg img { max-width:200px; }
  .menu-bt { display:block; }
  .topo nav { display:none; position:absolute; top:52px; left:0; right:0; background:#000; flex-direction:column; gap:0; padding:8px 0; border-bottom:1px solid #222; }
  .topo nav.aberto { display:flex; } .topo nav a { padding:12px 20px; width:100%; } .topo nav .patro { width:auto; margin:8px 20px; text-align:center; }
  .canto { display:none; }
}
@media (max-width:560px) {
  .pilula { font-size:18px; padding:8px 12px 8px 18px; } .pilula svg, .pilula img { width:30px; height:30px; }
  .bandeiras a { width:72px; height:72px; }
  .evento .tx { font-size:17px; }
  .lista { font-size:16px; } .bloco h2 { font-size:24px; }
  .contatos a { font-size:19px; }
}
@media (prefers-reduced-motion:reduce) { .fundo { display:none; } }
