/* --- 기본 설정 --- */
@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.8/dist/web/static/pretendard.css');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@700;900&display=swap');
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css');

:root {
    --primary-color: #b91c1c;
    --text-color: #1d1d1f;
    --bg-color: #ffffff;
    --gray-bg: #f5f5f7;
}

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

body {
    font-family: 'Pretendard', sans-serif;
    color: var(--text-color);
    line-height: 1.6;
    overflow-x: hidden;
    word-break: keep-all;
    /* 헤더가 고정(fixed)이므로 본문이 가리지 않게 여백 추가 */
    padding-top: 80px; 
}

a { text-decoration: none; color: inherit; }
ul { list-style: none; }

/* --- 헤더 (네비게이션) --- */
header {
    position: fixed;
    top: 0; left: 0; width: 100%;
    padding: 20px 5%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 1000;
    transition: 0.3s;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(0,0,0,0.05);
}
.logo {
    font-family: 'Montserrat', sans-serif;
    font-weight: 900;
    font-size: 24px;
    color: var(--text-color);
    letter-spacing: -0.5px;
}
.logo span { color: var(--primary-color); }

nav ul { display: flex; gap: 30px; }
nav a { font-weight: 600; font-size: 15px; transition: color 0.3s; }
nav a:hover { color: var(--primary-color); }

.mobile-menu-btn { display: none; font-size: 24px; cursor: pointer; }

/* --- 푸터 --- */
footer {
    background: white;
    padding: 80px 5%;
    border-top: 1px solid #eee;
    color: #333;
    margin-top: 50px;
}
.footer-content {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 40px;
}
.footer-info h4 { font-size: 20px; margin-bottom: 20px; font-weight: 800; }
.footer-info p { color: #666; margin-bottom: 10px; font-size: 14px; }
.copy {
    margin-top: 60px;
    text-align: center;
    font-size: 13px;
    color: #999;
}

/* --- 애니메이션 유틸리티 --- */
.fade-in { opacity: 0; transform: translateY(30px); transition: 1s; }
.fade-in.visible { opacity: 1; transform: translateY(0); }

@media (max-width: 768px) {
    nav ul { display: none; }
    .mobile-menu-btn { display: block; }
}

/* --- 노션(Notion) 페이지 호환성 패치 --- */
/* 노션 본문이 너무 꽉 차지 않게 중앙 정렬 및 최대 너비 제한 */
.notion-body {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    padding: 40px 20px;
}

/* 노션 기본 상단바 숨기기 (선택사항) */
.notion-topbar { display: none !important; }