/* ============================================
   STORY STRIP — Horizontal scrolling photo reel
   ============================================ */

.story-strip {
  padding: 40px 0 var(--section-pad-mobile);
  overflow: hidden;
}

.story-strip__header {
  padding: 0 var(--side-pad);
  margin-bottom: 48px;
}

.story-strip__eyebrow {
  margin-bottom: 16px;
}

.story-strip__title {
  font-family: var(--font-display);
  font-size: 36px;
  font-weight: 300;
  line-height: 1.1;
  color: var(--charcoal);
}

.story-strip__track-wrapper {
  position: relative;
  cursor: grab;
}

.story-strip__track-wrapper:active {
  cursor: grabbing;
}

.story-strip__track {
  display: flex;
  gap: 16px;
  padding: 0 var(--side-pad);
  will-change: transform;
  user-select: none;
}

.story-strip__item {
  flex-shrink: 0;
  overflow: hidden;
  position: relative;
}

.story-strip__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
  transition: opacity 0.4s ease;
}

.story-strip__item:hover img {
  opacity: 0.92;
}

/* Mixed aspect ratios */
.story-strip__item--portrait {
  width: 260px;
  height: 360px;
}

.story-strip__item--landscape {
  width: 420px;
  height: 300px;
}

.story-strip__item--square {
  width: 300px;
  height: 300px;
}

.story-strip__item--wide {
  width: 500px;
  height: 320px;
}

/* Progress bar */
.story-strip__progress {
  margin: 32px var(--side-pad) 0;
  height: 1px;
  background: var(--linen);
  position: relative;
}

.story-strip__progress-bar {
  height: 100%;
  background: var(--gold);
  width: 30%;
  transition: width 0.1s linear;
}

@media (min-width: 768px) {
  .story-strip {
    padding: 60px 0 var(--section-pad-desktop);
  }

  .story-strip__header {
    padding: 0 40px;
    margin-bottom: 56px;
  }

  .story-strip__title {
    font-size: 56px;
  }

  .story-strip__track {
    gap: 24px;
    padding: 0 40px;
  }

  .story-strip__item--portrait {
    width: 340px;
    height: 460px;
  }

  .story-strip__item--landscape {
    width: 560px;
    height: 380px;
  }

  .story-strip__item--square {
    width: 400px;
    height: 400px;
  }

  .story-strip__item--wide {
    width: 640px;
    height: 400px;
  }

  .story-strip__progress {
    margin: 48px 40px 0;
  }
}
