:root {
  --primary: #C0392B;
  --primary-dark: #922B21;
  --primary-light: #E8A09A;
  --secondary: #2C3E50;
  --accent: #F39C12;
}

/* 极简黑白网格风 */
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }

::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: #fff; }
::-webkit-scrollbar-thumb { background: #000; }
::selection { background: #000; color: #fff; }

/* 网格单元 hover */
.grid-cell { transition: background-color .2s ease, color .2s ease; }
.grid-cell:hover { background-color: #000; }
.grid-cell:hover .cell-title { color: #fff; }
.grid-cell:hover .cell-text { color: #d4d4d4; }

/* 图片黑白 */
.zoom-img { overflow: hidden; }
.zoom-img img { transition: transform .5s ease, filter .4s ease; filter: grayscale(100%); }
.zoom-img:hover img { transform: scale(1.05); filter: grayscale(0%); }

/* 移动端抽屉导航 */
.nav { transition: transform .35s ease; }
@media (max-width: 1023px) {
  .nav {
    position: fixed; top: 0; right: 0; bottom: 0;
    width: 84%; max-width: 320px;
    flex-direction: column; align-items: stretch;
    background: #fff; padding-top: 5rem;
    transform: translateX(100%);
    z-index: 60; overflow-y: auto;
    display: flex !important;
    border-left: 1px solid #000;
  }
  .nav.active { transform: translateX(0); }
  .nav a { width: 100%; border-right: 0 !important; border-bottom: 1px solid #000; padding: 1rem 1.5rem; }
  .menu-overlay {
    position: fixed; inset: 0;
    background: rgba(0,0,0,.4);
    opacity: 0; visibility: hidden;
    transition: opacity .3s 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 .35s ease, opacity .35s ease;
}
.faq-icon { transition: transform .3s ease; }

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

/* 入场动画 */
@keyframes gridIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
.grid-in { animation: gridIn .6s ease both; }

@media print {
  header, footer, .nav, .no-print { display: none !important; }
}
