/* ======================================= */
/* 기본 및 공통 스타일 */
/* ======================================= */
body, html {
    margin: 0;
    padding: 0;
    width: 100%;
    background-color: #000000;
    color: #ffffff;
    font-family: 'Pretendard', sans-serif;
}

/* ======================================= */
/* 헤더 */
/* ======================================= */
header {
    position: fixed; /* 스크롤해도 상단에 고정 */
    top: 0;
    left: 0;
    width: 100%;
    padding: 25px 50px;
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 10;
}

/* PC에서는 데스크탑 메뉴만 보이도록 수정 */
header nav.desktop-menu { display: block; }
#mobile-menu { display: none; } /* 모바일 메뉴는 기본적으로 숨김 */
.hamburger-menu { display: none; }

nav ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 40px; }
nav a { color: #e0e0e0; text-decoration: none; font-size: 16px; font-weight: 500; letter-spacing: 1px; }
nav a:hover { color: #5ea6ff; }
.logo img { height: 80px; }

/* ======================================= */
/* 메인 콘텐츠 */
/* ======================================= */
main {
    /* 헤더가 fixed이므로, main 시작 위치를 헤더 높이만큼 아래로 내려줌 */
    padding-top: 130px; /* 헤더의 대략적인 높이 */
}

.image-overlay-container {
    position: relative;
    width: 100%;
    height: 70vh; /* 화면 높이의 70% (조절 가능) */
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}
.image-overlay-container video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 1;
}
.image-overlay-container::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 2;
}

.overlay-text {
    position: relative;
    z-index: 3;
}

.overlay-text .slogan { font-size: 48px; margin-bottom: 20px; }
.overlay-text .description { max-width: 650px; line-height: 1.7; }

/* ======================================= */
/* 푸터 */
/* ======================================= */
footer {
    width: 100%;
    max-width: 1100px;
    margin: 100px auto 50px auto; /* 위, 좌우, 아래 여백 */
    color: #a0a0a0;
    padding: 20px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
}
.footer-top {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    gap: 40px;
    margin-bottom: 15px;
}
.footer-top-text {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}
.social-icons { display: flex; gap: 20px; }
.social-icons a, .footer-nav a { color: #a0a0a0; text-decoration: none; }
.footer-nav ul { list-style: none; margin: 0, 3px; padding: 0; display: flex; gap: 30px; }
.contact-info, .copyright { text-align: center; }

/* ======================================= */
/* 모바일 반응형 (768px 이하) */
/* ======================================= */
@media (max-width: 768px) {
    header {
        padding: 15px 20px;
        justify-content: center;
    }
    /* PC 메뉴 숨기고, 햄버거 메뉴 보이기 */
    header nav.desktop-menu {
        display: none; 
    }

    #mobile-menu {
        display: none;
    }
    #mobile-menu.is-active {
        display: block;
        position: absolute;
        top: 80px;
        left: 0;
        width: 100%;
        background-color: #000000;
        opacity: 0.7;
        padding: 15px 0;
        animation: fadeIn 1s
    }
    @keyframes fadeIn{
        from { opacity: 0; }
        to { opacity: 0.7; }
    }
    #mobile-menu.is-active ul {
        flex-direction: column;
        align-items: center;
    }

    #mobile-menu.is-active ul {
        flex-direction: column;
        align-items: center;
    }
    #mobile-menu.is-active ul li a{
        color: white;
        padding: 10px 20px;
        font-size: 18px;
        display: block;
    }
    .hamburger-menu {
        position: absolute;
        top: 20px;
        display: flex;
        flex-direction: column;
        gap: 5px;
        position: absolute;
        left: 20px;
        top: 50%;
        transform: translateY(-50%);
        cursor: pointer;
    }
    
    .hamburger-menu .bar {
        width: 25px;
        height: 3px;
        background-color: #ffffff;
    }
    .logo {
        position: static; /* 모바일에서는 중앙 정렬을 위해 static으로 변경 */
        transform: none;
        left: auto;
    }
    .logo img {
        height: 50px;
    }

    main {
        padding-top: 80px; /* 모바일 헤더 높이에 맞게 조정 */
    }
    .overlay-text .slogan {
        font-size: 24px;
    }
    .overlay-text .description {
        font-size: 14px;
        padding: 0 15px;
    }
    
    footer {
        margin-top: 60px;
        font-size: 12px;
    }
    .footer-nav{
        margin : 3px 0;
    }
    .footer-top {
        flex-direction: column;
        gap: 20px;
        font-size: 12px;
    }
    .footer-top-text li a{
        font-size: 12px;
    }
}