/* ============================================================
   MacCMS 2025 · Hero Area Styles
   首页英雄区: 环境色背景 / 海报卡片 / CTA
   ============================================================ */

.hero-area {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 85vh;
  overflow: hidden;
  padding: 0;
}
.hero-area__bg {
  position: absolute; inset: 0; z-index: 0;
}
.hero-area__bg-blur {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  filter: blur(60px) saturate(1.4) brightness(0.32);
  transform: scale(1.12);
}
.hero-area__bg-soft {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  filter: blur(15px) brightness(0.5);
  transform: scale(1.05);
  opacity: 0.45;
}
.hero-area__overlay {
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 50% 60% at 50% 50%, transparent 0%, rgba(8,8,16,0.25) 100%),
    linear-gradient(to top, rgba(8,8,16,0.6) 0%, transparent 40%);
}
.hero-content {
  display: flex;
  align-items: center;
  gap: clamp(32px, 6vw, 72px);
  position: relative;
  z-index: 1;
}
.hero-poster {
  flex-shrink: 0;
  width: clamp(180px, 26vw, 320px);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 8px 48px rgba(0,0,0,0.55);
}
.hero-poster img {
  width: 100%; aspect-ratio: 2/3; object-fit: cover; display: block;
}
.hero-info {
  flex: 1; min-width: 0;
}
.hero-info__label {
  font-size: 0.7rem; font-weight: 600;
  letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 12px;
}
.hero-info__title {
  font-family: var(--serif);
  font-size: clamp(1.6rem, 4.5vw, 3.2rem);
  font-weight: 400; line-height: 1.15;
  color: var(--text-primary);
  margin-bottom: 16px;
}
.hero-info__sub {
  font-size: 0.85rem; color: var(--text-secondary); margin-bottom: 14px;
}
.hero-info__tag-row {
  display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 18px;
}
.hero-info__blurb {
  font-size: 0.82rem; color: var(--text-secondary);
  line-height: 1.75; max-width: 52ch;
  margin-bottom: 24px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.hero-info__actions {
  display: flex; gap: 12px; align-items: center; flex-wrap: wrap;
}

/* ── Responsive ── */
@media (max-width: 1023px) {
  .hero-area { min-height: 65vh; }
  .hero-content {
    flex-direction: column;
    text-align: center;
    gap: 24px;
  }
  .hero-poster { width: clamp(140px, 30vw, 220px); }
  .hero-info__title { font-size: clamp(1.4rem, 4vw, 2rem); }
}
@media (max-width: 767px) {
  .hero-area { min-height: 60vh; }
  .hero-poster { display: none; }
  .hero-content {
    flex-direction: column;
    text-align: center;
    justify-content: center;
  }
  .hero-info { text-align: center; }
  .hero-info__title { font-size: clamp(1.3rem, 5.5vw, 1.8rem); }
  .hero-info__blurb { -webkit-line-clamp: 2; max-width: 40ch; }
}
@media (max-width: 359px) {
  .hero-area { min-height: 55vh; }
  .hero-info__title { font-size: 1.2rem; }
  .hero-info__blurb { display: none; }
}
