/*==================================
GOOGLE FONTS
==================================*/

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Sora:wght@400;500;600;700;800&display=swap');

/*==================================
RESET
==================================*/

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

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

    background:#050816;

    color:#fff;

    overflow-x:hidden;

    position:relative;

}

img{

    max-width:100%;

}

a{

    text-decoration:none;

}

.container{

    width:min(1180px,92%);

    margin:auto;

}

/*==================================
BACKGROUND
==================================*/

.noise{

    position:fixed;

    inset:0;

    pointer-events:none;

    opacity:.05;

    background-image:
    radial-gradient(circle,#ffffff 1px,transparent 1px);

    background-size:18px 18px;

    z-index:1;

}

.stars{

    position:fixed;

    inset:0;

    z-index:0;

    overflow:hidden;

}

.star{

    position:absolute;

    width:3px;

    height:3px;

    border-radius:50%;

    background:#fff;

    animation:twinkle 3s infinite alternate;

}

.blob{

    position:fixed;

    border-radius:50%;

    filter:blur(90px);

    opacity:.22;

    animation:blobMove 12s ease-in-out infinite;

}

.blob1{

    width:420px;

    height:420px;

    background:#ff6a00;

    top:-120px;

    left:-80px;

}

.blob2{

    width:350px;

    height:350px;

    background:#6b4eff;

    bottom:-120px;

    right:-70px;

}

.blob3{

    width:280px;

    height:280px;

    background:#00c8ff;

    left:45%;

    top:40%;

}

/*==================================
HERO
==================================*/

.hero{

    min-height:100vh;

    display:flex;

    align-items:center;

    justify-content:center;

    text-align:center;

    position:relative;

    z-index:5;

    padding:80px 0;

}

.badge{

    display:inline-flex;

    align-items:center;

    gap:10px;

    padding:12px 26px;

    border-radius:100px;

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

    border:1px solid rgba(255,255,255,.12);

    backdrop-filter:blur(20px);

    margin-bottom:35px;

    font-size:15px;

}

.hero h1{

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

    font-size:74px;

    line-height:1.08;

    max-width:900px;

    margin:auto;

}

.hero h1 span{

    color:#ff8a2c;

}

.subtitle{

    max-width:720px;

    margin:35px auto;

    font-size:20px;

    line-height:1.8;

    color:#bfc7d7;

}

.typing{

    font-size:18px;

    color:#ff9d47;

    min-height:30px;

    margin-bottom:45px;

    font-weight:600;

}

/*==================================
COUNTDOWN
==================================*/

.countdown{

    display:flex;

    justify-content:center;

    gap:30px;

    flex-wrap:wrap;

    margin-bottom:55px;

}

.time-box{

    width:170px;

    padding:35px;

    border-radius:30px;

    background:rgba(255,255,255,.05);

    backdrop-filter:blur(25px);

    border:1px solid rgba(255,255,255,.08);

    transition:.4s;

}

.time-box:hover{

    transform:translateY(-8px);

    border-color:#ff7b23;

}

.time-box h2{

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

    font-size:58px;

    margin-bottom:12px;

}

.time-box span{

    color:#b8bfd0;

    letter-spacing:2px;

    text-transform:uppercase;

    font-size:13px;

}

/*==================================
PROGRESS
==================================*/

.deploy-card{

    max-width:760px;

    margin:auto;

    background:rgba(255,255,255,.05);

    border-radius:24px;

    padding:28px;

    backdrop-filter:blur(18px);

    border:1px solid rgba(255,255,255,.08);

}

.deploy-top{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:18px;

    font-weight:600;

}

.progress{

    height:12px;

    border-radius:100px;

    overflow:hidden;

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

}

.fill{

    width:0;

    height:100%;

    border-radius:100px;

    background:linear-gradient(90deg,#ff6a00,#ffb347);

    transition:.4s;

}


/*==================================
FUN SECTION
==================================*/

.fun-section{

    position:relative;

    padding:120px 0;

    z-index:5;

}

.cards{

    display:grid;

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

    gap:30px;

}

.card{

    position:relative;

    overflow:hidden;

    padding:35px;

    border-radius:28px;

    background:rgba(255,255,255,.05);

    border:1px solid rgba(255,255,255,.08);

    backdrop-filter:blur(18px);

    transition:.4s ease;

}

.card::before{

    content:"";

    position:absolute;

    width:180px;

    height:180px;

    border-radius:50%;

    background:rgba(255,255,255,.04);

    top:-90px;

    right:-70px;

    transition:.5s;

}

.card:hover{

    transform:translateY(-12px);

    border-color:#ff7d27;

    box-shadow:0 30px 60px rgba(0,0,0,.30);

}

.card:hover::before{

    transform:scale(1.3);

}

.icon{

    width:72px;

    height:72px;

    border-radius:22px;

    background:linear-gradient(135deg,#ff6a00,#ff9747);

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:30px;

    margin-bottom:28px;

    box-shadow:0 15px 35px rgba(255,106,0,.25);

}

.card h3{

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

    font-size:24px;

    margin-bottom:16px;

}

.card p{

    color:#bcc5d5;

    line-height:1.8;

    font-size:16px;

}

.big-number{

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

    font-size:52px;

    font-weight:800;

    color:#ff8d37;

    margin:20px 0 8px;

}

.card small{

    color:#97a4ba;

    font-size:14px;

}

/*==================================
TIMELINE
==================================*/

.timeline{

    padding:120px 0;

    position:relative;

    z-index:5;

}

.timeline h2{

    text-align:center;

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

    font-size:52px;

    margin-bottom:70px;

}

.steps{

    display:flex;

    justify-content:space-between;

    gap:25px;

    position:relative;

}

.steps::before{

    content:"";

    position:absolute;

    left:8%;

    right:8%;

    top:35px;

    height:4px;

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

    z-index:0;

}

.step{

    position:relative;

    flex:1;

    text-align:center;

    z-index:2;

}

.circle{

    width:72px;

    height:72px;

    margin:auto;

    border-radius:50%;

    background:#151d31;

    border:2px solid rgba(255,255,255,.10);

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:28px;

    transition:.35s;

}

.step.active .circle{

    background:linear-gradient(135deg,#ff6a00,#ff9d47);

    border:none;

}

.step h3{

    margin-top:24px;

    font-size:19px;

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

}

/*==================================
FUN FACT SECTION
==================================*/

.fun-facts{

    padding:120px 0;

    position:relative;

}

.fact-box{

    max-width:900px;

    margin:auto;

    text-align:center;

    padding:70px;

    border-radius:40px;

    background:linear-gradient(135deg,
    rgba(255,255,255,.05),
    rgba(255,255,255,.02));

    border:1px solid rgba(255,255,255,.08);

    backdrop-filter:blur(20px);

}

.fact-box h2{

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

    font-size:48px;

    margin-bottom:30px;

}

.fact-box p{

    color:#bfc7d7;

    font-size:19px;

    line-height:2;

    margin-bottom:18px;

}

.fact-box strong{

    color:#ff9138;

}

/*==================================
FOOTER
==================================*/

footer{

    padding:60px 0;

    text-align:center;

    color:#8f9ab1;

    border-top:1px solid rgba(255,255,255,.06);

    position:relative;

    z-index:5;

}

footer p{

    font-size:16px;

    letter-spacing:.5px;

}

/*==================================
RESPONSIVE
==================================*/

@media(max-width:1100px){

.cards{

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

}

.steps{

flex-wrap:wrap;

}

.step{

flex:0 0 calc(50% - 15px);

margin-bottom:45px;

}

.steps::before{

display:none;

}

}

@media(max-width:768px){

.hero{

padding:120px 0 80px;

}

.hero h1{

font-size:48px;

}

.subtitle{

font-size:17px;

}

.countdown{

gap:15px;

}

.time-box{

width:140px;

padding:28px;

}

.time-box h2{

font-size:44px;

}

.cards{

grid-template-columns:1fr;

}

.timeline h2{

font-size:38px;

}

.fact-box{

padding:45px 30px;

}

.fact-box h2{

font-size:34px;

}

.fact-box p{

font-size:17px;

}

.step{

flex:0 0 100%;

}

}

@media(max-width:500px){

.hero h1{

font-size:38px;

}

.badge{

font-size:13px;

padding:10px 20px;

}

.time-box{

width:110px;

padding:20px;

}

.time-box h2{

font-size:34px;

}

.deploy-card{

padding:22px;

}

.big-number{

font-size:42px;

}

}

/*==================================
ANIMATIONS
==================================*/

@keyframes blobMove{

    0%{

        transform:translate(0,0) scale(1);

    }

    25%{

        transform:translate(60px,-40px) scale(1.08);

    }

    50%{

        transform:translate(-50px,60px) scale(.92);

    }

    75%{

        transform:translate(30px,-70px) scale(1.04);

    }

    100%{

        transform:translate(0,0) scale(1);

    }

}

@keyframes twinkle{

    from{

        opacity:.2;

        transform:scale(.6);

    }

    to{

        opacity:1;

        transform:scale(1.3);

    }

}

@keyframes float{

    0%{

        transform:translateY(0px);

    }

    50%{

        transform:translateY(-18px);

    }

    100%{

        transform:translateY(0px);

    }

}

@keyframes pulseGlow{

    0%{

        box-shadow:0 0 0 rgba(255,106,0,.2);

    }

    50%{

        box-shadow:0 0 35px rgba(255,106,0,.45);

    }

    100%{

        box-shadow:0 0 0 rgba(255,106,0,.2);

    }

}

@keyframes shine{

    from{

        transform:translateX(-120%);

    }

    to{

        transform:translateX(250%);

    }

}

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(50px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

@keyframes typingCursor{

    50%{

        border-color:transparent;

    }

}

@keyframes gradientText{

    0%{

        background-position:left;

    }

    100%{

        background-position:right;

    }

}

/*==================================
HERO EFFECTS
==================================*/

.hero h1{

    animation:fadeUp .9s ease;

}

.subtitle{

    animation:fadeUp 1.2s ease;

}

.badge{

    animation:fadeUp .6s ease;

}

.typing{

    display:inline-block;

    padding-right:8px;

    border-right:2px solid #ff8a2c;

    animation:typingCursor .8s infinite;

}

.hero h1 span{

    background:linear-gradient(90deg,#ff6a00,#ffd85a,#ff6a00);

    background-size:300%;

    -webkit-background-clip:text;

    -webkit-text-fill-color:transparent;

    animation:gradientText 6s linear infinite;

}

/*==================================
TIME BOXES
==================================*/

.time-box{

    animation:float 6s ease-in-out infinite;

}

.time-box:nth-child(2){

    animation-delay:.6s;

}

.time-box:nth-child(3){

    animation-delay:1.2s;

}

.time-box:hover{

    animation:pulseGlow 1.2s infinite;

}

/*==================================
CARDS
==================================*/

.card{

    animation:fadeUp .9s ease;

}

.card:nth-child(2){

    animation-delay:.2s;

}

.card:nth-child(3){

    animation-delay:.4s;

}

.card:nth-child(4){

    animation-delay:.6s;

}

.card::after{

    content:"";

    position:absolute;

    top:0;

    left:-150%;

    width:60px;

    height:100%;

    background:linear-gradient(to right,

    transparent,

    rgba(255,255,255,.22),

    transparent);

    transform:skewX(-20deg);

}

.card:hover::after{

    animation:shine .9s;

}

.icon{

    animation:float 4s ease-in-out infinite;

}

/*==================================
TIMELINE
==================================*/

.step{

    transition:.35s;

}

.step:hover{

    transform:translateY(-8px);

}

.step:hover .circle{

    transform:scale(1.08);

    background:linear-gradient(135deg,#ff6a00,#ff9b47);

}

/*==================================
FACT BOX
==================================*/

.fact-box{

    position:relative;

    overflow:hidden;

}

.fact-box::before{

    content:"";

    position:absolute;

    width:260px;

    height:260px;

    border-radius:50%;

    background:rgba(255,255,255,.03);

    top:-120px;

    right:-100px;

}

.fact-box::after{

    content:"";

    position:absolute;

    width:180px;

    height:180px;

    border-radius:50%;

    background:rgba(255,106,0,.05);

    bottom:-80px;

    left:-80px;

}

/*==================================
SCROLLBAR
==================================*/

::-webkit-scrollbar{

    width:12px;

}

::-webkit-scrollbar-track{

    background:#070b18;

}

::-webkit-scrollbar-thumb{

    background:#ff6a00;

    border-radius:30px;

}

::-webkit-scrollbar-thumb:hover{

    background:#ff8f34;

}

/*==================================
SELECTION
==================================*/

::selection{

    background:#ff6a00;

    color:#fff;

}

/*==================================
CONFETTI CANVAS
==================================*/

#confetti{

    position:fixed;

    inset:0;

    pointer-events:none;

    z-index:99999;

}

/*==================================
EXTRA GLOW
==================================*/

.progress{

    overflow:hidden;

}

.fill{

    position:relative;

}

.fill::after{

    content:"";

    position:absolute;

    top:0;

    right:0;

    width:80px;

    height:100%;

    background:rgba(255,255,255,.45);

    filter:blur(10px);

}

.big-number{

    animation:pulseGlow 2s infinite;

}

footer{

    opacity:.8;

    transition:.35s;

}

footer:hover{

    opacity:1;

}