.legal-hero { padding: 54px 0 36px; color: #fff; background: linear-gradient(135deg, #0b4779, #087f78); }
.legal-hero h1 { color: #fff; font-size: clamp(2rem, 5vw, 3rem); }
.legal-hero p { max-width: 780px; margin: 0; color: rgba(255,255,255,.82); }
.legal-shell { padding: 45px 0 70px; }
.legal-card { padding: clamp(22px, 5vw, 42px); border: 1px solid #dce7f0; border-radius: 20px; background: #fff; box-shadow: 0 16px 50px rgba(17,59,92,.07); }
.legal-card h2 { margin-top: 34px; padding-top: 6px; font-size: 1.45rem; }
.legal-card h2:first-child { margin-top: 0; }
.legal-card h3 { margin-top: 22px; font-size: 1.08rem; }
.legal-card p, .legal-card li { color: #40576a; }
.legal-card table { width: 100%; margin: 18px 0; border-collapse: collapse; font-size: .86rem; }
.legal-card th, .legal-card td { padding: 12px; border: 1px solid #dce7f0; text-align: left; vertical-align: top; }
.legal-card th { color: #163e5e; background: #eef6fb; }
.legal-callout { padding: 16px 18px; border-left: 4px solid #ffb300; border-radius: 10px; background: #fff9e8; }
.legal-contact { padding: 18px; border-radius: 13px; background: #edf7ff; }
.legal-updated { color: #6d8090; font-size: .82rem; }
@media (max-width: 767.98px) {
    .legal-hero { padding: 38px 0 28px; }
    .legal-shell { padding: 28px 0 54px; }
    .legal-table-wrap { overflow-x: auto; }
    .legal-card table { min-width: 680px; }
}

