* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    transition: all 0.3s ease;
}

body {
    overflow-y: hidden;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background-color: #111113;
    color: #FFFFFF;
    margin-inline: 15%;
    overflow-x: hidden;
    text-align: center;
    animation: fadeSlideIn 0.8s cubic-bezier(0.23, 1, 0.32, 1);
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

h1 {
    margin-top: 20vw;
    user-select: none;
    font-weight: lighter;
    font-size: 2rem;
    opacity: 0;
    animation: fadeSlideIn 1s cubic-bezier(0.23, 1, 0.32, 1) 0.2s forwards;
}

.buttons_cont {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 50px;
    gap: 50px;
    opacity: 0;
    animation: fadeSlideIn 1s cubic-bezier(0.23, 1, 0.32, 1) 0.5s forwards;
}


.d:hover {
    cursor: pointer;
    transform: scale(1.05);
    border-image: linear-gradient(to right, #5865F2, #4851b6) 1;
    background-color: #5865F2;
}

.n:hover {
    cursor: pointer;
    transform: scale(1.05);
    border-image: linear-gradient(to right, #ee446b, #df1e4b) 1;
    background-color: #c33859;
}

.t:hover {
    cursor: pointer;
    transform: scale(1.05);
    border-image: linear-gradient(to right, #444, #888) 1;
    background-color: #444;
}

.button {
    width: fit-content;
    display: inline-block;
    margin-top: 2rem;
    padding: 0.75rem 1.5rem;
    background-color: #191A1D;
    color: #fff;
    border: none;
    border-radius: 10px;
    text-decoration: none;
    text-align: center;
    font-weight: bold;
    transition: all 0.3s ease;
}

footer {
    padding: 2rem;
    text-align: center;
    font-size: 0.9rem;
    color: #666;
    opacity: 0;
    animation: fadeSlideIn 1s cubic-bezier(0.23, 1, 0.32, 1) 0.8s forwards;
    margin-top: auto;
}

@keyframes fadeSlideIn {
  0% {
    opacity: 0;
    transform: translateY(40px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 600px) {
    body {
        overflow-y: auto !important;
    }
    .buttons_cont {
        flex-direction: column;
        gap: 0;
        width: 100%;
        align-items: center; /* center the uniform-width buttons */
    }
    .buttons_cont .button {
        width: 100%;              /* take full available width inside container */
        max-width: 320px;          /* cap width for nicer look */
        display: block;            /* ensure it behaves as block element */
        margin-top: 1rem;          /* consistent vertical rhythm */
    }
    .buttons_cont .button:first-child {
        margin-top: 2rem;          /* preserve a bit more space above first */
    }
    .buttons_cont .button:hover {
        transform: scale(1.02);    /* slightly reduce hover scale on mobile */
    }
}