.legal-content{
  --legal-ink:#112441;
  --legal-body:#465367;
  --legal-link:#0070fb;
  --legal-nav:#707f96;
  --legal-line:rgba(52,75,112,.06);
  --legal-focus:#4b91fe;
  --legal-ease:cubic-bezier(.215,.61,.355,1);
  position:relative;
  z-index:var(--z-section);
  width:100%;
  background-color:var(--color-core-neutral-0);
  font-size:15px;
  line-height:24px;
  font-weight:var(--fw-300);
  letter-spacing:.2px;
  color:var(--legal-body);
}

.legal-layout{
  position:relative;
  width:min(100% - 32px,1080px);
  margin-inline:auto;
  padding:48px 0 min(128px,calc(43.5px + 7.598vw));
}

.legal-columns{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  align-items:start;
  row-gap:32px;
}

.legal-doc{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  align-items:start;
  row-gap:32px;
  min-width:0;
}

.legal-doc__header{
  position:relative;
  max-width:810px;
  padding-inline:16px;
}

.legal-doc__title{
  font-size:48px;
  line-height:56px;
  font-weight:var(--fw-500);
  letter-spacing:-.96px;
  color:var(--legal-ink);
}

.legal-doc__main{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  row-gap:32px;
  min-width:0;
}

.legal-block{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  row-gap:24px;
  min-width:0;
}

.legal-block > *{
  max-width:810px;
}

.legal-block p,
.legal-block h2,
.legal-block h3,
.legal-block h4{
  padding-inline:16px;
}

.legal-block h2{
  margin-top:48px;
  font-size:34px;
  line-height:44px;
  font-weight:var(--fw-500);
  letter-spacing:-.1px;
  color:var(--legal-ink);
}

.legal-block h3,
.legal-block h2.legal-clause{
  margin-top:32px;
  font-size:24px;
  line-height:32px;
  font-weight:var(--fw-500);
  letter-spacing:.1px;
  color:var(--legal-ink);
}

.legal-block h4{
  margin:8px 0 -16px;
  font-size:18px;
  line-height:28px;
  font-weight:var(--fw-425);
  letter-spacing:.2px;
  color:var(--legal-ink);
}

.legal-block > :first-child,
.legal-block > h2.legal-clause:first-child{
  margin-top:0;
}

.legal-block strong{
  font-weight:var(--fw-500);
  color:var(--legal-ink);
}

.legal-block ul{
  padding-left:40px;
}

.legal-block li{
  position:relative;
}

.legal-block li + li{
  margin-top:16px;
}

.legal-block ul > li::before{
  content:"";
  position:absolute;
  top:9px;
  left:-21px;
  width:7px;
  height:7px;
  border-radius:50%;
  background-color:#d0d6df;
}

.legal-block a{
  overflow-wrap:anywhere;
  font-weight:var(--fw-425);
  color:var(--legal-link);
  text-decoration:none;
}

.legal-block a:focus-visible,
.legal-nav__link:focus-visible{
  outline:0;
  box-shadow:0 0 0 1px rgba(255,255,255,.9),0 0 0 3px var(--legal-focus);
}

.legal-block .legal-table-wrap:focus-visible{
  outline:2px solid var(--legal-focus);
  outline-offset:-2px;
  box-shadow:none;
}

.legal-block .legal-table-wrap{
  max-width:none;
  margin:-16px;
  padding:16px;
  overflow:auto;
}

.legal-table{
  margin-inline:1px;
  border-collapse:collapse;
  font-size:15px;
  line-height:24px;
}

.legal-table tbody{
  border-radius:4px;
  background-color:#fff;
  box-shadow:0 0 0 1px #fff,0 6px 12px -2px rgba(30,55,94,.25),0 3px 7px -3px rgba(0,0,0,.3);
}

.legal-table tbody::before,
.legal-table tbody::after{
  content:"";
  display:table-row;
  height:4px;
}

.legal-table tr::before,
.legal-table tr::after{
  content:"";
  display:table-cell;
  width:4px;
  padding:0;
}

.legal-table tbody td,
.legal-table tbody th{
  position:relative;
  padding:12px 32px 12px 12px;
  text-align:left;
  vertical-align:middle;
  background-color:#fff;
}

.legal-table tbody th{
  font-weight:var(--fw-425);
  color:var(--legal-ink);
}

.legal-table tbody tr:nth-child(2n) td,
.legal-table tbody tr:nth-child(2n) th{
  background-color:#f7f9fc;
}

.legal-table tbody tr > :first-child{
  border-radius:4px 0 0 4px;
}

.legal-table tbody tr > :last-child{
  border-radius:0 4px 4px 0;
}

.legal-table tbody td:not(:first-child)::before,
.legal-table tbody th:not(:first-child)::before{
  content:"";
  position:absolute;
  top:8px;
  bottom:8px;
  left:0;
  width:1px;
  background-color:var(--legal-line);
}

.legal-table thead th{
  padding:0 12px 10px;
  text-align:left;
  vertical-align:top;
  font-weight:var(--fw-425);
  color:var(--legal-ink);
}

.legal-table thead tr::before,
.legal-table thead tr::after{
  visibility:hidden;
}

.legal-block .legal-callout{
  width:fit-content;
  max-width:calc(100% - 2px);
  margin-inline:1px;
  padding:16px 36px 16px 16px;
  border-radius:4px;
  background-color:#fff;
  box-shadow:0 0 0 1px #fff,0 6px 12px -2px rgba(30,55,94,.25),0 3px 7px -3px rgba(0,0,0,.3);
  font-size:15px;
  line-height:24px;
}

.legal-block .legal-callout p{
  padding:0;
}

.legal-block .legal-callout p + p{
  margin-top:8px;
}

.legal-callout em{
  font-style:italic;
  font-synthesis:style;
}

.legal-nav{
  min-width:0;
  padding-inline:16px;
  font-size:15px;
  line-height:24px;
}

.legal-nav__list li{
  margin:4px 0;
}

.legal-nav__link{
  position:relative;
  display:block;
  font-weight:var(--fw-425);
  color:var(--legal-nav);
  text-decoration:none;
}

.legal-nav__link--current{
  color:var(--legal-ink);
}

.legal-nav__link--current::before{
  content:"";
  position:absolute;
  top:5px;
  left:-16px;
  width:1px;
  height:15px;
  background-color:var(--legal-link);
}

.legal-nav__link:hover{
  color:var(--legal-ink);
}

@media (prefers-reduced-motion:no-preference){
  .legal-block a,
  .legal-nav__link{
    transition:color .15s var(--legal-ease),opacity .15s var(--legal-ease);
  }
}

.legal-block a:hover{
  color:var(--legal-ink);
}

@media (min-width:600px){
  .legal-doc,
  .legal-doc__main{
    row-gap:48px;
  }

  .legal-block p,
  .legal-block h2,
  .legal-block h3,
  .legal-block h4{
    padding-right:32px;
  }

  .legal-block ul > li::before{
    top:11px;
    left:-23px;
    width:8px;
    height:8px;
  }
}

@media (min-width:750px){
  .legal-content{
    font-size:18px;
    line-height:28px;
  }
}

@media (min-width:900px){
  .legal-columns{
    grid-template-columns:270px minmax(0,810px);
  }

  .legal-doc{
    grid-column:2;
    grid-row:1;
    row-gap:64px;
  }

  .legal-doc__main{
    row-gap:64px;
  }

  .legal-nav{
    grid-column:1;
    grid-row:1;
  }
}

@media (min-width:1112px){
  .legal-doc__title{
    font-size:56px;
    line-height:68px;
    letter-spacing:-1.12px;
  }
}
