/* ============================================
   Legal page layout — extends style.css
   Used by privacy-policy.html, terms.html, etc.
   ============================================ */

.legal-header{
  background:var(--cream-deep);
  border-bottom:1px solid var(--line);
  padding:56px 0 40px;
}
.legal-header .eyebrow{margin-bottom:14px;}
.legal-header h1{font-size:clamp(1.9rem,3.4vw,2.6rem);}
.legal-header .updated{
  margin-top:14px;
  font-family:'JetBrains Mono',monospace;
  font-size:0.78rem;
  color:var(--ink-soft);
  letter-spacing:0.02em;
}

.legal-body{padding:64px 0 100px;}
.legal-grid{
  display:grid;
  grid-template-columns:260px 1fr;
  gap:56px;
  align-items:start;
}

/* Table of contents */
.legal-toc{
  position:sticky;
  top:96px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:22px;
  background:#fff;
}
.legal-toc h4{
  font-family:'JetBrains Mono',monospace;
  font-size:0.7rem;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--maroon);
  margin-bottom:14px;
}
.legal-toc ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;}
.legal-toc a{
  display:block;
  font-size:0.86rem;
  color:var(--ink-soft);
  padding:7px 10px;
  border-radius:8px;
  transition:background .15s ease, color .15s ease;
}
.legal-toc a:hover,
.legal-toc a.active{
  background:var(--maroon-tint);
  color:var(--maroon-dark);
}

/* Policy content */
.legal-content section{
  padding:0 0 40px;
  border-bottom:1px solid var(--line);
  margin-bottom:40px;
  scroll-margin-top:100px;
}
.legal-content section:last-child{
  border-bottom:none;margin-bottom:0;padding-bottom:0;
}
.legal-content .step-no{
  font-family:'JetBrains Mono',monospace;
  color:var(--maroon);
  font-size:0.8rem;
  margin-bottom:8px;
  display:block;
}
.legal-content h2{
  font-size:1.5rem;
  margin-bottom:16px;
}
.legal-content h3{
  font-size:1.1rem;
  margin:22px 0 10px;
}
.legal-content p{
  color:var(--ink-soft);
  font-size:0.98rem;
  margin:0 0 14px;
}
.legal-content ul,
.legal-content ol{
  color:var(--ink-soft);
  font-size:0.98rem;
  padding-left:20px;
  margin:0 0 14px;
}
.legal-content li{margin-bottom:8px;}
.legal-content strong{color:var(--ink);}
.legal-content a.inline-link{
  color:var(--maroon);
  text-decoration:underline;
  text-underline-offset:2px;
}

.legal-callout{
  background:var(--sage-tint);
  border:1px solid #CFDBCB;
  border-radius:var(--radius);
  padding:20px 22px;
  margin:0 0 14px;
}
.legal-callout p{color:var(--ink);margin:0;font-size:0.92rem;}

.legal-contact-card{
  background:var(--cream-deep);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:24px 26px;
}
.legal-contact-card ul{list-style:none;padding:0;margin:0;}
.legal-contact-card li{
  font-size:0.94rem;color:var(--ink-soft);margin-bottom:8px;
}
.legal-contact-card strong{color:var(--ink);}

@media (max-width:900px){
  .legal-grid{grid-template-columns:1fr;}
  .legal-toc{position:static;margin-bottom:12px;}
}
