/* ==========================================================
   ASHWAMEDIA LANDING PAGE
   Author : AshwaMedia
   Version : 1.0
==========================================================*/

/*==============================
ROOT
==============================*/

:root{

    --primary:#2563eb;
    --primary-dark:#1d4ed8;
    --secondary:#0f172a;
    --text:#334155;
    --title:#0f172a;

    --white:#ffffff;
    --light:#f8fafc;
    --border:#e2e8f0;

    --success:#22c55e;

    --radius:18px;

    --shadow:
    0 10px 35px rgba(0,0,0,.08);

    --transition:.35s ease;

}

/*==============================
RESET
==============================*/

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{

    scroll-behavior:smooth;

}

body{

    font-family:'Poppins',sans-serif;

    color:var(--text);

    background:var(--white);

    overflow-x:hidden;

    line-height:1.8;

}

img{

    max-width:100%;

    display:block;

}

a{

    text-decoration:none;

    transition:var(--transition);

}

ul{

    list-style:none;

    padding:0;

    margin:0;

}

.section-padding{

    padding:100px 0;

}

.section-title{

    margin-bottom:60px;

}

.section-title h2{

    font-size:42px;

    font-weight:700;

    color:var(--title);

    margin-bottom:15px;

}

.section-title p{

    max-width:650px;

    margin:auto;

}

/*==============================
BUTTON
==============================*/

.btn{

    border-radius:12px;

    padding:14px 34px;

    font-weight:600;

    transition:var(--transition);

}

.btn-primary{

    background:var(--primary);

    border:none;

}

.btn-primary:hover{

    background:var(--primary-dark);

    transform:translateY(-4px);

    box-shadow:0 15px 35px rgba(37,99,235,.25);

}

.btn-outline-primary{

    border:2px solid var(--primary);

    color:var(--primary);

}

.btn-outline-primary:hover{

    background:var(--primary);

    color:#fff;

}

/*==============================
NAVBAR
==============================*/

.navbar{

    padding:20px 0;

    transition:.4s;

    background:transparent;

}

.navbar.scrolled{

    background:#fff;

    box-shadow:0 10px 30px rgba(0,0,0,.08);

    padding:12px 0;

}

.navbar-brand{

    font-size:28px;

    font-weight:800;

    color:var(--primary)!important;

}

.nav-link{

    font-weight:500;

    color:#1e293b!important;

    margin-left:22px;

}

.nav-link:hover{

    color:var(--primary)!important;

}

/*==============================
HERO
==============================*/

.hero{

    min-height:100vh;

    display:flex;

    align-items:center;

    background:
    linear-gradient(
    135deg,
    #eff6ff,
    #ffffff);

    position:relative;

    overflow:hidden;

}

.hero::before{

    content:"";

    position:absolute;

    width:650px;

    height:650px;

    background:#2563eb15;

    border-radius:50%;

    top:-250px;

    right:-150px;

}

.hero h1{

    font-size:58px;

    font-weight:800;

    color:#0f172a;

    margin:20px 0;

}

.hero p{

    font-size:18px;

    margin-bottom:35px;

}

.hero-button{

    display:flex;

    gap:15px;

    flex-wrap:wrap;

    margin-bottom:35px;

}

.hero-feature{

    display:flex;

    gap:30px;

    flex-wrap:wrap;

    font-weight:500;

}

.hero-feature i{

    color:var(--success);

    margin-right:6px;

}

.hero-image{

    animation:float 5s infinite ease-in-out;

}

/*==============================
FLOAT ANIMATION
==============================*/

@keyframes float{

0%{

transform:translateY(0);

}

50%{

transform:translateY(-20px);

}

100%{

transform:translateY(0);

}

}

/*=========================================================
WHY SECTION
=========================================================*/

#why{

    padding:100px 0;

    background:#fff;

}

.feature-box{

    background:#fff;

    padding:40px 30px;

    border-radius:18px;

    text-align:center;

    border:1px solid var(--border);

    transition:var(--transition);

    height:100%;

    box-shadow:0 8px 25px rgba(0,0,0,.04);

}

.feature-box:hover{

    transform:translateY(-12px);

    box-shadow:0 18px 45px rgba(0,0,0,.10);

    border-color:#2563eb33;

}

.feature-box i{

    font-size:50px;

    color:var(--primary);

    margin-bottom:20px;

}

