/*=========================================
        SERVICE HERO
=========================================*/

.service-hero{

    padding:100px 0;

    background:linear-gradient(180deg,#F8FAFF 0%,#FFFFFF 100%);

    position:relative;

    overflow:hidden;

}

.service-hero::before{

    content:"";

    position:absolute;

    width:550px;

    height:550px;

    background:rgba(37,99,235,.06);

    border-radius:50%;

    left:-180px;

    top:120px;

    filter:blur(10px);

}

.service-hero::after{

    content:"";

    position:absolute;

    width:450px;

    height:450px;

    background:rgba(124,58,237,.05);

    border-radius:50%;

    right:-120px;

    top:-100px;

}

.service-hero-content{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:70px;

    align-items:center;

    position:relative;

    z-index:2;

}

/*=========================
LEFT
=========================*/

.hero-left h1{

    font-size:58px;

    line-height:1.15;

    color:#111827;

    margin:20px 0;

    font-weight:800;

}

.hero-left h1 span{

    color:#2563EB;

}

.hero-left p{

    font-size:17px;

    line-height:1.9;

    color:#6B7280;

    margin-bottom:18px;

}

/*=========================
BUTTONS
=========================*/

.hero-buttons{

    display:flex;

    gap:18px;

    margin:35px 0;

    flex-wrap:wrap;

}

.primary-btn{

    display:inline-flex;

    align-items:center;

    gap:10px;

    padding:15px 34px;

    background:linear-gradient(135deg,#2563EB,#7C3AED);

    color:#fff;

    border-radius:14px;

    text-decoration:none;

    font-weight:700;

    transition:.35s;

    box-shadow:0 18px 35px rgba(37,99,235,.22);

}

.primary-btn:hover{

    transform:translateY(-5px);

}

.secondary-btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:15px 34px;

    border-radius:14px;

    text-decoration:none;

    color:#111827;

    background:#fff;

    border:1px solid #E5E7EB;

    font-weight:700;

    transition:.35s;

}

.secondary-btn:hover{

    border-color:#2563EB;

    color:#2563EB;

}

/*=========================
FEATURES
=========================*/

.hero-features{

    display:flex;

    gap:35px;

    margin-top:35px;

    flex-wrap:wrap;

}

.hero-features div{

    display:flex;

    align-items:center;

    gap:10px;

    font-size:15px;

    color:#374151;

    font-weight:600;

}

.hero-features svg{

    width:18px;

    height:18px;

    color:#2563EB;

}

/*=========================
RIGHT IMAGE
=========================*/

.hero-right{

    text-align:center;

}

.hero-right img{

    width:100%;

    max-width:650px;

    animation:floatImage 4s ease-in-out infinite;

}

@keyframes floatImage{

0%{

transform:translateY(0);

}

50%{

transform:translateY(-10px);

}

100%{

transform:translateY(0);

}

}

/*=========================
RESPONSIVE
=========================*/

@media(max-width:991px){

.service-hero-content{

grid-template-columns:1fr;

text-align:center;

}

.hero-buttons{

justify-content:center;

}

.hero-features{

justify-content:center;

}

.hero-left h1{

font-size:42px;

}

.hero-right{

margin-top:40px;

}

}

@media(max-width:576px){

.service-hero{

padding:70px 0;

}

.hero-left h1{

font-size:34px;

}

.hero-buttons{

flex-direction:column;

}

.primary-btn,

.secondary-btn{

width:100%;

justify-content:center;

}

.hero-features{
display: flex;
gap: 25px;
flex-wrap: wrap;

}

}

.hero-features svg{

    width:20px;

    height:20px;

    stroke:#2563EB;

    stroke-width:2;

}


/*===============================
WHY CUSTOM WEBSITE
================================*/

.why-custom-section{

    padding:120px 0;

    background:#F8FAFF;

}

.why-custom-wrapper{

    display:grid;

    grid-template-columns:1.1fr 1fr;

    gap:80px;

    align-items:center;

}

.why-custom-image img{

    width:100%;

    display:block;

}

.sub-title{

    color:#2563EB;

    font-size:14px;

    font-weight:700;

    text-transform:uppercase;

    letter-spacing:1px;

    display:block;

    margin-bottom:15px;

}

.why-custom-content h2{

    font-size:52px;

    font-weight:800;

    color:#111827;

    margin-bottom:22px;

    line-height:1.1;

}

.why-custom-content h2 span{

    color:#2563EB;

}

.why-custom-content p{

    color:#6B7280;

    line-height:1.9;

    margin-bottom:35px;

    font-size:17px;

}

.why-custom-content ul{

    list-style:none;

    padding:0;

    margin:0;

}

.why-custom-content ul li{

    display:flex;

    align-items:center;

    gap:15px;

    margin-bottom:22px;

    font-size:17px;

    color:#374151;

    font-weight:500;

}

.why-custom-content ul li svg{

    width:22px;

    height:22px;

    color:#2563EB;

    flex-shrink:0;

}

@media(max-width:991px){

.why-custom-wrapper{

grid-template-columns:1fr;

gap:50px;

}

.why-custom-content{

text-align:center;

}

.why-custom-content ul li{

justify-content:center;

}

.why-custom-content h2{

font-size:40px;

}

}

@media(max-width:576px){

.why-custom-section{

padding:80px 0;

}

.why-custom-content h2{

font-size:32px;

}

.why-custom-content p{

font-size:15px;

}
.why-custom-content ul{
    list-style: none;
    padding: 0;
    margin: 0;
}
.why-custom-content ul li{
    font-size: 15px;
    justify-content:flex-start !important;
    text-align:left !important;
    align-items:flex-start;

}

}

/*==========================================
    DESIGN PROCESS
==========================================*/

.design-process{

    padding:120px 0;
    background:#fff;
    position:relative;
    overflow:hidden;

}

/* Section Heading */

.section-title{

    text-align:center;
    max-width:700px;
    margin:0 auto 80px;

}

.section-title span{

    display:inline-block;
    font-size:14px;
    font-weight:700;
    letter-spacing:1px;
    text-transform:uppercase;
    color:#2563EB;
    margin-bottom:12px;

}

.section-title h2{

    font-size:48px;
    font-weight:800;
    line-height:1.2;
    color:#111827;

}

.section-title h2 span{

    color:#2563EB;

}

/* Timeline */

.process-wrapper{

    position:relative;
    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:30px;

}

/* Horizontal Line */

.process-line{

    position:absolute;
    top:42px;
    left:8%;
    width:84%;
    height:2px;

    background:linear-gradient(
        to right,
        #2563EB,
        #8B5CF6
    );

    opacity:.20;
    z-index:0;

}

/* Item */

.process-item{
    width: 100%;
    position:relative;
    text-align:center;
    z-index:2;

}

/* Icon */

.process-item .icon{

    width:84px;
    height:84px;

    background:#fff;

    border-radius:50%;

    margin:0 auto 20px;

    display:flex;
    align-items:center;
    justify-content:center;

    border:1px solid #E5E7EB;

    box-shadow:0 10px 30px rgba(0,0,0,.06);

    transition:.35s;

}

.process-item .icon svg{

    width:30px;
    height:30px;

    color:#2563EB;

    transition:.35s;

}

.process-item:hover .icon{

    background:linear-gradient(135deg,#2563EB,#7C3AED);

    transform:translateY(-8px);

}

.process-item:hover .icon svg{

    color:#fff;

}

/* Number */

.process-item .number{

    font-size:14px;
    font-weight:700;
    color:#2563EB;
    margin-bottom:12px;

}

/* Heading */

.process-item h3{

    font-size:24px;
    font-weight:700;
    color:#111827;
    margin-bottom:15px;

}

/* Paragraph */

.process-item p{

    max-width:180px;
    width:100%;

    margin:0 auto;

    color:#6B7280;

    line-height:1.8;

    font-size:15px;

    white-space:normal;
    word-break:normal;
    overflow-wrap:break-word;

}

/*=========================
Tablet
=========================*/

@media(max-width:991px){

.process-wrapper{

    grid-template-columns:repeat(2,1fr);
    gap:50px;

}

.process-line{

    display:none;

}

.process-item p{

    max-width:240px;

}

}

/*=========================
Mobile
=========================*/

@media(max-width:576px){

.design-process{

    padding:80px 0;

}

.section-title{

    margin-bottom:60px;

}

.section-title h2{

    font-size:34px;

}

.process-wrapper{

    grid-template-columns:1fr;
    gap:60px;
    position:relative;

}

/* Vertical Line */

.process-line{

    display:block;

    width:2px;
    height:calc(100% - 100px);

    left:50%;
    top:42px;

    transform:translateX(-50%);

    background:linear-gradient(
        to bottom,
        #2563EB,
        #8B5CF6
    );

    opacity:.20;

}

.process-item{

    padding-bottom:10px;
    /* display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center; */

}

.process-item .icon{
     
    width:78px;
    height:78px;

}

.process-item h3{

    font-size:22px;

}

.process-item p{

    max-width:280px;

}
.process-item .number {
    font-size: 18px;
    font-weight: 700;
    color: #2563EB;
    margin-bottom: 12px;
    background-color: #fff;
}
}

/*=================================
WHAT'S INCLUDED
=================================*/

.included-section{

    padding:120px 0;
    background:#fff;

}

.included-wrapper{

    display:grid;
    grid-template-columns:1fr 1fr;
    gap:80px;
    align-items:center;

}

.included-image img{

    width:100%;
    display:block;

}

.section-badge{

    display:inline-block;
    color:#2563EB;
    font-size:14px;
    font-weight:700;
    letter-spacing:1px;
    text-transform:uppercase;
    margin-bottom:15px;

}

.included-content h2{

    font-size:46px;
    font-weight:800;
    line-height:1.2;
    color:#111827;
    margin-bottom:35px;

}

.included-content h2 span{

    color:#2563EB;

}

.included-list{

    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:40px;

}

.included-list ul{

    list-style:none;
    padding:0;
    margin:0;

}

.included-list li{

    display:flex;
    align-items:flex-start;
    gap:14px;
    margin-bottom:22px;
    color:#374151;
    font-size:16px;
    line-height:1.6;

}

.included-list li svg{

    width:20px;
    height:20px;
    color:#2563EB;
    flex-shrink:0;
    margin-top:2px;

}

/*========================
Tablet
========================*/

@media(max-width:991px){

.included-wrapper{

grid-template-columns:1fr;
gap:60px;

}

.included-content{

text-align:center;

}

.included-list{

grid-template-columns:1fr;

}

.included-list li{

justify-content:flex-start;
text-align:left;

}

}

/*========================
Mobile
========================*/

@media(max-width:576px){

.included-section{

padding:80px 0;

}

.included-content h2{

font-size:34px;

}

}

/*==================================
WHY CHOOSE
==================================*/

.choose-us{

    padding:90px 0;

}

.choose-wrapper{

    background:linear-gradient(135deg,#08163f,#182a8d,#5B21B6);

    border-radius:28px;

    padding:70px 60px;

    display:grid;

    grid-template-columns:340px 1fr;

    align-items:center;

    gap:60px;

    overflow:hidden;

    position:relative;

}

.choose-wrapper::before{

    content:"";

    position:absolute;

    inset:0;

    background:
    radial-gradient(circle at right,#8B5CF633,transparent 45%),
    radial-gradient(circle at left,#2563EB22,transparent 40%);

    pointer-events:none;

}

.choose-content{

    position:relative;
    z-index:2;

}

.section-tag{

    color:#A5B4FC;

    font-size:13px;

    letter-spacing:1px;

    font-weight:700;

    text-transform:uppercase;

}

.choose-content h2{

    margin-top:18px;

    color:#fff;

    font-size:43px;

    line-height:1.15;

    font-weight:800;

}

.choose-content span{

    color:#4F8BFF;

}

.choose-features{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    position:relative;

    z-index:2;

}

.feature-item{

    text-align:center;

    padding:0 25px;

    border-left:1px solid rgba(255,255,255,.12);

}

.feature-item:first-child{

    border-left:none;

}

.feature-item svg{

    width:34px;

    height:34px;

    color:#3B82F6;

    margin-bottom:18px;

}

.feature-item h4{

    color:#fff;

    font-size:20px;

    margin-bottom:12px;

    font-weight:700;

}

.feature-item p{

    color:rgba(255,255,255,.75);

    line-height:1.7;

    font-size:15px;

}

/* Tablet */

@media(max-width:991px){

.choose-wrapper{

grid-template-columns:1fr;

text-align:center;

padding:60px 35px;

}

.choose-features{

grid-template-columns:repeat(2,1fr);

gap:40px;

}

.feature-item{

border:none;

padding:0;

}

}

/* Mobile */

@media(max-width:576px){

.choose-wrapper{

padding:45px 25px;

}

.choose-content h2{

font-size:36px;

}

.choose-features{

grid-template-columns:1fr;

gap:35px;

}

.feature-item{

border-top:1px solid rgba(255,255,255,.10);

padding-top:30px;

}

.feature-item:first-child{

border-top:none;

padding-top:0;

}

}

/*==================================
TECHNOLOGIES
==================================*/

.technologies{

    padding:90px 0;
    background:#fff;

}

.tech-title{

    margin-bottom:45px;

}

.tech-title span{

    color:#2563EB;
    font-size:14px;
    font-weight:700;
    letter-spacing:1px;
    text-transform:uppercase;

}

.tech-grid{

    display:grid;
    grid-template-columns:repeat(8,1fr);
    gap:25px;
    align-items:center;

}

.tech-item{

    text-align:center;
    transition:.35s;

}

.tech-item:hover{

    transform:translateY(-8px);

}

.tech-item i{

    font-size:58px;
    margin-bottom:18px;
    transition:.35s;

}

.tech-item h4{

    font-size:16px;
    font-weight:600;
    color:#374151;

}

/* Brand Colors */

.html{
    color:#E34F26;
}

.css{
    color:#1572B6;
}

.js{
    color:#F7DF1E;
}

.php{
    color:#777BB4;
}

.laravel{
    color:#FF2D20;
}

.wordpress{
    color:#21759B;
}

.react{
    color:#61DAFB;
}

.mysql{
    color:#0F5D9C;
}

/* Tablet */

@media(max-width:991px){

.tech-grid{

grid-template-columns:repeat(4,1fr);

}

}

/* Mobile */

@media(max-width:576px){

.technologies{

padding:70px 0;

}

.tech-grid{

grid-template-columns:repeat(2,1fr);
gap:35px;

}

.tech-item i{

font-size:50px;

}

}

/*==================================
FAQ
==================================*/

.faq-section{

    padding:120px 0;
    background:#fff;

}

.faq-grid{

    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:30px;

}

.faq-item{

    background:#F8FAFF;

    border:1px solid #E5E7EB;

    border-radius:14px;

    margin-bottom:18px;

    overflow:hidden;

    transition:.3s;

}

.faq-item:hover{

    box-shadow:0 12px 30px rgba(37,99,235,.08);

}

.faq-question{

    width:100%;

    border:none;

    background:none;

    padding:22px 24px;

    display:flex;

    align-items:center;

    justify-content:space-between;

    font-size:17px;

    font-weight:600;

    cursor:pointer;

    color:#111827;

}

.faq-question svg{

    width:20px;

    height:20px;

    transition:.3s;

    flex-shrink:0;

}

.faq-answer{

    max-height:0;

    overflow:hidden;

    transition:max-height .35s ease;

}

.faq-answer p{

    padding:0 24px 22px;

    color:#6B7280;

    line-height:1.8;

}

.faq-item.active .faq-answer{

    max-height:200px;

}

.faq-item.active .faq-question svg{

    transform:rotate(180deg);

}

/* Responsive */

@media(max-width:991px){

.faq-grid{

grid-template-columns:1fr;

}

}

@media(max-width:576px){

.faq-section{

padding:80px 0;

}

.faq-question{

font-size:15px;
padding:18px;

}

.faq-answer p{

padding:0 18px 18px;

}

}

/*==================================
        CTA SECTION
==================================*/

.service-cta{

    padding:100px 0;

}

.cta-wrapper{

    background:linear-gradient(135deg,#1D4ED8 0%,#4F46E5 55%,#7C3AED 100%);

    border-radius:22px;

    padding:40px 45px;

    display:grid;

    grid-template-columns:110px 1fr auto;

    align-items:center;

    gap:35px;

    position:relative;

    overflow:hidden;

}

/* Background Glow */

.cta-wrapper::before{

    content:"";

    position:absolute;

    width:350px;

    height:350px;

    background:rgba(255,255,255,.08);

    border-radius:50%;

    left:-140px;

    top:-90px;

}

.cta-wrapper::after{

    content:"";

    position:absolute;

    width:260px;

    height:260px;

    background:rgba(255,255,255,.05);

    border-radius:50%;

    right:-80px;

    bottom:-120px;

}

/* Icon */

.cta-icon{

    position:relative;

    z-index:2;

}

.icon-circle{

    width:82px;

    height:82px;

    border-radius:50%;

    background:#fff;

    display:flex;

    align-items:center;

    justify-content:center;

    box-shadow:0 20px 45px rgba(0,0,0,.15);

}

.icon-circle svg{

    width:38px;

    height:38px;

    color:#2563EB;

}

/* Content */

.cta-content{

    position:relative;

    z-index:2;

}

.cta-content h2{

    color:#fff;

    font-size:38px;

    font-weight:700;

    margin-bottom:12px;

}

.cta-content p{

    color:rgba(255,255,255,.90);

    font-size:17px;

    line-height:1.8;

    max-width:600px;

}

/* Button */

.cta-btn{

    position:relative;

    z-index:2;

}

.theme-btn{

    display:inline-flex;

    align-items:center;

    gap:10px;

    background:#fff;

    color:#2563EB;

    text-decoration:none;

    padding:16px 30px;

    border-radius:10px;

    font-size:16px;

    font-weight:700;

    transition:.3s;

}

.theme-btn:hover{

    transform:translateY(-3px);

    box-shadow:0 15px 35px rgba(0,0,0,.18);

}

.theme-btn svg{

    width:18px;

    height:18px;

}

/*=========================
Responsive
=========================*/

@media(max-width:991px){

.cta-wrapper{

grid-template-columns:1fr;

text-align:center;

padding:45px 30px;

}

.cta-icon{

margin:auto;

}

.cta-content p{

margin:auto;

}

.cta-btn{

margin-top:10px;

}

}

@media(max-width:576px){

.service-cta{

padding:70px 0;

}

.cta-content h2{

font-size:30px;

}

.cta-content p{

font-size:15px;

}

.theme-btn{

padding:15px 26px;

}

}