/*==========================================================
LAS BILLING WEBSITE
Version : 2.0
Author  : MyCocolink
==========================================================*/



/*==========================================================
GOOGLE FONT
==========================================================*/

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap');



/*==========================================================
VARIABLES
==========================================================*/

:root{

    /* Colors */

    --primary:#2563EB;

    --primary-dark:#1D4ED8;

    --secondary:#7C3AED;

    --background:#070B14;

    --surface:#0F172A;

    --card:#111827;

    --white:#FFFFFF;

    --text:#CBD5E1;

    --border:rgba(255,255,255,.08);

    --success:#22C55E;

    --warning:#F59E0B;

    --danger:#EF4444;

    /* Radius */

    --radius-sm:10px;

    --radius-md:14px;

    --radius-lg:20px;

    --radius-xl:24px;

    --radius-full:999px;

    /* Shadow */

    --shadow-sm:

        0 8px 25px rgba(0,0,0,.15);

    --shadow-md:

        0 20px 60px rgba(0,0,0,.25);

    --shadow-lg:

        0 30px 90px rgba(0,0,0,.35);

    /* Container */

    --container:1280px;

    /* Transition */

    --transition:.35s ease;

}

/*==========================================================
RESET
==========================================================*/

*{

    margin:0;

    padding:0;

    box-sizing:border-box;

}

html{

    scroll-behavior:smooth;

}

body{

    font-family:"Inter",sans-serif;

    background:var(--background);

    color:var(--white);

    overflow-x:hidden;

    -webkit-font-smoothing:antialiased;

}

img{

    display:block;

    max-width:100%;

}

a{

    text-decoration:none;

    color:inherit;

}

button{

    border:none;

    background:none;

    cursor:pointer;

    font-family:inherit;

}

input,

textarea,

select{

    font-family:inherit;

    outline:none;

}

ul{

    list-style:none;

}

/*==========================================================
BASE
==========================================================*/

.container{

    width:100%;

    max-width:var(--container);

    margin:auto;

    padding:0 24px;

}

.section{

    padding:100px 0;

}

.section-header{

    max-width:760px;

    margin:0 auto 70px;

    margin-bottom:70px;

    text-align:center;

}

.section-badge{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    padding:10px 18px;

    border-radius:var(--radius-full);

    border:1px solid rgba(37,99,235,.25);

    background:rgba(37,99,235,.08);

    color:var(--primary);

    font-size:14px;

    font-weight:600;

    text-transform:uppercase;

    margin-bottom:22px;

}

/*==========================================================
TYPOGRAPHY
==========================================================*/

h1{

    font-size:64px;

    font-weight:800;

    line-height:1.1;

    letter-spacing:-2px;

}

h2{

    font-size:46px;

    font-weight:700;

    line-height:1.2;

    margin-bottom:20px;

}

h3{

    font-size:26px;

    font-weight:600;

    margin-bottom:16px;

}

h4{

    font-size:20px;

    font-weight:600;

}

p{

    color:var(--text);

    font-size:18px;

    line-height:1.8;

}

small{

    color:var(--text);

    font-size:14px;

}

/*==========================================================
BUTTON SYSTEM
==========================================================*/

.btn-primary,

.btn-outline{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:12px;

    height:56px;

    padding:0 30px;

    border-radius:var(--radius-md);

    font-size:16px;

    font-weight:600;

    transition:var(--transition);

}

.btn-primary{

    background:var(--primary);

    color:#fff;

}

.btn-primary:hover{

    background:var(--primary-dark);

    transform:translateY(-4px);

    box-shadow:var(--shadow-md);

}

.btn-outline{

    border:1px solid var(--border);

}

.btn-outline:hover{

    border-color:var(--primary);

    color:var(--primary);

}

/*==========================================================
CARD
==========================================================*/

.card{

    background:var(--card);

    border:1px solid var(--border);

    border-radius:var(--radius-lg);

    padding:36px;

    transition:var(--transition);

}

.card:hover{

    transform:translateY(-8px);

    border-color:rgba(37,99,235,.35);

    box-shadow:var(--shadow-lg);

}

/*==========================================================
11. NAVBAR
==========================================================*/

.header{

    position:fixed;

    top:0;

    left:0;

    width:100%;

    z-index:1000;

}

.navbar{

    width:100%;

    transition:
        background var(--transition),
        color var(--transition);

}

.navbar.scrolled{

    background:rgba(7,11,20,.92);

    backdrop-filter:blur(18px);

    -webkit-backdrop-filter:blur(18px);

    border-bottom:1px solid var(--border);

    box-shadow:var(--shadow-sm);

}

.navbar-wrapper{

    min-height:90px;

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:40px;

    transition:all .35s ease;

}

.navbar.scrolled .navbar-wrapper{

    min-height:76px;

}

/*==========================================================
LOGO
==========================================================*/

.logo{

    display:flex;

    align-items:center;

    flex-shrink:0;

}

.logo img{

    height:44px;

    width:auto;

    transition:var(--transition);

}

.navbar.scrolled .logo img{

    height:40px;

}

/*==========================================================
NAV MENU
==========================================================*/

