/* ================================================================
   林叶纸业 · 响应式适配
   ================================================================ */

@media (max-width: 1024px) {
  .ag, .contact-grid, .culture-grid { grid-template-columns: repeat(2, 1fr); }
  .pg { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 992px) {
  .hero h1 { font-size: 34px; }
  .page-hero h1 { font-size: 26px; }
  .sh h2 { font-size: 24px; }
  .cta h2 { font-size: 24px; }
  .abt, .ci { grid-template-columns: 1fr; gap: 30px; }
}

@media (max-width: 768px) {
  .hamburger { display: flex; }
  .nl { display: none; position: absolute; top: 76px; left: 0; right: 0; background: #fff; flex-direction: column; border-bottom: 1px solid var(--border); padding: 12px 0; z-index: 99; }
  .nl.open { display: flex; }
  .nl a { padding: 14px 24px; }
  .nl a::after { display: none; }
  .nl a:hover, .nl a.active { background: var(--green-lighter); color: var(--green); }
  .hero { padding: 60px 0 50px; }
  .hero h1 { font-size: 28px; }
  .hero .hs { font-size: 15px; }
  .hero .bp, .hero .bo { padding: 12px 24px; font-size: 13px; }
  .ag, .culture-grid { grid-template-columns: 1fr; }
  .pg { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .pc { padding: 20px 14px; }
  .pc .pi { font-size: 28px; }
  .ng, .stats { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .cert-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .contact-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .contact-form-wrap { grid-template-columns: 1fr; gap: 30px; }
  .news-list .news-item { grid-template-columns: 1fr; gap: 12px; }
  .timeline::before { left: 20px; }
  .tl-item { flex-direction: row !important; }
  .tl-item .tl-dot { left: 20px; }
  .tl-item .tl-content { width: calc(100% - 50px); margin-left: 50px !important; margin-right: 0 !important; }
  .page-hero { padding: 40px 0 30px; }
  .page-hero h1 { font-size: 22px; }
  .sec { padding: 50px 0; }
  .sh { margin-bottom: 30px; }
  .cat-tabs button { padding: 10px 14px; font-size: 12px; }
  .tb .tbi .tb-l { display: none; }
}

@media (max-width: 480px) {
  .pg { grid-template-columns: 1fr 1fr; gap: 8px; }
  .stats, .cert-grid, .contact-grid, .culture-grid { grid-template-columns: 1fr; }
  .hero h1 { font-size: 24px; }
  .hero .hero-btns { flex-direction: column; }
  .hero .bp, .hero .bo { width: 100%; justify-content: center; }
  .ng { grid-template-columns: 1fr; }
}
