/* Make the supplied Life mark clear and legible in the header. */
.life-header-logo {
  width: 238px;
  height: 70px;
}

.life-header-logo img {
  width: 238px;
}

/* Keep the brand bar in its own space on every screen. This prevents the logo,
   menu and hero message from ever occupying the same visual area. */
header {
  position: relative;
}

/* These are two separate choices, not one combined control. Keep a clear,
   dependable breathing space between them on every viewport. */
.hero-actions {
  gap: clamp(28px, 4vw, 48px);
  width: min(100%, 780px);
  justify-content: space-between;
  align-items: center;
}

.watch-film {
  transform: none;
}

/* Moment 03: keep the people, especially their faces, inside the frame. */
.story[data-moment='support'] .story-scene img {
  object-position: center 24%;
}

.moment-room .story[data-moment='support']::before {
  background-position: center 28%;
}

/* Tablets need their own calm header: never let navigation or the logo cross the hero copy. */
@media (min-width: 761px) and (max-width: 1180px) {
  header {
    padding: 0 32px;
  }

  header nav {
    display: none;
  }

  .life-header-logo {
    width: 300px;
    height: 62px;
  }

  .life-header-logo img {
    width: 300px;
  }

  .open {
    padding: 10px 13px;
    font-size: 10px;
  }

  .hero {
    min-height: 650px;
    height: calc(100svh - 78px);
    padding: 62px 5vw;
    align-items: center;
  }

  .hero-content {
    padding-top: 0;
  }

  .hero-actions {
    gap: 28px;
  }

  h1 {
    font-size: clamp(58px, 8.5vw, 76px);
  }

  .moments {
    padding: 92px 4vw;
  }

  .moment-room {
    grid-template-columns: 1fr;
    margin-top: 32px;
  }

  .moment-list {
    grid-template-columns: repeat(4, 1fr);
    display: grid;
    gap: 0;
    padding: 0;
  }

  .moment {
    min-height: 116px;
    padding: 18px 14px;
    border-bottom: 0;
    border-right: 1px solid rgba(228,183,140,.17);
  }

  .moment:last-child {
    border-right: 0;
  }

  .moment-room .story {
    min-height: 0;
    padding: 320px 34px 34px;
  }

  .story-scene {
    left: 0;
    right: 0;
    top: 0;
    bottom: auto;
    width: 100%;
    height: 285px;
    border-left: 0;
    border-bottom: 1px solid rgba(228,183,140,.35);
  }

  .story-scene:after {
    background: linear-gradient(0deg,#241c18 0%,rgba(36,28,24,.08) 72%,rgba(36,28,24,.02) 100%);
  }

  .moment-room .story:after {
    top: 242px;
    bottom: auto;
  }
}

@media (max-width: 760px) {
  .life-header-logo {
    width: 158px;
    height: 58px;
  }

  .life-header-logo img {
    width: 158px;
  }

  .hero {
    height: auto;
    min-height: 650px;
  }

  .hero-actions {
    gap: 28px;
  }
}