.nav-menu{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:34px;

    flex:1;

}

.nav-link{

    position:relative;

    font-size:15px;

    font-weight:500;

    color:var(--white);

    transition:var(--transition);

}

.nav-link:hover{

    color:var(--primary);

}

.nav-link::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-8px;

    width:0;

    height:2px;

    background:var(--primary);

    transition:var(--transition);

}

.nav-link:hover::after{

    width:100%;

}

.nav-link.active{

    color:var(--primary);

}

.nav-link.active::after{

    width:100%;

}

/*==========================================================
NAVBAR RIGHT
==========================================================*/

.navbar-right{

    display:flex;

    align-items:center;

    gap:18px;

}

.mobile-toggle{

    width:50px;

    height:50px;

    display:none;

    align-items:center;

    justify-content:center;

    border-radius:var(--radius-md);

    border:1px solid var(--border);

    color:var(--white);

    font-size:20px;

    transition:var(--transition);

}

.mobile-toggle:hover{

    background:var(--primary);

    border-color:var(--primary);

}

/*==========================================================
HERO OFFSET
==========================================================*/

.hero{

    padding-top:170px;

    position:relative;

    overflow:hidden;

}

.hero::before{

    content:"";

    position:absolute;

    top:-300px;

    right:-250px;

    width:700px;

    height:700px;

    border-radius:50%;

    background:radial-gradient(

        rgba(37,99,235,.18),

        transparent 70%

    );

    pointer-events:none;

}

.hero-wrapper{

    display:grid;

    grid-template-columns:1fr 1fr;

    align-items:center;

    gap:80px;

}

.hero-content{

    max-width:620px;

}

.hero-content h1{

    margin:28px 0;

}

.hero-content h1 span{

    display:block;

    color:var(--primary);

}

.hero-content p{

    margin-bottom:40px;

}

.hero-badge{

    display:inline-flex;

    align-items:center;

    gap:10px;

    padding:10px 18px;

    border-radius:999px;

    background:rgba(37,99,235,.08);

    border:1px solid rgba(37,99,235,.25);

    color:var(--primary);

    font-size:14px;

    font-weight:600;

}

.hero-buttons{

    display:flex;

    gap:18px;

    margin-bottom:50px;

    flex-wrap:wrap;

}

.hero-trusted{

    display:flex;

    align-items:center;

    gap:18px;

    margin-bottom:40px;

}

.trusted-rating{

    display:flex;

    gap:4px;

    color:#FBBF24;

}

.hero-stats{

    display:flex;

    gap:24px;

    flex-wrap:wrap;

}

.stat-card{

    background:var(--card);

    border:1px solid var(--border);

    border-radius:20px;

    padding:22px 28px;

    min-width:150px;

}

.stat-card h3{

    margin-bottom:8px;

    color:var(--white);

}

.stat-card span{

    color:var(--text);

    font-size:15px;

}

/*==========================================================
12. HERO IMAGE
==========================================================*/

.hero-image{

    position:relative;

    display:flex;

    justify-content:center;

    align-items:center;

}

.dashboard-preview{

    position:relative;

    z-index:5;

    width:100%;

    max-width:650px;

}

.dashboard-preview img{

    width:100%;

    border-radius:24px;

    border:1px solid var(--border);

    box-shadow:var(--shadow-lg);

}

/*==========================================================
HERO GLOW
==========================================================*/

.hero-glow{

    position:absolute;

    width:550px;

    height:550px;

    background:radial-gradient(circle,
        rgba(37,99,235,.30) 0%,
        rgba(37,99,235,.12) 45%,
        transparent 75%);

    filter:blur(60px);

    z-index:1;

}

/*==========================================================
FLOATING CARD
==========================================================*/

.floating-card{

    position:absolute;

    display:flex;

    align-items:center;

    gap:15px;

    padding:18px 22px;

    background:rgba(17,24,39,.92);

    backdrop-filter:blur(18px);

    border:1px solid var(--border);

    border-radius:20px;

    box-shadow:var(--shadow-md);

    z-index:20;

    transition:var(--transition);

}

.floating-card:hover{

    transform:translateY(-6px);

}

.floating-card i{

    width:52px;

    height:52px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:16px;

    background:rgba(37,99,235,.15);

    color:var(--primary);

    font-size:22px;

}

.floating-card strong{

    display:block;

    margin-bottom:6px;

    font-size:16px;

}

.floating-card span{

    font-size:14px;

    color:var(--text);

}

.customer-card{

    top:8%;

    left:-40px;

}

.payment-card{

    right:-40px;

    top:35%;

}

.online-card{

    left:30px;

    bottom:0;

}

/*==========================================================
13. TRUSTED
==========================================================*/

.trusted{

    padding-top:40px;

}

.trusted-logos{

    display:grid;

    grid-template-columns:repeat(6,1fr);

    gap:30px;

    align-items:center;

}

.trusted-logos img{

    width:100%;

    max-width:120px;

    margin:auto;

    opacity:.55;

    transition:var(--transition);

    filter:grayscale(100%);

}

.trusted-logos img:hover{

    opacity:1;

    filter:none;

}

/*==========================================================
14. WHY
==========================================================*/

