/* =========================================
   TECHNOMITIC - COMING SOON
========================================= */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    font-family:'Inter',sans-serif;
    background:#050505;
    color:white;
    overflow-x:hidden;
    min-height:100vh;
    position:relative;

}


/* ===========================
BACKGROUND
=========================== */

body::before{

    content:"";
    position:fixed;
    inset:0;

    background:
    radial-gradient(circle at 20% 20%,rgba(84,110,255,.12),transparent 30%),
    radial-gradient(circle at 80% 10%,rgba(123,92,255,.18),transparent 35%),
    radial-gradient(circle at 70% 70%,rgba(0,180,255,.08),transparent 30%),
    radial-gradient(circle at center,#090909,#040404);

    z-index:-20;

}

.noise{

    position:fixed;
    inset:0;

    background-image:url("https://www.transparenttextures.com/patterns/asfalt-dark.png");

    opacity:.05;

    pointer-events:none;

    z-index:-19;

}


.grid{

    position:fixed;

    inset:0;

    background-image:

    linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),

    linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);

    background-size:60px 60px;

    opacity:.18;

    z-index:-18;

}



/* ===========================
CURSOR GLOW
=========================== */

#cursorGlow{

    width:420px;
    height:420px;

    border-radius:50%;

    background:

    radial-gradient(circle,
    rgba(118,92,255,.18),
    transparent 70%);

    position:fixed;

    transform:translate(-50%,-50%);

    pointer-events:none;

    filter:blur(20px);

    z-index:-10;

}



/* ===========================
BACKGROUND CIRCLES
=========================== */

.background-circle{

    position:absolute;

    border-radius:50%;

    border:1px solid rgba(255,255,255,.08);

}


.circle1{

    width:850px;

    height:850px;

    left:-480px;

    top:220px;

}


.circle2{

    width:650px;

    height:650px;

    right:-330px;

    top:-280px;

}



/* ===========================
CANVAS
=========================== */

#wave{

    position:fixed;

    bottom:0;

    left:0;

    width:100%;

    height:260px;

    z-index:-2;

}



/* ===========================
MAIN
=========================== */

main{

    width:100%;

    min-height:100vh;

    display:flex;

    justify-content:center;

    align-items:center;

    padding:80px 20px;

}


.hero{

    width:100%;

    max-width:1200px;

    display:flex;

    flex-direction:column;

    align-items:center;

    text-align:center;

}



/* ===========================
LOGO
=========================== */

.logo img{

    width:820px;

    max-width:95%;

    user-select:none;

    animation:logoFloat 7s ease-in-out infinite;

}


@keyframes logoFloat{

0%{

transform:translateY(0px);

}

50%{

transform:translateY(-10px);

}

100%{

transform:translateY(0);

}

}



/* ===========================
HEADINGS
=========================== */

.subtitle{

    margin-top:30px;

    letter-spacing:10px;

    color:#BDBDBD;

    font-size:18px;

    font-weight:400;

}


