/* =========================================
   TABLET
========================================= */

@media (max-width: 900px) {

  .nav-links,
  .nav-button {
    display: none;
  }

  .mobile-menu-button {
    display: block;
  }

  .mobile-nav {
    display: none;

    flex-direction: column;

    padding: 20px 24px 30px;

    background: rgba(9,9,11,0.98);

    border-top:
      1px solid rgba(255,255,255,0.08);
  }

  .mobile-nav.open {
    display: flex;
  }

  .mobile-nav a {
    padding: 14px 0;

    border-bottom:
      1px solid rgba(255,255,255,0.07);

    font-size: 14px;
  }


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


  .featured-wrapper {
    grid-template-columns: 1fr;

    gap: 60px;
  }


  .featured-visual {
    min-height: 400px;
  }


  .visual-card {
    width: 60%;
  }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 600px) {

  .container {
    width: min(
      calc(100% - 32px),
      var(--container)
    );
  }


  .navbar {
    height: 75px;
  }


  .hero-content {
    padding-top: 100px;
  }


  .hero h1 {
    font-size: clamp(
      52px,
      16vw,
      80px
    );

    letter-spacing: -4px;
  }


  .hero-description {
    font-size: 15px;
  }


  .hero-actions {
    flex-direction: column;

    align-items: flex-start;
  }


  .hero-scroll {
    display: none;
  }


  .section {
    padding: 80px 0;
  }


  .section-heading {
    flex-direction: column;

    align-items: flex-start;

    gap: 20px;

    margin-bottom: 35px;
  }


  .section-heading h2 {
    font-size: 43px;
  }


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


  .event-image,
  .event-image-placeholder {
    height: 240px;
  }


  .featured-section {
    padding: 80px 0;
  }


  .featured-content h2 {
    font-size: 43px;
  }


  .featured-visual {
    min-height: 330px;
  }


  .visual-card {
    width: 70%;
  }


  .visual-card-content strong {
    font-size: 36px;
  }


  .moments-section {
    padding: 80px 0;
  }


  .featured-video {
    min-height: 320px;

    margin-top: 35px;
  }


  .video-placeholder {
    min-height: 320px;
  }


  .featured-video video {
    height: 320px;
  }


  .about-preview {
    padding: 80px 0;
  }


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

    gap: 15px;
  }


  .about-number {
    font-size: 50px;
  }


  .about-content h2 {
    font-size: 43px;

    letter-spacing: -3px;
  }


  .cta-section {
    padding: 90px 0;
  }


  .cta-content h2 {
    font-size: 48px;

    letter-spacing: -3px;
  }


  .footer-main {
    flex-direction: column;
  }


  .footer-links {
    gap: 60px;
  }


  .footer-bottom {
    flex-direction: column;

    margin-top: 40px;
  }

}

/* =========================================
   EVENT MEDIA - MOBILE
========================================= */

@media (max-width: 768px) {

  .event-media-section {
    margin-top: 55px;
  }


  .event-media-heading {
    align-items: flex-start;

    gap: 20px;
  }


  .event-media-heading h2 {
    font-size: 42px;
  }


  .event-media-count {
    padding-top: 8px;
  }


  .event-media-featured {
    aspect-ratio: 4 / 3;

    border-radius: 12px;
  }


  .event-media-grid {
    grid-template-columns:
      repeat(2, 1fr);

    gap: 8px;

    margin-top: 8px;
  }


  .event-media-item,
  .event-media-item:nth-child(3n + 1),
  .event-media-item:nth-child(3n + 2),
  .event-media-item:nth-child(3n) {
    aspect-ratio: 1 / 1;
  }


  .event-media-play {
    width: 48px;

    height: 48px;

    font-size: 14px;
  }


  .event-media-expand {
    width: 32px;

    height: 32px;

    right: 10px;

    bottom: 10px;

    font-size: 14px;

    opacity: 1;

    transform: none;
  }


  .media-lightbox {
    padding: 60px 15px;
  }


  .lightbox-content img,
  .lightbox-content video {
    max-width: 100%;

    max-height: 75vh;

    border-radius: 5px;
  }


  .lightbox-arrow {
    width: 42px;

    height: 42px;

    font-size: 30px;
  }


  .lightbox-prev {
    left: 10px;
  }


  .lightbox-next {
    right: 10px;
  }


  .lightbox-close {
    top: 15px;

    right: 15px;

    width: 40px;

    height: 40px;

    font-size: 25px;
  }

}

/* =========================================
   EVENT MEDIA — MOBILE
========================================= */

@media (max-width: 768px) {

  .event-media-heading {
    align-items: flex-start;

    flex-direction: column;

    gap: 10px;
  }


  .event-media-count {
    font-size: 11px;
  }


  .event-media-gallery {
    grid-template-columns:
      repeat(2, 1fr);

    grid-auto-rows:
      150px;

    gap: 8px;
  }


  .media-card:first-child {
    grid-column: span 2;

    grid-row: span 2;
  }

}


@media (max-width: 480px) {

  .event-media-gallery {
    grid-auto-rows:
      130px;
  }


  .media-card:first-child {
    grid-row: span 2;
  }


  .media-play {
    width: 45px;

    height: 45px;

    font-size: 13px;
  }

}