.why-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

}

.why .card{

    text-align:center;

}

.why .card i{

    width:72px;

    height:72px;

    display:flex;

    align-items:center;

    justify-content:center;

    margin:0 auto 25px;

    border-radius:20px;

    background:rgba(37,99,235,.10);

    color:var(--primary);

    font-size:30px;

}

/*==========================================================
15. FEATURES
==========================================================*/

.features-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

}

.feature-card img{

    width:70px;

    margin-bottom:30px;

}

.feature-card h3{

    margin-bottom:18px;

}

.feature-card p{

    margin-bottom:0;

}

.feature-card:hover img{

    transform:scale(1.08);

    transition:var(--transition);

}

.feature-card:hover{

    border-color:rgba(37,99,235,.30);

}

/*==========================================================
16. DASHBOARD
==========================================================*/

.dashboard{

    position:relative;

}

.dashboard-wrapper{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:80px;

    align-items:center;

}

.dashboard-content{

    max-width:560px;

}

.dashboard-content h2{

    margin:25px 0;

}

.dashboard-content p{

    margin-bottom:35px;

}

.dashboard-list{

    display:flex;

    flex-direction:column;

    gap:18px;

    margin-bottom:40px;

}

.dashboard-list li{

    display:flex;

    align-items:center;

    gap:15px;

    color:var(--white);

    font-size:17px;

}

.dashboard-list i{

    width:36px;

    height:36px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:rgba(37,99,235,.12);

    color:var(--primary);

}

.dashboard-image{

    display:flex;

    justify-content:center;

}

.dashboard-image img{

    width:100%;

    max-width:700px;

    border-radius:24px;

    border:1px solid var(--border);

    box-shadow:var(--shadow-lg);

}

/*==========================================================
17. INTEGRATIONS
==========================================================*/

.integrations-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

}

.integrations .card{

    text-align:center;

    padding:40px 30px;

}

.integrations .card img{

    width:70px;

    margin:0 auto 25px;

}

.integrations .card h3{

    margin:0;

}

/*==========================================================
18. HOW IT WORKS
==========================================================*/

.steps{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

}

.step{

    position:relative;

    padding:40px;

    background:var(--card);

    border:1px solid var(--border);

    border-radius:24px;

    transition:var(--transition);

}

.step:hover{

    transform:translateY(-8px);

    box-shadow:var(--shadow-lg);

}

.step span{

    display:inline-flex;

    width:60px;

    height:60px;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:var(--primary);

    color:#fff;

    font-size:20px;

    font-weight:700;

    margin-bottom:25px;

}

.step h3{

    margin-bottom:18px;

}

/*==========================================================
19. STATISTICS
==========================================================*/

.statistics{

    position:relative;

}

.statistics-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:25px;

}

.statistic-card{

    text-align:center;

}

.statistic-card h2{

    font-size:54px;

    color:var(--primary);

    margin-bottom:15px;

}

.statistic-card p{

    margin:0;

}

/*==========================================================
SECTION BACKGROUND
==========================================================*/

.dashboard::before,

.statistics::before{

    content:"";

    position:absolute;

    width:500px;

    height:500px;

    border-radius:50%;

    background:radial-gradient(

        rgba(37,99,235,.08),

        transparent 70%

    );

    pointer-events:none;

}

.dashboard::before{

    right:-200px;

    top:-100px;

}

.statistics::before{

    left:-250px;

    bottom:-200px;

}

/*==========================================================
HOVER EFFECT
==========================================================*/

.integrations .card:hover img{

    transform:scale(1.08);

    transition:var(--transition);

}

.dashboard-image img:hover{

    transform:translateY(-8px);

    transition:var(--transition);

}

.step:hover span{

    transform:rotate(360deg);

    transition:var(--transition);

}

/*==========================================================
20. PRICING
==========================================================*/

.pricing{

    position:relative;

}

.pricing-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

    align-items:stretch;

}

.pricing-card{

    position:relative;

    overflow:hidden;

    background:var(--card);

    border:1px solid var(--border);

    border-radius:24px;

    padding:40px;

    display:flex;

    flex-direction:column;

    transition:var(--transition);

    min-height:640px;

    justify-content:flex-start;

}

.pricing-card .btn-primary,

.pricing-card .btn-outline{

    margin-top:auto;

    width:100%;

    justify-content:center;

}

.pricing-card:hover{

    transform:translateY(-8px);

    border-color:var(--primary);

}

.featured{

    border:2px solid var(--primary);

    box-shadow:0 20px 60px rgba(37,99,235,.18);

}

.pricing-plan{

    display:inline-block;

    margin-bottom:20px;

    font-size:14px;

    font-weight:600;

    color:var(--primary);

    text-transform:uppercase;

    letter-spacing:1px;

}

.pricing-card h3{

    font-size:56px;

    font-weight:700;

}

.pricing-card small{

    display:block;

    margin-bottom:30px;

}

.pricing-card ul{

    display:flex;

    flex-direction:column;

    gap:18px;

    margin-bottom:40px;

}

.pricing-card li{

    display:flex;

    align-items:center;

    gap:15px;

    color:var(--text);

}

