/* ========================================
   Main Page
   ======================================== */
.main-page {
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    margin-top: -130px;
    margin-bottom: -100px;
    overflow: hidden;
}

/* Hero Section - 헤더~푸터 사이 전체 */
.main-hero {
    width: 100%;
    height: calc(100vh - 120px);
    position: relative;
    overflow: hidden;
}

.main-hero-inner {
    position: relative;
    width: 100%;
    max-width: 1200px;
    height: 100%;
    margin: 0 auto;
}

/* PRIDE 대각선 - 헤더~푸터까지 꽉 채움 */
.main-pride-area {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 1920px;
    height: 100%;
    z-index: 1;
    pointer-events: none;
}

.main-pride-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

/* 왼쪽 타이틀 */
.main-title-area {
    position: absolute;
    top: clamp(60px, 12vh, 100px);
    left: 0;
    z-index: 2;
}

.main-title-img {
    width: clamp(250px, 45vh, 378px);
    height: auto;
    display: block;
}

/* 일시/장소 */
.main-info-area {
    position: absolute;
    bottom: clamp(130px, 28vh, 250px);
    right: 0;
    z-index: 2;
}

.main-info-img {
    width: clamp(300px, 52vh, 432px);
    height: auto;
    display: block;
}

/* 주최/주관/후원 로고 - 우측 정렬 */
.main-sponsors {
    position: absolute;
    bottom: clamp(30px, 9vh, 80px);
    left: 0;
    width: 100%;
    text-align: right;
    z-index: 2;
}

.main-sponsors-img {
    width: 100%;
    max-width: clamp(550px, 95vh, 810px);
    height: auto;
    display: inline-block;
}

/* Height Responsive - 1150px 이하에서 80%로 시작 후 반응형 */
@media (max-height: 1150px) {
    .main-title-img {
        width: clamp(200px, 36vh, 302px);
    }
    .main-info-img {
        width: clamp(240px, 42vh, 346px);
    }
    .main-sponsors-img {
        max-width: clamp(440px, 76vh, 648px);
    }
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .main-page {
        margin-left: -16px;
        margin-right: -16px;
        margin-top: -35px;
        margin-bottom: 0;
        width: 100vw;
    }

    .main-hero {
        aspect-ratio: 1080 / 1800;
        background-image: url('/images/main/main-mobile-bg.jpeg');
        background-size: 100% 100%;
        background-position: top center;
        background-repeat: no-repeat;
    }

    .main-hero-inner {
        display: none;
    }
}
