/* ============================================================
   BRUTAL RUST — v2: moderno, arredondado, glass, animado
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=Inter:wght@400;500;600;700&display=swap');

@font-face{
  font-family:'RustDisplay';
  src:url('../fonts/Rust.ttf') format('truetype');
  font-weight:normal;
  font-style:normal;
  font-display:swap;
}

:root{
  --bg:        #0a0a09;
  --bg-2:      #121110;
  --surface:   rgba(255,255,255,0.045);
  --surface-2: rgba(255,255,255,0.07);
  --border:    rgba(255,255,255,0.09);
  --text:      #f4f2fb;
  --text-dim:  #9994ab;

  --grad-1: #ff7a00;
  --grad-2: #a84300;
  --grad-3: #170a03;
  --gradient: linear-gradient(120deg, var(--grad-1), var(--grad-2) 55%, var(--grad-3));
  --gradient-btn: linear-gradient(120deg, #ff8a1f, #c14e00 85%);

  --glow: rgba(200,78,0,0.45);
  --radius-sm: 12px;
  --radius: 20px;
  --radius-lg: 28px;
  --container: 1140px;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:'Inter', system-ui, sans-serif;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{ max-width:100%; display:block; }
a{ color:inherit; }
h1,h2,h3,h4{ margin:0; font-family:'Space Grotesk', sans-serif; font-weight:600; letter-spacing:-0.01em; }
p{ margin:0; }
button{ font-family:inherit; }

::selection{ background:var(--grad-2); color:#fff; }
:focus-visible{ outline:2px solid var(--grad-1); outline-offset:3px; border-radius:4px; }

@media (prefers-reduced-motion: reduce){
  *{ animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important; }
}

.wrap{ max-width:var(--container); margin:0 auto; padding:0 24px; position:relative; z-index:1; }

/* ---------------- fumaça animada de fundo (canvas) ---------------- */
.smoke-canvas{
  position:fixed; inset:0; z-index:0;
  pointer-events:none;
}

/* ---------------- scroll reveal ---------------- */
[data-reveal]{
  opacity:0; transform:translateY(28px);
  transition:opacity .7s cubic-bezier(.16,.8,.3,1), transform .7s cubic-bezier(.16,.8,.3,1);
}
[data-reveal].in{ opacity:1; transform:translateY(0); }
[data-reveal="stagger"] > *{
  opacity:0; transform:translateY(22px);
  transition:opacity .6s ease, transform .6s ease;
}
[data-reveal="stagger"].in > *{ opacity:1; transform:translateY(0); }
[data-reveal="stagger"].in > *:nth-child(1){ transition-delay:.05s; }
[data-reveal="stagger"].in > *:nth-child(2){ transition-delay:.13s; }
[data-reveal="stagger"].in > *:nth-child(3){ transition-delay:.21s; }
[data-reveal="stagger"].in > *:nth-child(4){ transition-delay:.29s; }
[data-reveal="stagger"].in > *:nth-child(5){ transition-delay:.37s; }
[data-reveal="stagger"].in > *:nth-child(6){ transition-delay:.45s; }
[data-reveal="stagger"].in > *:nth-child(7){ transition-delay:.53s; }
[data-reveal="stagger"].in > *:nth-child(8){ transition-delay:.61s; }

