
* {
    scroll-behavior: smooth
}

body {
    font-family: 'Inter',sans-serif
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

.animate-fade-in-up {
    animation: fadeInUp .8s ease-out forwards
}

.delay-100 {
    animation-delay: .1s
}

.delay-200 {
    animation-delay: .2s
}

.delay-300 {
    animation-delay: .3s
}

.btn-warm {
    background: linear-gradient(135deg,#D3AF7B 0%,#c49a4a 100%);
    color: #1e293b;
    transition: all .3s cubic-bezier(.4,0,.2,1)
}

    .btn-warm:hover {
        transform: translateY(-2px);
        box-shadow: 0 12px 32px rgba(211,175,123,.35)
    }

.btn-warm-outline {
    border: 1px solid rgba(255,255,255,.35);
    color: #fff;
    background: transparent;
    transition: all .3s cubic-bezier(.4,0,.2,1)
}

    .btn-warm-outline:hover {
        background: #fff;
        color: #053d7c
    }

.gradient-hero {
    background: linear-gradient(135deg,#053d7c 0%,#6b8cae 100%)
}

.sidebar-link {
    display: block;
    padding: .5rem .75rem;
    border-radius: .5rem;
    font-size: .875rem;
    color: #475569;
    transition: all .2s;
    border-left: 3px solid transparent;
    text-align: left;
    width: 100%
}

    .sidebar-link:hover {
        background: #f8fafc;
        color: #053d7c
    }

    .sidebar-link.active {
        background: #f8fafc;
        color: #053d7c;
        font-weight: 600;
        border-left-color: #053d7c
    }

.legal-section h2 {
    font-size: 1.25rem;
    font-weight: 700;
    color: #053d7c;
    margin-bottom: 1rem
}

.legal-section h3 {
    font-size: 1.1rem;
    font-weight: 600;
    color: #1e293b;
    margin: 1.25rem 0 .5rem
}

.legal-section p {
    font-size: .95rem;
    line-height: 1.75;
    color: #475569;
    margin-bottom: 1rem
}

.legal-section ol {
    counter-reset: none;
    list-style: none;
    padding: 0
}

.legal-section li {
    font-size: .95rem;
    line-height: 1.75;
    color: #475569;
    margin-bottom: .75rem
}

@media(max-width:1024px) {
    .sidebar-sticky {
        display: none
    }
}

.back-to-top {
    opacity: 0;
    pointer-events: none;
    transition: opacity .3s
}

    .back-to-top.visible {
        opacity: 1;
        pointer-events: auto
    }
