/*==========================================
GOOGLE FONT
==========================================*/
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

/*==========================================
RESET
==========================================*/

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:'Poppins',sans-serif;
    background:#0d0d0d;
    color:#fff;
    overflow-x:hidden;
}

a{
    text-decoration:none;
}

.service-page{
    width:100%;
    min-height:100vh;
    padding:40px 7%;
    position:relative;
}

/*==========================================
BACKGROUND GLOW
==========================================*/

.service-page::before{

    content:"";

    position:fixed;

    width:500px;
    height:500px;

    background:#FFC107;

    filter:blur(220px);

    opacity:.08;

    top:-180px;
    right:-120px;

    z-index:-2;

}

.service-page::after{

    content:"";

    position:fixed;

    width:350px;
    height:350px;

    background:#ff9800;

    filter:blur(180px);

    opacity:.05;

    bottom:-100px;
    left:-80px;

    z-index:-2;

}

/*==========================================
BACK BUTTON
==========================================*/

.back-wrapper{

    margin-bottom:40px;

}

.back-btn{

    display:inline-flex;

    align-items:center;

    gap:12px;

    color:#ffc107;

    font-size:15px;

    font-weight:600;

    transition:.35s;

}

.back-btn:hover{

    color:#fff;

    transform:translateX(-6px);

}

.back-btn i{

    width:42px;

    height:42px;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    background:#1d1d1d;

    border:1px solid rgba(255,193,7,.25);

    transition:.35s;

}

.back-btn:hover i{

    background:#ffc107;

    color:#111;

}

/*==========================================
HERO
==========================================*/

.hero{

    display:flex;

    justify-content:center;

    align-items:center;

    margin-bottom:70px;

}

.hero-left{

    width:100%;

    background:#161616;

    border:1px solid rgba(255,255,255,.05);

    border-radius:28px;

    padding:70px;

    position:relative;

    overflow:hidden;

    box-shadow:

    0 25px 80px rgba(0,0,0,.45);

}

/* yellow glow */

.hero-left::before{

    content:"";

    position:absolute;

    width:260px;

    height:260px;

    border-radius:50%;

    background:#ffc107;

    filter:blur(120px);

    opacity:.08;

    top:-90px;

    right:-90px;

}

/*==========================================
SERVICE ICON
==========================================*/

.service-icon{

    width:90px;

    height:90px;

    border-radius:22px;

    background:linear-gradient(145deg,#FFC107,#ff9800);

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:40px;

    color:#111;

    margin-bottom:30px;

    box-shadow:

    0 20px 40px rgba(255,193,7,.25);

}

.hero h1{

    font-size:52px;

    font-weight:800;

    line-height:1.2;

    margin-bottom:20px;

}

.hero p{

    max-width:760px;

    font-size:18px;

    color:#d3d3d3;

    line-height:1.9;

    margin-bottom:30px;

}

/*==========================================
RATING
==========================================*/

.rating{

    display:inline-flex;

    align-items:center;

    gap:12px;

    background:#202020;

    border:1px solid rgba(255,193,7,.18);

    padding:14px 22px;

    border-radius:50px;

    margin-bottom:35px;

    color:#FFC107;

    font-size:15px;

}

/*==========================================
BUTTONS
==========================================*/

.hero-buttons{

    display:flex;

    flex-wrap:wrap;

    gap:18px;

}

.primary-btn{

    background:#FFC107;

    color:#111;

    font-weight:700;

    padding:16px 34px;

    border-radius:12px;

    transition:.35s;

}

.primary-btn:hover{

    transform:translateY(-4px);

    box-shadow:

    0 15px 35px rgba(255,193,7,.35);

}

.secondary-btn{

    padding:16px 34px;

    border-radius:12px;

    border:1px solid rgba(255,193,7,.3);

    color:#FFC107;

    transition:.35s;

}

.secondary-btn:hover{

    background:#FFC107;

    color:#111;

}

/*==========================================
COMMON HEADING
==========================================*/

section{

    margin-bottom:80px;

}

section h2{

    font-size:34px;

    margin-bottom:30px;

    font-weight:700;

    position:relative;

}

section h2::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-12px;

    width:70px;

    height:4px;

    border-radius:30px;

    background:#FFC107;

}


/*==========================================
ABOUT SECTION
==========================================*/

.about-service{

    display:grid;

    grid-template-columns:1.4fr .8fr;

    gap:35px;

    align-items:start;

}

.about-service p{

    color:#cfcfcf;

    font-size:16px;

    line-height:1.9;

}