.pricing-card li i{

    color:var(--success);

}

/*==========================================================
POPULAR PLAN
==========================================================*/

.popular{

    border:2px solid var(--primary);

    transform:scale(1.03);

}

.popular:hover{

    transform:translateY(-8px) scale(1.03);

}

.popular-badge{

    position:absolute;

    top:20px;

    right:20px;

    padding:8px 14px;

    background:var(--primary);

    color:#fff;

    font-size:12px;

    font-weight:700;

    border-radius:999px;

    letter-spacing:.5px;

}

/*==========================================================
21. TESTIMONIALS
==========================================================*/

.testimonial-slider{

    position:relative;

    overflow:hidden;

    max-width:900px;

    margin:60px auto 0;

}

.testimonial-item{

    display:none;

    background:var(--card-bg);

    border:1px solid var(--border-color);

    border-radius:20px;

    padding:45px;

    text-align:center;

    transition:.4s;

}

.testimonial-item.active{

    display:block;

}

.testimonial-rating{

    display:flex;

    justify-content:center;

    gap:6px;

    color:#fbbf24;

    margin-bottom:20px;

    font-size:20px;

}

.testimonial-item p{

    font-size:18px;

    line-height:1.8;

    color:var(--text-secondary);

    margin-bottom:30px;

    font-style:italic;

}

.testimonial-user{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:15px;

}

.testimonial-user img{

    width:70px;

    height:70px;

    border-radius:50%;

    object-fit:cover;

}

.testimonial-user h4{

    margin:0;

    color:var(--white);

}

.testimonial-user span{

    font-size:14px;

    color:var(--text-muted);

}

.testimonial-navigation{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:20px;

    margin-top:40px;

}

.slider-prev,

.slider-next{

    width:45px;

    height:45px;

    border:none;

    border-radius:50%;

    background:var(--primary);

    color:#fff;

    cursor:pointer;

    transition:.3s;

}

.slider-prev:hover,

.slider-next:hover{

    transform:translateY(-3px);

}

.slider-dots{

    display:flex;

    gap:10px;

}

.slider-dot{

    width:12px;

    height:12px;

    border-radius:50%;

    border:none;

    background:#555;

    cursor:pointer;

    transition:.3s;

}

.slider-dot.active{

    background:var(--primary);

}

/*==========================================================
22. FAQ
==========================================================*/

.faq-list{

    max-width:900px;

    margin:auto;

    display:flex;

    flex-direction:column;

    gap:20px;

}

.faq-item{

    background:var(--card);

    border:1px solid var(--border);

    border-radius:20px;

    padding:30px;

    transition:var(--transition);

}

.faq-item:hover{

    border-color:rgba(37,99,235,.30);

}

.faq-question{

    width:100%;

    display:flex;

    justify-content:space-between;

    align-items:center;

    background:none;

    border:none;

    color:inherit;

    cursor:pointer;

    text-align:left;

    font:inherit;

    padding:0;

}

.faq-question span{

    font-size:20px;

    font-weight:600;

    color:var(--white);

}

.faq-answer{

    max-height:0;

    overflow:hidden;

    transition:max-height .35s ease;

}

.faq-item.active .faq-answer{

    max-height:300px;

}

.faq-icon{

    transition:.3s;

}

.faq-item.active .faq-icon{

    transform:rotate(45deg);

}

/*==========================================================
23. CTA
==========================================================*/

.cta-box{

    padding:80px;

    text-align:center;

    background:linear-gradient(

        135deg,

        var(--primary),

        var(--secondary)

    );

    border-radius:30px;

    overflow:hidden;

    position:relative;

}

.cta-box h2{

    color:#fff;

    margin-bottom:20px;

}

.cta-box p{

    max-width:700px;

    margin:0 auto 40px;

    color:rgba(255,255,255,.85);

}

.cta-box .btn-primary{

    background:#fff;

    color:var(--primary);

}

.cta-box .btn-primary:hover{

    background:#F8FAFC;

}

/*==========================================================
24. FOOTER
==========================================================*/

.footer{

    padding:80px 0 30px;

    border-top:1px solid var(--border);

}

.footer-grid{

    display:grid;

    grid-template-columns:2fr 1fr 1fr 1fr 1fr;

    gap:50px;

}

.footer-grid img{

    height:48px;

    margin-bottom:25px;

}

.footer-grid h4{

    margin-bottom:20px;

}

.footer-grid ul{

    display:flex;

    flex-direction:column;

    gap:15px;

}

.footer-grid ul a{

    color:var(--text);

    transition:var(--transition);

}

.footer-grid ul a:hover{

    color:var(--primary);

}

.footer-column{

    display:flex;

    flex-direction:column;

}

.footer-column p{

    margin:20px 0 30px;

    color:var(--text);

    line-height:1.8;

}

.footer-download{

    margin-top:20px;

}

.download-buttons{

    max-width:300px;

    display:flex;

    flex-direction:column;

    gap:15px;

}

.store-button{

    display:flex;

    align-items:center;

    gap:15px;

    padding:14px 18px;

    background:var(--card);

    border:1px solid var(--border);

    border-radius:14px;

    transition:var(--transition);

}

