:root{
  --bg:#0b0d12;
  --card:#121826;
  --card2:rgba(255,255,255,.04);
  --text:#eef2ff;
  --muted:#b8c0d9;
  --border:rgba(255,255,255,.08);
  --accent:#7c5cff;
  --accent2:#23d5ab;
  --shadow:0 18px 50px rgba(0,0,0,.45);
  --radius:18px;
  --radius2:24px;
  --max:1100px;
  --pad:18px;
  --font:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:var(--font);
  color:var(--text);
  background:
    radial-gradient(900px 450px at 15% 0%, rgba(124,92,255,.22), transparent 60%),
    radial-gradient(800px 500px at 85% 10%, rgba(35,213,171,.18), transparent 65%),
    var(--bg);
}
a{color:inherit;text-decoration:none}
.container{width:min(var(--max), calc(100% - 2*var(--pad)));margin:0 auto;}

.topbar{
  position:sticky; top:0; z-index:10;
  backdrop-filter: blur(10px);
  background: rgba(11,13,18,.65);
  border-bottom:1px solid var(--border);
}
.topbar__inner{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 0;
}
.brand{display:flex; align-items:center; gap:10px;}
.brand__logo{
  width:38px; height:38px; border-radius:14px;
  display:grid; place-items:center;
  border:1px solid var(--border);
  background: linear-gradient(135deg, rgba(124,92,255,.25), rgba(35,213,171,.20));
}
.brand__name{font-weight:900; letter-spacing:.2px}
.nav__link{
  padding:10px 12px; border-radius:14px;
  border:1px solid var(--border);
  background: rgba(255,255,255,.03);
}
.nav__link:hover{border-color: rgba(124,92,255,.6)}

.hero{
  padding:34px 0 10px;
}
.hero__box{
  border:1px solid var(--border);
  background: rgba(255,255,255,.03);
  border-radius: var(--radius2);
  box-shadow: var(--shadow);
  padding: 22px;
}
.hero__box h1{
  margin:0 0 6px 0;
  font-size: clamp(24px, 4vw, 38px);
}
.hero__box p{margin:0; color:var(--muted); line-height:1.6}

.grid{
  display:grid;
  grid-template-columns: repeat(12, 1fr);
  gap:14px;
  padding: 16px 0 40px;
}
.card{
  grid-column: span 12;
  border:1px solid var(--border);
  background: rgba(255,255,255,.03);
  border-radius: var(--radius);
  overflow:hidden;
  box-shadow: var(--shadow);
}
@media(min-width:720px){.card{grid-column:span 4;}}
.slider img{
  width:100%;
  height: 190px;
  object-fit: cover;
}
.card__body{
  padding:14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border-top: 1px solid rgba(255,255,255,.06);
}
.card h3{
  margin:0;
  font-size:16px;
  font-weight:900;
  text-align:left;
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(124,92,255,.55);
  background: linear-gradient(135deg, rgba(124,92,255,.85), rgba(35,213,171,.55));
  color:#0b0d12;
  font-weight:900;
  letter-spacing:.2px;
  white-space:nowrap;
}
.btn:hover{filter:brightness(1.06)}
.footer{
  border-top:1px solid var(--border);
  color:var(--muted);
  padding: 18px 0 26px;
  background: rgba(0,0,0,.12);
}

.card__desc{
  margin-top:8px;
  color:var(--muted);
  font-size:13px;
  line-height:1.45;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(0,0,0,.12);
  border-radius:14px;
  text-align:left;
}
.card__body{align-items:flex-start}

.site-logo{width:240px;height:240px;object-fit:contain;display:block;margin:20px auto;border-radius:22px;border:1px solid rgba(255,255,255,.16);background:rgba(0,0,0,.25);padding:8px;}


/* modern-slider-upgrade */
.slider {
  position: relative;
  overflow: hidden;
  border-radius: 20px;
}

.slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transform: scale(1.05);
  transition: opacity .6s ease, transform .8s ease;
}

.slide.active {
  opacity: 1;
  transform: scale(1);
  z-index: 2;
}

.slider img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 20px;
}

.slider-dots {
  position: absolute;
  bottom: 12px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 6px;
}

.slider-dots span {
  width: 8px;
  height: 8px;
  background: rgba(255,255,255,.5);
  border-radius: 50%;
  cursor: pointer;
  transition: .3s;
}

.slider-dots span.active {
  background: #ffffff;
  transform: scale(1.2);
}


/* neon-upgrade */
:root{ --neon:#23d5ab; --neon2:#00ff7b; }

.card{
  position:relative;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.card::before{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius: calc(var(--radius) + 1px);
  background: linear-gradient(135deg, rgba(35,213,171,.0), rgba(35,213,171,.55), rgba(0,255,123,.35));
  opacity: 0;
  filter: blur(.2px);
  pointer-events:none;
  z-index:0;
}
.card::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius: var(--radius);
  background: radial-gradient(700px 200px at 50% 0%, rgba(35,213,171,.10), transparent 55%);
  opacity:.0;
  transition: opacity .25s ease;
  pointer-events:none;
  z-index:0;
}
.card > *{ position:relative; z-index:1; }

.card:hover{
  transform: translateY(-4px);
  box-shadow: 0 24px 70px rgba(0,0,0,.55);
  border-color: rgba(35,213,171,.35);
}
.card:hover::before{ opacity: .9; animation: neonPulse 1.6s ease-in-out infinite; }
.card:hover::after{ opacity: 1; }

@keyframes neonPulse{
  0%,100%{ filter: drop-shadow(0 0 10px rgba(35,213,171,.22)) drop-shadow(0 0 22px rgba(0,255,123,.12)); }
  50%{ filter: drop-shadow(0 0 16px rgba(35,213,171,.32)) drop-shadow(0 0 34px rgba(0,255,123,.16)); }
}

/* deixa o slider com brilho leve */
.slider::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background: linear-gradient(180deg, rgba(0,0,0,.15), rgba(0,0,0,.35));
}
.slider::before{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius:22px;
  background: linear-gradient(135deg, rgba(35,213,171,.18), rgba(124,92,255,.10), transparent 60%);
  opacity:.7;
  pointer-events:none;
}

/* botão com efeito de brilho */
.btn{
  position:relative;
  overflow:hidden;
}
.btn::before{
  content:"";
  position:absolute;
  inset:-40% -60%;
  background: radial-gradient(circle at 30% 30%, rgba(255,255,255,.45), transparent 45%);
  transform: translateX(-30%);
  opacity:.0;
  transition: opacity .2s ease, transform .35s ease;
}
.btn:hover::before{ opacity:.55; transform: translateX(10%); }
