/* Shared styling for the privacy policy and terms pages */
.legal-page {
  background: var(--bg);
}

.skip-link {
  position: absolute;
  top: 1rem;
  left: -9999px;
  z-index: 10001;
  padding: .75rem 1rem;
  border-radius: 8px;
  background: var(--white);
  color: var(--primary-dark);
  font-weight: 800;
}

.skip-link:focus {
  left: 1rem;
}

.legal-hero {
  padding: clamp(2.6rem, 6vw, 4.5rem) 0;
  color: var(--white);
  background:
    radial-gradient(ellipse at 82% 0%, rgba(32, 189, 209, .35), transparent 42%),
    linear-gradient(135deg, #063273, #0d6efd);
}

.legal-hero-inner {
  max-width: 980px;
}

.legal-hero .kicker {
  color: #b9f4fa;
}

.legal-hero h1 {
  margin: .25rem 0 .6rem;
  font-size: clamp(2.1rem, 5vw, 3.25rem);
  line-height: 1.1;
  letter-spacing: -.03em;
}

.legal-updated {
  color: rgba(255, 255, 255, .82);
  font-size: .95rem;
}

.legal-section {
  padding-top: clamp(2rem, 4vw, 3.25rem);
  padding-bottom: clamp(3rem, 6vw, 4.75rem);
}

.legal-content {
  max-width: 940px;
  margin: 0 auto;
  padding: clamp(1.25rem, 4vw, 3rem);
  border: 1px solid rgba(148, 163, 184, .28);
  border-radius: var(--radius-xl);
  background: var(--white);
  box-shadow: 0 10px 28px rgba(15, 23, 42, .07);
}

.legal-intro {
  margin-bottom: 1.7rem;
  color: #425168;
  font-size: 1.08rem;
  line-height: 1.75;
}

.legal-content section {
  padding: 1.25rem 0;
  border-top: 1px solid rgba(148, 163, 184, .24);
}

.legal-content h2 {
  margin: 0 0 .6rem;
  color: var(--primary-dark);
  font-size: clamp(1.25rem, 2.2vw, 1.55rem);
  line-height: 1.3;
}

.legal-content h3 {
  margin: 1rem 0 .4rem;
  color: var(--primary-dark);
  font-size: 1.08rem;
  line-height: 1.35;
}

.legal-content p,
.legal-content li {
  color: #46556b;
  font-size: 1rem;
  line-height: 1.75;
}

.legal-content p + p {
  margin-top: .75rem;
}

.legal-content ul {
  display: grid;
  gap: .55rem;
  margin: .65rem 0 1rem;
  padding-left: 1.35rem;
}

.legal-content a {
  color: var(--primary-dark);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: .18em;
  overflow-wrap: anywhere;
}

.legal-content a:hover {
  color: var(--primary);
}

.legal-contact {
  margin-top: 1.25rem;
  padding: clamp(1.1rem, 3vw, 1.7rem);
  border: 1px solid rgba(13, 110, 253, .16);
  border-radius: var(--radius-lg);
  background: #eff6ff;
}

.legal-contact h2 {
  margin-bottom: .55rem;
}

.legal-page .footer-bottom a[aria-current="page"] {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: .2em;
}

.legal-page a:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 3px;
  border-radius: 4px;
}

@media (max-width: 600px) {
  .legal-content {
    padding: 1.15rem;
  }
}