.about-service::after{

    content:"";

    display:block;

}

.about-service .info-card{

    background:#181818;

    border:1px solid rgba(255,193,7,.12);

    border-radius:22px;

    padding:28px;

    box-shadow:0 15px 40px rgba(0,0,0,.25);

}

.info-card h3{

    font-size:22px;

    margin-bottom:20px;

    color:#FFC107;

}

.info-list{

    display:flex;

    flex-direction:column;

    gap:18px;

}

.info-item{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding-bottom:14px;

    border-bottom:1px solid rgba(255,255,255,.06);

}

.info-item:last-child{

    border:none;

    padding-bottom:0;

}

.info-item span{

    color:#9f9f9f;

    font-size:14px;

}

.info-item strong{

    color:#fff;

    font-size:15px;

}

/*==========================================
BENEFITS
==========================================*/

.benefit-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:22px;

}

.benefit-card{

    background:#181818;

    border:1px solid rgba(255,193,7,.10);

    border-radius:20px;

    padding:26px;

    display:flex;

    align-items:flex-start;

    gap:18px;

    transition:.35s;

    position:relative;

    overflow:hidden;

}

.benefit-card::before{

    content:"";

    position:absolute;

    width:120px;

    height:120px;

    border-radius:50%;

    background:#FFC107;

    filter:blur(70px);

    opacity:0;

    right:-30px;

    top:-30px;

    transition:.4s;

}

.benefit-card:hover{

    transform:translateY(-8px);

    border-color:#FFC107;

    box-shadow:0 18px 45px rgba(255,193,7,.12);

}

.benefit-card:hover::before{

    opacity:.08;

}

.benefit-card i{

    width:55px;

    height:55px;

    min-width:55px;

    border-radius:14px;

    background:#FFC107;

    color:#111;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:22px;

}

.benefit-card span{

    font-size:16px;

    line-height:1.8;

    color:#ececec;

    font-weight:500;

}

/*==========================================
SECTION SPACING
==========================================*/

.about-service{

    margin-bottom:90px;

}

.benefits{

    margin-bottom:90px;

}


/*==========================================
PROCESS SECTION
==========================================*/

.process-wrapper{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:25px;

    position:relative;

}

.process-wrapper::before{

    content:"";

    position:absolute;

    top:32px;

    left:12%;

    right:12%;

    height:3px;

    background:rgba(255,193,7,.18);

    z-index:0;

}

.step{

    position:relative;

    z-index:1;

    background:#181818;

    border:1px solid rgba(255,193,7,.12);

    border-radius:22px;

    padding:35px 25px;

    text-align:center;

    transition:.35s;

}

.step:hover{

    transform:translateY(-8px);

    border-color:#FFC107;

    box-shadow:0 18px 45px rgba(255,193,7,.12);

}

.step-number{

    width:65px;

    height:65px;

    margin:auto;

    margin-bottom:20px;

    border-radius:50%;

    background:#FFC107;

    color:#111;

    font-size:24px;

    font-weight:700;

    display:flex;

    justify-content:center;

    align-items:center;

    box-shadow:0 12px 30px rgba(255,193,7,.25);

}

.step h4{

    font-size:18px;

    font-weight:600;

    color:#fff;

}

/*==========================================
FAQ
==========================================*/

.faq{

    margin-top:90px;

}

.faq-item{

    background:#181818;

    border:1px solid rgba(255,193,7,.12);

    border-radius:18px;

    margin-bottom:18px;

    overflow:hidden;

    transition:.35s;

}

.faq-item:hover{

    border-color:#FFC107;

}

.faq-question{

    width:100%;

    background:none;

    border:none;

    color:#fff;

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:24px 30px;

    font-size:17px;

    font-weight:600;

    cursor:pointer;

}

.faq-question span{

    width:34px;

    height:34px;

    border-radius:50%;

    background:#FFC107;

    color:#111;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:22px;

    transition:.3s;

}

.faq-answer{

    display:none;

    padding:0 30px 25px;

}

.faq-answer p{

    color:#cfcfcf;

    line-height:1.8;

    font-size:15px;

}

.faq-item.active .faq-answer{

    display:block;

}

.faq-item.active .faq-question span{

    transform:rotate(45deg);

}

/*==========================================
CTA SECTION
==========================================*/

