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

:root{
    --bg:#0d1117;
    --surface:#161b22;
    --surface-hover:#1f2630;
    --border:#30363d;
    --primary:#58a6ff;
    --primary-hover:#79c0ff;
    --text:#f0f6fc;
    --text-secondary:#8b949e;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:Segoe UI,Roboto,Arial,sans-serif;
    background:var(--bg);
    color:var(--text);
    min-height:100vh;
}

header{
    position:sticky;
    top:0;
    z-index:100;

    padding:22px 30px;

    text-align:center;

    background:rgba(13,17,23,.92);
    backdrop-filter:blur(12px);

    border-bottom:1px solid var(--border);
}

header h1{
    font-size:1.8rem;
    font-weight:600;
    color:var(--text);
    margin-bottom:4px;
}

header p{
    color:var(--text-secondary);
    font-size:.95rem;
}

.grid{
    max-width:1300px;
    margin:0 auto;
    padding:30px;

    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:24px;
}

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

    background:var(--surface);

    border:1px solid var(--border);
    border-radius:16px;

    padding:28px;

    text-decoration:none;
    color:inherit;

    transition:
        transform .18s ease,
        border-color .18s ease,
        background .18s ease,
        box-shadow .18s ease;
}

.card:hover{

    transform:translateY(-6px);

    background:var(--surface-hover);

    border-color:var(--primary);

    box-shadow:
        0 0 0 1px rgba(88,166,255,.25),
        0 15px 35px rgba(0,0,0,.45);

}

.card h2{

    color:var(--primary);

    font-size:1.35rem;

    margin-bottom:14px;

}

.card p{

    flex:1;

    color:var(--text-secondary);

    line-height:1.6;

    margin-bottom:28px;

}

.card span{

    color:var(--primary);

    font-weight:600;

    transition:color .2s ease;

}

.card:hover span{

    color:var(--primary-hover);

}

footer{

    text-align:center;

    padding:24px;

    border-top:1px solid var(--border);

    color:var(--text-secondary);

    font-size:.9rem;

}

@media (max-width:700px){

    header{
        padding:18px 16px;
    }

    header h1{
        font-size:1.5rem;
    }

    header p{
        font-size:.9rem;
    }

    .grid{
        padding:18px;
        gap:18px;
    }

    .card{
        padding:22px;
    }

}
