body {
    font-family: "Roboto Mono", monospace;
    margin: 0;
    line-height: 1.6;
    background: #1b2432;
    color: #fff;
}

header {
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    position: relative;
    background: #121420;
}

header h1 {
    font-size: 10vw; /* scales with viewport width */
    font-optical-sizing: auto;
    font-style: normal;
    letter-spacing: 0.05em;
    margin: 0;
    line-height: 1.1;
    word-break: break-word; /* allows breaking long names on small screens */
}

.scroll-down {
    position: absolute;
    bottom: 3em;
    font-size: 2rem;
    opacity: 0;
    animation: fadeInArrow 1.5s ease forwards, bounce 2s infinite 3s;
    cursor: pointer;
}

@keyframes fadeInArrow {
    to {
        opacity: 1;
    }
}

/* Optional bounce animation */
@keyframes bounce {
    0%,
    20%,
    50%,
    80%,
    100% {
        transform: translateY(0);
    }
    40% {
        transform: translateY(10px);
    }
    60% {
        transform: translateY(6px);
    }
}

main {
    max-width: 70rem; /* set a fixed width */
    margin: 0 auto; /* center horizontally */
    font-size: 2em;
}

h2 {
    font-size: 2em;
    margin: 3rem 0 0 0;
    text-align: center;
}

p {
    margin: 1em 0;
    text-align: center;
    word-wrap: break-word; /* long text will wrap instead of overflowing */
}

.member {
    display: flex;
    align-items: center; /* vertically center text and badge */
    gap: 0.5em; /* spacing between name and badge */
    margin-bottom: 0.5em;
    justify-content: center;
    flex-wrap: wrap; /* allow badges to wrap under name on small screens */
}

@media (max-width: 768px) {
    header h1 {
        font-size: 15vw; /* shrink even more for tablets/phones */
    }

    main {
        font-size: 1em; /* smaller font for mobile */
        padding: 0 0.5rem;
    }

    .scroll-down {
        font-size: 1.5rem; /* smaller arrow */
        bottom: 2em; /* closer to heading on small screens */
    }

    .member img {
        height: 35px; /* smaller badges on mobile */
    }

    .copyright {
        font-size: 5vw;
    }
}

footer {
    text-align: center;
    padding: 4rem;
    font-size: 2em;
    margin: 4rem 0 0 0;
    background: #121420;
}

.copyright {
    margin: 0;
}
