/* =========================
   LEGAL PAGE
========================= */

.legal-page {
  padding-top: 108px;

  background: #ffffff;
}

.legal-container {
  width: min(1050px, calc(100% - 40px));

  margin: 0 auto;
}


/* =========================
   PAGE HERO
========================= */

.legal-hero {
  padding: 90px 0 75px;

  background: #f7f7f7;

  border-bottom: 1px solid #eeeeee;
}

.legal-en {
  margin: 0 0 12px;

  color: var(--solid-red);

  font-size: 13px;
  font-weight: 700;

  letter-spacing: 0.22em;
}

.legal-hero h1 {
  margin: 0;

  font-size: clamp(34px, 4vw, 52px);

  line-height: 1.35;

  font-weight: 700;
}


/* =========================
   CONTENT
========================= */

.legal-content-section {
  padding: 85px 0 110px;

  background: #ffffff;
}

.legal-content {
  max-width: 920px;

  margin: 0 auto;
}

.legal-intro {
  margin: 0 0 60px;

  padding: 28px 30px;

  background: #f7f7f7;

  border-left: 4px solid var(--solid-red);

  color: #333333;

  font-size: 15px;

  line-height: 2;
}


/* =========================
   BLOCK
========================= */

.legal-block {
  margin-bottom: 58px;
}

.legal-block:last-of-type {
  margin-bottom: 40px;
}

.legal-block h2 {
  margin: 0 0 22px;

  padding-bottom: 12px;

  border-bottom: 1px solid #dddddd;

  font-size: 23px;

  line-height: 1.5;
}

.legal-block h2::before {
  content: "";

  display: inline-block;

  width: 4px;
  height: 22px;

  margin-right: 12px;

  background: var(--solid-red);

  vertical-align: -3px;
}

.legal-block h3 {
  margin: 30px 0 12px;

  font-size: 16px;

  line-height: 1.6;
}

.legal-block p {
  margin: 0 0 18px;

  color: #444444;

  font-size: 15px;

  line-height: 2;
}

.legal-block ul {
  margin: 15px 0 22px;

  padding-left: 24px;
}

.legal-block li {
  margin-bottom: 10px;

  color: #444444;

  line-height: 1.9;
}


/* =========================
   COMPANY NAME
========================= */

.legal-company-name {
  margin: 60px 0 0;

  padding-top: 25px;

  border-top: 1px solid #dddddd;

  text-align: right;

  font-size: 15px;

  font-weight: 700;
}


/* =========================
   CONTACT LINK
========================= */

.legal-contact-link {
  display: inline-flex;

  align-items: center;

  gap: 14px;

  margin-top: 10px;

  padding: 13px 20px;

  border: 1px solid var(--solid-red);

  color: var(--solid-red);

  font-size: 14px;

  font-weight: 700;

  transition:
    background 0.2s ease,
    color 0.2s ease;
}

.legal-contact-link:hover {
  background: var(--solid-red);

  color: #ffffff;
}


/* =========================
   ANTISOCIAL
========================= */

.antisocial-content {
  max-width: 900px;
}

.policy-list {
  margin: 0;

  padding: 0;

  list-style: none;

  counter-reset: policy;
}

.policy-list li {
  position: relative;

  margin-bottom: 20px;

  padding: 24px 28px 24px 78px;

  background: #f7f7f7;

  border-left: 3px solid var(--solid-red);

  color: #333333;

  font-size: 15px;

  line-height: 1.9;

  counter-increment: policy;
}

.policy-list li::before {
  content: counter(policy);

  position: absolute;

  left: 26px;
  top: 22px;

  color: var(--solid-red);

  font-size: 22px;

  font-weight: 700;
}


/* =========================
   RESPONSIVE
========================= */

@media (max-width: 768px) {

  .legal-page {
    padding-top: 76px;
  }

  .legal-hero {
    padding: 65px 0 55px;
  }

  .legal-content-section {
    padding: 65px 0 80px;
  }

  .legal-intro {
    margin-bottom: 45px;

    padding: 22px 20px;
  }

  .legal-block {
    margin-bottom: 45px;
  }

  .legal-block h2 {
    font-size: 20px;
  }

  .policy-list li {
    padding:
      22px
      20px
      22px
      62px;
  }

  .policy-list li::before {
    left: 20px;
  }

}