/* =========================================================
   WEB BY DON — LEGAL PAGES
   ========================================================= */

.legal-page {
  margin: 0;
  background: #f4f7fd;
  color: #071a38;
}


.legal-main {
  padding-top: 82px;
}


.legal-hero {
  position: relative;
  overflow: hidden;

  min-height: 250px;

  padding:
    70px 24px
    92px;

  background:
    linear-gradient(
      rgba(255,255,255,.018) 1px,
      transparent 1px
    ),
    linear-gradient(
      90deg,
      rgba(255,255,255,.018) 1px,
      transparent 1px
    ),
    radial-gradient(
      circle at 82% 32%,
      rgba(42,126,255,.24),
      transparent 34%
    ),
    #031127;

  background-size:
    72px 72px,
    72px 72px,
    auto,
    auto;

  color: #fff;
}


.legal-hero::after {
  content: "";

  position: absolute;
  inset: auto -12% -55% auto;

  width: 520px;
  height: 520px;

  border:
    1px solid rgba(84,157,255,.12);

  border-radius: 50%;

  box-shadow:
    0 0 90px rgba(42,126,255,.08);

  pointer-events: none;
}


.legal-hero-inner {
  position: relative;
  z-index: 2;

  width:
    min(920px, 100%);

  margin: auto;
}


.legal-eyebrow {
  margin:
    0 0 18px;

  color:
    #75b7ff;

  font-size:
    11px;

  font-weight:
    800;

  letter-spacing:
    .14em;

  text-transform:
    uppercase;
}


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

  margin:
    0 0 22px;

  color:
    #fff;

  font-size:
    clamp(52px, 7vw, 82px);

  line-height:
    .94;

  letter-spacing:
    -.055em;
}


.legal-hero-lead {
  max-width:
    700px;

  margin: 0;

  color:
    rgba(255,255,255,.70);

  font-size:
    17px;

  line-height:
    1.7;
}


.legal-content-wrap {
  position: relative;
  z-index: 4;

  width:
    min(920px, calc(100% - 32px));

  margin:
    -62px auto
    90px;
}


.legal-copy {
  overflow: hidden;

  padding:
    clamp(30px, 5vw, 62px);

  border:
    1px solid rgba(7,26,56,.08);

  border-radius:
    28px;

  background:
    #fff;

  box-shadow:
    0 28px 80px rgba(7,26,56,.11),
    0 4px 18px rgba(7,26,56,.04);
}


.legal-updated {
  margin:
    0 0 34px;

  padding-bottom:
    24px;

  border-bottom:
    1px solid rgba(7,26,56,.08);

  color:
    #718096;

  font-size:
    12px;

  font-weight:
    700;

  letter-spacing:
    .035em;
}


.legal-section {
  padding:
    28px 0;

  border-bottom:
    1px solid rgba(7,26,56,.07);
}


.legal-section:first-of-type {
  padding-top: 0;
}


.legal-section:last-of-type {
  padding-bottom: 0;

  border-bottom: 0;
}


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

  color:
    #071a38;

  font-size:
    clamp(22px, 3vw, 29px);

  line-height:
    1.16;

  letter-spacing:
    -.025em;
}


.legal-section p {
  max-width:
    78ch;

  margin: 0;

  color:
    #52627a;

  font-size:
    15px;

  line-height:
    1.8;
}


.legal-contact-link {
  color:
    #196ef2;

  font-weight:
    750;

  text-decoration:
    none;
}


.legal-contact-link:hover {
  text-decoration:
    underline;
}


.legal-return {
  margin-top:
    34px;

  display:
    inline-flex;

  align-items:
    center;

  gap:
    9px;

  color:
    #185eb7;

  font-size:
    13px;

  font-weight:
    750;

  text-decoration:
    none;
}


.legal-return:hover {
  color:
    #0c3f84;
}


/* Footer legal row used site-wide */

.footer-note {
  display:
    flex;

  align-items:
    center;

  justify-content:
    space-between;

  gap:
    18px;
}


.footer-legal {
  display:
    flex;

  align-items:
    center;

  justify-content:
    flex-end;

  flex-wrap:
    wrap;

  gap:
    14px;
}


.footer-legal a {
  color:
    rgba(255,255,255,.32);

  font-size:
    9px;

  font-weight:
    700;

  letter-spacing:
    .06em;

  text-decoration:
    none;

  text-transform:
    uppercase;

  transition:
    color .2s ease;
}


.footer-legal a:hover {
  color:
    rgba(255,255,255,.82);
}


@media (max-width: 760px) {

  .legal-main {
    padding-top:
      74px;
  }


  .legal-hero {
    min-height:
      220px;

    padding:
      58px 18px
      78px;
  }


  .legal-hero h1 {
    font-size:
      clamp(44px, 13vw, 62px);
  }


  .legal-hero-lead {
    font-size:
      15px;
  }


  .legal-content-wrap {
    width:
      calc(100% - 24px);

    margin:
      -48px auto
      68px;
  }


  .legal-copy {
    padding:
      28px 22px;

    border-radius:
      22px;
  }


  .legal-section {
    padding:
      24px 0;
  }


  .footer-note {
    align-items:
      flex-start;

    flex-direction:
      column;
  }


  .footer-legal {
    justify-content:
      flex-start;
  }

}


[dir="rtl"] .legal-copy,
[dir="rtl"] .legal-hero-inner {
  text-align:
    right;
}


[dir="rtl"] .legal-return {
  direction:
    rtl;
}
