/* ==========================================================================
   Aurelia Textile — Responsive Overrides (mobile-first, loaded last)
   ========================================================================== */

@media (max-width: 1024px) {
  .hero__grid,
  .lab__grid,
  .footer__grid {
    grid-template-columns: 1fr;
  }

  .hero__art {
    order: -1;
    margin-bottom: var(--space-6);
  }

  .hero__caption {
    position: static;
    text-align: left;
    margin-top: var(--space-4);
  }

  .lab__art {
    margin-top: var(--space-8);
  }

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

  .builder__controls {
    padding: var(--space-6);
  }

  .builder__specimen {
    min-height: 320px;
  }
}

@media (max-width: 860px) {
  .collection__header,
  .impact__header {
    grid-template-columns: 1fr;
  }

  .collection__desc,
  .impact__desc {
    text-align: left;
    margin-left: 0;
  }

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

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

  .stat {
    border-left: none;
    border-top: 1px solid var(--divider);
    padding-left: 0;
  }

  .stat:first-child {
    border-top: none;
  }

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

/* Below 1024px the side rail turns into a drawer, so the pill nav needs the
   hamburger that opens it. */
@media (max-width: 1023px) {
  .nav__toggle {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
  }

  .nav__toggle[aria-expanded="true"] .nav__toggle-bar:nth-child(1) {
    transform: translateY(6px) rotate(45deg);
  }

  .nav__toggle[aria-expanded="true"] .nav__toggle-bar:nth-child(2) {
    opacity: 0;
  }

  .nav__toggle[aria-expanded="true"] .nav__toggle-bar:nth-child(3) {
    transform: translateY(-6px) rotate(-45deg);
  }
}

@media (max-width: 768px) {
  .nav {
    top: var(--space-2);
    padding: var(--space-2);
    flex-wrap: wrap;
  }

  /* Desktop mega-menu is replaced by the rail drawer on mobile/touch. */
  .nav__links {
    display: none;
  }

  .nav__cta .btn__text {
    display: none;
  }

  .section-inner {
    padding-block: clamp(3rem, 12vw, 5rem);
  }

  .collection__tabs {
    flex-wrap: wrap;
  }

  .collection__footer,
  .impact__footer,
  .utility-bar__inner {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-3);
  }
}

@media (max-width: 480px) {
  .hero__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .hero__actions .btn {
    justify-content: center;
  }

  .swatch-circle-btn,
  .pill-toggle__item,
  .btn {
    min-height: 44px;
  }
}
