html{
    scroll-behavior:smooth;
    scroll-padding-top:90px;
}*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{

    font-family:'Poppins',sans-serif;

    background:#090909;

    color:white;

}

.container{

    width:min(1400px,90%);
    margin:auto;

}

header{

    position:fixed;

    width:100%;

    top:0;

    left:0;

    background:rgba(9,9,9,.90);

    backdrop-filter:blur(10px);

    border-bottom:1px solid #202020;

    z-index:999;

}

header .container{

    height:90px;

    display:flex;

    justify-content:space-between;

    align-items:center;

}

.logo img{

    height:72px;

    transition:.3s;

}

.logo img:hover{

    transform:scale(1.05);

}
nav{

    display:flex;

    gap:40px;

}

nav a{

    color:white;

    text-decoration:none;

    font-weight:600;

    transition:.3s;

}

nav a:hover{

    color:#9b63ff;

}

.hero{

    min-height:100vh;

    display:flex;

    align-items:center;

    position:relative;

    overflow:hidden;

}

.hero-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:70px;

    align-items:center;

    padding-top:90px;

}

.hero-left span{

    color:#9b63ff;

    font-weight:600;

    letter-spacing:3px;

}

.hero-left h1{

    font-size:72px;

    line-height:1.1;

    margin:20px 0;

}

.hero-left h1 span{

    display:block;

    color:#9b63ff;

}

.hero-left p{

    color:#cfcfcf;

    font-size:20px;

    line-height:1.8;

    max-width:600px;

}

.buttons{

    display:flex;

    gap:20px;

    margin-top:45px;

}

.buttons a{

    text-decoration:none;

    padding:18px 34px;

    border-radius:50px;

    font-weight:700;

}

.primary{

    background:linear-gradient(135deg,#7b2cff,#b35cff);

    color:white;

    transition:.35s;

    box-shadow:0 0 25px rgba(157,76,255,.35);

}.primary:hover{

    transform:translateY(-4px);

    box-shadow:0 15px 40px rgba(157,76,255,.55);

}

.secondary{

    background:#222;

    color:white;

}

.hero-image{

    display:flex;

    justify-content:center;

    align-items:center;

}

.hero-image img{

    width:100%;

    max-width:650px;

    height:auto;

    filter:drop-shadow(0 20px 40px rgba(141,76,255,.35));

    transition:.4s;

}

.hero-image img:hover{

    transform:scale(1.03);

}

@keyframes floatCar {

    0%{
        transform:translateY(0px);
    }

    50%{
        transform:translateY(-12px);
    }

    100%{
        transform:translateY(0px);
    }

}

.hero-right{

    animation:floatCar 5s ease-in-out infinite;

}

.hero::before{

    content:"";

    position:absolute;

    width:700px;

    height:700px;

    right:-250px;

    top:50%;

    transform:translateY(-50%);

    background:radial-gradient(circle,
        rgba(141,76,255,.28),
        transparent 70%);

    filter:blur(40px);

    pointer-events:none;

}

.hero::after{

    content:"";

    position:absolute;

    left:-250px;

    bottom:-250px;

    width:600px;

    height:600px;

    background:radial-gradient(circle,
        rgba(141,76,255,.18),
        transparent 70%);

    filter:blur(70px);

    pointer-events:none;

}/* ===== Features ===== */

.features{

    padding:120px 0;

}

.features h2{

    text-align:center;

    font-size:46px;

    margin-bottom:60px;

}

.feature-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:30px;

}

.card{

    background:#141414;

    border:1px solid #222;

    border-radius:20px;

    padding:35px;

    transition:.35s;

}

.card:hover{

    transform:translateY(-10px);

    border-color:#8d4cff;

    box-shadow:0 15px 40px rgba(141,76,255,.18);

}

.icon{

    font-size:42px;

    margin-bottom:20px;

}

.card h3{

    margin-bottom:15px;

    font-size:24px;

}

.card p{

    color:#bcbcbc;

    line-height:1.7;

}

.process{
    padding:120px 0;
    background:#0c0c0c;
}

.section-title{
    text-align:center;
    margin-bottom:80px;
}

.section-title span{
    color:#9b63ff;
    font-weight:600;
    letter-spacing:3px;
}

.section-title h2{
    font-size:48px;
    margin-top:10px;
}

.process-line{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:30px;
    position:relative;
}

.process-line::before{
    content:"";
    position:absolute;
    top:50px;
    left:10%;
    width:80%;
    height:2px;
    background:linear-gradient(
        90deg,
        transparent,
        #8d4cff,
        #b884ff,
        #8d4cff,
        transparent
    );
}