.store-button:hover{

    border-color:var(--primary);

    transform:translateY(-3px);

}

.store-button i{

    font-size:28px;

    color:var(--primary);

}

.store-button small{

    display:block;

    font-size:11px;

}

.store-button strong{

    display:block;

    font-size:15px;

}

.footer-contact{

    display:flex;

    flex-direction:column;

    gap:18px;

}

.footer-contact li{

    display:flex;

    align-items:center;

    gap:12px;

}

.footer-divider{

    height:1px;

    background:var(--border);

    margin:40px 0;

}

.footer-bottom{

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:30px;

    flex-wrap:wrap;

}

.system-status{

    display:flex;

    align-items:center;

    gap:10px;

    color:var(--text);

}

.status-dot{

    width:10px;

    height:10px;

    border-radius:50%;

    background:#22c55e;

}

.footer-social{

    display:flex;

    gap:15px;

}

.footer-social a{

    width:42px;

    height:42px;

    display:flex;

    align-items:center;

    justify-content:center;

    border:1px solid var(--border);

    border-radius:50%;

    transition:var(--transition);

}

.footer-social a:hover{

    background:var(--primary);

    color:#fff;

}

/*==========================================================
SOCIAL
==========================================================*/

.social-links{

    display:flex;

    gap:15px;

}

.social-links a{

    width:46px;

    height:46px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:14px;

    background:var(--card);

    border:1px solid var(--border);

    transition:var(--transition);

}

.social-links a:hover{

    background:var(--primary);

    border-color:var(--primary);

}

/*==========================================================
FOOTER BOTTOM
==========================================================*/

.footer-bottom{

    padding-top:20px;

    border-top:1px solid var(--border);

    text-align:center;

}

.footer-bottom p{

    margin:0;

    font-size:15px;

}

/*==========================================================
25. SPACING UTILITIES
==========================================================*/

.mt-10{margin-top:10px;}
.mt-20{margin-top:20px;}
.mt-30{margin-top:30px;}
.mt-40{margin-top:40px;}
.mt-50{margin-top:50px;}
.mt-60{margin-top:60px;}
.mt-80{margin-top:80px;}

.mb-10{margin-bottom:10px;}
.mb-20{margin-bottom:20px;}
.mb-30{margin-bottom:30px;}
.mb-40{margin-bottom:40px;}
.mb-50{margin-bottom:50px;}
.mb-60{margin-bottom:60px;}
.mb-80{margin-bottom:80px;}

.pt-60{padding-top:60px;}
.pt-80{padding-top:80px;}
.pb-60{padding-bottom:60px;}
.pb-80{padding-bottom:80px;}


/*==========================================================
26. FLEX UTILITIES
==========================================================*/

.d-flex{

    display:flex;

}

.flex-column{

    flex-direction:column;

}

.align-center{

    align-items:center;

}

.align-start{

    align-items:flex-start;

}

.justify-center{

    justify-content:center;

}

.justify-between{

    justify-content:space-between;

}

.justify-around{

    justify-content:space-around;

}

.flex-wrap{

    flex-wrap:wrap;

}

.gap-10{

    gap:10px;

}

.gap-20{

    gap:20px;

}

.gap-30{

    gap:30px;

}

.gap-40{

    gap:40px;

}

/*==========================================================
27. TEXT UTILITIES
==========================================================*/

.text-center{

    text-align:center;

}

.text-left{

    text-align:left;

}

.text-right{

    text-align:right;

}

.text-primary{

    color:var(--primary);

}

.text-white{

    color:var(--white);

}

.text-muted{

    color:var(--text);

}

.fw-400{

    font-weight:400;

}

.fw-500{

    font-weight:500;

}

.fw-600{

    font-weight:600;

}

.fw-700{

    font-weight:700;

}

.fw-800{

    font-weight:800;

}

/*==========================================================
28. WIDTH UTILITIES
==========================================================*/

.w-100{

    width:100%;

}

.w-75{

    width:75%;

}

.w-50{

    width:50%;

}

.mx-auto{

    margin-left:auto;

    margin-right:auto;

}

/*==========================================================
29. GLASS EFFECT
==========================================================*/

.glass{

    background:rgba(255,255,255,.05);

    backdrop-filter:blur(20px);

    -webkit-backdrop-filter:blur(20px);

    border:1px solid rgba(255,255,255,.08);

}

/*==========================================================
30. GRADIENT TEXT
==========================================================*/

.gradient-text{

    background:linear-gradient(

        90deg,

        #2563EB,

        #7C3AED

    );

    -webkit-background-clip:text;

    -webkit-text-fill-color:transparent;

    background-clip:text;

}

/*==========================================================
31. DIVIDER
==========================================================*/

.divider{

    width:100%;

    height:1px;

    background:var(--border);

}

/*==========================================================
32. SCROLLBAR
==========================================================*/

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-track{

    background:#08111F;

}

::-webkit-scrollbar-thumb{

    background:#1E3A8A;

    border-radius:20px;

}

::-webkit-scrollbar-thumb:hover{

    background:#2563EB;

}

/*==========================================================
33. SELECTION
==========================================================*/