/* ---------------- header ---------------- */
.site-header{
  position:sticky; top:0; z-index:50;
  padding:18px 20px 0;
}
.header-inner{
  max-width:var(--container); margin:0 auto;
  display:flex; align-items:center; justify-content:space-between;
  height:64px; padding:0 10px 0 22px;
  background:var(--surface);
  backdrop-filter:blur(16px);
  border:1px solid var(--border);
  border-radius:999px;
}
.logo{
  font-family:'RustDisplay', 'Space Grotesk', sans-serif; font-weight:400;
  font-size:1.5rem; letter-spacing:0.03em;
  display:flex; align-items:center; gap:9px;
  text-decoration:none; color:var(--text);
}
.logo .dot{
  width:10px; height:10px; border-radius:50%;
  background:var(--gradient);
}
.nav{ display:flex; align-items:center; gap:8px; }
.nav a{
  text-decoration:none; color:var(--text-dim);
  font-weight:500; font-size:0.9rem;
  padding:8px 14px; border-radius:999px;
  transition:color .2s ease, background .2s ease;
}
.nav a:hover{ color:var(--text); background:var(--surface); }
.header-actions{ display:flex; align-items:center; gap:10px; }
.icon-link{
  width:38px; height:38px; display:grid; place-items:center;
  border-radius:50%; color:var(--text-dim);
  transition:color .2s ease, background .2s ease, transform .2s ease;
}
.icon-link:hover{ color:var(--grad-1); background:var(--surface); transform:translateY(-2px); }
.nav-toggle{
  display:none; background:none; border:none; color:var(--text);
  width:40px; height:40px; align-items:center; justify-content:center; border-radius:50%;
}
.nav-toggle:hover{ background:var(--surface); }

/* ---------------- buttons ---------------- */
.btn{
  position:relative;
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:14px 26px;
  border:none; border-radius:999px;
  background:var(--gradient-btn);
  background-size:180% 180%;
  color:#fff;
  font-weight:700; font-size:0.95rem;
  text-decoration:none; cursor:pointer;
  transition:transform .25s cubic-bezier(.34,1.56,.64,1), box-shadow .3s ease, background-position .5s ease;
  box-shadow:0 8px 26px -8px rgba(200,78,0,0.65);
}
.btn:hover{
  transform:translateY(-3px) scale(1.015);
  background-position:100% 50%;
  box-shadow:0 16px 38px -8px rgba(255,110,0,0.75);
}
.btn:active{ transform:translateY(-1px) scale(0.99); }
.btn-ghost{
  background:var(--surface); color:var(--text); box-shadow:none;
  border:1px solid var(--border);
}
.btn-ghost:hover{
  background:var(--surface-2); box-shadow:0 8px 24px -12px rgba(0,0,0,0.5);
  transform:translateY(-3px);
}
.btn-block{ width:100%; }
.btn[disabled]{ opacity:0.45; cursor:not-allowed; transform:none !important; }

/* ---------------- hero ---------------- */
.hero{ padding:110px 0 70px; position:relative; overflow:hidden; }

.hero-figure{
  position:absolute;
  top:6%; right:12%;
  z-index:0;
  width:min(56vw, 780px);
  aspect-ratio:984/926;
  pointer-events:none;
  opacity:0.65;
  mix-blend-mode:screen;
  -webkit-mask-image:radial-gradient(ellipse 62% 62% at 55% 48%, black 36%, transparent 74%);
          mask-image:radial-gradient(ellipse 62% 62% at 55% 48%, black 36%, transparent 74%);
  filter:saturate(1.05) contrast(1.05);
}
.hero-figure img{ width:100%; height:100%; object-fit:cover; display:block; }

