@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@300;400;500;700&display=swap');

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: 'Noto Sans SC', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  color: #2c2c2c;
  line-height: 1.6;
  overflow-x: hidden;
}

nav a {
  font-weight: 300;
  font-size: 0.95rem;
  letter-spacing: 0.05em;
  transition: all 0.3s ease;
  text-decoration: none;
  position: relative;
}

nav a::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 50%;
  width: 0;
  height: 1px;
  background-color: #2c2c2c;
  transition: all 0.3s ease;
  transform: translateX(-50%);
}

nav a:hover::after {
  width: 100%;
}

.hero-image {
  width: 100%;
  height: 100vh;
  object-fit: cover;
  object-position: center;
  filter: brightness(0.95);
}

.series-grid img,
.detail-grid img {
  transition: transform 0.5s ease, filter 0.5s ease;
  cursor: pointer;
}

.series-grid img:hover,
.detail-grid img:hover {
  transform: scale(1.02);
  filter: brightness(1.05);
}

.page-title {
  font-weight: 300;
  letter-spacing: 0.1em;
  color: #2c2c2c;
}

.story-text {
  font-weight: 300;
  line-height: 2;
  letter-spacing: 0.05em;
  color: #4a4a4a;
}

footer {
  font-size: 0.85rem;
  letter-spacing: 0.15em;
  font-weight: 300;
}

@media (max-width: 768px) {
  .hero-image {
    height: 60vh;
  }
  
  nav a {
    font-size: 0.9rem;
  }
  
  .page-title {
    font-size: 1.5rem;
  }
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}

.fade-in {
  animation: fadeIn 0.8s ease-in;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}