/* 헤더 영역 */
.latest-head {
    max-width: 1280px;
    margin: clamp(36px, 6vw, 72px) auto 0;
    padding: 0 clamp(16px, 5vw, 64px);
    display: grid;
    gap: 10px;
}

.latest-head .kicker {
    color: #6b7280;
    font-size: 12px;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.latest-head h2 {
    font-size: clamp(22px, 3vw, 34px);
    margin: 0;
    line-height: 1.2;
}

.latest-head p {
    margin: 0;
    color: #4b5563;
    font-size: clamp(14px, 1.6vw, 18px);
    max-width: 60ch;
}

/* 구분 선 */
.latest-divider {
    max-width: 1280px;
    margin: clamp(18px, 3vw, 28px) auto 0;
    padding: 0 clamp(16px, 5vw, 64px);
}

.latest-divider .line {
    height: 1px;
    background: rgba(15, 23, 42, .08);
}

/* 섹션 레이아웃 */
.home-list {
    padding: 40px 0;
}

.home-list .container {
    max-width: calc(1680px + 12rem);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 50% 1fr;
    gap: 20px;
    align-items: start;
}

/* 짝수 섹션: 하이라이트가 오른쪽으로 가도록 반전 */
.latest-list-wrap > .home-list:nth-of-type(even) .container {
    grid-template-columns: 1fr 50%;
}

.latest-list-wrap > .home-list:nth-of-type(even) .sticky {
    order: 2;
}

.latest-list-wrap > .home-list:nth-of-type(even) .articles {
    order: 1;
}

/* Sticky 하이라이트 */
.sticky {
    position: sticky;
    top: 88px;
}

.featured {
    border-radius: 0;
    overflow: hidden;
    background: #f9fafb;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .06);
    display: grid;
}

/* 이미지 공통 */
.media {
    width: 100%;
    position: relative;
    overflow: hidden;
    background: #e5e7eb;
}

.media.media-featured {
    height: calc(100vh - 64px);
}

.media.media-thumb {
    aspect-ratio: 3/2;
    border-radius: 0;
}

.media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transform: scale(1);
    transition: transform .7s ease;
    will-change: transform;
}

.media:hover img {
    transform: scale(1.1);
}

a.media.media-thumb:hover img {
    transform: scale(1.12);
}

/* 대문 텍스트 */
.featured-content {
    padding: clamp(14px, 2vw, 18px);
    display: grid;
    gap: 8px;
    border-top: 1px solid rgba(15, 23, 42, .08);
    background: #ffffff;
}

.featured-meta {
    color: #6b7280;
    font-size: 12px;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.featured-title {
    font-size: clamp(18px, 2.2vw, 24px);
    line-height: 1.25;
    margin: 0;
}

.featured-excerpt {
    color: #4b5563;
    margin: 0;
    font-size: clamp(14px, 1.5vw, 16px);
}

.featured-date {
    color: #6b7280;
    font-size: 13px;
    margin: 0;
}

/* 기사 2컬럼 */
.articles {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    align-content: start;
}

.articles .col {
    display: grid;
    gap: 20px;
    align-items: start;
}

.articles .col:nth-child(2) {
    transform: translateY(20px);
}

.home-list:nth-of-type(even) .articles .col:nth-child(1) {
	transform: translateY(20px);
}

.home-list:nth-of-type(even) .articles .col:nth-child(2) {
	transform: none;
}

/* 카드 */
.card {
    display: grid;
    gap: 10px;
}

.card.thumb-list-item {
    /* 인피니트 스크롤에서 fetchSize 계산할 때 사용하는 클래스 */
}

.card .meta {
    color: #6b7280;
    font-size: 12px;
    margin: 2px 0 0;
}

.card .title {
	display: flex;
	align-items: center;
    font-size: 22px;
    line-height: 1.25;
    margin: 2px 0 0;
	height: 70px;
}

.card .title a {
    text-decoration: none;
}

.card .excerpt {
    color: #4b5563;
    margin: 4px 0 6px;
}

.card .date {
    color: #6b7280;
    font-size: 13px;
    margin: 0;
}

/* 모바일 */
@media (max-width: 1024px) {
    .home-list {
        padding: 0;
		margin-bottom : 20px;
    }

    .home-list .sticky {
        display: none;
    }

    .home-list .container {
        grid-template-columns: 1fr;
    }

    .latest-list-wrap > .home-list:nth-of-type(even) .container {
        grid-template-columns: 1fr;
    }

    .articles {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .articles .col:nth-child(1),
    .articles .col:nth-child(2) {
        margin-top: 0;
    }
}