/* ====== SECTION: NARRATIVE FRAMES ====== */

.nf-section {
  position: relative;
  height: 88vh;
  min-height: 560px;
  background-color: var(--color-white);
  overflow: hidden;
}


/* ====== MARQUEE ANIMATION ====== */

.nf-marquee-container {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  pointer-events: none;
}

.nf-marquee-row {
  display: flex;
  gap: 14px;
  white-space: nowrap;
  will-change: transform;
  height: 56px;
  flex-shrink: 0;
}

.nf-marquee-set {
  display: flex;
  gap: 14px;
  flex-shrink: 0;
}

.nf-marquee-row img {
  height: 56px;
  width: auto;
  flex-shrink: 0;
  user-select: none;
  -webkit-user-drag: none;
  pointer-events: none;
}


/* ====== MOBILE ====== */

@media (max-width: 768px) {
  .nf-section {
    height: auto;
    min-height: 400px;
    padding: var(--space-lg) 0;
  }

  .nf-card {
    position: relative;
    top: auto;
    left: auto;
    transform: none;
    width: auto;
    margin: 0 var(--site-gutter);
    z-index: 10;
  }

  .nf-accent-dot {
    display: none;
  }

  .nf-marquee-container {
    position: absolute;
  }

  .nf-marquee-row {
    height: 40px;
    gap: 10px;
  }

  .nf-marquee-set {
    gap: 10px;
  }

  .nf-marquee-row img {
    height: 40px;
  }
}
