:root{
    --bg:#050816;
    --panel:#0b1328;
    --cyan:#4ef2ff;
    --green:#00f5a0;
    --text:#ffffff;
    --muted:#9ab3d6;
}

*{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    margin:0;
    min-height:100vh;
    display:flex;
    flex-direction:column;
    background:
        radial-gradient(circle at top right,rgba(0,245,160,.10),transparent 40%),
        radial-gradient(circle at bottom left,rgba(78,242,255,.10),transparent 40%),
        linear-gradient(135deg,#02040c,#050816,#071225);
    color:var(--text);
    font-family:Segoe UI,Tahoma,Verdana,sans-serif;
}

a{
    color:inherit;
}

main{
    flex:1;
}

.site-header{
    position:sticky;
    top:0;
    z-index:999;
    background:rgba(5,8,22,.96);
    border-bottom:1px solid rgba(78,242,255,.20);
    backdrop-filter:blur(12px);
}

.header-container{
    width:100%;
    padding:12px 30px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:25px;
}

.logo-section{
    display:flex;
    align-items:center;
    flex:0 0 auto;
}

.logo-section a{
    display:flex;
    align-items:center;
    text-decoration:none;
}

.site-logo{
    height:60px;
    width:auto;
    display:block;
    object-fit:contain;
    filter:
        drop-shadow(0 0 10px rgba(78,242,255,.7))
        drop-shadow(0 0 25px rgba(0,245,160,.3));
}

.main-nav{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:20px;
    flex-wrap:wrap;
}

.main-nav a{
    color:#dcecff;
    text-decoration:none;
    font-weight:700;
    font-size:.94rem;
    transition:.25s;
    white-space:nowrap;
}

.main-nav a:hover{
    color:var(--cyan);
    text-shadow:0 0 12px rgba(78,242,255,.65);
}

.page-container{
    width:100%;
    max-width:1400px;
    margin:0 auto;
    padding:55px 30px;
}

.page-container > section,
.page-container > article,
.page-container > div{
    margin-left:auto;
    margin-right:auto;
}

.site-footer{
    margin-top:80px;
    background:#07101f;
    border-top:1px solid rgba(78,242,255,.20);
}

.footer-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:30px;
    padding:50px 30px;
    max-width:1400px;
    margin:0 auto;
}

.footer-grid h3{
    color:var(--cyan);
    margin-top:0;
}

.footer-grid p,
.footer-grid li{
    color:#cde6ff;
    line-height:1.7;
}

.footer-grid ul{
    list-style:none;
    padding:0;
    margin:0;
}

.footer-grid li{
    margin:10px 0;
}

.footer-grid a{
    color:#cde6ff;
    text-decoration:none;
}

.footer-grid a:hover{
    color:var(--cyan);
}

.footer-bottom{
    text-align:center;
    padding:20px;
    border-top:1px solid rgba(78,242,255,.10);
    color:#8aa4c7;
}

@media(max-width:900px){
    .header-container{
        align-items:flex-start;
        flex-direction:column;
    }

    .main-nav{
        justify-content:flex-start;
        gap:14px;
    }

    .site-logo{
        height:52px;
    }
}

@media(max-width:560px){
    .header-container{
        padding:14px 18px;
    }

    .main-nav a{
        font-size:.88rem;
    }

    .page-container{
        padding:35px 18px;
    }

    .footer-grid{
        padding:35px 18px;
    }
}