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

body {
    background-color: #FEFEFD;
    color: #111;
    font-family: 'Inter', sans-serif;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    /* 화면 꽉 차게 */
    padding: 40px;
}

.container {
    width: 100%;
    max-width: 1000px;
}

/* Header Style */
.name {
    font-family: 'Space Mono', monospace;
    /* 기계적인 느낌의 폰트 */
    font-size: 2.5rem;
    font-weight: 700;
    letter-spacing: -0.03em;
    margin-bottom: 5px;
}

.role {
    font-size: 1rem;
    color: #555;
    margin-bottom: 20px;
}

.nav-bar {
    font-family: 'Space Mono', monospace;
    font-size: 0.9rem;
    display: flex;
    gap: 20px;
}

.nav-bar a {
    color: #000;
    text-decoration: none;
    border-bottom: none;
    /* border-bottom: 1px solid #000; 링크 밑줄 */
}

.nav-bar a:hover {
    text-decoration: underline;
    /* 마우스 올리면 밑줄 생김 */
}

.location {
    color: #888;
}

/* Thick Divider Line */
.thick-line {
    border: 0;
    height: 3px;
    /* 굵고 진한 선 */
    background: #000;
    margin: 30px 0 40px 0;
}

/* Layout: 2 Columns (왼쪽:소개, 오른쪽:경력) */
main {
    display: grid;
    grid-template-columns: 1fr 1.8fr;
    /* 1:1.8 비율 */
    gap: 50px;
}

/* Section Common Styles */
.section-label {
    font-family: 'Space Mono', monospace;
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 8px;
    color: #000;
    border-bottom: 1px solid #eee;
    /* 아주 연한 구분선 */
    padding-bottom: 1px;
    display: inline-block;
}

.text-block,
.school,
.gpa,
.period {
    font-size: 0.95rem;
    line-height: 1.6;
    color: #333;
    display: block;
}

.school {
    font-weight: 600;
}

.period {
    color: #666;
    font-size: 0.85rem;
    margin-top: 2px;
}

/* Right Column (Experience) Styles */
.job-item {
    margin-bottom: 35px;
}

.job-head {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 5px;
}

.job-title {
    font-weight: 700;
    font-size: 1.05rem;
}

.job-title a {
    color: inherit;
    text-decoration: none;
}

.job-title a:hover {
    text-decoration: underline;
}

.job-date {
    font-family: 'Space Mono', monospace;
    font-size: 0.8rem;
    color: #666;
}

.job-role {
    font-size: 0.95rem;
    font-style: italic;
    color: #444;
    margin-bottom: 10px;
}

.job-list {
    list-style: none;
    padding-left: 0;
}

.job-list li {
    font-size: 0.95rem;
    line-height: 1.5;
    color: #333;
    margin-bottom: 5px;
    padding-left: 15px;
    position: relative;
}

.job-list li::before {
    content: ">";
    /* 불릿 포인트 대신 > 기호 사용 */
    position: absolute;
    left: 0;
    font-family: 'Space Mono', monospace;
    font-size: 0.8rem;
    color: #000;
}

.email-link {
    font-weight: 900;
    /* 아주 굵게 */
    letter-spacing: 0.2px;
    /* 자간 좁게 */
    color: black;
    text-decoration: none;
    /* 밑줄 제거 */
    cursor: pointer;
}



.email-link:hover {
    text-decoration: underline;
    /* 마우스 올렸을 때 밑줄 표시 (선택사항) */
}

/* Mobile Responsive */
@media (max-width: 768px) {
    body {
        align-items: flex-start;
        padding: 30px 20px;
    }

    main {
        display: flex;
        flex-direction: column;
        gap: 30px;
    }

    /* col-left를 투명하게 만들어 자식들이 main의 직접 자식처럼 동작하도록 */
    .col-left {
        display: contents;
    }

    /* 각 섹션의 순서 지정 */
    .col-left section:nth-child(1) {
        order: 1;
    }

    /* EDUCATION */
    .col-left section:nth-child(2) {
        order: 2;
    }

    /* FOCUS */
    .col-right {
        order: 3;
    }

    /* RESEARCH + OTHER EXPERIENCE */
    .col-left section:nth-child(3) {
        order: 4;
    }

    /* HONORS */
    .col-left section:nth-child(4) {
        order: 5;
    }

    /* SKILLS */

    /* 모바일에서는 1단으로 */
    .name {
        font-size: 2rem;
    }
}

/* 왼쪽 컬럼의 각 섹션(Focus, Education, Skills) 사이 간격 조절 */
.col-left section {
    margin-bottom: 22px;
    /* 이 숫자를 키우면 간격이 넓어집니다 */
}