@media (max-width: 900px){
  .hero-figure{ width:82vw; opacity:0.4; top:6%; right:-6%; }
}
@media (max-width: 620px){
  .hero-figure{ display:none; }
}
.hero-tag{
  display:inline-flex; align-items:center; gap:9px;
  font-size:0.82rem; font-weight:600;
  color:var(--text-dim);
  background:var(--surface);
  border:1px solid var(--border);
  padding:7px 16px 7px 8px; border-radius:999px;
  margin-bottom:26px;
}
.hero-tag .pip{
  width:22px; height:22px; border-radius:50%;
  background:var(--gradient); display:grid; place-items:center;
  font-size:0.7rem; color:#fff;
}
.hero h1{
  font-family:'RustDisplay', 'Space Grotesk', sans-serif;
  font-weight:400;
  font-size:clamp(3.6rem, 11vw, 8rem);
  line-height:0.95;
  letter-spacing:0.02em;
}
.hero h1 .grad{
  background:var(--gradient);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.hero-sub{
  max-width:540px; margin-top:24px;
  font-size:1.12rem; color:var(--text-dim);
}
.hero-actions{ display:flex; flex-wrap:wrap; gap:14px; margin-top:36px; }

.connect-box{
  margin-top:44px; display:inline-flex; align-items:center;
  gap:14px; padding:8px 8px 8px 22px;
  background:var(--surface); border:1px solid var(--border);
  border-radius:999px; max-width:100%;
}
.connect-box code{
  font-family:'Space Grotesk', monospace; font-size:0.95rem;
  color:var(--text); white-space:nowrap; overflow-x:auto;
}
.copy-btn{
  border:none; border-radius:999px;
  background:var(--surface-2); color:var(--text);
  padding:11px 20px; cursor:pointer;
  font-size:0.85rem; font-weight:600;
  transition:background .2s ease, transform .2s ease;
  flex-shrink:0;
}
.copy-btn:hover{ background:rgba(255,255,255,0.14); transform:translateY(-1px); }

/* ---------------- stat cards ---------------- */
.stat-row{
  display:grid; grid-template-columns:repeat(4, 1fr); gap:16px;
  margin-top:64px;
}
.stat-card{
  padding:26px 24px; border-radius:var(--radius);
  background:var(--surface); border:1px solid var(--border);
  transition:transform .3s ease, border-color .3s ease, background .3s ease;
}
.stat-card:hover{ transform:translateY(-4px); border-color:rgba(255,255,255,0.18); background:var(--surface-2); }
.stat-card .n{
  font-family:'Space Grotesk', sans-serif; font-size:1.7rem; font-weight:700;
  background:var(--gradient); -webkit-background-clip:text; background-clip:text; color:transparent;
}
.stat-card .l{ margin-top:6px; font-size:0.85rem; color:var(--text-dim); }

/* ---------------- section ---------------- */
.section{ padding:100px 0; }
.section-head{
  display:flex; align-items:flex-end; justify-content:space-between; gap:20px;
  margin-bottom:48px; flex-wrap:wrap;
}
.section-head h2{ font-size:clamp(1.9rem, 3.6vw, 2.6rem); }
.section-head p{ max-width:400px; color:var(--text-dim); }
.kicker{
  font-size:0.85rem; font-weight:600; color:var(--grad-1);
  margin-bottom:10px; display:block;
}

/* ---------------- steps ---------------- */
.steps{ display:grid; grid-template-columns:repeat(3, 1fr); gap:20px; }
.step{
  padding:32px 28px; border-radius:var(--radius-lg);
  background:var(--surface); border:1px solid var(--border);
  transition:transform .35s cubic-bezier(.16,.8,.3,1), border-color .3s ease, background .3s ease;
}
.step:hover{ transform:translateY(-6px); border-color:rgba(255,255,255,0.2); background:var(--surface-2); }
.step .idx{
  width:42px; height:42px; border-radius:50%;
  background:var(--gradient); color:#fff;
  display:grid; place-items:center;
  font-family:'Space Grotesk', sans-serif; font-weight:700; font-size:1.05rem;
}
.step h3{ margin-top:18px; font-size:1.15rem; }
.step p{ margin-top:8px; color:var(--text-dim); font-size:0.95rem; }

/* ---------------- info cards ---------------- */
.card-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:20px; }
.info-card{
  padding:28px; border-radius:var(--radius-lg);
  background:var(--surface); border:1px solid var(--border);
  transition:transform .35s cubic-bezier(.16,.8,.3,1), border-color .3s ease, background .3s ease;
}
.info-card:hover{ transform:translateY(-6px); border-color:rgba(255,255,255,0.2); background:var(--surface-2); }
.info-card h3{ font-size:1.05rem; display:flex; align-items:center; gap:10px; }
.info-card h3 .dot{ width:9px; height:9px; border-radius:50%; background:var(--gradient); }
.info-card p{ margin-top:10px; color:var(--text-dim); font-size:0.94rem; }

