:root {
  --signal-brand-primary-fallback: #f3b318;
  --signal-brand-secondary-fallback: #a86f00;
  --signal-red: var(--app-accent, var(--signal-brand-primary-fallback));
  --signal-red-dark: var(--app-accent-2, var(--signal-brand-secondary-fallback));
  --signal-black: #0b0d10;
  --signal-ink: #161a20;
  --signal-muted: #697383;
  --signal-line: #d8dee8;
  --signal-steel: #eef2f7;
  --signal-white: #ffffff;
  --signal-shadow: 0 20px 54px rgba(15, 23, 42, .18);
  --wa-color-brand-fill-loud: var(--signal-red);
  --wa-color-brand-border-loud: var(--signal-red-dark);
  --wa-color-danger-fill-loud: var(--signal-red);
  --wa-color-danger-border-loud: var(--signal-red-dark);
  color-scheme: light;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--signal-white);
  color: var(--signal-ink);
  font-family: Inter, Arial, sans-serif;
  font-weight: 650;
  letter-spacing: 0;
}

a {
  color: inherit;
}

a[href],
a[href] *,
a[href]::before,
a[href]::after,
a[href]::part(base),
a[href]::part(label),
a[href]::part(prefix),
a[href]::part(suffix),
wa-button[href],
wa-button[href] *,
wa-button[href]::part(base),
wa-button[href]::part(label),
wa-button[href]::part(prefix),
wa-button[href]::part(suffix) {
  cursor: pointer !important;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 90;
}

.top-strip {
  position: relative;
  z-index: 2;
  background: var(--signal-black);
  color: #fff;
  font-size: .88rem;
}

.top-strip__inner {
  align-items: center;
  max-width: 1180px;
  min-height: 2.75rem;
  margin: 0 auto;
  padding: .6rem 1rem;
}

.top-strip__account {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  min-width: 0;
}

.top-strip__shop {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .65rem;
  min-width: 0;
}

.top-strip__hours-button::part(base) {
  min-height: 2.35rem;
  border-color: rgba(255, 255, 255, .42);
  background: rgba(255, 255, 255, .08);
  color: #fff;
}

.top-strip__hours-button:hover::part(base),
.top-strip__hours-button:focus-visible::part(base) {
  border-color: var(--signal-red);
  background: rgba(245, 176, 18, .16);
  color: #fff;
}

.top-strip__contact {
  align-items: center;
  justify-content: flex-end;
  min-width: 0;
}

.top-strip__contact a,
.top-strip__contact span {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  min-height: 2rem;
  padding: .2rem .45rem;
  border: 1px solid transparent;
  border-radius: 999px;
  color: rgba(255, 255, 255, .88);
  text-decoration: none;
}

.top-strip__contact a {
  cursor: pointer !important;
  transition: border-color .16s ease, background-color .16s ease, color .16s ease;
}

.top-strip__contact a *,
.top-strip__contact a wa-icon,
.top-strip__contact a wa-icon::part(base),
.top-strip__contact a wa-icon::part(svg),
.top-strip__contact a[data-maps-link] *,
.top-strip__contact a[data-maps-link]::part(base) {
  cursor: pointer !important;
}

.top-strip__contact a[data-maps-link]:is(:hover, :focus-visible) {
  border-color: rgba(255, 255, 255, .82);
  background: rgba(255, 255, 255, .08);
  color: #fff;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.signal-social-bar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: .45rem;
  min-width: 0;
}

.signal-social-bar wa-tooltip {
  display: inline-flex;
}

.signal-social-bar__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border: 1px solid rgba(255, 255, 255, .36);
  border-radius: 999px;
  background: rgba(255, 255, 255, .08);
  color: #fff;
  text-decoration: none;
  transition: transform .16s ease, border-color .16s ease, background-color .16s ease, color .16s ease;
}

.signal-social-bar__link:is(:hover, :focus-visible) {
  transform: translateY(-1px);
  border-color: var(--signal-red-dark);
  background: var(--signal-red);
  color: #fff;
}

.signal-social-bar__link:is(:hover, :focus-visible) i {
  color: #fff;
}

.main-nav {
  position: relative;
  z-index: 1;
  align-items: center;
  min-height: 5.25rem;
  padding: .8rem max(1rem, calc((100vw - 1180px) / 2));
  border-bottom: 1px solid var(--signal-line);
  background: rgba(255, 255, 255, .94);
  backdrop-filter: blur(14px);
}

.site-logo {
  --signal-logo-flare-duration: 3.65s;
  position: relative;
  display: inline-flex;
  align-items: center;
  isolation: isolate;
  overflow: hidden;
  border-radius: 1.35rem;
  text-decoration: none;
}

.site-logo::before,
.site-logo::after {
  content: "";
  position: absolute;
  pointer-events: none;
  opacity: 0;
  z-index: 2;
}

.site-logo::before {
  width: 58%;
  height: 170%;
  top: 50%;
  left: -64%;
  border-radius: 999px;
  background:
    linear-gradient(100deg, transparent 0 30%, rgba(255, 255, 255, .08) 39%, rgba(255, 255, 255, .78) 49%, rgba(255, 211, 96, .42) 55%, transparent 68%),
    radial-gradient(ellipse at 52% 50%, rgba(255, 255, 255, .88) 0 8%, rgba(255, 217, 116, .42) 18%, transparent 56%);
  box-shadow:
    0 0 .7rem rgba(255, 255, 255, .58),
    0 0 1.4rem rgba(243, 179, 24, .34);
  filter: blur(.18rem);
  mix-blend-mode: screen;
  transform: translate3d(-18%, -50%, 0) rotate(12deg) scaleX(.88);
  will-change: transform, opacity;
}

.site-logo::after {
  width: 1.65rem;
  height: 1.65rem;
  top: 50%;
  left: -2.8rem;
  border-radius: 999px;
  background:
    linear-gradient(90deg, transparent 0 38%, rgba(255, 255, 255, .95) 46% 54%, transparent 62% 100%),
    linear-gradient(0deg, transparent 0 38%, rgba(255, 255, 255, .95) 46% 54%, transparent 62% 100%),
    radial-gradient(circle, #fff 0 .12rem, rgba(255, 255, 255, .88) .16rem .28rem, rgba(243, 179, 24, .62) .35rem .58rem, transparent .9rem);
  box-shadow:
    0 0 .44rem rgba(255, 255, 255, .76),
    0 0 1rem rgba(243, 179, 24, .48);
  filter: blur(.02rem);
  mix-blend-mode: screen;
  transform: translate3d(0, -50%, 0) scale(.48);
  will-change: transform, opacity;
}

.site-logo:is(:hover, :focus-visible)::before,
.site-logo.is-flaring::before {
  animation:
    signal-logo-flare-move var(--signal-logo-flare-duration) linear both,
    signal-logo-flare-opacity var(--signal-logo-flare-duration) ease-in-out both;
}

.site-logo:is(:hover, :focus-visible)::after,
.site-logo.is-flaring::after {
  animation:
    signal-logo-glint-move var(--signal-logo-flare-duration) linear both,
    signal-logo-glint-opacity var(--signal-logo-flare-duration) ease-in-out both;
}

.site-logo img {
  display: block;
  width: clamp(10.5rem, 18vw, 14.25rem);
  height: auto;
  position: relative;
  z-index: 1;
  filter: drop-shadow(0 .35rem .7rem rgba(15, 23, 42, .08));
  transition: filter .25s ease, transform .25s ease;
}

.site-logo:is(:hover, :focus-visible) img,
.site-logo.is-flaring img {
  filter:
    drop-shadow(0 .35rem .7rem rgba(15, 23, 42, .1))
    drop-shadow(0 0 .95rem rgba(243, 179, 24, .3));
}

body[data-seasonal-effect="lucky"] .site-logo::before {
  background:
    linear-gradient(100deg, transparent 0 30%, rgba(217, 255, 232, .1) 39%, rgba(104, 255, 174, .82) 49%, rgba(255, 217, 91, .5) 57%, transparent 70%),
    radial-gradient(ellipse at 52% 50%, rgba(236, 255, 242, .86) 0 8%, rgba(47, 211, 112, .5) 20%, transparent 58%);
  box-shadow:
    0 0 .8rem rgba(220, 255, 230, .62),
    0 0 1.55rem rgba(30, 197, 91, .42),
    0 0 2.1rem rgba(255, 204, 72, .18);
}

body[data-seasonal-effect="lucky"] .site-logo::after {
  width: clamp(2.35rem, 21.5%, 3.15rem);
  height: clamp(2.35rem, 21.5%, 3.15rem);
  top: 34%;
  left: 66.2%;
  background: url("../images/seasonal/clovers/st-paddy-clover-15.svg") center / contain no-repeat;
  box-shadow: none;
  filter:
    drop-shadow(0 0 .24rem rgba(239, 255, 236, .76))
    drop-shadow(0 0 .72rem rgba(38, 214, 104, .54))
    drop-shadow(0 0 1.05rem rgba(255, 216, 92, .24));
  mix-blend-mode: normal;
  opacity: .92;
  transform: translate3d(0, -50%, 0) rotate(-10deg) scale(1);
}

body[data-seasonal-effect="lucky"] .site-logo:is(:hover, :focus-visible) img,
body[data-seasonal-effect="lucky"] .site-logo.is-flaring img {
  filter:
    drop-shadow(0 .35rem .7rem rgba(15, 23, 42, .1))
    drop-shadow(0 0 .85rem rgba(27, 196, 88, .34))
    drop-shadow(0 0 .55rem rgba(255, 207, 74, .18));
}

body[data-seasonal-effect="lucky"] .site-logo:is(:hover, :focus-visible)::after,
body[data-seasonal-effect="lucky"] .site-logo.is-flaring::after {
  animation: signal-logo-lucky-clover 1.8s ease-in-out both;
}

body[data-seasonal-effect="snow"] .site-logo {
  overflow: visible;
}

body[data-seasonal-effect="snow"] .site-logo::before {
  display: none;
}

body[data-seasonal-effect="snow"] .site-logo::after {
  width: clamp(2.45rem, 22%, 3.2rem);
  height: clamp(1.78rem, 16%, 2.32rem);
  top: -18%;
  left: 59.2%;
  border-radius: 0;
  background: url("../images/seasonal/christmas-hat.svg") center / contain no-repeat;
  box-shadow: none;
  filter:
    drop-shadow(0 .18rem .18rem rgba(10, 15, 25, .26))
    drop-shadow(0 0 .38rem rgba(255, 255, 255, .42));
  mix-blend-mode: normal;
  opacity: 1;
  transform: translate3d(0, 0, 0) rotate(8deg);
  transform-origin: 54% 88%;
}

body[data-seasonal-effect="snow"] .site-logo:is(:hover, :focus-visible)::after,
body[data-seasonal-effect="snow"] .site-logo.is-flaring::after {
  animation: signal-logo-hat-tip 1.15s ease-in-out both;
}

body[data-seasonal-effect="snow"] .site-logo:is(:hover, :focus-visible) img,
body[data-seasonal-effect="snow"] .site-logo.is-flaring img {
  filter:
    drop-shadow(0 .35rem .7rem rgba(15, 23, 42, .1))
    drop-shadow(0 0 .8rem rgba(219, 234, 254, .45));
}

body[data-seasonal-effect="halloween"] .site-logo {
  overflow: visible;
}

body[data-seasonal-effect="halloween"] .site-logo::before {
  width: clamp(1.45rem, 13%, 1.9rem);
  height: clamp(.67rem, 6.1%, .88rem);
  top: 15%;
  left: 77.5%;
  border-radius: 0;
  background: url("../images/seasonal/bats/halloween-bat-08.svg") center / contain no-repeat;
  box-shadow: none;
  filter:
    drop-shadow(0 .12rem .16rem rgba(0, 0, 0, .28))
    drop-shadow(0 0 .38rem rgba(249, 115, 22, .22));
  mix-blend-mode: normal;
  opacity: .94;
  transform: translate3d(0, 0, 0) rotate(-8deg);
}

body[data-seasonal-effect="halloween"] .site-logo::after {
  width: clamp(2.75rem, 23.5%, 3.35rem);
  height: clamp(2.02rem, 17.3%, 2.46rem);
  top: -20%;
  left: 58.4%;
  border-radius: 0;
  background: url("../images/seasonal/witch-hat.svg") center / contain no-repeat;
  box-shadow: none;
  filter:
    drop-shadow(0 .2rem .22rem rgba(0, 0, 0, .32))
    drop-shadow(0 0 .45rem rgba(249, 115, 22, .28));
  mix-blend-mode: normal;
  opacity: 1;
  transform: translate3d(0, 0, 0) rotate(8deg);
  transform-origin: 54% 86%;
}

body[data-seasonal-effect="halloween"] .site-logo:is(:hover, :focus-visible)::before,
body[data-seasonal-effect="halloween"] .site-logo.is-flaring::before {
  animation: signal-logo-halloween-bat 1.35s ease-in-out both;
}

body[data-seasonal-effect="halloween"] .site-logo:is(:hover, :focus-visible)::after,
body[data-seasonal-effect="halloween"] .site-logo.is-flaring::after {
  animation: signal-logo-witch-hat-tip 1.2s ease-in-out both;
}

body[data-seasonal-effect="halloween"] .site-logo:is(:hover, :focus-visible) img,
body[data-seasonal-effect="halloween"] .site-logo.is-flaring img {
  filter:
    drop-shadow(0 .35rem .7rem rgba(15, 23, 42, .1))
    drop-shadow(0 0 .78rem rgba(249, 115, 22, .36))
    drop-shadow(0 0 .5rem rgba(109, 40, 217, .2));
}

body[data-seasonal-effect="fireworks"] .site-logo {
  overflow: visible;
}

body[data-seasonal-effect="fireworks"] .site-logo::after {
  width: clamp(4.9rem, 34%, 6.05rem);
  height: clamp(1.85rem, 12.8%, 2.26rem);
  top: 4%;
  left: 61%;
  z-index: 2;
  border-radius: 0;
  background: url("../images/seasonal/us-flag.svg") center / 100% 100% no-repeat;
  box-shadow: none;
  filter:
    drop-shadow(0 .16rem .16rem rgba(7, 12, 24, .26))
    drop-shadow(0 0 .42rem rgba(255, 255, 255, .36));
  mix-blend-mode: normal;
  opacity: 1;
  transform: translate3d(0, 0, 0) rotate(-1deg);
  transform-origin: 16% 86%;
}

body[data-seasonal-effect="fireworks"] .site-logo:is(:hover, :focus-visible)::after,
body[data-seasonal-effect="fireworks"] .site-logo.is-flaring::after {
  animation: signal-logo-flag-wave 1.25s ease-in-out both;
}

body[data-seasonal-effect="fireworks"] .site-logo:is(:hover, :focus-visible) img,
body[data-seasonal-effect="fireworks"] .site-logo.is-flaring img {
  filter:
    drop-shadow(0 .35rem .7rem rgba(15, 23, 42, .1))
    drop-shadow(0 0 .74rem rgba(37, 99, 235, .24))
    drop-shadow(0 0 .62rem rgba(239, 35, 60, .22));
}

body[data-seasonal-effect="valentine"] .site-logo {
  overflow: visible;
}

body[data-seasonal-effect="valentine"] .site-logo::before {
  width: 34%;
  height: 128%;
  top: 50%;
  left: 51%;
  border-radius: 999px;
  background:
    radial-gradient(ellipse at 50% 50%, rgba(255, 241, 246, .66), rgba(244, 63, 94, .18) 44%, transparent 68%);
  box-shadow:
    0 0 .85rem rgba(244, 63, 94, .24),
    0 0 1.45rem rgba(219, 39, 119, .18);
  filter: blur(.24rem);
  mix-blend-mode: screen;
  opacity: .7;
  transform: translate3d(-50%, -50%, 0);
}

body[data-seasonal-effect="valentine"] .site-logo::after {
  width: clamp(2.05rem, 18%, 2.65rem);
  height: clamp(1.84rem, 16.2%, 2.38rem);
  top: -13%;
  left: 61.4%;
  border-radius: 0;
  background: url("../images/seasonal/valentine-heart-01.svg") center / contain no-repeat;
  box-shadow: none;
  filter:
    drop-shadow(0 .16rem .16rem rgba(80, 8, 31, .22))
    drop-shadow(0 0 .45rem rgba(244, 63, 94, .36));
  mix-blend-mode: normal;
  opacity: .98;
  transform: translate3d(0, 0, 0) rotate(11deg) scale(1);
  transform-origin: 50% 74%;
}

body[data-seasonal-effect="valentine"] .site-logo:is(:hover, :focus-visible)::before,
body[data-seasonal-effect="valentine"] .site-logo.is-flaring::before {
  animation: signal-logo-valentine-glow 1.45s ease-in-out both;
}

body[data-seasonal-effect="valentine"] .site-logo:is(:hover, :focus-visible)::after,
body[data-seasonal-effect="valentine"] .site-logo.is-flaring::after {
  animation: signal-logo-valentine-heart 1.35s ease-in-out both;
}

body[data-seasonal-effect="valentine"] .site-logo:is(:hover, :focus-visible) img,
body[data-seasonal-effect="valentine"] .site-logo.is-flaring img {
  filter:
    drop-shadow(0 .35rem .7rem rgba(15, 23, 42, .1))
    drop-shadow(0 0 .72rem rgba(244, 63, 94, .32))
    drop-shadow(0 0 .45rem rgba(255, 255, 255, .22));
}

@keyframes signal-logo-flare-move {
  0% {
    transform: translate3d(-18%, -50%, 0) rotate(12deg) scaleX(.94);
  }
  100% {
    transform: translate3d(310%, -50%, 0) rotate(12deg) scaleX(.94);
  }
}

@keyframes signal-logo-flare-opacity {
  0% {
    opacity: 0;
  }
  44% {
    opacity: .74;
  }
  100% {
    opacity: 0;
  }
}

@keyframes signal-logo-glint-move {
  0% {
    transform: translate3d(0, -50%, 0) scale(.48);
  }
  100% {
    transform: translate3d(15.4rem, -50%, 0) scale(.48);
  }
}

@keyframes signal-logo-glint-opacity {
  0%, 18% {
    opacity: 0;
  }
  54% {
    opacity: .72;
  }
  100% {
    opacity: 0;
  }
}

@keyframes signal-logo-lucky-clover {
  0%, 100% {
    opacity: .92;
    transform: translate3d(0, -50%, 0) rotate(-10deg) scale(.82);
  }

  46% {
    opacity: 1;
    transform: translate3d(-.24rem, -52%, 0) rotate(8deg) scale(1);
  }
}

@keyframes signal-logo-hat-tip {
  0%, 100% {
    transform: translate3d(0, 0, 0) rotate(8deg);
  }

  42% {
    transform: translate3d(.03rem, -.08rem, 0) rotate(15deg);
  }

  72% {
    transform: translate3d(-.03rem, .03rem, 0) rotate(5deg);
  }
}

@keyframes signal-logo-witch-hat-tip {
  0%, 100% {
    transform: translate3d(0, 0, 0) rotate(8deg);
  }

  42% {
    transform: translate3d(.05rem, -.08rem, 0) rotate(16deg);
  }

  72% {
    transform: translate3d(-.03rem, .03rem, 0) rotate(4deg);
  }
}

@keyframes signal-logo-halloween-bat {
  0%, 100% {
    opacity: .94;
    transform: translate3d(0, 0, 0) rotate(-8deg) scale(1);
  }

  48% {
    opacity: 1;
    transform: translate3d(.12rem, -.12rem, 0) rotate(5deg) scale(1.08);
  }
}

@keyframes signal-logo-flag-wave {
  0%, 100% {
    transform: translate3d(0, 0, 0) rotate(-1deg) skewY(0deg);
  }

  42% {
    transform: translate3d(.04rem, -.04rem, 0) rotate(3deg) skewY(-4deg);
  }

  70% {
    transform: translate3d(-.02rem, .02rem, 0) rotate(-4deg) skewY(3deg);
  }
}

@keyframes signal-logo-valentine-glow {
  0%, 100% {
    opacity: .7;
    transform: translate3d(-50%, -50%, 0) scale(1);
  }

  46% {
    opacity: .95;
    transform: translate3d(-50%, -50%, 0) scale(1.08);
  }
}

@keyframes signal-logo-valentine-heart {
  0%, 100% {
    transform: translate3d(0, 0, 0) rotate(11deg) scale(.92);
  }

  36% {
    transform: translate3d(.03rem, -.1rem, 0) rotate(4deg) scale(1.06);
  }

  64% {
    transform: translate3d(-.02rem, -.03rem, 0) rotate(15deg) scale(.98);
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-logo::before,
  .site-logo::after {
    display: none;
  }

  body[data-seasonal-effect="lucky"] .site-logo::after {
    display: block;
    animation: none;
  }

  body[data-seasonal-effect="snow"] .site-logo::after {
    display: block;
    animation: none;
  }

  body[data-seasonal-effect="fireworks"] .site-logo::after {
    display: block;
    animation: none;
  }

  body[data-seasonal-effect="halloween"] .site-logo::before,
  body[data-seasonal-effect="halloween"] .site-logo::after {
    display: block;
    animation: none;
  }

  body[data-seasonal-effect="valentine"] .site-logo::before,
  body[data-seasonal-effect="valentine"] .site-logo::after {
    display: block;
    animation: none;
  }

  .site-logo:is(:hover, :focus-visible) img,
  .site-logo.is-flaring img {
    filter: drop-shadow(0 .35rem .7rem rgba(15, 23, 42, .08));
  }
}

.main-nav__links {
  align-items: center;
  padding: .35rem;
  border: 1px solid var(--signal-line);
  border-radius: 999px;
  background: var(--signal-steel);
}

.main-nav__toggle {
  appearance: none;
  display: none;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  min-height: 2.75rem;
  padding: .65rem .95rem;
  border: 1px solid var(--signal-line);
  border-radius: 999px;
  background: var(--signal-red);
  color: #fff;
  font: inherit;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 10px 22px rgba(11, 13, 16, .12);
}

.main-nav__toggle wa-icon {
  font-size: 1rem;
}

.main-nav__links > a,
.main-nav__mega-trigger {
  appearance: none;
  display: inline-flex;
  align-items: center;
  gap: .42rem;
  min-height: 2.5rem;
  padding: .65rem .95rem;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #252b34;
  font: inherit;
  text-decoration: none;
  cursor: pointer;
}

.main-nav__links > a:hover,
.main-nav__mega-trigger:hover {
  background: #fff;
  color: var(--signal-red-dark);
}

.main-nav__links > a[aria-current="page"],
.main-nav__mega-trigger.is-active {
  background: #fff;
  color: var(--signal-red-dark);
  box-shadow: 0 8px 18px rgba(11, 13, 16, .08);
}

.main-nav__mega {
  display: inline-flex;
}

.main-nav__mega-trigger wa-icon {
  font-size: .72rem;
}

.main-nav__mega-panel {
  width: min(92vw, 56rem);
  max-height: min(72vh, 38rem);
  overflow: auto;
  padding: 1rem;
  border: 1px solid rgba(24, 32, 44, .14);
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 26px 70px rgba(11, 16, 24, .24);
}

.main-nav__mega-head {
  padding: .15rem .2rem .85rem;
  border-bottom: 1px solid var(--signal-line);
}

.main-nav__mega-head p,
.main-nav__mega-head h2 {
  margin: 0;
}

.main-nav__mega-head p {
  color: var(--signal-gold);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.main-nav__mega-head h2 {
  color: var(--signal-ink);
  font-size: 1.55rem;
  line-height: 1.05;
}

.main-nav__mega-head a {
  color: var(--signal-red-dark);
  font-weight: 900;
  text-decoration: none;
  white-space: nowrap;
}

.main-nav__mega-grid {
  --min-column-size: 17.5rem;
  padding-top: .85rem;
}

.main-nav__manufacturer {
  display: grid;
  grid-template-columns: 7.4rem minmax(0, 1fr) auto;
  align-items: center;
  gap: .8rem;
  min-height: 6.75rem;
  padding: .65rem .72rem;
  border: 1px solid var(--signal-line);
  border-radius: .7rem;
  background: linear-gradient(180deg, #fff, #f7f9fc);
  color: var(--signal-ink);
  text-decoration: none;
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.main-nav__manufacturer:hover {
  border-color: rgba(243, 179, 24, .58);
  box-shadow: 0 14px 26px rgba(11, 16, 24, .1);
  transform: translateY(-1px);
}

.main-nav__manufacturer-logo {
  display: grid;
  place-items: center;
  width: 7.4rem;
  height: 5.35rem;
  overflow: hidden;
  border: 1px solid rgba(24, 32, 44, .1);
  border-radius: .65rem;
  background: #fff;
}

.main-nav__manufacturer-logo img {
  display: block;
  width: auto;
  height: auto;
  max-width: 92%;
  max-height: 92%;
  object-fit: contain;
  object-position: center;
  filter: drop-shadow(0 2px 5px rgba(17, 24, 39, .28));
}

.main-nav__manufacturer-logo strong {
  color: var(--signal-red-dark);
  font-size: .92rem;
  font-weight: 900;
}

.main-nav__manufacturer-copy {
  min-width: 0;
}

.main-nav__manufacturer-copy strong,
.main-nav__manufacturer-copy small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.main-nav__manufacturer-copy strong {
  color: var(--signal-ink);
  font-weight: 900;
}

.main-nav__manufacturer-copy small {
  color: var(--signal-muted);
  font-size: .82rem;
  font-weight: 750;
}

.main-nav__manufacturer > wa-icon {
  color: var(--signal-gold);
  font-size: .9rem;
}

.main-nav__mega-panel--trailers {
  width: min(94vw, 72rem);
}

.main-nav__trailer-groups {
  --min-column-size: 28rem;
  padding-top: .9rem;
}

.main-nav__trailer-group {
  min-width: 0;
  padding: .85rem;
  border: 1px solid var(--signal-line);
  border-radius: .8rem;
  background: linear-gradient(180deg, #fff, #f7f9fc);
}

.main-nav__trailer-group-head {
  margin-bottom: .65rem;
}

.main-nav__trailer-group-head a {
  color: var(--signal-ink);
  font-size: 1rem;
  font-weight: 900;
  line-height: 1.15;
  text-decoration: none;
}

.main-nav__trailer-group-head a:hover {
  color: var(--signal-red-dark);
}

.main-nav__trailer-group-head span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.85rem;
  min-height: 1.5rem;
  padding-inline: .45rem;
  border-radius: 999px;
  background: rgba(243, 179, 24, .16);
  color: var(--signal-red-dark);
  font-size: .78rem;
  font-weight: 900;
}

.main-nav__trailer-item {
  --flank-size: 4.25rem;
  --content-percentage: 48%;
  min-height: 3.8rem;
  padding: .38rem;
  border-radius: .62rem;
  color: var(--signal-ink);
  text-decoration: none;
  transition: background .16s ease, transform .16s ease;
}

.main-nav__trailer-item:hover {
  background: #fff;
  transform: translateX(2px);
}

.main-nav__trailer-thumb {
  display: block;
  width: 4.25rem;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  border-radius: .5rem;
  background: #0d1117;
}

.main-nav__trailer-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.main-nav__trailer-copy {
  min-width: 0;
}

.main-nav__trailer-copy strong,
.main-nav__trailer-copy small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.main-nav__trailer-copy strong {
  color: var(--signal-ink);
  font-size: .9rem;
  font-weight: 900;
}

.main-nav__trailer-copy small {
  color: var(--signal-gold);
  font-size: .82rem;
  font-weight: 900;
}

.main-nav__trailer-more {
  margin-top: auto;
  padding-top: .65rem;
  border-top: 1px solid var(--signal-line);
  color: var(--signal-red-dark);
  font-size: .9rem;
  font-weight: 900;
  text-decoration: none;
}

.main-nav__trailer-more:hover {
  color: var(--signal-ink);
}

.main-nav__trailer-more wa-icon {
  font-size: .8rem;
}

.main-nav__actions {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: .65rem;
  min-width: 0;
}

wa-dropdown:not(:defined) > :not([slot="trigger"]) {
  display: none !important;
}

.front-site-login,
.front-site-account-menu {
  position: relative;
  z-index: 90;
  justify-self: end;
  --front-site-login-width: min(92vw, 22rem);
}

.top-strip .front-site-login wa-button[slot="trigger"]::part(base),
.top-strip .front-site-account-menu__trigger::part(base) {
  max-width: 13rem;
  min-height: 2rem;
  border-color: var(--wa-color-brand-border-loud);
  background: var(--wa-color-brand-fill-loud);
  color: var(--wa-color-brand-on-loud);
  box-shadow: none;
}

.top-strip .front-site-login wa-button[slot="trigger"]::part(label),
.top-strip .front-site-account-menu__trigger::part(label) {
  color: var(--wa-color-brand-on-loud);
}

.top-strip .front-site-login wa-button[slot="trigger"]::part(caret),
.top-strip .front-site-account-menu__trigger::part(caret) {
  color: var(--wa-color-brand-on-loud);
}

.front-site-login wa-button[slot="trigger"]::part(base),
.front-site-account-menu__trigger::part(base) {
  max-width: 11rem;
  min-height: 2.65rem;
  border-color: var(--wa-color-brand-border-loud);
  background: var(--wa-color-brand-fill-loud);
  color: var(--wa-color-brand-on-loud);
  box-shadow: var(--wa-shadow-s);
  overflow: hidden;
}

.front-site-login wa-button[slot="trigger"]:hover::part(base),
.front-site-login wa-button[slot="trigger"]:focus-visible::part(base),
.front-site-account-menu__trigger:hover::part(base),
.front-site-account-menu__trigger:focus-visible::part(base) {
  border-color: var(--wa-color-brand-border-loud);
  background: var(--wa-color-brand-fill-loud);
  color: var(--wa-color-brand-on-loud);
  filter: brightness(1.04);
}

.front-site-account-menu__avatar {
  display: inline-flex;
  align-items: center;
  margin-inline-end: .28rem;
}

.front-site-account-menu__avatar wa-avatar {
  --size: 1.45rem;
}

.front-site-login::part(menu),
.front-site-account-menu::part(menu) {
  z-index: 10000;
  box-sizing: border-box;
  min-width: var(--front-site-login-width);
  max-width: var(--front-site-login-width);
  padding: 0;
  overflow: visible;
  border: var(--wa-border-width-s) solid var(--wa-color-brand-border-loud);
  border-radius: var(--wa-border-radius-l);
  background: var(--wa-color-surface-raised);
  box-shadow: var(--wa-shadow-l);
  color: var(--wa-color-text-normal);
}

.front-site-account-menu wa-dropdown-item {
  color: var(--wa-color-text-normal);
  font-weight: 750;
}

.front-site-account-menu wa-dropdown-item::part(base),
.front-site-account-menu wa-dropdown-item::part(icon),
.front-site-account-menu wa-dropdown-item::part(label) {
  color: currentColor;
}

.front-site-account-menu wa-dropdown-item:hover,
.front-site-account-menu wa-dropdown-item:focus-within {
  color: var(--wa-color-text-normal);
  background: var(--wa-color-surface-lowered);
}

.front-site-account-menu wa-dropdown-item[variant="danger"] {
  color: var(--wa-color-danger-fill-loud);
}

.front-site-account-menu__return {
  color: var(--wa-color-text-link);
}

.front-site-account-menu wa-divider {
  --color: var(--wa-color-surface-border);
}

.front-site-login__panel {
  box-sizing: border-box;
  display: grid;
  gap: var(--wa-space-m);
  width: var(--front-site-login-width);
  padding: var(--wa-space-m);
  background: var(--wa-color-surface-raised);
  color: var(--wa-color-text-normal);
}

.front-site-login__panel wa-input {
  --wa-form-control-background-color: var(--wa-color-surface-default);
  --wa-form-control-border-color: var(--wa-color-surface-border);
  --wa-form-control-label-color: var(--wa-color-text-normal);
  --wa-form-control-value-color: var(--wa-color-text-normal);
  --wa-form-control-placeholder-color: var(--wa-color-text-quiet);
  width: 100%;
  color: var(--wa-color-text-normal);
}

.front-site-login__panel wa-input::part(form-control-label) {
  color: var(--wa-color-text-normal);
}

.front-site-login__panel wa-input::part(base) {
  min-height: 3rem;
  border-color: var(--wa-color-surface-border);
  background: var(--wa-color-surface-default);
  color: var(--wa-color-text-normal);
  box-shadow: none;
}

.front-site-login__panel wa-input::part(input) {
  min-height: 2.85rem;
  color: var(--wa-color-text-normal);
  caret-color: var(--wa-color-brand-fill-loud);
  -webkit-text-fill-color: var(--wa-color-text-normal);
}

.front-site-login__panel wa-input::part(input)::placeholder {
  color: var(--wa-color-text-quiet);
  -webkit-text-fill-color: var(--wa-color-text-quiet);
}

.front-site-login__panel wa-input::part(clear-button),
.front-site-login__panel wa-input::part(password-toggle-button) {
  color: var(--wa-color-text-quiet);
}

.front-site-login__panel wa-input:focus-within::part(base) {
  border-color: var(--wa-color-brand-border-loud);
  box-shadow: 0 0 0 var(--wa-focus-ring-width) var(--wa-focus-ring-color);
}

.front-site-login__panel wa-checkbox::part(label),
.front-site-login__panel wa-switch::part(label) {
  color: var(--wa-color-text-normal);
}

.front-site-login__panel wa-checkbox::part(control) {
  border-color: var(--wa-color-surface-border);
  background: var(--wa-color-surface-default);
}

.front-site-login__feedback:empty {
  display: none;
}

.front-site-login__feedback wa-callout::part(base) {
  font-size: .88rem;
}

.front-site-login__social {
  display: grid;
  gap: var(--wa-space-xs);
  padding: var(--wa-space-3xs) 0 var(--wa-space-2xs);
}

.front-site-login__social-label,
.front-site-login__social-separator {
  color: var(--wa-color-text-quiet);
  font-size: .76rem;
  font-weight: 760;
  letter-spacing: .08em;
  line-height: 1.2;
  text-align: center;
  text-transform: uppercase;
}

.front-site-login__social-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(8.25rem, 1fr));
  gap: var(--wa-space-xs);
}

.front-site-login__social-button,
.front-site-login__social-button::part(base),
.front-site-login__submit,
.front-site-login__submit::part(base) {
  width: 100%;
}

.front-site-login__social-button::part(base) {
  border-color: var(--wa-color-surface-border);
  background: var(--wa-color-surface-default);
  color: var(--wa-color-text-normal);
}

.front-site-login__social-button:hover::part(base),
.front-site-login__social-button:focus-visible::part(base) {
  border-color: var(--wa-color-brand-border-loud);
  background: var(--wa-color-surface-default);
  color: var(--wa-color-text-normal);
}

.front-site-login__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--wa-space-s);
  font-size: .88rem;
}

.front-site-login__meta a {
  color: var(--wa-color-text-link);
  text-decoration: underline;
  text-underline-offset: .18em;
  white-space: nowrap;
}

.front-site-login__meta a:hover,
.front-site-login__meta a:focus-visible {
  color: var(--wa-color-brand-border-loud);
}

.front-site-login__submit::part(base) {
  border-color: var(--wa-color-brand-border-loud);
  background: var(--wa-color-brand-fill-loud);
  color: var(--wa-color-brand-on-loud);
}

.hero {
  position: relative;
  min-height: min(78svh, 46rem);
  overflow: hidden;
  display: grid;
  align-items: end;
  padding: clamp(6rem, 13vw, 10rem) max(1rem, calc((100vw - 1180px) / 2)) clamp(3rem, 7vw, 5rem);
  isolation: isolate;
}

.hero-media,
.hero-media__poster,
.hero-media__video,
.hero__shade {
  position: absolute;
  inset: 0;
}

.hero-media {
  z-index: -2;
  overflow: hidden;
}

.hero-media__poster,
.hero-media__video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero-media__video {
  z-index: 1;
  transition: opacity .45s ease;
}

.hero-media__video.is-ended {
  opacity: 0;
}

.hero-flying-logo {
  position: absolute;
  top: clamp(1rem, 3vw, 2rem);
  right: max(1rem, calc((100vw - 1180px) / 2));
  z-index: 3;
  width: clamp(8.5rem, 17vw, 15rem);
  height: auto;
  pointer-events: none;
  opacity: 0;
  filter:
    drop-shadow(0 .65rem 1.1rem rgba(0, 0, 0, .48))
    drop-shadow(0 0 1.35rem rgba(243, 179, 24, .22));
  animation: signal-hero-logo-fly-in 1.15s cubic-bezier(.16, .86, .23, 1) .25s both;
}

@keyframes signal-hero-logo-fly-in {
  0% {
    opacity: 0;
    transform: translate(calc(-100vw + 7rem), calc(78svh - 1rem)) rotate(-12deg) scale(2.6);
  }
  45% {
    opacity: 1;
    transform: translate(-11vw, 10vh) rotate(4deg) scale(1.55);
  }
  78% {
    opacity: 1;
    transform: translate(.45rem, -.25rem) rotate(-1deg) scale(1.04);
  }
  100% {
    opacity: 1;
    transform: translate(0, 0) rotate(0deg) scale(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-flying-logo {
    opacity: 1;
    animation: none;
  }
}

.hero__shade {
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(8, 9, 12, .92), rgba(8, 9, 12, .58) 46%, rgba(8, 9, 12, .12)),
    linear-gradient(0deg, rgba(8, 9, 12, .76), rgba(8, 9, 12, .05) 42%);
}

.hero__effects {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

.hero__effects--fireworks {
  opacity: .98;
  background:
    radial-gradient(circle at 18% 24%, rgba(37, 99, 235, .22), transparent 18rem),
    radial-gradient(circle at 78% 20%, rgba(239, 35, 60, .2), transparent 18rem),
    radial-gradient(circle at 52% 52%, rgba(255, 209, 102, .16), transparent 22rem),
    linear-gradient(180deg, rgba(37, 99, 235, .08), rgba(239, 35, 60, .08) 55%, rgba(255, 209, 102, .12));
  mix-blend-mode: screen;
}

.hero__effects--fireworks::before {
  content: "";
  position: absolute;
  inset: 0;
  height: 100%;
  pointer-events: none;
  background:
    radial-gradient(circle at 15% 76%, rgba(255, 255, 255, .1), transparent 18%),
    radial-gradient(circle at 36% 34%, rgba(37, 99, 235, .18), transparent 17%),
    radial-gradient(circle at 66% 28%, rgba(239, 35, 60, .2), transparent 18%),
    radial-gradient(circle at 86% 62%, rgba(255, 209, 102, .18), transparent 20%),
    linear-gradient(0deg, rgba(255, 209, 102, .16), transparent 44%);
  filter: blur(.18rem);
  opacity: .86;
}

.hero__effects--fireworks canvas {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  background: transparent;
}

.hero__effects--veterans {
  opacity: .94;
  background:
    radial-gradient(circle at 18% 28%, rgba(37, 99, 235, .22), transparent 18rem),
    radial-gradient(circle at 82% 24%, rgba(190, 18, 60, .18), transparent 20rem),
    linear-gradient(135deg, rgba(15, 23, 42, .14), rgba(37, 99, 235, .1) 46%, rgba(190, 18, 60, .1));
  mix-blend-mode: screen;
}

.hero__effects--veterans::before,
.hero__effects--veterans::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.hero__effects--veterans::before {
  inset: 0;
  background:
    repeating-linear-gradient(135deg, rgba(255, 255, 255, .08) 0 1.5rem, transparent 1.5rem 3.8rem),
    linear-gradient(90deg, rgba(37, 99, 235, .08), transparent 42%, rgba(190, 18, 60, .08));
  opacity: .34;
}

.hero__effects--veterans::after {
  inset: auto -8% -1px;
  height: clamp(4rem, 12vw, 8rem);
  background:
    radial-gradient(ellipse at 18% 100%, rgba(37, 99, 235, .28) 0 38%, transparent 39%),
    radial-gradient(ellipse at 52% 100%, rgba(255, 255, 255, .2) 0 34%, transparent 35%),
    radial-gradient(ellipse at 84% 100%, rgba(190, 18, 60, .26) 0 40%, transparent 41%);
  filter: blur(.18rem);
  opacity: .7;
}

.hero__effects--snow {
  opacity: .92;
  background:
    radial-gradient(circle at 18% 14%, rgba(255, 255, 255, .22), transparent 18rem),
    radial-gradient(circle at 82% 8%, rgba(219, 234, 254, .24), transparent 20rem),
    linear-gradient(180deg, rgba(219, 234, 254, .1), rgba(255, 255, 255, .04) 62%, rgba(255, 255, 255, .14));
}

.hero__effects--snow::before {
  content: "";
  position: absolute;
  inset: auto -6% -1px;
  height: clamp(2.5rem, 8vw, 6.75rem);
  pointer-events: none;
  background:
    radial-gradient(ellipse at 12% 100%, rgba(255, 255, 255, .36) 0 42%, transparent 43%),
    radial-gradient(ellipse at 38% 100%, rgba(255, 255, 255, .28) 0 36%, transparent 37%),
    radial-gradient(ellipse at 66% 100%, rgba(255, 255, 255, .34) 0 44%, transparent 45%),
    radial-gradient(ellipse at 88% 100%, rgba(255, 255, 255, .24) 0 38%, transparent 39%);
  filter: blur(.08rem);
  opacity: .72;
}

.hero__effects--lucky {
  opacity: .95;
  background:
    radial-gradient(circle at 82% 16%, rgba(255, 207, 64, .22), transparent 22rem),
    radial-gradient(circle at 10% 85%, rgba(20, 184, 98, .2), transparent 18rem),
    linear-gradient(100deg, transparent 12%, rgba(23, 163, 82, .1) 42%, rgba(255, 210, 84, .12) 52%, transparent 72%);
  mix-blend-mode: screen;
}

.hero__effects--lucky::before,
.hero__effects--lucky::after {
  content: "";
  position: absolute;
  inset-block: -20%;
  left: -35%;
  width: 34%;
  border-radius: 999px;
  pointer-events: none;
  opacity: 0;
  transform: translate3d(0, 0, 0) rotate(14deg);
  animation:
    seasonalLuckySweep 6.8s linear infinite,
    seasonalLuckySweepGlow 6.8s ease-in-out infinite;
}

.hero__effects--lucky::before {
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .18), rgba(255, 212, 84, .32), transparent);
  filter: blur(.45rem);
}

.hero__effects--lucky::after {
  width: 12%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .3), transparent);
  filter: blur(.2rem);
  animation-delay: .35s;
}