::selection{

    background:#2563EB;

    color:#fff;

}

/*==========================================================
34. IMAGE
==========================================================*/

.img-cover{

    width:100%;

    height:100%;

    object-fit:cover;

}

.img-contain{

    object-fit:contain;

}

/*==========================================================
35. PAGE HERO
==========================================================*/

.page-hero{

    padding:180px 0 100px;

    position:relative;

    overflow:hidden;

    text-align:center;

}

.page-hero::before{

    content:"";

    position:absolute;

    width:700px;

    height:700px;

    top:-250px;

    left:50%;

    transform:translateX(-50%);

    border-radius:50%;

    background:radial-gradient(

        rgba(37,99,235,.18),

        transparent 70%

    );

    pointer-events:none;

}

.page-hero .container{

    position:relative;

    z-index:2;

}

.page-hero h1{

    margin:25px 0;

}

.page-hero p{

    max-width:760px;

    margin:auto;

}

/*==========================================================
36. BREADCRUMB
==========================================================*/

.breadcrumb{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:10px;

    margin-top:30px;

    font-size:15px;

    color:var(--text);

}

.breadcrumb a{

    transition:var(--transition);

}

.breadcrumb a:hover{

    color:var(--primary);

}

.breadcrumb i{

    font-size:12px;

}

/*==========================================================
37. CONTENT LAYOUT
==========================================================*/

.content-wrapper{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:80px;

    align-items:center;

}

.content-image img{

    width:100%;

    border-radius:24px;

    border:1px solid var(--border);

}

.content-text h2{

    margin-bottom:25px;

}

.content-text p{

    margin-bottom:25px;

}

/*==========================================================
38. CONTENT LIST
==========================================================*/

.content-list{

    display:flex;

    flex-direction:column;

    gap:18px;

}

.content-list li{

    display:flex;

    align-items:flex-start;

    gap:15px;

}

.content-list i{

    color:var(--primary);

    margin-top:4px;

}

/*==========================================================
39. BADGE
==========================================================*/

.badge{

    display:inline-flex;

    align-items:center;

    gap:8px;

    padding:8px 16px;

    border-radius:999px;

    font-size:13px;

    font-weight:600;

}

.badge-primary{

    background:rgba(37,99,235,.12);

    color:var(--primary);

}

.badge-success{

    background:rgba(34,197,94,.12);

    color:var(--success);

}

.badge-warning{

    background:rgba(245,158,11,.12);

    color:var(--warning);

}

.badge-danger{

    background:rgba(239,68,68,.12);

    color:var(--danger);

}

/*==========================================================
40. ALERT
==========================================================*/

.alert{

    padding:22px 25px;

    border-radius:18px;

    margin-bottom:25px;

    border-left:5px solid;

}

.alert-success{

    background:rgba(34,197,94,.10);

    border-color:var(--success);

}

.alert-warning{

    background:rgba(245,158,11,.10);

    border-color:var(--warning);

}

.alert-danger{

    background:rgba(239,68,68,.10);

    border-color:var(--danger);

}

/*==========================================================
41. TABLE
==========================================================*/

.table{

    width:100%;

    border-collapse:collapse;

    overflow:hidden;

    border-radius:20px;

}

.table thead{

    background:var(--surface);

}

.table th{

    text-align:left;

    padding:20px;

    font-weight:600;

}

.table td{

    padding:20px;

    border-top:1px solid var(--border);

}

.table tbody tr{

    transition:var(--transition);

}

.table tbody tr:hover{

    background:rgba(255,255,255,.03);

}

/*==========================================================
42. PAGINATION
==========================================================*/

.pagination{

    display:flex;

    justify-content:center;

    gap:10px;

    margin-top:50px;

}

.pagination a{

    width:46px;

    height:46px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:14px;

    border:1px solid var(--border);

    transition:var(--transition);

}

.pagination a:hover,

.pagination a.active{

    background:var(--primary);

    border-color:var(--primary);

}

/*==========================================================
43. EMPTY STATE
==========================================================*/

.empty-state{

    text-align:center;

    padding:80px 30px;

}

.empty-state img{

    width:140px;

    margin:0 auto 30px;

}

.empty-state h3{

    margin-bottom:20px;

}

/*==========================================================
44. GLOBAL HOVER EFFECT
==========================================================*/

.hover-up{

    transition:var(--transition);

}

.hover-up:hover{

    transform:translateY(-8px);

}

.hover-scale{

    transition:var(--transition);

}

.hover-scale:hover{

    transform:scale(1.05);

}

.hover-shadow:hover{

    box-shadow:var(--shadow-lg);

}

/*==========================================================
45. GLASS CARD
==========================================================*/

.glass-card{

    background:rgba(255,255,255,.04);

    backdrop-filter:blur(20px);

    -webkit-backdrop-filter:blur(20px);

    border:1px solid rgba(255,255,255,.08);

    border-radius:24px;

    padding:45px;

    transition:var(--transition);

}

.glass-card:hover{

    border-color:rgba(37,99,235,.25);

}

/*==========================================================
46. GRADIENT BORDER
==========================================================*/

