/* Match the primary site typography. */
@font-face{
  font-family:"Itcavantgardestd Md";
  src:url("https://cdn.prod.website-files.com/667a7576e7e7ef3ba89b3f2a/667a7576e7e7ef3ba89b3f58_ITCAvantGardeStd-Md.ttf") format("truetype");
  font-weight:500;
  font-style:normal;
  font-display:swap;
}

.legal-body,
.legal-body button,
.legal-body input,
.legal-body textarea,
.legal-body select{
  font-family:Itcavantgardestd Md,sans-serif;
}

:root{
  --legal-ink:#080808;
  --legal-muted:#6f6f72;
  --legal-line:#dedede;
  --legal-soft:#f4f2ef;
  --legal-accent:#7d3cff;
}

.legal-body{
  background:#f6f5f3;
  color:var(--legal-ink);
}

.legal-page{
  min-height:60vh;
  overflow:hidden;
}

.legal-shell{
  width:min(100% - 4rem, 112rem);
  margin:0 auto;
}

.legal-hero{
  position:relative;
  padding:12.5rem 0 5.5rem;
  background:#f6f5f3;
}

.legal-hero::after{
  content:"";
  position:absolute;
  left:2rem;
  right:2rem;
  bottom:0;
  height:1px;
  background:rgba(8,8,8,.18);
}

.legal-kicker{
  margin:0 0 1.8rem;
  color:var(--legal-accent);
  font-size:.9rem;
  line-height:1;
  font-weight:700;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.legal-title{
  max-width:9em;
  margin:0;
  font-size:clamp(4.75rem,8.2vw,9.1rem);
  line-height:.88;
  letter-spacing:-.065em;
  font-weight:500;
}

.legal-lead{
  max-width:49rem;
  margin:2.5rem 0 0 auto;
  font-size:clamp(1.35rem,1.7vw,2.05rem);
  line-height:1.25;
  letter-spacing:-.025em;
}

.legal-updated{
  margin:1.45rem 0 0 auto;
  max-width:49rem;
  color:var(--legal-muted);
  font-size:.95rem;
  line-height:1.5;
}

.legal-content{
  padding:6rem 0 8rem;
  background:#fff;
}

.legal-layout{
  display:grid;
  grid-template-columns:minmax(12rem,18rem) minmax(0,52rem);
  justify-content:space-between;
  gap:5rem;
  align-items:start;
}

.legal-nav{
  position:sticky;
  top:7.5rem;
  padding-top:.3rem;
}

.legal-nav-label{
  display:block;
  margin-bottom:1.1rem;
  color:var(--legal-muted);
  font-size:.78rem;
  line-height:1;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.legal-nav-list{
  display:flex;
  flex-direction:column;
  gap:.35rem;
  margin:0;
  padding:0;
  list-style:none;
}

.legal-nav-list a{
  position:relative;
  display:inline-block;
  width:fit-content;
  padding:.22rem 0;
  color:#5f5f61;
  font-size:1rem;
  line-height:1.35;
  text-decoration:none;
  transition:color .2s ease;
}

.legal-nav-list a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:1px;
  background:currentColor;
  transform:scaleX(0);
  transform-origin:right;
  transition:transform .3s ease;
}

.legal-nav-list a:hover,
.legal-nav-list a:focus-visible{
  color:var(--legal-ink);
}

.legal-nav-list a:hover::after,
.legal-nav-list a:focus-visible::after{
  transform:scaleX(1);
  transform-origin:left;
}

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

.legal-section{
  scroll-margin-top:8rem;
  padding:0 0 3.6rem;
  margin:0 0 3.6rem;
  border-bottom:1px solid var(--legal-line);
}

.legal-section:last-child{
  border-bottom:0;
  padding-bottom:0;
  margin-bottom:0;
}

.legal-section h2{
  margin:0 0 1.35rem;
  color:var(--legal-ink);
  font-size:clamp(2rem,2.75vw,3.35rem);
  line-height:1;
  letter-spacing:-.045em;
  font-weight:500;
}

.legal-section h3{
  margin:2rem 0 .8rem;
  color:var(--legal-ink);
  font-size:1.18rem;
  line-height:1.25;
  font-weight:700;
  letter-spacing:-.015em;
}

.legal-section p,
.legal-section li{
  color:#3f3f42;
  font-size:1.05rem;
  line-height:1.75;
}

.legal-section p{
  margin:0 0 1.05rem;
}

.legal-section p:last-child{
  margin-bottom:0;
}

.legal-section ul,
.legal-section ol{
  margin:1rem 0 0;
  padding-left:1.35rem;
}

.legal-section li + li{
  margin-top:.5rem;
}

.legal-section a,
.legal-contact-card a,
.sitemap-card a{
  color:inherit;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:.2em;
}

.legal-note{
  margin:1.8rem 0 0;
  padding:1.35rem 1.5rem;
  border-radius:1rem;
  background:var(--legal-soft);
}

.legal-note p{
  margin:0;
  color:#29292b;
}

.legal-contact-card{
  display:grid;
  gap:.25rem;
  margin-top:1.5rem;
  padding:1.5rem;
  border-radius:1rem;
  background:var(--legal-soft);
  font-style:normal;
  color:#28282a;
  font-size:1rem;
  line-height:1.55;
}

.legal-table-wrap{
  width:100%;
  overflow-x:auto;
  margin:1.6rem 0 0;
  border:1px solid var(--legal-line);
  border-radius:1rem;
}

.legal-table{
  width:100%;
  min-width:46rem;
  border-collapse:collapse;
  background:#fff;
}

.legal-table th,
.legal-table td{
  padding:1rem 1.1rem;
  border-bottom:1px solid var(--legal-line);
  text-align:left;
  vertical-align:top;
  font-size:.98rem;
  line-height:1.5;
}

.legal-table th{
  background:#f7f7f6;
  color:#171719;
  font-weight:700;
}

.legal-table td{
  color:#444447;
}

.legal-table tr:last-child td{
  border-bottom:0;
}

.sitemap-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1.1rem;
}

