/* =====================================================
   LEGAL PAGES
===================================================== */

.legal-page {
  background: #F4F5E8;
  color: #040315;
}

.legal-hero {
  padding:
    120px var(--page-padding) 70px;

  border-bottom:
    1px solid rgba(4, 3, 21, 0.12);
}

.legal-kicker {
  margin: 0 0 20px;

  color: #7d8200;

  font-size: 12px;
  font-weight: 800;

  letter-spacing: 0.18em;

  text-transform: uppercase;
}

.legal-hero h1 {
  max-width: 900px;

  margin: 0 0 24px;

  font-size:
    clamp(48px, 7vw, 92px);

  line-height: 0.95;

  letter-spacing: -0.055em;
}

.legal-hero p {
  max-width: 720px;

  margin: 0;

  color:
    rgba(4, 3, 21, 0.62);

  font-size: 16px;

  line-height: 1.75;
}

.legal-layout {
  display: grid;

  grid-template-columns:
    240px minmax(0, 1fr);

  gap: 70px;

  padding:
    70px var(--page-padding) 110px;
}

.legal-sidebar {
  position: sticky;

  top: 110px;

  align-self: start;
}

.legal-sidebar h3 {
  margin: 0 0 18px;

  font-size: 11px;

  letter-spacing: 0.16em;

  text-transform: uppercase;

  color:
    rgba(4, 3, 21, 0.48);
}

.legal-sidebar a {
  display: block;

  padding: 9px 0;

  color:
    rgba(4, 3, 21, 0.64);

  font-size: 13px;
}

.legal-sidebar a:hover {
  color: #7d8200;
}

.legal-content {
  max-width: 860px;
}

.legal-section {
  padding:
    0 0 44px;

  margin-bottom: 44px;

  border-bottom:
    1px solid rgba(4, 3, 21, 0.12);
}

.legal-section:last-child {
  border-bottom: none;
}

.legal-section h2 {
  margin:
    0 0 18px;

  font-size:
    clamp(28px, 3vw, 42px);

  line-height: 1.05;

  letter-spacing: -0.035em;
}

.legal-section p,
.legal-section li {
  color:
    rgba(4, 3, 21, 0.66);

  font-size: 15px;

  line-height: 1.8;
}

.legal-section ul {
  margin:
    14px 0 0;

  padding-left: 20px;
}

.legal-contact-card {
  margin-top: 28px;

  padding: 28px;

  border:
    1px solid rgba(4, 3, 21, 0.14);

  border-radius: 14px;

  background:
    rgba(255, 255, 255, 0.28);
}

.legal-contact-card strong {
  display: block;

  margin-bottom: 10px;

  color: #040315;

  font-size: 18px;
}

.legal-contact-card a {
  color: #7d8200;

  font-weight: 700;
}

@media (max-width: 900px) {

  .legal-hero {
    padding:
      100px var(--page-padding) 60px;
  }

  .legal-layout {
    grid-template-columns: 1fr;

    gap: 36px;

    padding:
      55px var(--page-padding) 90px;
  }

  .legal-sidebar {
    position: static;

    display: flex;

    flex-wrap: wrap;

    gap: 10px 18px;
  }

  .legal-sidebar h3 {
    width: 100%;
  }

  .legal-sidebar a {
    padding: 0;
  }
}

@media (max-width: 600px) {

  .legal-hero {
    padding:
      90px 18px 50px;
  }

  .legal-hero h1 {
    font-size: 48px;
  }

  .legal-hero p {
    font-size: 14px;
  }

  .legal-layout {
    padding:
      45px 18px 75px;
  }

  .legal-sidebar {
    gap:
      10px 14px;
  }

  .legal-sidebar a {
    font-size: 12px;
  }

  .legal-section {
    padding-bottom: 34px;

    margin-bottom: 34px;
  }

  .legal-section h2 {
    font-size: 30px;
  }

  .legal-section p,
  .legal-section li {
    font-size: 14px;
  }
}
