/* ===== PACKING CAPSULES PAGE ===== */

/* Intro */
.pack-intro {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: clamp(4rem, 8vw, 7rem) var(--pad);
  text-align: center;
}
.pack-intro__inner {
  max-width: 720px;
  margin: 0 auto;
}
.pack-intro__headline {
  font-family: var(--serif);
  font-size: clamp(1.8rem, 3.5vw, 2.6rem);
  font-weight: 400;
  line-height: 1.15;
  margin-bottom: 2rem;
}
.pack-intro__body p {
  font-size: 1.02rem;
  line-height: 1.7;
  color: rgba(0, 0, 0, 0.7);
}
.pack-intro__body p + p {
  margin-top: 1.2rem;
}

/* Gallery — horizontal filmstrip */
.pack-gallery {
  background: var(--paper-pure);
  padding: clamp(4rem, 8vw, 7rem) 0;
  overflow: hidden;
}
.pack-gallery__header {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 var(--pad);
  text-align: center;
}
.pack-gallery__title {
  font-family: var(--serif);
  font-size: clamp(1.8rem, 3.5vw, 2.6rem);
  font-weight: 400;
  margin-bottom: clamp(2.5rem, 5vw, 4rem);
}
.pack-gallery .eyebrow {
  margin-bottom: 1rem;
}
/* Strip wrapper — positioning context for arrows */
.pack-gallery__strip-wrap {
  position: relative;
}
.pack-gallery__strip {
  display: flex;
  gap: clamp(1.2rem, 2.5vw, 2rem);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  padding: 0 var(--pad);
  scrollbar-width: none;
}
.pack-gallery__strip::-webkit-scrollbar { display: none; }

/* Arrow overrides for packing page (reuses og-filmstrip-arrow from origin.css) */
.pack-gallery .og-filmstrip-arrow { top: 42%; }
.pack-gallery .og-filmstrip-arrow--left { left: calc(var(--pad) + 0.75rem); }
.pack-gallery .og-filmstrip-arrow--right { right: calc(var(--pad) + 0.75rem); }
.pack-gallery__item {
  flex: 0 0 auto;
  width: clamp(280px, 38vw, 520px);
  scroll-snap-align: start;
  position: relative;
  overflow: hidden;
  border-radius: 4px;
}
.pack-gallery__item img {
  width: 100%;
  height: auto;
  display: block;
  background: #fff;
  transition: transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}
.pack-gallery__item:hover img {
  transform: scale(1.04);
}
.pack-gallery__item figcaption {
  font-family: var(--sans);
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(0, 0, 0, 0.45);
  margin-top: 0.8rem;
  padding: 0 0.2rem;
}

/* CTA */
.pack-cta {
  background: var(--black);
  color: #fff;
  padding: clamp(5rem, 10vw, 9rem) var(--pad);
  text-align: center;
}
.pack-cta__inner {
  max-width: 600px;
  margin: 0 auto;
}
.pack-cta .section-title {
  margin-bottom: 1.6rem;
}
.pack-cta p {
  font-size: 1.05rem;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.72);
  margin-bottom: 2.5rem;
}
.pack-cta .btn {
  color: #fff;
}
.pack-cta .btn::after {
  background: #fff;
}
.pack-cta .btn::before {
  color: #fff;
}

/* Override services grid to 2x2 on packing page */
.pack-services .services__list {
  grid-template-columns: repeat(2, 1fr);
}

@media (max-width: 600px) {
  .pack-gallery__item {
    width: 80vw;
  }
  .pack-services .services__list {
    grid-template-columns: 1fr;
  }
}
