/* Legal pages (Privacy Policy, Terms of Use, Terms of Service)
   Built on the shared site tokens in site.css (oklch palette, IBM Plex Sans + DM Sans). */

.legal{
  background:var(--bg);
  padding:2.6rem 1.25rem 4.5rem;
}
.legal-shell{
  max-width:56rem;
  margin:0 auto;
}

/* breadcrumb */
.legal-crumb{margin-bottom:1.4rem}
.legal-crumb a{
  font-family:var(--fb);
  font-size:.86rem;
  color:var(--muted);
  text-decoration:none;
  transition:color .15s ease;
}
.legal-crumb a:hover{color:var(--primary-d)}

/* page head */
.legal-head{
  padding-bottom:1.6rem;
  margin-bottom:2rem;
  border-bottom:1px solid var(--line);
}
.legal-eyebrow{
  font-family:var(--ft);
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--primary-d);
  margin-bottom:.6rem;
}
.legal-head h1{
  font-family:var(--ft);
  font-weight:700;
  font-size:clamp(1.9rem,4vw,2.6rem);
  line-height:1.1;
  letter-spacing:-.01em;
  color:var(--ink);
  margin:0;
}
.legal-updated{
  font-family:var(--fb);
  font-size:.9rem;
  color:var(--muted);
  margin:.7rem 0 0;
}

/* body copy */
.legal-body{
  font-family:var(--fb);
  font-size:1.02rem;
  line-height:1.75;
  color:var(--ink2);
}
.legal-body p{margin:.95rem 0}
.legal-body strong{color:var(--ink);font-weight:600}
.legal-body a{color:var(--primary-d);text-decoration:underline;text-underline-offset:2px}

/* section headings */
.legal-body h2{
  font-family:var(--ft);
  font-weight:650;
  font-size:1.35rem;
  line-height:1.25;
  color:var(--ink);
  margin:2.9rem 0 .9rem;
  padding-top:1.4rem;
  border-top:1px solid var(--line);
}
.legal-body h2::before{
  content:"";
  display:block;
  width:2.2rem;
  height:3px;
  border-radius:2px;
  background:var(--primary);
  margin-bottom:.9rem;
}
.legal-body h3{
  font-family:var(--ft);
  font-weight:600;
  font-size:1.08rem;
  color:var(--ink);
  margin:1.9rem 0 .5rem;
}

/* numbered / lettered items — original markers preserved, hanging indent */
.legal-body .legal-item{
  margin:.45rem 0;
  padding-left:1.7rem;
  text-indent:-1.7rem;
}

/* ALL-CAPS legal notices rendered as callouts */
.legal-body .legal-callout{
  background:var(--card2);
  border:1px solid var(--line);
  border-left:3px solid var(--primary);
  border-radius:.6rem;
  padding:1.05rem 1.2rem;
  margin:1.5rem 0;
  font-size:.82rem;
  line-height:1.65;
  letter-spacing:.005em;
  color:var(--ink2);
}
.legal-body .legal-callout strong{color:var(--ink)}

@media (max-width:640px){
  .legal{padding:1.8rem 1.05rem 3.5rem}
  .legal-body{font-size:.98rem}
  .legal-body h2{font-size:1.2rem}
}
