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

@keyframes fadeInPage {
    from { opacity: 0; }
    to { opacity: 1; }
}

body {
    background-color: #fff;
    font-family: arial, "ｍｓ ｐゴシック", "ms pgothic", "돋움", dotum, helvetica, sans-serif;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    min-height: 100vh;
    animation: fadeInPage 0.8s ease-in-out;
    -webkit-font-smoothing: antialiased;
}

.main-container {
    position: relative;
    width: 100%;
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    padding-top: 5vh;
}

.slider {
    position: relative;
    width: 415px;
    height: 580px;
    z-index: 1;
}

.slider img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity 0.05s ease-in-out;
}

.slider img.active {
    opacity: 1;
}

.main-title {
    position: absolute;
    top: calc(3vh + 320px);
    left: 50%;
    transform: translate(-50%, -50%);
    font-family: 'Impact', sans-serif;
    font-size: 150px; 
    color: #B51D1D; 
    z-index: 10;
    white-space: nowrap;
    text-transform: uppercase;
    letter-spacing: -0.02em; 
    line-height: 0.8;
}

.info-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 415px; 
    margin-top: 15px;
    font-weight: bold;
    font-size: 29px;
    line-height: 0.85;
    letter-spacing: -0.1em;
}

.info-right { text-align: right; }
.info-right a { color: inherit; text-decoration: underline; }

.bottom-nav {
    position: fixed;
    bottom: 20px;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    font-size: 10px;
    font-weight: bold;
}

.bottom-nav a { text-decoration: none; color: black; display: flex; align-items: center; }

@media screen and (max-width: 1000px) {
    .main-title {
        font-size: 100px; 
        top: calc(3vh + 250px);
    }

    .slider {
        width: 40%;
        min-width: 315px;
        height: 475px;
        
    }

    .info-grid {
        width: 40%;
        min-width: 315px;
    }



    
}

@media screen and (max-width: 700px) {
    .main-title {
        font-size: 55px; 
        top: calc(3vh + 230px);
    }

    .slider {
        min-width: 280px;

        height: 425px;
        
    }

    .info-grid {
        min-width: 280px;
        font-size: 20px;
    }

    .bottom-nav {
        width: 100%;
    }

    
}

