 :root {
        --saaol-blue: #1e95c3;
        --saaol-dark-blue: #126787;
        --saaol-light-blue: #e6f2fa;
        --saaol-red: #ed1d26;
        --saaol-green: #2ed573;
        --gradient-primary: linear-gradient(135deg, var(--saaol-blue) 0%, var(--saaol-dark-blue) 100%);
        --gradient-secondary: linear-gradient(135deg, #2d89ef 0%, #2b5797 100%);
        --gradient-accent: linear-gradient(135deg, var(--saaol-dark-blue) 0%, var(--saaol-red) 100%);
        --shadow-light: 0 5px 15px rgba(0, 0, 0, 0.05);
        --shadow-medium: 0 8px 30px rgba(0, 0, 0, 0.12);
        --shadow-heavy: 0 15px 40px rgba(0, 0, 0, 0.2);
        --border-radius: 12px;
    }

    * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
    }

    body {
        font-family: 'Inter', sans-serif;
        color: #333;
        background-color: #f9fbfd;
        overflow-x: hidden;
        line-height: 1.6;
    }

    .container {
        width: 100%;
        max-width: 1400px;
        margin: 0 auto;
        /*padding: 0 20px;*/
    }

    h2,
    h3 {
        color: var(--saaol-blue) !important;
    }

    /* Header Styles */
    header {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        background-color: rgba(255, 255, 255, 0.95);
        box-shadow: var(--shadow-light);
        z-index: 1000;
        padding: 1% 7%;
        transition: all 0.3s ease;
    }

    header.scrolled {
        padding: 0.5% 7%;
        background-color: rgba(255, 255, 255, 0.98);
        box-shadow: var(--shadow-medium);
    }

    .header-container {
        display: flex;
        justify-content: space-between;
        align-items: center;
        position: relative;
        background: white
    }

    .logo {
        display: flex;
        align-items: center;
        gap: 10px;
    }

    .logo img {
        height: 40px;
        width: auto;
    }

    .logo-text {
        font-size: 18px;
        font-weight: 700;
        color: var(--saaol-blue);
    }

    .nav-menu {
        display: flex;
        align-items: center;
        gap: 30px;
    }

    .nav-link {
        color: #444;
        text-decoration: none;
        font-weight: 500;
        font-size: 15px;
        transition: all 0.3s ease;
        position: relative;
    }

    .nav-link:hover {
        color: var(--saaol-blue);
    }

    .nav-link::after {
        content: '';
        position: absolute;
        bottom: -5px;
        left: 0;
        width: 0;
        height: 2px;
        background: var(--gradient-primary);
        transition: width 0.3s ease;
    }

    .nav-link:hover::after {
        width: 100%;
    }

    .nav-button {
        background: var(--gradient-primary);
        color: white;
        border: none;
        padding: 10px 20px;
        border-radius: 30px;
        font-weight: 600;
        font-size: 14px;
        cursor: pointer;
        transition: all 0.4s ease;
        box-shadow: var(--shadow-light);
    }

    .nav-button:hover {
        transform: translateY(-2px);
        box-shadow: var(--shadow-medium);
        background: var(--gradient-accent);
    }

    .mobile-menu-btn {
        display: none;
        background: none;
        border: none;
        font-size: 24px;
        color: var(--saaol-dark-blue);
        cursor: pointer;
    }

    /* Hero Section */
    .hero {
        padding: 120px 0 100px 0;
        background: var(--saaol-light-blue);
        position: relative;
        overflow: hidden;
    }

    .hero::before {
        content: '';
        position: absolute;
        top: -100px;
        right: -100px;
        width: 400px;
        height: 400px;
        border-radius: 50%;
        background: var(--saaol-light-blue);
        opacity: 0.5;
        z-index: -1;
    }

    .hero::after {
        content: '';
        position: absolute;
        bottom: -150px;
        left: -150px;
        width: 500px;
        height: 500px;
        border-radius: 50%;
        background: var(--saaol-light-blue);
        opacity: 0.3;
        z-index: -1;
    }

    .hero-content {
        padding: 0 7%;
        display: flex;
        align-items: center;
        gap: 40px;
        position: relative;
        z-index: 10;
        /*padding: 0% 7%;*/
    }

    .hero-text {
        flex: 1;
    }

    .hero-heading {
        font-size: 48px;
        font-weight: 800;
        color: var(--saaol-blue);
        margin-bottom: 20px;
        line-height: 1.2;
    }

    .hero-description {
        font-size: 15px;
        color: #555;
        margin-bottom: 20px;
    }

    .price-container {
        display: flex;
        align-items: center;
        gap: 20px;
        margin-bottom: 20px;
    }

    .old-price {
        font-size: 30px;
        color: #999;
        text-decoration: line-through;
    }

    .new-price {
        font-size: 48px;
        font-weight: 800;
        color: var(--saaol-red);
    }

    .benefits-list {
        margin-bottom: 30px;
    }

    .benefit-item {
        display: flex;
        align-items: center;
        gap: 10px;
        margin-bottom: 10px;
    }

    .benefit-icon {
        color: var(--saaol-red);
        font-size: 40px;
    }
    
    .benefit-hero-icon{
        color: var(--saaol-red);
        font-size: 18px;
    }

    .hero-form {
        flex: 1;
        background: white;
        padding: 26px;
        border-radius: var(--border-radius);
        box-shadow: var(--shadow-heavy);
        animation: float 6s ease-in-out infinite;
    }

    .form-title {
        text-align: center;
        font-size: 24px;
        font-weight: 700;
        color: var(--saaol-blue);
        margin-bottom: 20px;
    }

    .form-description {
        text-align: center;
        color: #666;
        margin-bottom: 20px;
    }

    .form-group {
        margin-bottom: 20px;
    }

    .form-input {
        width: 100%;
        padding: 15px 20px;
        border: 1px solid #ddd;
        border-radius: 8px;
        font-size: 16px;
        transition: all 0.3s ease;
    }

    .form-input:focus {
        outline: none;
        border-color: var(--saaol-blue);
        box-shadow: 0 0 0 3px rgba(0, 112, 192, 0.1);
    }

    .form-select {
        width: 100%;
        padding: 15px 20px;
        border: 1px solid #ddd;
        border-radius: 8px;
        font-size: 16px;
        appearance: none;
        background: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23555' 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") no-repeat right 15px center;
        background-size: 16px;
        transition: all 0.3s ease;
    }

    .form-select:focus {
        outline: none;
        border-color: var(--saaol-blue);
        box-shadow: 0 0 0 3px rgba(0, 112, 192, 0.1);
    }

    .hero .submit-button {
        width: 100%;
    }

    .submit-button {
        /* width: auto; */
        padding: 16px;
        background: var(--gradient-primary);
        color: white;
        border: none;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.5s ease;
        box-shadow: var(--shadow-medium);
        position: relative;
        overflow: hidden;
    }

    /* .submit-button::before {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 100%;
            height: 100%;
            background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
            transition: 0.5s;
        }

        .submit-button:hover::before {
            left: 100%;
        } */

    .submit-button:hover {
        transform: translateY(-3px);
        box-shadow: var(--shadow-heavy);
        background: var(--gradient-accent);
        /* color: var(--saaol-blue) */
    }

    /* Section Styles */
    .section {
        padding: 5% 7%;
    }

    .section-title {
        text-align: center;
        font-size: 36px;
        font-weight: 700;
        color: var(--saaol-dark-blue);
        margin-bottom: 2%;
    }

    .section-subtitle {
        text-align: center;
        font-size: 18px;
        color: #666;
        max-width: 700px;
        margin: 0 auto 50px;
    }

    /* About Section */
    .about-section {
        background-color: white;
        padding: 0% 7% 5%;
    }

    .about-content {
        display: flex;
        align-items: center;
        gap: 40px;
    }

    .about-text {
        flex: 1;
    }

    .about-title {
        font-size: 36px;
        font-weight: 700;
        color: var(--saaol-blue);
        margin-bottom: 20px;
    }

    .about-description {
        font-size: 16px;
        color: #555;
        margin-bottom: 30px;
        line-height: 1.7;
    }

    .feature-card {
        display: flex;
        align-items: center;
        gap: 15px;
        margin-bottom: 20px;
        padding: 20px;
        background: white;
        border-radius: var(--border-radius);
        box-shadow: var(--shadow-light);
        transition: all 0.3s ease;
    }

    .feature-card:hover {
        transform: translateY(-5px);
        box-shadow: var(--shadow-medium);
    }

    .feature-icon {
        min-width: 60px;
        min-height: 60px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: var(--saaol-light-blue);
        border-radius: 50%;
        color: var(--saaol-blue);
        font-size: 24px;
    }

    .feature-text h3 {
        font-size: 18px;
        font-weight: 600;
        margin-bottom: 5px;
        color: #333;
    }

    .feature-text p {
        font-size: 14px;
        color: #666;
    }

    .about-media {
        flex: 1;
    }

    .video-container {
        position: relative;
        width: 100%;
        padding-bottom: 56.25%;
        border-radius: var(--border-radius);
        overflow: hidden;
        box-shadow: var(--shadow-heavy);
    }

    .video-container iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        border: none;
    }
    
    .video-container video {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: var(--border-radius);
    }

    /* Schedule Test Section */
    .schedule-section {
        background: var(--saaol-light-blue);
    }

    .schedule-form {
        /* max-width: 800px; */
        margin: 0 auto;
        background: white;
        padding: 25px;
        border-radius: var(--border-radius);
        box-shadow: var(--shadow-medium);
    }

    .form-row {
        display: flex;
        gap: 20px;
        /* margin-bottom: 25px; */
    }

    .form-input-icon {
        position: relative;
        flex: 1;
    }

    .form-input-icon i {
        position: absolute;
        left: 15px;
        top: 50%;
        transform: translateY(-50%);
        color: #999;
    }

    .form-input-icon input {
        padding-left: 45px;
        width: 100%;
    }

    /* Pricing Section */
    .pricing-section {
        /* background: var(--saaol-light-blue); */
    }

    .pricing-table-container {
        overflow-y: auto;
    }

    .pricing-table {
        width: 100%;
        border-collapse: collapse;
        background: white;
        border-radius: var(--border-radius);
        overflow: hidden;
        box-shadow: var(--shadow-medium);
    }

    .pricing-table th {
        background: var(--gradient-primary);
        color: white;
        padding: 15px;
        text-align: center;
        font-weight: 600;
    }

    .pricing-table td {
        text-align: center;
        padding: 15px;
        border-bottom: 1px solid #eee;
    }

    .pricing-table tr:last-child td {
        border-bottom: none;
    }

    .pricing-table tr:hover {
        background-color: #f9f9f9;
    }o

    .city-name {
        font-weight: 800;
        color: var(--saaol-dark-blue);
    }

    .old-price-cell {
        text-decoration: line-through;
        color: #999;
    }

    .new-price-cell {
        color: var(--saaol-green);
        font-weight: 700;
    }

    .discount-cell {
        color: var(--saaol-red);
        font-weight: 600;
    }

    /* Why Choose Section */
    .why-choose-section {
        background: var(--saaol-light-blue);
    }

    .features-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 30px;
    }

    .feature-box {
        background: white;
        padding: 30px;
        border-radius: var(--border-radius);
        text-align: center;
        transition: all 0.3s ease;
        border-top: 4px solid var(--saaol-red);
    }

    .feature-box:hover {
        transform: translateY(-10px);
        box-shadow: var(--shadow-medium);
        background: #f9f9f9;
    }

    .feature-box i {
        font-size: 40px;
        color: var(--saaol-red);
        margin-bottom: 20px;
    }

    .feature-box h3 {
        font-size: 20px;
        margin-bottom: 15px;
        color: var(--saaol-dark-blue);
    }

    .feature-box p {
        color: #666;
        line-height: 1.6;
    }

    /* Benefits Section */
    .benefits-grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 20px;
    }

    .benefit-card {
        background: white;
        padding: 30px;
        border-radius: var(--border-radius);
        box-shadow: var(--shadow-light);
        transition: all 0.3s ease;
        text-align: center;
        border-top: 4px solid var(--saaol-red);
    }

    .benefit-card:hover {
        transform: translateY(-5px);
        box-shadow: var(--shadow-medium);
    }

    /*.benefit-icon {*/
    /*    font-size: 27px;*/
    /*    color: var(--saaol-red);*/
    /*}*/

    .benefit-title {
        font-size: 20px;
        font-weight: 600;
        margin-bottom: 15px;
        color: #333;
    }

    .benefit-description {
        color: #666;
        font-size: 15px;
    }

    /* Comparison Section */

    #compare {
        /*background: var(--saaol-light-blue);*/
        padding-top: 0%;
    }

    .comparison-cards {
        display: flex;
        gap: 30px;
    }

    .comparison-card {
        flex: 1;
        padding: 30px;
        border-radius: var(--border-radius);
        box-shadow: var(--shadow-light);
        transition: all 0.3s ease;
        background: white;
    }

    .comparison-card:hover {
        transform: translateY(-5px);
        box-shadow: var(--shadow-medium);
    }

    .comparison-card.negative {
        border-top: 4px solid var(--saaol-red);
    }

    .comparison-card.positive {
        border-top: 4px solid var(--saaol-green);
    }

    .comparison-title {
        font-size: 24px;
        font-weight: 700;
        margin-bottom: 20px;
        text-align: center;
    }

    .negative .comparison-title {
        color: var(--saaol-red);
    }

    .positive .comparison-title {
        color: var(--saaol-green);
    }

    .comparison-point {
        display: flex;
        align-items: flex-start;
        gap: 10px;
        margin-bottom: 15px;
    }

    .comparison-icon {
        font-size: 20px;
        margin-top: 3px;
    }

    .negative .comparison-icon {
        color: var(--saaol-red);
    }

    .positive .comparison-icon {
        color: var(--saaol-green);
    }

    /* Testimonials Section */
    .testimonials-section {
        /* background: var(--saaol-light-blue); */
        position: relative;
    }

    .testimonials-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 30px;
    }

    .testimonial-card {
        background: white;
        padding: 30px;
        border-radius: var(--border-radius);
        box-shadow: var(--shadow-light);
        transition: all 0.3s ease;
    }

    .testimonial-card:hover {
        transform: translateY(-5px);
        box-shadow: var(--shadow-medium);
    }

    .testimonial-rating {
        display: flex;
        gap: 5px;
        margin-bottom: 20px;
    }

    .testimonial-rating i {
        color: #ffc107;
    }

    .testimonial-text {
        font-style: italic;
        color: #555;
        margin-bottom: 20px;
        line-height: 1.7;
        display: -webkit-box;
        -webkit-line-clamp: 5; /*Number of lines to show */
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
        min-height: 6em; /* helps keep equal height even with shorter text */
        transition: all 0.4s ease; 
     }
     
     .testimonial-card:hover .testimonial-text {
          -webkit-line-clamp: unset;
          overflow: visible;
     }
     

    .testimonial-author {
        display: flex;
        align-items: center;
        gap: 15px;
    }

    .author-avatar {
        width: 50px;
        height: 50px;
        border-radius: 50%;
        background: #eee;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #999;
        font-size: 20px;
    }

    .author-info h4 {
        font-weight: 600;
        color: #333;
    }

    .author-info p {
        font-size: 14px;
        color: #666;
    }

    /* FAQ Section */
    .faq-container {
        max-width: 800px;
        margin: 0 auto;
    }

    .faq-item {
        margin-bottom: 20px;
        border-radius: var(--border-radius);
        overflow: hidden;
        box-shadow: var(--shadow-light);
    }

    .faq-question {
        padding: 20px;
        background: white;
        display: flex;
        justify-content: space-between;
        align-items: center;
        cursor: pointer;
        font-weight: 600;
        transition: all 0.3s ease;
    }

    .faq-question:hover {
        background: #f9f9f9;
    }

    .faq-question i {
        transition: transform 0.3s ease;
    }

    .faq-answer {
        padding: 0 20px;
        max-height: 0;
        overflow: hidden;
        background: white;
        transition: all 0.3s ease;
    }

    .faq-item.active .faq-question {
        background: var(--saaol-light-blue);
    }

    .faq-item.active .faq-question i {
        transform: rotate(180deg);
    }

    .faq-item.active .faq-answer {
        padding: 20px;
        max-height: 500px;
    }

    /* Book by City Section */
    .cities-section {
        /* background: var(--saaol-light-blue); */
    }

    .cities-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 25px;
    }

    .city-card {
        background: white;
        border-radius: var(--border-radius);
        overflow: hidden;
        box-shadow: var(--shadow-light);
        transition: all 0.3s ease;
        border-top: 4px solid var(--saaol-red);
    }

    .city-card:hover {
        transform: translateY(-5px);
        box-shadow: var(--shadow-medium);
    }

    .city-content {
        padding: 25px;
    }

    .city-card h3 {
        font-size: 20px;
        color: var(--saaol-dark-blue);
        margin-bottom: 15px;
    }

    .city-card p {
        color: #666;
        margin-bottom: 20px;
        line-height: 1.6;
    }

    .city-card button {
        width: 100%;
        padding: 12px;
        background: var(--gradient-primary);
        color: white;
        border: none;
        border-radius: 6px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.3s ease;
    }

    .city-card button:hover {
        transform: translateY(-3px);
        box-shadow: var(--shadow-heavy);
        background: var(--gradient-accent);
    }

    /* CTA Near You Section */
    .cta-near-you {
        background: var(--saaol-light-blue);
        color: white;
        text-align: center;
        /*padding: 80px 0;*/
    }

    .cta-title {
        font-size: 36px;
        font-weight: 700;
        margin-bottom: 20px;
    }

    .cta-description {
        font-size: 18px;
        max-width: 700px;
        margin: 0 auto 40px;
        opacity: 0.9;
        color: #555;
    }

    .cta-buttons {
        display: flex;
        gap: 15px;
        justify-content: center;
        margin-bottom: 40px;
    }

    .cta-form {
        display: flex;
        gap: 15px;
        /* max-width: 700px; */
        margin: 0 auto;
        flex-wrap: wrap;
    }

    .cta-input {
        flex: 1;
        padding: 15px 20px;
        border: none;
        border-radius: 30px;
        font-size: 16px;
    }

    .cta-input:focus {
        outline: none;
        box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.3);
    }

    .cta-submit {
        padding: 15px 30px;
        background: var(--saaol-red);
        color: white;
        border: none;
        border-radius: 30px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.3s ease;
    }

    .cta-submit:hover {
        background: #ff3742;
        transform: translateY(-2px);
    }


    /* CTA Section */
    .cta-section {
        background: var(--saaol-light-blue);
        color: white;
        text-align: center;
        padding-bottom: 80px;
    }

    .cta-title {
        font-size: 36px;
        font-weight: 700;
        margin-bottom: 20px;
    }

    .cta-description {
        font-size: 18px;
        max-width: 700px;
        margin: 0 auto 40px;
        opacity: 0.9;
    }

    .cta-buttons {
        display: flex;
        gap: 15px;
        justify-content: center;
        margin-bottom: 40px;
    }

    .cta-button {
        padding: 20px;
        background: var(--gradient-accent);
        color: white;
        border: none;
        border-radius: 30px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.3s ease;
        box-shadow: var(--shadow-light);
        text-decoration: none;
    }

    .cta-button:hover {
        transform: translateY(-3px) !important;
        background: var(--gradient-primary);
        box-shadow: var(--shadow-medium);
    }

    .cta-form {
        display: flex;
        gap: 15px;
        /* max-width: 700px; */
        margin: 0 auto;
    }

    .cta-input {
        flex: 1;
        padding: 15px 20px;
        border: none;
        border-radius: 30px;
        font-size: 16px;
    }

    .cta-input:focus {
        outline: none;
        box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.3);
    }

    .cta-submit {
        padding: 15px 30px;
        background: var(--saaol-red);
        color: white;
        border: none;
        border-radius: 30px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.3s ease;
    }

    .cta-submit:hover {
        background: #ff3742;
        transform: translateY(-2px);
    }

    /* Footer */
    footer {
        background: var(--saaol-dark-blue);
        color: white;
        padding: 2% 7%;
        text-align: center;
    }
    
    footer a{
       color: white; 
       text-decoration: none;
       transition: all 0.2s ease-in;
    }
    footer a:hover{
       color: #b1b1b1; 
    }
    
    footer div{
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center;
    }


    /* sbtle css */
    .subtle_svg {
        position: absolute;
        bottom: -1%;
        left: 0%;
        width: 100%;
    }

    #particles-js {
        position: absolute;
        width: 100%;
        height: 100vh;
        /* background: #0d0d0d; */
        /* z-index: -1; */
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
    }

    /* .popup form style */

    #popup-container {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.6);
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 9999;
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.3s ease;
        backdrop-filter: blur(10px);
    }

    #popup-container.popup-visible {
        opacity: 1;
        visibility: visible;
    }

    .popup {
        background: white;
        border-radius: 15px;
        width: 500px;
        max-width: 1000px;
        display: flex;
        flex-wrap: wrap;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
    }

    .popup-header {
        width: 100%;
        background-color: var(--saaol-blue);
        color: white;
        padding: 1rem;
        border-top-left-radius: 15px;
        border-top-right-radius: 15px;
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
    }

    .popup-header h3 {
        font-size: 25px;
        color: white !important;
    }

    .popup-body {
        display: flex;
        flex: 1;
        padding: 2rem;
        flex-wrap: wrap;
    }

    .popup-left,
    .popup-right {
        flex: 1;
        /*min-width: 300px;*/
        padding: 1rem;
    }

    .popup-left h2 {
        margin: 0;
        font-size: 20px;
    }

    .popup-left p {
        margin: 0.8rem 0;
        color: #555;
        font-size: 13px;
    }

    .popup-left {
        border-right: 2px dotted;
    }

    .step {
        margin: 1rem 0;
        display: flex;
        gap: 0.5rem;
        align-items: flex-start;
        position: relative;
        z-index: 1;
        align-items: center;
    }

    .step span {
        font-size: 13px;
        color: #555;
    }

    .stats {
        display: flex;
        justify-content: space-between;
        margin-top: 1rem;
        font-weight: bold;
        text-align: center;
        padding: 10px;
        background: #1e95c312;
        border-radius: 7px;
    }

    .stats_value {
        font-size: 20px;
        line-height: 1;
    }

    .stats_content {
        font-weight: 400;
        font-size: 13px;
    }

    .popup-right input,
    .popup-right select {
        width: 100%;
        padding: 10px;
        margin-bottom: 1rem;
        border-radius: 5px;
        border: 1px solid #ccc;
        font-size: 1rem;
    }

    .submit-btn {
        width: 100%;
        background: var(--saaol-blue);
        color: white;
        padding: 0.8rem;
        border: none;
        border-radius: 5px;
        font-size: 1rem;
        position: relative;
        cursor: pointer;
        margin-top: 17px;
    }

    .submit-btn::before {
        content: "Consultation Now";
        position: absolute;
        top: -15px;
        right: 0;
        background: #ec1d26;
        color: white;
        padding: 0.2rem 2rem;
        font-size: 0.8rem;
        clip-path: polygon(10% 0, 100% 0, 90% 100%, 0% 100%);
    }

    .close-btn {
        background: none;
        border: none;
        color: white;
        font-size: 45px;
        cursor: pointer;
        position: absolute;
        right: 10px;
    }

    .popup_step_container {
        position: relative;
    }

    .popup_step_container .line {
        position: absolute;
        height: 90%;
        width: 3px;
        background-color: var(--saaol-blue);
        left: 12px;
        top: 2px;
    }

    .round_icon {
        display: inline-block;
        min-width: 27px;
        min-height: 27px;
        background-color: var(--saaol-blue);
        border-radius: 50%;
        display: flex;
        justify-content: center;
        align-items: center;
        margin-top: 2px;
    }

    .round_icon i {
        font-size: 14px;
    }

    .stats_div {
        display: flex;
        flex-direction: column;

    }

    .contact-popup-btn {
        flex: 1;
        padding: 5px;
        border: 2px solid #3b82f6;
        background: white;
        color: #3b82f6;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.3s;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        text-decoration: none;
    }

    .contact-popup-btn:hover {
        background: #3b82f6;
        color: white;
        transform: translateY(-2px);
        box-shadow: 0 8px 20px rgba(59, 130, 246, 0.3);
    }

    .contact-popup-btn.call {
        border-color: var(--saaol-blue);
        color: var(--saaol-blue);
    }

    .contact-popup-btn.call:hover {
        background: var(--saaol-blue);
        color: white;
        box-shadow: 0 8px 20px rgba(16, 185, 129, 0.3);
    }

    .contact-popup-btn.text {
        border-color: #e80000;
        color: #e80000;
    }

    .contact-popup-btn.text:hover {
        background: #e80000;
        color: white;
        box-shadow: 0 8px 20px rgba(139, 92, 246, 0.3);
    }

    .contact-options {
        display: flex;
        gap: 15px;
        margin: 10px 0px;
    }
    
        @media (max-width: 768px) {
        .popup-body {
            flex-direction: column;
        }

        .popup-left,
        .popup-right {
            padding: 0.5rem;
        }

        .popup-left {
            display: none;
        }

        .stats {
            flex-direction: column;
            gap: 1rem;
        }
        .cta-section{
            padding-bottom: 60px;
        }
        
        .pricing-table{
            width: max-content;
        }
    }
    
    @media (max-width: 500px) {
        .popup {
                width: 300px;
                margin: 10px;
            }
            
        .popup-right input, .popup-right select , .submit-btn , .contact-popup-btn{
            font-size: 0.9rem;
        }
    }


    /* //.popup style end */

    /*fixed coversation box css start*/
    .dubblePulse-wrapper {
        position: fixed;
        width: 80px;
        height: 80px;
        bottom: 3%;
        right: 10px;
        z-index: 111;
    }

    .dubblePulse {
        position: absolute;
        top: 50%;
        left: 50%;
        width: 45px;
        height: 45px;
        background-color: #ed1d26;
        border-radius: 50%;
        transform: translate(-50%, -50%);
        animation: pulseEffect 2s infinite ease-out;
    }

    .dubblePulse:nth-child(2) {
        animation-delay: 0.4s;
    }

    .contact-button {
        position: absolute;
        top: 50%;
        left: 50%;
        width: 70px;
        height: 70px;
        background-color: #ed1d26;
        border-radius: 50px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        transform: translate(-50%, -50%);
        z-index: 2;
        color: white;
        font-weight: bold;
        cursor: pointer;
        font-size: 10px;
    }

    .contact-button i {
        font-size: 24px;
    }

    .flex_center_column {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        transition: transform 0.3s ease-in-out;
        width: 0;
        height: 0;
        opacity: 0;
        transform: scale(0);
    }

    .active_contact_widget {
        width: 57px !important;
        height: 57px !important;
        opacity: 1 !important;
        transform: scale(1) !important;
    }

    .active_contact_widget_slide {
        width: 50px !important;
        height: 50px !important;
        opacity: 1 !important;
        transform: scale(1) !important;
    }



    .contact_widget_scale_inactive {
        transform: scale(0);
    }

    .contact_widget_scale_active {
        transform: scale(1);
    }

    .contact_widget_hide {
        display: none !important;
    }

    .slide_icons {
        width: 0px;
        height: 0px;
        background-color: white;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: transform 0.3s ease-in-out;
        transform: scale(0);
        opacity: 0;
        overflow: hidden;
        position: relative;


    }

    .slide_icons i {
        position: absolute;
        color: red;
        opacity: 0;
        font-size: 30px;
        transform: translateX(25px);
        transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    }

    .slide_icons i.active {
        opacity: 1;
        transform: translateX(0);
    }

    .slide_icons i.exit {
        opacity: 0;
        transform: translateX(-25px);
    }

    @keyframes pulseEffect {
        0% {
            transform: translate(-50%, -50%) scale(1);
            opacity: 0.7;
        }

        70% {
            transform: translate(-50%, -50%) scale(2.5);
            opacity: 0;
        }

        100% {
            transform: translate(-50%, -50%) scale(2.5);
            opacity: 0;
        }
    }

    .contact-box {
        background: white;
        border-radius: 12px;
        padding: 16px;
        width: 250px;
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
        position: fixed;
        bottom: 17%;
        right: 2%;
        transform: translateY(-100px);
        opacity: 0;
        visibility: hidden;
        transition: all ease-in-out 0.2s;
        overFlow: hidden;
    }

    .inner_contact_box {
        opacity: 0;
        visibility: hidden;
        transform: translateY(100px);
        transition: all ease-in-out 0.5s;
    }

    .contact-box::after {
        content: "";
        position: absolute;
        bottom: -10px;
        right: 20px;
        border-width: 10px 10px 0;
        border-style: solid;
        border-color: white transparent transparent transparent;
    }

    .contact-option {
        display: flex;
        align-items: center;
        margin-bottom: 16px;
        position: relative;
        border-radius: 10px;
        padding: 5px;
        transition: all 0.2s ease-in-out;
        cursor: pointer;
    }

    .contact-option:hover {
        background: #8080805c;
    }

    .contact-option:last-child {
        margin-bottom: 0;
    }

    .icon-circle {
        width: 48px;
        height: 48px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        color: white;
        font-size: 20px;
        margin-right: 12px;
        position: relative;
    }

    .icon-circle.email {
        background-color: #ff6e40;
    }

    .icon-circle.call {
        background-color: #39934b;
    }

    .icon-circle.chat {
        background-color: red;
    }

    .status-dot {
        position: absolute;
        bottom: 2px;
        right: 2px;
        width: 10px;
        height: 10px;
        background-color: limegreen;
        border-radius: 50%;
        box-shadow: 0 0 0 rgba(0, 255, 0, 0.7);
        animation: pulseDot 2s infinite;
    }

    @keyframes pulseDot {
        0% {
            box-shadow: 0 0 0 0 rgba(0, 255, 0, 0.5);
        }

        70% {
            box-shadow: 0 0 0 6px rgba(0, 255, 0, 0);
        }

        100% {
            box-shadow: 0 0 0 0 rgba(0, 255, 0, 0);
        }
    }

    .contact-text {
        font-size: 16px;
        color: #333;
    }

    .open_contact_box {
        transform: translateY(0px);
        opacity: 1;
        visibility: visible;

    }

    /*fixed coversation box css end*/


    /*  Ribbon Badge start */
    .ribbon {
        width: 150px;
        height: 150px;
        overflow: hidden;
        position: absolute;
        top: -1px;
        right: -2px;
    }

    .ribbon span {
        position: absolute;
        display: block;
        width: 200px;
        padding: 10px 0;
        background: #e63946;
        color: #fff;
        font: bold 16px sans-serif;
        text-align: center;
        transform: rotate(45deg);
        top: 30px;
        right: -55px;
        box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3);
    }

    /*  Ribbon Badge end */
    
    /*call btn css*/
    .call-btn {
        background-color: #28a745;
        color: white;
        padding: 8px 15px;
        text-decoration: none;
        border-radius: 50px;
        font-weight: 600;
        transition: background-color 0.3s, transform 0.2s;
        font-size: 12px;
    }
    
    .call-btn:hover {
      background-color: #218838;
      transform: scale(1.05);
    }
    


    /* Animations */
    @keyframes float {
        0% {
            transform: translateY(0px);
        }

        50% {
            transform: translateY(-10px);
        }

        100% {
            transform: translateY(0px);
        }
    }

    @keyframes fadeIn {
        from {
            opacity: 0;
            transform: translateY(20px);
        }

        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    .pulse-animation {
        animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
    }

    @keyframes pulse {

        0%,
        100% {
            transform: scale(1);
        }

        50% {
            transform: scale(1.05);
        }
    }

    /* Responsive Styles */
    @media screen and (max-width: 1024px) {
        .hero-heading {
            font-size: 40px;
        }

        .features-grid,
        .benefits-grid,
        .testimonials-grid,
        .cities-grid {
            grid-template-columns: repeat(2, 1fr);
        }
    }

    @media screen and (max-width: 768px) {
        .header-container {
            /*padding: 0 20px;*/
        }

        .nav-menu {
            position: absolute;
            top: 70px;
            left: 0;
            width: 100%;
            background: white;
            flex-direction: column;
            padding: 20px;
            box-shadow: var(--shadow-medium);
            gap: 15px;
            z-index: -1;
            opacity: 0;
            visibility: hidden;
            transform: translateY(-100%);
            transition: opacity 0.1s ease, transform 0.3s ease;
        }

        .nav-menu.active {
            display: flex;
            opacity: 1;
            visibility: visible;
            transform: translateY(-1%);

        }

        .mobile-menu-btn {
            display: block;
        }

        .hero-content {
            flex-direction: column;
        }

        .about-content {
            flex-direction: column;
        }
        
         .about-media {
            width: 100%;
            display: block; /* ensure visible */
          }
        
          .video-container {
            width: 100%;
            height: auto;
            padding-bottom: 56.25%; /* maintain aspect ratio */
          }
        
          .video-container iframe {
            width: 100%;
            height: 100%;
            display: block;
          }
          
          .video-container video {
                width: 100%;
                height: 100%;
                display: block;
           }

        .comparison-cards {
            flex-direction: column;
        }


        .cta-form {
            flex-direction: column;
        }

        .form-row {
            flex-direction: column;
            gap: 15px;
        }

        .features-grid {
            grid-template-columns: 1fr;
        }
        
        .about-content,.hero-content{
            gap: 5px;
        }
    }

    @media screen and (max-width: 576px) {
        .hero {
            padding: 90px 0 60px 0;
        }

        .hero-heading {
            font-size: 32px;
        }

        .new-price {
            font-size: 36px;
        }

        .benefits-grid,
        .testimonials-grid,
        .cities-grid {
            grid-template-columns: 1fr;
        }

        .section-title {
            font-size: 28px;
        }
        

        /* .cta-title {
            font-size: 28px;
        } */

        .cta-title,
        .final-cta-title {
            font-size: 28px;
        }


        .cta-buttons {
            flex-direction: column;
            align-items: center;
        }

        .schedule-form {
            padding: 25px;
        }
        
        footer div{
            justify-content: center;
        }
        
        
    }

    @media screen and (max-width: 450px) {
        .popup-header h3 {
            font-size: 15px;
        }

        .close-btn {
            font-size: 30px;
        }

        .popup-right input,
        .popup-right select,
        .submit-btn,
        .contact-options {
            width: 100%;
        }

        .popup-body {
            padding: 10px;
        }
        
        .ribbon span{
            top: 15px;
            right: -65px;
        }
        
        .submit-button{
            font-size: 12px;
        }
        
        .form-title {
            line-height: 1.3;
        }
        .form-description{
            font-size: 13px;
        }  
        
        body{
             line-height: 1.4;
        }
        
        .section-title {
            margin-bottom: 2%;
        }
        .cta-description {
            font-size: 15px;
        }
        
         .cta-section{
            padding-bottom: 50px;
        }

        .faq-question{
            padding: 10px;
            font-size: 13px;
        }
        .faq-answer{
            font-size: 12px;
        }
        


    }

    @media screen and (max-width: 370px) {
        .ribbon span {
            width: 150px;
            top: 15px;
            right: -40px;
        }

        .cta-button {
            padding: 12px;
        }
    }
    @media screen and (min-width: 1600px) {
       .hero-content{
           padding: 2% 0%;
       }
    }


    /* HTML: <div class="loader"></div> */
    .loader {
        width: 50px;
        aspect-ratio: 1;
        display: grid;
    }

    .loader::before,
    .loader::after {
        content: "";
        grid-area: 1/1;
        --c: no-repeat radial-gradient(farthest-side, #25b09b 92%, #0000);
        background:
            var(--c) 50% 0,
            var(--c) 50% 100%,
            var(--c) 100% 50%,
            var(--c) 0 50%;
        background-size: 12px 12px;
        animation: l12 1s infinite;
    }

    .loader::before {
        margin: 4px;
        filter: hue-rotate(45deg);
        background-size: 8px 8px;
        animation-timing-function: linear
    }

    @keyframes l12 {
        100% {
            transform: rotate(.5turn);
        }
    }

    #loader_container {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(255, 255, 255, 0.8);
        z-index: 9999;
        text-align: center;
        /* padding-top: 20%; */
        font-size: 24px;
        font-weight: bold;
        color: #333;
        justify-content: center;

    }

    .loader_box {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }
    
    /*change swiper next/prev button style*/
   /* Navigation wrapper positioned absolutely */
    .swiper-navigation {
      position: absolute;
      top: 50%;
      left: 0;
      width: 100%;
      display: flex;
      justify-content: space-between;
      transform: translateY(-50%);
      pointer-events: none; /* allows clicks to pass through */
    }
    
    /* Buttons styling */
    .swiper-button-prev,
    .swiper-button-next {
      pointer-events: auto; /* re-enable clicks for buttons */
      background-color: #e6f2fa4f;
      color: white;
      border-radius: 50%;
      width: 45px;
      height: 45px;
      display: flex;
      align-items: center;
      justify-content: center;
      box-shadow: 0 3px 8px rgba(0, 0, 0, 0.2);
      transition: all 0.3s ease;
      z-index: 10;
      top: 60%;
    }
    
     .swiper-button-prev{
         left: 25px;
     }
      .swiper-button-next{
          right: 25px;
      }
    
    .swiper-button-prev:hover,
    .swiper-button-next:hover {
     background-color: var(--saaol-blue);
      transform: scale(1.1);
    }
    .swiper-button-prev:hover::after,
    .swiper-button-next:hover::after {
      color: white;
    }
    .swiper-button-prev::after,
    .swiper-button-next::after {
        font-size: 18px;
        color: red;
        font-weight: bold;
    }
    
    .swiper-pagination-bullet-active{
        background: red;
    }
    
    /*table css*/
    .pricing-table th:first-child {
      text-align: left; /* or whatever you prefer */
    }
    .pricing-table td:first-child {
      text-align: left; /* or whatever you prefer */
    }
    
    /* Widget Container */
    #customChatWidget {
      position: fixed;
      bottom: 100px;
      right: -160px;
      display: flex;
      align-items: center;
      gap: 8px;
      animation: slideRight 1.2s ease forwards;
      z-index: 99;
    }
    
    /* Avatar */
    .avatar-container {
      position: relative;
      width: 55px;
      height: 55px;
      border-radius: 50%;
      background: white;
      border: 3px solid #0b5d7e;
      display: flex;
      justify-content: center;
      align-items: center;
      cursor: pointer;
      box-shadow: 0 4px 10px rgba(0,0,0,0.15);
    }
    
    .avatar {
      width: 42px;
      height: 42px;
    }
    
    /* Waving hand */
    .wave-hand {
      position: absolute;
      top: -10px;
      right: -10px;
      animation: wave 1.5s ease-in-out infinite;
      font-size: 18px;
    }
    
    /* Bubble */
    .chat-greet {
      background: #0b5d7e;
      color: white;
      padding: 6px 12px;
      border-radius: 14px;
      font-size: 12px;
      font-weight: 500;
      cursor: pointer;
      display: flex;
      align-items: center;
      gap: 6px;
      opacity: 0;
      animation: showBubble 1.5s ease 1.2s forwards;
      position: relative;
      white-space: nowrap;
      transition: opacity 0.8s ease;
    }
    
    /* Arrow pointing to avatar */
    .chat-greet .arrow {
      width: 0;
      height: 0;
      border-top: 6px solid transparent;
      border-bottom: 6px solid transparent;
      border-left: 8px solid #0b5d7e;
      position: absolute;
      left: -7px;
      animation: bounceArrow 1.5s ease-in-out infinite;
    }
    
    /* Animations */
    @keyframes slideRight {
      to { right: 10px; }
    }
    
    @keyframes wave {
      0% { transform: rotate(0); }
      50% { transform: rotate(20deg); }
      100% { transform: rotate(0); }
    }
    
    @keyframes showBubble {
      0% { opacity: 0; transform: translateY(10px); }
      100% { opacity: 1; transform: translateY(0); }
    }
    
    @keyframes bounceArrow {
      0% { transform: translateX(0); }
      50% { transform: translateX(-2px); }
      100% { transform: translateX(0); }
    }
    
    /* Mobile View Fix â€” move widget above bottom nav */
    @media (max-width: 768px) {
      #customChatWidget {
        bottom: 14% !important;
        right: 2% !important;
        transform: scale(0.9);
      }
    
      .chat-greet {
        font-size: 10px;
        padding: 5px 10px;
        /*display: none;*/
      }
    
      .avatar-container {
        width: 44px;
        height: 44px;
      }
    
      .avatar {
        width: 30px;
        height: 30px;
      }
    }

