  :root {
            --navy: #2D3C59;
            --white: #FFFFFF;
            --font-main: 'Public Sans', sans-serif;
        }

        body {
            font-family: var(--font-main);
            background-color: var(--white);
            color: var(--navy);
            margin: 0;
            overflow-x: hidden;
            line-height: 1.6;
        }

        /* Typography Strategy */
        h1 { font-weight: 600; font-size: 2.75rem; line-height: 1.2; }
        h2 { font-weight: 700; font-size: 2.25rem; }
        h3 { font-weight: 600; font-size: 1.5rem; }
        p { font-weight: 300; font-size: 0.95rem; letter-spacing: 0.01em; color: rgba(45, 60, 89, 0.85); }
        .btn-text { font-weight: 500; text-transform: uppercase; font-size: 0.8rem; letter-spacing: 0.1em; }

        /* Navigation Animation */
        .nav-link {
            position: relative;
            text-decoration: none;
            color: white;
            padding-bottom: 4px;
        }
        .nav-link::after {
            content: '';
            position: absolute;
            width: 0;
            height: 1px;
            bottom: 0;
            left: 0;
            background-color: white;
            transition: width 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
        }
        .nav-link:hover::after {
            width: 100%;
        }

        /* Down to Top Reveal */
        .reveal {
            opacity: 0;
            transform: translateY(40px);
            transition: all 0.8s cubic-bezier(0.22, 1, 0.36, 1);
        }
        .reveal.active {
            opacity: 1;
            transform: translateY(0);
        }

          /* Smooth expand/collapse */
  #mobileMenu {
    transition: max-height 0.5s ease;
  }


        /* Hero Image Pan Animation */
        @keyframes slowPan {
            0% { transform: scale(1.0); }
            100% { transform: scale(1.1); }
        }
        .hero-img-container img {
            animation: slowPan 20s ease-in-out infinite alternate;
        }


        /* Scrollbar */
        ::-webkit-scrollbar { width: 8px; }
        ::-webkit-scrollbar-track { background: #f1f1f1; }
        ::-webkit-scrollbar-thumb { background: var(--navy); }

        /* Custom Components */
        .corporate-btn {
            background-color: var(--navy);
            color: white;
            padding: 14px 32px;
            font-weight: 500;
            font-size: 0.85rem;
            transition: all 0.3s;
            border: 1px solid var(--navy);
        }
        .corporate-btn:hover {
            background-color: transparent;
            color: var(--navy);
        }

        .outline-btn {
            border: 1px solid var(--navy);
            padding: 14px 32px;
            color: var(--navy);
            font-weight: 500;
            font-size: 0.85rem;
            transition: all 0.3s;
        }
        .outline-btn:hover {
            background-color: var(--navy);
            color: white;
        }

        /* Modal Overlay */
        .modal-overlay {
            background: rgba(45, 60, 89, 0.95);
            backdrop-filter: blur(5px);
        }
