:root {
  overflow-x: hidden;
}

.promo-carousel[data-astro-cid-gebah43t] {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.promo-viewport[data-astro-cid-gebah43t] {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 7;
  overflow: hidden;
  background: #000;
}

.promo-slide[data-astro-cid-gebah43t] {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  text-decoration: none;
  cursor: pointer;
  pointer-events: none;
  z-index: 1;
  transform: translateX(100%);
  transition: transform .6s cubic-bezier(.25, 1, .5, 1);
}

.promo-slide[data-astro-cid-gebah43t].from-left {
  transform: translateX(-100%);
}

.promo-slide[data-astro-cid-gebah43t].is-current {
  transform: translateX(0);
  pointer-events: auto;
  z-index: 2;
}

.promo-slide[data-astro-cid-gebah43t].is-leaving-left {
  transform: translateX(-100%);
}

.promo-slide[data-astro-cid-gebah43t].is-leaving-right {
  transform: translateX(100%);
  z-index: 1;
}

.promo-content-container[data-astro-cid-gebah43t] {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  padding: 0 10%;
  z-index: 3;
}

.promo-bg-layer[data-astro-cid-gebah43t] {
  position: absolute;
  inset: 0;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.promo-item-image[data-astro-cid-gebah43t] {
  position: relative;
  justify-self: start;
  margin-left: 10%;
  max-height: 100%;
  max-width: 100%;
  object-fit: contain;
  filter: drop-shadow(0 18px 30px #00000073);
  transform: translateX(-40%);
}

.promo-slide[data-astro-cid-gebah43t].is-current .promo-item-image[data-astro-cid-gebah43t] {
  animation: .5s ease-in-out forwards promo-item-enter, none;
}

@keyframes promo-item-enter {
  to {
    opacity: 1;
    transform: translateX(0) scale(1);
  }
}

@keyframes promo-item-float {
  0%, 100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-10px);
  }
}

.promo-copy[data-astro-cid-gebah43t] {
  justify-self: center;
  text-align: right;
  opacity: 0;
  transform: translateY(0);
}

.promo-slide[data-astro-cid-gebah43t].is-current .promo-copy[data-astro-cid-gebah43t] {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 1.5s .55s;
}

.promo-title-image[data-astro-cid-gebah43t] {
  display: block;
  max-width: 100%;
  height: auto;
  max-height: 100%;
  margin-bottom: 1rem;
  object-fit: contain;
  opacity: 0;
  transform: scale(2.8);
  filter: drop-shadow(0 0 40px var(--custom-electric-color, #00f3ff));
}

.promo-slide[data-astro-cid-gebah43t].is-current .promo-title-image[data-astro-cid-gebah43t] {
  animation: title-slam-impact .45s ease-in .55s forwards,
    dynamic-image-flicker var(--custom-flicker-speed, .2s) infinite alternate 1s;
}

@keyframes title-slam-impact {
  0% {
    opacity: 0;
    transform: scale(2.8);
  }

  70% {
    opacity: 1;
    transform: scale(.92);
  }

  85% {
    transform: scale(1.05) translateY(-4px) skewX(-2deg);
  }

  100% {
    opacity: 1;
    transform: scale(1) translateY(0) skewX(0);
  }
}

@keyframes dynamic-image-flicker {
  70% {
    filter: drop-shadow(0 0 4px #fff) drop-shadow(0 0 12px var(--custom-electric-color, #00f3ff)) drop-shadow(0 0 15px var(--custom-electric-color, #00f3ff));
    transform: skewX(0) scale(1);
  }

  78% {
    filter: drop-shadow(0 0 2px #fff) drop-shadow(0 0 6px var(--custom-electric-color, #00f3ff)) drop-shadow(0 0 15px var(--custom-electric-color, #00f3ff));
    transform: skewX(0) scale(1);
    opacity: .95;
  }

  0%, 69%, 80%, 100% {
    filter: none;
    opacity: .85;
  }

  75% {
    filter: drop-shadow(0 0 6px #fff) drop-shadow(0 0 8px var(--custom-electric-color, #00f3ff)) drop-shadow(0 0 15px #fff);
    transform: skewX(0) scale(1);
    opacity: 1;
  }

  72% {
    filter: drop-shadow(0 0 3px #fff) drop-shadow(0 0 10px var(--custom-electric-color, #00f3ff));
    opacity: .85;
  }
}

.promo-title[data-astro-cid-gebah43t] {
  font-family: var(--font-display, sans-serif);
  font-size: clamp(.75rem, 3vw + .5rem, 4rem);
  color: #fff;
  margin-bottom: .5rem;
}

.promo-specs[data-astro-cid-gebah43t] {
  font-family: var(--font-display, sans-serif);
  font-size: clamp(.5rem, 1vw + .5rem, 1.25rem);
  font-style: italic;
  color: #fff;
}

.promo-arrow[data-astro-cid-gebah43t] {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: none;
  background: #ffffffe6;
  cursor: pointer;
  font-size: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.promo-arrow[data-astro-cid-gebah43t].prev {
  left: 24px;
}

.promo-arrow[data-astro-cid-gebah43t].next {
  right: 24px;
}

.promo-dots[data-astro-cid-gebah43t] {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  display: flex;
  gap: 8px;
  width: auto;
}

@media (width <= 480px) {
  .promo-arrow[data-astro-cid-gebah43t] {
    width: 28px;
    height: 28px;
    background: #ffffff80;
  }

  .promo-arrow[data-astro-cid-gebah43t].prev {
    left: 14px;
  }

  .promo-arrow[data-astro-cid-gebah43t].next {
    right: 14px;
  }
}
html, body {
  min-height: 100vh;
  margin: 0;
  padding: 0;
  background-image: linear-gradient(to right, #fff 0% 20%, #f0f0f0 65%, #eee 100%);
  background-attachment: fixed;
}

.hero-banner[data-astro-cid-lcdefpme] {
  position: relative;
  min-height: 560px;
  display: flex;
  align-items: center;
  background-image: linear-gradient(0deg, #0000008c, #00000059), url("/images/hero-banner.png");
  background-position: center;
  background-size: 110%;
  background-repeat: no-repeat;
  animation: 10s ease-in-out infinite panBackground;
}

@keyframes panBackground {
  0%, 3% {
    background-position: 35%;
  }

  50%, 53% {
    background-position: 65%;
  }

  100% {
    background-position: 35%;
  }
}

.hero-banner-overlay[data-astro-cid-lcdefpme] {
  position: absolute;
  inset: 0;
  background: linear-gradient(100deg, #000000a6 0%, #00000040 55%, #0000000d 100%);
}

.hero-banner-content[data-astro-cid-lcdefpme] {
  position: relative;
  z-index: 1;
  max-width: 640px;
  padding-top: 60px;
  padding-bottom: 60px;
}

.hero-banner-content[data-astro-cid-lcdefpme] .eyebrow[data-astro-cid-lcdefpme] {
  color: #fff;
}

.hero-banner-content[data-astro-cid-lcdefpme] .eyebrow[data-astro-cid-lcdefpme]:before {
  background: var(--accent);
}

.hero-banner-content[data-astro-cid-lcdefpme] h1[data-astro-cid-lcdefpme] {
  color: #fff;
  font-size: clamp(36px, 6vw, 64px);
  line-height: 1.02;
  margin-bottom: 18px;
}

.hero-banner-content[data-astro-cid-lcdefpme] h1[data-astro-cid-lcdefpme] span[data-astro-cid-lcdefpme] {
  color: #1dcaff;
}

.hero-banner-lede[data-astro-cid-lcdefpme] {
  color: #ffffffd9;
  font-size: 16px;
  max-width: 48ch;
  margin-bottom: 30px;
}

.hero-banner-actions[data-astro-cid-lcdefpme] {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}

.btn-outline--on-dark[data-astro-cid-lcdefpme] {
  border-color: #fff9;
  color: #fff;
}

.btn-outline--on-dark[data-astro-cid-lcdefpme]:hover {
  border-color: var(--accent-light);
  color: var(--accent-light);
}

.btn-primary-index[data-astro-cid-lcdefpme]:disabled:hover {
  background: var(--accent);
}

.btn-primary-index[data-astro-cid-lcdefpme] {
  background: var(--accent);
  color: #fff;
  box-shadow: var(--shadow-sm);
}

.btn-primary-index[data-astro-cid-lcdefpme]:hover {
  background: var(--accent-light);
  box-shadow: var(--shadow-md);
}

.btn-primary-index-mobile[data-astro-cid-lcdefpme]:disabled:hover {
  background: var(--accent);
}

.btn-primary-index-mobile[data-astro-cid-lcdefpme] {
  display: none;
  background: var(--accent);
  color: #fff;
  box-shadow: var(--shadow-sm);
  margin-left: calc(50vw - 12px);
  transform: translateX(-50%);
}

.btn-primary-index-mobile[data-astro-cid-lcdefpme]:hover {
  background: var(--accent-light);
  box-shadow: var(--shadow-md);
}

.new-product-section[data-astro-cid-lcdefpme] {
  background-color: #0004ff;
  margin-top: -24px;
  padding-top: 24px;
  padding-bottom: 24px;
}

@media (width <= 960px) {
  .hero-banner[data-astro-cid-lcdefpme] {
    min-height: 460px;
  }
}

@media (width <= 760px) {
  .hero-banner[data-astro-cid-lcdefpme] {
    background-size: cover;
    min-height: 460px;
    animation: 20s ease-in-out infinite panBackground;
  }

  .hero-banner-content[data-astro-cid-lcdefpme] {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .btn-primary-index[data-astro-cid-lcdefpme] {
    display: none;
  }

  .btn-primary-index-mobile[data-astro-cid-lcdefpme] {
    display: inline-flex;
  }
}

.carousel[data-astro-cid-lcdefpme] {
  position: relative;
  margin-bottom: 24px;
}

.carousel-viewport[data-astro-cid-lcdefpme] {
  overflow: hidden;
  padding-bottom: 18px;
}

.carousel-track[data-astro-cid-lcdefpme] {
  display: flex;
  align-items: stretch;
  transform: translateX(0%);
}

.carousel-slide[data-astro-cid-lcdefpme] {
  flex: 0 0 33.3333%;
  max-width: 33.3333%;
  padding: 4px 2px;
  display: flex;
  justify-content: center;
  opacity: .35;
  transform: scale(.9);
  transition: opacity .5s, transform .5s;
}

.carousel-slide[data-astro-cid-lcdefpme].is-active {
  opacity: 1;
  transform: scale(1);
}

.carousel-slide[data-astro-cid-lcdefpme] .product-card {
  max-width: 340px;
  width: 100%;
}

.carousel-arrow[data-astro-cid-lcdefpme] {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 42px;
  height: 42px;
  border-radius: 999px;
  border: 1px solid var(--steel-light);
  background: #fff;
  color: var(--text);
  font-size: 24px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: var(--shadow-sm);
  z-index: 2;
  transition: border-color .15s, color .15s;
}

.carousel-arrow[data-astro-cid-lcdefpme]:hover {
  border-color: var(--accent);
  color: var(--accent);
}

.carousel-arrow[data-astro-cid-lcdefpme].prev {
  left: -8px;
}

.carousel-arrow[data-astro-cid-lcdefpme].next {
  right: -8px;
}

@media (width <= 700px) {
  .carousel-arrow[data-astro-cid-lcdefpme] {
    width: 34px;
    height: 34px;
    font-size: 24px;
  }
}

.featured-carousel-bleed[data-astro-cid-lcdefpme] {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  height: 10%;
}

.featured-carousel-bleed[data-astro-cid-lcdefpme] .promo-carousel {
  border-radius: 0;
}

.cta-grid[data-astro-cid-lcdefpme] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.cta-card[data-astro-cid-lcdefpme] {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  min-height: 260px;
  padding: 28px;
  border-radius: var(--radius-md, 10px);
  overflow: hidden;
  color: #fff;
  background-size: cover;
  background-position: center;
  transition: transform .2s;
}

.cta-card[data-astro-cid-lcdefpme]:before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(#00000040 0%, #000c 100%);
}

.cta-card[data-astro-cid-lcdefpme]:hover {
  transform: translateY(-3px);
}

.cta-card--locate[data-astro-cid-lcdefpme] {
  background-image: url("/images/cta-locate.jpg");
}

.cta-card--dealer[data-astro-cid-lcdefpme] {
  background-image: url("/images/cta-dealer.jpg");
}

.cta-tag[data-astro-cid-lcdefpme], .cta-card[data-astro-cid-lcdefpme] h3[data-astro-cid-lcdefpme], .cta-card[data-astro-cid-lcdefpme] p[data-astro-cid-lcdefpme], .cta-link[data-astro-cid-lcdefpme] {
  position: relative;
  z-index: 1;
}

.cta-tag[data-astro-cid-lcdefpme] {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--accent-light);
  margin-bottom: 8px;
}

.cta-card[data-astro-cid-lcdefpme] h3[data-astro-cid-lcdefpme] {
  color: #fff;
  font-size: 26px;
  text-transform: uppercase;
  margin-bottom: 6px;
}

.cta-card[data-astro-cid-lcdefpme] p[data-astro-cid-lcdefpme] {
  color: #fffc;
  font-size: 14px;
  max-width: 34ch;
  margin-bottom: 14px;
}

.cta-link[data-astro-cid-lcdefpme] {
  font-family: var(--font-display);
  font-size: 13px;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--accent-light);
}

@media (width <= 700px) {
  .cta-grid[data-astro-cid-lcdefpme] {
    grid-template-columns: 1fr;
  }

  @media (width <= 480px) {
    .carousel-arrow[data-astro-cid-lcdefpme] {
      width: 28px;
      height: 28px;
      font-size: 24px;
    }
  }
}
