@media (max-width: 1200px) {
  .hero {
    gap: 2.2rem;
  }

  .about-section {
    grid-template-columns: 1fr;
  }

  .projects-grid {
    grid-template-columns: 1fr 1fr;
  }

  .skills-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 992px) {
  .hero {
    grid-template-columns: 1fr;
    text-align: center;
    padding-top: 3rem;
  }

  .hero-content {
    max-width: 720px;
    margin: 0 auto;
  }

  .hero-actions,
  .social-links {
    justify-content: center;
  }

  .hero-visual {
    min-height: 440px;
  }
}

@media (max-width: 768px) {
  .nav-toggle {
    display: block;
  }

  .projects-grid {
    grid-template-columns: 1fr;
  }

  .nav-links {
    position: absolute;
    top: calc(100% + 0.8rem);
    left: 1rem;
    right: 1rem;
    flex-direction: column;
    align-items: flex-start;
    padding: 1rem 1.1rem;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: rgba(2, 6, 23, 0.95);
    opacity: 0;
    pointer-events: none;
    transform: translateY(-8px);
    transition: all 0.25s ease;
  }

  .nav-links.open {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }

  .hero {
    padding-top: 2.5rem;
  }

  .profile-card {
    width: min(320px, 84vw);
  }
}

@media (max-width: 576px) {
  .nav {
    padding: 0.95rem 1rem;
    border-radius: 24px;
  }

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

  .footer-bottom-inner {
    flex-direction: column;
    gap: 0.4rem;
    text-align: center;
  }

  .brand-logo {
    width: 150px;
  }

  .hero h1 {
    font-size: 2.2rem;
  }

  .hero h2 {
    font-size: 1.05rem;
  }

  .hero-copy {
    font-size: 0.95rem;
  }

  .btn {
    width: 100%;
  }

  .hero-actions {
    flex-direction: column;
  }

  .about-grid {
    grid-template-columns: 1fr;
  }

  .project-body {
    padding: 1rem;
  }

  .project-image {
    height: 220px;
    min-height: 220px;
    padding: 0.7rem;
  }

  .skills-grid {
    grid-template-columns: 1fr;
  }

  .contact-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 390px) {
  .container {
    width: min(100% - 1rem, 1160px);
  }

  .profile-card {
    width: min(280px, 82vw);
    padding: 0.7rem;
  }

  .project-image {
    height: 200px;
    min-height: 200px;
  }
}

@media (max-width: 375px) {
  .brand-logo {
    width: 135px;
  }
}

@media (max-width: 320px) {
  .hero {
    padding-top: 2rem;
  }

  .hero-visual {
    min-height: 360px;
  }

  .back-to-top {
    width: 2.7rem;
    height: 2.7rem;
    right: 0.8rem;
    bottom: 0.8rem;
  }
}
