/* --- Base Styles & Fonts --- */
:root {
    --bs-primary: #00FFAB; /* Mint Green Accent */
    --bs-primary-rgb: 0, 255, 171;
    --bs-dark: #141414;
    --bs-dark-rgb: 20, 20, 20;
    --bs-body-bg: var(--bs-dark);
    --bs-body-color: #ffffff;
    --bs-border-color-translucent: rgba(255, 255, 255, 0.15);
    --bs-secondary-color: rgba(255, 255, 255, 0.5);
    --bg-darker: #000000;
    --font-heading: 'Raleway', sans-serif;
    --font-sans-serif: 'Montserrat', sans-serif;
}

body {
    background-color: var(--bs-dark);
}

.font-heading, .navbar-brand {
    font-family: var(--font-heading);
    font-weight: 800;
}

.fw-bolder {
    font-weight: 900 !important;
}

/* --- Header & Navbar --- */
.bg-dark-custom {
    background-color: rgba(20, 20, 20, 0.7);
    backdrop-filter: blur(10px);
}
.nav-link {
    font-weight: 700;
    transition: color 0.3s;
}
.nav-link.active,
.nav-link:hover {
    color: var(--bs-primary) !important;
}

/* --- Hero Section --- */
.hero-section {
    background: radial-gradient(circle, rgba(20,20,20,0.8) 0%, rgba(20,20,20,1) 70%), url('brands-people-0adHvNJu-Zo-unsplash.jpg');
    background-size: cover;
    background-position: center;
    padding: 10rem 0;
}

.page-header-short {
    padding-top: 5rem;
    padding-bottom: 5rem;
}

/* --- Cards & Components --- */
.process-card {
    background-color: rgba(255,255,255,0.05);
    padding: 2rem;
    border-radius: 1rem;
    height: 100%;
    border: 1px solid rgba(255,255,255,0.1);
}
.process-number {
    font-family: var(--font-heading);
    font-size: 2rem;
    font-weight: 900;
    color: var(--bs-primary);
}

.service-item {
    text-align: center;
    padding: 2rem;
    height: 100%;
}

.form-card {
    background-color: var(--bg-darker);
    border-radius: 1rem !important;
}
.form-control {
    background-color: #2a2a2a;
    border-color: #444;
}
.form-control:focus {
    border-color: var(--bs-primary);
    box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.25);
}

/* --- Footer --- */
.footer-link {
    color: rgba(255, 255, 255, 0.5);
    text-decoration: none;
    transition: color 0.3s;
}
.footer-link:hover {
    color: white;
}

/* --- Animations --- */
.animate-fade-in-up {
    animation: fadeInUp 0.8s ease-out forwards;
    opacity: 0;
}
.animate-fade-in-right {
    animation: fadeInRight 0.8s ease-out forwards;
    opacity: 0;
}
.animate-fade-in-left {
    animation: fadeInLeft 0.8s ease-out forwards;
    opacity: 0;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(40px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
@keyframes fadeInRight {
    from {
        opacity: 0;
        transform: translateX(-40px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}
@keyframes fadeInLeft {
    from {
        opacity: 0;
        transform: translateX(40px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}
