@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=Lora:ital,wght@0,400..700;1,400..700&family=Merriweather:ital,wght@0,300;0,400;0,700;0,900;1,300;1,400;1,700;1,900&family=Montserrat:ital,wght@0,100..900;1,100..900&family=Phudu:wght@300..900&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Red+Rose:wght@300..700&family=Roboto:ital,wght@0,100..900;1,100..900&family=Sigmar&display=swap');


* {

    box-sizing: border-box;
    margin: 0px;
    padding: 0px;
}
p{
	font-family: montserrat !important;
}
a {

    text-decoration: none;
}

body {

    margin: 0px;
    padding: 0px;
    font-family: "Roboto", sans-serif;
}

h1 {
	font-size: 35px;
    font-family: 'red rose';
}

@media (min-width: 1200px) {
    .h4, h4 {
        font-size: 1.0rem;
        font-family: 'merriweather';
    }
}

@media (min-width: 1200px) {
    .h3, h3 {
        font-size: 1.75rem;
        font-family: 'merriweather';
    }
}

.mt-30 {

    margin-top: 30px !important;
}

.mt-60 {

    margin-top: 60px !important;
}

.mt-90 {

    margin-top: 90px;
}

.mt-120 {

    margin-top: 120px;
}

.mt-150 {

    margin-top: 150px;
}

/*--------headertop-------*/

.imgBox{
    box-shadow: 1px 2px 20px 4px rgba(0, 0, 0, 0.3) !important;
    /* height: 465px; */
}

.imgBox img{
    width: 100%;
    height: auto;
    overflow: hidden;
}
.catTitle{
    font-size: 0.8rem;
}
.textFormStyle{
    color: #a19494;
    padding: 10px;
}