.feature-box h4{

    font-size:24px;

    font-weight:700;

    color:var(--title);

    margin-bottom:15px;

}

.feature-box p{

    margin:0;

}

/*=========================================================
PRICING
=========================================================*/

.pricing-card{

    background:#fff;

    border-radius:22px;

    padding:45px 35px;

    position:relative;

    border:1px solid var(--border);

    transition:.4s;

    overflow:hidden;

    box-shadow:0 12px 35px rgba(0,0,0,.05);

}

.pricing-card:hover{

    transform:translateY(-15px);

    box-shadow:0 30px 60px rgba(0,0,0,.12);

}

.pricing-card h3{

    font-size:28px;

    font-weight:700;

    color:var(--title);

}

.price{

    font-size:42px;

    font-weight:800;

    color:var(--primary);

    margin:25px 0;

}

.pricing-card ul{

    margin-bottom:35px;

}

.pricing-card li{

    padding:10px 0;

    color:#475569;

    border-bottom:1px dashed #eee;

}

.pricing-card li:last-child{

    border:none;

}

.popular{

    background:linear-gradient(180deg,#2563eb,#1d4ed8);

    color:#fff;

    transform:scale(1.05);

}

.popular h3,

.popular .price,

.popular li{

    color:#fff;

}

.popular .btn{

    background:#fff;

    color:#2563eb;

    border:none;

}

.popular-badge{

    position:absolute;

    right:-50px;

    top:25px;

    width:220px;

    text-align:center;

    background:#f59e0b;

    color:#fff;

    font-size:13px;

    font-weight:700;

    transform:rotate(40deg);

    padding:10px;

    letter-spacing:1px;

}

/*=========================================================
FEATURE GRID
=========================================================*/

.feature-item{

    background:#fff;

    border-radius:18px;

    padding:35px;

    text-align:center;

    border:1px solid var(--border);

    transition:.35s;

    box-shadow:0 8px 25px rgba(0,0,0,.04);

}

.feature-item:hover{

    transform:translateY(-10px);

    box-shadow:0 18px 40px rgba(0,0,0,.08);

}

.feature-item i{

    font-size:45px;

    color:var(--primary);

    margin-bottom:18px;

}

.feature-item h5{

    margin:0;

    font-weight:600;

}

/*=========================================================
PORTFOLIO
=========================================================*/

#portfolio{

    background:#f8fafc;

}

#portfolio img{

    border-radius:18px;

    transition:.4s;

    cursor:pointer;

    box-shadow:0 10px 25px rgba(0,0,0,.08);

}

#portfolio img:hover{

    transform:scale(1.05);

}

/*=========================================================
FAQ
=========================================================*/

.accordion-item{

    border:none;

    margin-bottom:18px;

    border-radius:16px!important;

    overflow:hidden;

    box-shadow:0 8px 20px rgba(0,0,0,.05);

}

.accordion-button{

    font-weight:600;

    padding:22px;

}

.accordion-button:not(.collapsed){

    background:#2563eb;

    color:#fff;

}

.accordion-button:focus{

    box-shadow:none;

}

/*=========================================================
CTA
=========================================================*/

.cta-section{

    padding:100px 0;

    background:linear-gradient(135deg,#2563eb,#1d4ed8);

    color:#fff;

    text-align:center;

}

.cta-section h2{

    font-size:48px;

    font-weight:800;

    margin-bottom:20px;

}

.cta-section p{

    font-size:18px;

    margin-bottom:35px;

    opacity:.95;

}

.cta-section .btn{

    background:#fff;

    color:#2563eb;

    font-weight:700;

    padding:18px 45px;

    border-radius:14px;

}

.cta-section .btn:hover{

    transform:translateY(-5px);

}

/*=========================================================
FOOTER
=========================================================*/

footer{

    background:#0f172a;

    color:#cbd5e1;

    padding:70px 0 30px;

}

footer h4{

    color:#fff;

    margin-bottom:20px;

}

footer a{

    color:#cbd5e1;

}

footer a:hover{

    color:#fff;

}

/*=========================================================
FLOATING WA
=========================================================*/

.floating-wa{

    position:fixed;

    right:25px;

    bottom:25px;

    width:65px;

    height:65px;

    border-radius:50%;

    background:#25D366;

    color:#fff;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:30px;

    box-shadow:0 15px 35px rgba(37,211,102,.35);

    z-index:9999;

    animation:waFloat 2.5s infinite;

}

.floating-wa:hover{

    color:#fff;

    transform:scale(1.1);

}

@keyframes waFloat{

    0%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-10px);

    }

    100%{

        transform:translateY(0);

    }

}

