        /* Custom Font Declaration */
        @font-face {
            font-family: 'Helvetica Neue W23 for SKY';
            src: url('savana-assets/Helvetica_Neue_W23_for_SKY_Reg.ttf') format('truetype');
            font-weight: normal;
            font-style: normal;
        }
        @font-face {
            font-family: 'Helvetica Neue W23 for SKY';
            src: url('savana-assets/Helvetica_Neue_W23_for_SKY_Bd (2).ttf') format('truetype');
            font-weight: bold;
            font-style: normal;
        }

        /* Custom styles to extend Tailwind */
        :root {
            --brand-primary: #EF3E2E;
            --brand-secondary: #F59E0B;
            --background-color: #FDFBF6;
            --background-alt: #F6F2E9;
            --text-primary: #2C2C2C;
            --text-secondary: #5a5a5a;
            --border-color: #EAE5D9;
        }

        [data-theme="dark"] {
            --background-color: #1a1a1a;
            --background-alt: #2c2c2c;
            --text-primary: #f5f5f5;
            --text-secondary: #a3a3a3;
            --border-color: #404040;
            --brand-secondary: #ffc453;
        }

        html {
            scroll-behavior: smooth;
            overflow-x: hidden;
        }

        /* Prevent body scroll when a modal is open */
        html.modal-open {
            overflow: hidden;
        }

        body {
            font-family: 'Helvetica Neue W23 for SKY', sans-serif;
            background-color: var(--background-color);
            color: var(--text-primary);
            overflow-x: hidden;
            transition: background-color 0.3s ease, color 0.3s ease;
        }
        
        /* Prevent horizontal overflow on all elements */
        * {
            max-width: 100vw;
        }
        
        /* --- Modern Header Styles --- */
        #main-header {
            position: fixed;
            top: 0;
            right: 0;
            left: 0;
            width: 100%;
            z-index: 30;
            background-color: transparent;
            backdrop-filter: blur(0px);
            transform: translateY(0);
            padding-top: 1.25rem; /* 20px */
            padding-bottom: 1.25rem; /* 20px */
            transition: transform 0.3s ease-in-out, background-color 0.3s ease, backdrop-filter 0.3s ease, padding 0.3s ease, box-shadow 0.3s ease;
        }

        #main-header.scrolled {
            background-color: rgba(253, 251, 246, 0.85);
            backdrop-filter: blur(8px);
            -webkit-backdrop-filter: blur(8px);
            box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.05), 0 2px 4px -2px rgb(0 0 0 / 0.05);
            padding-top: 0.5rem; /* 8px */
            padding-bottom: 0.5rem; /* 8px */
        }

        [data-theme="dark"] #main-header.scrolled {
            background-color: rgba(26, 26, 26, 0.85);
        }

        #main-header.nav-hidden {
            transform: translateY(-110%);
        }

        /* Fade-in Animation on Scroll */
        @keyframes fadeIn {
            from { opacity: 0; transform: translateY(30px); }
            to { opacity: 1; transform: translateY(0); }
        }
        
        .fade-in {
            animation: fadeIn 0.8s ease-out forwards;
            opacity: 0;
        }

        .animate-on-scroll {
            opacity: 0;
            transition: opacity 0.8s ease-out, transform 0.8s ease-out;
            transform: translateY(30px);
        }

        .animate-on-scroll.is-visible {
            opacity: 1;
            transform: translateY(0);
        }

        /* Modern Gradient Background */
        .hero-background {
            position: absolute; 
            top: 0; 
            right: 0; 
            left: 0; 
            bottom: 0;
            background: radial-gradient(circle at top right, rgba(234, 229, 217, 0.6) 0%, rgba(234, 229, 217, 0) 50%);
            z-index: -2; 
            pointer-events: none;
            transition: opacity 0.3s ease;
        }
        [data-theme="dark"] .hero-background {
            opacity: 0;
        }
        
        .static-gradient {
            position: absolute; 
            top: 30%; 
            left: 50%;
            width: min(800px, 150vw); 
            height: min(800px, 150vw); 
            background: radial-gradient(circle, rgba(245, 158, 11, 0.2) 0%, rgba(239, 62, 46, 0.15) 40%, rgba(239, 62, 46, 0) 70%);
            border-radius: 50%; 
            filter: blur(80px); 
            transform: translate(-50%, -50%);
            z-index: -1; 
            pointer-events: none;
        }

        /* Section heading styles */
        .section-heading {
            color: var(--brand-primary);
            font-weight: 800;
        }
        .section-subheading {
            color: var(--text-secondary);
        }

        /* Accordion styles for FAQ */
        .accordion-content {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.4s ease-in-out;
        }
        
        /* Modern Card Style - Consistent Radius */
        .modern-card {
            background-color: var(--background-alt);
            border: 1px solid var(--border-color);
            border-radius: 1.25rem; /* Consistent large radius */
            transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease, border-color 0.3s ease;
        }
        @media (min-width: 768px) {
            .modern-card {
                border-radius: 1.5rem; /* Slightly larger on desktop */
            }
        }
        .modern-card:hover {
            transform: translateY(-8px);
            box-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.05), 0 8px 10px -6px rgb(0 0 0 / 0.05);
        }
        
        .objective-card {
            border-radius: 1rem; /* 16px */
        }

        /* Specific radius for FAQ cards */
        #faq .modern-card {
            border-radius: 1rem; /* 16px */
        }

        /* Tab styles for Services */
        .service-tab {
            transition: all 0.3s ease;
            border-bottom: 2px solid transparent;
        }
        .service-tab.active {
            color: var(--brand-primary);
            border-bottom-color: var(--brand-primary);
            background-color: transparent;
        }
        .service-content {
            display: none;
        }
        .service-content.active {
            display: block;
        }

        /* Modal Styles */
        .modal-overlay {
            transition: opacity 0.3s ease-in-out;
        }
        .modal-content {
            transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
        }
        
        /* Hide scrollbar */
        .no-scrollbar::-webkit-scrollbar {
            display: none;
        }
        .no-scrollbar {
            -ms-overflow-style: none;
            scrollbar-width: none;
        }
        
        /* Ensure container padding on all screen sizes */
        .container-padding {
            padding-left: 0.75rem;
            padding-right: 0.75rem;
        }
        
        /* CHANGE: Increased vertical padding for sections in mobile view */
        section {
            padding-top: 4rem;
            padding-bottom: 4rem;
        }

        @media (min-width: 640px) {
            .container-padding {
                padding-left: 1.5rem;
                padding-right: 1.5rem;
            }
            section {
                padding-top: 5rem;
                padding-bottom: 5rem;
            }
        }
        @media (min-width: 1024px) {
            .container-padding {
                padding-left: 2rem;
                padding-right: 2rem;
            }
            section {
                padding-top: 6rem;
                padding-bottom: 6rem;
            }
        }

        /* Mobile text alignment */
        @media (max-width: 767px) {
            .section-heading, .section-subheading {
                text-align: right;
            }
        }