html {
  scroll-behavior: smooth;
}

body {
  font-family: "Plus Jakarta Sans", "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.hero-bg {
  background-image:
    linear-gradient(90deg, rgba(15, 23, 42, 0.99) 0%, rgba(15, 23, 42, 0.96) 45%, rgba(15, 23, 42, 0.45) 100%),
    url("../assets/nexalepos-hero.png");
  background-position: center;
  background-size: cover;
}

.legal-hero {
  background-image:
    linear-gradient(135deg, rgba(15, 23, 42, 0.97), rgba(12, 74, 110, 0.9)),
    url("../assets/nexalepos-dashboard.png");
  background-position: center;
  background-size: cover;
}

.video-shell {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: 8px;
  border: 1px solid rgba(226, 232, 240, 1);
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.18);
  background: #020617;
}

.video-shell::before {
  content: "";
  display: block;
  padding-top: 56.25%;
}

.video-shell iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.jvzoo-button img {
  display: inline-block;
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  box-shadow: 0 18px 38px rgba(20, 184, 166, 0.26);
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.jvzoo-button a:hover img,
.jvzoo-button a:focus-visible img {
  transform: translateY(-2px);
  box-shadow: 0 22px 44px rgba(20, 184, 166, 0.34);
}

.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 220ms ease;
}

.faq-item.is-open .faq-answer {
  max-height: 260px;
}

.faq-item.is-open .faq-icon {
  transform: rotate(45deg);
}

.faq-icon {
  transition: transform 180ms ease;
}

@media (max-width: 768px) {
  .hero-bg {
    background-image:
      linear-gradient(180deg, rgba(15, 23, 42, 0.97) 0%, rgba(15, 23, 42, 0.9) 56%, rgba(15, 23, 42, 0.52) 100%),
      url("../assets/nexalepos-square.png");
    background-position: center top;
  }
}
