/* ══════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════ */

@media (max-width: 1100px) {
  .projects-grid,
  .projects-grid-full,
  .blog-grid { grid-template-columns: 1fr 1fr; }
  .services-grid { grid-template-columns: 1fr 1fr; }
  .process-steps { grid-template-columns: 1fr 1fr; }
  .about-layout { grid-template-columns: 240px 1fr; gap: 48px; }
  .project-detail-layout { grid-template-columns: 1fr 240px; gap: 40px; }
  .post-layout { grid-template-columns: 1fr 220px; gap: 40px; }
}

@media (max-width: 900px) {
  nav { padding: 0 28px; }
  body.menu-open { overflow: hidden; }
  nav.menu-open {
    background: #000;
    border-bottom-color: rgba(232,255,71,0.22);
    backdrop-filter: none;
  }
  .nav-links {
    display: flex;
    flex-direction: column;
    position: fixed;
    inset: var(--nav-h) 0 0 0;
    align-items: stretch;
    justify-content: flex-start;
    min-height: calc(100dvh - var(--nav-h));
    padding: 34px 32px 120px;
    gap: 0;
    background:
      linear-gradient(90deg, rgba(232,255,71,0.08) 1px, transparent 1px) 0 0 / 56px 56px,
      #000;
    z-index: 199;
    border-top: 1px solid rgba(232,255,71,0.16);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    overflow-y: auto;
    transform: translateY(-12px);
    transition:
      opacity .28s ease,
      transform .34s cubic-bezier(.2,.8,.2,1),
      visibility 0s linear .34s;
  }
  .nav-links::before {
    content: 'MENU';
    font-family: var(--font-mono);
    font-size: 10px;
    color: var(--accent);
    letter-spacing: 0.24em;
    margin-bottom: 18px;
  }
  .nav-links.open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
    transition-delay: 0s;
  }
  .nav-links li {
    border-bottom: 1px solid rgba(255,255,255,0.1);
    opacity: 0;
    transform: translateX(-16px);
    transition:
      opacity .28s ease,
      transform .34s cubic-bezier(.2,.8,.2,1);
  }
  .nav-links.open li {
    opacity: 1;
    transform: translateX(0);
  }
  .nav-links.open li:nth-child(1) { transition-delay: .05s; }
  .nav-links.open li:nth-child(2) { transition-delay: .09s; }
  .nav-links.open li:nth-child(3) { transition-delay: .13s; }
  .nav-links.open li:nth-child(4) { transition-delay: .17s; }
  .nav-links.open li:nth-child(5) { transition-delay: .21s; }
  .nav-links.open li:nth-child(6) { transition-delay: .25s; }
  .nav-links a {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 16px 0;
    font-family: var(--font-head);
    font-size: clamp(34px, 12vw, 56px);
    line-height: 0.95;
    letter-spacing: 1px;
    color: #fff;
    text-transform: uppercase;
  }
  .nav-links a::after {
    bottom: 8px;
    height: 2px;
  }
  .nav-cta { display: none; }
  .nav-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border: 1px solid rgba(255,255,255,0.14);
    background: rgba(255,255,255,0.04);
    transition: border-color .2s, background .2s, color .2s;
  }
  nav.menu-open .nav-toggle {
    color: var(--accent);
    border-color: rgba(232,255,71,0.45);
    background: rgba(232,255,71,0.08);
  }

  .section { padding: 72px 28px; }
  #hero { padding: 76px 28px 64px; }
  .page-hero { padding: 60px 28px 48px; }
  footer { padding: 48px 28px 0; }

  .about-grid { grid-template-columns: 1fr; gap: 48px; }
  .about-layout { grid-template-columns: 1fr; }
  .about-sidebar-sticky { position: static; }

  .contact-layout { grid-template-columns: 1fr; gap: 48px; }
  .construction-zone::before,
  .construction-zone::after {
    width: min(860px, 136%);
  }
  .project-detail-layout { grid-template-columns: 1fr; }
  .project-detail-sidebar { position: static; }
  .post-layout { grid-template-columns: 1fr; }
  .post-sidebar { position: static; }

  .footer-top { grid-template-columns: 1fr 1fr; }

  .blog-featured { grid-template-columns: 1fr; }
  .services-full-grid { grid-template-columns: 1fr; }
  .edu-grid { grid-template-columns: 1fr; }
  .testimonials-grid { grid-template-columns: 1fr; }
  .related-projects { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 640px) {
  .section { padding: 56px 20px; }
  #hero { padding: 72px 20px 56px; }
  .page-hero { padding: 48px 20px 40px; }
  footer { padding: 40px 20px 0; }
  nav { padding: 0 20px; }

  .projects-grid,
  .projects-grid-full,
  .blog-grid { grid-template-columns: 1fr; }
  .services-grid { grid-template-columns: 1fr; }
  .process-steps { grid-template-columns: 1fr 1fr; }
  .footer-top { grid-template-columns: 1fr; gap: 32px; }
  .hero-actions { flex-direction: column; }
  .hero-actions .btn { width: 100%; justify-content: center; }
  .section-header { flex-direction: column; align-items: flex-start; gap: 16px; }
  .filter-bar { gap: 6px; }
  .form-row { grid-template-columns: 1fr; }
  .construction-notice {
    width: calc(100% - 28px);
    padding: 18px 18px 16px;
  }
  .construction-tape {
    font-size: 10px;
    letter-spacing: 0.14em;
  }
  .construction-notice p {
    font-size: 12px;
  }
  .construction-zone::before,
  .construction-zone::after {
    top: 50%;
    height: 34px;
    width: 156%;
  }
  .related-projects { grid-template-columns: 1fr; }
  .not-found-links { flex-direction: column; align-items: center; }
  .author-card { flex-direction: column; }
}

@media (max-width: 400px) {
  .stats-row { flex-wrap: wrap; gap: 16px; }
  .process-steps { grid-template-columns: 1fr; }
}