.process-card{
    position:relative;
    text-align:center;
    padding:20px;
    z-index:2;
}

.process-number{
    width:100px;
    height:100px;
    margin:0 auto 30px;

    display:flex;
    justify-content:center;
    align-items:center;

    border-radius:50%;

    background:#141414;
    border:2px solid #8d4cff;

    font-size:30px;
    font-weight:800;
    color:#b884ff;

    box-shadow:0 0 30px rgba(141,76,255,.25);

    transition:.4s;
}

.process-card:hover .process-number{
    transform:scale(1.12);
    background:#8d4cff;
    color:white;

    box-shadow:0 0 50px rgba(141,76,255,.6);
}

.process-card h3{
    font-size:23px;
    margin-bottom:12px;
}

.process-card p{
    color:#aaa;
    line-height:1.7;
}

.scroll-animation{

    opacity:0;

    transform:translateY(60px);

    transition:
        opacity .8s ease,
        transform .8s ease;

}

.scroll-animation.show{

    opacity:1;

    transform:translateY(0);

}

header{

    transition:
        background .4s ease,
        box-shadow .4s ease;

}

header .container{

    transition:height .4s ease;

}

header.scrolled{

    background:rgba(9,9,9,.97);

    box-shadow:0 10px 40px rgba(0,0,0,.45);

}

header.scrolled .container{

    height:70px;

}

header.scrolled .logo img{

    height:55px;

}

nav a.active{
    color:#9b63ff;
}

/* ===== SERVICES ===== */

.services{
    padding:120px 0;
    background:#090909;
}

.services-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:30px;
}

.service-card{
    position:relative;
    min-height:300px;
    padding:45px;

    background:linear-gradient(
        145deg,
        #151515,
        #0f0f0f
    );

    border:1px solid #242424;
    border-radius:24px;

    overflow:hidden;
    transition:.4s;
}

.service-card::before{
    content:"";
    position:absolute;

    width:250px;
    height:250px;

    right:-120px;
    bottom:-120px;

    background:radial-gradient(
        circle,
        rgba(141,76,255,.35),
        transparent 70%
    );

    transition:.4s;
}

.service-card:hover{
    transform:translateY(-8px);
    border-color:#8d4cff;
}

.service-card:hover::before{
    transform:scale(1.5);
}

.service-number{
    color:#9b63ff;
    font-size:18px;
    font-weight:700;
    letter-spacing:3px;
}

.service-card h3{
    font-size:32px;
    margin:25px 0 15px;
}

.service-card p{
    color:#aaa;
    line-height:1.8;
    max-width:450px;
}

.service-card a{
    display:inline-block;
    margin-top:30px;

    color:white;
    text-decoration:none;
    font-weight:600;

    transition:.3s;
}

.service-card a:hover{
    color:#9b63ff;
    transform:translateX(5px);
}

.stats{
    padding:80px 0;
    background:#0c0c0c;

    border-top:1px solid #1f1f1f;
    border-bottom:1px solid #1f1f1f;
}

.stats-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
}

.stat{
    text-align:center;
    padding:30px;

    border-right:1px solid #242424;
}

.stat:last-child{
    border-right:none;
}

.stat-value{
    font-size:58px;
    font-weight:800;

    color:#9b63ff;

    line-height:1;
}

.stat p{
    margin-top:18px;

    color:#aaa;

    font-size:17px;
}

.cta{
    padding:120px 0;
    background:#090909;
}

.cta-box{
    position:relative;
    overflow:hidden;

    min-height:500px;
    padding:80px;

    display:flex;
    align-items:center;

    background:
        radial-gradient(
            circle at 80% 50%,
            rgba(141,76,255,.35),
            transparent 35%
        ),
        linear-gradient(
            135deg,
            #171717,
            #0d0d0d
        );

    border:1px solid #292929;
    border-radius:30px;
}

.cta-content{
    position:relative;
    z-index:2;
}

.cta-content span{
    color:#9b63ff;
    font-weight:700;
    letter-spacing:3px;
}

.cta-content h2{
    font-size:58px;
    line-height:1.1;
    margin:20px 0;
}

.cta-content h2 strong{
    color:#9b63ff;
}

.cta-content p{
    color:#aaa;
    font-size:18px;
    margin-bottom:35px;
}

.cta-button{
    display:inline-block;

    padding:18px 30px;

    background:linear-gradient(
        135deg,
        #7b2cff,
        #b35cff
    );

    color:white;
    text-decoration:none;
    font-weight:700;

    border-radius:50px;

    box-shadow:0 0 30px rgba(141,76,255,.35);

    transition:.35s;
}

