.legal-page .legal-main {
  width: min(1380px, calc(100% - 80px));
  min-height: 100svh;
  margin: 0 auto;
  padding: 154px clamp(350px, 29vw, 420px) 40px 28px;
}

.legal-header {
  max-width: 760px;
  margin-bottom: 46px;
}

.legal-header h1 {
  max-width: 760px;
  margin: 15px 0 18px;
  color: #102326;
  font-size: clamp(3rem, 7vw, 6.4rem);
  line-height: 0.92;
  letter-spacing: -0.075em;
}

.legal-updated {
  display: inline-flex;
  margin: 0 0 24px;
  padding: 8px 12px;
  border: 1px solid rgba(16, 35, 38, 0.1);
  border-radius: 999px;
  color: #587074;
  font-size: 0.78rem;
  font-weight: 800;
  background: rgba(255, 255, 255, 0.66);
}

.legal-intro {
  max-width: 710px;
  margin: 0;
  color: #4f6366;
  font-size: clamp(1.06rem, 1.5vw, 1.22rem);
  line-height: 1.72;
}

.legal-document {
  overflow: hidden;
  border: 1px solid rgba(16, 35, 38, 0.09);
  border-radius: 30px;
  background: rgba(255, 255, 255, 0.78);
  box-shadow: 0 28px 74px rgba(20, 55, 60, 0.08);
  backdrop-filter: blur(18px) saturate(1.1);
}

.legal-section {
  display: grid;
  grid-template-columns: minmax(150px, 0.34fr) minmax(0, 1fr);
  gap: clamp(24px, 4vw, 54px);
  padding: clamp(28px, 4vw, 48px);
}

.legal-section + .legal-section {
  border-top: 1px solid rgba(16, 35, 38, 0.09);
}

.legal-section h2 {
  margin: 0;
  color: #102326;
  font-size: clamp(1.12rem, 1.8vw, 1.48rem);
  line-height: 1.18;
  letter-spacing: -0.035em;
}

.legal-section-copy {
  min-width: 0;
}

.legal-section :is(p, li) {
  color: #4d6164;
  font-size: 1rem;
  line-height: 1.72;
}

.legal-section p {
  margin: 0;
}

.legal-section p + p,
.legal-section ul + p,
.legal-section p + ul {
  margin-top: 16px;
}

.legal-section ul {
  margin: 0;
  padding-left: 1.2rem;
}

.legal-section li + li {
  margin-top: 8px;
}

.legal-section a,
.form-privacy a,
.legal-site-footer a {
  color: #0f7784;
  text-decoration: underline;
  text-decoration-color: rgba(15, 119, 132, 0.28);
  text-underline-offset: 0.2em;
  transition: color 160ms ease, text-decoration-color 160ms ease;
}

.legal-section a:hover,
.legal-section a:focus-visible,
.form-privacy a:hover,
.form-privacy a:focus-visible,
.legal-site-footer a:hover,
.legal-site-footer a:focus-visible {
  color: #085864;
  text-decoration-color: currentColor;
}

.form-privacy {
  margin: 0;
  color: #718184;
  font-size: 0.78rem;
  line-height: 1.55;
}

.legal-site-footer {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  width: min(1324px, calc(100% - 80px));
  text-align: left;
}

.footer-identity,
.footer-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 18px;
}

.footer-identity span + span {
  position: relative;
}

.footer-identity span + span::before {
  position: absolute;
  top: 50%;
  left: -10px;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  content: "";
  background: currentColor;
  transform: translateY(-50%);
  opacity: 0.55;
}

.footer-links a[aria-current="page"] {
  color: #102326;
}

@media (max-width: 1120px) and (min-width: 901px) {
  .legal-page .legal-main {
    padding-right: 320px;
  }

  .legal-section {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .legal-page .legal-main {
    width: min(100% - 32px, 720px);
    padding: 124px 0 44px;
  }

  .legal-header h1 {
    font-size: clamp(3rem, 15vw, 5.4rem);
  }

  .legal-section {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .legal-site-footer {
    width: min(100% - 32px, 720px);
  }
}

@media (max-width: 620px) {
  .legal-document {
    border-radius: 22px;
  }

  .legal-section {
    padding: 25px 22px;
  }

  .legal-site-footer {
    flex-direction: column;
    margin-top: 46px;
  }
}
