:root{
  --bg:#0b1120;
  --panel:#0f172a;
  --text:#e5e7eb;
  --muted:#9aa3b2;
  --mint:#e7fff6;
  --primary:#6d28d9;  /* purple */
  --primary-2:#9333ea;
  --accent:#ef4444;   /* red */
  --line:#1f2937;
  --card:#0e1628;
  --radius:14px;
  --shadow:0 10px 30px rgba(0,0,0,.25);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text)}
a{color:#b3a3ff;text-decoration:none}
img{max-width:100%;display:block}

/* Layout */
.container{max-width:1180px;margin:0 auto;padding:0 20px}
.center{text-align:center}
.muted{color:var(--muted)}

/* Header */
.site-header{position:sticky;top:0;z-index:30;background:rgba(11,17,32,.65);backdrop-filter:saturate(160%) blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{display:flex;align-items:center;gap:10px}
.brand-logo{width:40px;height:40px;border-radius:12px;box-shadow:var(--shadow)}
.brand-text{font-weight:700}
nav a{margin:0 10px}
nav a.active{color:#fff}
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 16px;border-radius:10px;border:1px solid var(--primary);font-weight:600}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;border:0}
.btn-outline{color:var(--primary);background:transparent}

/* Hero */
.hero{padding:48px 0;background:radial-gradient(900px 420px at 16% -10%, rgba(93,64,219,.35), transparent), radial-gradient(900px 420px at 90% 20%, rgba(239,68,68,.25), transparent)}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:center}
.pill{display:inline-block;background:rgba(255,255,255,.08);border:1px solid var(--line);padding:6px 10px;border-radius:999px;color:var(--muted);font-weight:600}
.hero h1{font-size:44px;line-height:1.05;margin:14px 0}
.accent{color:var(--primary-2)}
.lede{color:#b9c1d0;max-width:720px}
.hero-actions{display:flex;gap:12px;margin:14px 0 6px}
.statbar{display:flex;gap:24px;list-style:none;padding:0;margin:16px 0 0}
.statbar li{display:flex;flex-direction:column}
.statbar strong{font-size:20px}

/* Hero card */
.hero-card{background:linear-gradient(180deg,#0e1628,#0b1324);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}
.progress{height:10px;background:#141b2c;border-radius:999px;overflow:hidden;margin:10px 0 6px;border:1px solid #1b2740}
.progress .bar{height:100%;background:linear-gradient(90deg,var(--primary-2),var(--accent))}
.hero-mini{display:flex;gap:20px}
.hero-mini div{display:flex;flex-direction:column}
.hero-mini span{color:var(--muted)}

/* Sections */
.section{padding:36px 0}
.section.alt{background:#0d1526;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}

/* Metrics */
.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:16px}
.metric{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px;text-align:center}
.metric .ico{width:26px;height:26px;fill:#95a3ff;margin:0 auto 8px;opacity:.85}

/* Cards */
.cards.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px;box-shadow:var(--shadow)}
.ticks{margin:10px 0 16px;padding-left:18px}
.ticks li{margin:6px 0}

/* Latest grid + videos grid */
.grid.latest, .grid.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.grid_cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; }
.grid_cards,
.grid.latest,
.grid.cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px;
}

.latest article,.video-card{background:#0e1526;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.latest .thumb, .video-card .thumb{height:160px;background:#141b2c;display:flex;align-items:center;justify-content:center}
.latest .body, .video-card .body{padding:12px}
.latest .meta, .video-card .meta{color:var(--muted);font-size:13px}

/* Filters */
.filters{display:flex;gap:10px;margin:14px 0}
.filters input,.filters select,.form input,.form select,.form textarea{background:#0e1628;border:1px solid var(--line);color:var(--text);padding:12px;border-radius:10px;width:100%}
.form .row{display:flex;gap:10px}
.form button{margin-top:10px}

/* Feed */
.feed{display:grid;gap:12px;margin-top:18px}
.feed .post{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px}
.feed .tag{font-size:12px;color:#9db0ff}

/* Footer */
.site-footer{border-top:1px solid var(--line);background:#0a101f;margin-top:24px}
.footer-grid{display:grid;grid-template-columns:1.2fr .6fr .6fr;gap:20px;padding:22px 0}
.footer-brand{display:flex;gap:10px;align-items:center}
.links{list-style:none;padding:0;margin:0}
.links li{margin:8px 0}
.copy{border-top:1px solid var(--line);text-align:center;padding:12px;color:var(--muted)}
.site-footer.mini{background:#0a101f}
@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr}
  .grid.latest, .grid.cards, .metrics, .cards.two{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
}


/* Grid fix for video training cards */
.grid_cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px;
}

/* Hover overlay for play button */
.thumbnail-wrapper {
  position: relative;
  overflow: hidden;
}

.thumbnail-wrapper .overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s;
}

.thumbnail-wrapper:hover .overlay {
  opacity: 1;
}

.play-btn {
  font-size: 2rem;
  color: #fff;
}

/* === 16:9 WIDESCREEN VIDEO FIX === */
.video-card video {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: 8px 8px 0 0;
  display: block;
}

.video-card img {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}