.nav-toggle:checked ~ .site-header .site-nav {
  transform: translateY(0);
  opacity: 1;
}

@media (max-width: 980px) {
  .stats-grid,
  .card-grid-4,
  .card-grid-3,
  .process-grid,
  .team-grid,
  .material-grid,
  .service-grid,
  .faq-grid,
  .footer-grid,
  .contact-grid,
  .intro-grid {
    grid-template-columns: 1fr 1fr;
  }

  .hero-grid,
  .split-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .nav-toggle-label {
    display: inline-flex;
    flex-direction: column;
    gap: 4px;
    cursor: pointer;
  }

  .nav-toggle-label span {
    width: 24px;
    height: 2px;
    background: var(--dark-charcoal);
    border-radius: 2px;
  }

  .site-nav {
    position: absolute;
    top: 76px;
    left: 1rem;
    right: 1rem;
    display: grid;
    gap: 0.8rem;
    padding: 1rem;
    background: rgba(255,255,255,0.98);
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow);
    transform: translateY(-10px);
    opacity: 0;
    pointer-events: none;
    transition: var(--transition);
  }

  .site-nav a.button {
    justify-content: flex-start;
  }

  .stats-grid,
  .card-grid-4,
  .card-grid-3,
  .process-grid,
  .timeline-grid,
  .team-grid,
  .material-grid,
  .service-grid,
  .faq-grid,
  .footer-grid,
  .contact-grid,
  .intro-grid {
    grid-template-columns: 1fr;
  }

  .hero-grid,
  .hero-banner {
    padding-top: 2rem;
  }

  .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
  }

  .brand-credit {
    align-items: flex-start;
    text-align: left;
  }
}
