        /* 푸터 스타일 */
        footer { background-color: var(--footer-bg); border-top: 1px solid #f0f0f0; padding: 5rem 10% 3rem 10%; }
        .footer-container { 
            display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; 
            gap: 3rem; max-width: 1200px; margin: 0 auto 4rem auto; 
        }

        .footer-info .footer-logo { font-size: 1.3rem; font-weight: 700; color: var(--text-main); margin-bottom: 1.2rem; display: block; text-decoration: none; }
        .footer-info .footer-logo span { color: var(--soft-red); }
        .footer-info p { font-size: 0.9rem; line-height: 1.7; color: #888; }

        .footer-group h4 { font-size: 1rem; font-weight: 700; color: var(--text-main); margin-bottom: 1.5rem; }
        .footer-group ul { list-style: none; }
        .footer-group ul li { margin-bottom: 0.8rem; }
        .footer-group ul li a { text-decoration: none; color: #888; font-size: 0.9rem; transition: 0.3s; }
        .footer-group ul li a:hover { color: var(--soft-red); }

        .footer-bottom { 
            border-top: 1px solid #eee; padding-top: 2rem; display: flex; 
            justify-content: space-between; align-items: center; max-width: 1200px; margin: 0 auto; 
        }
        .copyright { font-size: 0.85rem; color: #aaa; }
        .footer-social { display: flex; gap: 1.5rem; }
        .footer-social a { color: #aaa; transition: 0.3s; }
        .footer-social a:hover { color: var(--soft-red); }

        /* 모바일 대응 */
        @media (max-width: 768px) {
            nav { padding: 1rem 5%; }
            .nav-links { display: none; } /* 햄버거 메뉴 미구현 시 모바일에서 숨김 */
            .hero h1 { font-size: 2.2rem; }
            .section { padding: 5rem 5%; }
            .footer-container { grid-template-columns: 1fr 1fr; gap: 2.5rem; }
            .footer-info { grid-column: span 2; }
            .footer-bottom { flex-direction: column; gap: 1.5rem; }
        }
        
/* style.css */
:root {
    --soft-red: #F28E8E;
    --soft-red-deep: #E57373;
    --bg-color: #ffffff;
    --card-bg: #ffffff;
    --text-main: #2D2D2D;
    --text-sub: #666666;
    --nav-bg: rgba(255, 255, 255, 0.8);
    --border-color: rgba(0, 0, 0, 0.05);
    --footer-bg: #fcfcfc;
}

body.dark-mode {
    --bg-color: #0F1113;
    --card-bg: #1A1D21;
    --text-main: #ECECED;
    --text-sub: #A1A1A6;
    --nav-bg: rgba(15, 17, 19, 0.8);
    --border-color: rgba(255, 255, 255, 0.08);
    --footer-bg: #090A0C;
}

/* 부드러운 테마 전환 효과 */
body {
    background-color: var(--bg-color);
    color: var(--text-main);
    transition: background-color 0.3s, color 0.3s;
}

/* 스위치 아이콘 제어 */
body.dark-mode .sun-icon { display: block; }
body.dark-mode .moon-icon { display: none; }
body:not(.dark-mode) .sun-icon { display: none; }
body:not(.dark-mode) .moon-icon { display: block; }