/* Responsive layout and tweaks */

@media (max-width: 960px) {
  .nav__menu {
    position: fixed;
    inset-inline: 1rem;
    top: calc(var(--nav-height) + 0.75rem);
    border-radius: 1.25rem;
    background: rgba(15, 23, 42, 0.98);
    border: 1px solid rgba(31, 41, 55, 0.9);
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.95);
    padding: 0.8rem 0.75rem;
    flex-direction: column;
    gap: 0.35rem;
    transform-origin: top;
    transform: scaleY(0.9);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;
  }

  .nav__menu.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: scaleY(1);
  }

  .nav__link {
    padding: 0.5rem 0.65rem;
    border-radius: 0.75rem;
  }

  .nav__link--primary {
    width: 100%;
    justify-content: center;
  }

  .nav__toggle {
    display: inline-flex;
  }

  .hero__content {
    grid-template-columns: minmax(0, 1.2fr);
  }

  .hero__profile {
    order: -1;
  }

  .section__content--split {
    grid-template-columns: minmax(0, 1fr);
  }

  .section__header {
    max-width: none;
  }

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

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

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

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

@media (max-width: 720px) {
  .container {
    width: min(100% - 2rem);
  }

  .hero {
    padding-block: 4.5rem 3.5rem;
  }

  .hero__image-wrapper {
    width: 220px;
  }

  .projects__filters {
    display: flex;
    flex-wrap: wrap;
  }

  .testimonials {
    align-items: stretch;
  }

  .testimonials__control {
    display: none;
  }

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

  .contact__form-wrapper {
    padding: 1.2rem 1.1rem;
  }

  .footer__content {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 480px) {
  .hero__title {
    font-size: 2rem;
  }

  .hero__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .scroll-top {
    right: 1rem;
    bottom: 1rem;
  }
}

