body .terms-hero a,
body .terms-card a {
  position: relative;
}

body .terms-hero a::after,
body .terms-card a::after {
  content: "";
  position: absolute;
  inset: -2px;
  border-radius: var(--radius-pill);
  border: 0;
  box-shadow: none;
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--transition-fast), box-shadow var(--transition-fast);
}

body .terms-hero a:hover::after,
body .terms-hero a:focus-visible::after,
body .terms-card a:hover::after,
body .terms-card a:focus-visible::after {
  opacity: 1;
  box-shadow: 0 0 0 1px rgba(39, 243, 255, 0.7), 0 0 24px rgba(39, 243, 255, 0.8);
}

.terms-hero .hero-shell {
  background: radial-gradient(circle at top left, rgba(39, 243, 255, 0.22), transparent 55%), radial-gradient(circle at bottom right, rgba(255, 122, 26, 0.22), transparent 55%), linear-gradient(135deg, #05060a, #05060a);
}

.terms-hero .hero-title {
  letter-spacing: var(--tracking-tight);
}

.terms-hero .hero-subtitle {
  max-width: 46rem;
}

.terms-hero-actions {
  flex-wrap: wrap;
}

.terms-card {
  border-radius: var(--radius-xl);
  border-color: var(--color-border-strong);
  box-shadow: var(--shadow-soft), var(--shadow-glow-cyan);
  background: radial-gradient(circle at top, rgba(39, 243, 255, 0.08), transparent 55%), radial-gradient(circle at bottom, rgba(255, 122, 26, 0.06), transparent 55%), var(--color-bg-elevated);
}

.terms-legal-text {
  font-family: var(--font-body);
}

.terms-legal-text h2 {
  font-size: clamp(22px, 2.4vw, var(--text-3xl));
}

.terms-legal-text p,
.terms-legal-text li {
  font-size: var(--text-sm);
}

.terms-legal-text ul {
  padding-left: 1.4rem;
}

.terms-legal-text a {
  font-family: var(--font-mono);
}

@media (max-width: 767.98px) {
  .terms-card {
    padding: var(--space-md);
  }
}
