:root{
  --primary:#0d6efd;
  --dark:#0b1320;
  --muted:#6b7280;
}

body{ font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial; background:#f7f8fb; }

.topbar{ background: var(--dark); }
.brand-dot{
  display:inline-block; width:10px; height:10px; border-radius:50%;
  background: var(--primary); margin-right:8px;
}
.nav-link{ font-weight:600; color:#111827 !important; }
.nav-link:hover{ color: var(--primary) !important; }

.hero{
  position:relative;
  min-height: 70vh;
  display:flex;
  align-items:center;
  color:#fff;
  background: linear-gradient(90deg, rgba(11,19,32,.85), rgba(11,19,32,.35)),
              url("../img/banner-1.jpg") center/cover no-repeat;
  border-bottom-left-radius: 28px;
  border-bottom-right-radius: 28px;
}
.hero .badge{ background: rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.2); }

.section-title{ font-weight:800; color:#0b1320; }
.card-soft{
  background:#fff; border:1px solid #eef0f6; border-radius:18px;
  box-shadow: 0 10px 30px rgba(11,19,32,.06);
}
.icon-round{
  width:44px; height:44px; border-radius:14px;
  display:flex; align-items:center; justify-content:center;
  background: rgba(13,110,253,.1); color: var(--primary);
}

.news-box{ height: 260px; overflow:hidden; position:relative; }
.news-list{ margin:0; padding:0; list-style:none; }
.news-list li{
  padding:12px 10px; border-bottom:1px dashed #e5e7eb;
  display:flex; gap:10px; align-items:flex-start;
}
.news-list small{ color: var(--muted); }

.gallery-img{
  border-radius:16px; overflow:hidden; cursor:pointer;
  border:1px solid #eef0f6;
}
.gallery-img img{ width:100%; height:220px; object-fit:cover; transition:.25s; }
.gallery-img:hover img{ transform:scale(1.05); }

.footer{ background:#ffffff; border-top:1px solid #eef0f6; }
.footer a{ text-decoration:none; color:#374151; }
.footer a:hover{ color: var(--primary); }

.form-control, .form-select{ border-radius:12px; }
.btn{ border-radius:12px; }