.hero__effects--halloween {
  opacity: .95;
  background:
    radial-gradient(circle at 82% 18%, rgba(255, 174, 66, .34) 0 4.5rem, rgba(255, 174, 66, .08) 4.7rem, transparent 11rem),
    radial-gradient(circle at 18% 86%, rgba(109, 40, 217, .24), transparent 19rem),
    linear-gradient(180deg, rgba(16, 9, 24, .2), rgba(20, 12, 28, .36) 52%, rgba(249, 115, 22, .14));
  mix-blend-mode: screen;
}

.hero__effects--halloween::before {
  content: "";
  position: absolute;
  inset: auto -10% -1px;
  height: clamp(5rem, 16vw, 12rem);
  pointer-events: none;
  background:
    radial-gradient(ellipse at 16% 100%, rgba(109, 40, 217, .28) 0 38%, transparent 39%),
    radial-gradient(ellipse at 48% 100%, rgba(249, 115, 22, .18) 0 30%, transparent 31%),
    radial-gradient(ellipse at 82% 100%, rgba(15, 23, 42, .35) 0 42%, transparent 43%),
    linear-gradient(180deg, transparent, rgba(8, 7, 12, .48));
  filter: blur(.22rem);
  opacity: .72;
}

.hero__effects--halloween::after {
  content: "";
  position: absolute;
  top: clamp(2.2rem, 10vw, 7rem);
  right: clamp(2rem, 8vw, 8rem);
  width: clamp(4.2rem, 12vw, 8.6rem);
  aspect-ratio: 1;
  border-radius: 50%;
  background:
    radial-gradient(circle at 36% 33%, rgba(255, 247, 214, .9) 0 7%, transparent 8%),
    radial-gradient(circle at 64% 54%, rgba(121, 74, 35, .17) 0 10%, transparent 11%),
    radial-gradient(circle at 50% 50%, rgba(255, 190, 88, .92), rgba(249, 115, 22, .68) 58%, rgba(249, 115, 22, 0) 70%);
  filter:
    blur(.02rem)
    drop-shadow(0 0 1.2rem rgba(249, 115, 22, .54))
    drop-shadow(0 0 2.4rem rgba(109, 40, 217, .22));
  opacity: .82;
}

.hero__effects--valentine {
  opacity: .94;
  background:
    radial-gradient(circle at 78% 22%, rgba(255, 190, 210, .32), transparent 18rem),
    radial-gradient(circle at 18% 82%, rgba(244, 63, 94, .24), transparent 19rem),
    linear-gradient(135deg, rgba(255, 241, 246, .08), rgba(219, 39, 119, .16) 52%, rgba(255, 255, 255, .06));
  mix-blend-mode: screen;
}

.hero__effects--valentine::before,
.hero__effects--valentine::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.hero__effects--valentine::before {
  inset-block: -22%;
  left: -34%;
  width: 32%;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .22), rgba(244, 63, 94, .22), transparent);
  filter: blur(.42rem);
  opacity: 0;
  transform: rotate(18deg);
  animation:
    seasonalValentineSweep 7.6s linear infinite,
    seasonalValentineSweepGlow 7.6s ease-in-out infinite;
}

.hero__effects--valentine::after {
  right: clamp(2rem, 8vw, 8rem);
  bottom: clamp(2rem, 7vw, 6rem);
  width: clamp(5rem, 16vw, 11rem);
  aspect-ratio: 1;
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 50%, rgba(255, 228, 236, .34), rgba(244, 63, 94, .1) 42%, transparent 70%);
  filter: blur(.14rem);
  opacity: .84;
}

.hero__effects--easter {
  opacity: .94;
  background:
    radial-gradient(circle at 76% 18%, rgba(253, 224, 71, .2), transparent 17rem),
    radial-gradient(circle at 18% 82%, rgba(167, 243, 208, .22), transparent 18rem),
    radial-gradient(circle at 46% 48%, rgba(216, 180, 254, .16), transparent 22rem),
    linear-gradient(135deg, rgba(254, 249, 195, .1), rgba(186, 230, 253, .12) 48%, rgba(251, 207, 232, .12));
  mix-blend-mode: screen;
}

.hero__effects--easter::before,
.hero__effects--easter::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.hero__effects--easter::before {
  inset: auto -8% -1px;
  height: clamp(4rem, 12vw, 8.5rem);
  background:
    radial-gradient(ellipse at 10% 100%, rgba(167, 243, 208, .28) 0 38%, transparent 39%),
    radial-gradient(ellipse at 36% 100%, rgba(253, 224, 71, .22) 0 34%, transparent 35%),
    radial-gradient(ellipse at 64% 100%, rgba(251, 207, 232, .26) 0 42%, transparent 43%),
    radial-gradient(ellipse at 90% 100%, rgba(186, 230, 253, .24) 0 36%, transparent 37%);
  filter: blur(.14rem);
  opacity: .74;
}

.hero__effects--easter::after {
  inset-block: -22%;
  left: -34%;
  width: 30%;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .22), rgba(216, 180, 254, .2), rgba(253, 224, 71, .2), transparent);
  filter: blur(.44rem);
  opacity: 0;
  transform: rotate(17deg);
  animation:
    seasonalEasterSweep 7.4s linear infinite,
    seasonalEasterSweepGlow 7.4s ease-in-out infinite;
}

.hero__effects--fall {
  opacity: .95;
  background:
    radial-gradient(circle at 82% 18%, rgba(245, 158, 11, .26), transparent 20rem),
    radial-gradient(circle at 16% 88%, rgba(185, 78, 24, .24), transparent 18rem),
    linear-gradient(145deg, rgba(251, 191, 36, .08), rgba(154, 52, 18, .18) 54%, rgba(120, 53, 15, .1));
  mix-blend-mode: screen;
}

.hero__effects--fall::before,
.hero__effects--fall::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.hero__effects--fall::before {
  inset: auto -8% -1px;
  height: clamp(4rem, 11vw, 8rem);
  background:
    radial-gradient(ellipse at 12% 100%, rgba(180, 83, 9, .28) 0 38%, transparent 39%),
    radial-gradient(ellipse at 38% 100%, rgba(217, 119, 6, .2) 0 34%, transparent 35%),
    radial-gradient(ellipse at 68% 100%, rgba(124, 45, 18, .26) 0 42%, transparent 43%),
    radial-gradient(ellipse at 91% 100%, rgba(250, 204, 21, .16) 0 32%, transparent 33%);
  filter: blur(.18rem);
  opacity: .7;
}

.hero__effects--fall::after {
  inset-block: -20%;
  left: -34%;
  width: 28%;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(255, 244, 214, .2), rgba(245, 158, 11, .24), transparent);
  filter: blur(.48rem);
  opacity: 0;
  transform: rotate(16deg);
  animation:
    seasonalFallSweep 8.8s linear infinite,
    seasonalFallSweepGlow 8.8s ease-in-out infinite;
}

.hero__effects--thanksgiving {
  opacity: .96;
  background:
    radial-gradient(circle at 78% 22%, rgba(251, 146, 60, .3), transparent 18rem),
    radial-gradient(circle at 14% 84%, rgba(127, 29, 29, .26), transparent 20rem),
    radial-gradient(circle at 50% 50%, rgba(245, 158, 11, .12), transparent 24rem),
    linear-gradient(135deg, rgba(120, 53, 15, .22), rgba(217, 119, 6, .16) 48%, rgba(127, 29, 29, .16));
  mix-blend-mode: screen;
}

.hero__effects--thanksgiving::before,
.hero__effects--thanksgiving::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.hero__effects--thanksgiving::before {
  right: clamp(1.2rem, 6vw, 6rem);
  bottom: clamp(1.2rem, 5vw, 4.5rem);
  width: clamp(7rem, 20vw, 14rem);
  aspect-ratio: 1.1;
  background: url("../images/seasonal/thanksgiving/thanksgiving-pumpkin.svg") center / contain no-repeat;
  filter:
    drop-shadow(0 .55rem 1rem rgba(20, 12, 8, .18))
    drop-shadow(0 0 1.35rem rgba(245, 158, 11, .24));
  opacity: .46;
}

.hero__effects--thanksgiving::after {
  inset-block: -22%;
  left: -32%;
  width: 30%;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(255, 237, 213, .2), rgba(251, 146, 60, .28), transparent);
  filter: blur(.46rem);
  opacity: 0;
  transform: rotate(18deg);
  animation:
    seasonalFallSweep 7.8s linear infinite,
    seasonalFallSweepGlow 7.8s ease-in-out infinite;
}

.seasonal-fall__leaf,
.seasonal-fall__item,
.seasonal-thanksgiving__leaf,
.seasonal-thanksgiving__item,
.seasonal-fall__mote,
.seasonal-thanksgiving__mote,
.seasonal-fall__whirlwind,
.seasonal-thanksgiving__whirlwind {
  position: absolute;
  pointer-events: none;
  will-change: transform, opacity;
}

.seasonal-fall__leaf,
.seasonal-thanksgiving__leaf {
  top: -3rem;
  z-index: 2;
  width: var(--fall-size, var(--thanksgiving-size, 2rem));
  aspect-ratio: .78 / 1;
  opacity: var(--fall-opacity, var(--thanksgiving-opacity, .62));
  transform:
    translate3d(0, -1rem, 0)
    rotate(var(--fall-rotate, var(--thanksgiving-rotate, -12deg)))
    scale(var(--fall-scale, var(--thanksgiving-scale, 1)));
}

.seasonal-fall__leaf {
  left: var(--fall-left, 50%);
  animation: seasonalFallLeafDrift var(--fall-duration, 16s) var(--fall-delay, 0s) linear infinite;
}

.seasonal-thanksgiving__leaf {
  left: var(--thanksgiving-left, 50%);
  animation: seasonalThanksgivingLeafDrift var(--thanksgiving-duration, 15s) var(--thanksgiving-delay, 0s) linear infinite;
}

.seasonal-fall__item {
  top: var(--fall-top, 12svh);
  left: var(--fall-left, 50%);
  z-index: 2;
  width: var(--fall-size, 3.5rem);
  aspect-ratio: 1;
  background: center / contain no-repeat;
  opacity: var(--fall-opacity, .64);
  filter:
    drop-shadow(0 .3rem .48rem rgba(54, 24, 6, .18))
    drop-shadow(0 0 .58rem rgba(245, 158, 11, .2));
  transform:
    translate3d(0, -1rem, 0)
    rotate(var(--fall-rotate, -10deg))
    scale(var(--fall-scale, 1));
  animation: seasonalFallItemDrift var(--fall-duration, 17s) var(--fall-delay, 0s) linear infinite;
}

.seasonal-thanksgiving__item {
  top: var(--thanksgiving-top, 12svh);
  left: var(--thanksgiving-left, 50%);
  z-index: 2;
  width: var(--thanksgiving-size, 4rem);
  aspect-ratio: 1;
  background: center / contain no-repeat;
  opacity: var(--thanksgiving-opacity, .6);
  filter:
    drop-shadow(0 .32rem .46rem rgba(45, 24, 10, .2))
    drop-shadow(0 0 .55rem rgba(245, 158, 11, .16));
  transform:
    translate3d(0, -1rem, 0)
    rotate(var(--thanksgiving-rotate, -8deg))
    scale(var(--thanksgiving-scale, 1));
  animation: seasonalThanksgivingItemFloat var(--thanksgiving-duration, 12s) var(--thanksgiving-delay, 0s) ease-in-out infinite;
}

.seasonal-thanksgiving__item--leafy {
  animation-name: seasonalThanksgivingLeafyFloat;
}

