:root {
  --primary: #C8102E;
  --primary-dark: #8B0A1E;
  --primary-light: #E8445A;
  --secondary: #1A1A2E;
  --accent: #F5A623;
}

/* 影院级暗金风 · 海报式布局 */
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }

::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: #0d0d0f; }
::-webkit-scrollbar-thumb { background: #4a3c10; }
::-webkit-scrollbar-thumb:hover { background: #eab308; }
::selection { background: #eab308; color: #000; }

/* 海报卡片 */
.poster { overflow: hidden; position: relative; }
.poster img { transition: transform .7s cubic-bezier(.16,.84,.44,1), filter .5s ease; }
.poster:hover img { transform: scale(1.07); }
.poster-shade {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.92) 0%, rgba(0,0,0,.1) 60%, transparent 100%);
}
.poster-card { transition: transform .35s ease, box-shadow .35s ease; }
.poster-card:hover { transform: translateY(-6px); box-shadow: 0 14px 40px -10px rgba(234,179,8,.35); }

/* 金色细线标题装饰 */
.gold-rule::before {
  content: ""; display: inline-block;
  width: 38px; height: 2px; background: #eab308;
  vertical-align: middle; margin-right: 12px;
}

/* 移动端抽屉导航 */
.nav { transition: transform .4s cubic-bezier(.16,.84,.44,1); }
@media (max-width: 1023px) {
  .nav {
    position: fixed; top: 0; right: 0; bottom: 0;
    width: 84%; max-width: 340px;
    flex-direction: column; align-items: flex-start;
    background: #0d0d0f; padding: 5.5rem 1.5rem 2rem;
    transform: translateX(100%);
    z-index: 60; overflow-y: auto; gap: .25rem;
    display: flex !important;
    border-left: 2px solid rgba(234,179,8,.4);
  }
  .nav.active { transform: translateX(0); }
  .nav a { width: 100%; }
  .menu-overlay {
    position: fixed; inset: 0;
    background: rgba(0,0,0,.8);
    opacity: 0; visibility: hidden;
    transition: opacity .35s ease; z-index: 55;
  }
  .menu-overlay.active { opacity: 1; visibility: visible; }
  body.menu-open { overflow: hidden; }
}

/* FAQ 折叠 */
.faq-answer {
  max-height: 0; overflow: hidden; opacity: 0;
  transition: max-height .4s ease, opacity .4s ease;
}
.faq-icon { transition: transform .35s ease; }

/* 回到顶部 */
.back-to-top { opacity: 0; visibility: hidden; transition: opacity .35s ease; }
.back-to-top.visible { opacity: 1; visibility: visible; }

/* 入场动画 */
@keyframes fadeScene {
  from { opacity: 0; transform: scale(1.03); }
  to { opacity: 1; transform: scale(1); }
}
.fade-scene { animation: fadeScene 1s ease both; }

@media print {
  header, footer, .nav, .no-print { display: none !important; }
  body { background: #fff !important; color: #000 !important; }
}
