.legal{
  padding: 18px 0 54px;
}

/* Hero */
.legal-hero{
  position: relative;
  border-bottom: 1px solid rgba(255,255,255,.07);
  background: rgba(7,10,18,.42);
  backdrop-filter: blur(14px);
}

.legal-hero__inner{
  padding: 26px 0 20px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap: 18px;
  flex-wrap: wrap;
}

.legal-title{
  margin:0;
  font-size: clamp(26px, 2.2vw, 38px);
  letter-spacing: -0.6px;
}

.legal-sub{
  margin: 10px 0 0;
  max-width: 80ch;
  line-height: 1.5;
}

.legal-meta{
  display:grid;
  gap: 6px;
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
}

.legal-link{
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Layout */
.legal-wrap{
  display:grid;
  grid-template-columns: 320px 1fr;
  gap: 18px;
  padding-top: 18px;
}

.legal-card{
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  box-shadow: 0 18px 60px rgba(0,0,0,.35);
  padding: 14px;
}

.legal-card__title{
  font-weight: 900;
  letter-spacing: .3px;
  margin-bottom: 10px;
}

.toc{
  display:grid;
  gap: 8px;
}

.toc a{
  display:flex;
  align-items:center;
  padding: 10px 10px;
  border-radius: 14px;
  color: rgba(255,255,255,.78);
  border: 1px solid transparent;
  background: rgba(255,255,255,.00);
}

.toc a:hover{
  color: rgba(255,255,255,.92);
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.10);
}

.legal-content{
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(0,0,0,.18);
  box-shadow: 0 22px 70px rgba(0,0,0,.35);
  padding: 18px 18px;
}

.legal-section{
  padding: 14px 8px;
}

.legal-section + .legal-section{
  border-top: 1px solid rgba(255,255,255,.06);
}

.legal-section h2{
  margin: 0 0 10px;
  font-size: 18px;
  letter-spacing: .2px;
}

.legal-section h3{
  margin: 14px 0 8px;
  font-size: 14px;
  color: rgba(255,255,255,.90);
}

.legal-section p, .legal-section li{
  color: rgba(255,255,255,.74);
  line-height: 1.6;
  font-size: 13.5px;
}

.legal-section ul, .legal-section ol{
  margin: 10px 0 0 18px;
}

.legal-callout{
  margin-top: 10px;
  padding: 12px 12px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.05);
  color: rgba(255,255,255,.82);
}

.legal-note{
  margin-top: 10px;
  padding: 10px 12px;
  border-radius: 16px;
  border: 1px solid rgba(109,92,255,.18);
  background: rgba(109,92,255,.06);
  color: rgba(255,255,255,.76);
}

.legal-callout a{
  margin: 16px 0 10px;
  font-size: 16px;
  color: rgba(211, 211, 211, 0.9);
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-thickness: 1px;
}

/* Responsive */
@media (max-width: 1080px){
  .legal-wrap{
    grid-template-columns: 1fr;
  }
  .legal-toc{
    order: 1;
  }
  .legal-content{
    order: 2;
  }
}

@media (max-width: 720px){
  .legal-hero__inner{
    padding: 20px 0 16px;
  }
  .legal-content{
    padding: 14px 12px;
  }
}