/* ---------------- membro brutal / vip ---------------- */
.vip{
  border-radius:var(--radius-lg);
  border:1px solid var(--border);
  background:linear-gradient(160deg, rgba(255,122,0,0.13), rgba(168,67,0,0.08));
  display:grid; grid-template-columns:1.15fr 0.85fr;
  overflow:hidden;
}
.vip-main{ padding:48px; }
.vip-side{
  padding:48px; display:flex; flex-direction:column; justify-content:center;
  background:rgba(255,255,255,0.03);
  border-left:1px solid var(--border);
}
.vip h3{ font-size:1.7rem; }
.vip .price{
  font-family:'Space Grotesk', sans-serif; font-size:3rem; font-weight:700; margin-top:8px;
  background:var(--gradient); -webkit-background-clip:text; background-clip:text; color:transparent;
}
.vip .price small{ font-family:'Inter', sans-serif; font-size:1rem; color:var(--text-dim); font-weight:500; -webkit-text-fill-color:var(--text-dim); }
.perks{ list-style:none; margin:28px 0 0; padding:0; display:grid; gap:16px; }
.perks li{ display:flex; gap:14px; align-items:flex-start; font-size:0.94rem; color:var(--text-dim); }
.perks li .cmd{
  flex-shrink:0; font-family:'Space Grotesk', monospace; font-size:0.76rem; font-weight:600;
  color:var(--text); background:var(--surface-2);
  border-radius:8px; padding:4px 9px; white-space:nowrap;
}
.perks li b{ color:var(--text); font-weight:600; }
.vip-note{ margin-top:28px; font-size:0.82rem; color:var(--text-dim); }

/* ---------------- regras (accordion) ---------------- */
.rules{ display:grid; gap:12px; }
.rule-item{
  border-radius:var(--radius);
  background:var(--surface); border:1px solid var(--border);
  overflow:hidden; transition:background .3s ease, border-color .3s ease;
}
.rule-item[open]{ background:var(--surface-2); border-color:rgba(255,255,255,0.18); }
.rule-item summary{
  list-style:none; cursor:pointer;
  display:flex; align-items:center; gap:18px;
  padding:22px 26px;
  font-family:'Space Grotesk', sans-serif; font-weight:600; font-size:1.02rem;
}
.rule-item summary::-webkit-details-marker{ display:none; }
.rule-item summary .n{
  width:32px; height:32px; border-radius:50%; flex-shrink:0;
  background:var(--gradient); color:#fff; display:grid; place-items:center;
  font-size:0.85rem; font-family:'Space Grotesk', sans-serif;
}
.rule-item summary .plus{
  margin-left:auto; color:var(--text-dim); font-size:1.3rem; font-weight:400;
  transition:transform .3s ease;
}
.rule-item[open] summary .plus{ transform:rotate(45deg); color:var(--grad-1); }
.rule-body{ padding:0 26px 26px 76px; color:var(--text-dim); font-size:0.94rem; }
.rule-body ul{ margin:10px 0 0; padding-left:18px; }
.rule-body li{ margin-bottom:6px; }
.rule-intro{
  color:var(--text-dim); max-width:680px; margin-bottom:32px; font-size:0.95rem;
  padding:18px 22px; border-radius:var(--radius);
  background:var(--surface); border:1px solid var(--border);
}

/* ---------------- footer ---------------- */
.site-footer{ padding:60px 0 40px; }
.footer-card{
  border-radius:var(--radius-lg);
  background:var(--surface); border:1px solid var(--border);
  padding:44px;
}
.footer-top{ display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:32px; padding-bottom:32px; border-bottom:1px solid var(--border); }
.footer-links{ display:flex; gap:44px; flex-wrap:wrap; }
.footer-col h4{ font-size:0.78rem; font-weight:600; color:var(--text-dim); margin-bottom:14px; }
.footer-col a{ display:block; text-decoration:none; color:var(--text); font-size:0.92rem; margin-bottom:10px; transition:color .2s ease; }
.footer-col a:hover{ color:var(--grad-1); }
.footer-bottom{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; margin-top:24px; font-size:0.82rem; color:var(--text-dim); }

