@charset "UTF-8";

/* hero 배경만 정의 — 레이아웃/텍스트는 components.css */
.hero {
    background: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url('../../image/employment/idealTalent/background.jpg') center/cover no-repeat;
    display: flex;
    flex-direction: column;
}

/* welfare-item: components.css 기본값에서 추가 스타일 */
.welfare-item {
    margin: 20px;
    border-radius: 20px;
    outline: none;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08), 0 8px 32px rgba(0,0,0,0.06);
    align-items: center;
}

/* welfare-icon 팝 애니메이션 */
.welfare-icon { opacity: 0; }

@keyframes iconPop {
    0%   { transform: scale(0.4); opacity: 0; }
    70%  { transform: scale(1.12); opacity: 1; }
    100% { transform: scale(1);   opacity: 1; }
}
.welfare-icon.popped {
    animation: iconPop 0.55s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}

/* talent-grid: perspective 부모에서 설정 */
.talent-grid { perspective: 900px; }

/* talent-card: 플립인 초기 상태 */
.talent-card {
    transform-style: preserve-3d;
    will-change: transform;
    opacity: 0;
    transform: rotateY(80deg);
    transition: opacity 0.45s ease, transform 0.5s ease-out;
}
.talent-card.flip-visible {
    opacity: 1;
    transform: rotateY(0deg);
}
