/* ==========================================================================
   Responsive — 320px through 1920px+. Shared section container stays the same.
   ========================================================================== */

@media (min-width: 1440px) {
  :root { --container: 1280px; }
}

@media (max-width: 1180px) {
  .main-nav { gap: var(--spacing-md); }
  .header-social { display: none; }
  .package-grid--compact { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 1024px) {
  .about-split, .about-split--reverse, .intro { grid-template-columns: 1fr; }
  .about-split__image, .intro__image { max-width: 460px; width: 100%; }
  .about-split--reverse .about-split__image { order: -1; }

  .contact-layout { grid-template-columns: 1fr; gap: var(--spacing-lg); }

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

  .work-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .work-grid .item-1,
  .work-grid .item-2,
  .work-grid .item-3,
  .work-grid .item-4,
  .work-grid .item-5,
  .work-grid .item-6 {
    grid-column: span 1;
    aspect-ratio: 4 / 5;
  }

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

  .footer-grid { grid-template-columns: 1.4fr 1fr 1fr; }
}

@media (max-width: 900px) {
  .main-nav__list, .header-social { display: none; }
  .menu-toggle { display: block; }

  .footer-grid { grid-template-columns: 1fr 1fr; row-gap: var(--spacing-lg); }
  .footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 768px) {
  :root { --spacing-xl: 80px; --spacing-xxl: 112px; }

  .section { padding-block: var(--spacing-xl); }
  .section--page-start { padding-top: 128px; }

  .hero__meta { flex-direction: column; align-items: stretch; gap: var(--spacing-sm); }
  .hero__meta .btn { align-self: flex-start; }
  .hero__tags br { display: inline; }
  .hero__content { padding-bottom: var(--spacing-lg); }

  .numbered__item { grid-template-columns: 44px minmax(0, 1fr); gap: 12px; }
  .package-grid--compact { gap: var(--spacing-md); }

  .form-row { grid-template-columns: 1fr; gap: 0; }

  .lightbox__prev, .lightbox__next { padding: 10px; }
  .lightbox__close { top: var(--spacing-sm); right: var(--spacing-sm); }
  .site-footer { padding-bottom: 104px; }
}

@media (max-width: 640px) {
  .sticky-cta {
    right: 12px;
    bottom: 14px;
  }
  .sticky-cta__btn {
    width: 48px;
    height: 48px;
  }
  .sticky-cta__panel {
    position: fixed;
    right: 12px;
    left: 12px;
    bottom: 76px;
    width: auto;
  }
}

@media (max-width: 480px) {
  :root { --gutter: 18px; }

  .site-header { padding-block: 18px; }
  .hero__title { font-size: clamp(44px, 16vw, 72px); }
  .hero__tags { letter-spacing: 0.08em; font-size: 12px; }

  .footer-grid { grid-template-columns: 1fr; }
  .footer-bottom { flex-direction: column; align-items: flex-start; }

  .package-grid--compact,
  .simple-grid,
  .work-grid {
    grid-template-columns: 1fr;
  }

  .cta-row { gap: 12px; }
  .cta-row .btn,
  .section-actions .btn { width: 100%; }
}

@media (hover: none) {
  .ph__caption {
    opacity: 1;
    transform: none;
    background: linear-gradient(180deg, rgba(0,0,0,0) 30%, rgba(0,0,0,0.58) 100%);
  }
}
