.nvm-smoke-filmstrip-hero {
  --sfh-bg: #120f0c;
  --sfh-bg-color: #000000;
  --sfh-ink: #fff7ed;
  --sfh-muted: rgba(255, 247, 237, .74);
  --sfh-accent: #e34b2f;
  --sfh-gold: #f2b64b;
  --sfh-gap: 0px;
  --sfh-edge-inset: 0px;
  --sfh-content-font: inherit;
  --sfh-headline-size: 88px;
  --sfh-body-size: 20px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: clamp(680px, 100vh, 940px);
  overflow: hidden;
  isolation: isolate;
  background: var(--sfh-bg-color);
  color: var(--sfh-ink);
}

.nvm-sfh__stage {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  opacity: .86;
}

.nvm-sfh__strip {
  position: absolute;
  display: flex;
  width: max-content;
  gap: var(--sfh-gap);
  filter: saturate(1.06) contrast(1.04);
  will-change: transform;
}

.nvm-sfh__track {
  display: flex;
  gap: var(--sfh-gap);
  padding-right: var(--sfh-gap);
}

.nvm-sfh__strip--1 {
  top: var(--sfh-edge-inset);
  left: 0;
  animation: sfh-move-right-x 44s linear infinite;
  transform: translateX(-50%);
}

.nvm-sfh__strip--3 {
  bottom: var(--sfh-edge-inset);
  left: 0;
  animation: sfh-move-left-x 52s linear infinite;
}

.nvm-sfh__strip--2,
.nvm-sfh__strip--4 {
  flex-direction: column;
  height: max-content;
  width: auto;
}

.nvm-sfh__strip--2 .nvm-sfh__track,
.nvm-sfh__strip--4 .nvm-sfh__track {
  flex-direction: column;
  padding-right: 0;
  padding-bottom: var(--sfh-gap);
}

.nvm-sfh__strip--2 {
  top: 0;
  right: var(--sfh-edge-inset);
  animation: sfh-move-down-y 48s linear infinite;
  transform: translateY(-50%);
}

.nvm-sfh__strip--4 {
  top: 0;
  left: var(--sfh-edge-inset);
  animation: sfh-move-up-y 56s linear infinite;
}

.nvm-sfh__card {
  width: calc((100vw - (var(--sfh-gap) * 3)) / 4);
  max-width: 360px;
  aspect-ratio: 4 / 3;
  margin: 0;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: #000000;
  transform: translateZ(0);
  transition: transform .45s ease, filter .45s ease, opacity .45s ease;
}

.nvm-sfh__strip--2 .nvm-sfh__card,
.nvm-sfh__strip--4 .nvm-sfh__card {
  width: calc((100vh - (var(--sfh-gap) * 3)) / 4);
  max-width: 240px;
  aspect-ratio: 1 / 1;
}

.nvm-sfh__card img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.nvm-smoke-filmstrip-hero:hover .nvm-sfh__card { filter: brightness(.78); }
.nvm-sfh__card:hover { transform: scale(1.08); filter: brightness(1.08) saturate(1.1) !important; opacity: 1; }

.nvm-sfh__veil {
  display: none;
}

.nvm-sfh__content {
  position: relative;
  z-index: 2;
  width: min(760px, calc(100% - 40px));
  margin: 0 auto;
  padding: clamp(72px, 12vh, 120px) 0;
  font-family: var(--sfh-content-font);
  text-align: center;
}

.nvm-sfh__eyebrow {
  margin: 0 0 18px;
  color: var(--sfh-gold);
  font: 700 12px/1.2 var(--sfh-content-font);
  text-transform: uppercase;
  letter-spacing: 0;
}

.nvm-sfh__headline {
  margin: 0 auto;
  max-width: 11ch;
  color: var(--sfh-ink);
  font-family: var(--sfh-content-font);
  font-size: var(--sfh-headline-size);
  line-height: 1em !important;
  font-weight: 850;
  letter-spacing: 0;
}

.nvm-sfh__body {
  max-width: 590px;
  margin: 24px auto 0;
  color: var(--sfh-muted);
  font-family: var(--sfh-content-font);
  font-size: var(--sfh-body-size);
  line-height: 1.48;
}

.nvm-sfh__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 34px;
}

.nvm-sfh__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 20px;
  border-radius: 6px;
  font-family: var(--sfh-content-font);
  font-size: 16px;
  font-weight: 800;
  text-decoration: none;
  transition: transform .2s ease, background-color .2s ease, border-color .2s ease;
}

.nvm-sfh__button:hover { transform: translateY(-2px); }
.nvm-sfh__button--primary { color: #140b08; background: var(--sfh-gold); }

@keyframes sfh-move-left-x {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

@keyframes sfh-move-right-x {
  from { transform: translateX(-50%); }
  to { transform: translateX(0); }
}

@keyframes sfh-move-up-y {
  from { transform: translateY(0); }
  to { transform: translateY(-50%); }
}

@keyframes sfh-move-down-y {
  from { transform: translateY(-50%); }
  to { transform: translateY(0); }
}

@media (max-width: 767px) {
  .nvm-smoke-filmstrip-hero {
    min-height: 760px;
    align-items: center;
    justify-content: center;
  }
  .nvm-sfh__strip--2,
  .nvm-sfh__strip--4 { display: none; }
  .nvm-sfh__card {
    width: calc(100vw / 4);
    max-width: none;
  }
  .nvm-sfh__content {
    width: calc(100% - 32px);
    margin: 0 auto;
    padding: 54px 0;
  }
  .nvm-sfh__headline { max-width: 10ch; font-size: var(--sfh-headline-size); }
  .nvm-sfh__body { font-size: var(--sfh-body-size); }
  .nvm-sfh__button { width: 100%; }
}

.nvm-smoke-filmstrip-hero .nvm-sfh__eyebrow { color: var(--sfh-gold) !important; }
.nvm-smoke-filmstrip-hero .nvm-sfh__headline { color: var(--sfh-ink) !important; }
.nvm-smoke-filmstrip-hero .nvm-sfh__body { color: var(--sfh-muted) !important; }
.nvm-smoke-filmstrip-hero .nvm-sfh__button { text-decoration: none !important; }
.nvm-smoke-filmstrip-hero .nvm-sfh__button--primary { color: #140b08 !important; background: var(--sfh-gold) !important; }

@media (prefers-reduced-motion: reduce) {
  .nvm-sfh__strip { animation: none; }
  .nvm-sfh__card, .nvm-sfh__button { transition: none; }
}