.title{

    margin-top:10px;

    font-size:78px;

    font-weight:700;

    letter-spacing:14px;

    text-transform:uppercase;

    background:linear-gradient(
    90deg,
    #ffffff,
    #dcdcff,
    #ffffff);

    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;

}

.lineGlow{

    width:220px;

    height:2px;

    margin:40px auto;

    background:linear-gradient(
    90deg,
    transparent,
    #6d7cff,
    white,
    #6d7cff,
    transparent);

    box-shadow:

    0 0 12px #7280ff,

    0 0 30px #7280ff;

}

/* =========================================
   DESCRIPTION
========================================= */

.description{

    width:720px;
    max-width:90%;

    color:#bdbdbd;

    font-size:19px;
    line-height:1.9;

    margin-bottom:70px;

}


/* =========================================
   SERVICES
========================================= */

.services{

    width:100%;

    display:flex;

    justify-content:center;

    gap:22px;

    flex-wrap:wrap;

    margin-bottom:70px;

}

.service{

    width:200px;

    padding:30px 20px;

    border-radius:22px;

    background:rgba(255,255,255,.04);

    border:1px solid rgba(255,255,255,.08);

    backdrop-filter:blur(18px);

    transition:.4s;

    cursor:pointer;

    position:relative;

    overflow:hidden;

}

.service::before{

    content:"";

    position:absolute;

    inset:0;

    background:linear-gradient(
    130deg,
    rgba(110,130,255,.22),
    transparent 70%
    );

    opacity:0;

    transition:.4s;

}

.service:hover{

    transform:translateY(-12px);

    border-color:#6d7cff;

    box-shadow:

    0 0 40px rgba(109,124,255,.22);

}

.service:hover::before{

    opacity:1;

}

.icon{

    width:70px;
    height:70px;

    border-radius:18px;

    display:flex;
    align-items:center;
    justify-content:center;

    margin:auto auto 22px;

    font-size:30px;

    background:rgba(255,255,255,.06);

    color:#8da0ff;

    border:1px solid rgba(255,255,255,.08);

}

.service span{

    display:block;

    font-size:16px;

    font-weight:600;

    color:white;

}


/* =========================================
   EMAIL BOX
========================================= */

.notify{

    display:flex;

    width:700px;

    max-width:95%;

    margin-bottom:20px;

    border-radius:70px;

    overflow:hidden;

    border:1px solid rgba(255,255,255,.10);

    background:rgba(255,255,255,.04);

    backdrop-filter:blur(15px);

}

.notify input{

    flex:1;

    background:none;

    border:none;

    outline:none;

    color:white;

    padding:22px 28px;

    font-size:17px;

}

.notify input::placeholder{

    color:#8d8d8d;

}

.notify button{

    width:220px;

    border:none;

    cursor:pointer;

    color:white;

    font-size:17px;

    font-weight:700;

    background:linear-gradient(
    135deg,
    #5d7dff,
    #7c5cff
    );

    transition:.35s;

}

.notify button:hover{

    transform:scale(1.03);

    filter:brightness(1.15);

}


/* =========================================
   SMALL TEXT
========================================= */

.smallText{

    color:#8b8b8b;

    margin-bottom:60px;

}


/* =========================================
   SOCIALS
========================================= */

.socialTitle{

    letter-spacing:7px;

    color:#8b8b8b;

    margin-bottom:30px;

    font-size:13px;

}

.socials{

    display:flex;

    gap:20px;

    margin-bottom:60px;

}

.socials a{

    width:62px;

    height:62px;

    border-radius:18px;

    display:flex;

    align-items:center;

    justify-content:center;

    color:white;

    background:rgba(255,255,255,.05);

    border:1px solid rgba(255,255,255,.08);

    transition:.35s;

}

.socials a:hover{

    transform:translateY(-8px);

    background:#6d7cff;

    box-shadow:

    0 0 35px rgba(109,124,255,.45);

}

.socials svg{

    width:26px;

    height:26px;

}


/* =========================================
   FOOTER
========================================= */

footer{

    color:#666;

    font-size:14px;

    margin-top:10px;

}


/* =========================================
   FADE ANIMATION
========================================= */

.hero>*{

    opacity:0;

    transform:translateY(35px);

    animation:fadeUp .9s forwards;

}

.hero>*:nth-child(1){animation-delay:.1s;}
.hero>*:nth-child(2){animation-delay:.2s;}
.hero>*:nth-child(3){animation-delay:.3s;}
.hero>*:nth-child(4){animation-delay:.45s;}
.hero>*:nth-child(5){animation-delay:.6s;}
.hero>*:nth-child(6){animation-delay:.8s;}
.hero>*:nth-child(7){animation-delay:1s;}
.hero>*:nth-child(8){animation-delay:1.2s;}
.hero>*:nth-child(9){animation-delay:1.4s;}

@keyframes fadeUp{

    to{

        opacity:1;

        transform:translateY(0);

    }

}

/* =========================================
   FLOATING PARTICLES
========================================= */

.particles{

    position:fixed;
    inset:0;
    overflow:hidden;
    pointer-events:none;
    z-index:-8;

}

.particles span{

    position:absolute;
    display:block;

    width:4px;
    height:4px;

    border-radius:50%;

    background:#8ea3ff;

    opacity:.35;

    animation:floatParticle linear infinite;

}

@keyframes floatParticle{

    from{

        transform:translateY(120vh) scale(1);

        opacity:0;

    }

    10%{

        opacity:.4;

    }

    90%{

        opacity:.25;

    }

    to{

        transform:translateY(-20vh) scale(0);

        opacity:0;

    }

}



/* =========================================
   GLOWING ANIMATION
========================================= */

.lineGlow{

    animation:linePulse 3s ease-in-out infinite;

}

@keyframes linePulse{

    0%,100%{

        opacity:.8;

        transform:scaleX(.95);

    }

    50%{

        opacity:1;

        transform:scaleX(1.15);

    }

}



/* =========================================
   CARD SHIMMER
========================================= */

.service::after{

    content:"";

    position:absolute;

    top:-120%;

    left:-50%;

    width:60%;

    height:320%;

    background:

    linear-gradient(

        rgba(255,255,255,0),

        rgba(255,255,255,.18),

        rgba(255,255,255,0)

    );

    transform:rotate(25deg);

    transition:.7s;

}

.service:hover::after{

    left:130%;

}



/* =========================================
   BUTTON EFFECT
========================================= */

.notify button{

    position:relative;

    overflow:hidden;

}

.notify button::before{

    content:"";

    position:absolute;

    left:-100%;

    top:0;

    width:100%;

    height:100%;

    background:

    linear-gradient(

        90deg,

        transparent,

        rgba(255,255,255,.35),

        transparent

    );

}

.notify button:hover::before{

    animation:shine 1s forwards;

}

@keyframes shine{

    to{

        left:120%;

    }

}



/* =========================================
   RESPONSIVE
========================================= */

@media(max-width:1100px){

.logo img{

width:600px;

}

.title{

font-size:60px;

letter-spacing:10px;

}

.services{

gap:16px;

}

.service{

width:180px;

}

}

@media(max-width:768px){

main{

padding:50px 20px;

}

.logo img{

width:320px;

}

.subtitle{

font-size:14px;

letter-spacing:6px;

}

.title{

font-size:38px;

letter-spacing:5px;

}

.description{

font-size:16px;

line-height:1.8;

margin-bottom:45px;

}

.services{

flex-direction:column;

align-items:center;

}

.service{

width:100%;
max-width:340px;

}

.notify{

flex-direction:column;

border-radius:20px;

}

.notify input{

padding:20px;

}

.notify button{

width:100%;
padding:18px;

}

.socials{

gap:15px;

}

.socials a{

width:54px;
height:54px;

}

footer{

font-size:12px;

text-align:center;

padding:0 20px;

}

}

@media(max-width:480px){

.title{

font-size:30px;

}

.subtitle{

font-size:12px;

}

.description{

font-size:15px;

}

.lineGlow{

width:160px;

}

}
