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

@font-face {
  font-family: 'Road Rage';
  src: url('fonts/RoadRage.woff2') format('woff2'),
       url('fonts/Road_Rage.otf') format('woff'),
       url('fonts/RoadRage.ttf') format('truetype');
  font-display: swap;
}

/* FADE-IN ANIMATION */
.fade-in {
    opacity: 0;
    transform: translateY(20px);
    transition: all .5s ease;
}

.fade-in.visible {
    opacity: 1;
    transform: translateY(0);
}


body {
    background: url(img/bg10.jpg) no-repeat center center fixed;
    background-size: cover;
    display: flex;
    justify-content: center;
    padding-top: 40px;
    font-family: 'Road Rage', sans-serif;
}



.main-div {
    width: 100%;
    max-width: 350px; /* controls overall center width */
    text-align: center;
}

/* ★ PROFILE IMAGE — MEDIUM SIZE */
.main-div img {
    width: 280px;
    max-width: 50vw;
    display: block;
    margin: 40px auto 20px;
}

/* ★ OVAL BUTTONS — SMALL AND CENTERED */
.button {
    width: 100%;
    max-width: 260px;
    height: 50px;

    margin: 10px auto;
    border: none;
    border-radius: 30px;

    font-family: 'Road Rage', sans-serif;
    font-size: 28px;      /* correct styled text */
    color: black;
    cursor: pointer;

    /* Moving gradient */
    background: linear-gradient(120deg, #EAFF82, #FFD53D, #EAFF82);
    background-size: 300% 300%;
    animation: moveGradient 4s ease infinite;

    box-shadow: 0 0 18px #ffd53d;
    transition: 0.3s;
}

/* ★ Hover effect */
.button:hover {
    transform: scale(1.04);
    box-shadow: 0 0 30px #fff98f, 0 0 60px #ffd53d;
}

/* Gradient animation */
@keyframes moveGradient {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

/* ★ Responsive tweaks */
@media (max-width: 600px) {
    .main-div img {
        width: 250px;
        height: 250px;
    }

    .button {
        max-width: 230px;
        font-size: 24px;
        height: 45px;
    }
}
