/* ═══════════════════════════════════════════════════════════════════════════
   LED CTRL — legal pages (privacy, terms, cookies)
   Scoped under .lcl-root. Same tokens as header.css and footer.css.

   A legal page is a reading surface, so the whole design is one decision:
   a single measured column, generous leading, and clear heading hierarchy.
   No cards, no columns, nothing to look at but the text.
   ═══════════════════════════════════════════════════════════════════════════ */

.lcl-root {
    --ink:        #0E0F11;
    --ink-muted:  #565A61;
    --hairline:   #E3E1DE;
    --accent:     #FCA311;
    --rule:       #CFCBC4;

    --measure:    68ch;   /* ~75 characters — the readable line length */

    font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: var(--ink);

    max-width: var(--measure);
    margin: 0 auto;
    padding: 8px 20px 72px;
}

.lcl-root *,
.lcl-root *::before,
.lcl-root *::after { box-sizing: border-box; }

/* ── title block ─────────────────────────────────────────────────────────── */

.lcl-head {
    padding-bottom: 22px;
    margin-bottom: 34px;
    border-bottom: 1px solid var(--rule);
}

.lcl-eyebrow {
    margin: 0 0 10px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--accent);
}

.lcl-title {
    margin: 0;
    font-size: clamp(30px, 4.4vw, 44px);
    line-height: 1.12;
    font-weight: 600;
    letter-spacing: -0.022em;
    color: var(--ink);
}

/* ── body copy ───────────────────────────────────────────────────────────── */

.lcl-body { font-size: 15.5px; line-height: 1.72; color: var(--ink-muted); }

.lcl-body p { margin: 0 0 18px; }

/* The dateline and the opening paragraph carry the page, so they are set
   apart from the body: one small and tracked, one larger and darker. */
.lcl-body .lcl-updated {
    margin: 0 0 22px;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--ink-muted);
}
.lcl-body .lcl-lede {
    margin: 0 0 30px;
    font-size: 17.5px;
    line-height: 1.6;
    color: var(--ink);
}

.lcl-body h2 {
    margin: 42px 0 12px;
    padding-top: 18px;
    border-top: 1px solid var(--hairline);
    font-size: 19px;
    line-height: 1.3;
    font-weight: 600;
    letter-spacing: -0.012em;
    color: var(--ink);
}
.lcl-body h2:first-child { margin-top: 0; padding-top: 0; border-top: 0; }

.lcl-body h3 {
    margin: 26px 0 8px;
    font-size: 13.5px;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: var(--ink);
}

.lcl-body ul,
.lcl-body ol { margin: 0 0 18px; padding-left: 20px; }
.lcl-body li { margin-bottom: 9px; }
.lcl-body li::marker { color: var(--rule); }

.lcl-body strong { color: var(--ink); font-weight: 600; }

.lcl-body a {
    color: var(--ink);
    text-decoration: none;
    border-bottom: 1px solid var(--rule);
    transition: border-color 160ms cubic-bezier(0.16, 1, 0.3, 1);
}
.lcl-body a:hover { border-bottom-color: var(--accent); }

.lcl-root a:focus-visible {
    outline: 2px solid var(--ink);
    outline-offset: 3px;
    border-radius: 3px;
}

/* Open questions for the page owner. Deliberately loud: if one of these is
   still on the page, it should be impossible to miss. Never leave one on a
   published policy. */
.lcl-body .lcl-todo {
    margin: 0 0 18px;
    padding: 12px 14px;
    background: #FFF6E4;
    border-left: 3px solid var(--accent);
    font-size: 13px;
    line-height: 1.55;
    color: #6B4E12;
}

/* ── sibling documents ───────────────────────────────────────────────────── */

.lcl-siblings {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 26px;
    margin-top: 48px;
    padding-top: 20px;
    border-top: 1px solid var(--rule);
}
.lcl-siblings a {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: var(--ink-muted);
    text-decoration: none;
    transition: color 160ms cubic-bezier(0.16, 1, 0.3, 1);
}
.lcl-siblings a:hover { color: var(--accent); }

/* ── responsive / print ──────────────────────────────────────────────────── */

@media (max-width: 720px) {
    .lcl-root { padding: 4px 18px 52px; }
    .lcl-body { font-size: 15px; }
    .lcl-body .lcl-lede { font-size: 16.5px; }
    .lcl-body h2 { margin-top: 34px; font-size: 17.5px; }
}

@media print {
    .lcl-siblings { display: none; }
    .lcl-root { max-width: none; color: #000; }
    .lcl-body { color: #222; }
    .lcl-body a { border-bottom: 0; }
    .lcl-body .lcl-todo { border-left-color: #000; background: #F2F2F2; }
}

/* Draft banner — only ever rendered on a ?lcl=draft preview URL. */
.lcl-draftflag {
    margin: 0 0 26px;
    padding: 11px 14px;
    background: #0E0F11;
    color: #FFFFFF;
    border-radius: 6px;
    font-size: 11.5px;
    font-weight: 600;
    letter-spacing: 0.02em;
}
