/* ==========================================================================
           🎨 DESIGN SYSTEM: COLORS & VARIABLES
           ========================================================================== */
        :root {
            /* Primary Brand Colors */
            --cws-navy: #0B1F3A;         /* Deep, trustworthy navy for headings/dark sections */
            --cws-navy-dark: #061121;    /* Even darker navy for extreme contrast */
            --cws-blue: #2563EB;         /* Vibrant brand blue */
            --cws-cyan: #06B6D4;         /* Bright cyan for accents and gradients */
            --cws-success: #10B981;      /* Trust/Verified Green */
            
            /* Gradients */
            --cws-gradient-primary: linear-gradient(135deg, var(--cws-blue) 0%, var(--cws-cyan) 100%);
            --cws-gradient-hover: linear-gradient(135deg, var(--cws-cyan) 0%, var(--cws-blue) 100%);
            --cws-gradient-trust: linear-gradient(135deg, #0f172a 0%, var(--cws-navy-dark) 100%);
            
            /* Neutrals & Backgrounds */
            --cws-bg-main: #FFFFFF;
            --cws-bg-light: #F8FAFC;     /* Very light slate for alternating sections */
            --cws-border-color: #E2E8F0;
            
            /* Text Colors */
            --cws-text-main: #334155;    /* Slate 700 - Highly readable body text */
            --cws-text-muted: #64748B;   /* Slate 500 - Secondary text */
            --cws-text-heading: var(--cws-navy);
            
            /* UI Elements */
            --cws-radius-sm: 6px;
            --cws-radius-md: 10px;       /* Standard SaaS-like rounded corner */
            --cws-radius-lg: 16px;
            --cws-shadow-sm: 0 2px 4px rgba(11, 31, 58, 0.05);
            --cws-shadow-md: 0 10px 25px -5px rgba(11, 31, 58, 0.1);
            --cws-shadow-lg: 0 20px 40px -10px rgba(37, 99, 235, 0.15);
            --cws-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        }

        /* ==========================================================================
           🔤 DESIGN SYSTEM: TYPOGRAPHY
           ========================================================================== */
        body {
            font-family: 'Inter', sans-serif;
            color: var(--cws-text-main);
            background-color: var(--cws-bg-main);
            -webkit-font-smoothing: antialiased;
            line-height: 1.6;
            overflow-x: hidden;
            /* Adjust body padding for the top bar */
            padding-top: 36px; 
        }

        h1, h2, h3, h4, h5, h6, .font-heading {
            font-family: 'Sora', sans-serif;
            color: var(--cws-text-heading);
            font-weight: 700;
            line-height: 1.2;
            letter-spacing: -0.02em;
        }

        .text-muted-custom { color: var(--cws-text-muted) !important; }

        .display-hero { font-size: clamp(2.5rem, 5vw, 4.5rem); font-weight: 800; letter-spacing: -0.03em; }
        .heading-section { font-size: clamp(2rem, 4vw, 3rem); font-weight: 700; }
        
        .text-gradient {
            background: var(--cws-gradient-primary);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }

        .section-padding { padding: 100px 0; }
        .section-padding-sm { padding: 60px 0; }
        .bg-light-alt { background-color: var(--cws-bg-light); }
        .bg-navy { background-color: var(--cws-navy); color: white; }

        /* --- Pre-emptive Trust Topbar --- */
        .topbar-cws {
            position: fixed;
            top: 0; left: 0; right: 0;
            height: 36px;
            background: var(--cws-navy-dark);
            color: rgba(255,255,255,0.9);
            z-index: 1040;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 0.75rem;
            font-weight: 600;
            letter-spacing: 0.5px;
            text-transform: uppercase;
        }
        
        .topbar-cws .bullet {
            margin: 0 12px;
            color: var(--cws-cyan);
            opacity: 0.5;
        }

        /* --- Navbar --- */
        .navbar-cws {
            top: 36px; /* Offset for topbar */
            padding: 10px 0;
            transition: var(--cws-transition);
            background: rgba(255, 255, 255, 0.95);
            backdrop-filter: blur(10px);
            border-bottom: 1px solid transparent;
        }
        
        .navbar-cws.scrolled {
            padding: 12px 0;
            border-bottom: 1px solid var(--cws-border-color);
            box-shadow: 0 4px 20px rgba(0,0,0,0.03);
        }

        .navbar-brand-cws img { width: 200px; }
        .nav-link-cws {
            color: var(--cws-text-main) !important;
            font-weight: 600;
            font-size: 0.95rem;
            padding: 8px 16px !important;
            transition: var(--cws-transition);
            border-radius: var(--cws-radius-sm);
        }
        .nav-link-cws:hover { color: var(--cws-blue) !important; background: var(--cws-bg-light); }

        /* --- Buttons --- */
        .btn-cws {
            font-family: 'Inter', sans-serif;
            font-weight: 600;
            padding: 14px 28px;
            border-radius: var(--cws-radius-md);
            transition: var(--cws-transition);
            display: inline-flex; align-items: center; justify-content: center; gap: 8px;
            text-decoration: none; border: none; cursor: pointer; font-size: 1rem;
        }
        .btn-cws-primary { background: var(--cws-gradient-primary); color: white; box-shadow: var(--cws-shadow-sm); }
        .btn-cws-primary:hover { background: var(--cws-gradient-hover); color: white; transform: translateY(-2px); box-shadow: var(--cws-shadow-md); }
        .btn-cws-outline { background: transparent; color: var(--cws-navy); border: 1.5px solid var(--cws-border-color); }
        .btn-cws-outline:hover { background: var(--cws-bg-light); border-color: var(--cws-blue); color: var(--cws-blue); transform: translateY(-2px); }
        .btn-cws-outline-light { background: transparent; color: white; border: 1.5px solid rgba(255,255,255,0.2); }
        .btn-cws-outline-light:hover { background: rgba(255,255,255,0.1); border-color: white; color: white; transform: translateY(-2px); }

        /* --- Cards --- */
        .card-cws {
            background: white; border: 1px solid var(--cws-border-color); border-radius: var(--cws-radius-lg);
            padding: 40px 30px; transition: var(--cws-transition); height: 100%;
        }
        .card-cws:hover { transform: translateY(-8px); box-shadow: var(--cws-shadow-lg); border-color: rgba(37, 99, 235, 0.2); }
        .icon-box {
            width: 56px; height: 56px; border-radius: var(--cws-radius-md); background: var(--cws-bg-light);
            color: var(--cws-blue); display: flex; align-items: center; justify-content: center;
            margin-bottom: 24px; transition: var(--cws-transition);
        }
        .card-cws:hover .icon-box { background: var(--cws-blue); color: white; }

        /* --- Forms & Security UI --- */
        .form-control-cws {
            background-color: var(--cws-bg-light); border: 1px solid var(--cws-border-color);
            border-radius: var(--cws-radius-md); padding: 14px 20px; font-size: 1rem;
            color: var(--cws-text-main); transition: var(--cws-transition);
        }
        .form-control-cws:focus { background-color: white; border-color: var(--cws-blue); box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.1); outline: none; }
        
        .secure-form-container {
            position: relative;
            border: 1px solid var(--cws-border-color);
        }
        .secure-form-container::before {
            content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px;
            background: var(--cws-success); border-top-left-radius: 1rem; border-top-right-radius: 1rem;
        }

        /* Hero Section */
        .hero-section {
            padding-top: 140px; padding-bottom: 80px; position: relative; overflow: hidden;
            background: radial-gradient(circle at top right, rgba(6, 182, 212, 0.05) 0%, transparent 50%),
                        radial-gradient(circle at bottom left, rgba(37, 99, 235, 0.05) 0%, transparent 50%);
        }
        .hero-badge {
            display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px;
            background: white; border: 1px solid var(--cws-border-color); border-radius: 50px;
            font-size: 0.85rem; font-weight: 700; color: var(--cws-navy); margin-bottom: 24px; box-shadow: var(--cws-shadow-sm);
        }
        .hero-image-wrapper {
            position: relative; border-radius: var(--cws-radius-lg); padding: 8px;
            background: white; border: 1px solid var(--cws-border-color); box-shadow: var(--cws-shadow-lg);
            transform: perspective(1000px) rotateY(-5deg) rotateX(5deg); transition: var(--cws-transition);
        }
        .hero-image-wrapper:hover { transform: perspective(1000px) rotateY(0deg) rotateX(0deg); }
        .hero-image-wrapper img { border-radius: var(--cws-radius-md); width: 100%; height: auto; display: block; }

        /* Trust Partner Banner */
        .trust-banner {
            border-top: 1px solid var(--cws-border-color); border-bottom: 1px solid var(--cws-border-color);
            padding: 30px 0; background: var(--cws-bg-light);
        }
        .partner-badge {
            display: flex; align-items: center; gap: 10px; font-family: 'Sora', sans-serif;
            font-weight: 700; color: var(--cws-text-muted); font-size: 1.1rem;
            transition: var(--cws-transition);
        }
        .partner-badge:hover { color: var(--cws-navy); transform: translateY(-2px); }
        .partner-badge i { color: var(--cws-blue); }

        /* The Trust Pact Section */
        .trust-pact-section {
            background: var(--cws-gradient-trust);
            color: white;
            position: relative;
        }
        .trust-pact-card {
            background: rgba(255, 255, 255, 0.03);
            border: 1px solid rgba(255, 255, 255, 0.1);
            backdrop-filter: blur(10px);
            border-radius: var(--cws-radius-lg);
            padding: 40px 30px;
            height: 100%;
            transition: var(--cws-transition);
        }
        .trust-pact-card:hover { background: rgba(255, 255, 255, 0.06); border-color: rgba(6, 182, 212, 0.5); }
        .trust-icon-ring {
            width: 60px; height: 60px; border-radius: 50%;
            background: rgba(6, 182, 212, 0.1); border: 1px solid rgba(6, 182, 212, 0.3);
            display: flex; align-items: center; justify-content: center; color: var(--cws-cyan);
            margin-bottom: 20px;
        }

        /* Feature List (Why Us) */
        .feature-list { list-style: none; padding: 0; }
        .feature-list li { display: flex; align-items: flex-start; gap: 16px; margin-bottom: 24px; }
        .feature-check {
            flex-shrink: 0; width: 28px; height: 28px; background: rgba(6, 182, 212, 0.15);
            color: var(--cws-cyan); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin-top: 2px;
        }

        /* Portfolio */
        .portfolio-card {
            position: relative; overflow: hidden; border-radius: var(--cws-radius-lg); cursor: pointer;
            border: 1px solid var(--cws-border-color); background: var(--cws-bg-light);
            box-shadow: var(--cws-shadow-sm); transition: var(--cws-transition);
        }
        .portfolio-img-wrapper { aspect-ratio: 4/4; overflow: hidden; background: #E2E8F0; }
        .portfolio-img { width: 100%; height: 100%; object-fit: cover; object-position: top; transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1); }
        .portfolio-overlay {
            position: absolute; inset: 0; background: linear-gradient(to top, rgba(11, 31, 58, 0.9) 0%, rgba(11, 31, 58, 0.4) 100%);
            display: flex; flex-direction: column; justify-content: flex-end; padding: 24px; opacity: 0; transition: opacity 0.3s ease;
        }
        .portfolio-card:hover { transform: translateY(-5px); box-shadow: var(--cws-shadow-lg); border-color: var(--cws-blue); }
        .portfolio-card:hover .portfolio-img { transform: scale(1.08); }
        .portfolio-card:hover .portfolio-overlay { opacity: 1; }
        .portfolio-category { color: var(--cws-cyan); font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1.5px; margin-bottom: 8px; transform: translateY(15px); transition: transform 0.4s ease; }
        .portfolio-title { color: white; font-family: 'Sora', sans-serif; font-size: 1.25rem; font-weight: 600; margin-bottom: 0; transform: translateY(15px); transition: transform 0.4s ease 0.05s; }
        
        .portfolio-view-btn {
            position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%) scale(0.8);
            padding: 12px; font-size: 12px; background: white; color: var(--cws-navy); font-weight: 700; border-radius: 50px;
            display: flex; align-items: center; gap: 8px; opacity: 0; transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1); box-shadow: 0 10px 25px rgba(0,0,0,0.2);
        }
        .portfolio-card:hover .portfolio-category, .portfolio-card:hover .portfolio-title { transform: translateY(0); }
        .portfolio-card:hover .portfolio-view-btn { opacity: 1; transform: translate(-50%, -50%) scale(1); }
        .modal-portfolio-img { width: 100%; height: auto; border-radius: var(--cws-radius-lg); box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25); }

        /* Testimonials */
        .testimonial-avatar { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; }
        .stars { color: #F59E0B; margin-bottom: 16px; }
        .verified-badge { color: var(--cws-success); display: inline-flex; align-items: center; gap: 4px; font-size: 0.75rem; font-weight: 600; background: rgba(16, 185, 129, 0.1); padding: 2px 8px; border-radius: 20px; }

        /* Global Presence */
        .global-presence-section { background-image: radial-gradient(circle at center, rgba(37, 99, 235, 0.03) 0%, transparent 70%); }
        .location-card {
            background: white; border: 1px solid var(--cws-border-color); border-radius: var(--cws-radius-lg);
            padding: 40px 30px; height: 100%; position: relative; overflow: hidden; transition: var(--cws-transition); z-index: 1;
        }
        .location-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: var(--cws-gradient-primary); opacity: 0; transition: var(--cws-transition); }
        .location-card:hover { transform: translateY(-8px); box-shadow: var(--cws-shadow-lg); }
        .location-card:hover::before { opacity: 1; }
        .location-icon-wrapper {
            width: 64px; height: 64px; background: var(--cws-bg-light); border-radius: 50%;
            display: flex; align-items: center; justify-content: center; color: var(--cws-blue); margin-bottom: 24px; transition: var(--cws-transition);
        }
        .location-card:hover .location-icon-wrapper { background: var(--cws-navy); color: white; transform: scale(1.1); }

        /* FAQ Section */
        .faq-section { background-color: var(--cws-bg-main); }
        .accordion-cws { display: flex; flex-direction: column; gap: 16px; }
        .accordion-cws .accordion-item { background-color: var(--cws-bg-light); border: 1px solid var(--cws-border-color); border-radius: var(--cws-radius-md) !important; overflow: hidden; transition: var(--cws-transition); }
        .accordion-cws .accordion-item:hover { border-color: var(--cws-blue); box-shadow: var(--cws-shadow-sm); }
        .accordion-cws .accordion-button { background-color: transparent; color: var(--cws-navy); font-weight: 600; font-family: 'Sora', sans-serif; padding: 20px 24px; box-shadow: none; gap: 15px; }
        .accordion-cws .accordion-button:focus { box-shadow: none; border-color: transparent; }
        .accordion-cws .accordion-button:not(.collapsed) { color: var(--cws-blue); background-color: transparent; box-shadow: none; }
        .accordion-cws .accordion-button::after { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%230B1F3A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E"); transition: transform 0.3s ease; }
        .accordion-cws .accordion-button:not(.collapsed)::after { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232563EB' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E"); transform: rotate(-180deg); }
        .accordion-cws .accordion-body { padding: 0 24px 24px 24px; color: var(--cws-text-muted); line-height: 1.7; }

        /* CTA Section */
        .cta-box {
            background: var(--cws-gradient-primary); border-radius: var(--cws-radius-lg); padding: 60px 40px;
            text-align: center; color: white; box-shadow: var(--cws-shadow-lg); position: relative; overflow: hidden;
        }
        .cta-box::before { content: ''; position: absolute; top: -50%; right: -20%; width: 400px; height: 400px; background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 60%); border-radius: 50%; }

        /* Footer */
        .footer-cws { background: var(--cws-navy-dark); color: rgba(255,255,255,0.7); padding: 80px 0 30px; }
        .footer-cws h5 { color: white; margin-bottom: 24px; font-size: 1.1rem;}
        .footer-links { list-style: none; padding: 0; margin: 0; }
        .footer-links li { margin-bottom: 12px; }
        .footer-links a { color: rgba(255,255,255,0.7); text-decoration: none; transition: var(--cws-transition); }
        .footer-links a:hover { color: var(--cws-cyan); }
        .social-link {
            display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px;
            background: rgba(255,255,255,0.05); border-radius: var(--cws-radius-sm); color: white; transition: var(--cws-transition);
        }
        .social-link:hover { background: var(--cws-blue); transform: translateY(-2px); }

        /* Floating WhatsApp Button */
        .floating-wa-btn {
            position: fixed; bottom: 24px; right: 24px; background-color: #25D366; color: white;
            width: 60px; height: 60px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
            box-shadow: 0 10px 25px rgba(37, 211, 102, 0.4); z-index: 1000; transition: var(--cws-transition);
        }
        .floating-wa-btn:hover { transform: translateY(-5px); color: white; box-shadow: 0 15px 30px rgba(37, 211, 102, 0.6); }
        .floating-wa-icon { width: 32px; height: 32px; fill: currentColor; }

        /* ==========================================================================
           🚀 PSYCHOLOGICAL DOPAMINE LEAD MODAL STYLING
           ========================================================================== */
        .dopamine-modal .modal-content {
            border: none;
            border-radius: var(--cws-radius-lg);
            background: var(--cws-bg-main);
            box-shadow: 0 30px 60px -15px rgba(11, 31, 58, 0.35);
            overflow: hidden;
            position: relative;
        }

        .dopamine-modal .modal-content::before {
            content: '';
            position: absolute;
            top: 0; left: 0; right: 0;
            height: 6px;
            background: var(--cws-gradient-primary);
            z-index: 5;
        }

        .dopamine-modal .modal-header {
            border-bottom: none;
            padding: 24px 28px 12px;
        }

        .dopamine-modal .modal-body {
            padding: 12px 28px 28px;
        }

        /* Value & Urgency Progress Bar */
        .offer-progress-container {
            background-color: #F1F5F9;
            border-radius: 50px;
            height: 24px;
            position: relative;
            overflow: hidden;
            display: flex;
            align-items: center;
            box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.03);
        }

        .offer-progress-bar {
            height: 100%;
            background: linear-gradient(90deg, var(--cws-blue) 0%, var(--cws-success) 100%);
            border-radius: 50px;
            animation: fillProgress 1.2s cubic-bezier(0.1, 0.8, 0.1, 1) forwards;
            width: 0%; /* Dynamic fill via CSS animation */
        }

        @keyframes fillProgress {
            0% { width: 0%; }
            100% { width: 88%; }
        }

        .offer-progress-text {
            position: absolute;
            left: 0; right: 0;
            text-align: center;
            font-size: 0.72rem;
            font-weight: 800;
            color: var(--cws-navy-dark);
            text-transform: uppercase;
            letter-spacing: 0.8px;
            z-index: 2;
            mix-blend-mode: multiply;
        }

        .instant-perk-badge {
            background: rgba(16, 185, 129, 0.1);
            color: var(--cws-success);
            font-weight: 700;
            font-size: 0.75rem;
            padding: 4px 10px;
            border-radius: 20px;
            display: inline-flex;
            align-items: center;
            gap: 4px;
        }

        .trust-micro-badge {
            font-size: 0.7rem;
            color: var(--cws-text-muted);
            font-weight: 600;
            display: inline-flex;
            align-items: center;
            gap: 4px;
            background: var(--cws-bg-light);
            padding: 4px 8px;
            border-radius: 4px;
        }

        /* Success Step Animation Container */
        .celebration-state {
            display: none;
            padding: 40px 10px;
            text-align: center;
        }

        .sparkle-check-ring {
            width: 80px;
            height: 80px;
            border-radius: 50%;
            background: rgba(16, 185, 129, 0.1);
            border: 2px solid var(--cws-success);
            display: flex;
            align-items: center;
            justify-content: center;
            color: var(--cws-success);
            margin: 0 auto 24px;
            position: relative;
            animation: pulseSuccess 2s infinite ease-in-out;
        }

        @keyframes pulseSuccess {
            0%, 100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.2); }
            50% { transform: scale(1.05); box-shadow: 0 0 0 15px rgba(16, 185, 129, 0); }
        }

        /* Floating Confetti Elements */
        .confetti-piece {
            position: absolute;
            width: 10px;
            height: 10px;
            background: #ffd300;
            border-radius: 20%;
            opacity: 0;
            pointer-events: none;
        }

        /* Responsive */
        @media (max-width: 991.98px) {
            .display-hero { font-size: 2.5rem; }
            .hero-section { text-align: center; padding-top: 100px; }
            .hero-image-wrapper { margin-top: 40px; transform: none; }
            .hero-badge { margin: 0 auto 24px auto; }
            .navbar-collapse { background: white; padding: 20px; border-radius: var(--cws-radius-md); box-shadow: var(--cws-shadow-lg); margin-top: 10px; }
            .topbar-cws { display: none; } /* Hide micro-bar on mobile to save space */
            body { padding-top: 0; }
            .navbar-cws { top: 0; }
        }