/* Home owns the banner geometry, image sizing, fade and navigation. */
.culture-banner h1 { font-size: clamp(3rem, 6.5vw, 7rem); line-height: 1; letter-spacing: -.055em; margin: 0; font-weight: 500; }
.culture-banner .culture-hero-copy { color: #eee; max-width: 29rem; margin: 1rem 0 0; font-size: clamp(1rem, 1.3vw, 1.25rem); line-height: 1.6; }
.culture-story-media { min-height: 0; }
.culture-story-media img { width: 100%; height: auto; aspect-ratio: auto; object-fit: contain; }
.culture-photo-essay { padding: 0 var(--gutter) clamp(5rem, 9vw, 9rem); overflow: hidden; }
.culture-photo { margin: 0; overflow: hidden; }
.culture-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.culture-photo-sequence { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(.75rem, 1.25vw, 1.25rem); width: 100%; align-items: start; margin: 0 auto; }
.culture-photo-sequence .culture-photo { aspect-ratio: 4 / 5; }
.culture-photo-sequence:focus-visible { outline: 2px solid #b75b2a; outline-offset: 6px; }
.culture-photo-caption { display: flex; justify-content: space-between; gap: 2rem; width: 100%; margin: clamp(1.5rem, 3vw, 2.5rem) auto 0; padding-top: 1rem; border-top: 1px solid #303030; color: #999; font-size: .75rem; line-height: 1.5; letter-spacing: .13em; }
.motion-ready [data-reveal] { opacity: 0; transform: translate3d(0, 34px, 0); transition: opacity .9s cubic-bezier(.2,.65,.25,1), transform 1s cubic-bezier(.2,.65,.25,1); transition-delay: var(--reveal-delay, 0ms); }
.motion-ready [data-reveal="image"] { transform: translate3d(0, 24px, 0) scale(.975); transition-duration: 1.15s; }
.motion-ready [data-reveal].is-visible { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
.motion-ready .culture-photo[data-parallax-media].is-visible { transform: translate3d(0, var(--parallax-y, 0px), 0); }

@media (max-width: 650px) {
  .culture-banner h1 { font-size: clamp(3rem, 12vw, 5rem); max-width: 9ch; }
  .culture-photo-essay { padding: 0 0 4.5rem; }
  .culture-photo-sequence { display: flex; gap: .75rem; width: 100%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 0 var(--gutter) .75rem; }
  .culture-photo-sequence::-webkit-scrollbar { display: none; }
  .culture-photo-sequence .culture-photo { flex: 0 0 68vw; aspect-ratio: 4 / 5; scroll-snap-align: center; }
  .culture-photo-caption { display: grid; gap: .45rem; font-size: .68rem; }
  .culture-photo-caption { width: auto; margin-left: var(--gutter); margin-right: var(--gutter); }
}
@media (prefers-reduced-motion: reduce) {
  .motion-ready [data-reveal], .motion-ready [data-reveal].is-visible, .motion-ready .culture-photo[data-parallax-media].is-visible { opacity: 1; transform: none; transition: none; }
}

.culture-banner .culture-hero-copy { text-wrap: balance; }
.culture-keep-together { white-space: nowrap; }
@media (min-width: 1800px) { .culture-banner .culture-hero-copy { max-width: 34rem; } }
