/* 비즈니스 섹션 전용 CSS */

/* 사업소개 섹션 스타일 */
.business-area-section {
    padding: 80px 0;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    background-image: url('../images/business-bg.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
}

/* 배경 오버레이 추가 */
.business-area-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(147, 155, 155, 0.4);
    z-index: 1;
}

/* 콘텐츠를 오버레이 위에 표시 */
.business-area-section .container {
    position: relative;
    z-index: 2;
}

.section-header {
    text-align: center;
    margin-bottom: 40px;
}

.section-subtitle {
    font-size: 1.5rem;
    font-weight: 600;
    color: #ff6b35;
    letter-spacing: 2px;
    margin-bottom: 10px;
    text-transform: uppercase;
}

.section-title {
    font-size: 2.5rem;
    font-weight: 600;
    color: #333;
    margin: 0;
}

.title-highlight {
    font-weight: 600;
    color: #333;
}

/* 사업 카드 컨테이너 */
.business-cards-container {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 30px;
    max-width: 1400px;
    margin: 0 auto;
    padding: 40px 20px;
}

/* 애니메이션 키프레임 */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(60px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeInScale {
    from {
        opacity: 0;
        transform: translateY(40px) scale(0.9);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* 애니메이션 클래스 - 초기 상태 */
.animate-header {
    opacity: 0;
    transform: translateY(30px);
    transition: all 2.0s cubic-bezier(0.16, 1, 0.3, 1);
}

.animate-card {
    opacity: 0;
    transform: translateY(20px);
    transition: all 2.5s cubic-bezier(0.16, 1, 0.3, 1);
}

/* 애니메이션 활성화 클래스 */
.animate-header.animated {
    opacity: 1;
    transform: translateY(0);
}

.animate-card.animated {
    opacity: 1;
    transform: translateY(0);
}

/* 각 카드별 애니메이션 딜레이 */
.animate-card:nth-child(1).animated {
    transition-delay: 0.1s;
}

.animate-card:nth-child(2).animated {
    transition-delay: 0.2s;
}

.animate-card:nth-child(3).animated {
    transition-delay: 0.3s;
}

/* 사업 카드 스타일 */
.business-card {
    width: 400px;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    color: inherit;
    display: block;
}

.business-card:hover {
    transform: translateY(-10px);
    text-decoration: none;
    color: inherit;
}

.card-image {
    position: relative;
    width: 400px;
    height: 500px;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
}

.business-card:hover .card-image {
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
}

.card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    opacity: 0;
    transform: scale(1.1);
    transition: all 3.0s cubic-bezier(0.16, 1, 0.3, 1);
    /* 이미지 품질 최적화 */
    image-rendering: -webkit-optimize-contrast;
    image-rendering: optimize-contrast;
    image-rendering: crisp-edges;
    -ms-interpolation-mode: bicubic;
    /* GPU 가속 및 성능 최적화 */
    backface-visibility: hidden;
    will-change: transform, opacity;
    /* 이미지 선명도 유지 */
    filter: contrast(1.02) saturate(1.1);
}

/* 카드가 애니메이션될 때 이미지도 함께 애니메이션 */
.animate-card.animated .card-image img {
    opacity: 1;
    transform: scale(1);
}

/* 이미지 페이드인 애니메이션 */
@keyframes fadeInImage {
    0% {
        opacity: 0;
        transform: scale(1.1);
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}

/* 각 카드별 이미지 애니메이션 딜레이 */
.animate-card:nth-child(1) .card-image img {
    animation-delay: 0.4s;
}

.animate-card:nth-child(2) .card-image img {
    animation-delay: 0.6s;
}

.animate-card:nth-child(3) .card-image img {
    animation-delay: 0.8s;
}

/* 이미지가 없을 때 기본 배경 제거 */
.card-image {
    background: transparent;
}

.business-card:hover .card-image img {
    transform: scale(1.05);
}

/* 카드 오버레이 - 완전히 투명하게 */
.card-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: transparent;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 30px;
    color: white;
    opacity: 1;
    transition: all 0.3s ease;
    /* 텍스트 가독성을 위한 그림자 */
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8);
}

.business-card:hover .card-overlay {
    opacity: 1;
    background: transparent;
}

/* 카드 번호 */
.card-number {
    font-size: 4rem;
    font-weight: 100;
    color: rgba(255, 255, 255, 0.3);
    line-height: 1;
    align-self: flex-start;
}

/* 카드 콘텐츠 */
.card-content {
    align-self: flex-end;
    text-align: left;
}

.business-area-section .card-title {
    font-size: 1.3rem;
    font-weight: 600;
    margin-bottom: 8px;
    line-height: 1.3;
    color: #fff; /* 비즈니스 카드 타이틀은 항상 흰색 */
}

.business-area-section .card-subtitle {
    font-size: 1rem;
    font-weight: 300;
    opacity: 0.9;
    margin: 0;
    color: rgba(255, 255, 255, 0.9); /* 비즈니스 카드 부제도 흰색 톤 */
}

/* 각 카드별 오버레이 완전히 투명 */
.business-card:nth-child(1) .card-overlay,
.business-card:nth-child(2) .card-overlay,
.business-card:nth-child(3) .card-overlay {
    background: transparent;
}

.business-card:nth-child(1):hover .card-overlay,
.business-card:nth-child(2):hover .card-overlay,
.business-card:nth-child(3):hover .card-overlay {
    background: transparent;
}

/* 반응형 디자인 */
@media (max-width: 992px) {
    .business-cards-container {
        flex-direction: column;
        align-items: center;
        gap: 40px;
    }
    
    .business-card {
        max-width: 400px;
    }
    
    .section-title {
        font-size: 2rem;
    }
}

@media (max-width: 768px) {
    .business-area-section {
        padding: 60px 20px;
    }
    
    .section-header {
        margin-bottom: 60px;
    }
    
    .section-title {
        font-size: 1.8rem;
    }
    
    .card-image {
        height: 350px;
    }
    
    .card-overlay {
        padding: 25px;
    }
    
    .card-number {
        font-size: 3rem;
    }
    
    .business-area-section .card-title {
        font-size: 1.1rem;
    }
}