/* ============================================================
   OMICA — LEGAL PAGES (Privacy Policy, Terms of Service)
   ============================================================ */

.legal-hero {
  position: relative;
  padding-top: calc(var(--banner-h) + var(--nav-gap) + var(--nav-h) + clamp(60px, 8vw, 120px));
  padding-bottom: clamp(32px, 4vw, 56px);
  padding-left: clamp(24px, 2.6vw, 46px);
  padding-right: clamp(24px, 2.6vw, 46px);
}

.legal-headline {
  font-family: var(--font-display);
  font-size: clamp(36px, 5vw, 72px);
  font-weight: 500;
  line-height: 1.06;
  color: var(--dark);
  letter-spacing: -0.01em;
}

.legal-effective {
  font-family: var(--font-mono);
  font-size: clamp(12px, 0.9vw, 14px);
  font-weight: 400;
  color: var(--gray-600);
  letter-spacing: 0.02em;
  margin-top: clamp(12px, 1.5vw, 20px);
}

.legal-content {
  padding: 0 clamp(24px, 2.6vw, 46px);
  padding-bottom: clamp(64px, 8vw, 120px);
}

.legal-inner {
  max-width: 760px;
}

.legal-inner > p,
.legal-inner > ul,
.legal-inner > ol,
.legal-inner > div {
  font-family: var(--font-sans);
  font-size: clamp(15px, 1.1vw, 17px);
  font-weight: 400;
  line-height: 1.7;
  color: var(--gray-900);
  margin-bottom: 1.2em;
}

.legal-inner h2 {
  font-family: var(--font-display);
  font-size: clamp(20px, 1.8vw, 28px);
  font-weight: 500;
  color: var(--dark);
  line-height: 1.2;
  margin-top: clamp(36px, 3vw, 52px);
  margin-bottom: clamp(12px, 1vw, 18px);
  letter-spacing: -0.005em;
}

.legal-inner h3 {
  font-family: var(--font-display);
  font-size: clamp(16px, 1.3vw, 20px);
  font-weight: 500;
  color: var(--dark);
  line-height: 1.3;
  margin-top: clamp(20px, 2vw, 32px);
  margin-bottom: clamp(8px, 0.8vw, 12px);
}

.legal-inner ul,
.legal-inner ol {
  padding-left: 1.5em;
}

.legal-inner ul {
  list-style: disc;
}

.legal-inner ol {
  list-style: decimal;
}

.legal-inner li {
  margin-bottom: 0.5em;
}

.legal-inner a {
  color: var(--blue);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  transition: opacity 0.18s ease;
}

.legal-inner a:hover {
  opacity: 0.7;
}

.legal-inner strong {
  font-weight: 600;
  color: var(--dark);
}

.legal-contact {
  background: var(--cream);
  border-radius: 12px;
  padding: clamp(20px, 2vw, 32px);
  margin-top: clamp(16px, 1.5vw, 24px);
}

.legal-contact p {
  margin-bottom: 0.8em;
}

.legal-contact p:last-child {
  margin-bottom: 0;
}


/* ── Responsive ─────────────────────────────────────────── */

@media (min-width: 1440px) {
  .legal-content {
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
  }

  .legal-hero {
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 768px) {
  .legal-hero {
    padding-top: calc(var(--banner-h) + var(--nav-gap) + var(--nav-h) + clamp(40px, 6vw, 80px));
  }

  .legal-headline {
    font-size: clamp(28px, 7vw, 48px);
  }
}

@media (max-width: 480px) {
  .legal-hero {
    padding-left: 16px;
    padding-right: 16px;
  }

  .legal-content {
    padding-left: 16px;
    padding-right: 16px;
  }

  .legal-headline {
    font-size: clamp(26px, 8vw, 36px);
  }
}
