/* ========== 후원안내 헤더 이미지 스타일 ========== */
body #main #intro-header,
html body #main #intro-header {
    background: #ffffff !important;
    padding: 0 !important;
    margin: 0 !important;
    min-height: auto !important;
}

body #main #intro-header .spotlight,
html body #main #intro-header .spotlight {
    display: block !important;
    position: relative !important;
    min-height: auto !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    background: #ffffff !important;
    width: 100% !important;
}

body #main #intro-header .spotlight .image,
html body #main #intro-header .spotlight .image {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    height: auto !important;
    min-height: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #ffffff !important;
    position: relative !important;
}

body #main #intro-header .spotlight .content,
html body #main #intro-header .spotlight .content {
    display: none !important;
}

body #main #intro-header .spotlight .image img,
html body #main #intro-header .spotlight .image img {
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    border-radius: 0 !important;
    display: block !important;
    transition: transform 0.6s ease, filter 0.6s ease !important;
    filter: brightness(1) contrast(1.1) !important;
    opacity: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* 헤더 텍스트 오버레이 - 검은색 */
#intro-header .header-text-overlay {
    position: absolute !important;
    left: 8% !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 10 !important;
    max-width: 600px !important;
    padding: 2rem !important;
    pointer-events: none !important;
}

#intro-header .header-text-overlay h2 {
    color: #000000 !important;
    font-size: 3.5rem !important;
    font-weight: 700 !important;
    margin: 0 0 1rem 0 !important;
    line-height: 1.2 !important;
    text-shadow: 2px 2px 4px rgba(255, 255, 255, 0.8) !important;
}

#intro-header .header-text-overlay p {
    color: #000000 !important;
    font-size: 1.3rem !important;
    line-height: 1.6 !important;
    margin: 0 !important;
    font-weight: 500 !important;
    text-shadow: 1px 1px 3px rgba(255, 255, 255, 0.8) !important;
}

/* 헤더 애니메이션 - 데스크톱만 */
@media screen and (min-width: 981px) {
    #intro-header .spotlight:not(.animate) .image {
        opacity: 0 !important;
        transform: translateY(20px) !important;
    }

    #intro-header .spotlight:not(.animate) .header-text-overlay {
        opacity: 0 !important;
        transform: translateY(-50%) translateX(-30px) !important;
    }

    #intro-header.animate .spotlight .image {
        opacity: 1 !important;
        transform: translateY(0) !important;
        transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
    }

    #intro-header.animate .spotlight .header-text-overlay {
        opacity: 1 !important;
        transform: translateY(-50%) translateX(0) !important;
        transition: all 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.3s !important;
    }

    #intro-header .spotlight:hover .image img {
        transform: none !important;
        filter: brightness(1) contrast(1.1) !important;
    }
}

/* 모바일/태블릿 - 애니메이션 없이 항상 표시 */
@media screen and (max-width: 980px) {
    body #main #intro-header .spotlight .image,
    body #main #intro-header .spotlight:not(.animate) .image,
    body #main #intro-header.animate .spotlight .image,
    html body #main #intro-header .spotlight .image,
    html body #main #intro-header .spotlight:not(.animate) .image,
    html body #main #intro-header.animate .spotlight .image {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
        visibility: visible !important;
    }
    
    body #main #intro-header .spotlight .image img,
    html body #main #intro-header .spotlight .image img {
        opacity: 1 !important;
        visibility: visible !important;
    }
}

/* ========== 반응형 디자인 ========== */
@media screen and (max-width: 980px) {
    body #main #intro-header .spotlight .image,
    html body #main #intro-header .spotlight .image {
        height: auto !important;
        min-height: auto !important;
        max-width: 100% !important;
        width: 100% !important;
        padding: 0 !important;
        position: relative !important;
    }
    
    body #main #intro-header .spotlight .image img,
    html body #main #intro-header .spotlight .image img {
        height: auto !important;
        width: 100% !important;
        object-fit: contain !important;
    }
    
    #intro-header .header-text-overlay {
        left: 5% !important;
        max-width: 500px !important;
        padding: 1.5rem !important;
    }
    
    #intro-header .header-text-overlay h2 {
        font-size: 2.8rem !important;
    }
    
    #intro-header .header-text-overlay p {
        font-size: 1.1rem !important;
    }
}