.seasonal-fall__leaf::before,
.seasonal-thanksgiving__leaf::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 84% 0 78% 10%;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .26), transparent 32%),
    linear-gradient(45deg, transparent 46%, rgba(120, 53, 15, .34) 47% 52%, transparent 53%),
    var(--fall-color, var(--thanksgiving-color, #d97706));
  box-shadow: inset -.22rem -.24rem .32rem rgba(120, 53, 15, .22);
  filter:
    drop-shadow(0 .18rem .22rem rgba(45, 24, 10, .18))
    drop-shadow(0 0 .48rem rgba(245, 158, 11, .16));
  transform: skew(-8deg) rotate(45deg);
}

.seasonal-fall__leaf::after,
.seasonal-thanksgiving__leaf::after {
  content: "";
  position: absolute;
  left: 47%;
  bottom: -8%;
  width: 7%;
  height: 52%;
  border-radius: 999px;
  background: rgba(92, 45, 15, .72);
  transform: rotate(42deg);
  transform-origin: bottom;
}

.seasonal-fall__mote,
.seasonal-thanksgiving__mote {
  top: var(--fall-top, var(--thanksgiving-top, 12svh));
  z-index: 1;
  width: var(--fall-size, var(--thanksgiving-size, .24rem));
  aspect-ratio: 1;
  border-radius: 999px;
  opacity: var(--fall-opacity, var(--thanksgiving-opacity, .38));
  background: rgba(255, 237, 213, .82);
  box-shadow:
    0 0 .35rem rgba(255, 237, 213, .72),
    0 0 .85rem rgba(245, 158, 11, .34);
}

.seasonal-fall__mote {
  left: var(--fall-left, 50%);
  animation: seasonalFallMote var(--fall-duration, 10s) var(--fall-delay, 0s) linear infinite;
}

.seasonal-thanksgiving__mote {
  left: var(--thanksgiving-left, 50%);
  background: rgba(255, 247, 237, .86);
  box-shadow:
    0 0 .34rem rgba(255, 247, 237, .78),
    0 0 .9rem rgba(251, 146, 60, .42);
  animation: seasonalThanksgivingMoteFloat var(--thanksgiving-duration, 10s) var(--thanksgiving-delay, 0s) ease-in-out infinite;
}

.seasonal-fall__whirlwind,
.seasonal-thanksgiving__whirlwind {
  top: var(--fall-top, var(--thanksgiving-top, 42svh));
  left: var(--fall-left, var(--thanksgiving-left, 0));
  z-index: 1;
  width: var(--fall-size, var(--thanksgiving-size, 8rem));
  aspect-ratio: 1;
  border-radius: 999px;
  opacity: var(--fall-opacity, var(--thanksgiving-opacity, .28));
  filter:
    blur(.02rem)
    drop-shadow(0 0 .7rem rgba(255, 237, 213, .2));
  transform: translate3d(var(--fall-gust-start, var(--thanksgiving-gust-start, -12vw)), 0, 0) rotate(0deg) scale(.55);
  animation: seasonalWindWhirl var(--fall-duration, var(--thanksgiving-duration, 14s)) var(--fall-delay, var(--thanksgiving-delay, 0s)) ease-in-out infinite;
}

.seasonal-fall__whirlwind::before,
.seasonal-fall__whirlwind::after,
.seasonal-thanksgiving__whirlwind::before,
.seasonal-thanksgiving__whirlwind::after {
  content: "";
  position: absolute;
  inset: 12%;
  border-radius: 999px;
  background:
    conic-gradient(from 30deg, transparent 0 13%, rgba(255, 237, 213, .52) 18%, transparent 25% 44%, rgba(245, 158, 11, .46) 49%, transparent 58% 74%, rgba(180, 83, 9, .34) 80%, transparent 89%),
    radial-gradient(circle, transparent 0 38%, rgba(255, 237, 213, .22) 42%, transparent 58%);
  -webkit-mask: radial-gradient(circle, transparent 0 33%, #000 37% 64%, transparent 69%);
  mask: radial-gradient(circle, transparent 0 33%, #000 37% 64%, transparent 69%);
}

.seasonal-fall__whirlwind::after,
.seasonal-thanksgiving__whirlwind::after {
  inset: 24%;
  opacity: .72;
  transform: rotate(82deg);
  filter: blur(.04rem);
}

.seasonal-thanksgiving__whirlwind::before,
.seasonal-thanksgiving__whirlwind::after {
  background:
    conic-gradient(from 30deg, transparent 0 13%, rgba(255, 247, 237, .5) 18%, transparent 25% 44%, rgba(251, 146, 60, .46) 49%, transparent 58% 74%, rgba(127, 29, 29, .34) 80%, transparent 89%),
    radial-gradient(circle, transparent 0 38%, rgba(255, 237, 213, .2) 42%, transparent 58%);
}

@keyframes seasonalFallSweep {
  0% {
    transform: translate3d(0, 0, 0) rotate(16deg);
  }

  100% {
    transform: translate3d(430%, 0, 0) rotate(16deg);
  }
}

@keyframes seasonalFallSweepGlow {
  0%, 24%, 100% {
    opacity: 0;
  }

  52% {
    opacity: .62;
  }
}

@keyframes seasonalFallLeafDrift {
  0% {
    opacity: 0;
    transform: translate3d(0, -2rem, 0) rotate(var(--fall-rotate, -12deg)) scale(var(--fall-scale, 1));
  }

  12%, 78% {
    opacity: var(--fall-opacity, .62);
  }

  50% {
    transform: translate3d(var(--fall-drift-mid, 2rem), 48svh, 0) rotate(var(--fall-spin-mid, 120deg)) scale(var(--fall-scale, 1));
  }

  100% {
    opacity: 0;
    transform: translate3d(var(--fall-drift-end, -2rem), 104svh, 0) rotate(var(--fall-spin-end, 320deg)) scale(var(--fall-scale, 1));
  }
}

@keyframes seasonalFallItemDrift {
  0% {
    opacity: 0;
    transform: translate3d(var(--fall-gust-start, -14vw), 0, 0) rotate(var(--fall-rotate, -10deg)) scale(var(--fall-scale, 1));
  }

  10%, 86% {
    opacity: var(--fall-opacity, .64);
  }

  30% {
    transform: translate3d(var(--fall-gust-one, 34vw), var(--fall-lift-one, -3svh), 0) rotate(var(--fall-spin-one, 44deg)) scale(var(--fall-scale, 1));
  }

  64% {
    transform: translate3d(var(--fall-gust-two, 72vw), var(--fall-dip-two, 12svh), 0) rotate(var(--fall-spin-two, 96deg)) scale(var(--fall-scale, 1));
  }

  78% {
    transform: translate3d(var(--fall-gust-kick, 52vw), var(--fall-kick-lift, -4svh), 0) rotate(var(--fall-spin-kick, 24deg)) scale(var(--fall-scale, 1));
  }

  100% {
    opacity: 0;
    transform: translate3d(var(--fall-gust-end, 124vw), var(--fall-dip-end, 22svh), 0) rotate(var(--fall-spin-end, 180deg)) scale(var(--fall-scale, 1));
  }
}

@keyframes seasonalThanksgivingLeafDrift {
  0% {
    opacity: 0;
    transform: translate3d(0, -2rem, 0) rotate(var(--thanksgiving-rotate, -12deg)) scale(var(--thanksgiving-scale, 1));
  }

  12%, 78% {
    opacity: var(--thanksgiving-opacity, .66);
  }

  50% {
    transform: translate3d(var(--thanksgiving-drift-mid, 2rem), 48svh, 0) rotate(var(--thanksgiving-spin-mid, 120deg)) scale(var(--thanksgiving-scale, 1));
  }

  100% {
    opacity: 0;
    transform: translate3d(var(--thanksgiving-drift-end, -2rem), 104svh, 0) rotate(var(--thanksgiving-spin-end, 320deg)) scale(var(--thanksgiving-scale, 1));
  }
}

@keyframes seasonalThanksgivingItemDrift {
  0% {
    opacity: 0;
    transform: translate3d(var(--thanksgiving-gust-start, -14vw), 0, 0) rotate(var(--thanksgiving-rotate, -8deg)) scale(var(--thanksgiving-scale, 1));
  }

  10%, 86% {
    opacity: var(--thanksgiving-opacity, .6);
  }

  30% {
    transform: translate3d(var(--thanksgiving-gust-one, 32vw), var(--thanksgiving-lift-one, -2svh), 0) rotate(var(--thanksgiving-spin-one, 40deg)) scale(var(--thanksgiving-scale, 1));
  }

  64% {
    transform: translate3d(var(--thanksgiving-gust-two, 70vw), var(--thanksgiving-dip-two, 11svh), 0) rotate(var(--thanksgiving-spin-two, 88deg)) scale(var(--thanksgiving-scale, 1));
  }

  78% {
    transform: translate3d(var(--thanksgiving-gust-kick, 50vw), var(--thanksgiving-kick-lift, -4svh), 0) rotate(var(--thanksgiving-spin-kick, 22deg)) scale(var(--thanksgiving-scale, 1));
  }

  100% {
    opacity: 0;
    transform: translate3d(var(--thanksgiving-gust-end, 122vw), var(--thanksgiving-dip-end, 21svh), 0) rotate(var(--thanksgiving-spin-end, 166deg)) scale(var(--thanksgiving-scale, 1));
  }
}

@keyframes seasonalThanksgivingItemFloat {
  0%, 100% {
    opacity: var(--thanksgiving-opacity, .5);
    transform:
      translate3d(0, 0, 0)
      rotate(var(--thanksgiving-rotate, -8deg))
      scale(var(--thanksgiving-scale, 1));
  }

  50% {
    opacity: var(--thanksgiving-opacity, .5);
    transform:
      translate3d(var(--thanksgiving-float-x, .8rem), var(--thanksgiving-float-y, -.7rem), 0)
      rotate(var(--thanksgiving-rotate-soft, 0deg))
      scale(var(--thanksgiving-scale, 1));
  }
}

@keyframes seasonalThanksgivingLeafyFloat {
  0%, 100% {
    opacity: var(--thanksgiving-opacity, .5);
    transform:
      translate3d(0, 0, 0)
      rotate(var(--thanksgiving-rotate, -8deg))
      scale(var(--thanksgiving-scale, 1));
  }

  28% {
    transform:
      translate3d(var(--thanksgiving-float-x, 2.5rem), var(--thanksgiving-float-y, -1.8rem), 0)
      rotate(var(--thanksgiving-rotate-soft, 8deg))
      scale(var(--thanksgiving-scale, 1));
  }

  58% {
    opacity: var(--thanksgiving-opacity, .5);
    transform:
      translate3d(var(--thanksgiving-float-x-two, -2.2rem), var(--thanksgiving-float-y-two, 1.4rem), 0)
      rotate(var(--thanksgiving-rotate-fly, -14deg))
      scale(var(--thanksgiving-scale, 1));
  }

  78% {
    transform:
      translate3d(var(--thanksgiving-float-x-back, -1.2rem), var(--thanksgiving-float-y-back, .8rem), 0)
      rotate(var(--thanksgiving-rotate-soft, 7deg))
      scale(var(--thanksgiving-scale, 1));
  }
}

@keyframes seasonalFallMote {
  0%, 10% {
    opacity: 0;
    transform: translate3d(var(--fall-gust-start, -10vw), 0, 0) scale(.7);
  }

  35%, 68% {
    opacity: var(--fall-opacity, .38);
  }

  72% {
    transform: translate3d(var(--fall-gust-kick, 44vw), -3svh, 0) scale(.92);
  }

  100% {
    opacity: 0;
    transform: translate3d(var(--fall-gust-end, 96vw), var(--fall-dip-end, 10svh), 0) scale(.2);
  }
}

@keyframes seasonalThanksgivingMote {
  0%, 10% {
    opacity: 0;
    transform: translate3d(var(--thanksgiving-gust-start, -10vw), 0, 0) scale(.7);
  }

  35%, 68% {
    opacity: var(--thanksgiving-opacity, .42);
  }

  72% {
    transform: translate3d(var(--thanksgiving-gust-kick, 44vw), -3svh, 0) scale(.92);
  }

  100% {
    opacity: 0;
    transform: translate3d(var(--thanksgiving-gust-end, 96vw), var(--thanksgiving-dip-end, 10svh), 0) scale(.2);
  }
}

@keyframes seasonalThanksgivingMoteFloat {
  0%, 100% {
    opacity: var(--thanksgiving-opacity, .28);
    transform: translate3d(0, 0, 0) scale(.72);
  }

  50% {
    opacity: var(--thanksgiving-opacity, .28);
    transform: translate3d(var(--thanksgiving-float-x, .8rem), var(--thanksgiving-float-y, -.6rem), 0) scale(1);
  }
}

@keyframes seasonalWindWhirl {
  0%, 8% {
    opacity: 0;
    transform: translate3d(var(--fall-gust-start, var(--thanksgiving-gust-start, -12vw)), 0, 0) rotate(0deg) scale(.55);
  }

  26%, 70% {
    opacity: var(--fall-opacity, var(--thanksgiving-opacity, .28));
  }

  58% {
    transform: translate3d(var(--fall-gust-kick, var(--thanksgiving-gust-kick, 36vw)), -4svh, 0) rotate(var(--fall-spin-mid, var(--thanksgiving-spin-mid, 220deg))) scale(1);
  }

  100% {
    opacity: 0;
    transform: translate3d(var(--fall-gust-end, var(--thanksgiving-gust-end, 96vw)), 6svh, 0) rotate(var(--fall-spin-end, var(--thanksgiving-spin-end, 420deg))) scale(.72);
  }
}

.seasonal-valentine__heart,
.seasonal-valentine__spark {
  position: absolute;
  pointer-events: none;
  will-change: transform, opacity;
}

.seasonal-valentine__heart {
  left: var(--valentine-left, 50%);
  bottom: -2rem;
  z-index: 2;
  width: var(--valentine-size, 2rem);
  aspect-ratio: 1;
  background: url("../images/seasonal/valentine-heart-01.svg") center / contain no-repeat;
  opacity: var(--valentine-opacity, .54);
  filter:
    drop-shadow(0 .16rem .22rem rgba(80, 8, 31, .16))
    drop-shadow(0 0 .52rem rgba(244, 63, 94, .28));
  transform: translate3d(0, 0, 0) rotate(var(--valentine-rotate, 0deg)) scale(var(--valentine-scale, 1));
  animation: seasonalValentineFloat var(--valentine-duration, 14s) var(--valentine-delay, 0s) linear infinite;
}

.seasonal-valentine__spark {
  left: var(--valentine-left, 50%);
  bottom: -1rem;
  z-index: 1;
  width: var(--valentine-size, .24rem);
  aspect-ratio: 1;
  border-radius: 999px;
  background: #fff1f6;
  box-shadow:
    0 0 .3rem rgba(255, 241, 246, .86),
    0 0 .8rem rgba(244, 63, 94, .38);
  opacity: var(--valentine-opacity, .5);
  animation: seasonalValentineSpark var(--valentine-duration, 8s) var(--valentine-delay, 0s) linear infinite;
}

@keyframes seasonalValentineSweep {
  0% {
    transform: translate3d(0, 0, 0) rotate(18deg);
  }

  100% {
    transform: translate3d(420%, 0, 0) rotate(18deg);
  }
}

@keyframes seasonalValentineSweepGlow {
  0%, 22%, 100% {
    opacity: 0;
  }

  50% {
    opacity: .62;
  }
}

@keyframes seasonalValentineFloat {
  0% {
    opacity: 0;
    transform: translate3d(0, 1.2rem, 0) rotate(var(--valentine-rotate, 0deg)) scale(var(--valentine-scale, 1));
  }

  12%, 76% {
    opacity: var(--valentine-opacity, .54);
  }

  100% {
    opacity: 0;
    transform: translate3d(var(--valentine-drift, 2rem), -92svh, 0) rotate(calc(var(--valentine-rotate, 0deg) + 74deg)) scale(var(--valentine-scale, 1));
  }
}

@keyframes seasonalValentineSpark {
  0%, 8% {
    opacity: 0;
    transform: translate3d(0, 1rem, 0) scale(.7);
  }

  30%, 62% {
    opacity: var(--valentine-opacity, .5);
  }

  100% {
    opacity: 0;
    transform: translate3d(var(--valentine-drift, -1rem), -54svh, 0) scale(.2);
  }
}

.seasonal-easter__egg,
.seasonal-easter__spark {
  position: absolute;
  pointer-events: none;
  will-change: transform, opacity;
}

.seasonal-easter__egg {
  left: var(--easter-left, 50%);
  bottom: -3rem;
  z-index: 2;
  width: var(--easter-size, 3rem);
  aspect-ratio: .78;
  border-radius: 54% 54% 48% 48% / 64% 64% 38% 38%;
  opacity: var(--easter-opacity, .46);
  background:
    radial-gradient(circle at 35% 22%, rgba(255, 255, 255, .48) 0 10%, transparent 11%),
    linear-gradient(145deg, var(--easter-egg-light, #fce7f3), var(--easter-egg-mid, #f9a8d4));
  box-shadow:
    inset -.28rem -.36rem .58rem rgba(83, 53, 93, .12),
    inset .18rem .22rem .42rem rgba(255, 255, 255, .28),
    0 .2rem .45rem rgba(31, 41, 55, .14),
    0 0 .72rem var(--easter-glow, rgba(249, 168, 212, .26));
  transform:
    translate3d(0, 0, 0)
    rotate(var(--easter-rotate, 0deg));
  animation: seasonalEasterEggFloat var(--easter-duration, 16s) var(--easter-delay, 0s) ease-in-out infinite;
}

.seasonal-easter__egg::before,
.seasonal-easter__egg::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.seasonal-easter__egg::before {
  inset: 28% 10% 34%;
  border-radius: 999px;
  background:
    linear-gradient(90deg, transparent 0 10%, rgba(255, 255, 255, .54) 10% 18%, transparent 18% 30%, rgba(255, 255, 255, .42) 30% 38%, transparent 38% 50%, rgba(255, 255, 255, .52) 50% 58%, transparent 58% 70%, rgba(255, 255, 255, .44) 70% 78%, transparent 78% 100%),
    linear-gradient(180deg, rgba(255, 255, 255, .26), rgba(255, 255, 255, .08));
  transform: skewY(-8deg);
}

.seasonal-easter__egg::after {
  inset: 54% 16% 32%;
  border-radius: 999px;
  background:
    radial-gradient(circle, rgba(255, 255, 255, .62) 0 28%, transparent 30%) 0 50% / 28% 100% repeat-x;
  opacity: .72;
}

.seasonal-easter__egg--1 {
  --easter-egg-light: #fce7f3;
  --easter-egg-mid: #f9a8d4;
  --easter-glow: rgba(249, 168, 212, .28);
}

.seasonal-easter__egg--2 {
  --easter-egg-light: #dbeafe;
  --easter-egg-mid: #93c5fd;
  --easter-glow: rgba(147, 197, 253, .26);
}

.seasonal-easter__egg--3 {
  --easter-egg-light: #dcfce7;
  --easter-egg-mid: #86efac;
  --easter-glow: rgba(134, 239, 172, .24);
}

.seasonal-easter__egg--4 {
  --easter-egg-light: #fef9c3;
  --easter-egg-mid: #fde68a;
  --easter-glow: rgba(253, 230, 138, .28);
}

.seasonal-easter__egg--5 {
  --easter-egg-light: #ede9fe;
  --easter-egg-mid: #c4b5fd;
  --easter-glow: rgba(196, 181, 253, .28);
}

.seasonal-easter__spark {
  left: var(--easter-left, 50%);
  bottom: -1rem;
  z-index: 1;
  width: var(--easter-size, .28rem);
  aspect-ratio: 1;
  border-radius: 999px;
  background: #fff7ed;
  box-shadow:
    0 0 .34rem rgba(255, 247, 237, .88),
    0 0 .82rem rgba(216, 180, 254, .32);
  opacity: var(--easter-opacity, .46);
  animation: seasonalEasterSpark var(--easter-duration, 8s) var(--easter-delay, 0s) ease-in-out infinite;
}

@keyframes seasonalEasterSweep {
  0% {
    transform: translate3d(0, 0, 0) rotate(17deg);
  }

  100% {
    transform: translate3d(430%, 0, 0) rotate(17deg);
  }
}

@keyframes seasonalEasterSweepGlow {
  0%, 24%, 100% {
    opacity: 0;
  }

  50% {
    opacity: .58;
  }
}

@keyframes seasonalEasterEggFloat {
  0% {
    opacity: 0;
    transform:
      translate3d(0, 1.4rem, 0)
      rotate(var(--easter-rotate, 0deg))
      scale(.92);
  }

  12%, 72% {
    opacity: var(--easter-opacity, .46);
  }

  100% {
    opacity: 0;
    transform:
      translate3d(var(--easter-drift, 2rem), -92svh, 0)
      rotate(var(--easter-rotate-end, 54deg))
      scale(1.03);
  }
}

@keyframes seasonalEasterSpark {
  0%, 10% {
    opacity: 0;
    transform: translate3d(0, 1rem, 0) scale(.68);
  }

  34%, 64% {
    opacity: var(--easter-opacity, .46);
  }

  100% {
    opacity: 0;
    transform: translate3d(var(--easter-drift, -1rem), -58svh, 0) scale(.2);
  }
}

.seasonal-veterans__badge,
.seasonal-veterans__flag,
.seasonal-veterans__star {
  position: absolute;
  pointer-events: none;
  will-change: transform, opacity;
}

.seasonal-veterans__badge {
  top: var(--veterans-top, 32svh);
  left: var(--veterans-left, 50%);
  z-index: 2;
  width: var(--veterans-size, 12rem);
  aspect-ratio: 1;
  background: center / contain no-repeat;
  opacity: var(--veterans-opacity, .3);
  filter:
    drop-shadow(0 .45rem .9rem rgba(7, 12, 24, .3))
    drop-shadow(0 0 1.2rem rgba(255, 255, 255, .2));
  transform:
    translate3d(0, 0, 0)
    rotate(var(--veterans-rotate, 0deg));
  animation: seasonalVeteransBadgeFloat var(--veterans-duration, 16s) var(--veterans-delay, 0s) ease-in-out infinite;
}

.seasonal-veterans__flag {
  top: var(--veterans-top, 24svh);
  left: var(--veterans-left, 50%);
  z-index: 3;
  width: var(--veterans-size, 5rem);
  aspect-ratio: 1.52;
  background: transparent;
  opacity: var(--veterans-opacity, .34);
  filter:
    drop-shadow(0 .3rem .5rem rgba(7, 12, 24, .24))
    drop-shadow(0 0 .55rem rgba(255, 255, 255, .18));
  overflow: hidden;
  border-radius: .08rem;
  transform-origin: 8% 50%;
  transform:
    translate3d(0, 0, 0)
    rotate(var(--veterans-rotate, 0deg));
  animation: seasonalVeteransFlagFloat var(--veterans-duration, 12s) var(--veterans-delay, 0s) ease-in-out infinite;
}

.seasonal-veterans__flag::before,
.seasonal-veterans__flag::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.seasonal-veterans__flag::before {
  background-image: var(--veterans-flag-image);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  transform-origin: 0 50%;
  animation: seasonalVeteransFlagRipple var(--veterans-wave-duration, 3.6s) var(--veterans-wave-delay, 0s) ease-in-out infinite;
}

.seasonal-veterans__flag::after {
  background:
    linear-gradient(
      100deg,
      transparent 0%,
      rgba(255, 255, 255, .24) 24%,
      transparent 43%,
      rgba(4, 31, 66, .16) 58%,
      transparent 78%
    );
  mix-blend-mode: screen;
  opacity: .46;
  transform: translateX(-64%) skewX(-10deg);
  animation: seasonalVeteransFlagSheen var(--veterans-wave-duration, 3.6s) var(--veterans-wave-delay, 0s) ease-in-out infinite;
}

.seasonal-veterans__star {
  top: var(--veterans-top, 24svh);
  left: var(--veterans-left, 50%);
  z-index: 4;
  width: var(--veterans-size, .5rem);
  aspect-ratio: 1;
  opacity: var(--veterans-opacity, .34);
  clip-path: polygon(50% 0, 61% 34%, 98% 34%, 68% 55%, 79% 91%, 50% 69%, 21% 91%, 32% 55%, 2% 34%, 39% 34%);
  background: rgba(255, 255, 255, .92);
  box-shadow:
    0 0 .35rem rgba(255, 255, 255, .68),
    0 0 .85rem rgba(37, 99, 235, .25);
  animation: seasonalVeteransStarPulse var(--veterans-duration, 8s) var(--veterans-delay, 0s) ease-in-out infinite;
}

@keyframes seasonalVeteransBadgeFloat {
  0%, 100% {
    opacity: var(--veterans-opacity, .3);
    transform:
      translate3d(0, 0, 0)
      rotate(var(--veterans-rotate, 0deg))
      scale(.97);
  }

  50% {
    opacity: var(--veterans-opacity, .3);
    transform:
      translate3d(var(--veterans-float-x, 1rem), var(--veterans-float-y, -.6rem), 0)
      rotate(var(--veterans-rotate-soft, 4deg))
      scale(1);
  }
}

@keyframes seasonalVeteransFlagFloat {
  0%, 100% {
    opacity: var(--veterans-opacity, .34);
    transform:
      translate3d(0, 0, 0)
      rotate(var(--veterans-rotate, 0deg))
      skewY(.8deg);
  }

  50% {
    opacity: var(--veterans-opacity, .34);
    transform:
      translate3d(var(--veterans-float-x, 1rem), var(--veterans-float-y, -.6rem), 0)
      rotate(var(--veterans-rotate-soft, 4deg))
      skewY(-2.8deg);
  }
}

@keyframes seasonalVeteransFlagRipple {
  0%, 100% {
    transform:
      perspective(9rem)
      rotateY(-8deg)
      skewY(1.6deg)
      scaleX(.985);
    filter: brightness(.97) saturate(1.04);
  }

  33% {
    transform:
      perspective(9rem)
      rotateY(7deg)
      skewY(-2.4deg)
      scaleX(1.025);
    filter: brightness(1.09) saturate(1.08);
  }

  66% {
    transform:
      perspective(9rem)
      rotateY(-4deg)
      skewY(2.2deg)
      scaleX(.995);
    filter: brightness(1.01) saturate(1.05);
  }
}

@keyframes seasonalVeteransFlagSheen {
  0%, 100% {
    opacity: .28;
    transform: translateX(-68%) skewX(-10deg);
  }

  45% {
    opacity: .58;
    transform: translateX(38%) skewX(-10deg);
  }

  70% {
    opacity: .22;
    transform: translateX(78%) skewX(-10deg);
  }
}

@keyframes seasonalVeteransStarPulse {
  0%, 100% {
    opacity: 0;
    transform: translate3d(0, 0, 0) scale(.55) rotate(0deg);
  }

  42%, 64% {
    opacity: var(--veterans-opacity, .34);
    transform: translate3d(0, -.45rem, 0) scale(1) rotate(18deg);
  }
}

.seasonal-halloween__bat,
.seasonal-halloween__ember {
  position: absolute;
  pointer-events: none;
  will-change: transform, opacity;
}

.seasonal-halloween__bat {
  top: var(--halloween-top, 28%);
  left: var(--halloween-left, -7rem);
  z-index: 2;
  width: var(--halloween-size, 4.5rem);
  aspect-ratio: 16 / 7;
  background: url("../images/seasonal/bats/halloween-bat-01.svg") center / contain no-repeat;
  opacity: var(--halloween-opacity, .75);
  filter:
    drop-shadow(0 .25rem .3rem rgba(0, 0, 0, .34))
    drop-shadow(0 0 .5rem rgba(249, 115, 22, .18));
  transform: translate3d(0, 0, 0) scale(var(--halloween-scale, 1));
  animation:
    seasonalHalloweenBatFly var(--halloween-duration, 18s) var(--halloween-delay, 0s) ease-in-out infinite,
    seasonalHalloweenBatFlap var(--halloween-flap-duration, .78s) ease-in-out var(--halloween-delay, 0s) infinite;
}

.seasonal-halloween__ember {
  left: var(--halloween-left, 50%);
  bottom: -1rem;
  z-index: 1;
  width: var(--halloween-size, .32rem);
  aspect-ratio: 1;
  border-radius: 999px;
  background: #fb923c;
  box-shadow:
    0 0 .35rem rgba(251, 146, 60, .8),
    0 0 .8rem rgba(249, 115, 22, .42);
  opacity: var(--halloween-opacity, .45);
  animation: seasonalHalloweenEmber var(--halloween-duration, 8s) var(--halloween-delay, 0s) linear infinite;
}

@keyframes seasonalHalloweenBatFly {
  0% {
    opacity: 0;
    transform:
      translate3d(var(--halloween-start-x, -8vw), 0, 0)
      rotate(var(--halloween-rotate, -3deg))
      scaleX(var(--halloween-facing, 1))
      scale(var(--halloween-scale, 1));
  }

  10%, 84% {
    opacity: var(--halloween-opacity, .75);
  }

  24% {
    transform:
      translate3d(var(--halloween-fly-one-x, 28vw), var(--halloween-fly-one-y, -5svh), 0)
      rotate(var(--halloween-rotate-one, 8deg))
      scaleX(var(--halloween-facing, 1))
      scale(var(--halloween-scale, 1));
  }

  47% {
    transform:
      translate3d(var(--halloween-fly-two-x, 56vw), var(--halloween-fly-two-y, 9svh), 0)
      rotate(var(--halloween-rotate-two, -10deg))
      scaleX(var(--halloween-facing, 1))
      scale(var(--halloween-scale, 1));
  }

  69% {
    transform:
      translate3d(var(--halloween-fly-three-x, 84vw), var(--halloween-fly-three-y, -2svh), 0)
      rotate(var(--halloween-rotate-three, 7deg))
      scaleX(var(--halloween-facing, 1))
      scale(var(--halloween-scale, 1));
  }

  100% {
    opacity: 0;
    transform:
      translate3d(var(--halloween-fly-end-x, 124vw), var(--halloween-fly-end-y, 8svh), 0)
      rotate(var(--halloween-rotate-end, -4deg))
      scaleX(var(--halloween-facing, 1))
      scale(var(--halloween-scale, 1));
  }
}

@keyframes seasonalHalloweenBatFlap {
  0%, 100% {
    scale: 1 1;
  }

  50% {
    scale: 1 .78;
  }
}

@keyframes seasonalHalloweenEmber {
  0%, 8% {
    opacity: 0;
    transform: translate3d(0, .8rem, 0) scale(.7);
  }

  28%, 68% {
    opacity: var(--halloween-opacity, .45);
  }

  100% {
    opacity: 0;
    transform: translate3d(var(--halloween-drift, 1rem), -42svh, 0) scale(.18);
  }
}

.seasonal-lucky__shamrock,
.seasonal-lucky__glint {
  position: absolute;
  left: var(--lucky-left, 50%);
  bottom: -2rem;
  pointer-events: none;
  will-change: transform, opacity;
}

.seasonal-lucky__shamrock {
  width: var(--lucky-size, 2.75rem);
  aspect-ratio: 1;
  opacity: var(--lucky-opacity, .4);
  background: url("../images/seasonal/clovers/st-paddy-clover-01.svg") center / contain no-repeat;
  filter:
    drop-shadow(0 0 .28rem rgba(236, 255, 241, .35))
    drop-shadow(0 .18rem .48rem rgba(12, 92, 45, .18));
  transform: translate3d(0, 0, 0) rotate(var(--lucky-rotate, 0deg)) scale(var(--lucky-scale, 1));
  animation: seasonalLuckyFloat var(--lucky-duration, 14s) var(--lucky-delay, 0s) linear infinite;
}

.seasonal-lucky__glint {
  width: .8rem;
  aspect-ratio: 1;
  background: url("../images/seasonal/clovers/st-paddy-clover-05.svg") center / contain no-repeat;
  filter:
    drop-shadow(0 0 .18rem rgba(255, 244, 190, .8))
    drop-shadow(0 0 .5rem rgba(255, 197, 48, .46))
    drop-shadow(0 0 .34rem rgba(48, 213, 105, .28));
  opacity: var(--lucky-opacity, .5);
  transform: translate3d(0, 0, 0) scale(var(--lucky-scale, 1));
  animation: seasonalLuckyGlint var(--lucky-duration, 9s) var(--lucky-delay, 0s) linear infinite;
}

@keyframes seasonalLuckySweep {
  0% {
    transform: translate3d(0, 0, 0) rotate(14deg);
  }

  100% {
    transform: translate3d(390%, 0, 0) rotate(14deg);
  }
}

@keyframes seasonalLuckySweepGlow {
  0%, 18%, 100% {
    opacity: 0;
  }

  48% {
    opacity: .72;
  }
}

@keyframes seasonalLuckyFloat {
  0% {
    opacity: 0;
    transform: translate3d(0, 1.5rem, 0) rotate(var(--lucky-rotate, 0deg)) scale(var(--lucky-scale, 1));
  }

  12%, 78% {
    opacity: var(--lucky-opacity, .4);
  }

  100% {
    opacity: 0;
    transform: translate3d(var(--lucky-drift, 3rem), -105svh, 0) rotate(calc(var(--lucky-rotate, 0deg) + 96deg)) scale(var(--lucky-scale, 1));
  }
}

@keyframes seasonalLuckyGlint {
  0%, 10% {
    opacity: 0;
    transform: translate3d(0, 1rem, 0) scale(var(--lucky-scale, 1));
  }

  36%, 58% {
    opacity: var(--lucky-opacity, .5);
  }

  100% {
    opacity: 0;
    transform: translate3d(var(--lucky-drift, -2rem), -90svh, 0) scale(var(--lucky-scale, 1));
  }
}

.seasonal-snow__flake {
  position: absolute;
  top: -1rem;
  left: var(--snow-left, 50%);
  z-index: 1;
  width: var(--snow-size, 10px);
  height: var(--snow-size, 10px);
  border-radius: 999px;
  background: #fff;
  opacity: var(--snow-opacity, .7);
  filter:
    blur(var(--snow-blur, 0))
    drop-shadow(0 0 .45rem rgba(255, 255, 255, .7));
  transform: translate3d(0, -1rem, 0) scale(var(--snow-scale, .6));
  animation: seasonalSnowFall var(--snow-duration, 18s) var(--snow-delay, 0s) linear infinite;
}

.seasonal-snow__flake::after {
  content: "";
  position: absolute;
  inset: 18%;
  border-radius: inherit;
  background: rgba(255, 255, 255, .78);
  filter: blur(.12rem);
}

@keyframes seasonalSnowFall {
  0% {
    transform: translate3d(0, -1rem, 0) scale(var(--snow-scale, .6));
  }

  52% {
    transform: translate3d(var(--snow-drift-mid, 1rem), 52svh, 0) scale(var(--snow-scale, .6)) rotate(var(--snow-spin-mid, 80deg));
  }

  100% {
    transform: translate3d(var(--snow-drift-end, -1rem), 105svh, 0) scale(var(--snow-scale, .6)) rotate(var(--snow-spin-end, 180deg));
  }
}

.hero__content {
  position: relative;
  z-index: 2;
  width: min(48rem, 100%);
  color: #fff;
}

.hero-badge,
.hero__content > wa-badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  margin-bottom: .35rem;
  min-height: 2.25rem;
  padding: .48rem 1.35rem;
  border: 0;
  border-radius: 999px;
  background: var(--signal-red);
  color: #fff;
  font-size: clamp(1rem, 1.45vw, 1.28rem);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.1;
  box-shadow: 0 .8rem 1.7rem rgba(0, 0, 0, .2);
}

.hero__content > wa-badge {
  padding: 0;
  background: transparent;
  box-shadow: none;
}

.hero__content > wa-badge::part(base) {
  width: auto;
  min-height: inherit;
  padding: inherit;
  border: 0;
  border-radius: inherit;
  background: var(--signal-red);
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  box-shadow: none;
}

.hero h1 {
  margin: 1rem 0 .9rem;
  font-size: clamp(2.65rem, 8vw, 5.9rem);
  line-height: .92;
  font-weight: 900;
  text-wrap: balance;
}

.hero .signal-hero__description {
  width: min(42rem, 100%);
  margin: 0;
  color: rgba(255, 255, 255, .86);
  font-size: clamp(1rem, 2.5vw, 1.35rem);
  line-height: 1.55;
}

.hero__actions {
  margin-top: 1.5rem;
}

.inventory-band,
.manufacturer-band,
.financing-band,
.visit-band,
.commercial-strip {
  padding: clamp(3rem, 7vw, 5rem) max(1rem, calc((100vw - 1180px) / 2));
}

.section-heading {
  margin-bottom: 1.25rem;
}

.section-heading p,
.commercial-strip p,
.financing-band__copy p,
.visit-band p {
  margin: 0 0 .45rem;
  color: var(--signal-red);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.section-heading h2,
.commercial-strip h2,
.financing-band h2,
.visit-band h2 {
  margin: 0;
  color: var(--signal-ink);
  font-size: clamp(2rem, 5vw, 3.75rem);
  line-height: 1;
  font-weight: 900;
  text-wrap: balance;
}

.section-heading a {
  color: var(--signal-red-dark);
  font-weight: 850;
  text-decoration: none;
}

.holiday-notice-band {
  position: relative;
  overflow: visible;
  padding: clamp(1.25rem, 3vw, 2.25rem) max(1rem, calc((100vw - 1180px) / 2));
  background:
    linear-gradient(135deg, rgba(11, 15, 22, .97), rgba(27, 31, 42, .94)),
    radial-gradient(circle at 12% 0%, rgba(245, 176, 18, .18), transparent 34%);
  color: #fff;
}

.front-site-page__bands > .signal-builder-block--full-bleed[data-front-block-type="signal-hero"] + .holiday-notice-band {
  margin-top: calc(-1 * var(--wa-space-m));
}

.holiday-notice-band__inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(14rem, .45fr) minmax(0, 1fr);
  gap: clamp(1rem, 3vw, 2rem);
  align-items: start;
}

.holiday-notice-band__eyebrow {
  margin: 0 0 .45rem;
  color: var(--signal-gold);
  font-size: .78rem;
  font-weight: 950;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.holiday-notice-band h2,
.holiday-notice-card h3 {
  margin: 0;
}

.holiday-notice-band h2 {
  max-width: 9ch;
  color: #fff;
  font-size: clamp(2rem, 4vw, 4.25rem);
  line-height: .95;
  letter-spacing: 0;
}

.holiday-notice-band__list {
  display: grid;
  gap: .8rem;
}

.holiday-notice-card {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: .9rem;
  align-items: start;
  padding: clamp(1rem, 2vw, 1.35rem);
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 8px;
  background: rgba(255, 255, 255, .06);
  box-shadow: 0 18px 38px rgba(0, 0, 0, .22);
}

@media (prefers-reduced-motion: reduce) {
  .hero__effects--fireworks,
  .hero__effects--snow,
  .hero__effects--lucky,
  .hero__effects--halloween,
  .hero__effects--valentine,
  .hero__effects--fall,
  .hero__effects--thanksgiving,
  .hero__effects--veterans {
    display: none;
  }
}

.holiday-notice-card__status {
  display: inline-grid;
  place-items: center;
  min-width: 5.25rem;
  padding: .38rem .75rem;
  border-radius: 999px;
  background: #199752;
  color: #fff;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: .76rem;
}

.holiday-notice-card--closed .holiday-notice-card__status {
  background: #e23348;
}

.holiday-notice-card h3 {
  color: #fff;
  font-size: clamp(1.2rem, 2vw, 1.8rem);
}

.holiday-notice-card p {
  margin: .35rem 0 0;
  color: rgba(255, 255, 255, .78);
  font-weight: 650;
}

.holiday-notice-card__date {
  color: var(--signal-gold) !important;
}

.holiday-notice-card small {
  display: block;
  margin-top: .7rem;
  color: rgba(255, 255, 255, .62);
  font-weight: 800;
  letter-spacing: .04em;
}

.trailer-grid {
  --min-column-size: clamp(20rem, 27vw, 24rem);
  align-items: stretch;
}

.trailer-card {
  height: 100%;
  overflow: hidden;
  border: 1px solid var(--signal-line);
  border-radius: 8px;
  box-shadow: var(--signal-shadow);
}

.trailer-card::part(base) {
  height: 100%;
  display: grid;
  grid-template-rows: auto 1fr;
  padding: 0;
  overflow: hidden;
}

.trailer-card__media {
  position: relative;
  overflow: hidden;
  background: #0d1117;
  aspect-ratio: 16 / 10;
}

.trailer-card__image {
  display: block;
  width: 100%;
  height: 100%;
  background: #0d1117;
  aspect-ratio: 16 / 10;
}

.trailer-card__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  image-rendering: auto;
}

.trailer-card__carousel {
  display: block;
  width: 100%;
  height: 100%;
  --aspect-ratio: 16 / 10;
  --slide-gap: 0px;
  --scroll-hint: 0px;
}

.trailer-card__carousel::part(base),
.trailer-card__carousel::part(scroll-container) {
  width: 100%;
  height: 100%;
}

.trailer-card__carousel::part(base) {
  position: relative;
  gap: 0;
}

.trailer-card__carousel::part(scroll-container) {
  overflow: hidden;
}

.trailer-card__carousel wa-carousel-item {
  --aspect-ratio: 4 / 3;
  height: 100%;
  overflow: hidden;
}

.trailer-card__carousel .trailer-card__image {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
}

.trailer-card__carousel .trailer-card__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.trailer-card__carousel::part(navigation-button) {
  position: absolute;
  top: 50%;
  z-index: 4;
  width: 1.72rem;
  height: 1.72rem;
  transform: translateY(-50%);
  border: 1px solid rgba(255, 255, 255, .42);
  border-radius: 999px;
  background: rgba(8, 9, 12, .72);
  color: #fff;
  font-size: .92rem;
  backdrop-filter: blur(10px);
}

.trailer-card__carousel::part(navigation-button-previous) {
  left: .45rem;
}

.trailer-card__carousel::part(navigation-button-next) {
  right: .45rem;
}

.trailer-card__carousel::part(pagination) {
  display: none;
}

.trailer-card__image-count {
  position: absolute;
  top: .65rem;
  right: .65rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  min-height: 1.75rem;
  padding: .25rem .55rem;
  border-radius: 999px;
  background: rgba(8, 9, 12, .72);
  color: #fff;
  font-size: .76rem;
  font-weight: 850;
  line-height: 1;
  box-shadow: 0 8px 20px rgba(0, 0, 0, .24);
  backdrop-filter: blur(10px);
}

.trailer-manufacturer-logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-width: 0;
  overflow: visible;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.trailer-manufacturer-logo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 2px 5px rgba(0, 0, 0, .32));
}

.trailer-manufacturer-logo strong {
  color: #fff;
  font-size: .72rem;
  font-weight: 950;
  letter-spacing: .04em;
  line-height: 1;
  text-shadow: 0 1px 4px rgba(0, 0, 0, .72);
}

.trailer-manufacturer-logo--card {
  position: absolute;
  top: .65rem;
  left: .65rem;
  z-index: 4;
  width: clamp(4.8rem, 34%, 7rem);
  height: 2.35rem;
  padding: 0;
  border-radius: 0;
}

.trailer-card__body {
  padding: 1rem 1rem 1.1rem;
}

.trailer-card__category {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  max-width: 100%;
  min-height: 2rem;
  padding: .36rem .76rem;
  border-radius: 999px;
  background: #2f3240;
  color: #fff;
  font-size: .86rem;
  font-weight: 850;
  line-height: 1.08;
  overflow-wrap: anywhere;
  text-align: center;
}

.trailer-card__price-row {
  min-width: 0;
}

.trailer-card__price {
  color: var(--signal-red-dark);
  font-size: clamp(1.42rem, 2.35vw, 2rem);
  font-weight: 900;
  line-height: 1;
}

.trailer-card__was {
  color: var(--signal-muted);
  font-size: .86rem;
  font-weight: 800;
  line-height: 1;
  text-decoration: line-through;
}

.trailer-card__sale-burst {
  position: absolute;
  bottom: .65rem;
  left: .65rem;
  z-index: 3;
  display: grid;
  place-items: center;
  width: 3.25rem;
  height: 3.25rem;
  transform: rotate(-9deg);
  background: var(--signal-red);
  color: #fff;
  clip-path: polygon(50% 0%, 61% 24%, 88% 12%, 76% 39%, 100% 50%, 76% 61%, 88% 88%, 61% 76%, 50% 100%, 39% 76%, 12% 88%, 24% 61%, 0% 50%, 24% 39%, 12% 12%, 39% 24%);
  font-size: .72rem;
  font-weight: 950;
  letter-spacing: .02em;
  line-height: 1;
  text-transform: uppercase;
  filter: drop-shadow(0 7px 14px rgba(181, 21, 31, .24));
}

.trailer-card h3 {
  margin: 0;
  font-size: clamp(1.25rem, 2vw, 1.65rem);
  line-height: 1.1;
  letter-spacing: 0;
  text-wrap: balance;
}

.trailer-card p {
  margin: 0;
  color: var(--signal-muted);
  line-height: 1.42;
  display: -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.trailer-card wa-button {
  align-self: stretch;
  margin-top: auto;
}

.part-card .trailer-card__price {
  color: var(--signal-red);
}

.part-card .trailer-card__sale-burst {
  background: var(--signal-red);
  filter: drop-shadow(0 7px 14px rgba(240, 171, 0, .26));
}

.parts-hero {
  background: #080a0d;
}

.parts-search-layout {
  background: linear-gradient(180deg, var(--signal-steel), #fff);
}

.parts-grid {
  --min-column-size: clamp(18rem, 26vw, 23rem);
}

.part-detail-hero__media {
  overflow: hidden;
  border-radius: 8px;
  background: #0d1117;
}

.part-detail-hero__media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: clamp(18rem, 34vw, 31rem);
  object-fit: cover;
}

.commercial-strip {
  --flank-size: minmax(18rem, 34rem);
  --content-percentage: 56%;
  background: var(--signal-black);
}

.commercial-strip h2 {
  color: #fff !important;
  text-shadow: 0 2px 18px rgba(0, 0, 0, .42);
}

.hero h1,
.builder-page-hero h1,
.inventory-hero h1,
.commercial-strip h2 {
  color: #fff !important;
}

.service-grid {
  --min-column-size: 16rem;
}

.service-grid span {
  min-height: 4.25rem;
  display: flex;
  align-items: center;
  padding: 1rem;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 8px;
  background: rgba(255, 255, 255, .06);
  color: #fff;
  font-weight: 850;
}

.manufacturer-grid {
  --min-column-size: 16rem;
}

.manufacturer-card {
  min-height: clamp(15.75rem, 21vw, 18.25rem);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: minmax(7.5rem, 1fr) auto;
  align-items: end;
  gap: .85rem;
  padding: clamp(.9rem, 1.6vw, 1.15rem);
  border: 1px solid var(--signal-line);
  border-radius: 8px;
  background: var(--signal-steel);
  color: var(--signal-ink);
  cursor: pointer;
  text-decoration: none;
  transition: background .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.manufacturer-card:hover {
  border-color: color-mix(in srgb, var(--signal-red) 50%, var(--signal-line));
  background: #fff;
  box-shadow: 0 18px 34px rgba(11, 16, 24, .1);
  color: var(--signal-red-dark);
  transform: translateY(-1px);
}

.manufacturer-card__logo {
  grid-column: 1 / -1;
  align-self: start;
  justify-self: center;
  display: grid;
  place-items: center;
  width: min(100%, 17.5rem);
  height: clamp(8.2rem, 10.5vw, 10rem);
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  padding: .42rem;
  border: 1px solid rgba(24, 32, 44, .1);
  border-radius: .85rem;
  background: #fff;
}

.manufacturer-card__logo img {
  display: block;
  width: auto;
  height: auto;
  max-width: 92%;
  max-height: 92%;
  object-fit: contain;
  object-position: center;
  filter: drop-shadow(0 2px 5px rgba(17, 24, 39, .28));
}

.main-nav__manufacturer-logo.logo-contrast--dark img,
.manufacturer-card__logo.logo-contrast--dark img,
.trailer-manufacturer-logo.logo-contrast--dark img {
  filter:
    drop-shadow(1px 0 0 rgba(255, 255, 255, .62))
    drop-shadow(-1px 0 0 rgba(255, 255, 255, .42))
    drop-shadow(0 1px 0 rgba(255, 255, 255, .42))
    drop-shadow(0 2px 3px rgba(0, 0, 0, .24));
}

.main-nav__manufacturer-logo.logo-contrast--light img,
.main-nav__manufacturer-logo.logo-contrast--mixed img,
.manufacturer-card__logo.logo-contrast--light img,
.manufacturer-card__logo.logo-contrast--mixed img,
.trailer-manufacturer-logo.logo-contrast--light img,
.trailer-manufacturer-logo.logo-contrast--mixed img {
  filter:
    drop-shadow(0 1px 1px rgba(0, 0, 0, .58))
    drop-shadow(0 4px 10px rgba(0, 0, 0, .24));
}

.manufacturer-card__logo strong {
  color: var(--signal-red-dark);
  font-size: clamp(1.7rem, 4vw, 3.2rem);
  font-weight: 900;
}

.manufacturer-card__copy {
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .2rem .45rem;
  align-self: end;
}

.manufacturer-card__copy strong,
.manufacturer-card__copy small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.manufacturer-card__copy strong {
  color: currentColor;
  font-weight: 900;
  line-height: 1.1;
}

.manufacturer-card__copy small {
  color: var(--signal-muted);
  font-size: .9rem;
  font-weight: 850;
}

.manufacturer-card > wa-icon {
  align-self: end;
  color: var(--signal-ink);
  font-size: 1.2rem;
}

.financing-band {
  --flank-size: minmax(16rem, 34rem);
  --content-percentage: 56%;
  background: var(--signal-steel);
}

.financing-band__copy span {
  display: block;
  max-width: 45rem;
  margin-top: .8rem;
  color: var(--signal-muted);
  line-height: 1.55;
}

.finance-logos {
  min-width: 0;
}

.finance-logos a {
  display: grid;
  place-items: center;
  min-height: 6.4rem;
  padding: 1rem;
  border: 1px solid var(--signal-line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(15, 23, 42, .08);
}

.finance-logos img {
  max-width: min(100%, 18rem);
  max-height: 4rem;
}

.visit-band {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: clamp(1.25rem, 3vw, 2rem);
}

.visit-band > .wa-stack {
  min-width: 0;
  max-width: 72rem;
}

.visit-band h2 {
  max-width: 68rem;
}

.visit-card {
  position: relative;
  isolation: isolate;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  padding: 1.2rem 0;
  border: 0;
  background: transparent;
  color: #fff;
  box-shadow: none;
}

.visit-card::before {
  content: "";
  position: absolute;
  inset: 0 calc(50% - 50vw);
  z-index: 0;
  border: 1px solid var(--signal-line);
  background: var(--signal-black);
  box-shadow: var(--signal-shadow);
}

.visit-card > * {
  position: relative;
  z-index: 1;
}

.visit-card strong {
  font-size: 1.4rem;
  line-height: 1.1;
}

.visit-card span {
  color: rgba(255, 255, 255, .76);
}

.visit-card span,
.visit-card a {
  overflow-wrap: anywhere;
}

.visit-card a {
  color: #fff;
  text-decoration-color: rgba(255, 255, 255, .4);
}

.contact-location {
  --flank-size: clamp(20rem, 34vw, 34rem);
  --content-percentage: 54%;
  padding: clamp(1rem, 4vw, 2rem) max(1rem, calc((100vw - 1180px) / 2)) clamp(3rem, 6vw, 5rem);
  background:
    linear-gradient(135deg, rgba(14, 20, 29, .97), rgba(31, 37, 49, .82)),
    radial-gradient(circle at 14% 18%, rgba(243, 179, 24, .24), transparent 32%),
    radial-gradient(circle at 88% 12%, rgba(206, 27, 36, .22), transparent 30%),
    #111722;
  color: #fff;
}

.contact-location--component {
  padding: clamp(1.25rem, 4vw, 2.25rem) max(1rem, calc((100vw - 1180px) / 2));
  border-radius: 0;
}

.contact-location__copy,
.contact-location__panel {
  min-width: 0;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 8px;
  background: rgba(255, 255, 255, .07);
  box-shadow: 0 26px 70px rgba(0, 0, 0, .24);
}

.contact-location__copy::part(base),
.contact-location__panel::part(base) {
  height: 100%;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, .15);
  border-radius: 8px;
  background: rgba(255, 255, 255, .075);
  box-shadow: 0 28px 70px rgba(0, 0, 0, .28);
  overflow: hidden;
}

.contact-location__copy {
  justify-content: center;
  padding: clamp(1.1rem, 3vw, 2rem);
}

.contact-location__copy p {
  margin: 0;
  color: var(--signal-gold);
  font-size: .78rem;
  font-weight: 950;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.contact-location__copy span {
  color: rgba(255, 255, 255, .8);
  font-weight: 750;
  line-height: 1.5;
}

.contact-location__copy-inner {
  display: grid;
  gap: 1rem;
  align-content: center;
  min-height: 100%;
  padding: clamp(1.1rem, 3vw, 2rem);
}

.contact-location__summary-head {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}

.contact-location__summary-head wa-badge::part(base) {
  min-height: 2rem;
  padding-inline: .75rem;
  font-weight: 900;
}

.contact-location__copy h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(2rem, 4vw, 3.35rem);
  line-height: .98;
}

.signal-builder-block .contact-location__copy h2 {
  color: #fff;
}

.contact-location__intro {
  color: rgba(255, 255, 255, .78);
  font-weight: 650;
  line-height: 1.55;
}

.contact-location__intro p {
  margin: 0;
  color: inherit;
  font-size: 1rem;
  font-weight: inherit;
  letter-spacing: 0;
  text-transform: none;
}

.contact-location__details {
  min-width: 0;
}

.contact-location__detail {
  --flank-size: 2.35rem;
  --content-percentage: 48%;
  padding: .75rem;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 8px;
  background: rgba(255, 255, 255, .08);
  color: #fff;
  text-decoration: none;
}

.contact-location__detail wa-icon {
  display: grid;
  place-items: center;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 999px;
  background: rgba(243, 179, 24, .16);
  color: var(--signal-gold);
}

.contact-location__detail small,
.contact-location__detail strong {
  display: block;
}

.contact-location__detail small {
  color: rgba(255, 255, 255, .58);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.contact-location__detail strong {
  min-width: 0;
  overflow-wrap: anywhere;
  color: #fff;
  font-size: .98rem;
  line-height: 1.25;
}

.contact-location__address-block strong span {
  display: block;
}

.contact-location__address::part(base),
.contact-location__directions-note::part(base) {
  border-color: rgba(243, 179, 24, .28);
  background: rgba(243, 179, 24, .11);
  color: #fff;
}

.contact-location__address strong,
.contact-location__address span,
.contact-location__directions-note strong,
.contact-location__directions-note span {
  display: block;
}

.contact-location__address span,
.contact-location__directions-note span {
  margin-top: .18rem;
  color: rgba(255, 255, 255, .78);
  font-weight: 650;
  line-height: 1.45;
}

.contact-location__quick-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .65rem;
}

.contact-location__quick-action::part(base) {
  justify-content: flex-start;
  min-height: 3rem;
  border-color: rgba(255, 255, 255, .22);
  background: rgba(255, 255, 255, .08);
  color: #fff;
}

.contact-location__quick-action span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.contact-location__actions {
  min-width: 0;
}

.contact-location__actions wa-button::part(base) {
  min-height: 3.1rem;
}

.contact-location__panel-body {
  display: grid;
  grid-template-rows: minmax(22rem, 1fr) auto;
  min-height: 100%;
  overflow: hidden;
}

.contact-location__panel {
  overflow: hidden;
}

.contact-location__map {
  position: relative;
  min-height: clamp(22rem, 42vw, 34rem);
  background:
    linear-gradient(135deg, rgba(243, 179, 24, .12), transparent),
    #202833;
}

.contact-location__map iframe,
.contact-location__map > div {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.contact-location__directions-shell {
  padding: 1rem;
  border-top: 1px solid rgba(255, 255, 255, .16);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(247, 249, 252, .95));
}

.contact-location__directions {
  --flank-size: auto;
  --content-percentage: 62%;
}

.contact-location__directions wa-button {
  min-width: 10rem;
}

.contact-location__route {
  padding: 1rem;
  border: 1px solid rgba(18, 24, 33, .12);
  border-radius: 8px;
  background: #fff;
  color: var(--signal-ink);
}

.contact-location__route[hidden] {
  display: none;
}

.contact-location__route-head {
  align-items: start;
}

.contact-location__route-head p {
  margin: 0 0 .25rem;
  color: var(--signal-red);
  font-size: .72rem;
  font-weight: 950;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.contact-location__route-head h3 {
  margin: 0;
  color: var(--signal-ink);
  font-size: 1.2rem;
  line-height: 1.1;
}

.contact-location__route-head span {
  display: block;
  margin-top: .25rem;
  color: var(--signal-muted);
  font-weight: 800;
}

.contact-location__steps {
  display: grid;
  gap: .65rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.contact-location__steps li {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  gap: .75rem;
  align-items: start;
  padding: .75rem;
  border: 1px solid rgba(18, 24, 33, .1);
  border-radius: 8px;
  background: var(--signal-steel);
}

.contact-location__steps li > span {
  display: grid;
  place-items: center;
  width: 1.7rem;
  height: 1.7rem;
  border-radius: 999px;
  background: var(--signal-red);
  color: #fff;
  font-size: .82rem;
  font-weight: 950;
}

.contact-location__steps strong {
  display: block;
  color: var(--signal-ink);
  line-height: 1.35;
}

.contact-location__steps em {
  display: block;
  margin-top: .18rem;
  color: var(--signal-muted);
  font-size: .88rem;
  font-style: normal;
  font-weight: 800;
}

@media (max-width: 1100px) {
  .contact-location {
    --content-percentage: 100%;
    --flank-size: 100%;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 1rem;
  }

  .contact-location__copy,
  .contact-location__panel {
    width: 100%;
    max-width: 100%;
  }

  .contact-location__panel {
    grid-column: 1;
  }
}

.builder-page-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: grid;
  align-items: end;
  min-height: min(78svh, 46rem);
  padding: clamp(6rem, 13vw, 10rem) max(1rem, calc((100vw - 1180px) / 2)) clamp(3rem, 7vw, 5rem);
  background: #08090c;
  color: #fff;
}

.builder-page-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(8, 9, 12, .94), rgba(8, 9, 12, .65) 52%, rgba(8, 9, 12, .16)),
    linear-gradient(0deg, rgba(8, 9, 12, .76), rgba(8, 9, 12, 0) 48%);
}

.builder-page-hero.signal-hero::before,
.inventory-hero.signal-hero::before {
  display: none;
}

.builder-page-hero .signal-hero__eyebrow {
  margin: 0 0 .65rem;
  color: var(--signal-red);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.builder-page-hero h1 {
  max-width: 54rem;
  margin: 0;
  font-size: clamp(2.65rem, 8vw, 5.9rem);
  line-height: .92;
  font-weight: 900;
  text-wrap: balance;
}

.builder-page-hero .signal-hero__description {
  display: block;
  max-width: 47rem;
  margin-top: 1rem;
  color: rgba(255, 255, 255, .84);
  font-size: clamp(1rem, 2.5vw, 1.28rem);
  line-height: 1.55;
}

.builder-page-shell {
  padding: clamp(2rem, 5vw, 4rem) max(1rem, calc((100vw - 1180px) / 2));
  background: linear-gradient(180deg, var(--signal-steel), #fff 18rem);
}

.builder-page-shell {
  --front-builder-band-gap: clamp(2.5rem, 6vw, 5rem);
  gap: 0;
  padding: 0;
  background: #fff;
}

.front-site-page__bands {
  display: flex;
  flex-direction: column;
  gap: clamp(2.8rem, 6vw, 5rem);
  padding: clamp(3.5rem, 6vw, 6rem) clamp(1.5rem, 5vw, 5rem);
  overflow-anchor: none;
}

.builder-page-shell .front-site-page__bands {
  gap: 0;
  padding: 0;
}

.front-site-band {
  width: min(100%, 78rem);
  margin: 0 auto;
}

.builder-page-shell .front-site-band {
  width: 100%;
}

.front-site-band--spacing-none {
  --front-site-section-margin-before: 0;
  --front-site-section-padding-y: 0;
}

.front-site-band--spacing-tight {
  --front-site-section-margin-before: clamp(1.5rem, 3vw, 2.5rem);
  --front-site-section-padding-y: clamp(1rem, 2.5vw, 2rem);
}

.front-site-band--spacing-normal {
  --front-site-section-margin-before: clamp(2.5rem, 6vw, 5rem);
  --front-site-section-padding-y: clamp(2rem, 5vw, 4rem);
}

.front-site-band--spacing-roomy {
  --front-site-section-margin-before: clamp(4rem, 8vw, 7rem);
  --front-site-section-padding-y: clamp(3.5rem, 7vw, 6rem);
}

.builder-page-shell .front-site-band + .front-site-band {
  margin-top: var(--front-site-section-margin-before, var(--front-builder-band-gap));
}

.builder-page-shell .front-site-band[class*="front-site-band--spacing-"]:not(.front-site-band--spacing-auto) {
  padding-block: var(--front-site-section-padding-y, 0);
}

.builder-page-shell .front-site-band:has(.signal-builder-block--full-bleed) + .front-site-band:not(:has(.signal-builder-block--full-bleed)),
.builder-page-shell .front-site-band:not(:has(.signal-builder-block--full-bleed)) + .front-site-band:not(:has(.signal-builder-block--full-bleed)),
.builder-page-shell .front-site-block--signal-hero + .front-site-block:not(.signal-builder-block--full-bleed) {
  margin-top: var(--front-site-section-margin-before, var(--front-builder-band-gap));
}

.front-site-band--hidden-public {
  opacity: .72;
}

body:not(.has-front-admin-shell) .front-site-band--hidden-public {
  display: none;
}

.front-site-band__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(1.2rem, 2.2vw, 2rem);
  align-items: start;
  overflow-anchor: none;
}

.builder-page-shell--home .front-site-band__grid {
  gap: 0;
}

.front-site-band__grid > .holiday-notice-band {
  grid-column: 1 / -1;
}

.front-site-block {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--wa-space-s);
  overflow-anchor: none;
}

.front-site-block > * {
  min-width: 0;
}

.signal-builder-block,
.builder-empty {
  border: 1px solid var(--signal-line);
  border-radius: 8px;
  background: rgba(255, 255, 255, .95);
  box-shadow: var(--signal-shadow);
}

.signal-builder-block {
  padding: clamp(1.2rem, 4vw, 2rem);
}

.builder-page-shell--home .signal-builder-block,
.signal-builder-block--full-bleed {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 0;
  overflow: visible;
}

.signal-builder-block:has(> .contact-location) {
  width: 100vw;
  max-width: 100vw;
  margin-inline: calc(50% - 50vw);
  border: 0;
  background: transparent;
  box-shadow: none;
  padding: 0;
  overflow: visible;
}

.signal-builder-block:has(.front-site-image),
.signal-builder-block:has(> wa-divider),
.signal-builder-block:has(> .front-site-spacer) {
  padding: 0;
  overflow: hidden;
}

.front-site-block--operating-hours {
  padding: clamp(2.5rem, 5vw, 4.5rem) max(1rem, calc((100vw - 1180px) / 2));
  background:
    radial-gradient(circle at 15% 0%, rgba(245, 176, 18, .12), transparent 30%),
    linear-gradient(180deg, #fff, var(--signal-steel));
}

.front-site-operating-hours {
  display: grid;
  gap: clamp(1rem, 2vw, 1.5rem);
  width: min(100%, 64rem);
  margin-inline: auto;
}

.front-site-operating-hours__header {
  display: grid;
  gap: .45rem;
}

.front-site-operating-hours__eyebrow {
  margin: 0;
  color: var(--signal-gold);
  font-size: .86rem;
  font-weight: 900;
  letter-spacing: .16em;
  line-height: 1.2;
  text-transform: uppercase;
}

.front-site-operating-hours__header h2 {
  margin: 0;
  color: var(--signal-ink);
  font-size: clamp(2rem, 4vw, 4rem);
  line-height: 1;
}

.front-site-operating-hours__intro {
  max-width: 54rem;
  color: var(--signal-muted);
  font-size: clamp(1rem, 1.2vw, 1.16rem);
  line-height: 1.55;
}

.front-site-operating-hours__intro :where(p) {
  margin: 0;
}

.front-site-operating-hours__today::part(base) {
  border-color: rgba(54, 95, 255, .18);
  border-radius: 1rem;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(242, 247, 255, .94)),
    #fff;
  box-shadow: 0 18px 45px rgba(15, 23, 42, .08);
}

.front-site-operating-hours__today.is-closed::part(base) {
  border-color: rgba(225, 45, 70, .22);
}

.front-site-operating-hours__status {
  display: flex;
  gap: .9rem;
  align-items: center;
}

.front-site-operating-hours__status wa-badge {
  --hours-sign-color: #079344;
  --hours-sign-glow: rgba(7, 147, 68, .36);
  position: relative;
  display: inline-grid;
  flex: 0 0 auto;
  min-width: 5.8rem;
  min-height: 2.55rem;
  place-items: center;
  color: transparent;
  font-size: 0;
  transform: rotate(-2deg);
}

.front-site-operating-hours__status wa-badge[variant="danger"] {
  --hours-sign-color: #be123c;
  --hours-sign-glow: rgba(190, 18, 60, .34);
  min-width: 8rem;
}

.front-site-operating-hours__status wa-badge[variant="danger"]::part(base) {
  min-width: 8rem;
}

.front-site-operating-hours__status wa-badge[variant="warning"] {
  --hours-sign-color: #d48c00;
  --hours-sign-glow: rgba(212, 140, 0, .32);
  min-width: 7.25rem;
}

.front-site-operating-hours__status wa-badge[variant="warning"]::part(base) {
  min-width: 7.25rem;
}

.front-site-operating-hours__status wa-badge::part(base) {
  min-width: 5.8rem;
  min-height: 2.55rem;
  padding: .34rem .8rem .28rem;
  border: 2px solid color-mix(in srgb, var(--hours-sign-color) 72%, #fff);
  border-radius: .42rem;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(255, 255, 255, .82)),
    color-mix(in srgb, var(--hours-sign-color) 8%, #fff);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, .72),
    0 .35rem 1rem var(--hours-sign-glow);
  color: transparent;
  line-height: 1;
}

.front-site-operating-hours__status wa-badge::before {
  content: "";
  position: absolute;
  top: -.45rem;
  left: 22%;
  right: 22%;
  height: .58rem;
  border-left: 2px solid color-mix(in srgb, var(--hours-sign-color) 58%, #64748b);
  border-right: 2px solid color-mix(in srgb, var(--hours-sign-color) 58%, #64748b);
  opacity: .55;
  pointer-events: none;
}

.front-site-operating-hours__status wa-badge::after {
  content: "OPEN";
  position: absolute;
  inset: .42rem .56rem;
  display: grid;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--hours-sign-color) 42%, transparent);
  border-radius: .26rem;
  color: var(--hours-sign-color);
  font-size: .78rem;
  font-weight: 950;
  letter-spacing: .14em;
  line-height: 1;
  text-shadow: 0 0 .55rem var(--hours-sign-glow);
  pointer-events: none;
}

.front-site-operating-hours__status wa-badge[variant="danger"]::after {
  content: "CURRENTLY CLOSED";
  font-size: .48rem;
  letter-spacing: .08em;
}

.front-site-operating-hours__status wa-badge[variant="warning"]::after {
  content: "CLOSING SOON";
  font-size: .56rem;
  letter-spacing: .1em;
}

.front-site-operating-hours__status strong,
.front-site-operating-hours__status span {
  display: block;
}

.front-site-operating-hours__status strong {
  color: var(--signal-ink);
  font-size: clamp(1.2rem, 2vw, 1.55rem);
  line-height: 1.1;
}

.front-site-operating-hours__status span {
  margin-top: .18rem;
  color: var(--signal-muted);
  font-weight: 700;
}

.front-site-operating-hours__notice {
  margin-top: 1rem;
  padding: .9rem 1rem;
  border: 1px solid rgba(245, 178, 10, .32);
  border-radius: .85rem;
  background: rgba(245, 178, 10, .1);
  color: color-mix(in srgb, var(--signal-ink) 86%, #a56600);
  font-weight: 700;
  line-height: 1.45;
}

.front-site-operating-hours__notice[data-operating-hours-status-message] {
  display: flex;
  align-items: center;
  gap: .65rem;
  border-color: rgba(14, 165, 233, .32);
  background: rgba(14, 165, 233, .08);
  color: color-mix(in srgb, var(--signal-ink) 84%, #0369a1);
}

.front-site-operating-hours__notice[data-operating-hours-status-message]::before {
  content: "i";
  display: inline-grid;
  flex: 0 0 auto;
  width: 1.35rem;
  height: 1.35rem;
  place-items: center;
  border: 2px solid currentColor;
  border-radius: 999px;
  font-size: .78rem;
  font-weight: 950;
  font-style: normal;
  line-height: 1;
  text-transform: lowercase;
}

.front-site-operating-hours__notice :where(p) {
  margin: 0;
}

.front-site-operating-hours__week {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: .65rem;
}

.front-site-operating-hours__day {
  display: grid;
  grid-template-rows: auto 1fr auto;
  overflow: hidden;
  gap: 0;
  min-height: 7.6rem;
  padding: 0;
  border: 1px solid rgba(126, 143, 168, .18);
  border-radius: .85rem;
  background: #fff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .05);
}

.front-site-operating-hours__day.is-exception {
  border-color: rgba(225, 45, 70, .26);
  box-shadow: 0 12px 28px rgba(225, 45, 70, .08);
}

.front-site-operating-hours__day strong {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.front-site-operating-hours__day span,
.front-site-operating-hours__day em,
.front-site-operating-hours__day small {
  color: var(--signal-muted);
  font-size: .86rem;
  font-weight: 700;
  line-height: 1.28;
}

.front-site-operating-hours__day em {
  display: grid;
  align-content: center;
  justify-items: center;
  min-height: 4.4rem;
  padding: .55rem .45rem .48rem;
  border-bottom: 1px solid rgba(126, 143, 168, .14);
  font-style: normal;
  color: var(--signal-gold);
}

.front-site-operating-hours__day em .front-site-operating-hours__date-weekday {
  color: var(--signal-ink);
  font-size: .78rem;
  font-weight: 950;
  letter-spacing: 0;
  line-height: 1.05;
}

.front-site-operating-hours__day em .front-site-operating-hours__date-month {
  color: var(--signal-gold);
  font-size: .68rem;
  font-weight: 950;
  letter-spacing: .12em;
  line-height: 1;
  text-transform: uppercase;
}

.front-site-operating-hours__day em .front-site-operating-hours__date-day {
  color: var(--signal-ink);
  font-size: clamp(1.7rem, 2.2vw, 2.3rem);
  font-weight: 950;
  line-height: .95;
}

.front-site-operating-hours__day > span {
  display: block;
  min-height: 2.9rem;
  padding: .52rem .55rem .65rem;
  text-align: center;
}

.front-site-operating-hours__day > span.front-site-operating-hours__time-range {
  display: grid;
  grid-template-rows: 1fr auto 1fr;
  align-items: center;
  justify-items: stretch;
  gap: 0;
  min-height: 4.95rem;
  margin: .52rem .5rem .65rem;
  padding: .28rem .36rem;
  border: 1px solid rgba(126, 143, 168, .16);
  border-radius: .8rem;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(248, 250, 252, .9)),
    rgba(248, 250, 252, .96);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .78);
}

.front-site-operating-hours__time-chip {
  display: grid;
  gap: .12rem;
  align-items: center;
  justify-items: center;
  min-width: 0;
  min-height: 1.72rem;
  padding: .12rem .14rem;
  border: 0;
  border-radius: .55rem;
  background: transparent;
  color: var(--signal-ink);
  font-size: .8rem;
  font-weight: 950;
  line-height: 1;
  white-space: nowrap;
}

.front-site-operating-hours__time-chip::before {
  color: var(--signal-gold);
  font-size: .5rem;
  font-weight: 950;
  letter-spacing: .1em;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
}

.front-site-operating-hours__time-chip:first-child::before {
  content: "Open";
}

.front-site-operating-hours__time-chip:last-child::before {
  content: "Close";
}

.front-site-operating-hours__time-arrow {
  position: relative;
  display: grid;
  place-items: center;
  justify-self: center;
  width: 100%;
  height: .42rem;
  margin: 0;
  color: transparent;
  font-size: 0;
  line-height: 1;
}

.front-site-operating-hours__time-arrow::before {
  content: "";
  position: absolute;
  top: 50%;
  left: .35rem;
  right: .35rem;
  height: 1px;
  background: rgba(126, 143, 168, .2);
}

.front-site-operating-hours__time-arrow::after {
  content: none;
}

.front-site-operating-hours__day small {
  display: block;
  padding: 0 .55rem .65rem;
  text-align: center;
  opacity: .78;
}

.front-site-operating-hours__day.is-exception small {
  color: color-mix(in srgb, var(--signal-ink) 74%, #be123c);
  opacity: 1;
}

@media (max-width: 900px) {
  .front-site-operating-hours__week {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .front-site-operating-hours__status {
    align-items: flex-start;
    flex-direction: column;
  }

  .front-site-operating-hours__week {
    grid-template-columns: 1fr;
  }
}

.builder-page-shell[data-front-page-slug="contact"] .front-site-page__bands {
  min-width: 0;
}

.builder-page-shell--home[data-front-page-slug="contact"] :is(.front-site-block--contact-form, .front-site-block--contact-info-map),
.builder-page-shell--home[data-front-page-slug="financing"] .front-site-block--signal-financing-lenders {
  grid-column: 1 / -1 !important;
}

.signal-contact-page-block--heading {
  padding: clamp(1.4rem, 4vw, 2.4rem);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(247, 249, 252, .94)),
    radial-gradient(circle at 92% 12%, rgba(243, 179, 24, .18), transparent 32%);
}

.signal-contact-page-block--heading .front-site-block__heading {
  margin: 0;
  font-size: clamp(2.5rem, 6vw, 5rem);
  line-height: .92;
}

.signal-contact-page-block--paragraph {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.contact-summary-component {
  display: block;
}

.contact-summary-card::part(base) {
  padding: clamp(1.2rem, 4vw, 2rem);
  border: 1px solid var(--signal-line);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(248, 250, 253, .94)),
    radial-gradient(circle at 12% 18%, rgba(243, 179, 24, .16), transparent 34%);
  box-shadow: var(--signal-shadow);
}

.contact-summary-card__layout {
  align-items: end;
}

.contact-summary-card__copy {
  max-width: 62rem;
  min-width: 0;
}

.contact-summary-card__copy wa-badge {
  align-self: flex-start;
}

.contact-summary-card__copy h2 {
  margin: 0;
  color: var(--signal-ink);
  font-size: clamp(2rem, 4vw, 3.35rem);
  line-height: .96;
}

.contact-summary-card__copy p {
  max-width: 62rem;
  margin: 0;
  color: var(--signal-muted);
  font-size: 1.08rem;
  font-weight: 750;
  line-height: 1.55;
}

.contact-summary-card__actions {
  flex: 0 0 auto;
  min-width: 0;
}

.contact-summary-card__actions wa-button::part(base) {
  justify-content: flex-start;
  white-space: nowrap;
}

.contact-summary-card__details {
  --min-column-size: min(24rem, 100%);
  margin-top: 1.1rem;
}

.contact-summary-card__details wa-callout::part(base) {
  min-height: 5.5rem;
}

.contact-summary-card__details strong,
.contact-summary-card__details span {
  display: block;
}

.contact-summary-card__details span {
  margin-top: .2rem;
  color: var(--signal-muted);
  font-weight: 750;
  line-height: 1.45;
}

.signal-contact-page-block--contact-form,
.builder-page-shell--home .front-site-block--contact-form {
  padding: clamp(1.2rem, 4vw, 2rem);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(247, 249, 252, .94)),
    radial-gradient(circle at 92% 8%, rgba(243, 179, 24, .16), transparent 32%);
}

.builder-page-shell--home .front-site-block--contact-form {
  padding: clamp(3rem, 7vw, 5rem) max(1rem, calc((100vw - 1180px) / 2));
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.front-site-contact-form-wrap {
  min-width: 0;
}

.front-site-contact-form__title {
  margin: 0;
  color: var(--signal-ink);
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1;
}

.front-site-contact-form__intro {
  max-width: 58rem;
  margin: 0;
  color: var(--signal-muted);
  font-size: 1.08rem;
  font-weight: 750;
  line-height: 1.55;
}

.front-site-contact-form {
  min-width: 0;
}

.front-site-contact-form__grid {
  --min-column-size: 100%;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--wa-space-m);
}

.front-site-contact-form__message {
  grid-column: 1 / -1;
}

.front-site-contact-form wa-input::part(base),
.front-site-contact-form wa-textarea::part(base) {
  background: #fff;
  border-color: rgba(105, 116, 137, .42);
}

.front-site-contact-form__actions {
  justify-content: flex-start;
}

.front-site-contact-form__actions wa-button::part(base) {
  min-width: 11rem;
}

.front-site-block__heading,
.signal-builder-block h1,
.signal-builder-block h2,
.signal-builder-block h3 {
  margin-top: 0;
  color: var(--signal-ink);
  font-weight: 900;
  line-height: 1;
  text-wrap: balance;
}

.front-site-block__heading {
  margin-bottom: .8rem;
  font-size: clamp(2rem, 5vw, 3.5rem);
}

.front-site-block__prose {
  color: #303744;
  font-weight: 650;
  line-height: 1.65;
}

.front-site-block__prose p:first-child {
  margin-top: 0;
}

.front-site-block__prose p:last-child {
  margin-bottom: 0;
}

.front-site-card {
  display: block;
  border: 1px solid var(--signal-line);
  border-radius: 8px;
  box-shadow: none;
}

.front-site-card h3 {
  margin: 0 0 .65rem;
  color: var(--signal-ink);
  font-size: 1.5rem;
}

.front-site-card__copy {
  color: var(--signal-muted);
  line-height: 1.55;
}

.front-site-card__actions {
  margin-top: 1rem;
}

.signal-builder-block--financing-lenders {
  padding: clamp(1.2rem, 4vw, 2.2rem);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(247, 249, 252, .94)),
    radial-gradient(circle at 92% 12%, rgba(243, 179, 24, .18), transparent 30%);
}

.builder-page-shell--home .signal-builder-block--financing-lenders {
  padding: clamp(3rem, 7vw, 5rem) max(1rem, calc((100vw - 1180px) / 2));
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.financing-lenders__head {
  align-items: end;
}

.financing-lenders__head p {
  margin: 0;
  color: var(--signal-red);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.financing-lenders__head h2 {
  margin: 0;
  color: var(--signal-ink);
  font-size: clamp(2rem, 4vw, 3.4rem);
  line-height: .96;
}

.financing-lenders__head span {
  display: block;
  max-width: 52rem;
  color: var(--signal-muted);
  font-size: 1.06rem;
  font-weight: 700;
  line-height: 1.55;
}

.financing-lenders__grid {
  --min-column-size: min(28rem, 100%);
}

.financing-lender-card::part(base) {
  display: grid;
  grid-template-rows: auto 1fr;
  min-height: 100%;
  padding: 0;
  overflow: hidden;
}

.financing-lender-card__logo {
  display: grid;
  place-items: center;
  min-height: clamp(9rem, 18vw, 13rem);
  padding: clamp(1.25rem, 4vw, 2rem);
  background: #fff;
  border-bottom: 1px solid var(--signal-line);
}

.financing-lender-card__logo img {
  display: block;
  width: min(100%, 24rem);
  max-height: 6rem;
  object-fit: contain;
}

.financing-lender-card__copy {
  padding: clamp(1.1rem, 3vw, 1.5rem);
}

.financing-lender-card__copy h3 {
  margin: 0;
  color: var(--signal-ink);
  font-size: clamp(1.5rem, 3vw, 2.1rem);
  line-height: 1;
}

.financing-lender-card__copy p {
  margin: 0;
  color: var(--signal-muted);
  font-weight: 700;
  line-height: 1.55;
}

.financing-lender-card__copy wa-button {
  align-self: flex-start;
  margin-top: .35rem;
}

.front-site-image {
  margin: 0;
}

.front-site-image img {
  display: block;
  width: 100%;
  height: auto;
}

.front-site-image figcaption {
  padding: .85rem 1rem 1rem;
  color: var(--signal-muted);
  font-size: .9rem;
}

.signal-admin-actions {
  position: fixed;
  z-index: 1000;
  top: .85rem;
  right: .85rem;
  display: flex;
  align-items: center;
  gap: .35rem;
  padding: .35rem;
  border: 1px solid rgba(15, 23, 42, .16);
  border-radius: 999px;
  background: rgba(255, 255, 255, .95);
  box-shadow: 0 18px 44px rgba(15, 23, 42, .22);
  backdrop-filter: blur(14px);
}

.signal-admin-actions span,
.signal-admin-actions a {
  min-height: 2rem;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  color: var(--signal-ink);
  font-size: .78rem;
  font-weight: 900;
  text-decoration: none;
  white-space: nowrap;
}

.signal-admin-actions span {
  padding: 0 .65rem;
  color: var(--signal-red);
  letter-spacing: .08em;
  text-transform: uppercase;
}

.signal-admin-actions a {
  padding: 0 .8rem;
  background: var(--signal-steel);
}

.signal-admin-actions a:hover {
  background: var(--signal-red);
  color: #fff;
}

.builder-empty {
  padding: clamp(1.5rem, 4vw, 2.5rem);
}

.builder-empty h2 {
  margin: 0 0 .65rem;
  font-size: clamp(2rem, 5vw, 3.5rem);
  line-height: 1;
}

.builder-empty p {
  margin: 0;
  color: var(--signal-muted);
}

.site-footer {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.5rem max(1rem, calc((100vw - 1180px) / 2));
  background: var(--signal-black);
  color: #fff;
}

.site-logo--footer,
.site-footer__signal-logo {
  width: min(16rem, 72vw);
}

.site-footer__signal-logo {
  height: auto;
}

.site-logo--footer .site-footer__signal-logo {
  opacity: .94;
}

.site-footer div {
  min-width: 0;
}

.site-footer__social {
  justify-content: flex-end;
}

.site-footer__social .signal-social-bar__link {
  width: 2.5rem;
  height: 2.5rem;
}

.site-footer__social .signal-social-bar__link:is(:hover, :focus-visible) {
  color: #fff;
}

.site-footer a {
  color: rgba(255, 255, 255, .82);
  text-decoration: none;
}

.site-footer .signal-social-bar__link,
.site-footer .signal-social-bar__link:is(:hover, :focus-visible),
.site-footer .signal-social-bar__link:is(:hover, :focus-visible) i {
  color: #fff;
}

.site-footer__legal {
  flex: 1 1 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .45rem 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(255, 255, 255, .08);
  color: rgba(255, 255, 255, .46);
  font-size: clamp(.86rem, 1.2vw, 1rem);
  line-height: 1.55;
}

.site-footer__legal-main,
.site-footer__legal-credit {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  min-width: 0;
}

.site-footer__legal-divider {
  color: rgba(255, 255, 255, .36);
}

.site-footer__legal-logo {
  width: auto;
  height: 1.65rem;
  object-fit: contain;
  display: inline-block;
  flex: 0 0 auto;
  opacity: .9;
}

.site-footer__legal-brand {
  display: inline-flex;
  align-items: center;
  gap: .42rem;
  flex: 0 0 auto;
  color: rgba(255, 255, 255, .7);
  text-decoration: none;
  white-space: nowrap;
}

.site-footer__legal-brand-text {
  display: grid;
  gap: .02rem;
  line-height: .88;
  font-weight: 800;
  letter-spacing: -.01em;
}

.site-footer__legal-brand-text span:first-child {
  font-size: .83rem;
}

.site-footer__legal-brand-text span:last-child {
  font-size: .8rem;
}

.site-footer__legal a {
  color: color-mix(in srgb, var(--signal-gold, #f3b318) 62%, #8bdcff);
}

.site-footer__legal a:hover,
.site-footer__legal a:focus-visible {
  color: #fff;
}

.signal-service-animation {
  --service-brand: var(--signal-gold, #f2ae12);
  --service-cyan: #66d9ff;
  position: relative;
  display: grid;
  grid-template-columns: minmax(18rem, .82fr) minmax(26rem, 1.18fr);
  gap: clamp(1.5rem, 4vw, 4rem);
  align-items: center;
  overflow: hidden;
  padding: clamp(1.5rem, 4vw, 3.5rem);
  border: 1px solid rgba(185, 199, 218, .72);
  border-radius: 18px;
  background:
    radial-gradient(circle at 82% 18%, rgba(102, 217, 255, .2), transparent 32%),
    radial-gradient(circle at 14% 18%, rgba(242, 174, 18, .18), transparent 28%),
    linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(241, 246, 252, .9));
  box-shadow: 0 28px 70px rgba(21, 35, 56, .13);
}

.signal-service-animation::after {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .3;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(70, 88, 115, .08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(70, 88, 115, .08) 1px, transparent 1px);
  background-size: 4.4rem 4.4rem;
}

.signal-service-animation__copy,
.signal-service-animation__scene {
  position: relative;
  z-index: 1;
}

.signal-service-animation__copy {
  display: grid;
  gap: 1rem;
}

.signal-service-animation__eyebrow {
  margin: 0;
  color: var(--service-brand);
  font-size: .82rem;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.signal-service-animation__copy h2 {
  max-width: 11ch;
  margin: 0;
  color: #121821;
  font-size: clamp(2.4rem, 5.1vw, 5.5rem);
  line-height: .92;
}

.signal-service-animation__copy > p:not(.signal-service-animation__eyebrow) {
  max-width: 42rem;
  margin: 0;
  color: #667184;
  font-size: clamp(1.02rem, 1.35vw, 1.24rem);
  font-weight: 650;
  line-height: 1.45;
}

.signal-service-animation__steps {
  display: grid;
  gap: .58rem;
  margin: .25rem 0 0;
  padding: 0;
  list-style: none;
}

.signal-service-animation__steps li {
  display: flex;
  align-items: center;
  gap: .62rem;
  min-height: 2.35rem;
  color: #121821;
  font-weight: 800;
  animation: signalServiceStep 5.8s ease-in-out infinite;
  animation-delay: calc(var(--step-index) * .58s);
}

.signal-service-animation__steps li span {
  display: grid;
  place-items: center;
  width: 1.65rem;
  height: 1.65rem;
  border-radius: 999px;
  background: rgba(242, 174, 18, .14);
  color: #9c6c00;
  font-size: .86rem;
}

.signal-service-animation__copy wa-button {
  justify-self: start;
}

.signal-service-animation__scene {
  min-height: clamp(22rem, 34vw, 32rem);
  overflow: hidden;
  border: 1px solid rgba(18, 24, 33, .12);
  border-radius: 20px;
  background:
    radial-gradient(circle at 36% 18%, rgba(102, 217, 255, .24), transparent 34%),
    linear-gradient(180deg, rgba(12, 20, 34, .86), rgba(7, 13, 24, .96));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 24px 64px rgba(12, 20, 34, .22);
  isolation: isolate;
}

.signal-service-animation__shop-lines {
  position: absolute;
  inset: 0;
  opacity: .34;
  background-image:
    linear-gradient(rgba(102, 217, 255, .16) 1px, transparent 1px),
    linear-gradient(90deg, rgba(102, 217, 255, .13) 1px, transparent 1px);
  background-size: 3.6rem 3.6rem;
  transform: perspective(900px) rotateX(64deg) translateY(3rem);
  transform-origin: bottom center;
  animation: signalServiceGrid 6.5s linear infinite;
}

.signal-service-animation__sign,
.signal-service-animation__meter,
.signal-service-animation__part {
  position: absolute;
  border-radius: 999px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.signal-service-animation__sign {
  top: clamp(8rem, 10.2vw, 9.75rem);
  left: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.1rem;
  padding: .25rem 1rem;
  border: 1px solid rgba(242, 174, 18, .48);
  background: rgba(7, 13, 22, .48);
  color: #ffd978;
  font-size: .78rem;
  letter-spacing: .14em;
  box-shadow:
    0 0 .65rem rgba(242, 174, 18, .24),
    inset 0 0 .65rem rgba(242, 174, 18, .08);
  transform: translateX(-50%);
}

.signal-service-animation__lift {
  position: absolute;
  bottom: 5.15rem;
  width: .65rem;
  height: 12rem;
  border-radius: 999px 999px 0 0;
  background: linear-gradient(180deg, #9aa8ba, #425166);
}

.signal-service-animation__lift::before {
  content: "";
  position: absolute;
  bottom: 4.6rem;
  width: 5rem;
  height: .42rem;
  border-radius: 999px;
  background: #9aa8ba;
  animation: signalServiceLiftArm 5.8s ease-in-out infinite;
}

.signal-service-animation__lift--left { left: 18%; }
.signal-service-animation__lift--left::before { left: .35rem; transform-origin: left center; }
.signal-service-animation__lift--right { right: 18%; }
.signal-service-animation__lift--right::before { right: .35rem; transform-origin: right center; }

.signal-service-animation__toolrail {
  position: absolute;
  top: 1.2rem;
  right: 1.2rem;
  display: flex;
  gap: .5rem;
}

.signal-service-animation__toolrail span {
  width: .34rem;
  height: 2.9rem;
  border-radius: 999px;
  background: linear-gradient(180deg, #e7edf6 0 30%, var(--service-brand) 30% 55%, #778397 55% 100%);
  transform-origin: top center;
  animation: signalServiceToolSwing 2.9s ease-in-out infinite;
}

.signal-service-animation__toolrail span:nth-child(2) { animation-delay: -.45s; }
.signal-service-animation__toolrail span:nth-child(3) { animation-delay: -.9s; }

.signal-service-animation__wrench-loop {
  position: absolute;
  top: 1.85rem;
  right: 1.35rem;
  width: 5.45rem;
  height: 4.05rem;
}

.signal-service-animation__wrench-nut {
  position: absolute;
  right: .18rem;
  top: 1.47rem;
  z-index: 3;
  width: .98rem;
  height: .98rem;
  background: linear-gradient(135deg, #f0b82e, #c68f13 58%, #ffe09a);
  clip-path: polygon(25% 3%, 75% 3%, 100% 50%, 75% 97%, 25% 97%, 0 50%);
  box-shadow: 0 .16rem .32rem rgba(0, 0, 0, .3);
  animation: signalServiceCornerNut 2.7s ease-in-out infinite;
}

.signal-service-animation__wrench-nut::after {
  content: "";
  position: absolute;
  inset: .29rem;
  border-radius: 50%;
  background: rgba(39, 50, 65, .92);
  box-shadow: inset 0 .08rem .1rem rgba(255, 255, 255, .18);
}

.signal-service-animation__turning-wrench {
  position: absolute;
  right: .02rem;
  top: 1.16rem;
  width: 5.55rem;
  height: 1.76rem;
  z-index: 4;
  overflow: visible;
  transform-origin: 88.6% 50%;
  filter: drop-shadow(0 .2rem .22rem rgba(0, 0, 0, .34));
  animation: signalServiceCornerWrench 2.7s ease-in-out infinite;
}

.signal-service-animation__wrench-shadow {
  display: none;
  fill: rgba(9, 17, 30, .3);
  transform: translate(.08rem, .11rem);
}

.signal-service-animation__wrench-body {
  fill: #aab8c8;
}

.signal-service-animation__wrench-slot {
  fill: #263544;
}

.signal-service-animation__wrench-highlight,
.signal-service-animation__wrench-jaw-line {
  fill: none;
  stroke: rgba(246, 250, 255, .72);
  stroke-linecap: round;
  stroke-width: 1.8;
}

.signal-service-animation__wrench-jaw-line {
  display: none;
}

.signal-service-animation__part {
  right: 8%;
  display: inline-flex;
  align-items: center;
  gap: .42rem;
  padding: .5rem .75rem;
  background: rgba(255, 255, 255, .1);
  color: rgba(240, 247, 255, .9);
  font-size: .8rem;
  animation: signalServicePartFloat 5.8s ease-in-out infinite;
}

.signal-service-animation__part i {
  width: .72rem;
  height: .72rem;
  border-radius: 999px;
  background: var(--service-cyan);
  box-shadow: 0 0 18px rgba(102, 217, 255, .78);
}

.signal-service-animation__part--one { top: 27%; }
.signal-service-animation__part--two { top: 40%; animation-delay: -1.35s; }

.signal-service-animation__trailer {
  position: absolute;
  left: 50%;
  bottom: 6.3rem;
  width: min(72%, 34rem);
  height: 10.2rem;
  transform: translateX(-50%);
  animation: signalServiceTrailer 5.8s ease-in-out infinite;
}

.signal-service-animation__trailer-bed,
.signal-service-animation__trailer-rail {
  position: absolute;
  left: 7%;
  right: 8%;
  border-radius: .65rem;
}

.signal-service-animation__trailer-bed {
  bottom: 3.7rem;
  height: 3.9rem;
  border: .22rem solid #5d6a7d;
  background: linear-gradient(180deg, #202936, #090f19);
  box-shadow: inset 0 .45rem 0 rgba(255, 255, 255, .08), 0 1.2rem 2.2rem rgba(0, 0, 0, .34);
}

.signal-service-animation__trailer-rail {
  bottom: 7.65rem;
  height: .75rem;
  background: #c9d4e3;
  box-shadow: -.2rem 1.25rem 0 #c9d4e3, .2rem 2.45rem 0 rgba(201, 212, 227, .72);
}

.signal-service-animation__trailer-tongue {
  position: absolute;
  right: 0;
  bottom: 4.2rem;
  width: 7.5rem;
  height: .45rem;
  border-radius: 999px;
  background: #8d99ab;
  transform: rotate(12deg);
  transform-origin: left center;
}

.signal-service-animation__wheel {
  position: absolute;
  bottom: 1.1rem;
  width: 3.65rem;
  height: 3.65rem;
  border: .65rem solid #070b12;
  border-radius: 999px;
  background: radial-gradient(circle, #e5ecf7 0 18%, #78869a 19% 34%, transparent 35%), conic-gradient(from 0deg, #283242, #5c687a, #283242, #5c687a, #283242);
  box-shadow: inset 0 0 0 .28rem #202735, 0 .65rem 1.1rem rgba(0, 0, 0, .42);
  animation: signalServiceWheel 1.05s linear infinite;
}

.signal-service-animation__wheel--front { left: 23%; }
.signal-service-animation__wheel--rear { left: 40%; }

.signal-service-animation__light {
  position: absolute;
  bottom: 5.15rem;
  width: .95rem;
  height: .55rem;
  border-radius: 999px;
  background: #f24b42;
  animation: signalServiceLight 1.6s ease-in-out infinite;
}

.signal-service-animation__light--left { left: 8%; }
.signal-service-animation__light--right { right: 10%; background: var(--service-cyan); animation-delay: -.8s; }

.signal-service-animation__mechanic {
  position: absolute;
  left: 24%;
  bottom: 4.7rem;
  width: 4.2rem;
  height: 5.2rem;
  animation: signalServiceMechanic 5.8s ease-in-out infinite;
}

.signal-service-animation__mechanic::before {
  content: "";
  position: absolute;
  top: 0;
  left: 1.25rem;
  width: 1.28rem;
  height: 1.28rem;
  border-radius: 999px;
  background: #ffd8a8;
}

.signal-service-animation__mechanic span {
  position: absolute;
  top: 1.25rem;
  left: .95rem;
  width: 1.95rem;
  height: 2.5rem;
  border-radius: .65rem .65rem .25rem .25rem;
  background: linear-gradient(180deg, #2f77ff, #1d438a);
}

.signal-service-animation__mechanic b {
  position: absolute;
  top: 2rem;
  left: 2.45rem;
  width: 2.3rem;
  height: .42rem;
  border-radius: 999px;
  background: #ffd8a8;
  transform-origin: left center;
  animation: signalServiceArm .86s ease-in-out infinite;
}

.signal-service-animation__wrench {
  position: absolute;
  left: 31%;
  bottom: 7.25rem;
  width: 3.8rem;
  height: .48rem;
  border-radius: 999px;
  background: linear-gradient(90deg, #dce6f2, #7f8fa5);
  transform-origin: left center;
  animation: signalServiceWrench .86s ease-in-out infinite;
}

.signal-service-animation__wrench::after {
  content: "";
  position: absolute;
  right: -.58rem;
  top: -.42rem;
  width: 1.1rem;
  height: 1.1rem;
  border: .25rem solid #dce6f2;
  border-left-color: transparent;
  border-radius: 999px;
}

.signal-service-animation__sparks {
  position: absolute;
  left: 38%;
  bottom: 8.1rem;
  width: 4rem;
  height: 4rem;
}

.signal-service-animation__sparks span {
  position: absolute;
  left: 50%;
  top: 50%;
  width: .34rem;
  height: 1.35rem;
  border-radius: 999px;
  background: #ffd65a;
  opacity: 0;
  transform-origin: center bottom;
  animation: signalServiceSpark 1.15s ease-out infinite;
}

.signal-service-animation__sparks span:nth-child(1) { transform: rotate(22deg) translateY(-.2rem); }
.signal-service-animation__sparks span:nth-child(2) { transform: rotate(72deg) translateY(-.2rem); animation-delay: -.2s; }
.signal-service-animation__sparks span:nth-child(3) { transform: rotate(128deg) translateY(-.2rem); animation-delay: -.38s; }
.signal-service-animation__sparks span:nth-child(4) { transform: rotate(302deg) translateY(-.2rem); animation-delay: -.58s; }

.signal-service-animation__meter {
  right: 1.2rem;
  bottom: 1.1rem;
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: .62rem .75rem;
  border: 1px solid rgba(102, 217, 255, .24);
  background: rgba(3, 9, 20, .64);
  color: rgba(240, 247, 255, .86);
  font-size: .76rem;
}

.signal-service-animation__meter span {
  width: .72rem;
  height: .72rem;
  border-radius: 999px;
  background: rgba(102, 217, 255, .2);
  animation: signalServiceMeter 1.6s ease-in-out infinite;
}

.signal-service-animation__meter span:nth-child(2) { animation-delay: .28s; }
.signal-service-animation__meter span:nth-child(3) { animation-delay: .56s; }

@keyframes signalServiceStep {
  0%, 14%, 100% { transform: translateX(0); opacity: .72; }
  24%, 54% { transform: translateX(.35rem); opacity: 1; }
}

@keyframes signalServiceGrid {
  from { background-position: 0 0, 0 0; }
  to { background-position: 0 3.6rem, 3.6rem 0; }
}

@keyframes signalServiceLiftArm {
  0%, 12%, 100% { transform: rotate(0deg); }
  30%, 76% { transform: rotate(-8deg); }
}

@keyframes signalServiceToolSwing {
  0%, 100% { transform: rotate(-5deg); }
  50% { transform: rotate(8deg); }
}

@keyframes signalServiceCornerWrench {
  0%, 10% { opacity: 0; transform: translate(-1rem, -.55rem) rotate(-32deg); }
  18%, 30% { opacity: 1; transform: translate(0, 0) rotate(-32deg); }
  48%, 78% { opacity: 1; transform: translate(0, 0) rotate(44deg); }
  88%, 100% { opacity: 0; transform: translate(-1.05rem, .55rem) rotate(18deg); }
}

@keyframes signalServiceCornerNut {
  0%, 20% { transform: rotate(0deg); }
  48%, 100% { transform: rotate(60deg); }
}

@keyframes signalServicePartFloat {
  0%, 100% { transform: translate3d(0, 0, 0); opacity: .66; }
  50% { transform: translate3d(-1.2rem, -.55rem, 0); opacity: 1; }
}

@keyframes signalServiceTrailer {
  0% { transform: translateX(-82%) translateY(0); }
  18%, 34% { transform: translateX(-50%) translateY(0); }
  48%, 76% { transform: translateX(-50%) translateY(-.72rem); }
  100% { transform: translateX(-18%) translateY(0); }
}

@keyframes signalServiceWheel { to { transform: rotate(360deg); } }

@keyframes signalServiceLight {
  0%, 100% { filter: brightness(.8); box-shadow: 0 0 0 currentColor; }
  50% { filter: brightness(1.45); box-shadow: 0 0 18px currentColor; }
}

@keyframes signalServiceMechanic {
  0%, 17%, 100% { transform: translateX(-.5rem); opacity: 0; }
  28%, 78% { transform: translateX(0); opacity: 1; }
}

@keyframes signalServiceArm {
  0%, 100% { transform: rotate(-16deg); }
  50% { transform: rotate(22deg); }
}

@keyframes signalServiceWrench {
  0%, 100% { transform: rotate(-26deg); }
  50% { transform: rotate(18deg); }
}

@keyframes signalServiceSpark {
  0%, 24% { opacity: 0; }
  32% { opacity: 1; }
  72%, 100% { opacity: 0; translate: 0 -1rem; }
}

@keyframes signalServiceMeter {
  0%, 32%, 100% { background: rgba(102, 217, 255, .2); box-shadow: none; }
  48%, 78% { background: #55f08a; box-shadow: 0 0 16px rgba(85, 240, 138, .75); }
}

@media (max-width: 980px) {
  .signal-service-animation {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .signal-service-animation {
    padding: 1.2rem;
    border-radius: 14px;
  }

  .signal-service-animation__scene {
    min-height: 20rem;
  }

  .signal-service-animation__trailer {
    width: 92%;
  }

  .signal-service-animation__part,
  .signal-service-animation__toolrail,
  .signal-service-animation__wrench-loop {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .signal-service-animation *,
  .signal-service-animation *::before,
  .signal-service-animation *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
  }
}

.signal-service-animation__scene {
  min-height: clamp(29rem, 39vw, 37rem);
  background:
    radial-gradient(circle at 46% 18%, rgba(112, 202, 235, .22), transparent 28%),
    linear-gradient(180deg, #253241 0 38%, #151d29 39% 100%);
}

.signal-service-animation__floor {
  position: absolute;
  left: -8%;
  right: -8%;
  bottom: -1%;
  height: 43%;
  background:
    linear-gradient(180deg, rgba(92, 110, 130, .2), rgba(7, 12, 20, .65)),
    repeating-linear-gradient(90deg, transparent 0 4.8rem, rgba(168, 186, 208, .13) 4.9rem 5rem),
    repeating-linear-gradient(0deg, transparent 0 2.5rem, rgba(168, 186, 208, .1) 2.58rem 2.66rem);
  transform: perspective(44rem) rotateX(63deg);
  transform-origin: bottom center;
  animation: signalServiceFloor 6.8s linear infinite;
}

.signal-service-animation__overhead-light {
  position: absolute;
  top: 0;
  left: 43%;
  width: 28%;
  height: 55%;
  background: radial-gradient(ellipse at top, rgba(255, 240, 190, .24), rgba(255, 240, 190, .08) 38%, transparent 69%);
  mix-blend-mode: screen;
  pointer-events: none;
  animation: signalServiceShopLight 4.4s ease-in-out infinite;
}

.signal-service-animation__tool-chest,
.signal-service-animation__service-cart {
  position: absolute;
  z-index: 2;
  border-radius: .38rem;
  box-shadow: 0 1rem 1.8rem rgba(0, 0, 0, .32);
}

.signal-service-animation__tool-chest {
  left: 5.5%;
  bottom: 6.1rem;
  width: 5.4rem;
  height: 4.25rem;
  background: linear-gradient(180deg, #b92f2b, #641918);
  border: .18rem solid rgba(255, 255, 255, .15);
}

.signal-service-animation__tool-chest::before {
  content: "";
  position: absolute;
  left: .55rem;
  right: .55rem;
  top: .55rem;
  height: .38rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, .7);
}

.signal-service-animation__tool-chest span {
  position: absolute;
  left: .55rem;
  right: .55rem;
  height: .12rem;
  background: rgba(255, 255, 255, .32);
}

.signal-service-animation__tool-chest span:nth-child(1) { top: 1.45rem; }
.signal-service-animation__tool-chest span:nth-child(2) { top: 2.25rem; }
.signal-service-animation__tool-chest span:nth-child(3) { top: 3.05rem; }

.signal-service-animation__service-cart {
  right: 6.5%;
  bottom: 5.6rem;
  width: 5.7rem;
  height: 3.1rem;
  background: linear-gradient(180deg, #293443, #101722);
  border: .14rem solid #667487;
  animation: signalServiceCart 6.8s ease-in-out infinite;
}

.signal-service-animation__service-cart::before,
.signal-service-animation__service-cart::after {
  content: "";
  position: absolute;
  bottom: -.68rem;
  width: .72rem;
  height: .72rem;
  border-radius: 999px;
  background: #060910;
  box-shadow: inset 0 0 0 .18rem #8997aa;
}

.signal-service-animation__service-cart::before { left: .75rem; }
.signal-service-animation__service-cart::after { right: .75rem; }

.signal-service-animation__service-cart span {
  position: absolute;
  left: .8rem;
  right: .8rem;
  top: .75rem;
  height: .32rem;
  border-radius: 999px;
  background: var(--service-brand);
}

.signal-service-animation__jack-stand {
  position: absolute;
  z-index: 3;
  bottom: 5.25rem;
  width: 2.25rem;
  height: 4.1rem;
  opacity: .92;
  animation: signalServiceJackStand 6.8s ease-in-out infinite;
}

.signal-service-animation__jack-stand::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  width: .54rem;
  height: 3rem;
  background: linear-gradient(180deg, #cbd5e2, #69778a);
  transform: translateX(-50%);
}

.signal-service-animation__jack-stand::after {
  content: "";
  position: absolute;
  left: .2rem;
  right: .2rem;
  bottom: 0;
  height: .6rem;
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
  background: #aeb9c8;
}

.signal-service-animation__jack-stand--left { left: 33%; }
.signal-service-animation__jack-stand--right { left: 63%; animation-delay: -.4s; }

.signal-service-animation__trailer {
  left: 53%;
  bottom: 6.65rem;
  width: min(82%, 41rem);
  height: 13.9rem;
  transform: translateX(-50%);
  animation: signalServiceTrailer 6.8s ease-in-out infinite;
}

.signal-service-animation__trailer-shadow {
  position: absolute;
  left: 5%;
  right: 3%;
  bottom: .65rem;
  height: 1.25rem;
  border-radius: 999px;
  background: radial-gradient(ellipse, rgba(0, 0, 0, .62), transparent 72%);
  filter: blur(.15rem);
  animation: signalServiceTrailerShadow 6.8s ease-in-out infinite;
}

.signal-service-animation__trailer-frame {
  position: absolute;
  left: 13%;
  right: 13%;
  bottom: 4.05rem;
  height: .55rem;
  border-radius: 999px;
  background: #798699;
  box-shadow:
    2.2rem 1rem 0 rgba(121, 134, 153, .95),
    9.4rem 1rem 0 rgba(121, 134, 153, .95);
}

.signal-service-animation__trailer-bed {
  left: 9%;
  right: 11%;
  bottom: 5.15rem;
  height: 5.4rem;
  border: .24rem solid #7a8798;
  border-radius: .55rem .88rem .65rem .65rem;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, .08), transparent 18%),
    linear-gradient(180deg, #1b2531, #070c14);
  box-shadow:
    inset 0 .38rem 0 rgba(255, 255, 255, .1),
    inset 0 -1.2rem 0 rgba(0, 0, 0, .28),
    0 1.45rem 2.2rem rgba(0, 0, 0, .38);
  transform: skewX(-1deg);
}

.signal-service-animation__trailer-deck {
  position: absolute;
  left: 11%;
  right: 15%;
  bottom: 7.75rem;
  height: 2rem;
  overflow: hidden;
  border-radius: .32rem;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, .18), transparent 20%),
    repeating-linear-gradient(90deg, #a7743c 0 1.7rem, #8b5a2d 1.75rem 1.95rem);
  opacity: .84;
}

.signal-service-animation__trailer-deck span {
  display: none;
}

.signal-service-animation__trailer-rail {
  left: 8.5%;
  right: 10.5%;
  bottom: 10.6rem;
  height: .52rem;
  background: #d7e0ec;
  box-shadow:
    0 1.15rem 0 #b7c3d2,
    0 2.45rem 0 rgba(178, 190, 206, .72),
    .2rem 3.45rem 0 rgba(128, 142, 160, .9);
}

.signal-service-animation__trailer-front,
.signal-service-animation__trailer-tailgate {
  position: absolute;
  bottom: 5.12rem;
  width: .62rem;
  height: 5.62rem;
  border-radius: .28rem;
  background: linear-gradient(180deg, #c8d2df, #718095);
}

.signal-service-animation__trailer-front { left: 9%; }
.signal-service-animation__trailer-tailgate { right: 10.5%; }

.signal-service-animation__trailer-tongue {
  right: 0;
  bottom: 5.05rem;
  width: 10.7rem;
  height: .46rem;
  background: linear-gradient(90deg, #95a2b3, #657386);
  transform: rotate(10deg);
}

.signal-service-animation__trailer-jack {
  position: absolute;
  right: 8.4%;
  bottom: 2.35rem;
  width: .55rem;
  height: 4.1rem;
  border-radius: 999px;
  background: linear-gradient(180deg, #d7e0ec, #6d7b8f);
}

.signal-service-animation__trailer-jack::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -.28rem;
  width: 1.85rem;
  height: .45rem;
  border-radius: 999px;
  background: #a8b4c4;
  transform: translateX(-50%);
}

.signal-service-animation__coupler {
  position: absolute;
  right: -.45rem;
  bottom: 5.3rem;
  width: 1.15rem;
  height: .85rem;
  border-radius: .12rem .75rem .75rem .12rem;
  background: #c4cfdd;
  transform: rotate(10deg);
}

.signal-service-animation__axle {
  position: absolute;
  left: 28%;
  bottom: 3.4rem;
  width: 15.6rem;
  height: .62rem;
  border-radius: 999px;
  background: #515d70;
  box-shadow: 0 .35rem 0 rgba(0, 0, 0, .25);
}

.signal-service-animation__fender {
  position: absolute;
  bottom: 4.15rem;
  width: 5.25rem;
  height: 2.4rem;
  border-radius: 5rem 5rem .35rem .35rem;
  background: linear-gradient(180deg, #e7edf5, #8b98aa);
  box-shadow: inset 0 .28rem 0 rgba(255, 255, 255, .42), 0 .55rem .75rem rgba(0, 0, 0, .25);
}

.signal-service-animation__fender--front { left: 25.5%; }
.signal-service-animation__fender--rear { left: 42.8%; }

.signal-service-animation__wheel {
  bottom: 1.22rem;
  width: 4.55rem;
  height: 4.55rem;
  border-width: .78rem;
  background:
    radial-gradient(circle, #dfe8f2 0 14%, #6e7b8d 15% 26%, #161c27 27% 40%, transparent 41%),
    conic-gradient(from 0deg, #1a212e, #647184, #1a212e, #647184, #1a212e);
  animation: signalServiceWheel 6.8s ease-in-out infinite;
}

.signal-service-animation__wheel span {
  position: absolute;
  left: 50%;
  top: 50%;
  width: .24rem;
  height: .24rem;
  border-radius: 999px;
  background: #ecf2fa;
  transform-origin: 0 0;
}

.signal-service-animation__wheel span:nth-child(1) { transform: rotate(0deg) translate(.68rem, -.12rem); }
.signal-service-animation__wheel span:nth-child(2) { transform: rotate(72deg) translate(.68rem, -.12rem); }
.signal-service-animation__wheel span:nth-child(3) { transform: rotate(144deg) translate(.68rem, -.12rem); }
.signal-service-animation__wheel span:nth-child(4) { transform: rotate(216deg) translate(.68rem, -.12rem); }
.signal-service-animation__wheel span:nth-child(5) { transform: rotate(288deg) translate(.68rem, -.12rem); }

.signal-service-animation__wheel--front { left: 26.4%; }
.signal-service-animation__wheel--rear { left: 43.6%; }

.signal-service-animation__brake-drum {
  position: absolute;
  z-index: 5;
  left: 47.5%;
  bottom: 9.55rem;
  width: 2.55rem;
  height: 2.55rem;
  border-radius: 999px;
  background:
    radial-gradient(circle, #101722 0 28%, #d7e0ec 29% 42%, #77869a 43% 100%);
  box-shadow: 0 .55rem 1rem rgba(0, 0, 0, .35), 0 0 0 .25rem rgba(255, 255, 255, .08);
  animation: signalServiceBrakeDrum 6.8s ease-in-out infinite;
}

.signal-service-animation__light {
  bottom: 6.2rem;
  box-shadow: 0 0 14px currentColor;
}

.signal-service-animation__mechanic {
  left: 31%;
  bottom: 5rem;
  width: 5rem;
  height: 6.4rem;
  z-index: 6;
  animation: signalServiceMechanic 6.8s ease-in-out infinite;
}

.signal-service-animation__mechanic::before {
  left: 1.45rem;
  width: 1.42rem;
  height: 1.42rem;
  background:
    linear-gradient(180deg, #263245 0 28%, transparent 29%),
    #d8ad81;
  box-shadow: .18rem -.18rem 0 #263245;
}

.signal-service-animation__mechanic::after {
  content: "";
  position: absolute;
  left: 1.22rem;
  bottom: .35rem;
  width: 2.45rem;
  height: 1.85rem;
  border-radius: .22rem;
  background:
    linear-gradient(90deg, #192338 0 .52rem, transparent .53rem 1.95rem, #192338 1.96rem 100%),
    linear-gradient(180deg, transparent 0 .9rem, #111827 .91rem 100%);
}

.signal-service-animation__mechanic span {
  top: 1.35rem;
  left: .9rem;
  width: 2.35rem;
  height: 3rem;
  border-radius: .75rem .75rem .25rem .25rem;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, .16), transparent 38%),
    linear-gradient(180deg, #345f9d, #172c5d);
}

.signal-service-animation__mechanic b {
  top: 2.75rem;
  left: 2.9rem;
  width: 2.8rem;
  height: .44rem;
  background: #d8ad81;
  animation: signalServiceArm .74s ease-in-out infinite;
}

.signal-service-animation__wrench {
  z-index: 7;
  left: 41%;
  bottom: 8.15rem;
  animation: signalServiceWrench .74s ease-in-out infinite;
}

.signal-service-animation__work-light {
  position: absolute;
  z-index: 4;
  left: 35%;
  bottom: 6.3rem;
  width: 18rem;
  height: 10rem;
  background: radial-gradient(ellipse at left, rgba(255, 224, 125, .18), rgba(255, 224, 125, .07) 42%, transparent 72%);
  clip-path: polygon(0 52%, 100% 18%, 100% 86%);
  mix-blend-mode: screen;
  transform-origin: left center;
  animation: signalServiceWorkLight 6.8s ease-in-out infinite;
}

.signal-service-animation__sparks {
  z-index: 8;
  left: 49%;
  bottom: 9.45rem;
}

.signal-service-animation__meter {
  bottom: 1.35rem;
}

@keyframes signalServiceFloor {
  from { background-position: 0 0, 0 0, 0 0; }
  to { background-position: 0 0, 5rem 0, 0 2.66rem; }
}

@keyframes signalServiceShopLight {
  0%, 100% { opacity: .72; }
  45%, 62% { opacity: 1; }
}

@keyframes signalServiceCart {
  0%, 18%, 100% { transform: translateX(1.3rem); opacity: .72; }
  35%, 78% { transform: translateX(0); opacity: 1; }
}

@keyframes signalServiceJackStand {
  0%, 28%, 100% { transform: translateY(.65rem); opacity: 0; }
  42%, 82% { transform: translateY(0); opacity: .92; }
}

@keyframes signalServiceTrailer {
  0% { transform: translateX(-78%) translateY(0) scale(.98); }
  20%, 34% { transform: translateX(-50%) translateY(0) scale(1); }
  48%, 78% { transform: translateX(-50%) translateY(-1.05rem) scale(1); }
  100% { transform: translateX(-20%) translateY(0) scale(.99); }
}

@keyframes signalServiceTrailerShadow {
  0%, 20%, 100% { transform: scaleX(1); opacity: .8; }
  48%, 78% { transform: scaleX(.84); opacity: .48; }
}

@keyframes signalServiceWheel {
  0% { transform: rotate(0deg); }
  22% { transform: rotate(390deg); }
  34%, 100% { transform: rotate(390deg); }
}

@keyframes signalServiceBrakeDrum {
  0%, 35%, 100% { transform: translate(.45rem, .85rem) scale(.7) rotate(0deg); opacity: 0; }
  45%, 74% { transform: translate(0, 0) scale(1) rotate(20deg); opacity: 1; }
  86% { transform: translate(.75rem, -.25rem) scale(.72) rotate(60deg); opacity: 0; }
}

@keyframes signalServiceMechanic {
  0%, 24%, 100% { transform: translate(-2rem, .4rem) scale(.92); opacity: 0; }
  36%, 82% { transform: translate(0, 0) scale(1); opacity: 1; }
}

@keyframes signalServiceArm {
  0%, 100% { transform: rotate(-20deg); }
  50% { transform: rotate(15deg); }
}

@keyframes signalServiceWrench {
  0%, 100% { transform: rotate(-28deg) translateX(0); }
  50% { transform: rotate(18deg) translateX(.28rem); }
}

@keyframes signalServiceWorkLight {
  0%, 28%, 100% { opacity: 0; transform: rotate(-7deg); }
  40%, 82% { opacity: 1; transform: rotate(2deg); }
}

@media (max-width: 620px) {
  .signal-service-animation__scene {
    min-height: 27rem;
  }

  .signal-service-animation__tool-chest,
  .signal-service-animation__service-cart,
  .signal-service-animation__jack-stand {
    display: none;
  }

  .signal-service-animation__trailer {
    left: 52%;
    width: 110%;
  }

  .signal-service-animation__mechanic {
    left: 15%;
  }

  .signal-service-animation__work-light {
    left: 24%;
    width: 14rem;
  }
}

.signal-service-animation__part,
.signal-service-animation__mechanic,
.signal-service-animation__wrench {
  display: none;
}

.signal-service-animation__scene {
  min-height: clamp(28rem, 38vw, 35rem);
}

.signal-service-animation__trailer {
  left: 52%;
  width: min(84%, 40rem);
}

.signal-service-animation__lift--left { left: 15.5%; }
.signal-service-animation__lift--right { right: 13.5%; }

.signal-service-animation__lift::before {
  animation: signalServiceLiftArmTuned 9.6s ease-in-out infinite;
}

.signal-service-animation__jack-stand--left { left: 31%; }
.signal-service-animation__jack-stand--right { left: 58%; }

.signal-service-animation__tool-chest {
  left: 6%;
  opacity: .72;
}

.signal-service-animation__service-cart {
  right: 5.5%;
  opacity: .78;
}

.signal-service-animation__work-light {
  left: 36%;
  bottom: 7.2rem;
  width: 19rem;
  height: 12rem;
}

.signal-service-animation__brake-drum {
  left: 39.4%;
  bottom: 6.9rem;
  width: 3rem;
  height: 3rem;
}

.signal-service-animation__wheel--front {
  animation-name: signalServiceFrontWheelService;
}

.signal-service-animation__wheel--rear {
  animation-name: signalServiceRearWheelRoll;
}

.signal-service-animation__sparks {
  left: 42.5%;
  bottom: 8.15rem;
  transform: scale(.78);
}

.signal-service-animation__sparks span {
  height: .9rem;
  width: .22rem;
}

.signal-service-animation__light--left,
.signal-service-animation__light--right {
  animation-name: signalServiceLightTuned;
  animation-duration: 9.6s;
}

@keyframes signalServiceLiftArmTuned {
  0%, 24%, 84%, 100% { transform: rotate(0deg); opacity: .62; }
  36%, 76% { transform: rotate(-4deg); opacity: 1; }
}

@keyframes signalServiceFrontWheelService {
  0% { transform: rotate(0deg) translate(0, 0); opacity: 1; }
  14%, 28% { transform: rotate(380deg) translate(0, 0); opacity: 1; }
  38%, 66% { transform: translate(-2.1rem, 2.35rem) rotate(28deg) scale(.82); opacity: .82; }
  78%, 86% { transform: rotate(380deg) translate(0, 0); opacity: 1; }
  100% { transform: rotate(760deg) translate(0, 0); opacity: 1; }
}

@keyframes signalServiceRearWheelRoll {
  0% { transform: rotate(0deg); }
  14%, 28% { transform: rotate(380deg); }
  36%, 84% { transform: rotate(380deg); }
  100% { transform: rotate(760deg); }
}

@keyframes signalServiceBrakeDrum {
  0%, 30%, 82%, 100% { transform: scale(.72); opacity: 0; }
  40%, 68% { transform: scale(1); opacity: 1; }
}

@keyframes signalServiceSparkGroup {
  0%, 40%, 70%, 100% { opacity: 0; }
  47%, 62% { opacity: .9; }
}

@keyframes signalServiceWorkLight {
  0%, 30%, 84%, 100% { opacity: 0; transform: rotate(-5deg); }
  40%, 74% { opacity: .7; transform: rotate(1deg); }
}

@keyframes signalServiceLightTuned {
  0%, 64%, 100% { filter: brightness(.85); box-shadow: none; }
  78%, 92% { filter: brightness(1.65); box-shadow: 0 0 18px currentColor; }
}

@media (max-width: 620px) {
  .signal-service-animation__trailer {
    left: 50%;
    width: 106%;
  }

  .signal-service-animation__brake-drum {
    left: 37%;
    bottom: 6.9rem;
  }

  .signal-service-animation__sparks {
    left: 41%;
  }
}

.signal-service-animation__trailer,
.signal-service-animation__trailer-shadow,
.signal-service-animation__jack-stand,
.signal-service-animation__service-cart,
.signal-service-animation__brake-drum,
.signal-service-animation__mechanic,
.signal-service-animation__work-light {
  animation-duration: 9.6s;
  animation-timing-function: cubic-bezier(.45, 0, .2, 1);
  animation-iteration-count: infinite;
}

.signal-service-animation__wheel {
  animation-duration: 9.6s;
}

.signal-service-animation__meter span {
  animation-name: signalServiceMeter;
  animation-duration: 9.6s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}

.signal-service-animation__meter span:nth-child(2) { animation-delay: .22s; }
.signal-service-animation__meter span:nth-child(3) { animation-delay: .44s; }

.signal-service-animation__sparks {
  animation: signalServiceSparkGroup 9.6s ease-in-out infinite;
}

.signal-service-animation__sparks span {
  animation-duration: .82s;
}

.signal-service-animation__part {
  animation-duration: 9.6s;
}

.signal-service-animation__steps li {
  animation-name: signalServiceStep;
  animation-duration: 9.6s;
}

.signal-service-animation__mechanic {
  left: 30%;
}

.signal-service-animation__mechanic b {
  transform-origin: left center;
}

.signal-service-animation__wrench {
  left: 40.2%;
  bottom: 8.35rem;
  animation-duration: .68s;
}

.signal-service-animation__brake-drum {
  left: 47.9%;
  bottom: 9.25rem;
}

.signal-service-animation__meter {
  opacity: .75;
  animation: signalServiceMeterShell 9.6s ease-in-out infinite;
}

@keyframes signalServiceStep {
  0%, 100% { transform: translateX(0); opacity: .58; }
  8%, 22% { transform: translateX(.35rem); opacity: 1; }
  28%, 42% { transform: translateX(.35rem); opacity: 1; }
  48%, 66% { transform: translateX(.35rem); opacity: 1; }
  76%, 91% { transform: translateX(.35rem); opacity: 1; }
}

@keyframes signalServiceTrailer {
  0% { transform: translateX(-82%) translateY(.1rem) scale(.985); }
  14%, 25% { transform: translateX(-50%) translateY(.1rem) scale(1); }
  36%, 73% { transform: translateX(-50%) translateY(-1.05rem) scale(1); }
  82%, 88% { transform: translateX(-50%) translateY(.1rem) scale(1); }
  100% { transform: translateX(-18%) translateY(.1rem) scale(.985); }
}

@keyframes signalServiceTrailerShadow {
  0%, 22%, 88%, 100% { transform: scaleX(1); opacity: .78; }
  36%, 73% { transform: scaleX(.84); opacity: .46; }
}

@keyframes signalServiceWheel {
  0% { transform: rotate(0deg); }
  14%, 25% { transform: rotate(380deg); }
  36%, 82% { transform: rotate(380deg); }
  100% { transform: rotate(760deg); }
}

@keyframes signalServiceJackStand {
  0%, 25%, 84%, 100% { transform: translateY(.65rem); opacity: 0; }
  36%, 76% { transform: translateY(0); opacity: .92; }
}

@keyframes signalServiceCart {
  0%, 18%, 88%, 100% { transform: translateX(1.15rem); opacity: .5; }
  30%, 78% { transform: translateX(0); opacity: 1; }
}

@keyframes signalServiceMechanic {
  0%, 28%, 86%, 100% { transform: translate(-1.55rem, .45rem) scale(.92); opacity: 0; }
  38%, 76% { transform: translate(0, 0) scale(1); opacity: 1; }
}

@keyframes signalServiceBrakeDrum {
  0%, 34%, 82%, 100% { transform: translate(.35rem, .75rem) scale(.72) rotate(0deg); opacity: 0; }
  43%, 70% { transform: translate(0, 0) scale(1) rotate(18deg); opacity: 1; }
}

@keyframes signalServiceWorkLight {
  0%, 30%, 84%, 100% { opacity: 0; transform: rotate(-7deg); }
  40%, 76% { opacity: .92; transform: rotate(2deg); }
}

@keyframes signalServiceSparkGroup {
  0%, 38%, 73%, 100% { opacity: 0; }
  44%, 68% { opacity: 1; }
}

@keyframes signalServiceMeter {
  0%, 74%, 100% { background: rgba(102, 217, 255, .2); box-shadow: none; }
  82%, 94% { background: #55f08a; box-shadow: 0 0 16px rgba(85, 240, 138, .75); }
}

@keyframes signalServiceMeterShell {
  0%, 74%, 100% { opacity: .62; transform: translateY(.1rem); }
  82%, 94% { opacity: 1; transform: translateY(0); }
}

.signal-service-animation__part,
.signal-service-animation__mechanic,
.signal-service-animation__wrench {
  display: none;
}

.signal-service-animation__brake-drum {
  left: 39.4%;
  bottom: 6.9rem;
  width: 3rem;
  height: 3rem;
}

.signal-service-animation__sparks {
  left: 42.5%;
  bottom: 8.15rem;
  transform: scale(.78);
}

.signal-service-animation__wheel--front {
  animation-name: signalServiceFrontWheelService;
}

.signal-service-animation__wheel--rear {
  animation-name: signalServiceRearWheelRoll;
}

@keyframes signalServiceFrontWheelService {
  0% { transform: rotate(0deg) translate(0, 0); opacity: 1; }
  14%, 28% { transform: rotate(380deg) translate(0, 0); opacity: 1; }
  38%, 66% { transform: rotate(380deg) translate(-.75rem, 1.8rem); opacity: .88; }
  78%, 86% { transform: rotate(380deg) translate(0, 0); opacity: 1; }
  100% { transform: rotate(760deg) translate(0, 0); opacity: 1; }
}

@keyframes signalServiceRearWheelRoll {
  0% { transform: rotate(0deg); }
  14%, 28% { transform: rotate(380deg); }
  36%, 84% { transform: rotate(380deg); }
  100% { transform: rotate(760deg); }
}

@keyframes signalServiceBrakeDrum {
  0%, 30%, 82%, 100% { transform: scale(.72); opacity: 0; }
  40%, 68% { transform: scale(1); opacity: 1; }
}

@keyframes signalServiceSparkGroup {
  0%, 40%, 70%, 100% { opacity: 0; }
  47%, 62% { opacity: .9; }
}

@media (max-width: 620px) {
  .signal-service-animation__brake-drum {
    left: 37%;
    bottom: 6.9rem;
  }

  .signal-service-animation__sparks {
    left: 41%;
  }
}

.signal-service-animation {
  grid-template-columns: minmax(16rem, .72fr) minmax(30rem, 1.28fr);
}

.signal-service-animation__copy h2 {
  max-width: 12ch;
  font-size: clamp(2.4rem, 4.35vw, 4.85rem);
}

.signal-service-animation__scene {
  min-height: clamp(29rem, 39vw, 36rem);
}

.signal-service-animation__floor-jack {
  position: absolute;
  z-index: 4;
  left: 36.5%;
  bottom: 5.35rem;
  width: 8.2rem;
  height: 3.1rem;
  opacity: 0;
  animation: signalServiceFloorJack 9.6s ease-in-out infinite;
}

.signal-service-animation__scene::before {
  content: "";
  position: absolute;
  z-index: 0;
  left: 0;
  right: 0;
  top: 5.8rem;
  height: 46%;
  background:
    linear-gradient(90deg, transparent, rgba(255, 255, 255, .05) 48%, transparent 78%),
    repeating-linear-gradient(180deg, rgba(219, 231, 246, .08) 0 .08rem, transparent .09rem 2.35rem);
  border-top: 1px solid rgba(219, 231, 246, .08);
  border-bottom: 1px solid rgba(219, 231, 246, .08);
  opacity: .54;
}

.signal-service-animation__scene::after {
  content: "";
  position: absolute;
  z-index: 1;
  left: 26%;
  bottom: 4rem;
  width: 48%;
  height: 2.6rem;
  border-radius: 999px;
  background: radial-gradient(ellipse, rgba(0, 0, 0, .52), transparent 70%);
  filter: blur(.18rem);
  pointer-events: none;
}

.signal-service-animation__floor-jack::before {
  content: "";
  position: absolute;
  left: .4rem;
  right: .6rem;
  bottom: .42rem;
  height: .55rem;
  border-radius: 999px;
  background: linear-gradient(90deg, #9aa8ba, #d8e2ee 42%, #7d8da1);
  box-shadow: 0 .35rem .7rem rgba(0, 0, 0, .32);
}

.signal-service-animation__floor-jack::after {
  content: "";
  position: absolute;
  left: 3.05rem;
  bottom: .88rem;
  width: 2.25rem;
  height: 1.7rem;
  clip-path: polygon(0 100%, 52% 0, 100% 100%);
  background: linear-gradient(180deg, #d8e2ee, #6f7d90);
}

.signal-service-animation__floor-jack span {
  position: absolute;
  right: -.65rem;
  bottom: 1.85rem;
  width: 3.9rem;
  height: .38rem;
  border-radius: 999px;
  background: #aebacc;
  transform: rotate(-18deg);
  transform-origin: left center;
  animation: signalServiceJackHandle 9.6s ease-in-out infinite;
}

.signal-service-animation__floor-jack span::before,
.signal-service-animation__floor-jack span::after {
  content: "";
  position: absolute;
  bottom: -1.12rem;
  width: .62rem;
  height: .62rem;
  border-radius: 999px;
  background: #060910;
  box-shadow: inset 0 0 0 .16rem #8d9aab;
}

.signal-service-animation__floor-jack span::before { left: -3.1rem; }
.signal-service-animation__floor-jack span::after { right: .15rem; }

.signal-service-animation__brake-drum {
  left: 41.2%;
  bottom: 7.2rem;
}

.signal-service-animation__sparks {
  left: 44.1%;
  bottom: 8.45rem;
}

@keyframes signalServiceFloorJack {
  0%, 29%, 83%, 100% { transform: translateY(.55rem); opacity: 0; }
  39%, 71% { transform: translateY(0); opacity: .95; }
}

@keyframes signalServiceJackHandle {
  0%, 39%, 71%, 100% { transform: rotate(-18deg); }
  48%, 57% { transform: rotate(-33deg); }
}

@media (max-width: 980px) {
  .signal-service-animation {
    grid-template-columns: 1fr;
  }

  .signal-service-animation__copy h2 {
    max-width: 13ch;
  }
}

@media (max-width: 620px) {
  .signal-service-animation__floor-jack {
    left: 29%;
    bottom: 5.2rem;
    scale: .82;
    transform-origin: left bottom;
  }

  .signal-service-animation__brake-drum {
    left: 39%;
    bottom: 7.1rem;
  }

  .signal-service-animation__sparks {
    left: 43%;
  }
}

.signal-service-animation__sparks {
  display: none;
}

.signal-service-animation__trailer-bed::before {
  content: "";
  position: absolute;
  left: .8rem;
  right: .8rem;
  bottom: .72rem;
  height: .32rem;
  border-radius: 999px;
  background: linear-gradient(90deg, #f04f45 0 6%, transparent 6% 18%, #e9eef6 18% 32%, transparent 32% 78%, #73dcff 78% 84%, transparent 84%);
  opacity: .82;
}

.signal-service-animation__trailer-bed::after {
  content: "";
  position: absolute;
  inset: .58rem .9rem auto;
  height: .22rem;
  background-image: radial-gradient(circle, rgba(225, 235, 247, .42) 0 .09rem, transparent .1rem);
  background-size: 1.35rem .22rem;
  opacity: .52;
}

.signal-service-animation__fender--front::after {
  content: "";
  position: absolute;
  left: 1.85rem;
  bottom: -2.1rem;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 999px;
  background:
    radial-gradient(circle, #0f1722 0 25%, #d8e2ee 26% 43%, #738196 44% 100%);
  box-shadow: 0 .5rem .9rem rgba(0, 0, 0, .34), 0 0 0 .2rem rgba(255, 255, 255, .08);
  opacity: 0;
  animation: signalServiceHubReveal 9.6s ease-in-out infinite;
}

.signal-service-animation__trailer-tongue::after {
  content: "";
  position: absolute;
  right: 1rem;
  top: .42rem;
  width: 4.2rem;
  height: .22rem;
  border-radius: 999px;
  background-image: repeating-linear-gradient(90deg, #8d99ab 0 .24rem, transparent .25rem .52rem);
  opacity: .68;
  transform: rotate(13deg);
}

.signal-service-animation__brake-drum {
  width: 2.45rem;
  height: 2.45rem;
  opacity: .72;
}

.signal-service-animation__scene::before {
  opacity: .42;
}

@keyframes signalServiceHubReveal {
  0%, 31%, 78%, 100% { opacity: 0; transform: scale(.82); }
  40%, 68% { opacity: 1; transform: scale(1); }
}

.mobile-action-bar {
  position: fixed;
  left: .75rem;
  right: .75rem;
  bottom: .75rem;
  z-index: 40;
  display: none;
  grid-template-columns: repeat(4, 1fr);
  gap: .28rem;
  padding: .4rem;
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: 999px;
  background: rgba(12, 13, 16, .92);
  box-shadow: 0 18px 42px rgba(0, 0, 0, .35);
  backdrop-filter: blur(16px);
}

.mobile-action-bar a {
  min-height: 3rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .28rem;
  border-radius: 999px;
  color: #fff;
  text-decoration: none;
  font-size: .8rem;
}

.mobile-action-bar__inventory {
  background: var(--signal-red);
}

.front-site-operating-hours {
  scroll-margin-top: 7rem;
}

.inventory-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  align-items: end;
  min-height: min(78svh, 46rem);
  padding: clamp(6rem, 13vw, 10rem) max(1rem, calc((100vw - 1180px) / 2)) clamp(3rem, 7vw, 5rem);
  background: #0b0d10;
  color: #fff;
}

.inventory-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgba(11, 13, 16, .94), rgba(11, 13, 16, .72));
}

.inventory-hero .signal-hero__eyebrow,
.detail-kicker {
  margin: 0 0 .5rem;
  color: var(--signal-red);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.inventory-hero h1 {
  width: min(52rem, 100%);
  margin: 0;
  font-size: clamp(2.65rem, 7vw, 5.5rem);
  line-height: .92;
  font-weight: 900;
  text-wrap: balance;
}

.inventory-hero .signal-hero__description {
  display: block;
  width: min(47rem, 100%);
  margin-top: 1rem;
  color: rgba(255, 255, 255, .78);
  line-height: 1.55;
}

.inventory-hero__stats {
  min-width: 12rem;
  padding: 1rem;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 8px;
  background: rgba(255, 255, 255, .08);
  backdrop-filter: blur(12px);
}

.inventory-hero__stats strong {
  display: block;
  color: #fff;
  font-size: 3.2rem;
  line-height: 1;
}

.inventory-search-layout {
  --flank-size: clamp(18rem, 24vw, 24rem);
  --content-percentage: 62%;
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: clamp(1rem, 2.2vw, 2rem);
  padding: clamp(1rem, 4vw, 2rem) clamp(1rem, 1.6vw, 2rem) clamp(3rem, 6vw, 5rem);
  background: linear-gradient(180deg, var(--signal-steel), #fff);
}

.inventory-search-anchor {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  inline-size: 1px;
  block-size: 1px;
  overflow: hidden;
  pointer-events: none;
}

.inventory-search,
.inventory-results,
.inventory-empty,
.trailer-detail-panel {
  border: 1px solid var(--signal-line);
  border-radius: 8px;
  background: rgba(255, 255, 255, .94);
  box-shadow: var(--signal-shadow);
}

.inventory-search {
  position: sticky;
  top: 6.25rem;
  flex: 0 0 var(--flank-size);
  inline-size: var(--flank-size);
  max-inline-size: var(--flank-size);
  min-width: 0;
  max-height: calc(100vh - 7.5rem);
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 1rem;
  scrollbar-color: var(--signal-red) rgba(216, 222, 232, .74);
  scrollbar-width: thin;
}

.inventory-filter-tab {
  display: none;
}

.inventory-filter-drawer {
  --size: min(88vw, 24rem);
  --spacing: 1rem;
  --backdrop-filter: blur(4px);
}

.inventory-filter-drawer::part(body) {
  padding: 0;
}

.inventory-search.is-mobile-drawer-filter {
  width: 100%;
  max-width: none;
  min-height: 100%;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 0;
  position: static;
  max-height: none;
  overflow: visible;
}

.inventory-search::-webkit-scrollbar {
  width: .55rem;
}

.inventory-search::-webkit-scrollbar-track {
  border-radius: 999px;
  background: rgba(216, 222, 232, .74);
}

.inventory-search::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: var(--signal-red);
}

.inventory-search.is-loading {
  cursor: progress;
}

.inventory-search__head,
.inventory-results__bar {
  inline-size: 100%;
}

.inventory-search__head p {
  margin: 0 0 .35rem;
  color: var(--signal-red);
  font-size: .75rem;
  font-weight: 900;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.inventory-search__head h2 {
  margin: 0;
  font-size: 1.65rem;
  line-height: 1;
}

.inventory-price-range {
  min-width: 0;
  padding: .25rem 0 .1rem;
}

.inventory-price-range wa-slider {
  width: 100%;
  --track-color-active: var(--signal-red);
  --thumb-color: var(--signal-red);
}

.inventory-price-range wa-slider::part(form-control-label) {
  color: var(--signal-ink);
  font-weight: 850;
}

.inventory-price-range wa-slider::part(form-control-hint) {
  color: var(--signal-muted);
}

.inventory-search__checks {
  padding-top: .65rem;
}

.inventory-search__color-label {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  min-width: 0;
}

.inventory-search__color-dot {
  width: 1rem;
  height: 1rem;
  flex: 0 0 auto;
  border: 1px solid rgba(18, 24, 33, .22);
  border-radius: 999px;
  background: var(--trailer-color-swatch, #808080);
  box-shadow: inset 0 1px 2px rgba(255, 255, 255, .38), 0 1px 4px rgba(18, 24, 33, .18);
}

.inventory-finance {
  margin-top: .25rem;
  padding-top: 1rem;
  border-top: 1px solid var(--signal-line);
}

.inventory-finance__head p {
  margin: 0;
  color: var(--signal-red);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.inventory-finance__head strong {
  color: var(--signal-ink);
  font-size: 1rem;
  line-height: 1.15;
}

.inventory-finance__actions wa-button::part(base) {
  justify-content: flex-start;
  min-height: 4.25rem;
}

.inventory-finance__logo {
  display: block;
  width: 4.4rem;
  max-height: 2rem;
  object-fit: contain;
}

.inventory-results {
  position: relative;
  flex: 1 1 0;
  min-width: 0;
  scroll-margin-top: 7rem;
  padding: 1rem;
}

.inventory-filter-callout {
  display: block;
  position: relative;
  margin-bottom: 1rem;
}

.inventory-filter-callout::part(base) {
  min-height: 10.75rem;
  padding: clamp(2rem, 3vw, 2.6rem) clamp(2rem, 3.4vw, 2.9rem) clamp(5.8rem, 6vw, 6.35rem);
}

.inventory-filter-callout__chips {
  display: flex;
  flex-wrap: wrap;
  gap: .38rem;
  margin-top: 1.25rem;
}

.inventory-filter-callout__chip {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  min-height: 2rem;
  padding: .34rem .62rem;
  border: 1px solid rgba(255, 255, 255, .55);
  border-radius: 999px;
  background: rgba(255, 255, 255, .16);
  color: inherit;
  font-size: .86rem;
  font-weight: 850;
  line-height: 1.15;
  overflow-wrap: anywhere;
}

.inventory-filter-callout__clear {
  position: absolute;
  right: clamp(1.5rem, 2.8vw, 2.35rem);
  bottom: clamp(1.45rem, 2.4vw, 2rem);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  min-height: 2.7rem;
  padding: .72rem 1.05rem;
  border: 1px solid rgba(255, 255, 255, .72);
  border-radius: 999px;
  background: #d9efff;
  color: #075a91;
  font: inherit;
  font-size: .9rem;
  font-weight: 900;
  line-height: 1;
  text-decoration: none;
  box-shadow: 0 .75rem 1.35rem rgba(7, 90, 145, .18);
  cursor: pointer;
}

.inventory-filter-callout__clear:is(:hover, :focus-visible) {
  background: #eff8ff;
  color: #064d7d;
  outline: 2px solid rgba(7, 90, 145, .28);
  outline-offset: 2px;
}

.inventory-filter-callout__clear wa-icon {
  font-size: 1rem;
}

.inventory-results::after {
  content: "Loading trailers...";
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: rgba(255, 255, 255, .78);
  color: var(--signal-ink);
  font-weight: 900;
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease;
}

.inventory-results.is-loading::after {
  opacity: 1;
}

.inventory-results.is-loading .inventory-grid,
.inventory-results.is-loading .inventory-empty,
.inventory-results.is-loading .inventory-filter-callout,
.inventory-results.is-loading .inventory-pagination {
  opacity: .38;
}

.inventory-results__bar {
  margin-bottom: 1rem;
  color: var(--signal-muted);
  font-size: .92rem;
}

.inventory-grid {
  --min-column-size: clamp(20rem, 27vw, 25rem);
  align-items: stretch;
}

.inventory-card .trailer-card__media,
.inventory-card .trailer-card__image {
  aspect-ratio: 4 / 3;
}

.inventory-card .trailer-card__carousel {
  --aspect-ratio: 4 / 3;
}

.inventory-card .trailer-card__carousel wa-carousel-item {
  --aspect-ratio: 4 / 3;
}

.inventory-card h3 a {
  color: inherit;
  text-decoration: none;
}

.inventory-card__meta {
  min-width: 0;
}

.inventory-card__meta span {
  display: inline-flex;
  padding: .32rem .55rem;
  border-radius: 999px;
  background: var(--signal-steel);
  color: #3c4655;
  font-size: .8rem;
}

.inventory-empty {
  padding: clamp(1.5rem, 4vw, 2.5rem);
}

.inventory-empty h1,
.inventory-empty h2 {
  margin: 0 0 .7rem;
  font-size: clamp(2rem, 4vw, 3.2rem);
  line-height: 1;
}

.inventory-empty p {
  margin: 0 0 1rem;
  color: var(--signal-muted);
  line-height: 1.55;
}

.inventory-pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .45rem;
  margin-top: 1rem;
}

.inventory-pagination a {
  min-width: 2.4rem;
  min-height: 2.4rem;
  display: inline-grid;
  place-items: center;
  border: 1px solid var(--signal-line);
  border-radius: 999px;
  color: var(--signal-ink);
  text-decoration: none;
  background: #fff;
}

.inventory-pagination a.is-current {
  border-color: var(--signal-red);
  background: var(--signal-red);
  color: #fff;
}

.trailer-detail-hero {
  --flank-size: clamp(20rem, 38vw, 38rem);
  --content-percentage: 54%;
  padding: clamp(1rem, 4vw, 2rem) max(1rem, calc((100vw - 1180px) / 2));
  background: var(--signal-black);
  color: #fff;
}

.trailer-detail-hero__media {
  position: relative;
  display: block;
  min-width: 0;
  max-width: 100%;
  min-height: 0;
  aspect-ratio: 16 / 11;
  border-radius: 8px;
  overflow: hidden;
  background: #111;
}

.trailer-detail-carousel,
.trailer-detail-carousel::part(base),
.trailer-detail-carousel::part(scroll-container),
.trailer-detail-carousel wa-carousel-item,
.trailer-detail-image-trigger,
.trailer-detail-hero__media img {
  width: 100%;
  height: 100%;
  max-width: 100%;
}

.trailer-detail-carousel,
.trailer-detail-carousel::part(base),
.trailer-detail-carousel::part(scroll-container) {
  display: block;
  min-width: 0;
  overflow: hidden;
}

.trailer-detail-carousel wa-carousel-item {
  min-width: 100%;
  overflow: hidden;
}

.trailer-detail-carousel::part(pagination-item) {
  background: rgba(255, 255, 255, .65);
}

.trailer-detail-carousel::part(pagination-item--active) {
  background: var(--signal-red);
}

.trailer-detail-image-trigger,
.trailer-gallery-thumb {
  display: block;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: zoom-in;
}

.trailer-detail-image-trigger img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.trailer-detail-hero__copy {
  position: relative;
  z-index: 1;
  justify-content: center;
  min-width: 0;
  overflow: hidden;
  padding: clamp(1rem, 3vw, 2rem);
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 8px;
  background: rgba(255, 255, 255, .06);
}

.trailer-detail-hero__copy p {
  margin: 0;
  color: var(--signal-red);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.trailer-detail-brand-row {
  display: flex;
  align-items: center;
  gap: .75rem;
  min-width: 0;
}

.trailer-manufacturer-logo--detail {
  width: clamp(6.5rem, 18vw, 9.5rem);
  height: 3.35rem;
  padding: 0;
  border-radius: 0;
  background: transparent;
}

.trailer-manufacturer-logo--detail.logo-contrast--dark {
  padding: .48rem .65rem;
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: 8px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 12px 28px rgba(0, 0, 0, .2);
}

.trailer-manufacturer-logo--detail.logo-contrast--dark img {
  filter: drop-shadow(0 2px 5px rgba(0, 0, 0, .24));
}

.trailer-manufacturer-logo--detail strong {
  font-size: 1rem;
}

.trailer-detail-hero__copy h1 {
  margin: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
  font-size: clamp(2rem, 4vw, 3.8rem);
  line-height: 1;
  text-wrap: balance;
}

.trailer-detail-price-row {
  align-items: center;
}

.trailer-detail-price-main {
  min-width: 0;
}

.trailer-detail-price-main span {
  color: var(--signal-red);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .13em;
  line-height: 1;
  text-transform: uppercase;
}

.trailer-detail-price-main strong {
  color: #fff;
  font-size: clamp(1.7rem, 4vw, 3rem);
  line-height: 1;
}

.trailer-detail-price-meta {
  width: 100%;
}

.trailer-detail-price-meta span {
  color: rgba(255, 255, 255, .68);
  font-size: .95rem;
  font-weight: 850;
  line-height: 1.1;
}

.trailer-detail-price-meta span:last-child {
  text-decoration: line-through;
}

.trailer-detail-sale-burst {
  display: grid;
  place-items: center;
  width: 3.1rem;
  height: 3.1rem;
  transform: rotate(-9deg);
  background: var(--signal-red);
  color: #fff;
  clip-path: polygon(50% 0%, 61% 24%, 88% 12%, 76% 39%, 100% 50%, 76% 61%, 88% 88%, 61% 76%, 50% 100%, 39% 76%, 12% 88%, 24% 61%, 0% 50%, 24% 39%, 12% 12%, 39% 24%);
  font-size: .72rem;
  font-weight: 950;
  letter-spacing: .02em;
  line-height: 1;
  text-transform: uppercase;
  filter: drop-shadow(0 9px 16px rgba(181, 21, 31, .28));
}

.trailer-detail-hero__badges {
  min-width: 0;
}

.trailer-detail-content-grid {
  display: grid;
  grid-template-columns: minmax(17rem, .78fr) minmax(0, 1.22fr);
  gap: clamp(1rem, 3vw, 2rem);
  align-items: stretch;
  padding: clamp(1rem, 4vw, 2rem) max(1rem, calc((100vw - 1180px) / 2));
  background: var(--signal-steel);
}

.trailer-detail-content-grid.is-single-column {
  grid-template-columns: minmax(0, 1fr);
}

.trailer-detail-content-grid > .trailer-features-section {
  align-self: stretch;
  margin: 0;
}

.trailer-detail-layout {
  display: grid;
  gap: clamp(1rem, 3vw, 2rem);
  align-items: stretch;
  min-width: 0;
}

.trailer-detail-layout > .trailer-detail-panel {
  height: 100%;
}

.trailer-detail-secondary-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 24rem);
  gap: clamp(1rem, 2.4vw, 1.5rem);
  align-items: stretch;
  min-width: 0;
  margin: clamp(1rem, 3vw, 2rem) max(1rem, calc((100vw - 1180px) / 2)) clamp(1rem, 4vw, 2rem);
}

.trailer-detail-secondary-grid.is-contact-only {
  grid-template-columns: minmax(0, 1fr);
}

.trailer-detail-secondary-grid > .trailer-gallery-section {
  margin: 0;
}

.trailer-detail-secondary-grid > .trailer-contact-card {
  margin: 0;
  padding-left: clamp(1rem, 2.4vw, 1.5rem);
  border-left: 1px solid var(--signal-line);
}

.trailer-detail-secondary-grid.is-contact-only > .trailer-contact-card {
  padding-left: 0;
  border-left: 0;
}

.trailer-detail-panel {
  padding: clamp(1rem, 3vw, 1.5rem);
}

.trailer-detail-panel h2 {
  margin: 0 0 1rem;
  font-size: clamp(1.8rem, 4vw, 3rem);
  line-height: 1;
}

.detail-copy,
.trailer-detail-panel p {
  color: var(--signal-muted);
  line-height: 1.62;
}

.trailer-manufacturer-logo--spec {
  width: min(100%, 8rem);
  height: 4.25rem;
  padding: .55rem .7rem;
  border: 1px solid rgba(148, 163, 184, .28);
  border-radius: 8px;
  background: rgba(255, 255, 255, .82);
  box-shadow: none;
}

.trailer-manufacturer-logo--spec img {
  max-width: 100%;
  max-height: 100%;
}

.trailer-manufacturer-logo--spec strong {
  font-size: .68rem;
}

.detail-spec-grid {
  --min-column-size: min(12rem, 100%);
  margin-top: 1.25rem;
}

.detail-spec-grid span {
  display: grid;
  gap: .3rem;
  min-height: 5rem;
  padding: .9rem;
  border: 1px solid var(--signal-line);
  border-radius: 8px;
  background: var(--signal-steel);
}

.detail-spec-grid strong {
  color: var(--signal-muted);
  font-size: .75rem;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.detail-spec-grid .detail-spec-grid__manufacturer {
  display: grid;
  align-content: start;
  justify-items: start;
  gap: .55rem;
}

.detail-spec-grid .detail-spec-grid__manufacturer > strong {
  width: 100%;
}

.trailer-contact-card {
  min-width: 0;
}

.trailer-detail-secondary-grid .trailer-contact-card h2 {
  font-size: clamp(1.65rem, 2.9vw, 2.45rem);
}

.trailer-contact-card a {
  color: var(--signal-red-dark);
  font-size: 1.3rem;
  font-weight: 900;
}

.trailer-gallery-section,
.trailer-related-section {
  position: relative;
  z-index: 1;
  overflow: hidden;
  margin: 0 max(1rem, calc((100vw - 1180px) / 2)) clamp(1rem, 4vw, 2rem);
}

.trailer-features-section {
  position: relative;
  z-index: 1;
  overflow: hidden;
}

.trailer-detail-content-grid .trailer-features-section h2 {
  font-size: clamp(1.7rem, 3vw, 2.45rem);
}

.trailer-detail-content-grid .feature-group-grid {
  --min-column-size: 100%;
}

.trailer-gallery-grid {
  --min-column-size: min(16rem, 100%);
}

.trailer-detail-secondary-grid .trailer-gallery-grid {
  --min-column-size: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.trailer-gallery-grid figure {
  display: grid;
  gap: .45rem;
  align-content: start;
  margin: 0;
}

.trailer-gallery-thumb {
  position: relative;
  display: block;
  width: 100%;
  height: clamp(10rem, 14vw, 15rem);
  overflow: hidden;
  border: 1px solid var(--signal-line);
  border-radius: 8px;
  background: var(--signal-steel);
}

.trailer-detail-secondary-grid .trailer-gallery-thumb {
  height: clamp(7rem, 10vw, 11rem);
}

.trailer-gallery-grid img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  min-height: 100%;
  object-fit: cover;
}

.trailer-gallery-grid figcaption {
  color: var(--signal-muted);
  font-size: .92rem;
  line-height: 1.35;
}

.trailer-lightbox::part(dialog) {
  width: min(94vw, 78rem);
  max-height: 92vh;
  border-radius: 14px;
}

.trailer-lightbox::part(body) {
  display: grid;
  gap: 1rem;
  padding: 1rem;
}

.trailer-lightbox__viewport {
  position: relative;
  display: grid;
  place-items: center;
  min-height: min(64vh, 45rem);
  overflow: hidden;
  border-radius: 10px;
  background:
    linear-gradient(45deg, rgba(255, 255, 255, .08) 25%, transparent 25%),
    linear-gradient(-45deg, rgba(255, 255, 255, .08) 25%, transparent 25%),
    linear-gradient(45deg, transparent 75%, rgba(255, 255, 255, .08) 75%),
    linear-gradient(-45deg, transparent 75%, rgba(255, 255, 255, .08) 75%),
    #11151b;
  background-position: 0 0, 0 12px, 12px -12px, -12px 0;
  background-size: 24px 24px;
}

.trailer-lightbox__viewport img {
  display: block;
  width: 100%;
  max-width: 100%;
  max-height: min(64vh, 45rem);
  object-fit: contain;
  transition: transform .22s ease;
  cursor: default;
}

.trailer-lightbox.can-zoom .trailer-lightbox__viewport img {
  cursor: zoom-in;
}

.trailer-lightbox.is-zoomed .trailer-lightbox__viewport img {
  transform: scale(1.85);
  cursor: zoom-out;
}

.trailer-lightbox__nav {
  position: absolute;
  top: 50%;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 2.9rem;
  height: 2.9rem;
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: 999px;
  background: rgba(11, 13, 16, .72);
  color: #fff;
  cursor: pointer;
  transform: translateY(-50%);
}

.trailer-lightbox__nav:hover {
  background: rgba(11, 13, 16, .9);
}

.trailer-lightbox__nav--prev {
  left: .9rem;
}

.trailer-lightbox__nav--next {
  right: .9rem;
}

.trailer-lightbox__caption {
  margin: 0;
  color: var(--signal-muted);
  line-height: 1.45;
}

.trailer-lightbox__ribbon {
  overflow-x: auto;
  padding: .35rem 0 .65rem;
}

.trailer-lightbox__thumb {
  flex: 0 0 clamp(8rem, 10vw, 10rem);
  width: clamp(8rem, 10vw, 10rem);
  height: clamp(5.7rem, 7.2vw, 7.2rem);
  padding: 0;
  border: 2px solid transparent;
  border-radius: 8px;
  background: var(--signal-steel);
  cursor: pointer;
  overflow: hidden;
}

.trailer-lightbox__thumb.is-active {
  border-color: var(--signal-red);
}

.trailer-lightbox__thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.trailer-lightbox__actions {
  justify-content: flex-end;
}

.feature-group-grid {
  --min-column-size: min(18rem, 100%);
}

.feature-group-grid div {
  padding: 1rem;
  border: 1px solid var(--signal-line);
  border-radius: 8px;
  background: var(--signal-steel);
}

.trailer-related-section .section-heading {
  margin-bottom: 1rem;
}

.trailer-related-carousel {
  --aspect-ratio: 1 / 1.35;
  --slide-gap: var(--wa-space-m);
  --scroll-hint: 1rem;
  width: 100%;
}

.trailer-related-carousel wa-carousel-item {
  align-items: stretch;
  justify-content: stretch;
  height: 100%;
}

.trailer-related-carousel .trailer-card {
  width: 100%;
  height: 100%;
  min-width: 0;
}

.trailer-related-card .trailer-card__body {
  align-content: start;
  display: grid;
  grid-template-rows: auto 3.25rem auto;
  gap: .85rem;
  padding: .95rem;
}

.trailer-related-card .trailer-card__price {
  font-size: clamp(1.45rem, 2.4vw, 2.1rem);
}

.trailer-related-card h3 {
  font-size: clamp(1.15rem, 1.8vw, 1.45rem);
  min-width: 0;
  min-height: 3.25rem;
  overflow: hidden;
}

.trailer-related-card h3 a {
  display: -webkit-box;
  overflow: hidden;
  color: inherit;
  text-decoration: none;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.trailer-related-card wa-button {
  align-self: end;
  margin-top: 0;
}

.feature-group-grid h3 {
  margin: 0 0 .7rem;
}

.feature-group-grid ul {
  display: grid;
  gap: .4rem;
  margin: 0;
  padding-left: 1.1rem;
  color: var(--signal-muted);
}

.page-not-found {
  margin: clamp(2rem, 6vw, 5rem) max(1rem, calc((100vw - 1180px) / 2));
}

@media (max-width: 900px) {
  .trailer-detail-content-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .trailer-detail-secondary-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .trailer-detail-secondary-grid > .trailer-contact-card {
    padding-top: 1rem;
    padding-left: 0;
    border-top: 1px solid var(--signal-line);
    border-left: 0;
  }

  .trailer-detail-secondary-grid .trailer-gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .holiday-notice-band {
    padding: 1.25rem 1rem;
  }

  .holiday-notice-band__inner,
  .holiday-notice-card {
    grid-template-columns: 1fr;
  }

  .holiday-notice-band h2 {
    max-width: none;
  }

  .top-strip__inner {
    justify-content: space-between;
  }

  .top-strip__hours-button {
    display: none;
  }

  .top-strip__social {
    display: none;
  }

  .top-strip__contact {
    gap: .65rem;
  }

  .main-nav {
    min-height: auto;
    align-items: stretch;
    flex-wrap: wrap;
  }

  .main-nav__links {
    order: 3;
    width: 100%;
    overflow-x: auto;
    justify-content: flex-start;
  }

  .main-nav__mega-panel {
    width: min(92vw, 26rem);
    max-height: 70vh;
  }

  .main-nav__mega-head {
    align-items: start;
    flex-direction: column;
  }

  .main-nav__mega-grid {
    --min-column-size: 100%;
  }

  .main-nav__trailer-groups {
    --min-column-size: 100%;
  }

  .main-nav__shop {
    display: none;
  }

  .hero,
  .builder-page-hero,
  .inventory-hero {
    min-height: 73svh;
  }

  .hero__shade {
    background:
      linear-gradient(0deg, rgba(8, 9, 12, .9), rgba(8, 9, 12, .42)),
      linear-gradient(90deg, rgba(8, 9, 12, .8), rgba(8, 9, 12, .2));
  }

  .inventory-search-layout {
    flex-wrap: wrap;
  }

  .inventory-search {
    flex: 1 1 100%;
    inline-size: 100%;
    max-inline-size: none;
    position: static;
    max-height: none;
    overflow: visible;
  }

  .inventory-filter-tab:not([hidden]) {
    position: fixed;
    inset-block-start: 50%;
    inset-inline-start: .35rem;
    z-index: 85;
    display: inline-flex;
    transform: translateY(-50%);
  }

  .inventory-filter-tab::part(base) {
    min-width: 2.8rem;
    min-height: 7.4rem;
    padding: .85rem .5rem;
    flex-direction: column;
    box-shadow: 0 14px 34px rgba(15, 23, 42, .28);
    writing-mode: vertical-rl;
    text-orientation: mixed;
  }

  .inventory-filter-tab wa-icon {
    transform: rotate(90deg);
  }

  .inventory-search-layout:not(.parts-search-layout) {
    padding-inline-start: max(3.35rem, 1rem);
  }

  .inventory-results {
    flex: 1 1 100%;
  }

  .trailer-detail-hero__media {
    min-height: 18rem;
  }

  .trailer-gallery-thumb {
    height: clamp(12rem, 58vw, 22rem);
  }

  .contact-summary-card__details,
  .front-site-contact-form__grid {
    --min-column-size: 100%;
    grid-template-columns: 1fr;
  }

  .contact-location {
    --content-percentage: 100%;
    --flank-size: 100%;
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 1rem;
    padding-inline: 1rem;
    padding-bottom: 8rem;
  }

  .contact-location__copy,
  .contact-location__panel {
    width: 100%;
    max-width: 100%;
  }

  .contact-location__copy {
    padding: clamp(1rem, 5vw, 1.35rem);
  }

  .contact-location__copy h2 {
    font-size: clamp(2.05rem, 10vw, 3rem);
  }

  .contact-location__detail {
    --content-percentage: 100%;
  }

  .contact-location__actions {
    display: grid;
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .contact-location__actions wa-button {
    width: 100%;
  }

  .contact-location__actions wa-button::part(base) {
    justify-content: center;
  }

  .contact-location__map {
    min-height: clamp(16rem, 72vw, 23rem);
  }

  .contact-location__directions-shell {
    padding: .9rem;
  }

  .contact-location__directions {
    --content-percentage: 100%;
    display: grid !important;
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .contact-location__directions wa-button {
    width: 100%;
    min-width: 0;
  }

  .service-grid {
    --min-column-size: 100%;
  }

  .mobile-action-bar {
    display: grid;
  }

  .site-footer {
    padding-bottom: 7rem;
  }

  .site-footer__legal {
    align-items: flex-start;
    gap: .48rem;
    font-size: .9rem;
    line-height: 1.42;
  }

  .site-footer__social {
    justify-content: flex-start;
    flex: 1 1 100%;
  }

  .site-footer__legal-main,
  .site-footer__legal-credit {
    flex: 1 1 100%;
  }

  .site-footer__legal-credit {
    align-items: flex-start;
    gap: .55rem .7rem;
  }

  .site-footer__legal-credit > span:last-child {
    flex: 1 1 min(13rem, 100%);
    min-width: 0;
  }

  .site-footer__legal-divider {
    display: none;
  }

  .site-footer__legal-logo {
    height: 1.25rem;
  }

  .site-footer__legal-brand {
    gap: .32rem;
  }

  .site-footer__legal-brand-text span:first-child,
  .site-footer__legal-brand-text span:last-child {
    font-size: .72rem;
  }
}

@media (max-width: 520px) {
  .top-strip__inner {
    min-height: 2.6rem;
    padding: .4rem .75rem;
  }

  .top-strip__contact {
    display: none;
  }

  .top-strip .front-site-login wa-button[slot="trigger"]::part(base),
  .top-strip .front-site-account-menu__trigger::part(base) {
    max-width: calc(100vw - 1.5rem);
  }

  .main-nav {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: .65rem;
    padding: .65rem .75rem;
  }

  .site-logo img {
    width: clamp(8.5rem, 44vw, 11rem);
  }

  body[data-seasonal-effect="lucky"] .site-logo::after {
    width: 24%;
    height: 24%;
    top: 27%;
    left: 59.2%;
  }

  body[data-seasonal-effect="snow"] .site-logo::after {
    width: 29%;
    height: 21%;
    top: -19%;
    left: 55.4%;
  }

  body[data-seasonal-effect="halloween"] .site-logo::before {
    width: 17%;
    height: 8%;
    top: 11%;
    left: 72%;
  }

  body[data-seasonal-effect="halloween"] .site-logo::after {
    width: 31%;
    height: 22.7%;
    top: -19%;
    left: 55.2%;
  }

  body[data-seasonal-effect="fireworks"] .site-logo::after {
    width: 36%;
    height: 14%;
    top: 7%;
    left: 60.6%;
  }

  body[data-seasonal-effect="valentine"] .site-logo::after {
    width: 22%;
    height: 19.8%;
    top: -13%;
    left: 57.4%;
  }

  .main-nav__toggle {
    display: inline-flex;
    justify-self: end;
  }

  .main-nav__links {
    display: none;
    grid-column: 1 / -1;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    width: 100%;
    max-height: calc(100svh - 8rem);
    overflow: auto;
    padding: .5rem;
    border-radius: 1rem;
    box-shadow: 0 18px 40px rgba(11, 16, 24, .16);
  }

  .main-nav.is-open .main-nav__links {
    display: flex;
  }

  .main-nav__mega {
    display: flex;
    width: 100%;
  }

  .main-nav__links > a,
  .main-nav__mega-trigger {
    justify-content: space-between;
    width: 100%;
    min-height: 2.35rem;
    padding: .6rem .8rem;
    font-size: .9rem;
  }

  .main-nav__mega-panel {
    width: min(92vw, 24rem);
  }

  .hero,
  .builder-page-hero,
  .inventory-hero {
    min-height: 80svh;
    padding-top: 6rem;
  }

  .hero h1 {
    font-size: clamp(2.5rem, 14vw, 4.2rem);
  }

  .hero__actions wa-button {
    width: 100%;
  }

  .trailer-lightbox__thumb {
    flex-basis: 6.8rem;
    width: 6.8rem;
    height: 5rem;
  }

  .inventory-band,
  .manufacturer-band,
  .financing-band,
  .visit-band,
  .commercial-strip {
    padding-block: 2.5rem;
  }
}

.signal-service-animation__brake-drum {
  display: none;
}

.signal-service-animation {
  grid-template-columns: minmax(16rem, .68fr) minmax(31rem, 1.32fr);
  gap: clamp(1.25rem, 3.2vw, 3rem);
}

.signal-service-animation__copy h2 {
  max-width: 12.5ch;
  font-size: clamp(2.35rem, 4vw, 4.55rem);
  line-height: .95;
}

.signal-service-animation__scene {
  min-height: clamp(30rem, 39vw, 36rem);
  border-radius: 18px;
  background:
    radial-gradient(circle at 50% 14%, rgba(143, 205, 225, .2), transparent 24%),
    linear-gradient(180deg, #263443 0 36%, #131b27 37% 100%);
}

.signal-service-animation__neon-logo {
  position: absolute;
  top: 1.2rem;
  left: 50%;
  width: clamp(11.5rem, 32vw, 20rem);
  padding: .52rem 1.05rem .48rem;
  border-radius: 22px;
  background: rgba(7, 13, 22, .42);
  border: 1px solid rgba(246, 179, 17, .36);
  box-shadow:
    0 0 .8rem rgba(246, 179, 17, .42),
    0 0 2.2rem rgba(246, 179, 17, .3),
    0 0 4.8rem rgba(125, 225, 255, .16),
    inset 0 0 1rem rgba(255, 255, 255, .08);
  transform: translateX(-50%);
  z-index: 9;
}

.signal-service-animation__neon-logo::before {
  content: "";
  position: absolute;
  inset: -.9rem -1.6rem;
  border-radius: inherit;
  background:
    radial-gradient(ellipse at center, rgba(246, 179, 17, .38), transparent 58%),
    radial-gradient(ellipse at center, rgba(112, 221, 255, .18), transparent 68%);
  filter: blur(.45rem);
  opacity: .9;
  z-index: -1;
}

.signal-service-animation__neon-logo img {
  display: block;
  width: 100%;
  height: auto;
  filter:
    drop-shadow(0 0 .12rem rgba(255, 255, 255, .8))
    drop-shadow(0 0 .35rem rgba(246, 179, 17, .7))
    drop-shadow(0 0 .85rem rgba(125, 225, 255, .34));
}

@media (max-width: 620px) {
  .signal-service-animation__neon-logo {
    top: 1.15rem;
    width: min(15.5rem, 64vw);
    padding: .42rem .78rem .38rem;
  }

  .signal-service-animation__sign {
    display: none;
  }
}

.signal-service-animation__scene::before {
  top: 4.2rem;
  height: 52%;
  opacity: .32;
}

.signal-service-animation__scene::after {
  left: 23%;
  bottom: 4.65rem;
  width: 56%;
  height: 3rem;
  opacity: .88;
}

.signal-service-animation__trailer {
  left: 51.5%;
  bottom: 7rem;
  width: min(86%, 42rem);
}

.signal-service-animation__trailer-bed {
  box-shadow:
    inset 0 .38rem 0 rgba(255, 255, 255, .1),
    inset 0 -1.2rem 0 rgba(0, 0, 0, .24),
    0 1.25rem 1.75rem rgba(0, 0, 0, .32);
}

.signal-service-animation__trailer-deck {
  opacity: .72;
}

.signal-service-animation__tool-chest,
.signal-service-animation__service-cart {
  opacity: .36;
  filter: saturate(.85);
}

.signal-service-animation__tool-chest {
  left: 5.4%;
  bottom: 5.9rem;
  scale: .9;
}

.signal-service-animation__service-cart {
  right: 5.8%;
  bottom: 5.4rem;
  scale: .9;
}

.signal-service-animation__lift--left { left: 14.6%; }
.signal-service-animation__lift--right { right: 11.8%; }
.signal-service-animation__jack-stand--left { left: 32.2%; }
.signal-service-animation__jack-stand--right { left: 59.3%; }

.signal-service-animation__floor-jack {
  left: 39%;
  bottom: 5.45rem;
  scale: .96;
}

.signal-service-animation__fender--front::after {
  left: 1.55rem;
  bottom: -1.85rem;
}

.signal-service-animation__work-light {
  left: 39%;
  bottom: 7.15rem;
  width: 17rem;
  opacity: .75;
}

.signal-service-animation__meter {
  right: 1.2rem;
  bottom: 1.25rem;
  scale: .92;
  transform-origin: right bottom;
}

.signal-service-animation__shop-lines {
  opacity: .2;
}

@keyframes signalServiceTrailer {
  0% { transform: translateX(-82%) translateY(.1rem) scale(.985); }
  14%, 25% { transform: translateX(-50%) translateY(.1rem) scale(1); }
  36%, 73% { transform: translateX(-50%) translateY(-.9rem) scale(1); }
  82%, 88% { transform: translateX(-50%) translateY(.1rem) scale(1); }
  100% { transform: translateX(-16%) translateY(.1rem) scale(.985); }
}

@keyframes signalServiceFrontWheelService {
  0% { transform: rotate(0deg) translate(0, 0); opacity: 1; }
  14%, 28% { transform: rotate(380deg) translate(0, 0); opacity: 1; }
  38%, 66% { transform: translate(-2.2rem, 2.8rem) rotate(14deg) scale(.86); opacity: .92; }
  78%, 86% { transform: rotate(380deg) translate(0, 0); opacity: 1; }
  100% { transform: rotate(760deg) translate(0, 0); opacity: 1; }
}

@media (max-width: 980px) {
  .signal-service-animation {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .signal-service-animation__trailer {
    left: 50%;
    width: 110%;
  }

  .signal-service-animation__tool-chest,
  .signal-service-animation__service-cart {
    display: none;
  }

  .signal-service-animation__floor-jack {
    left: 31%;
    bottom: 5.25rem;
    scale: .78;
  }
}

.signal-service-animation__lift {
  z-index: 2;
  bottom: 4.65rem;
  width: 1.05rem;
  height: 14.5rem;
  border-radius: .38rem .38rem .18rem .18rem;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, .28), transparent 32% 66%, rgba(0, 0, 0, .28)),
    linear-gradient(180deg, #d3dce8, #657489 58%, #334257);
  box-shadow:
    inset -.18rem 0 0 rgba(5, 11, 21, .35),
    0 .45rem .9rem rgba(0, 0, 0, .24);
}

.signal-service-animation__lift::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -.28rem;
  width: 3.8rem;
  height: .48rem;
  border-radius: 999px;
  background: linear-gradient(90deg, #8390a2, #d8e1ec, #6a788d);
  transform: translateX(-50%);
  box-shadow: 0 .35rem .65rem rgba(0, 0, 0, .28);
}

.signal-service-animation__lift::before {
  bottom: 5.05rem;
  width: 6.35rem;
  height: .56rem;
  border-radius: 999px;
  background:
    radial-gradient(circle at calc(100% - .25rem) 50%, #dbe4ef 0 .43rem, #66758a .45rem .76rem, transparent .78rem),
    linear-gradient(90deg, #536176, #d3dce8 46%, #68768b);
  box-shadow: 0 .32rem .42rem rgba(0, 0, 0, .28);
}

.signal-service-animation__lift--left {
  left: 14.7%;
}

.signal-service-animation__lift--left::before {
  left: .65rem;
  transform-origin: left center;
}

.signal-service-animation__lift--right {
  right: 10.9%;
}

.signal-service-animation__lift--right::before {
  right: .65rem;
  left: auto;
  transform-origin: right center;
  background:
    radial-gradient(circle at .25rem 50%, #dbe4ef 0 .43rem, #66758a .45rem .76rem, transparent .78rem),
    linear-gradient(90deg, #68768b, #d3dce8 54%, #536176);
  box-shadow: 0 .32rem .42rem rgba(0, 0, 0, .28);
}

.signal-service-animation__trailer {
  height: 13.4rem;
}

.signal-service-animation__trailer-frame {
  left: 12%;
  right: 15%;
  bottom: 3.85rem;
  height: .72rem;
  border-radius: .16rem;
  background:
    linear-gradient(180deg, #9eacbd, #48586d);
  box-shadow:
    2.4rem .95rem 0 -.12rem #6d7b90,
    9.2rem .95rem 0 -.12rem #6d7b90,
    16rem .95rem 0 -.12rem rgba(109, 123, 144, .72);
}

.signal-service-animation__trailer-bed {
  left: 8.6%;
  right: 11.4%;
  bottom: 5rem;
  height: 5.65rem;
  border: .18rem solid #8997aa;
  border-radius: .22rem .82rem .54rem .54rem;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, .12), transparent 13% 88%, rgba(255, 255, 255, .08)),
    repeating-linear-gradient(90deg, rgba(213, 224, 238, .12) 0 .08rem, transparent .09rem 2.15rem),
    linear-gradient(180deg, #1d2938 0 62%, #080d16 63% 100%);
  transform: skewX(-2deg);
}

.signal-service-animation__trailer-bed::before {
  left: .7rem;
  right: .7rem;
  bottom: .62rem;
  height: .36rem;
  background:
    linear-gradient(90deg, #f04f45 0 5.5%, transparent 5.5% 16%, #e9eef6 16% 29%, transparent 29% 76%, #73dcff 76% 82%, transparent 82%);
}

.signal-service-animation__trailer-bed::after {
  inset: .7rem .9rem auto;
  height: 3.15rem;
  background:
    radial-gradient(circle, rgba(225, 235, 247, .42) 0 .08rem, transparent .09rem) 0 .18rem / 1.35rem .48rem repeat-x,
    repeating-linear-gradient(90deg, transparent 0 2.35rem, rgba(220, 230, 244, .16) 2.4rem 2.5rem);
}

.signal-service-animation__trailer-deck {
  left: 10.7%;
  right: 15.6%;
  bottom: 7.78rem;
  height: 1.85rem;
  border-radius: .18rem;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, .16), transparent 22%),
    repeating-linear-gradient(90deg, #b47b3f 0 1.8rem, #7b4f27 1.86rem 2.02rem);
  opacity: .88;
}

.signal-service-animation__trailer-rail {
  left: 8.5%;
  right: 10.8%;
  bottom: 9.9rem;
  height: 2.95rem;
  border-radius: .16rem;
  background:
    linear-gradient(#dbe4ef, #dbe4ef) 0 0 / 100% .34rem no-repeat,
    linear-gradient(#bac6d5, #bac6d5) 0 50% / 100% .3rem no-repeat,
    linear-gradient(#8796a9, #8796a9) 0 100% / 100% .32rem no-repeat,
    repeating-linear-gradient(90deg, transparent 0 2.7rem, rgba(220, 230, 244, .78) 2.75rem 3.04rem);
  box-shadow: none;
}

.signal-service-animation__trailer-front,
.signal-service-animation__trailer-tailgate {
  bottom: 4.92rem;
  width: .82rem;
  height: 8rem;
  border-radius: .18rem;
  background: linear-gradient(180deg, #e1e9f3, #78879a 58%, #59687c);
}

.signal-service-animation__trailer-front {
  left: 8.5%;
}

.signal-service-animation__trailer-tailgate {
  right: 10.4%;
}

.signal-service-animation__trailer-tongue {
  right: -.2rem;
  bottom: 4.7rem;
  width: 10.6rem;
  height: 2.15rem;
  border-radius: 0;
  background: transparent;
  transform: none;
}

.signal-service-animation__trailer-tongue::before,
.signal-service-animation__trailer-tongue::after {
  content: "";
  position: absolute;
  right: .25rem;
  width: 10.35rem;
  height: .36rem;
  border-radius: 999px;
  background: linear-gradient(90deg, #a5b1c1, #647286);
  transform-origin: left center;
}

.signal-service-animation__trailer-tongue::before {
  top: .38rem;
  transform: rotate(12deg);
}

.signal-service-animation__trailer-tongue::after {
  top: 1.35rem;
  transform: rotate(-5deg);
}

.signal-service-animation__coupler {
  right: -.95rem;
  bottom: 5.18rem;
  width: 1.65rem;
  height: .9rem;
  border-radius: .2rem .9rem .9rem .2rem;
  background:
    radial-gradient(circle at 75% 50%, transparent 0 .22rem, #cdd7e4 .24rem .52rem, transparent .54rem),
    linear-gradient(180deg, #e3ebf5, #8593a6);
  transform: rotate(5deg);
}

.signal-service-animation__trailer-jack {
  right: 7.6%;
  bottom: 2.18rem;
  height: 4.75rem;
  width: .64rem;
}

.signal-service-animation__axle {
  left: 27.2%;
  bottom: 3.25rem;
  width: 17rem;
  height: .72rem;
  background: linear-gradient(180deg, #778599, #3d4b5d);
}

.signal-service-animation__fender {
  bottom: 4.08rem;
  width: 5.65rem;
  height: 2.72rem;
  border-radius: 5.5rem 5.5rem .28rem .28rem;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .8), transparent 36%),
    linear-gradient(180deg, #ecf3fb, #9aa8ba 66%, #667589);
}

.signal-service-animation__fender--front {
  left: 24.8%;
}

.signal-service-animation__fender--rear {
  left: 42%;
}

.signal-service-animation__wheel {
  width: 4.85rem;
  height: 4.85rem;
  border-width: .82rem;
  background:
    radial-gradient(circle, #edf3fb 0 12%, #6c7a8f 13% 25%, #111824 26% 39%, transparent 40%),
    repeating-conic-gradient(from 0deg, #202a38 0 16deg, #687589 17deg 31deg);
}

.signal-service-animation__wheel--front {
  left: 24.6%;
}

.signal-service-animation__wheel--rear {
  left: 42%;
}

.signal-service-animation__fender--front::after {
  left: 1.65rem;
  bottom: -2.2rem;
}

@keyframes signalServiceLiftArm {
  0%, 12%, 100% { transform: rotate(0deg); }
  30%, 76% { transform: rotate(-5deg); }
}

.signal-service-animation__tool-chest {
  z-index: 1;
  left: 6.2%;
  bottom: 5.55rem;
  scale: .82;
  opacity: .34;
  filter: saturate(.72) brightness(.82);
}

.signal-service-animation__tool-chest::before,
.signal-service-animation__tool-chest span {
  opacity: .62;
}

.signal-service-animation__tool-chest--tall-left,
.signal-service-animation__tool-chest--back-wall,
.signal-service-animation__tool-chest--wide-right,
.signal-service-animation__tool-chest--tall-right,
.signal-service-animation__tool-chest--bench {
  z-index: 1;
  opacity: .34;
  filter: saturate(.72) brightness(.84);
}

.signal-service-animation__tool-chest--tall-left {
  left: 2.4%;
  bottom: 5.55rem;
  width: 5rem;
  height: 9.7rem;
  scale: .9;
  opacity: .42;
  background: linear-gradient(180deg, #9c2422, #4d1417);
}

.signal-service-animation__tool-chest--back-wall {
  left: 18.5%;
  bottom: 7.1rem;
  width: 7.2rem;
  height: 7.75rem;
  scale: .68;
  opacity: .24;
  background: linear-gradient(180deg, #37475a, #17202d);
  border-color: rgba(178, 198, 220, .16);
}

.signal-service-animation__tool-chest--wide-right {
  right: 16.7%;
  left: auto;
  bottom: 5.15rem;
  width: 8.8rem;
  height: 5.55rem;
  scale: .8;
  opacity: .34;
  background: linear-gradient(180deg, #b12c28, #5b1717);
}

.signal-service-animation__tool-chest--tall-right {
  right: 1.9%;
  left: auto;
  bottom: 5.72rem;
  width: 4.8rem;
  height: 9.2rem;
  scale: .84;
  opacity: .36;
  background: linear-gradient(180deg, #a02724, #501516);
}

.signal-service-animation__tool-chest--bench {
  right: 6.4%;
  left: auto;
  bottom: 8.05rem;
  width: 7.9rem;
  height: 3.45rem;
  scale: .7;
  opacity: .26;
  background: linear-gradient(180deg, #3b4a5d, #161f2b);
  border-color: rgba(188, 206, 226, .18);
}

.signal-service-animation__tool-chest--tall-left::before,
.signal-service-animation__tool-chest--back-wall::before,
.signal-service-animation__tool-chest--wide-right::before,
.signal-service-animation__tool-chest--tall-right::before,
.signal-service-animation__tool-chest--bench::before {
  height: .28rem;
  opacity: .54;
}

.signal-service-animation__tool-chest--tall-left span:nth-child(1),
.signal-service-animation__tool-chest--tall-right span:nth-child(1),
.signal-service-animation__tool-chest--back-wall span:nth-child(1) {
  top: 2.1rem;
}

.signal-service-animation__tool-chest--tall-left span:nth-child(2),
.signal-service-animation__tool-chest--tall-right span:nth-child(2),
.signal-service-animation__tool-chest--back-wall span:nth-child(2) {
  top: 4rem;
}

.signal-service-animation__tool-chest--tall-left span:nth-child(3),
.signal-service-animation__tool-chest--tall-right span:nth-child(3),
.signal-service-animation__tool-chest--back-wall span:nth-child(3) {
  top: 6rem;
}

.signal-service-animation__service-cart {
  z-index: 2;
  opacity: .46;
}

.signal-service-animation__lift {
  z-index: 4;
}

.signal-service-animation__jack-stand,
.signal-service-animation__floor-jack {
  z-index: 5;
}

.signal-service-animation__trailer {
  z-index: 6;
}

.signal-service-animation__lift::before {
  z-index: 7;
}

.signal-service-animation__lift::after {
  z-index: 8;
}

.signal-service-animation__trailer-shadow {
  z-index: 3;
}

.signal-service-animation__meter,
.signal-service-animation__sign,
.signal-service-animation__neon-logo,
.signal-service-animation__toolrail,
.signal-service-animation__wrench-loop {
  z-index: 9;
}

.signal-service-animation__trailer-rail {
  opacity: .94;
}

.signal-service-animation__trailer-deck {
  box-shadow: inset 0 .28rem 0 rgba(255, 255, 255, .12), inset 0 -.2rem 0 rgba(0, 0, 0, .18);
}

.signal-service-animation__trailer-bed {
  box-shadow:
    inset 0 .35rem 0 rgba(255, 255, 255, .08),
    inset 0 -1.05rem 0 rgba(0, 0, 0, .32),
    0 1.2rem 1.8rem rgba(0, 0, 0, .36);
}

.signal-service-animation__wheel {
  box-shadow:
    inset 0 0 0 .28rem #202735,
    inset 0 0 0 .9rem rgba(255, 255, 255, .05),
    0 .7rem 1.15rem rgba(0, 0, 0, .42);
}

.signal-service-animation__lift--left::before {
  transform-origin: left center;
}

.signal-service-animation__lift--right::before {
  transform-origin: right center;
}

.signal-service-animation__lift {
  background:
    linear-gradient(90deg, rgba(255, 255, 255, .32), transparent 30% 68%, rgba(0, 0, 0, .32)),
    linear-gradient(180deg, #d9e2ed 0 30%, #8c9bad 31% 43%, #58687e 44% 100%);
}

.signal-service-animation__lift::before {
  bottom: 4.55rem;
  width: 5.8rem;
  height: .5rem;
  opacity: .82;
  background:
    radial-gradient(circle at calc(100% - .18rem) 50%, #eef4fb 0 .34rem, #4f5e72 .36rem .64rem, transparent .66rem),
    linear-gradient(90deg, #414f62, #b7c3d2 54%, #637287);
  box-shadow: 0 .28rem .48rem rgba(0, 0, 0, .26);
}

.signal-service-animation__lift--left::before {
  left: .72rem;
}

.signal-service-animation__lift--right::before {
  right: .72rem;
  background:
    radial-gradient(circle at .18rem 50%, #eef4fb 0 .34rem, #4f5e72 .36rem .64rem, transparent .66rem),
    linear-gradient(90deg, #637287, #b7c3d2 46%, #414f62);
}

.signal-service-animation__trailer-bed {
  border-color: #95a4b6;
}

.signal-service-animation__trailer-bed::after {
  opacity: .46;
}

.signal-service-animation__trailer-frame {
  background:
    linear-gradient(90deg, transparent 0 3%, rgba(222, 233, 246, .92) 3% 4.2%, transparent 4.2% 11%),
    linear-gradient(180deg, #a9b7c7, #455468);
}

.signal-service-animation__trailer-front::after,
.signal-service-animation__trailer-tailgate::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -.28rem;
  width: 1.4rem;
  height: .38rem;
  border-radius: 999px;
  background: #c9d4e2;
  transform: translateX(-50%);
}

.signal-service-animation__trailer-tailgate::before {
  content: "";
  position: absolute;
  right: .44rem;
  bottom: .82rem;
  width: .34rem;
  height: 1.5rem;
  border-radius: 999px;
  background: linear-gradient(180deg, #ff6760 0 48%, #e8edf5 49% 100%);
  box-shadow: 0 0 .55rem rgba(255, 103, 96, .35);
}

.signal-service-animation__trailer-front::before {
  content: "";
  position: absolute;
  left: .42rem;
  bottom: .98rem;
  width: .34rem;
  height: 1.18rem;
  border-radius: 999px;
  background: #62d6f6;
  box-shadow: 0 0 .55rem rgba(98, 214, 246, .36);
}

.signal-service-animation__axle {
  box-shadow:
    0 .35rem 0 rgba(0, 0, 0, .28),
    4.1rem -.28rem 0 -.18rem rgba(215, 225, 238, .64);
}

.signal-service-animation__wheel span {
  opacity: .86;
}

@keyframes signalServiceLiftArmTuned {
  0%, 18%, 86%, 100% { transform: rotate(-2deg); }
  36%, 72% { transform: rotate(-5deg); }
}

@keyframes signalServiceLiftArm {
  0%, 12%, 100% { transform: rotate(-2deg); }
  30%, 76% { transform: rotate(-5deg); }
}

.signal-service-animation__lift--right::before {
  width: 5.15rem;
  opacity: .76;
}

.signal-service-animation__trailer-shadow {
  left: 7%;
  right: 8%;
  bottom: .8rem;
  height: 1.55rem;
  opacity: .82;
}

.signal-service-animation__trailer-tongue {
  right: -.15rem;
  bottom: 4.58rem;
  width: 9.7rem;
}

.signal-service-animation__trailer-tongue::before,
.signal-service-animation__trailer-tongue::after {
  right: .72rem;
  width: 8.85rem;
  height: .32rem;
  background: linear-gradient(90deg, #b6c1cf, #6b798d 72%, #a8b4c4);
  opacity: .92;
}

.signal-service-animation__trailer-tongue::before {
  top: .54rem;
  transform: rotate(9deg);
}

.signal-service-animation__trailer-tongue::after {
  top: 1.24rem;
  transform: rotate(-4deg);
}

.signal-service-animation__coupler {
  right: -.55rem;
  bottom: 5.1rem;
  scale: .88;
}

.signal-service-animation__service-cart {
  right: 6.2%;
  scale: .84;
  filter: saturate(.8);
}

.signal-service-animation__floor-jack {
  opacity: .86;
}

.signal-service-animation__trailer-rail {
  background:
    linear-gradient(#edf4fb, #d5dfeb) 0 0 / 100% .34rem no-repeat,
    linear-gradient(#b5c1d0, #a5b2c3) 0 50% / 100% .28rem no-repeat,
    linear-gradient(#8494a8, #6d7d91) 0 100% / 100% .32rem no-repeat,
    repeating-linear-gradient(90deg, transparent 0 2.75rem, rgba(230, 238, 248, .82) 2.8rem 3.08rem);
}

.signal-service-animation__trailer-deck {
  right: 16.8%;
}

.signal-service-animation__trailer-bed {
  right: 12.4%;
}

.signal-service-animation__trailer-tailgate {
  right: 11.3%;
}

.signal-service-animation__trailer-rail {
  right: 11.7%;
}

.signal-service-animation__light {
  bottom: 5.28rem;
  opacity: .9;
}

.signal-service-animation__light--left {
  left: 10.6%;
}

.signal-service-animation__light--right {
  right: 13.8%;
}

.signal-service-animation__lift::before {
  z-index: 4;
  bottom: 4.78rem;
  opacity: .68;
}

.signal-service-animation__jack-stand--left {
  left: 34.8%;
}

.signal-service-animation__jack-stand--right {
  left: 58.6%;
}

.signal-service-animation__floor-jack {
  left: 42.2%;
  bottom: 5.2rem;
  scale: .88;
  opacity: .72;
}

.signal-service-animation__fender--front::after {
  left: 2.02rem;
  bottom: -2.02rem;
  width: 2.15rem;
  height: 2.15rem;
}

@keyframes signalServiceFrontWheelService {
  0% { transform: rotate(0deg) translate(0, 0); opacity: 1; }
  14%, 28% { transform: rotate(380deg) translate(0, 0); opacity: 1; }
  38%, 66% { transform: rotate(380deg) translate(-.28rem, 1.45rem) scale(.88); opacity: .88; }
  78%, 86% { transform: rotate(380deg) translate(0, 0); opacity: 1; }
  100% { transform: rotate(760deg) translate(0, 0); opacity: 1; }
}

@media (max-width: 620px) {
  .signal-service-animation__floor-jack {
    left: 34%;
    bottom: 5.05rem;
    scale: .72;
  }

  .signal-service-animation__jack-stand--left {
    left: 35.6%;
  }
}

.signal-service-animation__fender--front::after {
  display: none;
}

@keyframes signalServiceFrontWheelService {
  0% { transform: rotate(0deg); opacity: 1; }
  14%, 28% { transform: rotate(380deg); opacity: 1; }
  36%, 84% { transform: rotate(380deg); opacity: 1; }
  100% { transform: rotate(760deg); opacity: 1; }
}

.signal-service-animation__floor-jack {
  left: 43.5%;
  bottom: 5rem;
  opacity: .64;
}

.signal-service-animation__jack-stand--left {
  left: 33.8%;
}

.signal-service-animation__lift::before {
  bottom: 4.42rem;
  opacity: .54;
}

.signal-service-animation__lift--right::before {
  width: 3.9rem;
  bottom: 4.18rem;
  opacity: .3;
}

.signal-service-animation__trailer-tongue {
  bottom: 4.38rem;
}

.signal-service-animation__trailer-tongue::before {
  top: .7rem;
  transform: rotate(7deg);
}

.signal-service-animation__trailer-tongue::after {
  top: 1.35rem;
  transform: rotate(-2deg);
}

.signal-service-animation__coupler {
  bottom: 4.92rem;
  opacity: .86;
}

.signal-service-animation__lift::before {
  bottom: 4.72rem;
  width: 6.9rem;
  height: .4rem;
  opacity: .42;
  box-shadow: 0 .22rem .34rem rgba(0, 0, 0, .18);
}

.signal-service-animation__lift--left::before {
  left: .7rem;
}

.signal-service-animation__lift--right::before {
  right: .7rem;
  width: 4.8rem;
  opacity: .26;
}

@keyframes signalServiceLiftArmTuned {
  0%, 24%, 84%, 100% { transform: rotate(0deg); opacity: .34; }
  36%, 76% { transform: rotate(0deg); opacity: .48; }
}

@keyframes signalServiceLiftArm {
  0%, 12%, 100% { transform: rotate(0deg); }
  30%, 76% { transform: rotate(0deg); }
}

.signal-service-animation__floor-jack {
  left: 43.9%;
  bottom: 4.86rem;
  scale: .78;
  opacity: .54;
}

.signal-service-animation__floor-jack span {
  width: 3.15rem;
  opacity: .82;
}

.signal-service-animation__jack-stand {
  opacity: .78;
}

.signal-service-animation__jack-stand--left {
  left: 35%;
}

.signal-service-animation__jack-stand--right {
  left: 58.1%;
}

.signal-service-animation__tool-chest {
  bottom: 5.35rem;
  opacity: .26;
}

.signal-service-animation__floor-jack {
  left: 44.8%;
  bottom: 4.72rem;
  scale: .68;
  opacity: .46;
}

.signal-service-animation__jack-stand {
  opacity: .66;
}

.signal-service-animation__jack-stand::before {
  width: .42rem;
}

.signal-service-animation__jack-stand::after {
  opacity: .82;
}

.signal-service-animation__trailer-shadow {
  bottom: 1rem;
  opacity: .72;
}

.signal-service-animation__scene {
  background:
    radial-gradient(circle at 52% 16%, rgba(150, 215, 238, .2), transparent 24%),
    linear-gradient(180deg, #283746 0 36%, #121a25 37% 100%);
}

.signal-service-animation__scene::before {
  background:
    linear-gradient(90deg, transparent, rgba(255, 255, 255, .055) 42%, transparent 74%),
    repeating-linear-gradient(180deg, rgba(219, 231, 246, .075) 0 .08rem, transparent .09rem 2.65rem);
  opacity: .28;
}

.signal-service-animation__floor {
  opacity: .78;
}

.signal-service-animation__trailer {
  filter: drop-shadow(0 1.15rem 1rem rgba(0, 0, 0, .3));
}

.signal-service-animation__trailer-bed {
  border-width: .16rem;
  border-color: #9aaabd;
}

.signal-service-animation__trailer-frame {
  bottom: 3.95rem;
  height: .62rem;
}

.signal-service-animation__axle {
  bottom: 3.34rem;
  opacity: .9;
}

.signal-service-animation__fender {
  bottom: 4.2rem;
}

.signal-service-animation__wheel {
  bottom: 1.34rem;
}

.signal-service-animation__jack-stand {
  bottom: 5.12rem;
  opacity: .58;
}

.signal-service-animation__floor-jack {
  bottom: 4.52rem;
  opacity: .34;
}

.signal-service-animation__floor-jack::before,
.signal-service-animation__floor-jack::after,
.signal-service-animation__floor-jack span {
  opacity: .7;
}

.signal-service-animation__service-cart {
  opacity: .38;
}

.signal-service-animation__meter {
  opacity: .82;
}

.signal-service-animation__lift {
  box-shadow:
    inset -.18rem 0 0 rgba(5, 11, 21, .28),
    0 .45rem .9rem rgba(0, 0, 0, .2);
}

.signal-service-animation__lift::before {
  height: .34rem;
  opacity: .38;
}

.signal-service-animation__lift--left::before {
  width: 6.4rem;
}

.signal-service-animation__lift--right::before {
  width: 3.6rem;
  opacity: .22;
}

.signal-service-animation__trailer-tongue::before,
.signal-service-animation__trailer-tongue::after {
  opacity: .78;
}

.signal-service-animation__coupler {
  opacity: .72;
}

.signal-service-animation__lift {
  background:
    linear-gradient(180deg, transparent 0 52%, rgba(235, 243, 252, .28) 52% 59%, rgba(61, 74, 91, .3) 59% 64%, transparent 64% 100%),
    linear-gradient(90deg, rgba(255, 255, 255, .32), transparent 30% 68%, rgba(0, 0, 0, .32)),
    linear-gradient(180deg, #d9e2ed 0 30%, #8c9bad 31% 43%, #58687e 44% 100%);
}

.signal-service-animation__jack-stand {
  width: 2rem;
  height: 3.2rem;
}

.signal-service-animation__jack-stand::before {
  top: .28rem;
  height: 2.35rem;
  background:
    linear-gradient(90deg, transparent 0 38%, #b8c4d2 38% 62%, transparent 62% 100%),
    linear-gradient(180deg, #d9e2ed, #6b7a8e);
}

.signal-service-animation__jack-stand::after {
  left: .1rem;
  right: .1rem;
  height: .82rem;
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
  background: linear-gradient(180deg, #c9d4e2, #748398);
}

.signal-service-animation__jack-stand--left {
  left: 35.4%;
}

.signal-service-animation__jack-stand--right {
  left: 59%;
}

.signal-service-animation__floor-jack {
  left: 45.6%;
  opacity: .38;
}

.signal-service-animation__floor-jack::after {
  opacity: .55;
}

/* Final service-bay composition pass. */
.signal-service-animation__scene {
  background:
    radial-gradient(circle at 53% 18%, rgba(175, 226, 244, .18), transparent 23%),
    linear-gradient(180deg, #2a3948 0 35%, #0e1621 36% 100%);
}

.signal-service-animation__scene::after {
  left: 16%;
  right: 8%;
  bottom: 4.05rem;
  width: auto;
  height: 3.25rem;
  background:
    linear-gradient(90deg, transparent 0 9%, rgba(124, 140, 160, .18) 9% 10%, transparent 10% 37%, rgba(124, 140, 160, .18) 37% 38%, transparent 38% 64%, rgba(124, 140, 160, .18) 64% 65%, transparent 65% 100%),
    linear-gradient(180deg, rgba(255, 255, 255, .04), rgba(0, 0, 0, .12));
  opacity: .62;
}

.signal-service-animation__overhead-light {
  opacity: .62;
}

.signal-service-animation__trailer {
  bottom: 7.05rem;
  filter: drop-shadow(0 1.25rem 1.15rem rgba(0, 0, 0, .34));
}

.signal-service-animation__trailer-bed {
  border-color: #9facbd;
  box-shadow:
    inset 0 .35rem 0 rgba(255, 255, 255, .1),
    inset 0 -1rem 0 rgba(0, 0, 0, .34),
    0 1.15rem 1.9rem rgba(0, 0, 0, .36);
}

.signal-service-animation__trailer-bed::after {
  opacity: .34;
}

.signal-service-animation__trailer-deck {
  background:
    linear-gradient(90deg, rgba(255, 255, 255, .2), transparent 20% 84%, rgba(0, 0, 0, .12)),
    repeating-linear-gradient(90deg, #bd8849 0 1.74rem, #8b5b2d 1.8rem 2.02rem);
}

.signal-service-animation__trailer-rail {
  opacity: .98;
  filter: drop-shadow(0 .25rem .22rem rgba(0, 0, 0, .2));
}

.signal-service-animation__lift {
  width: .95rem;
  background:
    linear-gradient(180deg, transparent 0 48%, rgba(235, 243, 252, .24) 48% 56%, rgba(58, 72, 88, .34) 56% 62%, transparent 62% 100%),
    linear-gradient(90deg, rgba(255, 255, 255, .38), transparent 31% 68%, rgba(0, 0, 0, .34)),
    linear-gradient(180deg, #dde6f1 0 30%, #8998ac 31% 43%, #536477 44% 100%);
}

.signal-service-animation__lift::before {
  bottom: 4.66rem;
  height: .32rem;
  opacity: .5;
}

.signal-service-animation__lift--left::before {
  width: 6.65rem;
}

.signal-service-animation__lift--right::before {
  width: 3.85rem;
  opacity: .25;
}

.signal-service-animation__jack-stand {
  bottom: 5.02rem;
  opacity: .5;
  scale: .92;
}

.signal-service-animation__floor-jack {
  left: 46.2%;
  bottom: 4.48rem;
  opacity: .26;
  scale: .62;
}

.signal-service-animation__floor-jack span {
  opacity: .58;
}

.signal-service-animation__tool-chest {
  bottom: 5.15rem;
  opacity: .22;
}

.signal-service-animation__service-cart {
  opacity: .28;
}

.signal-service-animation__mechanic {
  display: block;
  left: 29.8%;
  bottom: 4.9rem;
  width: 4.25rem;
  height: 5.35rem;
  z-index: 7;
  opacity: 0;
  filter: drop-shadow(0 .45rem .5rem rgba(0, 0, 0, .3));
}

.signal-service-animation__mechanic::before {
  left: 1.22rem;
  width: 1.18rem;
  height: 1.18rem;
}

.signal-service-animation__mechanic span {
  top: 1.18rem;
  left: .82rem;
  width: 1.95rem;
  height: 2.55rem;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, .14), transparent 42%),
    linear-gradient(180deg, #274d82, #14264e);
}

.signal-service-animation__mechanic::after {
  left: 1.02rem;
  bottom: .3rem;
  width: 2.1rem;
  height: 1.55rem;
}

.signal-service-animation__mechanic b {
  top: 2.46rem;
  left: 2.52rem;
  width: 2.3rem;
}

.signal-service-animation__wrench {
  display: block;
  left: 37.9%;
  bottom: 7.18rem;
  width: 3.05rem;
  opacity: 0;
  z-index: 8;
}

.signal-service-animation__sparks {
  display: block;
  left: 42.3%;
  bottom: 7.72rem;
  scale: .58;
  opacity: .62;
}

.signal-service-animation__work-light {
  left: 36.5%;
  bottom: 6.75rem;
  width: 15rem;
  height: 7.5rem;
  opacity: .55;
}

@keyframes signalServiceMechanic {
  0%, 30%, 83%, 100% { transform: translate(-1.15rem, .35rem) scale(.92); opacity: 0; }
  41%, 72% { transform: translate(0, 0) scale(1); opacity: .86; }
}

@keyframes signalServiceWrench {
  0%, 32%, 82%, 100% { transform: rotate(-16deg) translateX(-.25rem); opacity: 0; }
  44%, 72% { transform: rotate(12deg) translateX(.15rem); opacity: .78; }
  56% { transform: rotate(-10deg) translateX(0); opacity: .82; }
}

@keyframes signalServiceSpark {
  0%, 45%, 78%, 100% { opacity: 0; transform: scale(.55) translateY(.1rem); }
  56% { opacity: .75; transform: scale(1) translateY(-.35rem); }
}

@media (max-width: 620px) {
  .signal-service-animation__mechanic,
  .signal-service-animation__wrench,
  .signal-service-animation__sparks,
  .signal-service-animation__work-light {
    display: none;
  }
}

/* Clean lift-only service bay: no person or center jacks. */
.signal-service-animation__mechanic,
.signal-service-animation__wrench,
.signal-service-animation__sparks,
.signal-service-animation__work-light,
.signal-service-animation__floor-jack,
.signal-service-animation__jack-stand {
  display: none;
}

.signal-service-animation__lift::before {
  bottom: 4.78rem;
  height: .44rem;
  opacity: .62;
  background:
    radial-gradient(circle at calc(100% - .2rem) 50%, #f1f6fc 0 .38rem, #4f5d70 .4rem .68rem, transparent .7rem),
    linear-gradient(180deg, #dce6f1, #8291a4 62%, #4a586a);
  box-shadow:
    0 .28rem .42rem rgba(0, 0, 0, .3),
    inset 0 .12rem 0 rgba(255, 255, 255, .28);
}

.signal-service-animation__lift--left::before {
  width: 8.15rem;
}

.signal-service-animation__lift--right::before {
  width: 6.7rem;
  opacity: .48;
  background:
    radial-gradient(circle at .2rem 50%, #f1f6fc 0 .38rem, #4f5d70 .4rem .68rem, transparent .7rem),
    linear-gradient(180deg, #dce6f1, #8291a4 62%, #4a586a);
}

.signal-service-animation__trailer-frame {
  bottom: 3.98rem;
}

.signal-service-animation__axle {
  left: 27.8%;
  width: 16.2rem;
  bottom: 3.42rem;
}

.signal-service-animation__fender {
  bottom: 4.16rem;
  width: 5.35rem;
  height: 2.58rem;
}

.signal-service-animation__fender--front {
  left: 25.2%;
}

.signal-service-animation__fender--rear {
  left: 41.9%;
}

.signal-service-animation__wheel {
  width: 4.62rem;
  height: 4.62rem;
  bottom: 1.5rem;
  border-width: .76rem;
}

.signal-service-animation__wheel--front {
  left: 25.2%;
}

.signal-service-animation__wheel--rear {
  left: 41.95%;
}

.signal-service-animation__trailer-tongue {
  right: -1.05rem;
  bottom: 4.42rem;
  width: 10rem;
  height: 2.3rem;
}

.signal-service-animation__trailer-tongue::before,
.signal-service-animation__trailer-tongue::after {
  left: .25rem;
  right: auto;
  width: 8.7rem;
  height: .3rem;
  opacity: .78;
  transform-origin: left center;
  background: linear-gradient(90deg, #b8c3d1, #647387 74%, #a7b3c2);
}

.signal-service-animation__trailer-tongue::before {
  top: .54rem;
  transform: rotate(7deg);
}

.signal-service-animation__trailer-tongue::after {
  top: 1.42rem;
  transform: rotate(-7deg);
}

.signal-service-animation__coupler {
  right: -1.15rem;
  bottom: 5.1rem;
  width: 1.45rem;
  height: .76rem;
  opacity: .74;
  transform: rotate(0deg);
}

/* Trailer stance and tongue cleanup. */
.signal-service-animation__lift--right::before {
  width: 5.35rem;
  opacity: .36;
}

.signal-service-animation__axle {
  left: 27.1%;
  width: 17.4rem;
}

.signal-service-animation__fender {
  width: 5.55rem;
  height: 2.7rem;
  bottom: 4.12rem;
}

.signal-service-animation__fender--front {
  left: 24.75%;
}

.signal-service-animation__fender--rear {
  left: 41.65%;
}

.signal-service-animation__wheel {
  width: 4.86rem;
  height: 4.86rem;
  bottom: 1.32rem;
  border-width: .82rem;
}

.signal-service-animation__wheel--front {
  left: 24.72%;
}

.signal-service-animation__wheel--rear {
  left: 41.72%;
}

.signal-service-animation__trailer-tongue {
  right: -.35rem;
  bottom: 4.5rem;
  width: 7.2rem;
  height: 2rem;
}

.signal-service-animation__trailer-tongue::before,
.signal-service-animation__trailer-tongue::after {
  left: .15rem;
  width: 6.45rem;
  height: .26rem;
  opacity: .7;
}

.signal-service-animation__trailer-tongue::before {
  top: .52rem;
  transform: rotate(6deg);
}

.signal-service-animation__trailer-tongue::after {
  top: 1.26rem;
  transform: rotate(-6deg);
}

.signal-service-animation__coupler {
  right: -.5rem;
  bottom: 5.1rem;
  width: 1.2rem;
  height: .66rem;
  opacity: .68;
}

/* Wheel centering and synced lift supports. */
.signal-service-animation__trailer-jack {
  display: none;
}

.signal-service-animation__trailer-tongue {
  right: -3.2rem;
  bottom: 3.05rem;
  width: 7.4rem;
  height: 3.55rem;
  z-index: 4;
  background: none;
  box-shadow: none;
}

.signal-service-animation__trailer-tongue::before,
.signal-service-animation__trailer-tongue::after {
  content: none;
}

.signal-service-animation__tongue-rail,
.signal-service-animation__tongue-drawbar {
  position: absolute;
  right: .82rem;
  top: 50%;
  display: block;
  border-radius: 999px;
  background: linear-gradient(90deg, #eef5fc 0%, #9cabbc 42%, #586779 74%, #c7d2df 100%);
  box-shadow: 0 .2rem .34rem rgba(0, 0, 0, .34), inset 0 .11rem 0 rgba(255, 255, 255, .36);
  transform-origin: right center;
}

.signal-service-animation__tongue-rail {
  width: 11.28rem;
  height: .46rem;
}

.signal-service-animation__tongue-rail--top {
  transform: translateY(-50%) rotate(-9deg);
}

.signal-service-animation__tongue-rail--bottom {
  transform: translateY(-50%) rotate(9deg);
}

.signal-service-animation__tongue-drawbar {
  width: 6.45rem;
  height: .4rem;
  background: linear-gradient(90deg, #f2f7fd 0%, #8998aa 58%, #536174 100%);
  transform: translateY(-50%);
}

.signal-service-animation__tongue-cross {
  position: absolute;
  left: 1.18rem;
  top: .72rem;
  display: block;
  width: .44rem;
  height: 2.12rem;
  border-radius: 999px;
  background: linear-gradient(180deg, #e7eff8, #758498);
  box-shadow: 0 .22rem .34rem rgba(0, 0, 0, .26);
}

.signal-service-animation__coupler {
  right: -3.55rem;
  bottom: 4.24rem;
  width: 2.05rem;
  height: 1.05rem;
  opacity: .98;
  border-radius: .18rem .82rem .82rem .18rem;
  background: linear-gradient(90deg, #e2ebf6, #8f9dae 72%, #c5cfdb);
  box-shadow: 0 .28rem .5rem rgba(0, 0, 0, .26);
  transform: rotate(0deg);
}

.signal-service-animation__coupler::before {
  content: "";
  position: absolute;
  right: -.22rem;
  top: 50%;
  width: .58rem;
  height: .58rem;
  border-radius: 999px;
  background: #6d7b8f;
  box-shadow: inset 0 0 0 .16rem #dce5f0;
  transform: translateY(-50%);
}

.signal-service-animation__wheel--front {
  left: 25.32%;
}

.signal-service-animation__wheel--rear {
  left: 42.22%;
}

.signal-service-animation__lift::before {
  animation: signalServiceLiftPlatformTravel 9.6s ease-in-out infinite;
}

.signal-service-animation__lift--right::before {
  animation-name: signalServiceLiftPlatformTravelRight;
}

@keyframes signalServiceLiftPlatformTravel {
  0% { transform: translateX(-1.35rem) translateY(.05rem); opacity: .28; }
  14%, 25% { transform: translateX(0) translateY(.05rem); opacity: .48; }
  36%, 73% { transform: translateX(0) translateY(-.9rem); opacity: .7; }
  82%, 88% { transform: translateX(0) translateY(.05rem); opacity: .48; }
  100% { transform: translateX(1.2rem) translateY(.05rem); opacity: .26; }
}

@keyframes signalServiceLiftPlatformTravelRight {
  0% { transform: translateX(-1.1rem) translateY(.05rem); opacity: .22; }
  14%, 25% { transform: translateX(0) translateY(.05rem); opacity: .36; }
  36%, 73% { transform: translateX(0) translateY(-.9rem); opacity: .54; }
  82%, 88% { transform: translateX(0) translateY(.05rem); opacity: .36; }
  100% { transform: translateX(.95rem) translateY(.05rem); opacity: .22; }
}

/* Shared lift cycle: roll in low, pads rise, trailer lifts, lowers, then exits. */
.signal-service-animation__trailer-frame {
  box-shadow: none;
}

.signal-service-animation__trailer {
  animation: signalServiceTrailerLiftCycle 9.6s ease-in-out infinite;
  z-index: 5;
}

.signal-service-animation__trailer-shadow {
  animation: signalServiceTrailerShadowLiftCycle 9.6s ease-in-out infinite;
}

.signal-service-animation__lift::before {
  animation: signalServiceLiftPlatformCycle 9.6s ease-in-out infinite;
  z-index: 6;
}

.signal-service-animation__lift--right::before {
  animation-name: signalServiceLiftPlatformCycleRight;
}

.signal-service-animation__lift--left::before {
  width: 5.15rem;
}

.signal-service-animation__lift {
  z-index: 7;
}

.signal-service-animation__lift::after {
  z-index: 8;
}

@keyframes signalServiceTrailerLiftCycle {
  0% { transform: translateX(-170%) translateY(2.7rem) scale(.985); }
  12% { transform: translateX(-88%) translateY(2.7rem) scale(.992); }
  22% { transform: translateX(-66%) translateY(2.7rem) scale(.996); }
  34%, 40% { transform: translateX(-50%) translateY(2.7rem) scale(1); }
  50%, 72% { transform: translateX(-50%) translateY(-.9rem) scale(1); }
  82%, 88% { transform: translateX(-50%) translateY(2.7rem) scale(1); }
  96% { transform: translateX(18%) translateY(2.7rem) scale(.992); }
  100% { transform: translateX(78%) translateY(2.7rem) scale(.985); }
}

@keyframes signalServiceTrailerShadowLiftCycle {
  0%, 16%, 40%, 82%, 100% { transform: scaleX(1.04); opacity: .82; }
  50%, 72% { transform: scaleX(.84); opacity: .42; }
}

@keyframes signalServiceWheel {
  0% { transform: rotate(0deg); }
  12% { transform: rotate(540deg); }
  22% { transform: rotate(990deg); }
  34%, 88% { transform: rotate(1530deg); }
  96% { transform: rotate(1890deg); }
  100% { transform: rotate(2070deg); }
}

@keyframes signalServiceFrontWheelService {
  0% { transform: rotate(0deg); opacity: 1; }
  12% { transform: rotate(540deg); opacity: 1; }
  22% { transform: rotate(990deg); opacity: 1; }
  34%, 88% { transform: rotate(1530deg); opacity: 1; }
  96% { transform: rotate(1890deg); opacity: 1; }
  100% { transform: rotate(2070deg); opacity: 1; }
}

@keyframes signalServiceRearWheelRoll {
  0% { transform: rotate(0deg); }
  12% { transform: rotate(540deg); }
  22% { transform: rotate(990deg); }
  34%, 88% { transform: rotate(1530deg); }
  96% { transform: rotate(1890deg); }
  100% { transform: rotate(2070deg); }
}

@keyframes signalServiceLiftPlatformCycle {
  0%, 34% { transform: translateY(4.75rem); opacity: .2; }
  40% { transform: translateY(2.7rem); opacity: .62; }
  50%, 72% { transform: translateY(-.9rem); opacity: .74; }
  82%, 88% { transform: translateY(2.7rem); opacity: .56; }
  100% { transform: translateY(4.75rem); opacity: .18; }
}

@keyframes signalServiceLiftPlatformCycleRight {
  0%, 34% { transform: translateY(4.75rem); opacity: .16; }
  40% { transform: translateY(2.7rem); opacity: .44; }
  50%, 72% { transform: translateY(-.9rem); opacity: .6; }
  82%, 88% { transform: translateY(2.7rem); opacity: .4; }
  100% { transform: translateY(4.75rem); opacity: .16; }
}

body[data-seasonal-effect] .site-logo::before,
body[data-seasonal-effect] .site-logo::after,
body[data-seasonal-effect] .site-logo:is(:hover, :focus-visible)::before,
body[data-seasonal-effect] .site-logo:is(:hover, :focus-visible)::after,
body[data-seasonal-effect] .site-logo.is-flaring::before,
body[data-seasonal-effect] .site-logo.is-flaring::after {
  display: none;
  animation: none;
}

body[data-seasonal-effect] .site-logo img,
body[data-seasonal-effect] .site-logo:is(:hover, :focus-visible) img,
body[data-seasonal-effect] .site-logo.is-flaring img {
  filter: drop-shadow(0 .35rem .7rem rgba(15, 23, 42, .08));
}
