body, html {
             margin: 0;
             padding: 0;
             width: 100%;
             background-color: #000000;
             color: #ffffff;
             font-family: 'Pretendard', sans-serif;
             position: relative; /* 푸터 absolute positioning 기준 */
         }
 
         @keyframes fadeIn {
             from { opacity: 0; transform: translateY(20px); }
             to { opacity: 1; transform: translateY(0); }
         }
 
        header {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            padding: 25px 50px;
            box-sizing: border-box;
            display: flex;
            justify-content: space-between;
            align-items: center;
            animation: fadeIn 1s ease-out;
            z-index: 10; /* 푸터보다 위에 표시 */
        }

        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;
            transition: color 0.3s ease;
        }

        nav a:hover {
            color: #5ea6ff;
        }

        .logo img {
            height: 80px;
            transition: transform 0.4s ease;
        }
        .logo img:hover {
            transform: scale(1.05);
        }

        main {
            display: flex; /* 자식 요소를 정렬하기 위해 flex 사용 */
            justify-content: center;
            align-items: center;
            width: 100%;
            /* height, padding-bottom 등은 아래에서 새로 정의하므로 삭제해도 됩니다. */
        }

        .slogan {
            font-size: 48px;
            font-weight: 700;
            margin: 0 0 30px 0;
            letter-spacing: -1px;
        }

        .description {
            font-size: 17px;
            color: #ffffff;
            line-height: 1.7;
            font-weight: 400;
            max-width: 650px;
            margin: 0 auto;
        }

        @media (max-width: 768px) {
            header {
                padding: 20px;
                flex-direction: column;
                gap: 20px;
            }

            .logo img {
                order: -1;
                height: 40px;
            }

            nav ul {
                gap: 20px;
                flex-wrap: wrap;
                justify-content: center;
            }

            .slogan {
                font-size: 32px;
            }

            .description {
                font-size: 16px;
                padding: 0 20px;
            }
            main {
                padding-bottom: 220px; /* 모바일 푸터 높이 고려 */
            }
        }

        /* --- 푸터 스타일 --- */
        footer {
            bottom: 0;
            left: 0;
            width: 100%;
            background-color: #000000; /* 푸터 배경색 */
            color: #a0a0a0;
            padding: 30px 50px;
            box-sizing: border-box;
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 15px;
            font-size: 14px;
            animation: fadeIn 1s ease-out;
        }

        .footer-top {
            display: flex;
            align-items: center;
            gap: 30px;
        }

        .social-icons a {
            color: #a0a0a0;
            font-size: 18px;
            margin: 0 10px;
            text-decoration: none;
            transition: color 0.3s ease;
        }

        .social-icons a:hover {
            color: #ffffff;
        }

        .footer-nav ul {
            list-style: none;
            margin: 0;
            padding: 0;
            display: flex;
            gap: 20px;
        }

        .footer-nav a {
            color: #a0a0a0;
            text-decoration: none;
            transition: color 0.3s ease;
        }

        .footer-nav a:hover {
            color: #ffffff;
        }

        .contact-info {
            text-align: center;
        }

        .copyright {
            font-size: 12px;
            margin-top: 15px;
        }

        /* --- 모바일 푸터 스타일 --- */
        @media (max-width: 768px) {
            footer {
                padding: 20px;
                align-items: flex-start;
                gap: 10px;
            }
            .footer-top {
                flex-direction: column;
                align-items: flex-start;
                gap: 15px;
            }
            .footer-nav ul {
                flex-wrap: wrap;
                gap: 10px;
            }
            .contact-info {
                text-align: left;
            }
            .social-icons a {
                margin: 0 5px;
                font-size: 16px;
            }
        }

    /* Contact Page Styles */
.contact-container {
    display: flex;
    justify-content: center;
    gap: 100px; /* 양쪽 섹션 사이의 간격 */
    width: 100%;
    max-width: 1100px; /* 전체 컨테이너 최대 너비 */
    margin: 100px auto 0;
    padding: 50px 20px;
    color: #ffffff;
}

.contact-info-left {
    flex: 1;
}

.contact-info-left h1 {
    font-size: 36px;
    margin-bottom: 20px;
}

.contact-info-left > p {
    font-size: 16px;
    color: #a0a0a0;
    line-height: 1.6;
    margin-bottom: 50px;
}

.info-details p {
    margin-bottom: 10px;
}

.info-details strong {
    display: inline-block;
    width: 80px; /* E-mail, Address 글자 너비 맞춤 */
    color: #a0a0a0;
}

.contact-form-right {
    flex: 1.5; /* 오른쪽 폼 영역을 조금 더 넓게 */
}

.form-group {
    margin-bottom: 25px;
}

.form-group label {
    display: block;
    margin-bottom: 8px;
    font-size: 14px;
    color: #a0a0a0;
}

.form-group input,
.form-group textarea {
    width: 100%;
    background-color: #1c1c1c; /* 입력창 배경색 */
    border: 1px solid #444; /* 입력창 테두리 */
    border-radius: 4px;
    padding: 12px;
    color: #ffffff;
    font-size: 16px;
    box-sizing: border-box;
}

.form-group input:focus,
.form-group textarea:focus {
    outline: none;
    border-color: #5ea6ff; /* 클릭 시 테두리 색상 변경 */
}

.submit-btn {
    width: 100%;
    padding: 15px;
    background-color: transparent;
    border: 1px solid #ffffff;
    color: #ffffff;
    font-size: 16px;
    cursor: pointer;
    transition: background-color 0.3s, color 0.3s;
}

.submit-btn:hover {
    background-color: #ffffff;
    color: #000000;
}

/* 모바일 반응형 */
@media (max-width: 768px) {
    .contact-container {
        flex-direction: column; /* 세로로 쌓기 */
        gap: 50px;
    }
}