@media screen and (max-width: 736px) {
    /* 헤더 모바일 반응형 */
    body #main #intro-header,
    html body #main #intro-header {
        padding: 0 !important;
        margin: 0 !important;
    }
    
    body #main #intro-header .spotlight,
    html body #main #intro-header .spotlight {
        min-height: auto !important;
        height: auto !important;
        padding: 0 !important;
        margin: 0 !important;
        position: relative !important;
        display: block !important;
    }
    
    body #main #intro-header .spotlight .image,
    html body #main #intro-header .spotlight .image {
        padding: 0 !important;
        margin: 0 !important;
        height: auto !important;
        max-width: 100% !important;
        width: 100% !important;
        min-width: 100% !important;
        position: relative !important;
        background: #ffffff !important;
        display: block !important;
    }
    
    body #main #intro-header .spotlight .image img,
    html body #main #intro-header .spotlight .image img {
        height: auto !important;
        width: 100% !important;
        object-fit: contain !important;
        object-position: center !important;
        border-radius: 0 !important;
        display: block !important;
    }
    
    #intro-header .header-text-overlay {
        position: absolute !important;
        left: 50% !important;
        top: 50% !important;
        transform: translate(-50%, -50%) !important;
        max-width: 90% !important;
        padding: 2rem 1.5rem !important;
        text-align: center !important;
        background: rgba(255, 255, 255, 0.95) !important;
        border-radius: 16px !important;
        backdrop-filter: blur(10px) !important;
        -webkit-backdrop-filter: blur(10px) !important;
        z-index: 10 !important;
    }
    
    #intro-header .header-text-overlay h2 {
        font-size: 2rem !important;
        color: #000000 !important;
        text-shadow: none !important;
    }
    
    #intro-header .header-text-overlay p {
        font-size: 1rem !important;
        color: #000000 !important;
        text-shadow: none !important;
    }
    
    #intro-header .spotlight:not(.animate) .header-text-overlay {
        opacity: 0 !important;
        transform: translate(-50%, -50%) scale(0.95) !important;
    }
    
    #intro-header.animate .spotlight .header-text-overlay {
        opacity: 1 !important;
        transform: translate(-50%, -50%) !important;
        transition: all 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.3s !important;
    }
    
    #intro-header .spotlight:hover .image img {
        transform: none !important;
    }
}

@media screen and (max-width: 480px) {
    /* 헤더 작은 모바일 */
    body #main #intro-header .spotlight,
    html body #main #intro-header .spotlight {
        display: block !important;
    }
    
    body #main #intro-header .spotlight .image,
    html body #main #intro-header .spotlight .image {
        display: block !important;
    }
    
    body #main #intro-header .spotlight .image img,
    html body #main #intro-header .spotlight .image img {
        display: block !important;
    }
    
    #intro-header .header-text-overlay {
        padding: 1.5rem 1rem !important;
        max-width: 85% !important;
    }
    
    #intro-header .header-text-overlay h2 {
        font-size: 1.5rem !important;
        margin-bottom: 0.6rem !important;
    }
    
    #intro-header .header-text-overlay p {
        font-size: 0.85rem !important;
        line-height: 1.4 !important;
    }
}

/* 접근성: 모션 민감성 사용자 대응 */
@media (prefers-reduced-motion: reduce) {
    #intro-header .spotlight .image,
    #intro-header .spotlight .image img,
    #intro-header .spotlight .header-text-overlay {
        animation: none !important;
        transition: none !important;
    }
    
    #intro-header .spotlight .image {
        opacity: 1 !important;
    }
    
    #intro-header .spotlight .header-text-overlay {
        opacity: 1 !important;
    }
    
    @media screen and (min-width: 981px) {
        #intro-header .spotlight .header-text-overlay {
            transform: translateY(-50%) !important;
        }
    }
}