.legal-hero{
  padding-block:var(--space-5);
  background:#E6F0FF;
  color:#173A66;
  --legal-hero-muted:#3F5D85;
  --legal-hero-line:color-mix(in srgb,ink 16%,transparent);
}
.legal-hero__kicker{
  display:inline-flex;
  align-items:center;
  gap:.4em;
  width:fit-content;
  padding:.4em .9em;
  border-radius:var(--radius-pill);
  background:#173A66;
  color:#FFFFFF;
  font-size:var(--text-xs);
  font-weight:600;
  line-height:1;
  letter-spacing:.04em;
}
.legal-hero__kicker::before{
  content:"";
  width:6px;
  height:6px;
  flex:none;
  border-radius:2px;
  background:#F5A800;
}
.legal-hero__title{
  margin-top:var(--space-2);
  color:#173A66;
  font-size:var(--text-display);
  line-height:1.2;
}
.legal-hero__lead{
  max-width:46rem;
  margin-top:var(--space-2);
  color:#173A66;
  overflow-wrap:break-word;
}
.legal-hero__meta{
  display:flex;
  flex-wrap:wrap;
  gap:var(--space-1);
  margin-top:var(--space-3);
}
.legal-meta-pill{
  display:inline-flex;
  align-items:center;
  gap:.4em;
  width:fit-content;
  padding:.4em .9em;
  border-radius:var(--radius-pill);
  background:#FFFFFF;
  color:#173A66;
  font-size:var(--text-sm);
  line-height:1;
  font-variant-numeric:tabular-nums;
}

.legal-layout{
  display:grid;
  grid-template-columns:minmax(14rem,17rem) minmax(0,1fr);
  gap:var(--space-6);
  align-items:start;
  padding-block:var(--space-6);
}
.legal-toc{
  position:sticky;
  top:calc(64px + var(--space-3));
  z-index:1;
  min-width:0;
  max-height:calc(100vh - 64px - var(--space-5));
  overflow-y:auto;
  padding:var(--space-3);
  border-radius:var(--radius);
  background:#F6F5F2;
  color:#1B1A18;
  box-shadow:var(--shadow);
}
.legal-toc__heading{
  margin-bottom:var(--space-2);
  color:#56534D;
  font-size:var(--text-xs);
  font-weight:600;
  letter-spacing:.06em;
}
.legal-index{
  display:grid;
  gap:var(--space-1);
  margin:0;
  padding:0;
  list-style:none;
}
.legal-index a{
  display:block;
  padding:.45em .65em;
  border-radius:var(--radius-sm);
  color:#45423C;
  font-size:var(--text-sm);
  line-height:1.5;
  overflow-wrap:break-word;
}
.legal-index a:hover{
  background:#FFFFFF;
  color:#1B1A18;
}
.legal-index a.is-active{
  background:#E6F0FF;
  color:#173A66;
  font-weight:600;
}
.legal-toc__cta{
  display:inline-flex;
  width:auto;
  margin-top:var(--space-3);
}

.legal-doc{
  min-width:0;
  max-width:72ch;
}
.legal-section{
  scroll-margin-top:calc(64px + var(--space-4));
}
.legal-section + .legal-section{
  margin-top:var(--space-6);
}
.legal-section h2{
  margin-bottom:var(--space-3);
  color:#1B1A18;
  font-size:var(--text-lg);
  line-height:1.35;
}
.legal-section p{
  color:#45423C;
  line-height:1.75;
  overflow-wrap:break-word;
}
.legal-section p + p{
  margin-top:var(--space-2);
}
.legal-section a:not(.c-btn){
  color:#7A4F00;
  text-decoration:underline;
  text-underline-offset:.2em;
}
.legal-section a[href^="mailto:"]{
  overflow-wrap:anywhere;
}

.legal-closing-section{
  padding-bottom:var(--space-6);
}
.legal-closing{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(13rem,auto);
  align-items:center;
  gap:var(--space-5);
  padding:var(--space-5);
  border-radius:var(--radius-lg);
  background:#1B1A18;
  color:#FFFFFF;
  --legal-closing-muted:#C8C2B8;
  --legal-closing-line:color-mix(in srgb,#FFFFFF 16%,transparent);
}
.legal-closing__copy{
  min-width:0;
}
.legal-closing__eyebrow{
  margin-bottom:var(--space-2);
  color:#C8C2B8;
  font-size:var(--text-sm);
  font-weight:600;
}
.legal-closing h2{
  color:#FFFFFF;
  font-size:var(--text-section);
  line-height:1.25;
}
.legal-closing__copy > p:last-child{
  margin-top:var(--space-2);
  color:#C8C2B8;
}
.legal-closing__actions{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:var(--space-2);
  min-width:0;
}
.legal-closing .c-btn--secondary{
  border-color:color-mix(in srgb,#FFFFFF 45%,transparent);
  background:#1B1A18;
  color:#FFFFFF;
  box-shadow:none;
}
.legal-closing .c-btn--secondary:hover{
  border-color:#FFFFFF;
  background:#262421;
  color:#FFFFFF;
}

@media (max-width:64rem){
  .legal-layout{
    grid-template-columns:minmax(0,1fr);
    gap:var(--space-4);
  }
  .legal-toc{
    position:static;
    max-height:none;
  }
  .legal-index{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:42rem){
  .legal-hero{
    padding-block:var(--space-4);
  }
  .legal-layout{
    padding-block:var(--space-4);
  }
  .legal-index{
    grid-template-columns:minmax(0,1fr);
  }
  .legal-closing{
    grid-template-columns:minmax(0,1fr);
    padding:var(--space-3);
  }
  .legal-closing__actions{
    width:100%;
  }
}
