/* ═══════════════════════════════════════════════════════
   LEGAL PAGES — Privacy Policy / Terms & Conditions
   Hero uses the site-wide hero contract (section.hero-section
   in motion.css) — this file styles the hero foreground and
   the typographic body sections.
═══════════════════════════════════════════════════════ */

section.hero-section.legal-hero .legal-hero-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--color-accent);
}

section.hero-section.legal-hero h1 {
    color: #fff;
    font-weight: 800;
    letter-spacing: -0.02em;
    font-size: clamp(2rem, 4.5vw, 3.1rem);
    max-width: 720px;
}

    section.hero-section.legal-hero h1 span {
        color: var(--color-accent-bright);
    }

section.hero-section.legal-hero .legal-hero-desc {
    color: rgba(255, 255, 255, 0.85);
    font-size: clamp(0.95rem, 1.4vw, 1.1rem);
    line-height: 1.7;
}

section.hero-section.legal-hero .legal-hero-meta {
    color: rgba(255, 255, 255, 0.55);
    font-size: 0.82rem;
    margin: 0;
}

/* ── Body ── */
.legal-body {
    /* Section-fluid: fill the viewport gracefully with modest side padding */
    max-width: 1320px;
    margin: 0 auto;
    padding: 48px 4vw 72px;
}

.legal-section {
    margin-bottom: 40px;
}

    .legal-section h2 {
        font-size: 1.3rem;
        font-weight: 800;
        color: var(--color-primary-deep);
        letter-spacing: -0.01em;
        margin-bottom: 14px;
        padding-bottom: 10px;
        border-bottom: 2px solid rgba(var(--color-accent-rgb), 0.55);
        display: inline-block;
    }

    .legal-section h3 {
        font-size: 1.02rem;
        font-weight: 700;
        color: var(--color-primary);
        margin: 22px 0 8px;
    }

    .legal-section p,
    .legal-section li {
        font-size: 0.95rem;
        line-height: 1.8;
        color: var(--color-text);
    }

    .legal-section ul,
    .legal-section ol {
        padding-left: 1.3rem;
        margin-bottom: 1rem;
    }

    .legal-section li {
        margin-bottom: 8px;
    }

    .legal-section li::marker {
        color: var(--color-accent-dim);
        font-weight: 700;
    }

    .legal-section a {
        font-weight: 600;
        text-decoration: underline !important;
    }

/* Highlight card — grievance officer / key contacts */
.legal-card {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-left: 4px solid var(--color-accent);
    border-radius: 0.75rem;
    padding: 20px 24px;
    margin: 18px 0;
}

    .legal-card p {
        margin: 0 0 6px;
    }

    .legal-card strong {
        color: var(--color-primary-deep);
    }

/* Definition-style table for data categories */
.legal-table-wrap {
    overflow-x: auto;
}

.legal-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.92rem;
    margin: 12px 0 18px;
}

    .legal-table th {
        background: var(--color-primary);
        color: #fff;
        text-align: left;
        font-weight: 700;
        padding: 10px 14px;
        font-size: 0.85rem;
        letter-spacing: 0.03em;
    }

    .legal-table td {
        border: 1px solid var(--color-border);
        padding: 10px 14px;
        vertical-align: top;
        line-height: 1.7;
        color: var(--color-text);
    }

    .legal-table tr:nth-child(even) td {
        background: var(--color-surface);
    }
