:root{
  --black:#0a0a0a; --ink-1:#111111; --ink-2:#161616; --line:#232323; --line-2:#2e2e2e;
  --white:#fff; --bone:#f5f5f5; --dim:rgba(245,245,245,.72); --muted:rgba(245,245,245,.46);
  --blue:#2f6dff; --blue-hot:#5588ff;
  --serif:"Instrument Serif","Times New Roman",serif;
  --sans:"Geist",ui-sans-serif,system-ui,sans-serif;
  --mono:"Geist Mono",ui-monospace,monospace;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0; background:var(--black); color:var(--bone);
  font-family:var(--sans); font-size:16px; line-height:1.6;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
.wrap{width:min(880px,90vw); margin:0 auto;}
a{color:inherit; text-decoration:none;}

/* NAV */
.legal-nav{
  position:sticky; top:0; z-index:10;
  background:rgba(10,10,10,.82); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.legal-nav__row{display:flex; align-items:center; justify-content:space-between; padding:18px 0;}
.legal-nav__logo img{height:40px; width:auto; display:block;}
.legal-nav__back{
  display:inline-flex; align-items:center; gap:9px;
  font:500 12px/1 var(--mono); letter-spacing:.14em; text-transform:uppercase;
  color:var(--dim); padding:11px 18px; border:1px solid var(--line-2); border-radius:999px;
  white-space:nowrap;
  transition:color .25s, border-color .25s, background .25s;
}
.legal-nav__back:hover{color:var(--white); border-color:var(--white); background:rgba(255,255,255,.04);}
.legal-nav__back svg{width:12px; height:12px;}

/* HEADER */
.legal-header{padding:96px 0 56px; border-bottom:1px solid var(--line);
  background:linear-gradient(180deg, var(--ink-1) 0%, var(--black) 100%);}
.legal-eyebrow{
  font:500 11px/1 var(--mono); letter-spacing:.22em; text-transform:uppercase;
  color:var(--blue); margin-bottom:22px;
}
.legal-title{
  font-family:var(--serif); font-weight:400; letter-spacing:-.01em;
  font-size:clamp(44px,7vw,84px); line-height:1; margin:0 0 20px;
}
.legal-title em{font-style:italic; color:var(--blue);}
.legal-site{font:500 13px/1 var(--mono); letter-spacing:.08em; color:var(--muted);}

/* BODY */
.legal-body{padding:64px 0 80px;}
.legal-body h2{
  font-family:var(--serif); font-weight:400; letter-spacing:-.01em;
  font-size:clamp(28px,3.4vw,40px); line-height:1.1; margin:56px 0 20px; color:var(--white);
}
.legal-body h2:first-child{margin-top:0;}
.legal-body h2 em{font-style:italic; color:var(--blue);}
.legal-body h3{
  font-family:var(--sans); font-weight:600; font-size:19px; line-height:1.3;
  margin:38px 0 12px; color:var(--white);
}
.legal-body p{margin:0 0 18px; color:var(--dim); font-size:16px; line-height:1.75; text-wrap:pretty;}
.legal-body strong{color:var(--bone); font-weight:600;}
.legal-body a{color:var(--blue); text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px;}
.legal-body a:hover{color:var(--blue-hot);}
.legal-body ul{margin:0 0 22px; padding:0; list-style:none; display:flex; flex-direction:column; gap:12px;}
.legal-body li{position:relative; padding-left:24px; color:var(--dim); font-size:16px; line-height:1.7;}
.legal-body li::before{
  content:""; position:absolute; left:0; top:11px; width:7px; height:7px;
  border-radius:50%; background:var(--blue);
}
.legal-body li strong{color:var(--bone);}
.meta-line{
  margin-top:56px; padding-top:24px; border-top:1px solid var(--line);
  font:500 12px/1.6 var(--mono); letter-spacing:.06em; color:var(--muted);
}

/* FOOTER */
.legal-footer{border-top:1px solid var(--line); background:var(--black); padding:44px 0 36px;}
.legal-foot{
  display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:28px;
  width:min(880px,90vw); margin:0 auto;
}
.legal-foot>img{height:38px; width:auto;}
.legal-foot__links{display:flex; gap:22px; flex-wrap:wrap; justify-content:center;}
.legal-foot__links a{
  font:500 11px/1 var(--mono); letter-spacing:.16em; text-transform:uppercase; color:var(--muted);
  transition:color .25s;
}
.legal-foot__links a:hover{color:var(--blue);}
.legal-foot__copy{grid-column:1 / -1; text-align:center; margin-top:22px; padding-top:22px;
  border-top:1px solid var(--line); font:500 12px/1.6 var(--mono); letter-spacing:.04em; color:var(--muted);}
.legal-foot__copy i{font-family:var(--serif); font-style:italic; color:var(--blue);}

@media(max-width:680px){
  .legal-foot{grid-template-columns:1fr; justify-items:center; gap:18px; text-align:center;}
  .legal-body li{font-size:15px;}
}