/* ---------------- modal (login) ---------------- */
.modal-backdrop{
  position:fixed; inset:0; background:rgba(6,5,10,0.7);
  backdrop-filter:blur(6px);
  display:none; align-items:center; justify-content:center;
  z-index:100; padding:20px;
}
.modal-backdrop.open{ display:flex; }
.modal-backdrop.open .modal{ animation:pop .35s cubic-bezier(.34,1.56,.64,1); }
@keyframes pop{ from{ opacity:0; transform:translateY(14px) scale(0.97); } to{ opacity:1; transform:translateY(0) scale(1); } }
.modal{
  width:100%; max-width:420px;
  background:var(--bg-2); border:1px solid var(--border);
  border-radius:var(--radius-lg); padding:38px;
}
.modal h3{ font-size:1.4rem; }
.modal p{ margin-top:10px; color:var(--text-dim); font-size:0.92rem; }
.modal-close{
  float:right; background:var(--surface); border:none; color:var(--text-dim);
  width:32px; height:32px; border-radius:50%; cursor:pointer; line-height:1;
  transition:background .2s ease, color .2s ease;
}
.modal-close:hover{ background:var(--surface-2); color:var(--text); }
.steam-btn{ margin-top:26px; background:linear-gradient(120deg, #1b2838, #2a3f5a); box-shadow:0 8px 24px -8px rgba(27,40,56,0.6); }

/* ---------------- painel (dashboard) ---------------- */
.dash-header{ padding:44px 0 30px; }
.dash-header .wrap{ display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; }
.profile-block{ display:flex; align-items:center; gap:16px; }
.avatar{
  width:58px; height:58px; border-radius:50%;
  background:var(--gradient);
  display:grid; place-items:center;
  font-family:'Space Grotesk', sans-serif; font-weight:700; color:#fff;
}
.profile-block h2{ font-size:1.25rem; }
.profile-block .steamid{ font-size:0.82rem; color:var(--text-dim); }
.badge{
  font-size:0.78rem; font-weight:600;
  padding:8px 16px; border-radius:999px;
  background:var(--surface); border:1px solid var(--border);
}
.badge.active{ color:var(--grad-1); }
.badge.inactive{ color:var(--text-dim); }

.dash-grid{ display:grid; grid-template-columns:1fr 1.6fr; gap:20px; }
.dash-panel{
  border-radius:var(--radius-lg); padding:34px;
  background:var(--surface); border:1px solid var(--border);
}
.dash-panel h3{ font-size:1.05rem; margin-bottom:18px; }

table.history{ width:100%; border-collapse:collapse; font-size:0.9rem; }
table.history th{
  text-align:left; font-size:0.76rem; font-weight:600;
  color:var(--text-dim);
  padding:10px 8px; border-bottom:1px solid var(--border);
}
table.history td{ padding:14px 8px; border-bottom:1px solid rgba(255,255,255,0.06); color:var(--text-dim); }
table.history td.status-ok{ color:var(--grad-1); }
.empty-state{ padding:40px 10px; text-align:center; color:var(--text-dim); font-size:0.9rem; }

/* ---------------- responsive ---------------- */
@media (max-width: 860px){
  .stat-row{ grid-template-columns:repeat(2, 1fr); }
  .steps{ grid-template-columns:1fr; }
  .card-grid{ grid-template-columns:1fr; }
  .vip{ grid-template-columns:1fr; }
  .vip-side{ border-left:none; border-top:1px solid var(--border); }
  .dash-grid{ grid-template-columns:1fr; }
  .footer-card{ padding:30px; }
}
@media (max-width: 720px){
  .nav{
    position:fixed; top:96px; left:20px; right:20px;
    background:rgba(16,14,22,0.95); backdrop-filter:blur(16px);
    border:1px solid var(--border); border-radius:var(--radius);
    flex-direction:column; align-items:stretch; gap:2px; padding:10px;
    transform:translateY(-14px) scale(0.98); opacity:0; pointer-events:none;
    transition:transform .25s ease, opacity .25s ease;
  }
  .nav.open{ transform:translateY(0) scale(1); opacity:1; pointer-events:auto; }
  .nav a{ padding:14px 16px; border-radius:12px; }
  .nav-toggle{ display:flex; }
  .connect-box{ flex-wrap:wrap; }
}
