:root {
            --primary-red: #9D2235;
            --primary-gold: #D4AF37;
            --primary-black: #222222;
            --primary-white: #FFFFFF;
            --gray-light: #F9F9F9;
            --gray-medium: #E0E0E0;
        }
        
        body {
            font-family: 'Montserrat', sans-serif;
            color: var(--primary-black);
            scroll-behavior: smooth;
        }
        
        .font-heading {
            font-family: 'Playfair Display', serif;
        }
        
        .bg-primary-red {
            background-color: var(--primary-red);
        }
        
        .text-primary-red {
            color: var(--primary-red);
        }
        
        .bg-primary-gold {
            background-color: var(--primary-gold);
        }
        
        .text-primary-gold {
            color: var(--primary-gold);
        }
        
        .border-primary-gold {
            border-color: var(--primary-gold);
        }
        
        .text-primary-black {
            color: var(--primary-black);
        }
        
        .bg-primary-black {
            background-color: var(--primary-black);
        }
        
        .bg-primary-white {
            background-color: var(--primary-white);
        }
        
        /* Animation classes */
        .fade-in {
            animation: fadeIn 1s ease-in-out;
        }
        
        .slide-up {
            animation: slideUp 0.8s ease-out;
        }
        
        .slide-in-right {
            animation: slideInRight 0.8s ease-out;
        }
        
        .slide-in-left {
            animation: slideInLeft 0.8s ease-out;
        }
        
        .scale-in {
            animation: scaleIn 0.6s ease-out;
        }
        
        .rotate-in {
            animation: rotateIn 0.8s ease-out;
        }
        
        /* Service card hover effects */
        .service-card {
            transition: all 0.3s ease;
            border-bottom: 3px solid transparent;
        }
        
        .service-card:hover {
            transform: translateY(-10px);
            box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
            border-bottom: 3px solid var(--primary-gold);
        }
        
        /* Button hover effects */
        .btn-primary {
            position: relative;
            overflow: hidden;
            z-index: 1;
            transition: all 0.3s ease;
        }
        
        .btn-primary:before {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 100%;
            height: 100%;
            background: var(--primary-gold);
            transition: all 0.3s ease;
            z-index: -1;
        }
        
        .btn-primary:hover:before {
            left: 0;
        }
        
        .btn-secondary {
            transition: all 0.3s ease;
        }
        
        .btn-secondary:hover {
            background-color: var(--primary-red);
            color: var(--primary-white);
        }
        
        /* Animation keyframes */
        @keyframes fadeIn {
            from { opacity: 0; }
            to { opacity: 1; }
        }
        
        @keyframes slideUp {
            from { transform: translateY(50px); opacity: 0; }
            to { transform: translateY(0); opacity: 1; }
        }
        
        @keyframes slideInRight {
            from { transform: translateX(50px); opacity: 0; }
            to { transform: translateX(0); opacity: 1; }
        }
        
        @keyframes slideInLeft {
            from { transform: translateX(-50px); opacity: 0; }
            to { transform: translateX(0); opacity: 1; }
        }
        
        @keyframes scaleIn {
            from { transform: scale(0.8); opacity: 0; }
            to { transform: scale(1); opacity: 1; }
        }
        
        @keyframes rotateIn {
            from { transform: rotate(-10deg); opacity: 0; }
            to { transform: rotate(0); opacity: 1; }
        }
        
        /* Number counter animation */
        .counter-value {
            transition: all 2s ease;
        }
        
        /* Animated underline for links */
        .animated-underline {
            position: relative;
            text-decoration: none;
        }
        
        .animated-underline::after {
            content: '';
            position: absolute;
            width: 0;
            height: 2px;
            bottom: -4px;
            left: 0;
            background-color: var(--primary-gold);
            transition: width 0.3s ease;
        }
        
        .animated-underline:hover::after {
            width: 100%;
        }
        
        /* Parallax effect */
        .parallax {
            background-attachment: fixed;
            background-position: center;
            background-repeat: no-repeat;
            background-size: cover;
        }
        
        /* Custom scrollbar */
        ::-webkit-scrollbar {
            width: 10px;
        }
        
        ::-webkit-scrollbar-track {
            background: var(--gray-light);
        }
        
        ::-webkit-scrollbar-thumb {
            background: var(--primary-gold);
            border-radius: 5px;
        }
        
        ::-webkit-scrollbar-thumb:hover {
            background: var(--primary-red);
        }
        
        /* Mobile menu animation */
        .mobile-menu-enter {
            transform: translateX(-100%);
            transition: transform 0.3s ease-out;
        }
        
        .mobile-menu-enter-active {
            transform: translateX(0);
        }
        
        .mobile-menu-exit {
            transform: translateX(0);
            transition: transform 0.3s ease-in;
        }
        
        .mobile-menu-exit-active {
            transform: translateX(-100%);
        }
        
        /* Smooth scroll behavior */
        html {
            scroll-behavior: smooth;
        }
        
        /* Reveal on scroll animations */
        .reveal {
            opacity: 0;
            transform: translateY(30px);
            transition: all 1s ease;
        }
        
        .reveal.active {
            opacity: 1;
            transform: translateY(0);
        }

        /* Hero text animation */
        .hero-text span {
            display: inline-block;
            opacity: 0;
            transform: translateY(20px);
            animation: fadeInWords 0.5s forwards;
        }

        @keyframes fadeInWords {
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        /* Industry card hover effect */
        .industry-card {
            transition: all 0.4s ease;
            overflow: hidden;
        }

        .industry-card:hover .industry-icon {
            transform: translateY(-10px);
        }

        .industry-card:hover .industry-overlay {
            opacity: 0.8;
        }

        .industry-card:hover .industry-content {
            transform: translateY(-10px);
        }

        .industry-icon {
            transition: all 0.4s ease;
        }

        .industry-overlay {
            transition: all 0.4s ease;
        }

        .industry-content {
            transition: all 0.4s ease;
        }

        /* Stats counter */
        .stats-item {
            position: relative;
        }

        .stats-item::after {
            content: '';
            position: absolute;
            bottom: -10px;
            left: 50%;
            transform: translateX(-50%);
            width: 30px;
            height: 3px;
            background-color: var(--primary-gold);
        }

        /* Testimonial slider */
        .testimonial-slider {
            overflow: hidden;
            position: relative;
        }

        .testimonial-container {
            display: flex;
            transition: transform 0.5s ease;
        }

        .testimonial {
            min-width: 100%;
        }

        /* Custom radio buttons */
        .custom-radio {
            display: flex;
            justify-content: center;
            margin-top: 20px;
        }

        .custom-radio span {
            width: 12px;
            height: 12px;
            margin: 0 5px;
            border-radius: 50%;
            background-color: var(--gray-medium);
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .custom-radio span.active {
            background-color: var(--primary-gold);
            transform: scale(1.2);
        }

        .navbar {
            transition: background-color 0.3s ease;
        }
        .animated-underline {
            position: relative;
        }
        .animated-underline::after {
            content: '';
            position: absolute;
            width: 0;
            height: 2px;
            bottom: -4px;
            left: 0;
            background-color: #e53e3e;
            transition: width 0.3s ease;
        }
        .animated-underline:hover::after {
            width: 100%;
        }