/* =========================================================
   RESPONSIVE — tablet & mobile recomposition
   ========================================================= */

/* ---------- TABLET ---------- */
@media (max-width: 1024px) {
  :root { --gutter: 4vw; }

  .hero { grid-template-columns: 1fr; gap: 3rem; padding-top: 8rem; }
  .hero-image { height: 55vh; order: 2; }
  .hero-content { order: 1; }
  .hero-foot { position: static; margin-top: 2rem; }

  .featured { grid-template-columns: 1fr; gap: 2.5rem; }
  .featured-image { height: 55vh; }

  .services-home { grid-template-columns: 1fr; gap: 3rem; }
  .services-side-img { height: 50vh; }

  .store-home { grid-template-columns: 1fr; gap: 2.5rem; }
  .store-img { height: 55vh; }

  .studio-home { grid-template-columns: 1fr; gap: 2.5rem; }
  .studio-img { order: 1; height: 55vh; }
  .studio-text { order: 2; }

  .cta-section { grid-template-columns: 1fr; gap: 2.5rem; }
  .cta-img { height: 50vh; }

  .collage { grid-template-rows: repeat(8, 9vw); }

  .shop-grid { grid-template-columns: repeat(2, 1fr); }
  .product .cine-img { height: 38vh; }

  .svc-block { grid-template-columns: 1fr; gap: 2.5rem; padding: 4rem 0; }
  .svc-block:nth-child(even) .svc-img { order: 1; }
  .svc-block .svc-img { height: 50vh; }

  .inquiry { grid-template-columns: 1fr; gap: 3rem; }
  .inquiry-aside { position: static; }

  .studio-bio { grid-template-columns: 1fr; gap: 2rem; }
  .contact-grid { grid-template-columns: 1fr; gap: 2rem; }

  .proto-hero { grid-template-columns: 1fr; gap: 2rem; }
  .proto-list { grid-template-columns: 1fr; }
  .compare { grid-template-columns: 1fr; }
  .compare .col-current { border-right: none; border-bottom: 1px solid var(--border); }

  .work-item.offset, .work-item.offset-l { width: 100%; }
}

/* ---------- MOBILE ---------- */
@media (max-width: 700px) {
  :root { --gutter: 5vw; }

  .section { padding: 6rem var(--gutter); }
  .page-hero { padding: 9rem var(--gutter) 3rem; }
  .page-intro { padding-bottom: 3rem; }

  .nav-links { display: none; }
  .menu-trigger { display: inline-flex; align-items: center; }
  .desktop-only { display: none; }
  .work-item.offset, .work-item.offset-l { width: 100%; margin-left: 0; }

  .studio-intro {
    grid-template-columns: 1fr;
    padding-top: 9rem;
    gap: 2rem;
  }
  .studio-intro .studio-portrait {
    height: 52vh;
    width: 100%;
  }
  .studio-brand {
    font-size: clamp(2.3rem, 11vw, 4rem);
  }

  .hero {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 10rem var(--gutter) 1.5rem;
    gap: 1.4rem;
  }
  .hero-content {
    order: 1;
    min-height: auto;
    gap: 0.9rem;
    width: 100%;
    margin-top: 1.4rem;
  }
  .hero-content .label { display: none; }
  .hero-image {
    order: 2;
    height: 46vh;
    width: 100%;
    margin-top: 2.2rem;
  }
  .hero h1 {
    font-size: clamp(2.8rem, 12vw, 4.5rem);
    margin: 0;
    text-align: left;
  }
  .hero-foot {
    order: 3;
    position: static;
    margin-top: 2.5rem;
    justify-content: flex-start;
    width: 100%;
  }
  .scroll-ind {
    display: flex;
    font-size: 0.62rem;
    letter-spacing: 0.16em;
    margin-left: 0;
  }

  .featured-image, .store-img, .studio-img, .cta-img,
  .services-side-img, .pd-hero, .studio-portrait { height: 48vh; }
  .pd-seq .cine-img, .pd-seq .cine-img.half { height: 45vh; width: 100%; }

  .collage {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: repeat(6, 38vw);
    gap: 0.8rem;
  }
  .collage .c1 { grid-column: 1 / 3; grid-row: 1 / 3; }
  .collage .c2 { grid-column: 1 / 2; grid-row: 3 / 6; }
  .collage .c3 { grid-column: 2 / 3; grid-row: 3 / 5; }
  .collage .c4 { display: none; }
  .collage .c5 { grid-column: 2 / 3; grid-row: 5 / 7; }
  .collage .c6 { grid-column: 1 / 2; grid-row: 6 / 7; }

  .shop-grid { grid-template-columns: 1fr; gap: 3rem; }
  .product .cine-img { height: 50vh; }

  .work-gallery { gap: 5rem; }
  .work-item.wide .cine-img, .work-item.tall .cine-img,
  .work-item.med .cine-img { height: 45vh; }

  .form-wrap { padding: 1.8rem 1.4rem; }
  .choice-grid { grid-template-columns: 1fr; }
  .field-row { grid-template-columns: 1fr; gap: 1.5rem; }

  .studio-statement { padding: 2rem var(--gutter); }
  .contact-social { gap: 1.2rem; }
  .footer-cols { gap: 2.5rem; }

  .proto-included, .proto-why, .proto-cta { padding: 4rem var(--gutter); }

  .cart-bar { top: auto; bottom: 1.5rem; right: 1.5rem; }
}

/* ---------- REDUCED MOTION ---------- */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .reveal-right, .reveal-left, .reveal-up {
    transform: none !important;
    opacity: 1 !important;
    transition: opacity 0.4s ease !important;
  }
  .cine-img img { transform: none !important; transition: none !important; }
  .hero-image img { transform: none !important; }
  * { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; }
}
