/* ════════════════════════════════════════════════════════════════════
   LEGAL PAGES — dark "SIGNAL TERMINAL" theme (matches site v3).
   Self-contained reveal (legal markup uses .reveal, not the home .rv).
   ════════════════════════════════════════════════════════════════════ */

.legal-page {
    max-width: 880px;
    margin: 0 auto;
    padding: clamp(7rem, 16vh, 11rem) clamp(18px, 4vw, 44px) 5rem;
    min-height: 100vh;
    position: relative;
    z-index: 1;
}

/* Reveal — fades content in; if JS is off the fallback class still shows it */
.reveal {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity 0.6s ease, transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}
.reveal.visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
    .reveal { opacity: 1; transform: none; transition: none; }
}

.legal-head {
    margin-bottom: clamp(2.5rem, 6vh, 4rem);
    padding-bottom: 2rem;
    border-bottom: 1px dashed var(--line-2);
}

.legal-tag {
    font-family: var(--font-hud);
    font-size: 10px;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: var(--ember);
    display: inline-block;
    margin-bottom: 1rem;
}

.legal-title {
    font-family: var(--font-pixel);
    font-size: clamp(2.2rem, 5vw, 3.6rem);
    font-weight: 400;
    color: var(--tx-1);
    margin-bottom: 0.8rem;
    letter-spacing: 3px;
    text-transform: uppercase;
    line-height: 1.05;
}

.legal-updated {
    font-family: var(--font-hud);
    color: var(--tx-3);
    font-size: 0.72rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    margin: 0;
}

.legal-body { display: block; }

.legal-section {
    margin-bottom: clamp(1.8rem, 4vh, 2.6rem);
}

.legal-section h2 {
    font-family: var(--font-hud);
    font-size: 0.92rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--tx-1);
    margin-bottom: 0.85rem;
    padding-left: 1rem;
    border-left: 3px solid var(--ember);
}

.legal-section p,
.legal-section ul {
    color: var(--tx-2);
    font-size: 0.96rem;
    line-height: 1.8;
    margin-bottom: 0.75rem;
}

.legal-section ul { padding-left: 1.5rem; }
.legal-section li { margin-bottom: 0.45rem; }
.legal-section li::marker { color: var(--tx-3); }

.legal-section strong { color: var(--tx-1); font-weight: 600; }

.legal-section a {
    color: var(--ember);
    text-decoration: none;
    border-bottom: 1px solid rgba(249, 115, 56, 0.35);
    transition: border-color 0.2s ease;
}
.legal-section a:hover { border-color: var(--ember); }

/* ───── RESPONSIVE ─────────────────────────────────────────────────── */
@media (max-width: 600px) {
    .legal-page { padding-top: 6rem; padding-bottom: 3rem; }
    .legal-head { margin-bottom: 2.2rem; padding-bottom: 1.5rem; }
    .legal-updated { font-size: 0.64rem; }
    .legal-section { margin-bottom: 1.8rem; }
    .legal-section h2 { font-size: 0.82rem; }
    .legal-section p, .legal-section ul { font-size: 0.9rem; line-height: 1.72; }
    .legal-section ul { padding-left: 1.2rem; }
}
