/* Shared site styles (extracted from duplicated page inline CSS) */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

/* picture wrapper must not break Tailwind w-full / h-full layout */
picture.k-picture {
  display: contents;
}

body {
  font-family: 'Inter', 'Noto Sans SC', sans-serif;
}

.bg-gradient-brand {
  background: linear-gradient(135deg, #1e3a5f 0%, #2563EB 100%);
}

.card-hover {
  transition: all 0.3s ease;
}

.card-hover:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1);
}

.active-category {
  color: #2563EB;
  font-weight: 700;
  border-left: 3px solid #2563EB;
  padding-left: 12px;
}

.scroll-mt-nav {
  scroll-margin-top: 6rem;
}

.line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.banner-slide {
  display: none;
}

.banner-slide.active {
  display: flex;
  flex-direction: column;
}

@media (min-width: 768px) {
  .banner-slide.active {
    flex-direction: row;
    align-items: center;
  }
}

.banner-dot.active {
  background-color: #2563EB;
  width: 2rem;
}

.about-logo-box img {
  max-height: 220px;
}

@media (min-width: 640px) {
  .about-logo-box img {
    max-height: 280px;
  }
}

@media (min-width: 1024px) {
  .about-logo-box img {
    max-height: 100%;
  }
}