/* for Project page */
.bg-gradient {
    background: #C9D6FF;
    background: -webkit-linear-gradient(to right, #E2E2E2, #C9D6FF);
    background: linear-gradient(to right, #E2E2E2, #C9D6FF);
    }
    ul li {
      margin-bottom:1.4rem;
    }
    .pricing-divider {
    border-radius: 20px;
    background: #ebc004;
    padding: 1em 0 4em;
    position: relative;
    }
    .blue .pricing-divider{
    background: #2D5772;
    }
    .green .pricing-divider {
    background: #1AA85C;
    }
    .red .pricing-divider{
    background: #722d35;
    }
    .violet .pricing-divider {
    background: #801aa8;
    }
    .sky .pricing-divider {
    background: #1aa8a8;
    }
    .yellow b {
      color:#ebc004
    }
    .blue b {
      color:#2D5772
    }
    .green b {
      color:#1AA85C
    }
    .red b {
    color:#722d35;
    }
    .violet b {
    color:#801aa8
    }
    .sky b {
    color:#1aa8a8
    }
    .pricing-divider-img {
        position: absolute;
        bottom: -2px;
        left: 0;
        width: 100%;
        height: 80px;
    }
    .deco-layer {
        -webkit-transition: -webkit-transform 0.5s;
        transition: transform 0.5s;
    }
    /* .btn-custom  {
      background:#C64545; color:#fff; border-radius:20px
    } */

    .img-float {
      width:50px; position:absolute;top:-3.5rem;right:1rem
    }

    .princing-item {
      transition: all 150ms ease-out;
    }
    .princing-item:hover {
      transform: scale(1.05);
    }
    .princing-item:hover .deco-layer--1 {
      -webkit-transform: translate3d(15px, 0, 0);
      transform: translate3d(15px, 0, 0);
    }
    .princing-item:hover .deco-layer--2 {
      -webkit-transform: translate3d(-15px, 0, 0);
      transform: translate3d(-15px, 0, 0);
    }

    .package_features {
        margin-top: 15px;
        padding-left: 20px;
    }

    .package_features li {
        margin-bottom: 8px;
        text-align: start;
        position: relative;
        color: #666;
        list-style: none;
    }

    .package_features li:before {
        content: "✅";
        margin-left: -2%;
        position: absolute;
        left: -20px;
        font-weight: bold;
    }


/* Custom styles for portfolio page */
        .portfolio-section {
            background-color: #f8f9fa;
            padding: 30px 0;
        }

        .search-container {
            background-color: #ffffff;
            border-radius: 15px;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
            margin-bottom: 40px;
            transition: all 0.3s ease;
        }

        .search-container:hover {
            box-shadow: 0 15px 35px rgba(0, 0, 0, 0.12);
        }

        .search-header {
            border-bottom: 1px solid #eaeaea;
            padding-bottom: 15px;
            margin-bottom: 25px;
        }

        .search-header h3 {
            font-weight: 700;
            color: #3f51b5;
            position: relative;
        }

        .search-header h3:after {
            content: "";
            position: absolute;
            bottom: -15px;
            left: 0;
            width: 60px;
            height: 3px;
            background: linear-gradient(90deg, #3f51b5, #7986cb);
        }

        .textFormStyle {
            border-radius: 8px;
            padding: 12px 15px;
            border: 1px solid #e0e0e0;
            transition: all 0.3s;
        }

        .textFormStyle:focus {
            border-color: #3f51b5;
            box-shadow: 0 0 0 0.25rem rgba(63, 81, 181, 0.25);
        }

        .search-btn {
            border-radius: 8px;
            padding: 10px 25px;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            transition: all 0.3s;
        }

        .search-btn:hover {
            transform: translateY(-2px);
            box-shadow: 0 5px 15px rgba(63, 81, 181, 0.3);
        }

        .reset-btn {
            border-radius: 8px;
            padding: 10px 25px;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            background-color: #6c757d;
            color: #fff;
            border-color: #6c757d;
            transition: all 0.3s;
            margin-left: 10px;
        }

        .reset-btn:hover {
            background-color: #5a6268;
            border-color: #545b62;
            transform: translateY(-2px);
            box-shadow: 0 5px 15px rgba(108, 117, 125, 0.3);
        }

        .portfolio-card {
            border: none;
            border-radius: 15px;
            overflow: hidden;
            box-shadow: 0 5px 20px rgba(0, 0, 0, 0.07);
            transition: all 0.3s ease;
            margin-bottom: 30px;
            position: relative;
        }

        .portfolio-card:hover {
            transform: translateY(-10px);
            box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1);
        }

        .card-img-container {
            overflow: hidden;
            position: relative;
        }

        .portfolio-card img.project-image {
            transition: transform 0.5s;
            object-fit: contain;
            height: 400px;
            width: 100%;
            background-color: #f9f9f9;
        }

        .portfolio-card:hover img {
            transform: scale(1.05);
        }

        .card-body {
            padding: 25px;
        }

        .card-title {
            font-weight: 700;
            margin-bottom: 15px;
            color: #333;
            margin-top: 2rem;
        }

        .client-name {
            font-weight: 600;
            color: #ff9800;
            margin-bottom: 15px;
            font-size: 1.2rem;
        }

        .category-badge {
            display: inline-block;
            background-color: #e8eaf6;
            color: #3f51b5;
            padding: 5px 15px;
            border-radius: 20px;
            font-size: 0.85rem;
            font-weight: 600;
            margin-bottom: 15px;
        }

        .tech-badge {
            position: absolute;
            top: 15px;
            right: 15px;
            background-color: rgba(255, 255, 255, 0.9);
            color: #3f51b5;
            padding: 5px 15px;
            border-radius: 20px;
            font-size: 0.85rem;
            font-weight: 600;
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
        }

        .premium-badge {
            position: absolute;
            top: 15px;
            left: 15px;
            background-color: #ffc107;
            color: #fff;
            width: 40px;
            height: 40px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 50%;
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
            z-index: 1;
        }

        .project-features {
            margin-top: 15px;
            padding-left: 20px;
        }

        .project-features li {
            margin-bottom: 8px;
            position: relative;
            color: #666;
            list-style: none;
        }

        .project-features li:before {
            content: "✓";
            position: absolute;
            left: -20px;
            color: #666;
            font-weight: bold;
        }

        .no-results {
            text-align: center;
            padding: 50px 0;
            color: #6c757d;
            font-size: 1.2rem;
        }

        .back-button {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            background: #334155;
            color: white;
            border: none;
            padding: 0.75rem 1.5rem;
            border-radius: 25px;
            font-size: 0.95rem;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.3s ease;
            box-shadow: 0 4px 15px rgba(51, 65, 85, 0.25);
        }

        .back-button:hover {
            background: #475569;
            color: #fff;
            transform: translateY(-2px);
            box-shadow: 0 6px 20px rgba(51, 65, 85, 0.35);
        }

        .back-button i {
            font-size: 0.9rem;
        }

        @media (max-width: 768px) {
            .search-action {
                margin-top: 15px;
                display: flex;
                justify-content: space-between;
            }

            .search-btn, .reset-btn {
                width: 48%;
                margin-left: 0;
            }

            .portfolio-card .row {
                flex-direction: column;
            }

            .card-img-container {
                height: auto;
                max-height: 300px;
                overflow: hidden;
                text-align: center;
            }

            .portfolio-card img {
                height: auto !important;
                max-height: 300px;
                width: 100%;
                object-fit: contain;
            }

            .card-body {
                padding: 20px;
            }
        }

        /* Additional responsive improvements */
        @media (max-width: 576px) {
            .card-img-container {
                max-height: 250px;
            }

            .portfolio-card img {
                max-height: 250px;
            }

            .card-title {
                font-size: 1.5rem;
            }

            .client-name {
                font-size: 1.1rem;
            }
        }

/* Card Hover Effect */
.transition-hover {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.transition-hover:hover {
    transform: translateY(-10px);
    box-shadow: 0 1rem 3rem rgba(0,0,0,.175)!important;
}



/* ==========================================
   Vibrant Premium Services Section
   ========================================== */

/* Service Card Base */
.service-card {
    border-radius: 24px;
    position: relative;
    overflow: hidden;
    z-index: 1;
    border: 1px solid rgba(255, 255, 255, 0.1);
    transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
    background-size: 200% 200%;
    animation: gradientShift 8s ease infinite;
    box-shadow: 0 10px 30px -10px rgba(0,0,0,0.1);
}

@keyframes gradientShift {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

.service-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 40px -12px rgba(0,0,0,0.25);
}

/* Vibrant Gradient Palettes (Refined Harmony) */
.service-card-1 {
    background-image: linear-gradient(135deg, #3b82f6 0%, #06b6d4 100%);
}

.service-card-2 {
    background-image: linear-gradient(135deg, #8b5cf6 0%, #ec4899 100%);
}

.service-card-3 {
    background-image: linear-gradient(135deg, #10b981 0%, #14b8a6 100%);
}

.service-card-4 {
    background-image: linear-gradient(135deg, #f59e0b 0%, #f97316 100%);
}

/* Typography */
.service-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 1.6rem;
    letter-spacing: -0.01em;
    color: #ffffff;
    margin-bottom: 0.75rem;
    text-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.service-desc {
    color: rgba(255, 255, 255, 0.9);
    font-size: 1rem;
    line-height: 1.6;
    font-weight: 400;
    margin-bottom: 2rem;
}

/* Premium Buttons */
.btn-vibrant, .btn-vibrant-outline {
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    padding: 0.75rem 1.5rem;
    transition: all 0.3s ease;
    border-radius: 50px;
}

.btn-vibrant {
    background: rgba(255, 255, 255, 0.15);
    border: 1px solid rgba(255, 255, 255, 0.25);
    color: #fff;
    backdrop-filter: blur(4px);
}

.btn-vibrant:hover {
    background: #ffffff;
    color: #111;
    border-color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(255,255,255,0.25);
}

.btn-vibrant-outline {
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.5);
    color: #fff;
}

.btn-vibrant-outline:hover {
    background: #ffffff;
    color: #111;
    border-color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(255,255,255,0.25);
}

/* Remove old decorations */
.service-card::before,
.service-card::after,
.card-reveal {
    display: none;
}

/* ==========================================
   Premium Intro Section
   ========================================== */
.intro-section {
    padding: 0 1rem;
    background: transparent;
    border: none;
    margin-bottom: 2.5rem;
    position: relative;
}

.intro-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: 3rem;
    letter-spacing: -1.5px;
    color: #1e293b;
    margin-bottom: 0.5rem;
    margin-top: 0;
    line-height: 1.1;
    position: relative;
    display: inline-block;
    text-shadow: 0 4px 12px rgba(0,0,0,0.05);
}

.intro-highlight {
    background: linear-gradient(135deg, #2563eb 0%, #f59e0b 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    display: block;
    font-weight: 800;
    padding-bottom: 5px;
}

.intro-subtitle {
    font-family: 'Roboto', sans-serif;
    color: #64748b;
    font-size: 1.15rem;
    line-height: 1.7;
    font-weight: 400;
    max-width: 650px;
    margin: 0 auto;
    letter-spacing: -0.01em;
}

/* Logo Styling */
.logo-brand {
    transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.logo-brand:hover {
    transform: scale(1.03);
}

/* ==========================================
   Premium Commitment Section
   ========================================== */
.commitment-section {
    padding: 3.5rem 2rem;
    background: radial-gradient(circle at center, #ffffff 0%, #f1f5f9 100%);
    border-radius: 24px;
    position: relative;
    border: 1px solid rgba(255, 255, 255, 0.6);
    box-shadow: 
        0 10px 30px -10px rgba(148, 163, 184, 0.15),
        inset 0 0 20px rgba(255, 255, 255, 0.5);
    overflow: hidden;
}

.commitment-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: 2.25rem;
    margin-bottom: 2rem;
    letter-spacing: -1px;
    color: #1e293b;
    background: none;
    -webkit-text-fill-color: initial;
}

.commitment-desc {
    font-family: 'Roboto', sans-serif;
    font-size: 1.5rem;
    line-height: 1.8;
    color: #475569;
    /* max-width: 750px; */
    margin: 0 auto;
    font-weight: 400;
}
