/* ============================================================
   Parkville Plastics — Responsive rules
   ============================================================ */

@media (max-width: 1200px) {
  .apps, .catalog, .related { grid-template-columns: repeat(2, 1fr); }
  .footer__grid { grid-template-columns: 1.4fr 1fr 1fr 1.2fr; }
  .footer__grid > :nth-child(3) { display: none; }
}

@media (max-width: 1024px) {
  .about-editorial { grid-template-columns: 1fr; gap: 50px; }
  .about-editorial__media .frame { aspect-ratio: 16/10; }
  .about-editorial__media .badge { right: 20px; bottom: 20px; }

  .capability { grid-template-columns: 1fr; }
  .capability__media { min-height: 380px; }
  .capability__content { padding: 60px 40px; }

  .feature-split { grid-template-columns: 1fr; }
  .feature-split__media img { min-height: 380px; }

  .pd { grid-template-columns: 1fr; gap: 40px; }
  .pd-details { grid-template-columns: 1fr; gap: 40px; margin-top: 60px; }

  .intro-band, .cta-band .container, .contact-grid { grid-template-columns: 1fr; gap: 40px; }
  .section-head--split { grid-template-columns: 1fr; gap: 20px; }

  .product-row { grid-template-columns: 1fr; gap: 32px; padding: 40px 0; }
  .product-row--reverse .product-row__media { order: 0; }

  .nav, .header-cta .btn { display: none; }
  .nav-toggle { display: block; }

  .nav-mobile {
    position: fixed; inset: 0; z-index: 45;
    background: var(--primary);
    padding: 120px 32px 40px;
    transform: translateX(100%);
    transition: transform .5s var(--ease);
    display: flex; flex-direction: column;
    overflow-y: auto;
  }
  body.nav-open .nav-mobile { transform: translateX(0); }
  .nav-mobile a {
    color: #fff; font-size: 1.6rem; font-weight: 600;
    padding: 18px 0; border-bottom: 1px solid rgba(255,255,255,.1);
    display: block;
  }
  .nav-mobile a:hover, .nav-mobile a.active { color: var(--secondary); }
  .nav-mobile .btn { margin-top: 30px; align-self: flex-start; }
}

@media (max-width: 768px) {
  .section { padding: 70px 0; }
  h1 { font-size: clamp(2rem, 8vw, 2.8rem); }
  h2 { font-size: clamp(1.6rem, 6vw, 2rem); }

  .hero { min-height: 92vh; padding: 140px 0 100px; }
  .hero__meta { font-size: .72rem; }
  .hero p { font-size: 1rem; }
  .hero__foot { display: none; }

  .page-hero { min-height: 46vh; padding: 130px 0 50px; }

  .apps, .catalog, .related { grid-template-columns: 1fr; }
  .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; }

  .footer__grid { grid-template-columns: 1fr; gap: 40px; margin-bottom: 40px; }
  .footer__grid > :nth-child(3) { display: block; }
  .footer__bottom { flex-direction: column; align-items: flex-start; }

  .form-row { grid-template-columns: 1fr; gap: 0; }
  .form-card { padding: 30px 24px; }

  .capability__list { grid-template-columns: 1fr; }
  .capability__content { padding: 50px 28px; }

  .pd__gallery { grid-template-columns: 1fr; }
  .pd__thumbs { flex-direction: row; overflow-x: auto; }
  .pd__thumbs button { flex-shrink: 0; width: 74px; height: 74px; }

  .app-list__row { grid-template-columns: 40px 1fr 40px; gap: 20px; }
  .app-list__row p { grid-column: 1 / -1; }

  .btn { padding: 13px 22px; font-size: .9rem; }
  .about-editorial__meta { flex-direction: column; gap: 16px; }
}

@media (max-width: 480px) {
  :root { --gutter: 20px; }
  .hero__actions .btn { width: 100%; }
  .filters { overflow-x: auto; flex-wrap: nowrap; padding-bottom: 4px; }
  .filters button { flex-shrink: 0; }
}