.gradient-border{

    position:relative;

    border-radius:24px;

    overflow:hidden;

}

.gradient-border::before{

    content:"";

    position:absolute;

    inset:0;

    padding:1px;

    border-radius:inherit;

    background:linear-gradient(

        135deg,

        rgba(37,99,235,.8),

        rgba(124,58,237,.8)

    );

    -webkit-mask:

        linear-gradient(#fff 0 0) content-box,

        linear-gradient(#fff 0 0);

    -webkit-mask-composite:xor;

        mask-composite:exclude;

        pointer-events:none;

    }

/*==========================================================
47. GLOW EFFECT
==========================================================*/

.glow-blue{

    box-shadow:

        0 0 40px rgba(37,99,235,.35);

}

.glow-purple{

    box-shadow:

        0 0 40px rgba(124,58,237,.35);

}

/*==========================================================
48. DECORATION
==========================================================*/

.shape-circle{

    position:absolute;

    border-radius:50%;

    filter:blur(80px);

    pointer-events:none;

}

.shape-blue{

    background:rgba(37,99,235,.18);

}

.shape-purple{

    background:rgba(124,58,237,.18);

}

/*==========================================================
49. OVERLAY
==========================================================*/

.overlay{

    position:absolute;

    inset:0;

    background:rgba(0,0,0,.45);

}

.overlay-gradient{

    position:absolute;

    inset:0;

    background:linear-gradient(

        rgba(7,11,20,.15),

        rgba(7,11,20,.95)

    );

}

/*==========================================================
50. ACCESSIBILITY
==========================================================*/

a:focus-visible,

button:focus-visible,

input:focus-visible,

textarea:focus-visible{

    outline:2px solid var(--primary);

    outline-offset:4px;

}

/*==========================================================
51. SKELETON
==========================================================*/

.skeleton{

    position:relative;

    overflow:hidden;

    background:#182233;

}

.skeleton::after{

    content:"";

    position:absolute;

    inset:0;

    transform:translateX(-100%);

    background:linear-gradient(

        90deg,

        transparent,

        rgba(255,255,255,.08),

        transparent

    );

    animation:skeleton 1.5s infinite;

}

@keyframes skeleton{

    to{

        transform:translateX(100%);

    }

}

/*==========================================================
52. DIVIDER
==========================================================*/

.hr{

    width:100%;

    height:1px;

    background:var(--border);

    margin:60px 0;

}

/*==========================================================
53. IMAGE EFFECT
==========================================================*/

.image-hover{

    overflow:hidden;

    border-radius:24px;

}

.image-hover img{

    transition:.6s;

}

.image-hover:hover img{

    transform:scale(1.08);

}

/*==========================================================
54. GLOBAL TRANSITION
==========================================================*/

.transition{

    transition:var(--transition);

}


/*==========================================================
55. ABOUT PAGE
==========================================================*/

.about-section{

    position:relative;

}

.about-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:80px;

    align-items:center;

}

.about-image img{

    width:100%;

    border-radius:24px;

    border:1px solid var(--border);

    box-shadow:var(--shadow-lg);

}

.about-content h2{

    margin-bottom:25px;

}

.about-content p{

    margin-bottom:25px;

}

/*==========================================================
56. VISION
==========================================================*/

.vision-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:30px;

}

.vision-card{

    background:var(--card);

    border:1px solid var(--border);

    border-radius:24px;

    padding:45px;

    transition:var(--transition);

}

.vision-card:hover{

    transform:translateY(-8px);

}

/*==========================================================
57. DOCUMENTATION
==========================================================*/

.documentation-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

}

.doc-card{

    background:var(--card);

    border:1px solid var(--border);

    border-radius:20px;

    padding:35px;

    transition:var(--transition);

}

.doc-card:hover{

    border-color:rgba(37,99,235,.25);

    transform:translateY(-8px);

}

.doc-card i{

    font-size:40px;

    color:var(--primary);

    margin-bottom:25px;

}

/*==========================================================
58. CONTACT
==========================================================*/

.contact-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:50px;

}

.contact-info{

    display:flex;

    flex-direction:column;

    gap:25px;

}

.contact-item{

    display:flex;

    gap:20px;

}

.contact-item i{

    width:56px;

    height:56px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:rgba(37,99,235,.10);

    color:var(--primary);

    border-radius:16px;

    font-size:22px;

}

/*==========================================================
59. CONTACT FORM
==========================================================*/

.contact-form{

    background:var(--card);

    border:1px solid var(--border);

    border-radius:24px;

    padding:45px;

}

.contact-form .form-group{

    margin-bottom:25px;

}

.contact-form label{

    display:block;

    margin-bottom:10px;

    font-weight:600;

}

.contact-form textarea{

    min-height:180px;

}

/*==========================================================
60. MAP
==========================================================*/

.map{

    border-radius:24px;

    overflow:hidden;

    border:1px solid var(--border);

}

.map iframe{

    width:100%;

    height:450px;

    border:0;

}

/*==========================================================
61. PRICING PAGE
==========================================================*/

.pricing-page{

    position:relative;

}

.pricing-page .pricing-grid{

    margin-top:60px;

}

/*==========================================================
62. CALLOUT
==========================================================*/