.cta-button:hover{
    transform:translateY(-5px);

    box-shadow:0 15px 45px rgba(141,76,255,.55);
}

.cta-decoration{
    position:absolute;

    right:40px;
    top:50%;

    transform:translateY(-50%);

    font-size:300px;
    font-weight:900;

    color:rgba(255,255,255,.025);

    user-select:none;
}

@keyframes ctaGlow{

    0%,
    100%{
        opacity:.6;
    }

    50%{
        opacity:1;
    }

}

.cta-decoration{
    animation:ctaGlow 4s ease-in-out infinite;
}

.contact{
    padding:140px 0;
    background:#0c0c0c;
}

.contact-grid{
    display:grid;
    grid-template-columns:1fr 1.2fr;
    gap:100px;
    align-items:start;
}

.contact-info span{
    color:#9b63ff;
    font-weight:700;
    letter-spacing:3px;
}

.contact-info h2{
    font-size:58px;
    line-height:1.1;
    margin:20px 0;
}

.contact-info h2 strong{
    color:#9b63ff;
}

.contact-info p{
    color:#aaa;
    font-size:18px;
    line-height:1.8;
}

.contact-form{
    padding:45px;

    background:#141414;

    border:1px solid #292929;
    border-radius:25px;
}

.form-group{
    margin-bottom:25px;
}

.form-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
}

.form-group label{
    display:block;
    margin-bottom:10px;

    color:#ccc;
    font-size:14px;
}

.form-group input,
.form-group select,
.form-group textarea{
    width:100%;
    padding:16px 18px;

    background:#0d0d0d;
    color:white;

    border:1px solid #303030;
    border-radius:12px;

    font:inherit;

    outline:none;

    transition:.3s;
}

