/* ============================================
   GAMER EVENTS — Responsive Breakpoints
   Mobile-first: 480 / 768 / 1024 / 1280
   ============================================ */

/* --- Base (0–479px): Small phones --- */

/* Navigation: hamburger mode */
.site-nav__links { display: none; }
.site-nav__cta { display: none; }
.nav__hamburger { display: flex; }

/* Hero */
.hero__content { padding-left: var(--container-px); padding-right: var(--container-px); }
.hero__heading { font-size: clamp(2rem, 10vw, 3.5rem); }
.hero__ctas { flex-direction: column; }
.hero__ctas .btn { width: 100%; }

/* Cube section */
.cube-section__inner {
  grid-template-columns: 1fr;
  gap: 2rem;
  text-align: center;
}
.cube-wrapper {
  width: 220px;
  height: 220px;
  margin: 0 auto;
}
.cube__face--front  { transform: translateZ(110px); }
.cube__face--back   { transform: rotateY(180deg) translateZ(110px); }
.cube__face--right  { transform: rotateY(90deg) translateZ(110px); }
.cube__face--left   { transform: rotateY(-90deg) translateZ(110px); }
.cube__face--top    { transform: rotateX(90deg) translateZ(110px); }
.cube__face--bottom { transform: rotateX(-90deg) translateZ(110px); }

.cube-text-panel { padding: 1rem; }

/* Who We Are */
.who-we-are__grid {
  grid-template-columns: 1fr;
  gap: 2rem;
}
.who-we-are__text { text-align: center; }
.who-we-are .section-body { margin-inline: auto; }

/* About split */
.about-split {
  grid-template-columns: 1fr;
  gap: 2rem;
}

/* Services icons */
.services-icons__grid {
  grid-template-columns: 1fr;
}
.services-icons__bottom-row {
  grid-template-columns: 1fr;
}

/* Events collage */
.events-collage__grid {
  grid-template-columns: 1fr;
}
.events-collage__grid .collage-card,
.events-collage__grid .collage-card:nth-child(4),
.events-collage__grid .collage-card:nth-child(5) {
  grid-column: auto;
}

/* Contact card */
.contact-section { height: auto; min-height: 500px; }
.contact-card {
  position: relative;
  bottom: auto;
  left: auto;
  transform: none;
  width: calc(100% - 2rem);
  margin: 1rem;
  grid-template-columns: 1fr;
}

/* Footer */
.footer__main {
  grid-template-columns: 1fr;
  gap: 2rem;
}

/* Events page sections */
.event-section__inner {
  grid-template-columns: 1fr;
  gap: 2rem;
}
.event-section:nth-child(even) .event-section__visual {
  order: 0;
}

/* Services grid */
.services-grid__inner {
  grid-template-columns: 1fr;
}

/* Gallery grid */
.gallery-grid {
  grid-template-columns: 1fr;
}
.video-grid {
  grid-template-columns: 1fr;
}

/* Page hero */
.page-hero { min-height: 40vh; }
.page-hero__truck { display: none; }

/* Icon strip */
.icon-strip { gap: 1.5rem; }

/* Quote form */
.quote-form__row {
  grid-template-columns: 1fr;
}

/* Numbered services (about page) */
.numbered-services {
  grid-template-columns: 1fr;
}

/* ============================================
   480px+ — Large phones
   ============================================ */
