.legal-page [hidden]{display:none!important}

.legal-hero{
  padding-block:var(--space-6) var(--space-5);
  background:#F0EAF7;
  color:#30283A;
}

.legal-hero__kicker{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  width:fit-content;
  margin:0 0 var(--space-2);
  padding:.55rem .9rem;
  border-radius:var(--radius-pill);
  background:#FFFFFF;
  color:#30283A;
  font-size:var(--text-xs);
  font-weight:800;
  line-height:1.2;
  letter-spacing:.07em;
}

.legal-hero__kicker::before{
  width:.45rem;
  height:.45rem;
  border-radius:50%;
  background:#00617D;
  content:"";
}

.legal-hero__title{
  max-width:18ch;
  color:#30283A;
  font-size:clamp(2.35rem,4.5vw,3.4rem);
  line-height:1.18;
}

.legal-hero__lead{
  max-width:48rem;
  margin-top:var(--space-2);
  color:#5D5267;
  font-size:var(--text-md);
}

.legal-hero__meta{
  display:flex;
  flex-wrap:wrap;
  gap:var(--space-2);
  margin-top:var(--space-3);
}

.legal-hero__meta .pill{
  display:inline-flex;
  align-items:center;
  gap:.4em;
  width:fit-content;
  padding:.4em .9em;
  border-radius:var(--radius-pill);
  background:#FFFFFF;
  color:#30283A;
  font-size:var(--text-sm);
  font-weight:750;
  line-height:1;
}

.legal-layout{
  display:grid;
  grid-template-columns:minmax(14rem,17rem) minmax(0,1fr);
  align-items:start;
  gap:var(--space-6);
  padding-block:var(--space-6);
}

.legal-toc{
  position:sticky;
  top:calc(5.5rem + var(--space-2));
  z-index:1;
  min-width:0;
  padding:var(--space-3);
  border-radius:var(--radius-md);
  background:#E7EEF5;
  color:#1D303D;
}

.legal-toc__title{
  margin:0 0 var(--space-2);
  color:#1D303D;
  font-family:var(--font-heading);
  font-size:var(--text-sm);
  font-weight:800;
  letter-spacing:.04em;
}

.legal-index{
  display:grid;
  gap:var(--space-1);
  margin:0;
  padding:0;
  list-style:none;
}

.legal-index li{
  min-width:0;
}

.legal-layout .legal-toc ol a,
.legal-index a{
  display:block;
  grid-template-columns:none;
  min-width:0;
  padding:.45em .65em;
  border-radius:var(--radius-sm);
  color:#526875;
  font-size:var(--text-sm);
  line-height:1.45;
  overflow-wrap:break-word;
  transition:background var(--transition),color var(--transition);
}

.legal-index a:hover{
  background:#FFFFFF;
  color:#1D303D;
}

.legal-index a.is-active{
  background:#FFFFFF;
  color:#00536B;
  font-weight:800;
}

.legal-toc__cta{
  display:inline-flex;
  width:auto;
  margin-top:var(--space-3);
  color:#1D303D;
  justify-self:start;
}

.legal-doc{
  min-width:0;
  max-width:72ch;
  color:#172126;
}

.legal-section{
  min-width:0;
  scroll-margin-top:9rem;
}

.legal-section + .legal-section{
  margin-top:var(--space-5);
  padding-top:var(--space-5);
  border-top:1px solid var(--line-paper);
}

.legal-section h2{
  margin-bottom:var(--space-3);
  color:#172126;
  font-size:var(--text-lg);
  line-height:1.3;
}

.legal-section p{
  color:#354147;
  font-size:var(--text-base);
  line-height:1.75;
}

.legal-section p + p{
  margin-top:var(--space-2);
}

.legal-section a:not(.c-btn){
  color:#00536B;
  font-weight:750;
  overflow-wrap:anywhere;
  text-decoration:underline;
  text-decoration-thickness:.08em;
  text-underline-offset:.2em;
}

.legal-closing{
  padding-top:0;
  padding-bottom:clamp(3rem,6vw,5.5rem);
}

.legal-closing .c-cta{
  padding:var(--space-4);
  background:#172126;
  color:#FFFFFF;
}

.legal-closing__copy{
  min-width:0;
}

.legal-closing__copy h2{
  color:#FFFFFF;
  font-size:clamp(1.75rem,3vw,2.35rem);
  line-height:1.2;
}

.legal-closing__copy p{
  max-width:42rem;
  margin-top:var(--space-1);
  color:#B9C4C8;
}

.legal-closing__actions{
  flex-direction:column;
  align-items:stretch;
  justify-content:flex-start;
  margin-top:var(--space-3);
}

.legal-closing__actions .c-btn{
  width:100%;
}

.legal-closing__actions .c-btn-ghost{
  color:#FFFFFF;
  border-color:color-mix(in srgb,#FFFFFF 45%,transparent);
}

@media(max-width:64rem){
  .legal-layout{
    grid-template-columns:minmax(0,1fr);
    gap:var(--space-4);
  }

  .legal-toc{
    position:static;
  }

  .legal-index{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .legal-doc{
    max-width:none;
  }
}

@media(max-width:42rem){
  .legal-hero{
    padding-block:var(--space-5);
  }

  .legal-hero__title{
    max-width:none;
    font-size:clamp(2.15rem,11vw,2.8rem);
  }

  .legal-layout{
    padding-block:var(--space-5);
  }

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

  .legal-index{
    grid-template-columns:minmax(0,1fr);
  }

  .legal-section + .legal-section{
    margin-top:var(--space-4);
    padding-top:var(--space-4);
  }

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

  .legal-closing__actions{
    width:100%;
    margin-top:var(--space-3);
  }
}
