*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

body{
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
  font-size:16px;
  line-height:1.7;
  color:#24302A;
  background-color:#F6F8F4;
  overflow-x:hidden;
}

a{
  color:#56775A;
  text-decoration:none;
}

a:hover{
  color:#46634B;
  text-decoration:underline;
}

/* ---------- Legal header ---------- */

.legal-header{
  background-color:#56775A;
  padding:48px 24px 40px;
}

.legal-header-inner{
  max-width:860px;
  margin:0 auto;
  padding:0 24px;
}

.legal-home{
  display:inline-block;
  color:#FFFFFF;
  font-weight:700;
  letter-spacing:0.14em;
  font-size:14px;
  text-transform:uppercase;
  margin-bottom:22px;
  border-bottom:2px solid #D8E4D8;
  padding-bottom:6px;
}

.legal-home:hover{
  color:#EDF2EC;
  text-decoration:none;
}

.legal-header h1{
  font-size:40px;
  line-height:1.12;
  color:#FFFFFF;
  letter-spacing:-0.015em;
}

.legal-updated{
  margin-top:12px;
  color:#D8E4D8;
  font-size:14px;
  font-weight:600;
  letter-spacing:0.04em;
}

/* ---------- Table of contents ---------- */

.toc{
  background-color:#EDF2EC;
  border-bottom:2px solid #C7D5C9;
  padding:28px 24px;
}

.toc-inner{
  max-width:860px;
  margin:0 auto;
  padding:0 24px;
}

.toc-inner strong{
  display:block;
  text-transform:uppercase;
  font-size:12px;
  letter-spacing:0.16em;
  color:#56775A;
  margin-bottom:14px;
}

.toc ol{
  list-style:none;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px 34px;
}

.toc li{
  padding:3px 0;
}

.toc a{
  color:#24302A;
  font-size:14px;
  font-weight:600;
}

.toc a::before{
  content:"";
  display:inline-block;
  width:9px;
  height:9px;
  margin-right:10px;
  background-color:#56775A;
  border-radius:2px;
}

.toc a:hover{
  color:#56775A;
  text-decoration:none;
}

/* ---------- Legal content ---------- */

.legal-content{
  max-width:860px;
  margin:0 auto;
  padding:0 24px;
  background-color:#FFFFFF;
  box-shadow:0 0 0 0 transparent;
}

.legal-page .legal-content section{
  background-color:transparent !important;
}

.legal-content section{
  padding:40px 0;
  border-bottom:1px solid #C7D5C9;
}

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

.legal-content h2{
  font-size:24px;
  line-height:1.3;
  color:#56775A;
  margin-bottom:16px;
  scroll-margin-top:24px;
}

.legal-content p{
  color:#24302A;
  font-size:16px;
  margin-bottom:16px;
}

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

/* ---------- Legal footer ---------- */

.legal-footer{
  max-width:860px;
  margin:0 auto;
  padding:36px 24px;
  border-top:2px solid #56775A;
}

.legal-footer p{
  font-size:14px;
  color:#24302A;
  margin-bottom:10px;
  line-height:1.6;
}

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

.legal-footer a{
  font-weight:700;
  color:#56775A;
}

.legal-footer a:hover{
  color:#46634B;
}

/* ---------- Responsive ---------- */

@media (max-width:640px){
  .legal-header h1{
    font-size:30px;
  }

  .toc ol{
    grid-template-columns:1fr;
  }

  .legal-content h2{
    font-size:21px;
  }
}
