/* 기본 설정 */
* { margin: 0; padding: 0; box-sizing: border-box; font-family: sans-serif; }
body { line-height: 1.6; color: #333; scroll-behavior: smooth; }
a { text-decoration: none; color: inherit; }
ul { list-style: none; }
.container { padding: 80px 20px; text-align: center; max-width: 900px; margin: 0 auto; }
.bg-light { background: #f9f9f9; width: 100%; max-width: none; border-top: 1px solid #eee; border-bottom: 1px solid #eee; }

/* 헤더 (메뉴바) */
header { background: #fff; padding: 20px; position: sticky; top: 0; border-bottom: 1px solid #ddd; z-index: 100; }
nav { display: flex; justify-content: space-between; align-items: center; max-width: 900px; margin: 0 auto; }
.logo { font-weight: bold; font-size: 1.2rem; }
nav ul { display: flex; gap: 20px; font-weight: bold; }

/* 메인 타이틀 (Hero) */
.hero { background: #111; height: 60vh; color: white; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; }
.hero h1 { font-size: 3rem; margin-bottom: 10px; }
.highlight { border-bottom: 3px solid #fff; }
.btn { margin-top: 30px; border: 1px solid #fff; color: #fff; padding: 10px 20px; transition: 0.3s; }
.btn:hover { background: #fff; color: #111; }

/* 스킬 (역량) */
.skills { margin-top: 20px; display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; }
.skills span { border: 1px solid #333; padding: 5px 15px; font-size: 0.9rem; }

/* 작업물 카드 */
.project-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; margin-top: 40px; }
.project-card { background: white; padding: 30px; border: 1px solid #ddd; text-align: left; }
.project-card h3 { margin-bottom: 10px; font-size: 1.2rem; }

/* 취향 (Like & Dislike) */
.pref-grid { display: flex; gap: 20px; margin-top: 40px; }
.pref-box { flex: 1; padding: 30px; border: 1px solid #ddd; text-align: left; background: #fff; }
.pref-box h3 { font-size: 1.3rem; margin-bottom: 20px; border-bottom: 2px solid #111; padding-bottom: 10px; display: inline-block; }
.pref-box ul { padding-left: 20px; list-style-type: square; color: #444; line-height: 1.8; }
@media (max-width: 600px) {
    .pref-grid { flex-direction: column; }
}

/* 자격증 (Certifications) */
.cert-list { margin-top: 40px; text-align: left; max-width: 700px; margin-left: auto; margin-right: auto; }
.cert-list li { display: flex; gap: 20px; padding: 15px 0; border-bottom: 1px dashed #ccc; align-items: center; }
.cert-list li:last-child { border-bottom: none; }
.cert-date { font-weight: bold; color: #111; min-width: 80px; }
.cert-name { flex: 1; font-size: 1.1rem; color: #333; font-weight: 500; }
.cert-org { color: #888; font-size: 0.9rem; min-width: 150px; text-align: right; }

/* 연락처 및 SNS 추가 스타일 */
.contact-info { margin-top: 20px; font-size: 1.1rem; line-height: 1.8; color: #444; }
.social-links { margin-top: 30px; display: flex; justify-content: center; gap: 15px; flex-wrap: wrap; }
.sns-btn { padding: 10px 25px; border: 1px solid #333; border-radius: 50px; font-weight: bold; font-size: 0.9rem; color: #333; transition: all 0.3s ease; }
.sns-btn:hover { background: #111; color: #fff; }

/* 하단 (푸터) */
footer { padding: 30px; background: #222; color: #888; text-align: center; font-size: 0.8rem; }
