.legal-hero-copy{
  max-width:var(--x-container-narrow);
  margin-top:var(--x-space-4);
}

.legal-hero-copy h1{
  margin-bottom:var(--x-space-3);
}

.legal-version{
  width:fit-content;
  max-width:100%;
  display:flex;
  flex-wrap:wrap;
  gap:var(--x-space-1);
  margin-top:var(--x-space-3);
  padding:var(--x-space-1) var(--x-space-2);
  border:1px solid var(--x-line);
  border-radius:var(--x-radius-xs);
  background:var(--x-surface-soft);
  color:var(--x-muted);
  font-family:var(--x-font-mono);
  font-size:var(--x-fs-1);
  font-variant-numeric:tabular-nums;
}

.legal-version span+span{
  padding-left:var(--x-space-1);
  border-left:1px solid var(--x-line);
}

.legal-section{
  background:var(--x-light);
}

.legal-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,3fr);
  gap:var(--x-space-4);
  align-items:start;
}

.legal-layout>*{
  min-width:0;
}

.legal-toc{
  position:sticky;
  top:calc(var(--x-nav-height) + var(--x-space-3));
}

.legal-toc-panel{
  padding:var(--x-space-3);
  border:1px solid var(--x-line);
  border-radius:var(--x-radius-md);
  background:var(--x-white);
}

.legal-toc-title{
  margin-bottom:var(--x-space-2);
  color:var(--x-ink);
  font-family:var(--x-font-heading);
  font-size:var(--x-fs-3);
  font-weight:750;
}

.legal-toc nav{
  display:grid;
  border-top:1px solid var(--x-line);
}

.legal-toc nav a{
  padding:var(--x-space-1) 0;
  border-bottom:1px solid var(--x-line);
  color:var(--x-muted);
  font-size:var(--x-fs-2);
  font-weight:750;
  line-height:1.45;
}

.legal-toc nav a:hover{
  color:var(--x-primary);
}

.legal-toc-note{
  margin:var(--x-space-2) 0 0;
  color:var(--x-muted);
  font-size:var(--x-fs-1);
  line-height:1.7;
}

.legal-content{
  display:grid;
  gap:var(--x-space-3);
  min-width:0;
}

.legal-card{
  min-width:0;
  padding:var(--x-space-4);
  border:1px solid var(--x-line);
  border-radius:var(--x-radius-md);
  background:var(--x-white);
}

.legal-card h2{
  margin-bottom:var(--x-space-3);
  font-size:clamp(1.8rem,3vw,2.5rem);
}

.legal-card h3{
  margin-top:var(--x-space-3);
  margin-bottom:var(--x-space-1);
}

.legal-card p{
  margin-bottom:var(--x-space-2);
}

.legal-card a:not(.c-btn){
  color:var(--x-primary);
  font-weight:750;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}

.legal-card .c-notice{
  margin-top:var(--x-space-3);
}

.legal-grid,
.legal-payment-grid,
.legal-retention-grid,
.legal-security-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--x-space-2);
  margin:var(--x-space-3) 0;
}

.legal-item,
.legal-payment-grid article,
.legal-retention-grid article,
.legal-security-grid article{
  min-width:0;
  padding:var(--x-space-3);
  border:1px solid var(--x-line);
  border-radius:var(--x-radius-sm);
  background:var(--x-surface-soft);
}

.legal-item h3,
.legal-payment-grid article h3,
.legal-retention-grid article h3,
.legal-security-grid article h3{
  margin-top:0;
}

.legal-item p:last-child,
.legal-payment-grid article p:last-child,
.legal-retention-grid article p:last-child,
.legal-security-grid article p:last-child{
  margin-bottom:0;
}

.legal-data-list{
  display:grid;
  margin:var(--x-space-3) 0;
  border-top:1px solid var(--x-line);
}

.legal-data-list div{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,2fr);
  gap:var(--x-space-3);
  padding:var(--x-space-3) 0;
  border-bottom:1px solid var(--x-line);
}

