/* ============================================================
   LEGAL PAGES - terms.html + privacy-policy.html
   Content pages, not marketing pages: no photo hero, no reveal
   animation, no CTA band. Just a readable document column on the
   house black/gold surface, with a sticky contents rail on desktop.

   Everything here is built from the tokens in colors_and_type.css,
   so a different academy's theme restyles these pages with no edit.
   ============================================================ */

/* ---------- header band ---------- */
.lg-head{border-bottom:1px solid var(--gold-line);background:var(--black-deep);padding:clamp(96px,13vh,150px) 0 clamp(38px,6vh,60px);}
.lg-head__eyebrow{margin-bottom:22px;}
.lg-head__title{font-family:var(--font-display);font-size:clamp(42px,6.4vw,92px);line-height:0.92;letter-spacing:-0.012em;text-transform:uppercase;}
.lg-head__sub{margin-top:22px;max-width:60ch;font-size:clamp(16px,1.3vw,19px);line-height:1.6;color:var(--white-80);}
.lg-head__meta{margin-top:26px;display:flex;flex-wrap:wrap;gap:10px 26px;font-size:12px;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:var(--white-70);}
.lg-head__meta b{color:var(--gold);font-weight:600;}

/* ---------- layout ---------- */
.lg-body{padding:clamp(48px,8vh,88px) 0 clamp(72px,12vh,130px);}
.lg-grid{display:grid;grid-template-columns:236px minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:start;}

/* contents rail */
.lg-toc{position:sticky;top:104px;}
.lg-toc__h{font-size:11px;font-weight:700;letter-spacing:0.26em;text-transform:uppercase;color:var(--gold);padding-bottom:12px;border-bottom:1px solid var(--gold-line);}
.lg-toc ol{list-style:none;margin:0;padding:14px 0 0;counter-reset:toc;}
.lg-toc li{counter-increment:toc;}
.lg-toc a{display:block;padding:7px 0;font-size:13.5px;line-height:1.35;color:var(--white-70);transition:color .16s,padding-left .18s;}
.lg-toc a::before{content:counter(toc) ". ";color:var(--gold);opacity:.65;}
.lg-toc a:hover{color:var(--gold);padding-left:5px;}

/* ---------- document ---------- */
.lg-doc{max-width:72ch;}
.lg-doc section{padding-top:44px;scroll-margin-top:104px;}
.lg-doc section:first-child{padding-top:0;}
.lg-doc h2{font-family:var(--font-display);font-size:clamp(24px,2.6vw,34px);line-height:1;text-transform:uppercase;letter-spacing:0.004em;padding-bottom:14px;border-bottom:1px solid var(--gold-line);}
.lg-doc h3{font-family:var(--font-body);font-size:15px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--gold);margin:30px 0 0;}
.lg-doc p{margin:16px 0 0;color:var(--white-80);line-height:1.68;}
.lg-doc p strong{color:var(--white);font-weight:600;}
.lg-doc a:not(.btn){color:var(--gold);border-bottom:1px solid var(--gold-line);transition:border-color .16s;}
.lg-doc a:not(.btn):hover{border-bottom-color:var(--gold);}
.lg-doc ul{margin:16px 0 0;padding-left:0;list-style:none;}
.lg-doc li{position:relative;padding-left:22px;margin-top:10px;color:var(--white-80);line-height:1.62;}
.lg-doc li::before{content:'';position:absolute;left:2px;top:11px;width:7px;height:1px;background:var(--gold);}
.lg-doc li strong{color:var(--white);font-weight:600;}

/* pulled straight from agreement.terms.json - visually marked as quoted terms */
.lg-quoted{margin-top:22px;border-left:2px solid var(--gold-line);padding-left:clamp(16px,2.4vw,28px);}
.lg-quoted h3{margin-top:26px;}
.lg-quoted h3:first-child{margin-top:0;}
.lg-quoted .lg-ack{margin:16px 0 0;padding:0;list-style:none;}

/* callout */
.lg-note{margin-top:26px;border:1px solid var(--gold-line);background:var(--black-lift);padding:clamp(20px,2.6vw,28px);}
.lg-note__h{font-size:11px;font-weight:700;letter-spacing:0.26em;text-transform:uppercase;color:var(--gold);}
.lg-note p{margin-top:12px;}
.lg-note p:first-of-type{margin-top:12px;}

/* definition rows (what we collect, where it goes) */
.lg-rows{margin-top:20px;border-top:1px solid var(--gold-line);}
.lg-row{display:grid;grid-template-columns:190px minmax(0,1fr);gap:8px 26px;padding:18px 0;border-bottom:1px solid var(--gold-line);}
.lg-row__k{font-size:12px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--gold);line-height:1.5;}
.lg-row__v{color:var(--white-80);line-height:1.62;}
.lg-row__v p{margin:0;}
.lg-row__v p + p{margin-top:8px;}

/* status line for a fact read from the live page at runtime */
.lg-live{margin-top:14px;font-size:13px;letter-spacing:0.04em;color:var(--white-70);}
.lg-live b{color:var(--gold);font-weight:600;font-variant-numeric:tabular-nums;}

/* back to top / footer of the doc */
.lg-end{margin-top:52px;padding-top:26px;border-top:1px solid var(--gold-line);font-size:13.5px;color:var(--white-70);line-height:1.7;}

/* ---------- responsive ---------- */
@media (max-width:1000px){
  .lg-grid{grid-template-columns:1fr;gap:34px;}
  .lg-toc{position:static;}
  .lg-toc ol{columns:2;column-gap:26px;}
}
@media (max-width:640px){
  .lg-head{padding-top:clamp(80px,11vh,110px);}
  .lg-head__meta{gap:8px 18px;font-size:11px;letter-spacing:0.12em;}
  .lg-toc ol{columns:1;}
  .lg-doc section{padding-top:36px;}
  .lg-row{grid-template-columns:1fr;gap:6px;}
  .lg-quoted{padding-left:16px;}
}
