
        :root {
            --violet: #6a0dad;
            --soft-violet: #9d4edd;
            --mint: #d1f2eb;
            --mint-dark: #1abc9c;
            --gray-light: #f8f9fa;
            --text-dark: #2c3e50;
        }

        body { font-family: 'Open Sans', sans-serif; color: var(--text-dark); background-color: white; }
        h1, h2, h3, h4, h5, .navbar-brand { font-family: 'Montserrat', sans-serif; font-weight: 700; color: var(--violet); }

        /* Navbar */
        .navbar { padding: 1.5rem 0; background: transparent; }
        .nav-link { font-weight: 600; color: var(--text-dark) !important; margin: 0 10px; transition: 0.3s; }
        .nav-link:hover { color: var(--violet) !important; }
        .btn-violet { background-color: var(--violet); color: white !important; border-radius: 5px; padding: 10px 25px; transition: 0.3s; }
        .btn-violet:hover { background-color: var(--mint-dark); color: white !important; transform: translateY(-3px); }

        /* Hero */
        .hero {
            background: linear-gradient(135deg, rgba(106, 13, 173, 0.85), rgba(26, 188, 156, 0.7)), url('https://images.pexels.com/photos/164527/pexels-photo-164527.jpeg?auto=compress&cs=tinysrgb&w=1920') no-repeat center center/cover;
            height: 85vh;
            display: flex;
            align-items: center;
            color: white;
            text-align: center;
        }
        .hero h1 { color: white; }

        .nav-item{
            margin-left:35px !important;
        }

        /* General Section */
        section { padding: 80px 0; }
        .bg-light-gray { background-color: var(--gray-light); }
        .section-title { margin-bottom: 50px; text-align: center; }
        .section-title h2 { position: relative; padding-bottom: 15px; }
        .section-title h2::after { content: ''; position: absolute; width: 60px; height: 3px; background: var(--mint-dark); bottom: 0; left: 50%; transform: translateX(-50%); }

        /* About Us - 15 line approx desc */
        .about-desc { text-align: justify; line-height: 1.8; }

        /* Counter */
        .counter-section { background-color: var(--violet); color: white; padding: 60px 0; }
        .counter-box h2 { color: var(--mint); font-size: 3rem; margin-bottom: 5px; }

        /* Service Cards */
        .service-card { border: none; transition: 0.4s; height: 100%; border-radius: 12px; overflow: hidden; }
        .service-card:hover { transform: translateY(-10px); box-shadow: 0 15px 30px rgba(0,0,0,0.1); }
        .service-img { height: 220px; object-fit: cover; }
        .card-body { padding: 25px; }
        .service-desc { 
            height: 155px; /* Ensures approx 7 lines of text */
            overflow: hidden; 
            font-size: 0.95rem;
            line-height: 1.5;
            color: #555;
        }

        /* FAQ */
        .accordion-button:not(.collapsed) { background-color: var(--mint); color: var(--violet); }

        /* Reviews */
        .review-card { background: white; padding: 30px; border-radius: 10px; border-top: 5px solid var(--violet); height: 100%; }

        /* Footer */
        footer { background-color: var(--text-dark); color: #cbd5e0; padding: 70px 0 20px; }
        footer a { color: #cbd5e0; text-decoration: none; transition: 0.3s; }
        footer a:hover { color: var(--mint); }
        .footer-title { color: white; font-weight: 700; margin-bottom: 25px; text-transform: uppercase; border-bottom: 2px solid var(--violet); display: inline-block; }
