/* cycle™ — Legal centre. Ports Legal.dc.html. */
.lg-head { max-width: var(--container-wide); margin: 0 auto; padding: clamp(40px,6vw,84px) clamp(20px,5vw,80px) clamp(28px,4vw,48px); }
.lg-head__title { margin: 16px 0 0; font-family: var(--font-display); font-weight: 900; font-size: clamp(2.4rem,5.5vw,4.4rem); line-height: 0.96; letter-spacing: -0.03em; }
.lg-head__updated { display: block; margin-top: 14px; font-family: var(--font-mono); font-size: var(--t-micro); letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-faint); }

.lg-body { max-width: var(--container-wide); margin: 0 auto; padding: 0 clamp(20px,5vw,80px) clamp(64px,10vh,140px); display: grid; grid-template-columns: 268px minmax(0,1fr); gap: clamp(28px,5vw,72px); align-items: start; }
.lg-rail { position: sticky; top: 96px; display: flex; flex-direction: column; gap: 26px; }
.lg-rail__label { display: block; font-family: var(--font-mono); font-size: var(--t-micro); letter-spacing: 0.14em; text-transform: uppercase; color: var(--text-faint); margin-bottom: 10px; }
.lg-rail__docs { display: flex; flex-direction: column; }
.lg-rail__doc { text-align: left; width: 100%; padding: 11px 14px; border-left: 2px solid transparent; color: var(--text-muted); font-size: var(--t-small); transition: var(--t-hover); }
.lg-rail__doc:hover { color: var(--text-strong); }
.lg-rail__doc.is-active { border-left-color: var(--text-strong); border-radius: 0 var(--r-sm) var(--r-sm) 0; background: var(--surface-sunk); color: var(--text-strong); font-weight: 600; }
.lg-rail__toc { display: flex; flex-direction: column; gap: 9px; padding-left: 14px; border-left: 1px solid var(--hairline); }
.lg-rail__tocitem { font-family: var(--font-mono); font-size: var(--t-micro); letter-spacing: 0.04em; color: var(--text-muted); }
.lg-rail__tocitem:hover { color: var(--text-strong); }

.lg-content { max-width: 740px; min-width: 0; }
.lg-intro { margin: 0 0 8px; font-size: var(--t-body-lg); line-height: 1.6; color: var(--text-body); }
.lg-section { padding-top: clamp(32px,4vw,48px); scroll-margin-top: 90px; }
.lg-section__n { display: block; font-family: var(--font-mono); font-size: var(--t-caption); font-weight: 700; color: var(--text-faint); margin-bottom: 6px; }
.lg-section__h { margin: 0 0 14px; font-family: var(--font-display); font-weight: 700; font-size: var(--t-h3); letter-spacing: var(--ls-tight); text-wrap: balance; }
.lg-section__body { display: flex; flex-direction: column; gap: 14px; }
.lg-section__body p { margin: 0; font-size: var(--t-body); line-height: 1.7; color: var(--text-body); text-wrap: pretty; }
.lg-questions { margin-top: clamp(40px,5vw,64px); border-top: 1px solid var(--hairline); padding-top: 22px; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.lg-questions span { font-family: var(--font-mono); font-size: var(--t-micro); letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-faint); }
.lg-questions a { font-family: var(--font-mono); font-size: var(--t-micro); letter-spacing: 0.06em; color: var(--text-strong); border-bottom: 1px solid var(--text-strong); padding-bottom: 1px; }

@media (max-width: 820px) {
  .lg-body { grid-template-columns: 1fr; }
  .lg-rail { position: static; }
}
