/* Legal and contact pages. Depends on the base.css tokens. */
.lg { min-height: 100vh; min-height: 100svh; display: flex; flex-direction: column; background: radial-gradient(1100px 700px at 50% -10%, #0c1219, var(--bg) 70%); }
.lg :focus-visible { outline: 2px solid var(--gold-hi); outline-offset: 3px; }

.lg__top { display: flex; justify-content: space-between; align-items: center; gap: var(--s4); padding: var(--s5) var(--gutter); border-bottom: 1px solid var(--line-soft); }
.lg__mark { font-family: var(--f-display); font-weight: 700; letter-spacing: .3em; font-size: 15px; color: var(--text); }
.lg__nav { display: flex; flex-wrap: wrap; gap: var(--s5); }
.lg__nav a, .lg__foot a { position: relative; font-family: var(--f-label); font-size: 13px; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--muted); padding: 6px 0; transition: color .25s; }
.lg__nav a:hover, .lg__foot a:hover, .lg__nav a[aria-current="page"] { color: var(--gold-hi); }
.lg__nav a[aria-current="page"]::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: var(--gold); }

.lg__main { flex: 1; width: 100%; max-width: 820px; margin-inline: auto; padding: var(--s8) var(--gutter) var(--s9); }
.lg__eyebrow { display: block; font-family: var(--f-label); font-size: 12px; font-weight: 600; letter-spacing: .34em; text-transform: uppercase; color: var(--gold); margin-bottom: var(--s3); }
.lg h1 { font-family: var(--f-display); font-weight: 700; font-size: clamp(34px, 5.2vw, 58px); line-height: 1.05; margin: 0 0 var(--s4); color: var(--text); }
.lg__meta { font-family: var(--f-label); font-size: 13px; letter-spacing: .18em; text-transform: uppercase; color: var(--dim); margin: 0 0 var(--s6); }
.lg__lead { font-size: var(--t-lead); line-height: 1.45; color: var(--muted); margin: 0 0 var(--s6); }

.lg__box { border: 1px solid var(--line); background: linear-gradient(180deg, rgba(15,21,30,.7), rgba(7,10,15,.8)); padding: var(--s5); margin: 0 0 var(--s7); }
.lg__box strong { color: var(--gold-hi); font-weight: 700; }
.lg__box p { margin: 0; }
.lg__box p + p { margin-top: var(--s3); }

.lg__toc { margin: 0 0 var(--s7); padding: 0; list-style: none; columns: 2; column-gap: var(--s6); }
.lg__toc li { break-inside: avoid; margin: 0 0 var(--s2); }
.lg__toc a { color: var(--muted); font-size: 17px; border-bottom: 1px solid transparent; transition: color .2s, border-color .2s; }
.lg__toc a:hover { color: var(--gold-hi); border-color: var(--gold); }
@media (max-width: 640px) { .lg__toc { columns: 1; } }

.lg section { margin: 0 0 var(--s7); scroll-margin-top: var(--s7); }
.lg h2 { font-family: var(--f-display); font-weight: 700; font-size: clamp(22px, 1.4vw + 14px, 30px); line-height: 1.15; margin: 0 0 var(--s4); color: var(--text); }
.lg h2 span { color: var(--gold); margin-right: .5em; font-size: .8em; }
.lg p, .lg li { font-size: 18px; line-height: 1.65; color: #cfd6e0; }
.lg p { margin: 0 0 var(--s4); }
.lg ul { margin: 0 0 var(--s4); padding-left: 1.3em; }
.lg li { margin-bottom: var(--s2); }
.lg li::marker { color: var(--gold); }
.lg p a, .lg li a, .lg__box a { color: var(--gold-hi); border-bottom: 1px solid rgba(243,209,154,.4); transition: border-color .2s; }
.lg p a:hover, .lg li a:hover, .lg__box a:hover { border-color: var(--gold-hi); }

.lg__cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: var(--gap); margin: 0 0 var(--s7); }
.lg__card { border: 1px solid var(--line-soft); background: rgba(10,14,20,.7); padding: var(--s5); }
.lg__card h2 { font-size: 20px; margin-bottom: var(--s3); }
.lg__card p { font-size: 17px; margin-bottom: var(--s3); }
.lg__card p:last-child { margin-bottom: 0; }

.lg__foot { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: var(--s4); padding: var(--s5) var(--gutter); border-top: 1px solid var(--line-soft); }
.lg__foot nav { display: flex; flex-wrap: wrap; gap: var(--s5); }
.lg__foot small { font-family: var(--f-label); font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: var(--dim); }
