/* ══════════════════════════════════════════════════════════════
   Legal pages. Long form reading, so the measure is narrow, the
   headings are quiet, and a sticky index sits alongside on wide
   screens.

   This sheet carries its own background classes and placeholder
   system. homepage.css loads sitewide but supplies neither.
   ══════════════════════════════════════════════════════════════ */

.on-green{background:var(--green);color:var(--ivory);
  --ghost:var(--ivory);--ghost-hb:var(--ivory);--ghost-hf:var(--green-deep);
  --alink-c:var(--brand-accent);--eyb-c:var(--brand-accent)}
.on-deep{background:var(--green-deep);color:var(--ivory);
  --ghost:var(--ivory);--ghost-hb:var(--ivory);--ghost-hf:var(--green-deep);
  --alink-c:var(--brand-accent);--eyb-c:var(--brand-accent)}
.on-ivory{background:var(--ivory)}
.on-stone{background:var(--stone)}
.on-white{background:#fff}

.needed{background:rgba(201,162,74,.22);border-bottom:1px dashed var(--brand-accent);padding:0 4px}

/* ══ 01 HEADER ══ */
.lhead{padding:calc(var(--nav-h) + 76px) 0 62px}
.lhead h1{font-size:clamp(32px,3.8vw,50px);color:var(--ivory);max-width:16ch;margin-top:14px}
.lhead .eyebrow{color:var(--brand-accent)}
.lhead-date{font-size:13px;letter-spacing:.06em;color:rgba(242,239,230,.7);margin-top:20px}

/* ══ 02 BODY ══ */
.lbody{padding:76px 0 104px}
.lgrid{display:grid;grid-template-columns:250px 1fr;gap:72px;align-items:start}

.ltoc{position:sticky;top:calc(var(--nav-h) + 24px)}
.ltoc-h{font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;
  color:var(--quiet);padding-bottom:14px;border-bottom:1px solid rgba(31,91,71,.24)}
.ltoc ol{list-style:none;margin:14px 0 0;padding:0;counter-reset:toc}
.ltoc li{counter-increment:toc}
.ltoc a{display:block;font-size:13px;color:var(--muted);padding:7px 0 7px 26px;position:relative;
  transition:color .3s var(--ease)}
.ltoc a::before{content:counter(toc,decimal-leading-zero);position:absolute;left:0;top:7px;
  font-family:var(--font-display);font-size:11px;color:var(--brand-accent)}
.ltoc a:hover{color:var(--green)}

.lcopy{max-width:70ch}
.lcopy h2{font-size:clamp(21px,2.2vw,27px);color:var(--green);margin-top:52px;
  padding-top:22px;border-top:1px solid rgba(31,91,71,.22);scroll-margin-top:calc(var(--nav-h) + 20px)}
.lcopy h2:first-child{margin-top:0;padding-top:0;border-top:0}
.lcopy h3{font-size:17px;color:var(--ink);margin-top:28px}
.lcopy p{font-size:16px;color:var(--muted);line-height:1.75;margin-top:16px}
.lcopy b{color:var(--ink)}

.llist{list-style:none;margin:18px 0 0;padding:0}
.llist li{font-size:16px;color:var(--muted);line-height:1.7;position:relative;padding:9px 0 9px 20px;
  border-bottom:1px solid rgba(31,91,71,.12)}
.llist li::before{content:"";position:absolute;left:0;top:19px;width:7px;height:7px;
  background:var(--brand-accent)}

.laddr{font-style:normal;font-size:16px;color:var(--muted);line-height:1.9;margin-top:18px;
  padding:22px 24px;background:#fff;border:1px solid rgba(31,91,71,.2)}
.laddr a{color:var(--green);font-weight:700}

@media(max-width:1024px){
  .lgrid{grid-template-columns:1fr;gap:44px}
  .ltoc{position:static;padding-bottom:26px;border-bottom:1px solid rgba(31,91,71,.22)}
  .ltoc ol{columns:2;column-gap:28px}
  .lbody{padding:56px 0 80px}
}
@media(max-width:600px){
  .lhead{padding:calc(var(--nav-h) + 52px) 0 46px}
  .ltoc ol{columns:1}
  .lcopy h2{margin-top:40px}
}
