        /* Global Typography Refinement */
        body {
            font-family: 'Inter', sans-serif !important;
            font-weight: 400 !important;
            line-height: 1.75 !important;
            color: #000000 !important;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
        }

        h1, h2, h3, h4, h5, h6, .title, .widget-title {
            font-family: 'Outfit', sans-serif !important;
            font-weight: 700 !important;
            letter-spacing: -0.025em !important;
            line-height: 1.2 !important;
            color: #000000 !important;
        }

        p, .desc {
            font-family: 'Inter', sans-serif !important;
            font-size: 16px !important;
            line-height: 1.8 !important;
            font-weight: 400 !important;
            color: #000000 !important;
        }

        /* Labels & meta info */
        label, .meta, .text-muted, small, .small {
            font-family: 'Inter', sans-serif !important;
            font-weight: 500 !important;
        }

        /* Bold text */
        strong, b, .fw-bold, .font-bold {
            font-family: 'Inter', sans-serif !important;
            font-weight: 700 !important;
        }

        .sub-text, .sub-title {
            font-family: 'Outfit', sans-serif !important;
            font-weight: 700 !important;
            letter-spacing: 0.12em !important;
            text-transform: uppercase !important;
            font-size: 13px !important;
            color: #03228f !important;
        }

        /* Navigation links */
        .desktop-menu li a {
            font-family: 'Inter', sans-serif !important;
            font-weight: 500 !important;
            letter-spacing: 0.03em !important;
            font-size: 15px !important;
        }

        /* Section titles & page titles - Outfit 800 */
        .sec-title .title, .sec-title2 .title, .page-title, .hero-heading {
            font-family: 'Outfit', sans-serif !important;
            font-size: 42px !important;
            margin-bottom: 20px !important;
            font-weight: 800 !important;
        }

        /* Buttons - Inter 600 */
        .readon, .btn {
            font-family: 'Inter', sans-serif !important;
            font-weight: 600 !important;
            letter-spacing: 0.03em !important;
            text-transform: uppercase !important;
            font-size: 14px !important;
        }

        .counter-number, .number {
            font-family: 'Outfit', sans-serif !important;
            font-weight: 800 !important;
            letter-spacing: -0.04em !important;
        }

        /* Forms - Inter */
        input, textarea, select, button {
            font-family: 'Inter', sans-serif !important;
        }
        input::placeholder, textarea::placeholder {
            font-family: 'Inter', sans-serif !important;
            font-weight: 400 !important;
        }

        /* Footer text */
        .footer-top p, .footer-top li, .footer-top a, .footer-top span,
        .footer-bottom p, .footer-bottom li, .footer-bottom a, .footer-bottom span {
            font-family: 'Inter', sans-serif !important;
            font-weight: 400 !important;
        }

        /* Sidebar text */
        .widget-area p, .widget-area li, .widget-area a, .widget-area span {
            font-family: 'Inter', sans-serif !important;
        }
        .widget-title, .widget-title .title {
            font-family: 'Outfit', sans-serif !important;
            font-weight: 700 !important;
        }

        /* Table text */
        table, th, td {
            font-family: 'Inter', sans-serif !important;
        }

        /* Tooltips & captions */
        .tooltip, .caption, figcaption {
            font-family: 'Inter', sans-serif !important;
            font-weight: 400 !important;
        }

        /* ==========================================
           MODERN RESPONSIVE NAVIGATION SYSTEM
        ========================================== */

        /* Top Info Bar */
        .top-info-bar {
            background: linear-gradient(135deg, #03228f 0%, #106eea 100%);
            padding: 10px 0;
            font-size: 13px;
            color: #fff;
        }
        .top-contact-info {
            list-style: none;
            padding: 0;
            margin: 0;
            display: flex;
            flex-wrap: wrap;
            gap: 20px;
        }
        .top-contact-info li {
            display: flex;
            align-items: center;
            gap: 8px;
        }
        .top-contact-info li i {
            color: rgba(255,255,255,0.9);
            font-size: 14px;
        }
        .top-contact-info li a {
            color: rgba(255,255,255,0.95);
            transition: color 0.3s;
        }
        .top-contact-info li a:hover {
            color: #fff;
        }
        .top-social-icons {
            display: flex;
            align-items: center;
            gap: 15px;
        }
        .top-social-icons .opening-time {
            color: rgba(255,255,255,0.9);
            margin-right: 10px;
            font-size: 13px;
        }
        .top-social-icons a {
            color: rgba(255,255,255,0.9);
            width: 32px;
            height: 32px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 50%;
            background: rgba(255,255,255,0.1);
            transition: all 0.3s;
        }
        .top-social-icons a:hover {
            background: #fff;
            color: #03228f;
            transform: translateY(-2px);
        }

        /* Main Navigation */
        .main-navigation {
            background: #fff;
            box-shadow: 0 2px 15px rgba(0,0,0,0.08);
            position: sticky;
            top: 0;
            z-index: 1000;
            transition: all 0.3s ease;
        }
        .nav-wrapper {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 15px 0;
        }

        /* Logo Section */
        .logo-section .brand-logo {
            display: flex;
            align-items: center;
            gap: 12px;
            text-decoration: none;
        }
        .logo-section .logo-img {
            max-height: 120px;
            width: auto;
            transition: all 0.3s;
        }
        .logo-section .brand-text {
            color: #03228f;
            font-size: 28px;
            font-family: 'Outfit', sans-serif !important;
            font-weight: 800;
            line-height: 1.1;
            letter-spacing: -0.03em;
        }

        /* Desktop Menu */
        .desktop-menu {
            list-style: none;
            padding: 0;
            margin: 0;
            display: flex;
            gap: 35px;
        }
        .desktop-menu li a {
            color: #1a1a1a;
            font-size: 15px;
            font-family: 'Outfit', sans-serif !important;
            font-weight: 600;
            letter-spacing: 0.03em;
            padding: 8px 0;
            position: relative;
            transition: color 0.3s;
            text-decoration: none;
        }
        .desktop-menu li a::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 0;
            height: 3px;
            background: #106eea;
            transition: width 0.3s;
        }
        .desktop-menu li a:hover,
        .desktop-menu li.active a {
            color: #106eea;
        }
        .desktop-menu li a:hover::after,
        .desktop-menu li.active a::after {
            width: 100%;
        }

        /* Mobile Menu Toggle Button */
        .mobile-menu-toggle {
            display: none;
            flex-direction: column;
            gap: 5px;
            background: none;
            border: none;
            padding: 8px;
            cursor: pointer;
            z-index: 1001;
        }
        .hamburger-line {
            width: 28px;
            height: 3px;
            background: #03228f;
            border-radius: 3px;
            transition: all 0.3s ease;
        }
        .mobile-menu-toggle.active .hamburger-line:nth-child(1) {
            transform: rotate(45deg) translate(8px, 8px);
        }
        .mobile-menu-toggle.active .hamburger-line:nth-child(2) {
            opacity: 0;
        }
        .mobile-menu-toggle.active .hamburger-line:nth-child(3) {
            transform: rotate(-45deg) translate(7px, -7px);
        }

        /* Mobile Menu Overlay */
        .mobile-menu-overlay {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: rgba(0,0,0,0.6);
            z-index: 999;
            opacity: 0;
            transition: opacity 0.3s ease;
        }
        .mobile-menu-overlay.active {
            opacity: 1;
        }

        /* Mobile Menu Sidebar */
        .mobile-menu-sidebar {
            position: fixed;
            top: 0;
            right: -100%;
            width: 320px;
            max-width: 85vw;
            height: 100vh;
            background: #fff;
            z-index: 1000;
            overflow-y: auto;
            transition: right 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
            box-shadow: -5px 0 25px rgba(0,0,0,0.2);
        }
        .mobile-menu-sidebar.active {
            right: 0;
        }

        /* Mobile Menu Header */
        .mobile-menu-header {
            padding: 20px;
            background: linear-gradient(135deg, #03228f 0%, #106eea 100%);
            display: flex;
            align-items: center;
            justify-content: space-between;
        }
        .mobile-logo {
            display: flex;
            align-items: center;
            gap: 10px;
            text-decoration: none;
        }
        .mobile-logo img {
            max-height: 45px;
            width: auto;
            filter: brightness(0) invert(1);
        }
        .mobile-logo span {
            color: #fff;
            font-size: 20px;
            font-weight: 800;
            font-family: 'Outfit', sans-serif !important;
        }
        .mobile-menu-close {
            background: rgba(255,255,255,0.2);
            border: none;
            color: #fff;
            width: 40px;
            height: 40px;
            border-radius: 50%;
            font-size: 20px;
            cursor: pointer;
            transition: all 0.3s;
        }
        .mobile-menu-close:hover {
            background: rgba(255,255,255,0.3);
            transform: rotate(90deg);
        }

        /* Mobile Menu List */
        .mobile-menu-list {
            list-style: none;
            padding: 20px 0;
            margin: 0;
        }
        .mobile-menu-list li {
            border-bottom: 1px solid #f0f0f0;
        }
        .mobile-menu-list li a {
            display: flex;
            align-items: center;
            gap: 15px;
            padding: 18px 25px;
            color: #333;
            font-size: 16px;
            font-family: 'Outfit', sans-serif !important;
            font-weight: 600;
            text-decoration: none;
            transition: all 0.3s;
        }
        .mobile-menu-list li a i {
            color: #106eea;
            font-size: 18px;
            width: 25px;
        }
        .mobile-menu-list li:hover a,
        .mobile-menu-list li.active a {
            background: #f8f9fa;
            color: #106eea;
            padding-left: 30px;
        }

        /* Mobile Menu Footer */
        .mobile-menu-footer {
            padding: 25px;
            background: #f8f9fa;
            border-top: 1px solid #e0e0e0;
        }
        .mobile-contact-info h4 {
            color: #03228f;
            font-size: 18px;
            margin-bottom: 15px;
        }
        .mobile-contact-info p {
            display: flex;
            align-items: center;
            gap: 10px;
            margin-bottom: 10px;
            font-size: 14px;
            color: #666;
        }
        .mobile-contact-info p i {
            color: #106eea;
            width: 20px;
        }
        .mobile-contact-info p a {
            color: #666;
            text-decoration: none;
        }
        .mobile-contact-info p a:hover {
            color: #106eea;
        }
        .mobile-social {
            display: flex;
            gap: 10px;
            margin-top: 20px;
        }
        .mobile-social a {
            width: 40px;
            height: 40px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background: #fff;
            color: #03228f;
            border-radius: 8px;
            text-decoration: none;
            transition: all 0.3s;
            box-shadow: 0 2px 8px rgba(0,0,0,0.1);
        }
        .mobile-social a:hover {
            background: linear-gradient(135deg, #03228f 0%, #106eea 100%);
            color: #fff;
            transform: translateY(-3px);
        }

        /* Responsive Breakpoints */
        @media (max-width: 991px) {
            .top-info-bar {
                padding: 8px 0;
            }
            .top-contact-info {
                gap: 15px;
                font-size: 12px;
            }
            .top-social-icons a {
                width: 28px;
                height: 28px;
                font-size: 13px;
            }
            .desktop-menu {
                display: none;
            }
            .mobile-menu-toggle {
                display: flex;
            }
            .mobile-menu-overlay,
            .mobile-menu-sidebar {
                display: block;
            }
            .logo-section .logo-img {
                max-height: 55px;
            }
            .logo-section .brand-text {
                font-size: 18px;
            }
        }

        @media (max-width: 768px) {
            /* Hide the entire blue header section on mobile phones */
            .top-info-bar {
                display: none !important;
            }

            /* Optimize logo and brand name for mobile */
            .logo-section .logo-img {
                max-height: 45px;
            }
            .logo-section .brand-text {
                font-size: 16px;
                display: inline-block;
            }
            .nav-wrapper {
                padding: 10px 0;
            }

            /* Ensure logo section takes appropriate space */
            .logo-section {
                flex: 1;
            }

            /* Ensure proper alignment */
            .main-navigation {
                position: sticky;
                top: 0;
                z-index: 999;
            }
        }

        @media (max-width: 767px) {
            .top-contact-info li:nth-child(3) {
                display: none;
            }
            .top-social-icons .opening-time {
                display: none;
            }
            .logo-section .logo-img {
                max-height: 42px;
            }
            .logo-section .brand-text {
                font-size: 15px;
            }
            .nav-wrapper {
                padding: 10px 0;
            }
        }

        @media (max-width: 575px) {
            /* Keep brand text visible on mobile as per requirement */
            .logo-section .brand-text {
                display: inline-block;
                font-size: 14px;
                max-width: 180px;
                white-space: nowrap;
                overflow: hidden;
                text-overflow: ellipsis;
            }
            .logo-section .logo-img {
                max-height: 38px;
            }
            .top-contact-info {
                gap: 10px;
            }
            .top-contact-info li:nth-child(2) {
                display: none;
            }
            .nav-wrapper {
                padding: 8px 0;
            }
        }

        /* Sticky Navigation Animation */
        .main-navigation.sticky {
            box-shadow: 0 4px 20px rgba(0,0,0,0.12);
            animation: slideDown 0.4s ease;
        }
        .main-navigation.sticky .nav-wrapper {
            padding: 10px 0;
        }
        .main-navigation.sticky .logo-img {
            max-height: 55px;
        }

        @keyframes slideDown {
            0% {
                transform: translateY(-100%);
            }
            100% {
                transform: translateY(0);
            }
        }

        /* Improved Image Optimization */
        img {
            max-width: 100%;
            height: auto;
            display: block;
        }

        /* Logo Size Optimization */
        @media (max-width: 991px) {
            .logo-part img,
            .logo-section .logo-img {
                max-height: 55px !important;
            }
        }

        @media (max-width: 767px) {
            .logo-part img,
            .logo-section .logo-img {
                max-height: 50px !important;
            }
        }

        @media (max-width: 575px) {
            .logo-part img,
            .logo-section .logo-img {
                max-height: 45px !important;
            }
        }

        /* ==========================================
           COMPREHENSIVE RESPONSIVE OPTIMIZATION
        ========================================== */

        /* Base Image Optimization */
        img {
            max-width: 100%;
            height: auto;
            display: block;
        }

        /* Lazy Load Images */
        img[data-src] {
            opacity: 0;
            transition: opacity 0.3s;
        }

        img[data-src].loaded,
        img:not([data-src]) {
            opacity: 1;
        }

        /* Container Responsive Control */
        .container {
            width: 100%;
            padding-right: 15px;
            padding-left: 15px;
            margin-right: auto;
            margin-left: auto;
        }

        /* Typography Responsive */
        h1, .title {
            font-size: clamp(24px, 5vw, 46px);
            line-height: 1.2;
        }

        h2 {
            font-size: clamp(20px, 4vw, 36px);
            line-height: 1.3;
        }

        h3 {
            font-size: clamp(18px, 3vw, 28px);
            line-height: 1.4;
        }

        p, body {
            font-size: clamp(14px, 2vw, 16px);
            line-height: 1.6;
        }

        /* Button Responsive */
        .readon,
        .btn,
        button[type="submit"] {
            font-size: clamp(14px, 2vw, 16px);
            padding: clamp(10px, 2vw, 15px) clamp(20px, 4vw, 30px);
        }

        /* Section Spacing Responsive */
        .pt-120, .pb-120 {
            padding-top: clamp(60px, 10vw, 120px) !important;
            padding-bottom: clamp(60px, 10vw, 120px) !important;
        }

        .pt-100, .pb-100 {
            padding-top: clamp(50px, 8vw, 100px) !important;
            padding-bottom: clamp(50px, 8vw, 100px) !important;
        }

        .pt-80, .pb-80 {
            padding-top: clamp(40px, 6vw, 80px) !important;
            padding-bottom: clamp(40px, 6vw, 80px) !important;
        }

        /* Card Responsive */
        .program-card-modern,
        .blog-card,
        .service-card {
            margin-bottom: 30px;
        }

        /* Grid System Optimization */
        @media (max-width: 1199px) {
            .container {
                max-width: 960px;
            }
        }

        @media (max-width: 991px) {
            .container {
                max-width: 720px;
            }

            /* Hide decorative elements on tablets */
            .shape-animation,
            .animate-ball,
            .pattern-layer {
                display: none !important;
            }

            /* Adjust column padding */
            [class*="col-"] {
                padding-right: 15px;
                padding-left: 15px;
            }

            /* Stack columns properly */
            .col-lg-6,
            .col-lg-4,
            .col-lg-3 {
                flex: 0 0 100%;
                max-width: 100%;
            }

            .col-md-6 {
                flex: 0 0 50%;
                max-width: 50%;
            }
        }

        @media (max-width: 767px) {
            .container {
                max-width: 540px;
            }

            /* Full width on mobile */
            .col-md-6,
            .col-sm-12 {
                flex: 0 0 100%;
                max-width: 100%;
                margin-bottom: 30px;
            }

            /* Text alignment on mobile */
            .text-right,
            .text-lg-right,
            .text-md-right {
                text-align: center !important;
            }

            /* Button alignment */
            .banner-btn,
            .btn-wrapper {
                justify-content: center !important;
                flex-direction: column;
                gap: 15px;
            }

            /* Remove excess padding */
            .rs-services,
            .rs-about,
            .rs-testimonial {
                padding-left: 0;
                padding-right: 0;
            }

            /* Footer adjustments */
            .footer-widget {
                margin-bottom: 40px;
            }
        }

        @media (max-width: 575px) {
            .container {
                max-width: 100%;
                padding-right: 20px;
                padding-left: 20px;
            }

            /* Further reduce spacing on small mobile */
            .mb-40,
            .mb-45,
            .mb-50,
            .mb-60 {
                margin-bottom: 30px !important;
            }

            /* Button - Keep original styling, just ensure clickability */
            .readon,
            .btn {
                cursor: pointer !important;
                pointer-events: auto !important;
            }

            /* Banner content adjustments */
            .banner-content {
                padding: 20px 0;
            }

            /* Card spacing */
            .row > [class*="col-"] {
                margin-bottom: 20px;
            }
        }

        /* Touch Optimization */
        @media (hover: none), (pointer: coarse) {
            /* Increase tap targets for mobile */
            a,
            button,
            .clickable {
                min-height: 44px;
                min-width: 44px;
                display: inline-flex;
                align-items: center;
                justify-content: center;
            }

            /* Remove hover effects on touch devices */
            .program-card-modern:hover,
            .blog-card:hover,
            a:hover {
                transform: none !important;
            }
        }

        /* Performance Optimizations */
        * {
            -webkit-tap-highlight-color: rgba(0,0,0,0);
        }

        /* Smooth scrolling */
        html {
            scroll-behavior: smooth;
        }

        /* Optimize font rendering */
        body {
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            text-rendering: optimizeLegibility;
        }

        /* Optimize animations */
        @media (prefers-reduced-motion: reduce) {
            *,
            *::before,
            *::after {
                animation-duration: 0.01ms !important;
                animation-iteration-count: 1 !important;
                transition-duration: 0.01ms !important;
            }
        }

        /* Video Responsive */
        iframe,
        video,
        embed,
        object {
            max-width: 100%;
            height: auto;
        }

        .video-wrapper,
        .embed-responsive {
            position: relative;
            padding-bottom: 56.25%;
            height: 0;
            overflow: hidden;
        }

        .video-wrapper iframe,
        .embed-responsive iframe {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
        }

        /* Table Responsive */
        table {
            width: 100%;
            overflow-x: auto;
            display: block;
        }

        @media (max-width: 767px) {
            table,
            thead,
            tbody,
            th,
            td,
            tr {
                display: block;
            }

            thead tr {
                position: absolute;
                top: -9999px;
                left: -9999px;
            }

            tr {
                border: 1px solid #ccc;
                margin-bottom: 10px;
            }

            td {
                border: none;
                position: relative;
                padding-left: 50%;
            }

            td:before {
                position: absolute;
                left: 6px;
                width: 45%;
                padding-right: 10px;
                white-space: nowrap;
                font-weight: bold;
            }
        }

        /* Form Responsive */
        input[type="text"],
        input[type="email"],
        input[type="tel"],
        input[type="password"],
        textarea,
        select {
            width: 100%;
            max-width: 100%;
            font-size: 16px; /* Prevents zoom on iOS */
        }

        /* Icon Size Optimization */
        .fa,
        [class^="fa-"],
        [class*=" fa-"] {
            font-size: inherit;
            line-height: inherit;
        }

        /* Social Icons Enhancement */
        .footer-social li a,
        .top-social-icons a,
        .mobile-social a {
            transition: all 0.3s ease;
        }

        .footer-social li a:hover,
        .top-social-icons a:hover,
        .mobile-social a:hover {
            transform: translateY(-3px);
        }

        /* Address Widget Enhancement */
        .address-widget li {
            display: flex;
            align-items: flex-start;
            gap: 15px;
            margin-bottom: 20px;
        }

        .address-widget li i {
            color: #106eea;
            font-size: 20px;
            min-width: 25px;
            margin-top: 3px;
        }

        .address-widget li .desc {
            flex: 1;
            line-height: 1.6;
        }

        /* Newsletter Form Enhancement */
        .widget-title {
            margin-bottom: 20px;
            font-size: clamp(18px, 3vw, 24px);
        }

        .textwidget {
            line-height: 1.8;
        }

        /* Print Styles */
        @media print {
            .top-info-bar,
            .main-navigation,
            .mobile-menu-toggle,
            .footer-social,
            .mobile-social,
            .mobile-menu-sidebar,
            .mobile-menu-overlay {
                display: none !important;
            }

            body {
                font-size: 12pt;
                line-height: 1.5;
            }

            img {
                max-width: 100% !important;
            }
        }

        /* Accessibility Improvements */
        :focus {
            outline: 2px solid #106eea;
            outline-offset: 2px;
        }

        button:focus,
        a:focus {
            outline: 2px solid #106eea;
        }

        /* Skip to content link */
        .skip-to-content {
            position: absolute;
            top: -40px;
            left: 0;
            background: #03228f;
            color: white;
            padding: 8px;
            text-decoration: none;
            z-index: 100;
        }

        .skip-to-content:focus {
            top: 0;
        }

        /* High contrast mode support */
        @media (prefers-contrast: high) {
            body {
                border: 2px solid black;
            }

            a {
                text-decoration: underline;
            }
        }

        /* ==========================================
           ENHANCED MOBILE & TABLET RESPONSIVENESS
           Ensuring all elements are clickable and functional
        ========================================== */

        /* Minimum Touch Target Size (44x44px) */
        @media (max-width: 991px) {
            /* Ensure all clickable elements are clickable */
            a,
            button,
            input[type="submit"],
            input[type="button"],
            .readon,
            .btn,
            .submit-btn {
                cursor: pointer !important;
                pointer-events: auto !important;
                touch-action: manipulation !important;
            }

            /* All clickable elements must be at least 44x44px */
            button,
            input[type="submit"],
            input[type="button"],
            .readon:not(.program-btn),
            .btn,
            .submit-btn {
                min-height: 44px;
                padding: 12px 20px;
            }

            /* Social icons proper touch targets */
            .top-social-icons a,
            .footer-social li a,
            .mobile-social a {
                min-width: 44px;
                min-height: 44px;
                display: inline-flex;
                align-items: center;
                justify-content: center;
                cursor: pointer !important;
                pointer-events: auto !important;
            }

            /* Navigation links proper spacing */
            .mobile-menu-list li a {
                padding: 16px 25px;
                min-height: 50px;
                display: flex;
                align-items: center;
                gap: 15px;
                cursor: pointer !important;
                pointer-events: auto !important;
            }

            /* Desktop menu links on tablet */
            .desktop-menu li a {
                cursor: pointer !important;
                pointer-events: auto !important;
            }

            /* Form inputs - prevent iOS zoom with 16px minimum */
            input[type="text"],
            input[type="email"],
            input[type="tel"],
            input[type="password"],
            input[type="search"],
            textarea,
            select,
            .from-control {
                font-size: 16px !important;
                min-height: 48px;
                padding: 12px 15px;
                width: 100%;
                -webkit-appearance: none;
                -moz-appearance: none;
                appearance: none;
                border-radius: 6px;
            }

            textarea,
            textarea.from-control {
                min-height: 120px;
                padding: 15px;
            }

            /* Submit buttons - Keep original styling, just make clickable */
            input[type="submit"],
            .submit-btn,
            .readon.submit,
            button[type="submit"] {
                cursor: pointer !important;
                pointer-events: auto !important;
                touch-action: manipulation !important;
            }

            /* Program cards clickable area */
            .program-card-modern,
            .blog-card,
            .service-card {
                margin-bottom: 25px;
            }

            .program-card-modern a,
            .blog-card a,
            .service-card a {
                min-height: 44px;
            }

            /* Buttons - Keep original styling */
            .readon,
            .btn,
            .btn-part a {
                cursor: pointer !important;
                pointer-events: auto !important;
                touch-action: manipulation !important;
            }

            /* Footer links spacing */
            .footer-widget .site-map li a,
            .copy-right-menu li a {
                padding: 10px 5px;
                min-height: 44px;
                display: inline-block;
                cursor: pointer !important;
                pointer-events: auto !important;
            }

            /* Address widget clickable links */
            .address-widget li a {
                padding: 8px 0;
                display: inline-block;
                cursor: pointer !important;
                pointer-events: auto !important;
            }

            /* Newsletter form */
            .widget .textwidget input[type="email"] {
                font-size: 16px;
                min-height: 48px;
                padding: 12px 60px 12px 15px;
            }

            .widget .textwidget input[type="submit"] {
                min-width: 44px;
                min-height: 44px;
            }

            /* Breadcrumb links */
            .rs-breadcrumbs .breadcrumbs-inner ul li a {
                padding: 5px 10px;
            }

            /* Contact form spacing */
            .contact-widget .from-control,
            .rs-contact .from-control {
                margin-bottom: 20px;
            }

            /* Fix overlapping elements */
            .container {
                padding-right: 20px;
                padding-left: 20px;
            }

            /* Prevent text overflow */
            h1, h2, h3, h4, h5, h6 {
                word-wrap: break-word;
                overflow-wrap: break-word;
            }

            /* Image containers no overflow */
            .program-featured-image,
            .blog-image,
            .service-image {
                overflow: hidden;
            }

            /* WhatsApp button proper size */
            .whatsapp-float {
                width: 56px;
                height: 56px;
                cursor: pointer !important;
                pointer-events: auto !important;
            }

            /* Scroll to top button */
            #scrollUp {
                width: 44px;
                height: 44px;
                right: 20px;
                bottom: 80px;
                cursor: pointer !important;
                pointer-events: auto !important;
            }

            /* Make all links clearly clickable */
            a {
                cursor: pointer !important;
                pointer-events: auto !important;
            }

            /* Ensure no overlays block clicks */
            .mobile-menu-overlay.active {
                pointer-events: auto !important
                height: 44px;
                right: 20px;
                bottom: 80px;
            }
        }

        /* Tablet specific fixes */
        @media (min-width: 768px) and (max-width: 991px) {
            /* Two column layout for tablets */
            .col-md-6 {
                flex: 0 0 50%;
                max-width: 50%;
            }

            /* Three column for larger tablets */
            .col-md-4 {
                flex: 0 0 33.333333%;
                max-width: 33.333333%;
            }

            /* Adjust padding for tablet */
            .container {
                padding-right: 25px;
                padding-left: 25px;
            }

            /* Touch targets can be slightly smaller on tablets */
            a:not(.brand-logo),
            button {
                min-height: 40px;
            }
        }

        /* Phone specific fixes */
        @media (max-width: 767px) {
            /* Full width columns on mobile */
            .col-sm-12,
            .col-md-6,
            .col-lg-4,
            .col-lg-3 {
                flex: 0 0 100%;
                max-width: 100%;
                margin-bottom: 25px;
            }

            /* Contact page layout */
            .col-lg-4.md-mb-60,
            .col-lg-8.pl-70 {
                padding-left: 15px !important;
                padding-right: 15px !important;
            }

            /* Banner section adjustments */
            .rs-banner .banner-content h1,
            .rs-banner .banner-content .it-title {
                font-size: 28px !important;
                line-height: 1.3 !important;
            }

            .rs-banner .banner-content .description p {
                font-size: 15px !important;
                line-height: 1.6 !important;
            }

            /* Contact box on mobile */
            .contact-box {
                margin-bottom: 40px;
                padding: 30px 20px;
            }

            /* Contact widget */
            .contact-widget {
                padding: 30px 20px;
            }

            /* Breadcrumbs */
            .rs-breadcrumbs .breadcrumbs-inner h1.page-title {
                font-size: 28px !important;
            }

            /* Section padding reduction */
            .pt-120 {
                padding-top: 60px !important;
            }

            .pb-120 {
                padding-bottom: 60px !important;
            }

            .pt-100 {
                padding-top: 50px !important;
            }

            .pb-100 {
                padding-bottom: 50px !important;
            }

            /* Footer adjustments */
            .footer-widget {
                margin-bottom: 35px;
                text-align: left;
            }

            .footer-bottom .text-right {
                text-align: center !important;
            }

            .footer-bottom .col-lg-6 {
                text-align: center !important;
            }

            .copy-right-menu {
                justify-content: center;
                flex-wrap: wrap;
                gap: 15px;
                padding: 0;
            }

            .copy-right-menu li {
                margin: 0 !important;
            }

            /* Partner images responsive */
            .partner-item {
                padding: 20px !important;
                height: 100px !important;
            }

            .partner-item img {
                max-height: 60px !important;
            }

            /* Program card featured image */
            .program-featured-image {
                height: 220px !important;
            }

            /* Map responsive */
            .map-canvas iframe {
                width: 100% !important;
                height: 300px !important;
            }

            /* Video popup button */
            .rs-videos .animate-border .popup-border {
                width: 80px;
                height: 80px;
            }

            .rs-videos .animate-border .popup-border i {
                font-size: 20px;
            }

            /* Social media sections */
            .social-media-section {
                margin-top: 30px;
            }

            .footer-social,
            .mobile-social {
                flex-wrap: wrap;
                gap: 12px;
            }
        }

        /* Small phones (iPhone SE, etc.) */
        @media (max-width: 375px) {
            /* Even smaller text on tiny screens */
            .rs-banner .banner-content h1,
            .rs-banner .banner-content .it-title {
                font-size: 24px !important;
            }

            /* Tighter padding */
            .container {
                padding-right: 15px;
                padding-left: 15px;
            }

            /* Logo adjustments */
            .logo-section .logo-img {
                max-height: 60px !important;
            }

            /* Mobile menu sidebar width */
            .mobile-menu-sidebar {
                width: 280px;
            }

            /* Button - Keep original styling */
            .readon,
            .btn {
                cursor: pointer !important;
                pointer-events: auto !important;
            }

            /* Section titles */
            .sec-title2 .title,
            h2.title {
                font-size: 24px !important;
            }

            /* Partner columns 2 per row on small phones */
            .col-6 {
                flex: 0 0 50%;
                max-width: 50%;
            }
        }

        /* Landscape mode fixes for phones */
        @media (max-width: 991px) and (orientation: landscape) {
            /* Reduce header height in landscape */
            .top-info-bar {
                display: none;
            }

            .nav-wrapper {
                padding: 10px 0;
            }

            .logo-section .logo-img {
                max-height: 45px;
            }

            /* Adjust mobile menu for landscape */
            .mobile-menu-sidebar {
                width: 300px;
            }

            .mobile-menu-header {
                padding: 15px 20px;
            }

            .mobile-menu-list li a {
                padding: 12px 25px;
            }
        }

        /* Touch device optimizations */
        @media (hover: none) and (pointer: coarse) {
            /* Remove hover effects on touch devices */
            a:hover,
            button:hover {
                transform: none !important;
            }

            .program-card-modern:hover {
                transform: translateY(-5px) !important;
            }

            /* Add active/tap states */
            a:active,
            button:active {
                opacity: 0.8;
                transform: scale(0.98);
            }

            /* Better tap feedback */
            * {
                -webkit-tap-highlight-color: rgba(16, 110, 234, 0.2);
            }
        }

        /* Fix iOS specific issues */
        @supports (-webkit-touch-callout: none) {
            /* iOS Safari fixes */
            input,
            textarea,
            select {
                border-radius: 0;
            }

            /* Prevent zoom on input focus */
            input[type="text"],
            input[type="email"],
            input[type="tel"],
            textarea {
                font-size: 16px !important;
            }
        }

        /* Android specific fixes */
        @media screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm) {
            /* Better rendering on Android */
            select {
                background-position: right 10px center;
            }
        }

        /* ── Global Font Rules: Inter everywhere, Outfit for headings ── */
        * {
            font-family: 'Inter', sans-serif !important;
        }
        h1, h2, h3, h4, h5, h6,
        .title, .widget-title, .page-title, .sec-title .title,
        .sec-title2 .title, .blog-title, .hero-heading {
            font-family: 'Outfit', sans-serif !important;
        }
        /* Restore icon fonts */
        .fa, [class^="fa-"], [class*=" fa-"] {
            font-family: "Font Awesome 6 Free", "Font Awesome 6 Brands", "Font Awesome 5 Free", FontAwesome !important;
        }
        [class^="flaticon-"], [class*=" flaticon-"] {
            font-family: Flaticon !important;
        }

        /* ============================================================
           TYPOGRAPHY ENHANCEMENT — Visual Hierarchy & Refinement
           Font-family is UNTOUCHED. Only weight, size, spacing improved.
        ============================================================ */

        /* ── HEADER LOGO — Larger, bolder, more prominent ── */
        .logo-section .logo-img {
            max-height: 90px !important;
        }
        .logo-section .brand-text {
            font-size: 26px !important;
            font-weight: 800 !important;
            letter-spacing: -0.3px;
            line-height: 1.2;
        }
        @media (max-width: 991px) {
            .logo-section .logo-img { max-height: 70px !important; }
            .logo-section .brand-text { font-size: 20px !important; }
        }
        @media (max-width: 767px) {
            .logo-section .logo-img { max-height: 60px !important; }
            .logo-section .brand-text { font-size: 17px !important; }
        }
        @media (max-width: 575px) {
            .logo-section .logo-img { max-height: 52px !important; }
            .logo-section .brand-text { font-size: 15px !important; }
        }

        /* ── FOOTER LOGO — Larger, bolder ── */
        .footer-logo img {
            max-height: 110px !important;
            width: auto !important;
        }
        .footer-logo span {
            font-size: 22px !important;
            font-weight: 800 !important;
            letter-spacing: -0.2px;
            line-height: 1.3;
        }

        /* ── SECTION HEADINGS — Bold, impactful visual hierarchy ── */
        h1, .title-h1 {
            font-weight: 800 !important;
            line-height: 1.15 !important;
            letter-spacing: -0.5px;
        }
        h2, h2.title, .sec-title .title, .sec-title2 .title {
            font-weight: 800 !important;
            line-height: 1.2 !important;
            letter-spacing: -0.3px;
        }
        h3, .widget-title {
            font-weight: 700 !important;
            line-height: 1.3 !important;
            letter-spacing: -0.2px;
        }
        h4 {
            font-weight: 700 !important;
            line-height: 1.35 !important;
        }

        /* ── SUBHEADINGS & LABELS ── */
        h5 {
            font-weight: 600 !important;
            line-height: 1.4 !important;
            letter-spacing: 0.1px;
        }
        h6 {
            font-weight: 600 !important;
            line-height: 1.45 !important;
            letter-spacing: 0.2px;
        }

        /* ── SECTION SUB-TEXT / EYEBROW LABELS ── */
        .sub-text, .sub-title, .sec-title .sub-text {
            font-weight: 600 !important;
            letter-spacing: 1.2px;
            text-transform: uppercase;
            font-size: 13px !important;
        }

        /* ── BODY TEXT — Comfortable readability ── */
        body {
            line-height: 1.75 !important;
            font-size: 16px !important;
            font-weight: 400 !important;
        }
        p {
            line-height: 1.8 !important;
            font-size: 16px !important;
            font-weight: 400 !important;
        }
        .textwidget p, .desc, .lead {
            line-height: 1.85 !important;
            font-size: 16px !important;
        }

        /* ── NAVIGATION LINKS — Clean, sharp, refined feel ── */
        .desktop-menu li a {
            font-weight: 600 !important;
            letter-spacing: 0.4px !important;
            font-size: 15.5px !important;
        }
        .mobile-menu-list li a {
            font-weight: 600 !important;
            letter-spacing: 0.3px !important;
            font-size: 16px !important;
        }
        .copy-right-menu li a {
            font-weight: 500 !important;
            letter-spacing: 0.3px !important;
            font-size: 14.5px !important;
        }

        /* ── FOOTER SITE-MAP LINKS ── */
        .footer-widget .site-map li a {
            font-weight: 500 !important;
            font-size: 15px !important;
            line-height: 1.9 !important;
            letter-spacing: 0.1px;
        }

        /* ── BUTTONS & CTAs — Bold, clearly clickable ── */
        .readon,
        .readon.learn-more,
        .readon.contact-us,
        .readon.submit,
        .btn,
        button[type="submit"],
        input[type="submit"] {
            font-weight: 700 !important;
            letter-spacing: 0.5px !important;
            font-size: 15px !important;
        }

        /* ── CAPTIONS & SMALL TEXT — Lighter, elegant ── */
        small, .small, caption, figcaption,
        .copyright p, .footer-bottom p {
            font-weight: 400 !important;
            font-size: 13.5px !important;
            letter-spacing: 0.1px;
            line-height: 1.7 !important;
        }

        /* ── CONTACT INFO in HEADER/TOP BAR ── */
        .top-contact-info li a,
        .top-contact-info li {
            font-weight: 500 !important;
            font-size: 13.5px !important;
            letter-spacing: 0.2px;
        }
        .top-social-icons .opening-time {
            font-weight: 500 !important;
            font-size: 13.5px !important;
        }

        /* ── MOBILE SIDEBAR LOGO TEXT ── */
        .mobile-logo span {
            font-size: 20px !important;
            font-weight: 800 !important;
            letter-spacing: -0.2px;
        }

        /* ── MOBILE CONTACT INFO ── */
        .mobile-contact-info h4 {
            font-weight: 700 !important;
            letter-spacing: 0.1px;
        }
        .mobile-contact-info p {
            font-weight: 400 !important;
            font-size: 14px !important;
            line-height: 1.75 !important;
        }

        /* ── FORM INPUTS — Readable, well-sized ── */
        input[type="text"],
        input[type="email"],
        input[type="tel"],
        input[type="password"],
        input[type="search"],
        textarea,
        select,
        .from-control {
            font-weight: 400 !important;
            font-size: 15.5px !important;
            line-height: 1.6 !important;
        }
        ::placeholder {
            font-weight: 400 !important;
            font-size: 14.5px !important;
        }

        /* ── WIDGET TITLES ── */
        h3.widget-title {
            font-size: 20px !important;
            font-weight: 700 !important;
            letter-spacing: 0.1px;
        }

        /* ── ADDRESS WIDGET ── */
        .address-widget li .desc {
            font-size: 15px !important;
            line-height: 1.75 !important;
        }
        .address-widget li a {
            font-weight: 500 !important;
        }

        /* ── NEWSLETTER SECTION ── */
        .widget-desc {
            font-size: 15px !important;
            line-height: 1.75 !important;
            font-weight: 400 !important;
        }

        /* ── NEWSLETTER BUTTON HOVER ── */
        .newsletter-form-wrap button:hover {
            opacity: 0.88;
            transform: none;
        }
        .newsletter-form-wrap input[type="email"]::placeholder {
            color: #aaa;
            font-weight: 400;
        }

        /* ── BLOG CARD READ MORE HOVER ── */
        .blog-read-more-btn:hover {
            opacity: 0.85;
            transform: translateY(-1px);
            box-shadow: 0 6px 18px rgba(3,34,143,0.25);
        }
        .blog-read-more-btn:hover i {
            transform: translateX(4px);
        }

        /* ── SITEWIDE TYPOGRAPHY HIERARCHY ── */

        /* Hero / Banner section */
        .rs-banner .banner-content h1,
        .rs-banner .banner-content .it-title,
        .rs-slider .slider-content h1 {
            font-weight: 800 !important;
            line-height: 1.15 !important;
            letter-spacing: -0.5px;
        }
        .rs-banner .banner-content p,
        .rs-banner .banner-content .description p {
            font-weight: 400 !important;
            line-height: 1.8 !important;
            font-size: 17px !important;
        }

        /* Section title headings sitewide */
        .sec-title .title,
        .sec-title2 .title,
        .rs-services .sec-title2 .title,
        .rs-about .sec-title .title,
        .rs-team .sec-title2 .title,
        .rs-testimonial .sec-title2 .title,
        .rs-project .sec-title2 .title,
        .rs-partner .sec-title2 .title,
        .rs-inner-blog .sec-title2 .title {
            font-weight: 800 !important;
            letter-spacing: -0.3px;
        }

        /* Service / program card titles */
        .services-item .services-content h3.services-title,
        .services-item .services-content .services-title,
        .program-card-modern h3,
        .program-card-modern .program-title,
        .rs-services .services-content .services-title {
            font-weight: 700 !important;
            line-height: 1.35 !important;
        }

        /* Card body / description */
        .services-item .services-content p,
        .program-card-modern p,
        .program-card-modern .program-desc {
            font-weight: 400 !important;
            line-height: 1.8 !important;
        }

        /* Breadcrumb page title */
        .rs-breadcrumbs .breadcrumbs-inner h1.page-title {
            font-weight: 800 !important;
            letter-spacing: -0.3px;
        }
        .rs-breadcrumbs .breadcrumbs-inner ul li,
        .rs-breadcrumbs .breadcrumbs-inner ul li a {
            font-weight: 500 !important;
            font-size: 15px !important;
        }

        /* Footer widget headings */
        .rs-footer .footer-widget h3.widget-title {
            font-weight: 700 !important;
            font-size: 20px !important;
            letter-spacing: 0.1px;
        }

        /* Footer copyright */
        .rs-footer .footer-bottom .copyright p {
            font-weight: 400 !important;
            font-size: 14px !important;
        }

        /* Testimonial text */
        .rs-testimonial .testi-item .testi-content .desc p,
        .rs-testimonial .testi-item p {
            font-weight: 400 !important;
            line-height: 1.85 !important;
            font-size: 16px !important;
        }
        .rs-testimonial .testi-item .testi-content .testi-information .name {
            font-weight: 700 !important;
            font-size: 17px !important;
        }
        .rs-testimonial .testi-item .testi-content .testi-information .title {
            font-weight: 500 !important;
            font-size: 14px !important;
        }

        /* Counter / stats numbers */
        .rs-counter .counter-list .counter-number,
        .rs-counter .rs-count,
        .counter-list .number {
            font-weight: 800 !important;
        }
        .rs-counter .counter-list .title {
            font-weight: 600 !important;
        }

        /* About section */
        .rs-about .contact-wrap .sec-title .sub-text {
            font-weight: 600 !important;
        }
        .rs-about .contact-wrap .sec-title .title {
            font-weight: 800 !important;
        }
        .rs-about .contact-wrap .desc p {
            font-weight: 400 !important;
            line-height: 1.85 !important;
        }

        /* Call-to-action sections */
        .rs-cta .cta-wrap h2,
        .full-width-pt .cta-wrap h2 {
            font-weight: 800 !important;
        }
        .rs-cta .cta-wrap p {
            font-weight: 400 !important;
            line-height: 1.8 !important;
        }

        /* ============================================================
           PREMIUM TYPOGRAPHY + FOCUS REMOVAL — GLOBAL SITEWIDE
           No layout, icons, images, colors, spacing touched.
           Only text weight, color (darkened greys), line-height & outlines.
        ============================================================ */

        /* ── REMOVE ALL BLUE FOCUS OUTLINES GLOBALLY ── */
        *:focus {
            outline: none !important;
            box-shadow: none !important;
        }
        a:focus, a:active,
        button:focus, button:active,
        input:focus, textarea:focus, select:focus {
            outline: none !important;
            box-shadow: none !important;
        }

        /* ── GLOBAL BODY TEXT — Near-black, comfortable reading ── */
        body, html {
            color: #1a1a1a !important;
        }
        p {
            color: #222222 !important;
            font-weight: 400 !important;
            line-height: 1.8 !important;
        }

        /* ── DARKEN ALL GREY TEXT SITEWIDE — Nothing below #555 ── */
        .text-muted,
        [style*="color: #666"],
        [style*="color:#666"],
        [style*="color: #888"],
        [style*="color:#888"],
        [style*="color: #999"],
        [style*="color:#999"],
        [style*="color: gray"],
        .grey-text,
        .text-grey,
        .gray-color p {
            color: #444444 !important;
        }

        /* ── H4 / H5 / H6 — Semi-bold, clear hierarchy ── */
        h4 {
            font-weight: 700 !important;
            color: #111111 !important;
            line-height: 1.35 !important;
        }
        h5 {
            font-weight: 600 !important;
            color: #1a1a1a !important;
            line-height: 1.4 !important;
        }
        h6 {
            font-weight: 600 !important;
            color: #1a1a1a !important;
            line-height: 1.45 !important;
        }

        /* ── NAVIGATION LINKS ── */
        .desktop-menu li a {
            color: #1a1a1a !important;
            font-weight: 600 !important;
            letter-spacing: 0.4px !important;
        }
        .desktop-menu li.active a,
        .desktop-menu li a:hover {
            color: #106eea !important;
        }
        .mobile-menu-list li a {
            color: #1a1a1a !important;
            font-weight: 600 !important;
        }

        /* ── BUTTONS & CTAs ── */
        .readon, .readon.learn-more, .readon.contact-us,
        .btn, button[type="submit"], input[type="submit"],
        .blog-btn, .program-btn {
            font-weight: 700 !important;
            letter-spacing: 0.4px !important;
        }

        /* ── CAPTIONS, DATES, SMALL LABELS — Never washed out ── */
        small, .small, caption, figcaption,
        .date, .span-date, .post-date,
        .blog-meta li, .blog-meta li.date, .blog-meta li.admin,
        .btm-cate li div,
        .blog-date, .author, .category {
            color: #444444 !important;
            font-weight: 500 !important;
        }

        /* ─────────────────────────────────────────
           ① BLOG / NEWS CARDS — Both homepage & listing page
        ───────────────────────────────────────── */

        /* Section headings */
        #rs-blog .sec-title2 h2.title,
        #rs-blog h2.title,
        .rs-inner-blog h2.title,
        .rs-inner-blog .sec-title2 .title {
            font-weight: 800 !important;
            color: #03228f !important;
        }

        /* Card titles */
        .blog-item h3.blog-title a,
        .blog-item .blog-title a,
        #rs-blog .blog-title a,
        .rs-inner-blog .blog-title a,
        .rs-inner-blog .blog-item h3 a {
            font-weight: 700 !important;
            color: #03228f !important;
        }

        /* Date & author meta */
        .blog-item .blog-meta li,
        .blog-item .blog-meta li.date,
        .blog-item .blog-meta li.admin,
        .blog-item .blog-meta li span,
        .rs-inner-blog .blog-date,
        .rs-inner-blog .author,
        .rs-inner-blog .category,
        .btm-cate li .blog-date span,
        .btm-cate li .author span,
        .btm-cate li .category span {
            color: #444444 !important;
            font-weight: 500 !important;
        }

        /* Excerpt / preview paragraph */
        .blog-item .desc,
        .blog-item p.desc,
        .rs-inner-blog .blog-desc,
        .blog-item .blog-content p {
            color: #222222 !important;
            font-weight: 400 !important;
            line-height: 1.75 !important;
        }

        /* Category badge/pill */
        .post-categories li a,
        .blog-item .post-categories a {
            font-weight: 600 !important;
        }

        /* Read More buttons on blog cards */
        .blog-btn,
        .blog-button a,
        .blog-read-more-btn {
            font-weight: 700 !important;
        }

        /* ─────────────────────────────────────────
           ② TESTIMONIALS SECTION
        ───────────────────────────────────────── */

        /* Section heading */
        .rs-testimonial .sec-title2 h2.title,
        .rs-testimonial .testi-title {
            font-weight: 800 !important;
        }

        /* Sub label */
        .rs-testimonial .sec-title2 .sub-text {
            font-weight: 600 !important;
        }

        /* Quote / testimony text */
        .testi-item .author-desc,
        .testi-item .author-desc p,
        .testi-item .desc,
        .testi-item .desc p {
            color: #222222 !important;
            font-weight: 400 !important;
            line-height: 1.85 !important;
            font-size: 15.5px !important;
        }

        /* Beneficiary name */
        .testi-item .author-part .name,
        .testi-item .author-part a.name {
            font-weight: 700 !important;
            color: #111111 !important;
            font-size: 16px !important;
        }

        /* Beneficiary role/title */
        .testi-item .author-part .designation,
        .testi-item .author-part span.designation {
            font-weight: 500 !important;
            color: #444444 !important;
            font-size: 14px !important;
        }

        /* Star ratings / icons */
        .testi-item .rating i,
        .testi-item .star i {
            color: #f0a500 !important;
        }

        /* ─────────────────────────────────────────
           ③ OUR PROGRAMS SECTION
        ───────────────────────────────────────── */

        /* Sub label badge */
        .rs-services .sec-title2 .sub-text,
        .rs-services .sub-text.style-bg {
            font-weight: 700 !important;
        }

        /* Section main heading */
        .rs-services .sec-title2 h2,
        .rs-services.style2 h2 {
            font-weight: 800 !important;
            color: #03228f !important;
        }

        /* Section sub-paragraph */
        .rs-services .sec-title2 p,
        .rs-services.style2 .sec-title2 p {
            color: #333333 !important;
            font-weight: 400 !important;
            line-height: 1.8 !important;
            font-size: 16px !important;
        }

        /* Program card titles */
        .program-card-modern h3,
        .program-card-modern h3 a {
            font-weight: 700 !important;
            color: #03228f !important;
        }

        /* Program card description text */
        .program-card-modern p,
        .program-content-modern p {
            color: #222222 !important;
            font-weight: 400 !important;
            line-height: 1.75 !important;
            font-size: 15px !important;
        }

        /* "Program" badge on card image */
        .program-featured-image > div {
            font-weight: 700 !important;
        }

        /* Program Learn More link */
        .program-btn {
            font-weight: 700 !important;
            color: #03228f !important;
        }

        /* ─────────────────────────────────────────
           ADDITIONAL SECTION POLISHING
        ───────────────────────────────────────── */

        /* About section body text */
        .rs-about .textwidget p,
        .rs-about .contact-wrap .desc,
        .rs-about .contact-wrap .desc p {
            color: #222222 !important;
            font-weight: 400 !important;
            line-height: 1.85 !important;
        }

        /* Services / what-we-do section */
        .rs-services .services-content p,
        .services-item .services-content p {
            color: #333333 !important;
            font-weight: 400 !important;
            line-height: 1.8 !important;
        }
        .services-item .services-content h4,
        .services-item .services-content .services-title {
            font-weight: 700 !important;
            color: #111111 !important;
        }

        /* Counter section */
        .rs-counter .counter-list .number,
        .rs-counter .rs-count {
            font-weight: 800 !important;
            color: #111111 !important;
        }
        .rs-counter .counter-list .title,
        .rs-counter .counter-list p {
            font-weight: 600 !important;
            color: #333333 !important;
        }

        /* CTA section */
        .rs-cta .cta-wrap h2,
        .full-width-pt .cta-wrap h2 {
            font-weight: 800 !important;
        }
        .rs-cta .cta-wrap p {
            color: rgba(255,255,255,0.92) !important;
            font-weight: 400 !important;
            line-height: 1.8 !important;
        }

        /* Breadcrumbs */
        .rs-breadcrumbs .breadcrumbs-inner h1.page-title {
            font-weight: 800 !important;
        }
        .rs-breadcrumbs .breadcrumbs-inner ul li,
        .rs-breadcrumbs .breadcrumbs-inner ul li a {
            font-weight: 500 !important;
            color: rgba(255,255,255,0.88) !important;
        }

        /* Footer section text */
        .rs-footer .textwidget p,
        .rs-footer .footer-widget p {
            color: rgba(255,255,255,0.82) !important;
            font-weight: 400 !important;
            line-height: 1.8 !important;
        }
        .rs-footer .footer-widget .site-map li a {
            color: rgba(255,255,255,0.78) !important;
            font-weight: 500 !important;
        }
        .rs-footer .footer-widget .site-map li a:hover {
            color: #ffffff !important;
        }
        .rs-footer .address-widget li .desc,
        .rs-footer .address-widget li .desc a {
            color: rgba(255,255,255,0.80) !important;
            font-weight: 400 !important;
        }
        .rs-footer .address-widget li .desc a:hover {
            color: #ffffff !important;
        }
        .rs-footer .footer-bottom .copyright p {
            color: rgba(255,255,255,0.75) !important;
            font-weight: 400 !important;
            font-size: 14px !important;
        }
        .rs-footer .copy-right-menu li a {
            color: rgba(255,255,255,0.75) !important;
            font-weight: 500 !important;
        }
        .rs-footer .copy-right-menu li a:hover {
            color: #ffffff !important;
        }

        /* Blog sidebar */
        .recent-post-widget .post-desc a {
            font-weight: 600 !important;
            color: #1a1a1a !important;
            line-height: 1.5 !important;
        }
        .recent-post-widget .post-desc .date {
            color: #555555 !important;
            font-weight: 500 !important;
            font-size: 13px !important;
        }
        .widget-area .categories ul li a {
            color: #333333 !important;
            font-weight: 500 !important;
        }
        .widget-area .categories ul li a:hover {
            color: #106eea !important;
        }

        /* Top info bar — darken contact text */
        .top-contact-info li,
        .top-contact-info li a {
            font-weight: 500 !important;
        }

        /* Key highlight / stats labels */
        .rs-counter .rs-count,
        .counter-list .number,
        .rs-counter .counter-number {
            font-weight: 800 !important;
        }

    </style>

    <style>
        /* ============================================================
           BACKGROUND-AWARE TEXT COLOUR SYSTEM
           Rule: Dark/Blue BG → White text | Light/White BG → Dark text
           NO backgrounds, layout, icons or UI changed — text ONLY.
        ============================================================ */

        /* ───────────────────────────────────────────────────────────
           DARK / BLUE BACKGROUNDS → ALL TEXT WHITE
        ─────────────────────────────────────────────────────────── */

        /* .bg1 — CTA / Call-Us section (dark navy #000060 + image) */
        .rs-call-us.bg1 h2,
        .rs-call-us.bg1 h3,
        .rs-call-us.bg1 .title,
        .rs-call-us.bg1 .sub-text,
        .rs-call-us.bg1 p,
        .rs-call-us.bg1 .desc,
        .rs-call-us.bg1 span:not(.fa):not([class*="icon"]) {
            color: #ffffff !important;
        }

        /* .bg3 — dark process/cards (#03228F) */
        .bg3 h2, .bg3 h3, .bg3 h4, .bg3 h5,
        .bg3 p, .bg3 .title, .bg3 .sub-text, .bg3 span,
        .bg3 .desc {
            color: #ffffff !important;
        }

        /* .bg5 / .bg6 — project/portfolio dark sections */
        .bg5 h2, .bg5 h3, .bg5 h4, .bg5 p,
        .bg5 .title, .bg5 .sub-text, .bg5 .desc,
        .bg6 h2, .bg6 h3, .bg6 h4, .bg6 p,
        .bg6 .title, .bg6 .sub-text, .bg6 .desc {
            color: #ffffff !important;
        }

        /* #rs-news — dark blue gradient section wrapper text (NOT card text) */
        #rs-news > .container > .sec-title2 h2,
        #rs-news > .container > .sec-title2 .title,
        #rs-news > .container > .sec-title2 .sub-text,
        #rs-news > .container > .sec-title2 p {
            color: #ffffff !important;
        }
        #rs-news .news-filters .filter-btn {
            /* already styled inline — leave as-is */
        }

        /* News CARDS have white bg — keep card text dark */
        #rs-news .news-item h3.news-title a,
        #rs-news .news-item .news-title a {
            color: #03228f !important;
            font-weight: 700 !important;
        }
        #rs-news .news-item .news-meta li.date,
        #rs-news .news-item .news-meta li {
            color: #444444 !important;
        }
        #rs-news .news-item p.desc,
        #rs-news .news-item .desc {
            color: #222222 !important;
            font-weight: 400 !important;
            line-height: 1.75 !important;
        }

        /* Footer — already dark blue */
        .rs-footer,
        .rs-footer .widget-title,
        .rs-footer h3,
        .rs-footer h4 {
            color: #ffffff !important;
        }

        /* Breadcrumbs — dark hero image */
        .rs-breadcrumbs .breadcrumbs-inner h1,
        .rs-breadcrumbs .breadcrumbs-inner ul li,
        .rs-breadcrumbs .breadcrumbs-inner ul li a {
            color: #ffffff !important;
        }
        .rs-breadcrumbs .breadcrumbs-inner ul li.active {
            color: rgba(255,255,255,0.75) !important;
        }

        /* ───────────────────────────────────────────────────────────
           LIGHT / WHITE BACKGROUNDS → ALL TEXT DARK
        ─────────────────────────────────────────────────────────── */

        /* .bg2 — Counter section (white card bg) */
        .bg2 .counter-prefix,
        .bg2 .counter-label,
        .bg2 h3,
        .bg2 p {
            color: #1a1a1a !important;
        }
        .counter-prefix {
            color: #555555 !important;
        }
        .counter-label {
            color: #1a1a1a !important;
        }

        /* .bg4 — About section (light landscape photo) */
        .rs-about.bg4 h2,
        .rs-about.bg4 h3,
        .rs-about.bg4 .title,
        .rs-about.bg4 .sub-text,
        .rs-about.bg4 p,
        .rs-about.bg4 .desc {
            color: #1a1a1a !important;
        }
        .rs-about.bg4 .sub-text.style2 {
            color: #03228f !important;
        }

        /* Testimonials — .gray-color (light grey bg) */
        .rs-testimonial.gray-color .testi-title,
        .rs-testimonial.gray-color h2,
        .rs-testimonial.gray-color .sec-title2 .title {
            color: #111111 !important;
        }
        .rs-testimonial.gray-color .sec-title2 .sub-text {
            color: #03228f !important;
        }
        .rs-testimonial.gray-color .testi-item .author-desc {
            color: #222222 !important;
        }
        .rs-testimonial.gray-color .testi-item .name,
        .rs-testimonial.gray-color .testi-item .author-part a {
            color: #111111 !important;
        }
        .rs-testimonial.gray-color .testi-item .designation {
            color: #444444 !important;
        }

        /* Banner section (light / white background) */
        .rs-banner .it-title,
        .rs-banner h1 {
            color: #111111 !important;
        }
        .rs-banner .description p,
        .rs-banner .desc {
            color: #333333 !important;
        }
        /* Banner contact form box */
        .rs-banner .rs-contact .title {
            color: #111111 !important;
        }
        .rs-banner .rs-contact p.desc {
            color: #444444 !important;
        }

        /* Programs / Services section (white bg) */
        .rs-services .sec-title2 h2 {
            color: #03228f !important;
        }
        .rs-services .sec-title2 p {
            color: #333333 !important;
        }

        /* Blog section (light gradient bg) */
        #rs-blog .sec-title2 h2.title,
        #rs-blog .testi-title {
            color: #03228f !important;
        }

        /* .bg7 / .bg8 — CTA variations (dark image) */
        .bg7 h2, .bg7 h3, .bg7 .title, .bg7 p, .bg7 .sub-text,
        .bg8 h2, .bg8 h3, .bg8 .title, .bg8 p, .bg8 .sub-text {
            color: #ffffff !important;
        }

        /* General rule: any element with dark inline bg colour → ensure white text */
        [style*="background: linear-gradient(135deg, #03228f"],
        [style*="background: linear-gradient(135deg, #03228F"],
        [style*="background-color: #03228f"],
        [style*="background-color: #000060"] {
            color: #ffffff !important;
        }
        /* But exclude small badges/pills — they are already explicitly styled */

        /* ============================================================
           ENTIRE SYSTEM FONT VISIBILITY - BLACK CONTRAST & BLOG STYLING
           Replace all grey text colors with black across the system.
           Apply specific Outfit/Inter typography for the blog focus.
        ============================================================ */
        :root {
            --blog-heading-font: 'Outfit', sans-serif;
            --blog-body-font: 'Inter', sans-serif;
        }

        /* 1. GLOBAL BLACK CONTRAST FIX - Target ONLY grey/muted text on light backgrounds */
        .text-muted, .desc, .footer-widget p, .footer-widget li,
        .search-input::placeholder, input::placeholder, textarea::placeholder,
        [style*="color: #666"], [style*="color: #555"], [style*="color: #444"], [style*="color: #333"],
        [style*="color:#666"], [style*="color:#555"], [style*="color:#444"], [style*="color:#333"],
        [style*="color: #999"], [style*="color: #aaa"], [style*="color: #888"], [style*="color: #777"],
        [style*="color: #6c757d"], [style*="color: #b0b0b0"], [style*="color: grey"], [style*="color: gray"] {
            color: #111111 !important;
        }

        /* 2. SPECIFIC BLOG STYLING (Outfit for display, Inter for body) */

        /* Main Heading (Outfit 800) */
        .page-title, .rs-inner-blog .sec-title2 .title {
            font-family: var(--blog-heading-font) !important;
            font-weight: 800 !important;
        }

        /* Blog Card & Details Titles (Outfit 700) */
        .blog-title, .blog-title a, .blog-details .title, .widget-title .title {
            font-family: var(--blog-heading-font) !important;
            font-weight: 700 !important;
        }

        /* Ensure meta info in blog follows high visibility black rule */
        .blog-meta li, .blog-meta span, .recent-post-widget .date {
            color: #000000 !important;
        }

        /* Blog Excerpts/Content (Inter 400) */
        .blog-desc, .blog-content p, .blog-content-2 p, .related-blogs p {
            font-family: var(--blog-body-font) !important;
            font-weight: 400 !important;
            color: #000000 !important;
            line-height: 1.8 !important;
        }

        /* Meta Info - Author, Date, Read Time (Inter 500) */
        .author, .author span, .blog-date, .blog-date span, .p-date, .blog-meta li,
        .recent-post-widget .date, .blog-details .single-post-meta li span {
            font-family: var(--blog-body-font) !important;
            font-weight: 500 !important;
        }

        /* Categories & Tags (Inter 600) */
        .category, .category span, .btm-cate li, .blog-category, .tags a,
        .widget-area .categories li a {
            font-family: var(--blog-body-font) !important;
            font-weight: 600 !important;
        }

        /* Buttons & CTA labels (Inter 600) */
        .blog-btn, .readon, .learn-more, .btn {
            font-family: var(--blog-body-font) !important;
            font-weight: 600 !important;
        }

        /* Sub-headings inside blog post (Outfit 700) */
        .blog-content h1, .blog-content h2, .blog-content h3, .blog-content h4,
        .blog-content h5, .blog-content h6 {
            font-family: var(--blog-heading-font) !important;
            font-weight: 700 !important;
            color: #000000 !important;
        }

        /* Pull Quotes (Inter 500, larger size) */
        blockquote, .pullquote, .highlighted-text {
            font-family: var(--blog-body-font) !important;
            font-weight: 500 !important;
            font-size: 1.15rem !important;
            color: #000000 !important;
            border-left: 5px solid #03228f;
            padding-left: 20px;
            margin: 30px 0;
            line-height: 1.6 !important;
        }
    </style>

      .whatsapp-float {
          position: fixed;
          width: 60px;
          height: 60px;
          bottom: 40px;
          right: 40px;
          background-color: #25d366;
          color: #FFF;
          border-radius: 50px;
          text-align: center;
          font-size: 30px;
          box-shadow: 2px 2px 12px rgba(0,0,0,0.2);
          z-index: 999;
          display: flex;
          align-items: center;
          justify-content: center;
          transition: all 0.3s ease;
      }

      .whatsapp-float:hover {
          background-color: #128c7e;
          transform: scale(1.1);
          box-shadow: 2px 2px 20px rgba(0,0,0,0.3);
          color: #FFF;
      }

      .whatsapp-float i {
          margin-top: 0;
          line-height: 60px;
      }

      /* Animation */
      @keyframes pulse {
          0% {
              box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.7);
          }
          70% {
              box-shadow: 0 0 0 10px rgba(37, 211, 102, 0);
          }
          100% {
              box-shadow: 0 0 0 0 rgba(37, 211, 102, 0);
          }
      }

      .whatsapp-float {
          animation: pulse 2s infinite;
      }

      /* Mobile responsive */
      @media screen and (max-width: 768px) {
          .whatsapp-float {
              width: 50px;
              height: 50px;
              bottom: 20px;
              right: 20px;
              font-size: 25px;
          }

          .whatsapp-float i {
              line-height: 50px;
          }
      }
  </style>