@media (min-width: 480px) {
  .services-icons__grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .events-collage__grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .events-collage__grid .collage-card,
  .events-collage__grid .collage-card:nth-child(4),
  .events-collage__grid .collage-card:nth-child(5) {
    grid-column: auto;
  }
  .gallery-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* ============================================
   768px+ — Tablets
   ============================================ */
@media (min-width: 768px) {
  /* Navigation */
  .site-nav__links { display: flex; }
  .site-nav__cta { display: flex; }
  .nav__hamburger { display: none; }

  /* Hero */
  .hero__heading { font-size: clamp(2.5rem, 7vw, 5rem); }
  .hero__ctas { flex-direction: row; }
  .hero__ctas .btn { width: auto; }

  /* Cube */
  .cube-wrapper {
    width: 280px;
    height: 280px;
  }
  .cube__face--front  { transform: translateZ(140px); }
  .cube__face--back   { transform: rotateY(180deg) translateZ(140px); }
  .cube__face--right  { transform: rotateY(90deg) translateZ(140px); }
  .cube__face--left   { transform: rotateY(-90deg) translateZ(140px); }
  .cube__face--top    { transform: rotateX(90deg) translateZ(140px); }
  .cube__face--bottom { transform: rotateX(-90deg) translateZ(140px); }

  /* Who We Are */
  .who-we-are__grid {
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
  }
  .who-we-are__text { text-align: left; }
  .who-we-are .section-body { margin-inline: 0; }

  /* About split */
  .about-split {
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
  }

  /* Services icons */
  .services-icons__grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .services-icons__bottom-row {
    grid-template-columns: repeat(3, 1fr);
  }

  /* Events collage */
  .events-collage__grid {
    grid-template-columns: repeat(6, 1fr);
  }
  .events-collage__grid .collage-card {
    grid-column: span 2;
  }
  .events-collage__grid .collage-card:nth-child(4) {
    grid-column: 2 / span 2;
  }
  .events-collage__grid .collage-card:nth-child(5) {
    grid-column: 4 / span 2;
  }

  /* Contact card */
  .contact-section { height: 600px; }
  .contact-card {
    position: absolute;
    bottom: 2rem;
    left: 50%;
    transform: translateX(-50%);
    width: 90%;
    grid-template-columns: 1fr 1fr;
  }

  /* Footer */
  .footer__main {
    grid-template-columns: repeat(2, 1fr);
  }

  /* Events page */
  .event-section__inner {
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
  }
  .event-section:nth-child(even) .event-section__visual {
    order: -1;
  }

  /* Services grid */
  .services-grid__inner {
    grid-template-columns: repeat(2, 1fr);
  }

  /* Gallery */
  .gallery-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .video-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  /* Page hero */
  .page-hero { min-height: 50vh; }
  .page-hero__truck { display: block; }

  /* Quote form */
  .quote-form__row {
    grid-template-columns: 1fr 1fr;
  }

  /* Numbered services */
  .numbered-services {
    grid-template-columns: 1fr 1fr;
  }
}

/* ============================================
   1024px+ — Small desktops
   ============================================ */
@media (min-width: 1024px) {
  /* Cube */
  .cube-section__inner {
    grid-template-columns: 1fr 1fr;
    text-align: left;
  }
  .cube-wrapper {
    width: 320px;
    height: 320px;
  }
  .cube__face--front  { transform: translateZ(160px); }
  .cube__face--back   { transform: rotateY(180deg) translateZ(160px); }
  .cube__face--right  { transform: rotateY(90deg) translateZ(160px); }
  .cube__face--left   { transform: rotateY(-90deg) translateZ(160px); }
  .cube__face--top    { transform: rotateX(90deg) translateZ(160px); }
  .cube__face--bottom { transform: rotateX(-90deg) translateZ(160px); }

  /* Who We Are — no special overrides needed at 1024 */
  .who-we-are__grid {
  }

  /* Events collage */
  .events-collage__arch {
    clip-path: ellipse(55vw 100% at 50% 0%);
  }

  /* Footer */
  .footer__main {
    grid-template-columns: 1.5fr 1fr 1fr 1fr;
  }

  /* Events page sections — larger gaps */
  .event-section__inner {
    gap: 4rem;
  }
}

/* ============================================
   1280px+ — Standard desktops
   ============================================ */
@media (min-width: 1280px) {
  .hero__heading { font-size: var(--fs-hero); }

  .cube-wrapper {
    width: 350px;
    height: 350px;
  }
  .cube__face--front  { transform: translateZ(175px); }
  .cube__face--back   { transform: rotateY(180deg) translateZ(175px); }
  .cube__face--right  { transform: rotateY(90deg) translateZ(175px); }
  .cube__face--left   { transform: rotateY(-90deg) translateZ(175px); }
  .cube__face--top    { transform: rotateX(90deg) translateZ(175px); }
  .cube__face--bottom { transform: rotateX(-90deg) translateZ(175px); }
}

/* ============================================
   Touch Device Overrides
   ============================================ */
@media (hover: none) {
  .cursor-dot,
  .cursor-ring,
  .cursor-particle {
    display: none !important;
  }
  body {
    cursor: auto;
  }
  .btn, a, button, .nav__hamburger {
    cursor: pointer;
  }
}
