.terms-hero{
  padding-block:var(--space-5);
  background:var(--color-primary-pale);
  color:var(--color-ink);
}

.terms-hero__inner{
  display:grid;
  gap:var(--space-4);
}

.terms-hero__intro{
  display:grid;
  gap:.5rem;
}

.terms-hero__intro h1{
  max-width:44rem;
  margin:0;
}

.terms-hero__intro .page-hero__lead{
  max-width:43rem;
  margin:0;
  color:var(--color-muted);
}

.terms-hero__date{
  width:fit-content;
  max-width:100%;
  align-self:flex-start;
  margin-top:var(--space-2);
  font-family:var(--font-mono);
  font-variant-numeric:tabular-nums;
}

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

.terms-index{
  min-width:0;
}

.terms-index__panel{
  position:sticky;
  top:7rem;
  display:grid;
  gap:var(--space-2);
  padding:var(--space-3);
  border-radius:var(--radius-md);
  background:var(--color-primary-soft);
  color:var(--color-ink);
}

.terms-index__panel h2{
  margin:0;
  font-size:var(--text-xl);
}

.terms-index__panel ol{
  display:grid;
  gap:.5rem;
  margin:0;
  padding-left:1.25rem;
  color:var(--color-primary-dark);
}

.terms-index__panel li{
  padding-left:.25rem;
}

.terms-index__panel a:not(.c-btn){
  color:var(--color-primary-dark);
  text-decoration:underline;
  text-decoration-color:var(--color-primary);
  text-underline-offset:.22em;
}

.terms-index__panel p{
  margin:0;
  color:var(--color-muted);
  font-size:var(--text-sm);
}

.terms-index__action{
  width:100%;
  overflow-wrap:anywhere;
}

.terms-document{
  min-width:0;
  border-radius:var(--radius-lg);
  background:var(--color-surface);
  color:var(--color-ink);
  box-shadow:var(--shadow-card);
}

.terms-section{
  display:grid;
  gap:.5rem;
  padding:var(--space-4);
  scroll-margin-top:7rem;
}

.terms-section + .terms-section{
  border-top:1px solid var(--color-line);
}

.terms-section__number{
  width:fit-content;
  max-width:100%;
  align-self:flex-start;
  color:var(--color-primary);
  font-family:var(--font-mono);
  font-size:var(--text-sm);
  font-weight:800;
  font-variant-numeric:tabular-nums;
}

.terms-section h2{
  margin:0;
  font-size:clamp(1.65rem,3vw,2.35rem);
}

.terms-section p{
  margin:0;
  color:var(--color-muted);
  line-height:1.72;
}

.terms-section strong{
  color:var(--color-ink);
}

.terms-section .c-notice{
  margin-top:var(--space-2);
}

.terms-specs{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--space-2);
  margin:var(--space-2) 0;
}

.terms-specs > div{
  display:grid;
  gap:.5rem;
  padding:var(--space-3);
  border-radius:var(--radius-md);
  background:var(--color-paper);
  color:var(--color-ink);
}

.terms-specs dt{
  font-weight:800;
}

.terms-specs dd{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  margin:0;
  color:var(--color-muted);
  font-family:var(--font-mono);
  font-size:var(--text-sm);
  font-variant-numeric:tabular-nums;
}

.terms-specs dd span{
  padding:.2rem .5rem;
  border-radius:var(--radius-sm);
  background:var(--color-surface);
  color:var(--color-ink);
}

.terms-rules{
  display:grid;
  gap:.75rem;
  margin:var(--space-2) 0;
  padding-left:1.3rem;
  color:var(--color-muted);
}

.terms-meter{
  display:grid;
  grid-template-columns:minmax(0,auto) minmax(0,1fr);
  align-items:center;
  gap:var(--space-3);
  margin:var(--space-2) 0;
  padding:var(--space-3);
  border-radius:var(--radius-md);
  background:var(--color-dark);
  color:var(--color-surface);
}

.terms-meter > div{
  display:grid;
  gap:.5rem;
}

.terms-meter span{
  color:var(--color-surface);
  font-size:var(--text-sm);
  font-weight:700;
}

.terms-meter strong{
  color:var(--color-surface);
  font-family:var(--font-mono);
  font-size:clamp(2.5rem,6vw,4.5rem);
  line-height:1;
  font-variant-numeric:tabular-nums;
}

.terms-meter p{
  margin:0;
  color:#c8c0cc;
}

.terms-contact{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(13rem,auto);
  gap:var(--space-4);
  align-items:center;
  padding:var(--space-4);
  border-radius:0 0 var(--radius-lg) var(--radius-lg);
  background:var(--color-primary-soft);
  color:var(--color-ink);
}

.terms-contact > div{
  min-width:0;
}

.terms-contact h2{
  margin:0 0 .5rem;
  font-size:var(--text-xl);
}

.terms-contact p{
  margin:0;
  color:var(--color-muted);
}

.terms-contact__methods{
  display:grid;
  gap:.5rem;
  justify-items:start;
}

.terms-contact__methods a{
  max-width:100%;
  color:var(--color-primary-dark);
  font-weight:750;
  overflow-wrap:anywhere;
  text-decoration:underline;
  text-decoration-color:var(--color-primary);
  text-underline-offset:.22em;
}

.terms-end{
  padding-block:var(--space-5);
  background:var(--color-paper);
  color:var(--color-ink);
}

.terms-end__actions{
  display:grid;
  gap:.75rem;
  min-width:min(100%,17rem);
}

.terms-end__actions .c-btn{
  width:100%;
}

.terms-end__secondary{
  border-color:var(--color-surface);
  color:var(--color-surface);
}

.terms-end__secondary:hover{
  background:var(--color-surface);
  border-color:var(--color-surface);
  color:var(--color-primary-dark);
}

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

  .terms-index__panel{
    position:static;
  }

  .terms-index__panel ol{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .terms-contact{
    grid-template-columns:1fr;
  }
}

@media (max-width:640px){
  .terms-hero{
    padding-block:var(--space-4);
  }

  .terms-hero__inner{
    gap:var(--space-3);
  }

  .terms-section{
    padding:var(--space-3);
  }

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

  .terms-specs{
    grid-template-columns:1fr;
  }

  .terms-meter{
    grid-template-columns:1fr;
  }

  .terms-contact{
    padding:var(--space-3);
  }

  .terms-end__actions{
    width:100%;
    min-width:0;
  }
}