.sitemap-card{
  min-height:14rem;
  padding:1.6rem;
  border:1px solid var(--legal-line);
  border-radius:1.1rem;
  background:#fff;
}

.sitemap-card h2{
  margin:0 0 1.4rem;
  font-size:1.45rem;
  line-height:1.1;
  letter-spacing:-.025em;
  font-weight:600;
}

.sitemap-links{
  display:flex;
  flex-direction:column;
  gap:.9rem;
  margin:0;
  padding:0;
  list-style:none;
}

.sitemap-links li{
  margin:0;
}

.sitemap-links a{
  font-size:1rem;
  font-weight:600;
}

.sitemap-links span{
  display:block;
  margin-top:.18rem;
  color:var(--legal-muted);
  font-size:.88rem;
  line-height:1.45;
}

.sitemap-help{
  margin-top:1.1rem;
  padding:1.8rem;
  border-radius:1.1rem;
  background:var(--legal-ink);
  color:#fff;
}

.sitemap-help h2{
  margin:0 0 .75rem;
  color:#fff;
  font-size:1.6rem;
  line-height:1.1;
}

.sitemap-help p{
  margin:0;
  color:#c8c8c8;
  font-size:1rem;
  line-height:1.6;
}

.sitemap-help a{
  color:#fff;
  text-decoration:underline;
  text-underline-offset:.2em;
}

@media screen and (max-width:991px){
  .legal-shell{width:min(100% - 3rem,112rem);}
  .legal-hero{padding:11rem 0 4.5rem;}
  .legal-lead,.legal-updated{margin-left:0;max-width:43rem;}
  .legal-layout{grid-template-columns:13.5rem minmax(0,1fr);gap:3rem;}
  .legal-content{padding:5rem 0 6.5rem;}
}

@media screen and (max-width:767px){
  .legal-shell{width:calc(100% - 2rem);}
  .legal-hero{padding:8.5rem 0 3.5rem;}
  .legal-hero::after{left:1rem;right:1rem;}
  .legal-title{font-size:clamp(4rem,19vw,6.6rem);max-width:none;}
  .legal-lead{margin-top:1.75rem;font-size:1.28rem;line-height:1.3;}
  .legal-content{padding:3.5rem 0 5rem;}
  .legal-layout{display:block;}
  .legal-nav{position:static;margin-bottom:3.25rem;padding:0 0 2rem;border-bottom:1px solid var(--legal-line);}
  .legal-nav-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem 1rem;}
  .legal-nav-list a{font-size:.95rem;}
  .legal-section{padding-bottom:2.7rem;margin-bottom:2.7rem;}
  .legal-section h2{font-size:2.25rem;}
  .legal-section p,.legal-section li{font-size:1rem;line-height:1.68;}
  .sitemap-grid{grid-template-columns:1fr;}
  .sitemap-card{min-height:0;}
}

@media screen and (max-width:479px){
  .legal-shell{width:calc(100% - 1.5rem);}
  .legal-hero{padding-top:7.5rem;}
  .legal-title{font-size:clamp(3.6rem,19vw,5.4rem);}
  .legal-kicker{margin-bottom:1.25rem;font-size:.75rem;}
  .legal-lead{font-size:1.12rem;}
  .legal-updated{font-size:.85rem;}
  .legal-nav-list{grid-template-columns:1fr;}
  .legal-section h2{font-size:2rem;}
  .legal-contact-card,.legal-note,.sitemap-card,.sitemap-help{padding:1.25rem;}
}