.legal-data-list dt{
  color:var(--x-ink);
  font-weight:750;
}

.legal-data-list dd{
  color:var(--x-muted);
  line-height:var(--x-lh-body);
}

.legal-purpose-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--x-space-2);
  margin:var(--x-space-3) 0;
}

.legal-purpose-grid article{
  min-width:0;
  padding:var(--x-space-3);
  border-top:1px solid var(--x-line);
}

.legal-purpose-icon{
  width:40px;
  height:40px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:var(--x-space-2);
  border:1px solid var(--x-line);
  border-radius:var(--x-radius-sm);
  background:var(--x-surface-soft);
  color:var(--x-primary);
}

.legal-purpose-icon svg{
  width:24px;
  height:24px;
}

.legal-purpose-grid h3{
  margin-top:0;
}

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

.legal-payment-grid .c-badge{
  width:fit-content;
  max-width:100%;
  margin-bottom:var(--x-space-2);
}

.legal-payment-grid .c-badge+h3{
  margin-top:0;
}

.legal-card .c-table-scroll{
  margin:var(--x-space-3) 0;
}

.legal-card .c-table td,
.legal-card .c-table th{
  overflow-wrap:anywhere;
}

.legal-sharing-list{
  display:grid;
  margin:var(--x-space-3) 0;
  border-top:1px solid var(--x-line);
}

.legal-sharing-list article{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,2fr);
  gap:var(--x-space-3);
  padding:var(--x-space-3) 0;
  border-bottom:1px solid var(--x-line);
}

.legal-sharing-list h3{
  margin:0;
}

.legal-sharing-list p{
  margin:0;
  color:var(--x-muted);
}

.legal-card .c-checklist{
  margin:var(--x-space-3) 0;
}

.legal-cta{
  min-width:0;
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);
  gap:var(--x-space-4);
  align-items:center;
  padding:var(--x-space-4);
  overflow:hidden;
  border:1px solid var(--x-line-dark);
  border-radius:var(--x-radius-lg);
  background:var(--x-dark);
  color:var(--x-surface);
}

.legal-cta h2{
  margin-bottom:var(--x-space-2);
  color:var(--x-white);
  font-size:clamp(1.8rem,3vw,2.5rem);
}

.legal-cta p:not(.x-eyebrow){
  margin-bottom:0;
  color:var(--x-surface);
}

.legal-cta .x-eyebrow{
  color:var(--x-green);
}

.legal-cta-actions{
  display:grid;
  gap:var(--x-space-2);
  min-width:0;
}

.legal-cta-actions .c-btn{
  width:100%;
  white-space:normal;
}

@media(max-width:960px){
  .legal-layout{
    grid-template-columns:1fr;
  }

  .legal-toc{
    position:static;
  }

  .legal-toc nav{
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:var(--x-space-3);
  }

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

@media(max-width:680px){
  .legal-version{
    display:grid;
  }

  .legal-version span+span{
    padding-top:var(--x-space-1);
    padding-left:0;
    border-top:1px solid var(--x-line);
    border-left:0;
  }

  .legal-card{
    padding:var(--x-space-3);
  }

  .legal-grid,
  .legal-payment-grid,
  .legal-retention-grid,
  .legal-security-grid,
  .legal-purpose-grid{
    grid-template-columns:1fr;
  }

  .legal-data-list div,
  .legal-sharing-list article{
    grid-template-columns:1fr;
    gap:var(--x-space-1);
  }

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

  .legal-cta{
    padding:var(--x-space-3);
  }
}

@media(max-width:390px){
  .legal-card{
    padding:var(--x-space-2);
  }

  .legal-item,
  .legal-payment-grid article,
  .legal-retention-grid article,
  .legal-security-grid article,
  .legal-purpose-grid article{
    padding:var(--x-space-2);
  }

  .legal-cta{
    padding:var(--x-space-2);
  }
}