.cta{

    background:linear-gradient(135deg,#1b1b1b,#101010);

    border:1px solid rgba(255,193,7,.15);

    border-radius:28px;

    padding:70px 50px;

    text-align:center;

    position:relative;

    overflow:hidden;

}

.cta::before{

    content:"";

    position:absolute;

    width:350px;

    height:350px;

    background:#FFC107;

    filter:blur(150px);

    opacity:.08;

    top:-120px;

    right:-120px;

}

.cta h2{

    font-size:42px;

    margin-bottom:20px;

}

.cta h2::after{

    display:none;

}

.cta p{

    max-width:700px;

    margin:auto;

    color:#d3d3d3;

    line-height:1.8;

    margin-bottom:40px;

    font-size:17px;

}

.cta-buttons{

    display:flex;

    justify-content:center;

    gap:20px;

    flex-wrap:wrap;

}

/*==========================================
SCROLLBAR
==========================================*/

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-track{

    background:#111;

}

::-webkit-scrollbar-thumb{

    background:#FFC107;

    border-radius:50px;

}

/*==========================================
TABLET
==========================================*/

@media(max-width:991px){

.service-page{

padding:30px 5%;

}

.hero-left{

padding:45px;

}

.hero h1{

font-size:42px;

}

.about-service{

grid-template-columns:1fr;

}

.process-wrapper{

grid-template-columns:repeat(2,1fr);

}

.benefit-grid{

grid-template-columns:1fr;

}

.cta h2{

font-size:34px;

}

}

/*==========================================
MOBILE
==========================================*/

@media(max-width:768px){

.hero-left{

padding:30px;

border-radius:22px;

}

.service-icon{

width:70px;

height:70px;

font-size:30px;

}

.hero h1{

font-size:30px;

}

.hero p{

font-size:15px;

line-height:1.7;

}

.rating{

font-size:13px;

padding:12px 16px;

}

.hero-buttons{

flex-direction:column;

}

.primary-btn,

.secondary-btn{

width:100%;

text-align:center;

}

.process-wrapper{

grid-template-columns:1fr;

}

.step{

padding:30px 20px;

}

section h2{

font-size:28px;

}

.cta{

padding:50px 25px;

}

.cta h2{

font-size:28px;

}

.back-btn{

font-size:14px;

}

}

/*==========================================
SMALL MOBILE
==========================================*/

@media(max-width:480px){

.service-page{

padding:20px;

}

.hero-left{

padding:25px;

}

.hero h1{

font-size:26px;

}

.service-icon{

width:65px;

height:65px;

font-size:26px;

}

section{

margin-bottom:60px;

}

.benefit-card{

padding:20px;

}

.info-card{

padding:22px;

}

.faq-question{

padding:20px;

font-size:15px;

}

.faq-answer{

padding:0 20px 20px;

}

}


/*==========================================
LAPTOP OPTIMIZATION
(1025px - 1600px)
==========================================*/

@media screen and (min-width:1025px){

    .service-page{
        max-width:1280px;
        margin:auto;
        padding:30px 4%;
    }

    .hero{
        margin-bottom:50px;
    }

    .hero-left{
        padding:50px;
        border-radius:22px;
    }

    .service-icon{
        width:75px;
        height:75px;
        font-size:34px;
        margin-bottom:22px;
    }

    .hero h1{
        font-size:42px;
        line-height:1.25;
        margin-bottom:16px;
    }

    .hero p{
        font-size:16px;
        line-height:1.7;
        max-width:680px;
    }

    .rating{
        padding:12px 18px;
        font-size:14px;
        margin-bottom:28px;
    }

    .primary-btn,
    .secondary-btn{
        padding:14px 28px;
        font-size:15px;
    }

    section{
        margin-bottom:60px;
    }

    section h2{
        font-size:30px;
        margin-bottom:24px;
    }

    .about-service{
        gap:28px;
    }

    .about-service p{
        font-size:15px;
        line-height:1.8;
    }

    .info-card{
        padding:24px;
    }

    .benefit-grid{
        gap:18px;
    }

    .benefit-card{
        padding:22px;
    }

    .benefit-card span{
        font-size:15px;
    }

    .process-wrapper{
        gap:18px;
    }

    .step{
        padding:28px 20px;
    }

    .step-number{
        width:55px;
        height:55px;
        font-size:20px;
    }

    .step h4{
        font-size:16px;
    }

    .faq-question{
        padding:20px 24px;
        font-size:16px;
    }

    .faq-answer{
        padding:0 24px 22px;
    }

    .cta{
        padding:55px 40px;
    }

    .cta h2{
        font-size:34px;
    }

    .cta p{
        font-size:16px;
    }
}