:root {
  --navy: #0b3d63;
  --navy-dark: #082c48;
  --teal: #1a9c92;
  --teal-light: #e6f6f5;
  --green: #3fa66a;
  --bg-light: #f7f9fb;
}

body {
  font-family: 'Inter', sans-serif;
  color: #26313c;
  background: #fff;
}
h1, h2, h3, h4, h5, .brand-text {
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  color: var(--navy);
}
.top-bar { background: var(--navy-dark); color: #fff; font-size: .85rem; }
.top-bar a:hover { color: var(--teal-light); }

.navbar .nav-link { color: var(--navy); font-weight: 500; }
.navbar .nav-link.active, .navbar .nav-link:hover { color: var(--teal); }

.btn-primary { background: var(--teal); border-color: var(--teal); }
.btn-primary:hover { background: var(--navy); border-color: var(--navy); }
.btn-outline-primary { color: var(--teal); border-color: var(--teal); }
.btn-outline-primary:hover { background: var(--teal); border-color: var(--teal); }

.hero {
  background-size: cover;
  background-position: center;
  min-height: 520px;
  display: flex;
  align-items: center;
  position: relative;
  color: #fff;
}
.hero::before {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(120deg, rgba(11,61,99,.88), rgba(11,61,99,.55));
}
.hero .hero-content { position: relative; z-index: 2; }
.hero h1 { color: #fff; font-size: 2.6rem; }

.notice-bar { background: var(--teal-light); border-left: 4px solid var(--teal); }

.info-card {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 18px rgba(11,61,99,.08);
  padding: 28px 20px;
  text-align: center;
  height: 100%;
  transition: transform .2s ease;
}
.info-card:hover { transform: translateY(-6px); }
.info-card i { font-size: 2rem; color: var(--teal); margin-bottom: 12px; }

.section-title { position: relative; margin-bottom: 2rem; }
.section-title::after {
  content: "";
  display: block;
  width: 60px; height: 3px;
  background: var(--teal);
  margin-top: 10px;
}
.section-title.text-center::after { margin-left: auto; margin-right: auto; }

.course-card, .facility-card, .faculty-card, .news-card {
  border: 1px solid #eaeef1;
  border-radius: 12px;
  overflow: hidden;
  height: 100%;
  transition: box-shadow .2s ease;
  background: #fff;
}
.course-card:hover, .facility-card:hover, .faculty-card:hover, .news-card:hover {
  box-shadow: 0 8px 24px rgba(11,61,99,.12);
}
.course-card img, .facility-card img, .news-card img { height: 190px; width: 100%; object-fit: cover; }
.faculty-card img { height: 240px; width: 100%; object-fit: cover; }

.why-list li { padding: 8px 0; }
.why-list i { color: var(--green); margin-right: 10px; }

.footer-link { color: #cfd8de; text-decoration: none; }
.footer-link:hover { color: #fff; }

.gallery-thumb { border-radius: 10px; overflow: hidden; cursor: pointer; }
.gallery-thumb img { height: 200px; width: 100%; object-fit: cover; transition: transform .3s ease; }
.gallery-thumb:hover img { transform: scale(1.06); }

.bg-soft { background: var(--bg-light); }