.form-group textarea{
    resize:vertical;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{
    border-color:#9b63ff;

    box-shadow:0 0 20px rgba(141,76,255,.15);
}

.contact-form button{
    width:100%;
    padding:18px;

    border:none;
    border-radius:50px;

    background:linear-gradient(
        135deg,
        #7b2cff,
        #b35cff
    );

    color:white;

    font-size:16px;
    font-weight:700;

    cursor:pointer;

    transition:.35s;
}

.contact-form button:hover{
    transform:translateY(-4px);

    box-shadow:0 15px 40px rgba(141,76,255,.45);
}

.form-message{
    margin-top:20px;
    text-align:center;
    min-height:24px;
}

.menu-toggle{
    display:none;

    width:45px;
    height:45px;

    background:none;
    border:none;

    cursor:pointer;

    position:relative;
    z-index:1001;
}

.menu-toggle span{
    display:block;

    width:28px;
    height:2px;

    margin:6px auto;

    background:white;

    transition:.35s;
}

.menu-toggle.active span:nth-child(1){
    transform:translateY(8px) rotate(45deg);
}

.menu-toggle.active span:nth-child(2){
    opacity:0;
}

.menu-toggle.active span:nth-child(3){
    transform:translateY(-8px) rotate(-45deg);
}

.footer{
    padding:90px 0 30px;

    background:#070707;

    border-top:1px solid #202020;
}

.footer-grid{
    display:grid;

    grid-template-columns:1.5fr 1fr 1fr 1fr;

    gap:60px;
}

.footer-brand img{
    height:70px;
    margin-bottom:25px;
}

.footer-brand p{
    max-width:300px;

    color:#888;

    line-height:1.8;
}

.footer-column{
    display:flex;
    flex-direction:column;

    gap:15px;
}

.footer-column h3{
    margin-bottom:10px;

    font-size:18px;
}

.footer-column a{
    color:#888;

    text-decoration:none;

    transition:.3s;
}

.footer-column a:hover{
    color:#9b63ff;

    transform:translateX(5px);
}

.footer-column p{
    color:#888;
}

.footer-bottom{
    margin-top:70px;
    padding-top:30px;

    display:flex;
    justify-content:space-between;

    border-top:1px solid #202020;

    color:#666;

    font-size:14px;
}

.modal{
    position:fixed;
    inset:0;

    display:flex;
    justify-content:center;
    align-items:center;

    padding:30px;

    opacity:0;
    visibility:hidden;

    transition:.35s;

    z-index:2000;
}

.modal.open{
    opacity:1;
    visibility:visible;
}

.modal-overlay{
    position:absolute;
    inset:0;

    background:rgba(0,0,0,.8);

    backdrop-filter:blur(8px);
}

.modal-box{
    position:relative;
    z-index:2;

    width:100%;
    max-width:650px;

    padding:60px;

    background:#141414;

    border:1px solid #333;
    border-radius:25px;

    transform:translateY(40px) scale(.95);

    transition:.4s;
}

.modal.open .modal-box{
    transform:translateY(0) scale(1);
}

.modal-close{
    position:absolute;

    top:20px;
    right:25px;

    background:none;
    border:none;

    color:#888;

    font-size:35px;

    cursor:pointer;

    transition:.3s;
}

.modal-close:hover{
    color:#9b63ff;
    transform:rotate(90deg);
}

.modal-box > span{
    color:#9b63ff;

    font-weight:700;
    letter-spacing:3px;
}

.modal-box h2{
    font-size:42px;

    margin:20px 0;
}

.modal-box p{
    color:#aaa;

    line-height:1.8;

    margin-bottom:35px;
}

.modal-button{
    display:inline-block;

    padding:16px 28px;

    background:linear-gradient(
        135deg,
        #7b2cff,
        #b35cff
    );

    color:white;

    text-decoration:none;
    font-weight:700;

    border-radius:50px;
}

.hero-left > *{
    opacity:0;
    transform:translateY(35px);

    animation:heroIntro .8s ease forwards;
}

.hero-left > *:nth-child(1){
    animation-delay:.15s;
}

.hero-left > *:nth-child(2){
    animation-delay:.30s;
}

.hero-left > *:nth-child(3){
    animation-delay:.45s;
}

.hero-left > *:nth-child(4){
    animation-delay:.60s;
}

@keyframes heroIntro{

    to{
        opacity:1;
        transform:translateY(0);
    }

}


.hero-image{
    opacity:0;

    transform:
        translateX(80px)
        scale(.95);

    animation:heroCarIntro 1.2s ease .4s forwards;
}

@keyframes heroCarIntro{

    to{
        opacity:1;

        transform:
            translateX(0)
            scale(1);
    }

}

.hero-image img{
    transition:transform .25s ease-out;
    will-change:transform;
}

.scroll-progress{
    position:fixed;

    top:0;
    left:0;

    width:0%;
    height:3px;

    background:linear-gradient(
        90deg,
        #7b2cff,
        #c46cff
    );

    box-shadow:0 0 15px rgba(155,99,255,.8);

    z-index:9999;

    transition:width .08s linear;
}

.faq{
    padding:120px 0;
    background:#0c0c0c;
}

.faq-list{
    max-width:900px;
    margin:auto;
}

.faq-item{
    border-bottom:1px solid #292929;
}

.faq-question{
    width:100%;
    padding:30px 0;

    display:flex;
    justify-content:space-between;
    align-items:center;

    background:none;
    border:none;

    color:white;

    font-size:20px;
    font-weight:600;
    text-align:left;

    cursor:pointer;
}

.faq-question span{
    color:#9b63ff;

    font-size:30px;

    transition:.35s;
}

.faq-answer{
    max-height:0;
    overflow:hidden;

    transition:max-height .45s ease;
}

.faq-answer p{
    padding:0 50px 30px 0;

    color:#999;

    line-height:1.8;
}

.faq-item.active .faq-question span{
    transform:rotate(45deg);
}

.social-contact{
    margin-top:40px;
    padding-top:35px;

    border-top:1px solid #292929;
}

.social-contact p{
    margin-bottom:25px;
}

.facebook-button{
    display:inline-flex;
    align-items:center;
    gap:15px;

    padding:15px 25px;

    background:#1877f2;
    color:white;

    text-decoration:none;
    font-weight:600;

    border-radius:50px;

    transition:.35s;
}

.facebook-button:hover{
    transform:translateY(-4px);

    box-shadow:0 15px 40px rgba(24,119,242,.35);
}

.facebook-icon{
    width:30px;
    height:30px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:white;
    color:#1877f2;

    border-radius:50%;

    font-size:22px;
    font-weight:800;
}

.contact-details{
    margin-top:30px;

    display:flex;
    flex-direction:column;

    gap:12px;
}

.contact-details a,
.contact-details p{
    color:#aaa;

    text-decoration:none;

    transition:.3s;
}

.contact-details a:hover{
    color:#9b63ff;
}

.brand-message{
    margin-top:90px;

    display:flex;
    justify-content:center;
    align-items:center;

    gap:25px;

    font-size:28px;
    font-weight:700;

    letter-spacing:2px;
}

.brand-message span{
    color:#777;
}

.brand-message strong{
    color:#9b63ff;

    text-shadow:
        0 0 25px rgba(155,99,255,.35);
}

.form-row{
    display:grid;

    grid-template-columns:repeat(2, 1fr);

    gap:20px;
}

.form-success{
    display:none;

    margin-top:20px;
    padding:15px;

    text-align:center;

    color:#9b63ff;

    background:rgba(155,99,255,.08);

    border:1px solid rgba(155,99,255,.25);
    border-radius:12px;
}

.form-success.show{
    display:block;
}

.error-message{
    display:block;

    margin-top:8px;

    color:#ff6b6b;

    font-size:13px;
}

.input-error{
    border-color:#ff6b6b !important;

    box-shadow:
        0 0 15px rgba(255,107,107,.15) !important;
}

.privacy-check{
    margin:25px 0;

    display:flex;
    align-items:flex-start;

    gap:12px;

    color:#aaa;

    font-size:14px;
}

.privacy-check input{
    width:18px;
    height:18px;

    margin-top:2px;

    accent-color:#9b63ff;
}

.privacy-check label{
    line-height:1.6;
}

.privacy-check a{
    color:#9b63ff;
    text-decoration:none;
}

.privacy-check a:hover{
    text-decoration:underline;
}


.privacy-page{
    min-height:100vh;

    padding:80px 0;

    background:#080808;

    color:#fff;
}

.privacy-back{
    display:inline-block;

    margin-bottom:60px;

    color:#aaa;

    text-decoration:none;

    transition:.3s;
}

.privacy-back:hover{
    color:#9b63ff;
}

.privacy-label{
    display:block;

    margin-bottom:15px;

    color:#9b63ff;

    font-size:13px;
    font-weight:700;

    letter-spacing:3px;
}

.privacy-page h1{
    margin-bottom:60px;

    font-size:52px;
}

.privacy-content{
    max-width:850px;
}

.privacy-content h2{
    margin-top:50px;
    margin-bottom:15px;

    color:#fff;

    font-size:24px;
}

.privacy-content p{
    margin-bottom:12px;

    color:#aaa;

    line-height:1.8;
}

.generation-section{
    padding:140px 0;

    background:#0b0b0b;

    overflow:hidden;
}

.generation-grid{
    display:grid;

    grid-template-columns:1.2fr .8fr;

    align-items:center;

    gap:100px;
}

.generation-content h2{
    margin:20px 0 30px;

    font-size:52px;
    line-height:1.1;
}

.generation-content h2 strong{
    color:#9b63ff;
}

.generation-content p{
    max-width:650px;

    margin-bottom:18px;

    color:#999;

    line-height:1.8;
}

.generation-visual{
    display:flex;

    justify-content:center;
    align-items:center;
}

.generation-circle{
    width:320px;
    height:320px;

    display:flex;
    flex-direction:column;

    justify-content:center;
    align-items:center;

    position:relative;

    border:1px solid rgba(155,99,255,.4);
    border-radius:50%;

    box-shadow:
        0 0 80px rgba(155,99,255,.12);

    text-align:center;
}

.generation-circle::before{
    content:"";

    position:absolute;

    width:380px;
    height:380px;

    border:1px solid rgba(155,99,255,.12);
    border-radius:50%;
}

.generation-circle span{
    color:#777;

    font-size:14px;

    letter-spacing:4px;
}

.generation-circle strong{
    margin:12px 0;

    color:#9b63ff;

    font-size:30px;
}

.generation-circle small{
    color:#fff;

    letter-spacing:2px;
}

.floating-facebook{
    position:fixed;

    right:30px;
    bottom:30px;

    z-index:1000;

    display:flex;
    align-items:center;

    gap:12px;

    padding:12px 18px 12px 12px;

    background:rgba(18,18,18,.92);

    border:1px solid rgba(155,99,255,.3);
    border-radius:50px;

    box-shadow:
        0 10px 40px rgba(0,0,0,.4),
        0 0 30px rgba(155,99,255,.08);

    text-decoration:none;

    backdrop-filter:blur(12px);

    transition:
        transform .3s,
        border-color .3s,
        box-shadow .3s;
}

.floating-facebook:hover{
    transform:translateY(-5px);

    border-color:#9b63ff;

    box-shadow:
        0 15px 45px rgba(0,0,0,.5),
        0 0 35px rgba(155,99,255,.18);
}

.floating-facebook > span{
    width:42px;
    height:42px;

    display:flex;
    justify-content:center;
    align-items:center;

    flex-shrink:0;

    background:#9b63ff;

    border-radius:50%;

    color:#fff;

    font-size:25px;
    font-weight:800;
}

.floating-facebook-text{
    display:flex;
    flex-direction:column;
}

.floating-facebook-text small{
    color:#888;

    font-size:11px;
}

.floating-facebook-text strong{
    margin-top:2px;

    color:#fff;

    font-size:13px;
}