.legal-page main{
  min-width:0;
}

.legal-hero{
  padding-block:var(--am-space-6) var(--am-space-5);
  background:#f2eaf4;
  color:#2b2030;
}

.legal-hero__kicker{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  width:fit-content;
  max-width:100%;
  margin-bottom:var(--am-space-3);
  padding:.5rem .85rem;
  border-radius:var(--am-radius-pill);
  background:#f7e9e1;
  color:#34221d;
  font-size:var(--am-text-xs);
  font-weight:700;
  letter-spacing:.07em;
  line-height:1.2;
}

.legal-hero__kicker::before{
  width:.42rem;
  height:.42rem;
  flex:none;
  border-radius:50%;
  background:#243d8f;
  content:"";
}

.legal-hero__title{
  max-width:18ch;
  color:#2b2030;
  font-family:var(--am-font-body);
  font-size:clamp(2.5rem,5vw,3.2rem);
  font-weight:700;
  line-height:1.16;
  overflow-wrap:break-word;
}

.legal-hero__lead{
  max-width:52rem;
  margin-top:var(--am-space-3);
  color:#5b4b61;
  font-size:var(--am-text-lg);
  line-height:1.7;
  overflow-wrap:break-word;
}

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

.legal-hero__meta .pill{
  display:inline-flex;
  align-items:center;
  gap:.4em;
  width:fit-content;
  padding:.4em .9em;
  border-radius:var(--am-radius-pill);
  background:#ffffff;
  color:#2b2030;
  font-family:var(--am-font-mono);
  font-size:var(--am-text-sm);
  line-height:1;
}

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

.legal-toc{
  position:sticky;
  top:calc(var(--am-header-height) + var(--am-space-3));
  z-index:1;
  min-width:0;
  padding:var(--am-space-3);
  border-radius:var(--am-radius-md);
  background:#ffffff;
  color:#171a24;
  box-shadow:0 18px 50px rgba(45,38,54,.08);
}

.legal-toc__title{
  margin-bottom:var(--am-space-2);
  color:#171a24;
  font-size:var(--am-text-sm);
  font-weight:700;
  letter-spacing:.06em;
}

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

.legal-index li{
  min-width:0;
  font-size:var(--am-text-sm);
}

.legal-index a{
  display:block;
  min-width:0;
  padding:.55em .7em;
  border-radius:var(--am-radius-sm);
  color:#5b5a62;
  font-size:var(--am-text-sm);
  line-height:1.4;
  overflow-wrap:break-word;
  transition:background .2s var(--am-ease),color .2s var(--am-ease);
}

.legal-index a:hover{
  background:#f2eaf4;
  color:#2b2030;
}

.legal-index a.is-active{
  background:#e8f1ec;
  color:#173128;
  box-shadow:inset 3px 0 0 #243d8f;
}

.legal-toc__cta{
  display:inline-flex;
  width:auto;
  margin-top:var(--am-space-3);
  justify-self:start;
  color:#243d8f;
  border-color:color-mix(in srgb,currentColor 38%,transparent);
}

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

.legal-section{
  min-width:0;
  scroll-margin-top:calc(var(--am-header-height) + var(--am-space-3));
}

.legal-section + .legal-section{
  margin-top:var(--am-space-6);
}

.legal-section h2{
  margin-bottom:var(--am-space-3);
  color:#171a24;
  font-family:var(--am-font-body);
  font-size:var(--am-text-2xl);
  font-weight:700;
  line-height:1.3;
  letter-spacing:-.02em;
  overflow-wrap:break-word;
}

.legal-section p{
  color:#3f4048;
  line-height:1.75;
  overflow-wrap:break-word;
}

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

.legal-section a:not(.c-btn){
  color:#1d3278;
  font-weight:650;
  text-decoration:underline;
  text-decoration-thickness:.08em;
  text-underline-offset:.18em;
  overflow-wrap:anywhere;
}

.legal-section .table-scroll{
  margin-block:var(--am-space-3);
  border:1px solid rgba(23,26,36,.12);
  border-radius:var(--am-radius-md);
  background:#ffffff;
  color:#171a24;
}

.legal-price-table{
  display:table;
  width:100%;
  min-width:44rem;
  background:#ffffff;
  color:#171a24;
  font-variant-numeric:tabular-nums;
}

.legal-price-table caption{
  padding:var(--am-space-2) 1.1rem;
  background:#ffffff;
  color:#5b5a62;
  font-size:var(--am-text-sm);
  font-weight:650;
  text-align:left;
}

.legal-price-table th{
  background:#efefed;
  color:#171a24;
}

.legal-price-table td{
  background:#ffffff;
  color:#30323b;
}

.legal-price-table th,
.legal-price-table td{
  text-align:left;
  white-space:normal;
  overflow-wrap:break-word;
}

.legal-price-table th:not(:first-child),
.legal-price-table td:not(:first-child){
  text-align:center;
}

.legal-closing{
  padding-block:0 var(--am-section-space);
  background:#faf9f7;
  color:#171a24;
}

.legal-closing .c-cta-panel{
  padding-inline:clamp(var(--am-space-3),5vw,var(--am-space-6));
}

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

.legal-closing__kicker{
  display:inline-flex;
  align-items:center;
  width:fit-content;
  margin-bottom:var(--am-space-3);
  padding:.45em .9em;
  border-radius:var(--am-radius-pill);
  background:#f2edd8;
  color:#302a17;
  font-size:var(--am-text-xs);
  font-weight:700;
  line-height:1;
}

.legal-closing__copy h2{
  max-width:22ch;
  color:#f8f7f4;
  font-family:var(--am-font-body);
  font-size:clamp(1.8rem,3vw,2.5rem);
  font-weight:700;
  line-height:1.2;
  overflow-wrap:break-word;
}

.legal-closing__copy p{
  max-width:42rem;
  margin-top:var(--am-space-2);
  color:#c5c8d1;
  overflow-wrap:break-word;
}

.legal-closing__actions{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:var(--am-space-2);
  min-width:min(100%,14rem);
}

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

.legal-closing__actions .c-btn-ghost{
  color:#f8f7f4;
  border-color:rgba(248,247,244,.4);
}

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

  .legal-toc{
    position:static;
  }

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

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

  .legal-hero__title{
    font-size:clamp(2.35rem,12vw,3rem);
  }

  .legal-layout{
    gap:var(--am-space-4);
    padding-block:var(--am-space-5) var(--am-section-space);
  }

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

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

  .legal-section + .legal-section{
    margin-top:var(--am-space-5);
  }

  .legal-section h2{
    font-size:var(--am-text-xl);
  }

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