/* =========================================================
   Legal pages: Privacy Policy + Terms & Conditions
   ========================================================= */
.lg-hero{ padding:56px 0 64px; }
.lg-hero .ab-hero-inner{ max-width:820px; }
.lg-hero h1{ margin-bottom:14px; }
.lg-hero h1 span{ display:inline; }
.lg-meta{
  display:inline-flex; flex-wrap:wrap; justify-content:center; gap:8px 18px;
  font-size:14px; color:var(--text-2); margin-top:6px;
}
.lg-meta span{ display:inline-flex; align-items:center; gap:7px; }
.lg-meta svg{ color:var(--brass); flex-shrink:0; }

.lg-body{ padding:64px 0 88px; background:#fff; }
.lg-layout{
  display:grid; grid-template-columns:260px minmax(0, 1fr); gap:56px; align-items:start;
}

/* ---- Table of contents ---- */
.lg-toc{
  position:sticky; top:110px;
  background:var(--parchment-2); border:1px solid var(--line-on-light); border-radius:18px;
  padding:22px 20px;
}
.lg-toc summary{ list-style:none; cursor:default; }
.lg-toc summary::-webkit-details-marker{ display:none; }
.lg-toc-title{
  display:flex; align-items:center; justify-content:space-between; font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase;
  color:var(--ink); margin-bottom:12px;
}
.lg-toc ol{ list-style:none; margin:0; padding:0; counter-reset:toc; display:flex; flex-direction:column; gap:2px; }
.lg-toc li{ counter-increment:toc; }
.lg-toc a{
  display:flex; gap:10px; padding:7px 10px; border-radius:10px;
  font-size:14px; line-height:1.4; color:var(--text-2); text-decoration:none;
  transition:background .2s ease, color .2s ease;
}
.lg-toc a::before{
  content:counter(toc, decimal-leading-zero); font-family:"IBM Plex Mono", monospace;
  font-size:12px; color:var(--brass); padding-top:2px; flex-shrink:0;
}
.lg-toc a:hover, .lg-toc a.is-active{ background:#fff; color:var(--ink); }

/* ---- Content ---- */
.lg-content{ max-width:780px; color:var(--text-2); font-size:16px; line-height:1.8; }
.lg-intro{
  font-size:17px; color:var(--ink); line-height:1.75;
  padding:22px 24px; margin:0 0 40px; border-radius:16px;
  background:var(--mint-2); border:1px solid rgba(57,165,54,.18);
}
.lg-content section{ scroll-margin-top:110px; padding-top:0; padding-bottom:32px; margin-bottom:32px; border-bottom:1px solid var(--line-on-light); }
.lg-content section:last-of-type{ border-bottom:0; margin-bottom:0; }
.lg-content h2{
  display:flex; align-items:baseline; gap:12px;
  font-size:clamp(21px, 2.2vw, 26px); line-height:1.3; color:var(--ink); margin:0 0 14px; letter-spacing:-.01em;
}
.lg-content h2 .lg-num{
  font-family:"IBM Plex Mono", monospace; font-size:14px; font-weight:600; color:var(--brass);
  flex-shrink:0;
}
.lg-content h3{ font-size:17px; color:var(--ink); margin:22px 0 8px; }
.lg-content p{ margin:0 0 14px; }
.lg-content ul{ margin:0 0 16px; padding-left:0; list-style:none; }
.lg-content ul li{ position:relative; padding-left:24px; margin-bottom:8px; }
.lg-content ul li::before{
  content:""; position:absolute; left:4px; top:.72em; width:7px; height:7px; border-radius:50%;
  background:var(--brass);
}
.lg-content a{ color:#2C8A2E; font-weight:600; text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.lg-content a:hover{ color:var(--ink); }
.lg-content strong{ color:var(--ink); }

.lg-contact{
  display:flex; flex-wrap:wrap; gap:12px; margin-top:8px;
}
.lg-contact a.btn{ text-decoration:none; }

/* ---- Responsive ---- */
@media (max-width:991px){
  .lg-layout{ grid-template-columns:1fr; gap:32px; }
  .lg-toc{ position:static; }
  .lg-toc summary{ cursor:pointer; }
  .lg-toc:not([open]) .lg-toc-title{ margin-bottom:0; }
  .lg-toc-title::after{
    content:""; width:8px; height:8px; border-right:2px solid var(--ink); border-bottom:2px solid var(--ink);
    transform:rotate(45deg); transition:transform .2s ease; margin:-4px 4px 0 0;
  }
  .lg-toc[open] .lg-toc-title::after{ transform:rotate(225deg); margin-top:4px; }
  .lg-toc ol{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:2px 8px; }
  .lg-content{ max-width:none; }
}
@media (max-width:600px){
  .lg-hero{ padding:40px 0 48px; }
  .lg-body{ padding:40px 0 56px; }
  .lg-toc{ padding:18px 14px; }
  .lg-toc ol{ grid-template-columns:1fr; }
  .lg-content{ font-size:15.5px; }
  .lg-intro{ padding:18px; font-size:16px; }
  .lg-content h2{ gap:10px; }
  .lg-contact .btn{ flex:1 1 100%; justify-content:center; }
}