/*=========================================================
COUNTER
=========================================================*/

.counter-section{

    padding:90px 0;

    background:#ffffff;

}

.counter-box{

    background:#fff;

    border-radius:20px;

    padding:40px;

    text-align:center;

    border:1px solid var(--border);

    transition:.35s;

}

.counter-box:hover{

    transform:translateY(-8px);

    box-shadow:0 20px 45px rgba(0,0,0,.08);

}

.counter-box h2{

    font-size:48px;

    color:var(--primary);

    font-weight:800;

}

.counter-box p{

    margin-top:10px;

    margin-bottom:0;

    color:#64748b;

}

/*=========================================================
TESTIMONI
=========================================================*/

.testimonial-card{

    background:#fff;

    border-radius:20px;

    padding:35px;

    border:1px solid var(--border);

    transition:.35s;

    height:100%;

}

.testimonial-card:hover{

    transform:translateY(-8px);

    box-shadow:0 20px 40px rgba(0,0,0,.08);

}

.testimonial-avatar{

    width:70px;

    height:70px;

    border-radius:50%;

    overflow:hidden;

    margin-bottom:20px;

}

.testimonial-avatar img{

    width:100%;

}

.testimonial-name{

    font-weight:700;

    margin-bottom:5px;

}

.testimonial-job{

    color:#64748b;

    font-size:14px;

}

.testimonial-star{

    color:#f59e0b;

    margin:15px 0;

}

/*=========================================================
PROCESS
=========================================================*/

.process-box{

    background:#fff;

    border-radius:18px;

    text-align:center;

    padding:35px;

    position:relative;

    transition:.35s;

    border:1px solid var(--border);

}

.process-box:hover{

    transform:translateY(-10px);

    box-shadow:0 15px 35px rgba(0,0,0,.08);

}

.process-number{

    width:70px;

    height:70px;

    border-radius:50%;

    background:linear-gradient(135deg,#2563eb,#1d4ed8);

    color:#fff;

    font-size:28px;

    font-weight:700;

    display:flex;

    justify-content:center;

    align-items:center;

    margin:auto;

    margin-bottom:25px;

}

.process-box h4{

    font-size:22px;

    margin-bottom:15px;

}

/*=========================================================
BUTTON EFFECT
=========================================================*/

.btn-primary{

    position:relative;

    overflow:hidden;

}

.btn-primary::before{

    content:"";

    position:absolute;

    left:-120%;

    top:0;

    width:70%;

    height:100%;

    background:rgba(255,255,255,.3);

    transform:skewX(-30deg);

}

.btn-primary:hover::before{

    left:150%;

    transition:.7s;

}

/*=========================================================
SCROLLBAR
=========================================================*/

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-track{

    background:#eef2ff;

}

::-webkit-scrollbar-thumb{

    background:#2563eb;

    border-radius:20px;

}

::-webkit-scrollbar-thumb:hover{

    background:#1d4ed8;

}

/*=========================================================
SELECTION
=========================================================*/

::selection{

    background:#2563eb;

    color:#fff;

}

/*=========================================================
GLASS
=========================================================*/

.glass{

    backdrop-filter:blur(14px);

    background:rgba(255,255,255,.18);

    border:1px solid rgba(255,255,255,.35);

}

/*=========================================================
FADE UP
=========================================================*/

.fade-up{

    opacity:0;

    transform:translateY(50px);

    transition:all .8s ease;

}

.fade-up.show{

    opacity:1;

    transform:translateY(0);

}

/*=========================================================
BACK TO TOP
=========================================================*/

.back-top{

    position:fixed;

    right:25px;

    bottom:100px;

    width:52px;

    height:52px;

    border:none;

    border-radius:50%;

    background:#2563eb;

    color:#fff;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:20px;

    cursor:pointer;

    opacity:0;

    visibility:hidden;

    transition:.3s;

    z-index:9998;

    box-shadow:0 10px 30px rgba(37,99,235,.25);

}

.back-top.show{

    opacity:1;

    visibility:visible;

}

.back-top:hover{

    transform:translateY(-5px);

}