html {
  scroll-behavior: smooth;
}

.page-terms {
  background: radial-gradient(circle at top left, #f5f0ff 0, #faf9fb 40%, #ffffff 100%);
}

.section-hero-legal {
  padding-top: calc(var(--gp-space-3xl) + 4rem);
}

.section-hero-inner-legal {
  align-items: flex-start;
}

.section-hero-panel-legal {
  max-width: 720px;
}

.section-hero-media-legal {
  min-height: 260px;
}

.section-hero-media-frame-legal {
  height: 100%;
  min-height: 260px;
  border-radius: var(--gp-radius-hero-panel);
  background: radial-gradient(circle at top left, rgba(123, 60, 255, 0.2), rgba(15, 0, 60, 0.9));
}

.section-hero-media-gradient {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 20% 0, rgba(255, 255, 255, 0.35) 0, transparent 45%),
    radial-gradient(circle at 80% 100%, rgba(178, 92, 255, 0.4) 0, transparent 55%);
  mix-blend-mode: screen;
}

.section-hero-media-floating-legal {
  max-width: 280px;
}

.section-legal {
  padding-top: var(--gp-space-2xl);
  padding-bottom: var(--gp-space-3xl);
}

.card-legal {
  position: relative;
  overflow: hidden;
}

.card-legal::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(123, 60, 255, 0.06), transparent 45%);
  pointer-events: none;
}

.card-legal .card-body {
  position: relative;
  z-index: 1;
}

.content-legal {
  font-size: 0.97rem;
}

.content-legal h2,
.content-legal h3 {
  scroll-margin-top: 7rem;
}

.content-legal h2 {
  font-size: 1.35rem;
}

.content-legal h3 {
  font-size: 1.05rem;
}

.content-legal ul {
  margin-left: 0;
}

.content-legal ul li {
  padding-left: 1.1rem;
}

.content-legal ul li::before {
  top: 0.2rem;
}

.content-legal p,
.content-legal li {
  max-width: 70ch;
}

.content-legal a {
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

[data-animate] {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity var(--gp-duration-slow) var(--gp-ease-soft),
    transform var(--gp-duration-slow) var(--gp-ease-soft);
}

[data-animate].is-visible {
  opacity: 1;
  transform: translateY(0);
}

.section-hero-panel-legal[data-animate] {
  transform: translateY(10px);
}

.section-hero-panel-legal[data-animate].is-visible {
  transform: translateY(0);
}

a,
.footer-link,
.nav-link,
.nav-mobile-link {
  transition: color var(--gp-duration-base) var(--gp-ease-standard),
    opacity var(--gp-duration-base) var(--gp-ease-standard),
    transform var(--gp-duration-fast) var(--gp-ease-soft),
    box-shadow var(--gp-duration-fast) var(--gp-ease-soft),
    background-color var(--gp-duration-fast) var(--gp-ease-soft),
    border-color var(--gp-duration-fast) var(--gp-ease-soft);
}

a:hover,
.footer-link:hover,
.nav-link:hover,
.nav-mobile-link:hover {
  transform: translateY(-1px);
}

.nav-toggle {
  flex-direction: column;
}

@media (max-width: 1023px) {
  .section-hero-legal {
    padding-top: calc(var(--gp-space-2xl) + 3.5rem);
  }
  .section-hero-media-legal {
    order: -1;
  }
  .section-hero-media-frame-legal {
    min-height: 220px;
  }
}

@media (max-width: 767px) {
  .section-hero-legal {
    padding-top: calc(var(--gp-space-xl) + 3.2rem);
  }
  .section-legal {
    padding-top: var(--gp-space-xl);
    padding-bottom: var(--gp-space-2xl);
  }
  .section-hero-media-floating-legal {
    max-width: 240px;
  }
}

@media (max-width: 479px) {
  .section-hero-media-floating-legal {
    right: 4%;
    left: 4%;
    max-width: none;
  }
  .content-legal h2 {
    font-size: 1.25rem;
  }
  .content-legal h3 {
    font-size: 1rem;
  }
}
