:root {
            --dark-navy: #232e3c;
            --deep-blue: #336F94;
            --white: #FFFFFF;
            --gray: #9B9B9B;
            --sky-blue: #5FAFDE;
        }
        
        /* Lato Thin (100) */
        @font-face {
            font-family: 'Lato';
            src: url('../fonts/lato/lato-v24-latin-100.woff2') format('woff2');
            font-weight: 100;
            font-style: normal;
            font-display: swap;
        }

        /* Lato Thin Italic (100i) */
        @font-face {
            font-family: 'Lato';
            src: url('../fonts/lato/lato-v24-latin-100italic.woff2') format('woff2');
            font-weight: 100;
            font-style: italic;
            font-display: swap;
        }

        /* Lato Light (300) */
        @font-face {
            font-family: 'Lato';
            src: url('../fonts/lato/lato-v24-latin-300.woff2') format('woff2');
            font-weight: 300;
            font-style: normal;
            font-display: swap;
        }

        /* Lato Light Italic (300i) */
        @font-face {
            font-family: 'Lato';
            src: url('../fonts/lato/lato-v24-latin-300italic.woff2') format('woff2');
            font-weight: 300;
            font-style: italic;
            font-display: swap;
        }

        /* Lato Regular (400) */
        @font-face {
            font-family: 'Lato';
            src: url('../fonts/lato/lato-v24-latin-regular.woff2') format('woff2');
            font-weight: 400;
            font-style: normal;
            font-display: swap;
        }

        /* Lato Italic (400i) */
        @font-face {
            font-family: 'Lato';
            src: url('../fonts/lato/lato-v24-latin-italic.woff2') format('woff2');
            font-weight: 400;
            font-style: italic;
            font-display: swap;
        }

        /* Lato Bold (700) */
        @font-face {
            font-family: 'Lato';
            src: url('../fonts/lato/lato-v24-latin-700.woff2') format('woff2');
            font-weight: 700;
            font-style: normal;
            font-display: swap;
        }

        /* Lato Bold Italic (700i) */
        @font-face {
            font-family: 'Lato';
            src: url('../fonts/lato/lato-v24-latin-700italic.woff2') format('woff2');
            font-weight: 700;
            font-style: italic;
            font-display: swap;
        }

        /* Lato Black (900) */
        @font-face {
            font-family: 'Lato';
            src: url('../fonts/lato/lato-v24-latin-900.woff2') format('woff2');
            font-weight: 900;
            font-style: normal;
            font-display: swap;
        }

        /* Lato Black Italic (900i) */
        @font-face {
            font-family: 'Lato';
            src: url('../fonts/lato/lato-v24-latin-900italic.woff2') format('woff2');
            font-weight: 900;
            font-style: italic;
            font-display: swap;
        }

        /* Montserrat Thin (100) */
        @font-face {
            font-family: 'Montserrat';
            src: url('../fonts/montserrat/montserrat-v31-latin-100.woff2') format('woff2');
            font-weight: 100;
            font-style: normal;
            font-display: swap;
        }

        @font-face {
            font-family: 'Montserrat';
            src: url('../fonts/montserrat/montserrat-v31-latin-100italic.woff2') format('woff2');
            font-weight: 100;
            font-style: italic;
            font-display: swap;
        }

        /* Montserrat ExtraLight (200) */
        @font-face {
            font-family: 'Montserrat';
            src: url('../fonts/montserrat/montserrat-v31-latin-200.woff2') format('woff2');
            font-weight: 200;
            font-style: normal;
            font-display: swap;
        }

        @font-face {
            font-family: 'Montserrat';
            src: url('../fonts/montserrat/montserrat-v31-latin-200italic.woff2') format('woff2');
            font-weight: 200;
            font-style: italic;
            font-display: swap;
        }

        /* Montserrat Light (300) */
        @font-face {
            font-family: 'Montserrat';
            src: url('../fonts/montserrat/montserrat-v31-latin-300.woff2') format('woff2');
            font-weight: 300;
            font-style: normal;
            font-display: swap;
        }

        @font-face {
            font-family: 'Montserrat';
            src: url('../fonts/montserrat/montserrat-v31-latin-300italic.woff2') format('woff2');
            font-weight: 300;
            font-style: italic;
            font-display: swap;
        }

        /* Montserrat Regular (400) */
        @font-face {
            font-family: 'Montserrat';
            src: url('../fonts/montserrat/montserrat-v31-latin-regular.woff2') format('woff2');
            font-weight: 400;
            font-style: normal;
            font-display: swap;
        }

        @font-face {
            font-family: 'Montserrat';
            src: url('../fonts/montserrat/montserrat-v31-latin-italic.woff2') format('woff2');
            font-weight: 400;
            font-style: italic;
            font-display: swap;
        }

        /* Montserrat Medium (500) */
        @font-face {
            font-family: 'Montserrat';
            src: url('../fonts/montserrat/montserrat-v31-latin-500.woff2') format('woff2');
            font-weight: 500;
            font-style: normal;
            font-display: swap;
        }

        @font-face {
            font-family: 'Montserrat';
            src: url('../fonts/montserrat/montserrat-v31-latin-500italic.woff2') format('woff2');
            font-weight: 500;
            font-style: italic;
            font-display: swap;
        }

        /* Montserrat SemiBold (600) */
        @font-face {
            font-family: 'Montserrat';
            src: url('../fonts/montserrat/montserrat-v31-latin-600.woff2') format('woff2');
            font-weight: 600;
            font-style: normal;
            font-display: swap;
        }

        @font-face {
            font-family: 'Montserrat';
            src: url('../fonts/montserrat/montserrat-v31-latin-600italic.woff2') format('woff2');
            font-weight: 600;
            font-style: italic;
            font-display: swap;
        }

        /* Montserrat Bold (700) */
        @font-face {
            font-family: 'Montserrat';
            src: url('../fonts/montserrat/montserrat-v31-latin-700.woff2') format('woff2');
            font-weight: 700;
            font-style: normal;
            font-display: swap;
        }

        @font-face {
            font-family: 'Montserrat';
            src: url('../fonts/montserrat/montserrat-v31-latin-700italic.woff2') format('woff2');
            font-weight: 700;
            font-style: italic;
            font-display: swap;
        }

        /* Montserrat ExtraBold (800) */
        @font-face {
            font-family: 'Montserrat';
            src: url('../fonts/montserrat/montserrat-v31-latin-800.woff2') format('woff2');
            font-weight: 800;
            font-style: normal;
            font-display: swap;
        }

        @font-face {
            font-family: 'Montserrat';
            src: url('../fonts/montserrat/montserrat-v31-latin-800italic.woff2') format('woff2');
            font-weight: 800;
            font-style: italic;
            font-display: swap;
        }

        /* Montserrat Black (900) */
        @font-face {
            font-family: 'Montserrat';
            src: url('../fonts/montserrat/montserrat-v31-latin-900.woff2') format('woff2');
            font-weight: 900;
            font-style: normal;
            font-display: swap;
        }

        @font-face {
            font-family: 'Montserrat';
            src: url('../fonts/montserrat/montserrat-v31-latin-900italic.woff2') format('woff2');
            font-weight: 900;
            font-style: italic;
            font-display: swap;
        }


        /* Apply globally */
        body {
            font-family: 'Lato', sans-serif;
            color: #333;
            overflow-x: hidden;
        }

        h1, h2, h3, h4, h5, h6 {
            font-family: 'Montserrat', sans-serif;
            font-weight: 600;
        }

        
         /* Animations */
        .fade-in {
            opacity: 0;
            transform: translateY(20px);
            transition: opacity 0.6s ease, transform 0.6s ease;
        }
        
        .fade-in.visible {
            opacity: 1;
            transform: translateY(0);
        }
        
        /* Preloader */
        /* Preloader Styles */
        #preloader {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: var(--dark-navy);
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            z-index: 9999;
            transition: opacity 0.5s ease-out;
        }
        
        .preloader-logo {
            width: 80px;
            height: 80px;
            margin-bottom: 20px;
            position: relative;
        }
        
        .preloader-logo-inner {
            width: 100%;
            height: 100%;
            border: 3px solid var(--sky-blue);
            border-radius: 50%;
            position: relative;
            overflow: hidden;
        }
        
        .preloader-logo-inner:before {
            content: '';
            position: absolute;
            top: -50%;
            left: -50%;
            width: 200%;
            height: 200%;
            background: conic-gradient(transparent, var(--deep-blue), transparent, transparent);
            animation: rotate 2s linear infinite;
        }
        
        .preloader-logo-inner:after {
            content: 'CL';
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 70px;
            height: 70px;
            background: var(--dark-navy);
            border-radius: 50%;
            display: flex;
            justify-content: center;
            align-items: center;
            color: var(--sky-blue);
            font-family: 'Montserrat', sans-serif;
            font-weight: 700;
            font-size: 24px;
            letter-spacing: 1px;
        }
        
        .preloader-text {
            color: var(--white);
            font-family: 'Montserrat', sans-serif;
            font-weight: 500;
            font-size: 18px;
            margin-top: 15px;
            letter-spacing: 1px;
        }
        
        .preloader-progress {
            width: 200px;
            height: 4px;
            background: rgba(255, 255, 255, 0.1);
            border-radius: 4px;
            margin-top: 15px;
            overflow: hidden;
        }
        
        .preloader-progress-bar {
            height: 100%;
            width: 0%;
            background: linear-gradient(90deg, var(--sky-blue), var(--deep-blue));
            border-radius: 4px;
            transition: width 0.4s ease;
        }
        
        @keyframes rotate {
            0% {
                transform: rotate(0deg);
            }
            100% {
                transform: rotate(360deg);
            }
        }
        
        /* Hide preloader when loaded */
        .loaded #preloader {
            opacity: 0;
            visibility: hidden; /* Add this line */
            pointer-events: none;
            transition: opacity 0.5s ease-out, visibility 0.5s; /* Add visibility to transition */
        }