﻿/* =============================================
   COLOR VARIABLES & BASE (Professional Legal Theme)
   ============================================= */
:root {
    --navy: #0B1B3D;
    --gold: #D4AF37;
    --bg-page: #F4F6F9;
    --bg-document: #FFFFFF;
    --text-main: #334155; /* Darker, highly readable slate gray */
    --border-subtle: #E2E8F0;
}

.legal-page-wrapper {
    background-color: var(--bg-page);
    min-height: 100vh;
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    color: var(--text-main);
}

.text-navy {
    color: var(--navy) !important;
}

.tracking-widest {
    letter-spacing: 0.1em;
}

.font-serif {
    font-family: "Lora", "Playfair Display", Georgia, serif;
}

/* =============================================
   1. COMPACT HERO BANNER
   ============================================= */
.legal-hero {
    background-color: var(--navy);
    padding-top: 4rem;
    padding-bottom: 7rem; /* Space for the document overlap */
    border-bottom: 3px solid var(--gold);
}

.hero-title {
    font-size: 2.5rem;
    font-weight: 700;
    font-family: "Lora", Georgia, serif;
    letter-spacing: -0.5px;
}

.hero-subtitle {
    font-size: 1rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

/* =============================================
   2. THE DOCUMENT CONTAINER
   ============================================= */
.mt-n-overlap {
    margin-top: -4rem !important;
}

/* The core container restricts width for perfect reading ergonomics */
.legal-document {
    background-color: var(--bg-document);
    border-radius: 8px; /* Professional, subtle rounding */
    border: 1px solid var(--border-subtle);
    max-width: 850px; /* Optimal reading width */
}

.document-header {
    padding: 1.5rem 3rem;
    background-color: #FAFAFA;
    border-radius: 8px 8px 0 0;
}

.document-body {
    padding: 3rem 3rem 4rem 3rem;
}

@media (max-width: 768px) {
    .document-header {
        padding: 1.5rem;
    }

    .document-body {
        padding: 2rem 1.5rem;
    }
}

/* =============================================
   3. TYPOGRAPHY & STRUCTURE
   ============================================= */
.document-title {
    font-size: 2rem;
    margin-bottom: 1.5rem;
    border-bottom: 2px solid var(--gold);
    display: inline-block;
    padding-bottom: 0.25rem;
}

.legal-heading {
    font-size: 1.25rem;
    color: var(--navy);
    font-weight: 600;
    margin-top: 2.5rem;
    margin-bottom: 1rem;
}

.legal-text {
    font-size: 1rem;
    line-height: 1.8;
    margin-bottom: 1rem;
    color: var(--text-main);
}

.legal-list {
    padding-left: 1.5rem;
    margin-bottom: 1.5rem;
}

    .legal-list li {
        font-size: 1rem;
        line-height: 1.8;
        margin-bottom: 0.75rem;
        color: var(--text-main);
    }

.legal-link {
    color: var(--navy);
    font-weight: 600;
    text-decoration: none;
    border-bottom: 1px solid var(--border-subtle);
    transition: all 0.2s ease;
}

    .legal-link:hover {
        color: var(--gold);
        border-bottom-color: var(--gold);
    }

.document-divider {
    border: 0;
    height: 1px;
    background-color: var(--border-subtle);
    margin: 4rem 0;
}

/* =============================================
   ANIMATIONS
   ============================================= */
@keyframes fadeInUp {
    0% {
        opacity: 0;
        transform: translateY(20px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

.animate-fade-up {
    animation: fadeInUp 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.delay-1 {
    animation-delay: 0.1s;
}

.delay-2 {
    animation-delay: 0.2s;
}