.callout{

    padding:30px;

    border-left:4px solid var(--primary);

    background:rgba(37,99,235,.08);

    border-radius:18px;

}

/*==========================================================
63. ICON BOX
==========================================================*/

.icon-box{

    width:70px;

    height:70px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:20px;

    background:rgba(37,99,235,.12);

    color:var(--primary);

    font-size:28px;

    margin-bottom:25px;

}

/*==========================================================
64. PAGE LOADER
==========================================================*/

#loader{

    position:fixed;

    inset:0;

    background:var(--background);

    display:flex;

    justify-content:center;

    align-items:center;

    z-index:99999;

    transition:.5s;

}

#loader.hidden{

    opacity:0;

    visibility:hidden;

}

.loader-content{

    text-align:center;

}

.loader-logo{

    font-size:34px;

    font-weight:800;

    color:var(--primary);

    margin-bottom:30px;

}

.loader-spinner{

    display:flex;

    justify-content:center;

    gap:12px;

}

.loader-spinner span{

    width:14px;

    height:14px;

    border-radius:50%;

    background:var(--primary);

    animation:loaderBounce 1.2s infinite;

}

.loader-spinner span:nth-child(2){

    animation-delay:.2s;

}

.loader-spinner span:nth-child(3){

    animation-delay:.4s;

}

/*==========================================================
65. SCROLL PROGRESS
==========================================================*/

#scroll-progress{

    position:fixed;

    top:0;

    left:0;

    width:0;

    height:4px;

    background:linear-gradient(

        90deg,

        var(--primary),

        var(--secondary)

    );

    z-index:9999;

}

/*==========================================================
66. BACK TO TOP
==========================================================*/

#backToTop{

    position:fixed;

    right:30px;

    bottom:30px;

    width:56px;

    height:56px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:18px;

    background:var(--primary);

    color:#fff;

    opacity:0;

    visibility:hidden;

    transform:translateY(20px);

    transition:var(--transition);

    z-index:999;

}

#backToTop.show{

    opacity:1;

    visibility:visible;

    transform:translateY(0);

}

#backToTop:hover{

    background:var(--primary-dark);

}

/*==========================================================
67. ERROR PAGE
==========================================================*/

.error-page{

    min-height:100vh;

    display:flex;

    align-items:center;

    justify-content:center;

    text-align:center;

}

.error-page h1{

    font-size:180px;

    color:var(--primary);

    margin-bottom:10px;

}

.error-page p{

    max-width:650px;

    margin:0 auto 40px;

}

/*==========================================================
68. KEYFRAMES
==========================================================*/

@keyframes loaderBounce{

    0%,100%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-12px);

    }

}

@keyframes float{

    0%,100%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-15px);

    }

}

@keyframes rotate{

    from{

        transform:rotate(0deg);

    }

    to{

        transform:rotate(360deg);

    }

}

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(40px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

@keyframes pulse{

    0%{

        transform:scale(1);

    }

    50%{

        transform:scale(1.05);

    }

    100%{

        transform:scale(1);

    }

}

/*==========================================================
69. ANIMATION CLASS
==========================================================*/

.float{

    animation:float 4s ease-in-out infinite;

}

.rotate{

    animation:rotate 20s linear infinite;

}

.fade-up{

    animation:fadeUp .8s ease forwards;

}

.pulse{

    animation:pulse 2.5s infinite;

}

/*==========================================================
70. ACCESSIBILITY
==========================================================*/

@media (prefers-reduced-motion:reduce){

    *{

        animation:none !important;

        transition:none !important;

        scroll-behavior:auto !important;

    }

}

/*==========================================================
71. PRINT
==========================================================*/

@media print{

    body{

        background:#fff;

        color:#000;

    }

    .navbar,

    .footer,

    #loader,

    #backToTop{

        display:none;

    }

}

/*==========================================================
72. FINAL
==========================================================*/

.hidden{

    display:none !important;

}

.visible{

    display:block !important;

}

.opacity-0{

    opacity:0;

}

.opacity-100{

    opacity:1;

}

.pointer-none{

    pointer-events:none;

}

.pointer-auto{

    pointer-events:auto;

}

/*==========================================================
TOAST
==========================================================*/

.toast{

    position:fixed;

    right:30px;

    bottom:30px;

    background:#1e293b;

    color:#fff;

    border-radius:14px;

    padding:18px 24px;

    box-shadow:0 18px 45px rgba(0,0,0,.18);

    transform:translateY(120px);

    opacity:0;

    visibility:hidden;

    transition:.35s;

    z-index:9999;

}

.toast.show{

    transform:translateY(0);

    opacity:1;

    visibility:visible;

}

.toast-content{

    display:flex;

    align-items:center;

    gap:12px;

}

.toast i{

    font-size:22px;

}

.toast.success i{

    color:#22c55e;

}

.toast.error i{

    color:#ef4444;

}

.toast span{

    font-size:15px;

    font-weight:500;

    line-height:1.5;

}

@media(max-width:768px){

    .toast{

        left:20px;

        right:20px;

        bottom:20px;

        min-width:auto;

        max-width:none;

    }

}