/* Media Queries for Bento Grid & Responsive Design */

@media screen and (max-width: 1024px) {
  /* Tablet / Smaller Desktop */
  .about-box { grid-column: span 12; grid-row: auto; }
  .skills-box { grid-column: span 12; grid-row: auto;}
  
  .project-large { grid-column: span 12; grid-row: span 1; }
  .project-medium { grid-column: span 6; grid-row: span 1; }
  .project-small { grid-column: span 6; grid-row: span 1; }
}

@media screen and (max-width: 768px) {
  /* Mobile Landscape / Small Tablet */
  main {
    padding-bottom: 15vh; /* extra padding for floating nav */
  }

  .nav-container {
    gap: 1rem;
    padding: 0.5rem 1rem;
  }
  
  .nav-logo {
    display: none; /* Hide logo on mobile to save space */
  }

  .bento-box {
    padding: 1.5rem;
  }

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

  .project-medium, .project-small { 
    grid-column: span 12; 
  }

  .contact-box {
    padding: 3rem 1rem;
  }

  .contact-pill {
    padding: 0.8rem 2rem;
    width: 100%;
    margin-bottom: 0.5rem;
  }
}

@media screen and (max-width: 480px) {
  /* Mobile Portrait */
  .nav-container {
    width: 90vw;
    justify-content: space-between;
  }

  .nav-links {
    gap: 1rem;
  }

  .nav-link {
    font-size: 0.85rem;
  }

  .marquee-track span {
    font-size: 25vw;
  }

  #hero {
    min-height: 70vh;
  }
  
  .btn-primary {
    width: 100%;
    justify-content: center;
  }
}