.nl-promo-slider {
  --nl-promo-accent: #a6462f;
  --nl-promo-paper: #f7f1e9;
  position: relative;
  width: 100%;
  margin: 0 0 clamp(40px, 6vw, 88px);
  background: #171513;
  overflow: hidden;
  isolation: isolate;
}
.nl-promo-slider__viewport { overflow: hidden; }
.nl-promo-slider__track { position: relative; min-height: clamp(480px, 42vw, 760px); }
.nl-promo-slide { position: absolute; inset: 0; min-height: inherit; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .7s cubic-bezier(.22,1,.36,1), visibility .7s; }
.nl-promo-slide.is-active { opacity: 1; visibility: visible; pointer-events: auto; z-index: 1; }
.nl-promo-slider--single .nl-promo-slide { position: relative; }
.nl-promo-slider--slide .nl-promo-slide { opacity: 1; transform: translate3d(100%,0,0); transition: transform .65s cubic-bezier(.22,1,.36,1), visibility .65s; }
.nl-promo-slider--slide .nl-promo-slide.is-active { transform: translate3d(0,0,0); }
.nl-promo-slider--slide .nl-promo-slide.is-before { transform: translate3d(-100%,0,0); }
.nl-promo-slide__media, .nl-promo-slide__media img, .nl-promo-slide__shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.nl-promo-slide__media img { display: block; object-fit: cover; }
.nl-promo-slide__shade { background: linear-gradient(90deg, rgba(20,17,14,.68) 0%, rgba(20,17,14,.28) 48%, rgba(20,17,14,.04) 76%); }
.nl-promo-slide--dark .nl-promo-slide__shade { background: linear-gradient(90deg, rgba(247,241,233,.86) 0%, rgba(247,241,233,.45) 45%, rgba(247,241,233,.02) 76%); }
.nl-promo-slide--right .nl-promo-slide__shade { transform: scaleX(-1); }
.nl-promo-slide--center .nl-promo-slide__shade { background: linear-gradient(0deg, rgba(20,17,14,.55), rgba(20,17,14,.06) 76%); }
.nl-promo-slide--center.nl-promo-slide--dark .nl-promo-slide__shade { background: linear-gradient(0deg, rgba(247,241,233,.8), rgba(247,241,233,.04) 76%); }
.nl-promo-slide__inner { position: relative; z-index: 2; display: flex; align-items: center; min-height: inherit; max-width: var(--nl-container-max, 1440px); margin: 0 auto; padding: clamp(40px, 7vw, 108px) clamp(24px, 6vw, 92px) 92px; }
.nl-promo-slide__content { width: min(590px, 54%); color: var(--nl-promo-paper); }
.nl-promo-slide--dark .nl-promo-slide__content { color: #1c1916; }
.nl-promo-slide--center .nl-promo-slide__inner { justify-content: center; text-align: center; }
.nl-promo-slide--right .nl-promo-slide__inner { justify-content: flex-end; text-align: right; }
.nl-promo-slide__eyebrow { margin: 0 0 18px; font-size: 11px; font-weight: 700; line-height: 1.2; letter-spacing: .22em; text-transform: uppercase; }
.nl-promo-slide__title { max-width: 13ch; margin: 0; color: inherit; font-family: var(--nl-font-display, Georgia, serif); font-size: clamp(42px, 5.2vw, 82px); font-weight: 400; line-height: .98; letter-spacing: -.035em; text-wrap: balance; }
.nl-promo-slide--center .nl-promo-slide__title, .nl-promo-slide--right .nl-promo-slide__title { margin-left: auto; margin-right: auto; }
.nl-promo-slide--right .nl-promo-slide__title { margin-right: 0; }
.nl-promo-slide__text { max-width: 48ch; margin: 22px 0 0; font-size: clamp(15px, 1.4vw, 18px); line-height: 1.55; }
.nl-promo-slide--center .nl-promo-slide__text, .nl-promo-slide--right .nl-promo-slide__text { margin-left: auto; }
.nl-promo-slide__button { display: inline-flex; align-items: center; gap: 20px; margin-top: 30px; padding: 14px 20px 12px; border: 1px solid currentColor; color: inherit; font-size: 12px; font-weight: 700; letter-spacing: .09em; text-decoration: none; text-transform: uppercase; transition: color .25s, background .25s, transform .25s; }
.nl-promo-slide__button:hover, .nl-promo-slide__button:focus { color: #171513; background: var(--nl-promo-paper); text-decoration: none; transform: translateY(-2px); }
.nl-promo-slide--dark .nl-promo-slide__button:hover, .nl-promo-slide--dark .nl-promo-slide__button:focus { color: var(--nl-promo-paper); background: #171513; }
.nl-promo-slider__chrome { position: absolute; z-index: 4; left: clamp(24px,6vw,92px); right: clamp(24px,6vw,92px); bottom: 30px; display: flex; align-items: center; gap: 18px; color: #fff; }
.nl-promo-slider__count { min-width: 58px; font-variant-numeric: tabular-nums; font-size: 11px; letter-spacing: .12em; }
.nl-promo-slider__divider { margin: 0 6px; opacity: .55; }
.nl-promo-slider__progress { position: relative; width: min(220px, 20vw); height: 1px; overflow: hidden; background: rgba(255,255,255,.35); }
.nl-promo-slider__progress span { display: block; width: 100%; height: 100%; background: var(--nl-promo-accent); transform: scaleX(0); transform-origin: left; }
.nl-promo-slider.is-running .nl-promo-slider__progress span { animation: nl-promo-progress var(--nl-promo-interval) linear forwards; }
.nl-promo-slider__dots { display: flex; align-items: center; gap: 8px; }
.nl-promo-slider__dot { width: 20px; height: 20px; padding: 0; border: 0; background: transparent; position: relative; }
.nl-promo-slider__dot::after { content: ''; position: absolute; left: 3px; right: 3px; top: 9px; height: 1px; background: currentColor; opacity: .45; transition: opacity .25s, transform .25s; }
.nl-promo-slider__dot.is-active::after { opacity: 1; transform: scaleX(1.45); }
.nl-promo-slider__arrows { display: flex; gap: 4px; margin-left: auto; }
.nl-promo-slider__arrows button { width: 42px; height: 42px; border: 1px solid rgba(255,255,255,.5); border-radius: 50%; background: transparent; color: inherit; font-size: 19px; transition: background .2s, color .2s; }
.nl-promo-slider__arrows button:hover, .nl-promo-slider__arrows button:focus { color: #171513; background: #fff; }
@keyframes nl-promo-progress { to { transform: scaleX(1); } }
@media (max-width: 767px) {
  .nl-promo-slider__track { min-height: min(150vw, 680px); }
  .nl-promo-slide__shade, .nl-promo-slide--right .nl-promo-slide__shade, .nl-promo-slide--dark .nl-promo-slide__shade { transform: none; background: linear-gradient(0deg, rgba(19,16,14,.76) 0%, rgba(19,16,14,.12) 68%, rgba(19,16,14,.02) 100%); }
  .nl-promo-slide--dark .nl-promo-slide__shade { background: linear-gradient(0deg, rgba(247,241,233,.88) 0%, rgba(247,241,233,.14) 68%, rgba(247,241,233,.02) 100%); }
  .nl-promo-slide__inner, .nl-promo-slide--right .nl-promo-slide__inner, .nl-promo-slide--center .nl-promo-slide__inner { align-items: flex-end; justify-content: flex-start; padding: 42px 22px 92px; text-align: left; }
  .nl-promo-slide__content { width: 100%; }
  .nl-promo-slide__title, .nl-promo-slide--right .nl-promo-slide__title, .nl-promo-slide--center .nl-promo-slide__title { max-width: 12ch; margin: 0; font-size: clamp(38px, 12vw, 58px); }
  .nl-promo-slide__text, .nl-promo-slide--right .nl-promo-slide__text, .nl-promo-slide--center .nl-promo-slide__text { max-width: 32ch; margin: 14px 0 0; }
  .nl-promo-slide__button { margin-top: 22px; }
  .nl-promo-slider__chrome { left: 22px; right: 22px; bottom: 24px; }
  .nl-promo-slider__progress { flex: 1; width: auto; }
  .nl-promo-slider__dots { display: none; }
  .nl-promo-slider__arrows button { width: 38px; height: 38px; }
}
@media (prefers-reduced-motion: reduce) {
  .nl-promo-slide, .nl-promo-slide__button { transition-duration: .01ms !important; }
  .nl-promo-slider__progress span { animation: none !important; transform: scaleX(1); }
}
