/* ===========================
   GLOBAL
=========================== */

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

body{
    font-family: Arial, Helvetica, sans-serif;
    color: #fff;
    overflow-x: hidden;
    background:
        radial-gradient(circle at top, rgba(185, 7, 255, 0.12), transparent 35%),
        radial-gradient(circle at bottom, rgba(205, 7, 255, 0.05), transparent 45%),
        linear-gradient(180deg, #121212 0%, #090909 100%);
}

html{
    scroll-behavior:smooth;
}

::selection{
    background:#ea07ff;
    color:#000;
}

::-webkit-scrollbar{
    width:10px;
}

::-webkit-scrollbar-track{
    background:#111;
}

::-webkit-scrollbar-thumb{
    background:#ea07ff;
    border-radius:20px;
}

::-webkit-scrollbar-thumb:hover{
    background:#be33ff;
}

/* ===========================
   INTRO
=========================== */

#intro{
    position:fixed;
    inset:0;
    background:#000;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    z-index:9999;
    animation:hide 3.5s forwards 2.8s;
}

.logo{
    font-size:120px;
    color:#ea07ff;
    text-shadow:0 0 25px #ea07ff;
}

.line{
    width:0;
    height:3px;
    background:#ea07ff;
    animation:grow 2s forwards;
}

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

.hero{
    min-height:100vh;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
    padding:40px 20px;
    position:relative;
    overflow:hidden;
    background:
        radial-gradient(circle at top, rgba(214, 7, 255, 0.18), transparent 45%),
        linear-gradient(180deg,#171202,#090909);
}

.hero h1{
    font-size:3rem;
    margin-bottom:20px;
}

.hero p{
    max-width:850px;
    font-size:1.15rem;
    color:#d4d4d4;
    line-height:1.7;
    margin-bottom:35px;
}

/* ===========================
   LOGOS
=========================== */

.hero-logos{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:35px;
    margin-bottom:35px;
}

.hero-logo{
    height:90px;
    width:auto;
    object-fit:contain;
    transition:.3s;
}

.hero-logo:hover{
    transform:scale(1.08);
}

.sk-logo{
    height:70px;
}

.logo-line{
    width:90px;
    height:3px;
    background:linear-gradient(90deg,transparent,#ea07ff,transparent);
    box-shadow:0 0 15px #ea07ff;
}

/* ===========================
   BUTTON
=========================== */

.btn{
    display:inline-block;
    background:#ea07ff;
    color:#000;
    padding:15px 34px;
    border-radius:12px;
    text-decoration:none;
    font-weight:bold;
    transition:.35s;
    box-shadow:0 0 20px rgba(255,193,7,.25);
}

.btn:hover{
    transform:translateY(-4px);
    box-shadow:0 0 35px rgba(255,193,7,.6);
}

/* ===========================
   SECTIONS
=========================== */

section{
    padding:80px 10%;
}

section h2{
    text-align:center;
    font-size:2.3rem;
    margin-bottom:45px;
}

section h2::after{
    content:"";
    display:block;
    width:80px;
    height:4px;
    margin:12px auto 0;
    border-radius:50px;
    background:#ea07ff;
}

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

.cards{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:25px;
}

.card{
    background:rgba(24,24,24,.75);
    backdrop-filter:blur(10px);
    border:1px solid rgba(255,193,7,.15);
    border-radius:18px;
    padding:30px;
    transition:.35s;
}

.card:hover{
    transform:translateY(-8px);
    border-color:#ea07ff;
    box-shadow:0 0 35px rgba(255,193,7,.25);
}

.card h3{
    margin-bottom:15px;
    color:#ea07ff;
}

.card p{
    color:#d4d4d4;
    line-height:1.6;
}

/* ===========================
   ARCHITECTURE
=========================== */

.architecture-section{
    text-align:center;
}

.architecture-img{
    display:block;
    width:100%;
    max-width:1200px;
    margin:auto;
    border-radius:22px;
    border:1px solid rgba(214, 7, 255, 0.18);
    box-shadow:0 0 45px rgba(214, 7, 255, 0.18);
    transition:.35s;
}

.architecture-img:hover{
    transform:scale(1.02);
    box-shadow:0 0 60px rgba(214, 7, 255, 0.4);
}

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

footer{
    text-align:center;
    padding:100px 20px;
    background:#111;
    color:#888;
}

footer h2{
    font-size:2.8rem;
    color:#fff;
    margin-bottom:20px;
}

footer p{
    color:#d4d4d4;
    font-size:1.15rem;
    max-width:750px;
    margin:0 auto 45px auto;
    line-height:1.7;
}

footer .btn{
    display:inline-block;
    margin:10px;
}

.footer-buttons{
    display:flex;
    justify-content:center;
    gap:20px;
    flex-wrap:wrap;
}

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

@keyframes grow{
    to{
        width:320px;
    }
}

@keyframes hide{
    to{
        opacity:0;
        visibility:hidden;
    }
}

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

@media(max-width:768px){

    .hero h1{
        font-size:2.1rem;
    }

    .hero p{
        font-size:1rem;
    }

    .hero-logos{
        flex-direction:column;
        gap:20px;
    }

    .logo-line{
        width:3px;
        height:60px;
    }

    .hero-logo{
        height:70px;
    }

    .sk-logo{
        height:60px;
    }

    section{
        padding:60px 25px;
    }

}