
:root{
  --bg:#0b1020;
  --surface:#121a33;
  --muted:#6b7ca1;
  --text:#e7edf7;
  --brand:#6ee7ff;
  --accent:#a78bfa;
  --success:#22c55e;
  --warn:#f59e0b;
  --danger:#ef4444;
  --radius:20px;
  --shadow:0 10px 30px rgba(0,0,0,.25);
  --grad: linear-gradient(120deg, var(--accent), var(--brand));
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,'Helvetica Neue',Arial,sans-serif;line-height:1.6}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:1200px;margin:0 auto;padding:20px}
header{position:sticky;top:0;z-index:50;background:rgba(11,16,32,.8);backdrop-filter:blur(8px);border-bottom:1px solid rgba(255,255,255,.08)}
.nav{display:flex;align-items:center;gap:16px;padding:10px 20px}
.nav .logo{display:flex;align-items:center;gap:10px;font-weight:800}
.badge{padding:4px 10px;border-radius:999px;background:rgba(110,231,255,.15);border:1px solid rgba(110,231,255,.35);color:var(--brand);font-size:12px}
nav a{padding:8px 12px;border-radius:10px}
nav a:hover{background:rgba(255,255,255,.06)}
.hero{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:center;padding:40px 0}
.card{background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}
.btn{display:inline-block;padding:12px 18px;border-radius:14px;background:var(--grad);color:#0b0f1f;font-weight:700;box-shadow:0 8px 20px rgba(167,139,250,.35)}
.btn:hover{filter:brightness(1.05);transform:translateY(-1px)}
.grid{display:grid;gap:20px}
.grid.cols-3{grid-template-columns:repeat(3,1fr)}
.grid.cols-4{grid-template-columns:repeat(4,1fr)}
@media (max-width: 900px){.hero{grid-template-columns:1fr}.grid.cols-3,.grid.cols-4{grid-template-columns:1fr 1fr}}
@media (max-width: 620px){.grid.cols-3,.grid.cols-4{grid-template-columns:1fr}}

.tag{display:inline-block;padding:6px 10px;border-radius:10px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);font-size:12px;color:var(--muted)}

.footer{margin-top:60px;border-top:1px solid rgba(255,255,255,.08);padding:30px 0;color:#a7b6d9}
small, .muted{color:#a7b6d9}

.img-cover{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:16px;border:1px solid rgba(255,255,255,.1)}
.kicker{font-size:14px;color:var(--muted);text-transform:uppercase;letter-spacing:.2em}
.h1{font-size:44px;line-height:1.1;margin:8px 0 16px 0}
.lead{font-size:18px;color:#cfd8ee}
.section{margin:40px 0}

.marquee{overflow:hidden;white-space:nowrap;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);padding:10px}
.marquee span{display:inline-block;padding-right:40px;animation:scroll 25s linear infinite}
@keyframes scroll{from{transform:translateX(0)}to{transform:translateX(-100%)}}

.carousel{position:relative;overflow:hidden;border-radius:16px;border:1px solid rgba(255,255,255,.1)}
.carousel-track{display:flex;transition:transform .6s ease}
.carousel-slide{min-width:100%;}
.carousel-dots{position:absolute;bottom:10px;left:0;right:0;display:flex;gap:8px;justify-content:center}
.dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.5);border:1px solid rgba(255,255,255,.8)}
.dot.active{background:white}

.notice{border-left:4px solid var(--brand);padding:14px 16px;background:rgba(110,231,255,.08);border-radius:14px}

.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:10px;border-bottom:1px solid rgba(255,255,255,.08);text-align:left}

.fade-up{opacity:0;transform:translateY(8px);animation:fadeUp .8s ease forwards}
@keyframes fadeUp{to{opacity:1;transform:none}}
