@charset "utf-8";
@import 'font.css';

/*메인슬라이드 애니*/
.serBrand-wrap { position: relative;background: url(../../../../img/serWeb-back5.png) center top no-repeat;width: 100%;height: 100%;}
.subVT-wrap.serBrand-Top { position: absolute; left: 13% !important;}
.subVT-wrap img { width: 100%;height: 100%;} img { width: 100%;height: 100%;}
.serBrand-Top h2 { font-size: 20px;color: #fff;font-family: 'Paperlogy';font-weight: 600;letter-spacing: 0;}
.serBrand-Top h3 { color: #fff;}
.serBrand-Top .subVT-title { color: #fff;}

.subTblank { margin-top: 50px; }
.serV-form { position: absolute; left: 50%; top: 88%; transform: translateX(-50%); display: flex; gap: 15px; width: auto;}
.serV-form a {  display: inline-block; background: #111; border-radius: 30px; font-size: 16px; color: #39D66D; font-weight: 600; height: 45px; line-height: 45px; padding: 0 25px;
    text-align: center; text-decoration: none; transition: all 0.3s ease; box-shadow: 0px 4px 10px rgba(0,0,0,0.05); }
.serV-form a:hover {  background: #000; color: #39D66D; transform: translateY(-8px);box-shadow: 0px 10px 30px rgba(0,255,84,0.4);}

/*내용*/
.serWeb-body { position: relative;}
.serWeb-title {font-size: 24px;color:#39D66D;font-family: 'Paperlogy';font-weight: 700;letter-spacing: 0;text-transform: uppercase;}
.serWeb-uiux { display: flex; align-items: flex-start; margin-bottom: 60px; position: relative;}
.serWUI-title { width: 200px; font-size: 28px; font-weight: 800; color: #333; padding-top: 20px;text-align: right;padding-right: 40px;}
.serWUI-box { flex: 1; position: relative; padding: 35px; min-height: 360px;}
.serWepApp { margin-left: 30%;}

.serUiUx { margin-left: 7%;}
.serUiUx .serWUI-img span:nth-child(1) { position: relative;margin-left: -50px;z-index: 122;box-shadow: 0 30px 30px rgba(0,0,0,0.2);}
.serUiUx .serWUI-img span:nth-child(2) { position: relative;margin-left: -50px;z-index: 121;box-shadow: 0 30px 30px rgba(0,0,0,0.2);}
.serUiUx .serWUI-img span:nth-child(3) { position: relative;margin-left: -50px;z-index: 120;box-shadow: 0 30px 30px rgba(0,0,0,0.2);}

.serDashBoard { margin-left: 35%;}

.serDetailView .serWeb-right { margin-left: 30%;width: 70%;display: flex;}
.serDetailView .serWeb-right .serWUI-img { background: #fff;}
.serDetailView .serWeb-right .serWUI-img span:nth-child(1) { position: relative;margin-left: -10px;margin-top: 0; z-index: 122;box-shadow: 0 30px 30px rgba(0,0,0,0.2);}
.serDetailView .serWeb-right .serWUI-img span:nth-child(2) { position: relative;margin-left: -10px;margin-top: 20px; z-index: 121;box-shadow: 0 30px 30px rgba(0,0,0,0.2);border-radius: 5px;}
.serDetailView .serWeb-right .serWUI-img span:nth-child(3) { position: relative;margin-left: -80px;margin-top: 10px; z-index: 120;box-shadow: 0 30px 30px rgba(0,0,0,0.2);border-radius: 5px;}

.serDetailView .serWeb-left { width: 43%;position: absolute;left: 0;top: 20%;}
.serDetailView .serWeb-left p { font-size: 60px;}
.serDetailView .serWeb-left p b { font-size: 60px;font-weight: 600;}

/* 텍스트 스타일 (검은색 배경 위) */
.serWUI-box h4 { font-size: 24px; color: #39D66D; font-weight: 600; margin-bottom: 10px; position: relative; z-index: 10; }
.serWUI-box h5 { font-size: 16px; color: #fff; font-weight: 200; position: relative; z-index: 10; letter-spacing: 0; }
.serWUI-box h6 { margin-top: 10px;width: 200px;}
.serWUI-box h6 span { font-size: 16px; color: #fff; font-weight: 200; position: relative; z-index: 10; letter-spacing: 0; line-height: 130%;}
.serWUI-img {  display: flex; position: absolute; top: 0; left: 270px; width: calc(100% - 300px); height: 100%; z-index: 100;border-radius: 20px;overflow: hidden;background: #fff;}
.serWeb-uiux.active .serWUI-box::before { opacity: 1; transform: translateX(0);}
.serWUI-box::before { content: ''; position: absolute; top: 0; left: 0; width: 350px; height: 100%; background: #111; border-radius: 20px;overflow: hidden; z-index: 5;opacity: 0; 
    transition: opacity 0.6s ease; transition-delay: 0.1s;}

/* 이미지 개별 스타일 및 애니메이션 */
.serWUI-img span { display: block; height: 100%; flex: 1; overflow: hidden; opacity: 0; transform: translateX(100px); transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);}
.serWeb-uiux.active .serWUI-img span { opacity: 1; transform: translateX(0);}
.serWUI-img span img { width: 100%; height: 100%;object-fit: cover;object-position: center top;}

/* 순차적 등장 (이미지 개수에 따른 지연) */
.serWUI-img span:nth-child(1) { transition-delay: 0.2s; }
.serWUI-img span:nth-child(2) { transition-delay: 0.4s; }
.serWUI-img span:nth-child(3) { transition-delay: 0.6s; }



/* View 버튼 (이미지 위에 동동 떠있는 스타일) */
.view-btn { position: absolute; left: 380px; top: 50%; transform: translateY(-50%); width: 60px; height: 60px; background: #39D66D; border-radius: 50%; display: flex; align-items: center;
    justify-content: center; color: #fff; font-weight: 600; z-index: 20; cursor: pointer;}

/* serBenef-wrap */
.serBenef-wrap { clear: both;background: #fff;}
.serBenef-roll { width: 100%; overflow: hidden; position: relative; padding: 50px 0 50px 15%; }
.serBenef-inner { display: flex; width: fit-content; animation: rollingLoop 40s linear infinite;}
/* 마우스 호버 시 정지 */
.serBenef-roll:hover .serBenef-inner { animation-play-state: paused;}
.serBenef-card { flex-shrink: 0; width: 400px; margin-right: 30px; border-radius: 20px; overflow: hidden; position: relative; height: 550px; box-shadow: 0 10px 30px rgba(0,0,0,0.1);
 transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.4s ease; cursor: pointer;}
.serBenef-card:hover { transform: translateY(-15px); box-shadow: 0 20px 40px rgba(0,0,0,0.2); z-index: 10;}
.serBenef-card img { width: 100%; height: 100%; object-fit: cover;}
.serBenef-card:hover img { transform: scale(1.03); }
.serBenef-roll:hover .serBenef-inner { animation-play-state: paused;}
.serBenef-card span { position: absolute; bottom: 0; left: 0; width: 100%; padding: 35px 0; background: rgba(0, 0, 0, 0.25); backdrop-filter: blur(8px); color: #fff;
    text-align: center; font-size: 20px; font-weight: 500; z-index: 1000;}

@keyframes rollingLoop {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(calc(-50% - 10vw)); 
    }
}

/*포트폴리오*/
.serPortf-wrap { clear: both;width: 100%;height: 100%;background: #F5F5F5;}
.serPortf-body { width: 100%; margin: 0 auto; padding: 50px 0 0;}
.serPortf-inner { display: flex; gap: 20px; margin-bottom: 60px;align-items: stretch;}
.serPortf-half { flex: 2;min-width: 0; }
.serPortf-quarter { flex: 1;min-width: 0; }
.serPortf-half, .serPortf-quarter { display: flex; flex-direction: column; cursor: pointer;}
.serPortf-img {  width: 100%; flex: 1; /* ★ 텍스트를 제외한 나머지 높이를 이미지가 꽉 채우도록 함 */
    background: #111; 
    border-radius: 15px; 
    overflow: hidden; 
    margin-bottom: 15px; 
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.serPortf-img img {
    width: 100%; 
    height: 100%; 
    object-fit: cover; /* ★ 이미지가 박스 크기에 맞춰 잘리도록 설정 */
    transition: transform 0.5s ease;
}

.serPortf-body dl { margin: 0; padding-left: 5px; }
.serPortf-body dt { font-size: 24px; font-weight: 700; color: #111; margin-bottom: 0; }
.serPortf-body dd { font-size: 16px; color: #888; margin: 0; }

/* 4. 호버 애니메이션: 이미지 살짝 올라가면서 확대 */
.serPortf-half:hover .serPortf-img,
.serPortf-quarter:hover .serPortf-img { transform: translateY(-10px); box-shadow: 0 15px 30px rgba(0,0,0,0.1);}
.serPortf-half:hover .serPortf-img img,
.serPortf-quarter:hover .serPortf-img img { transform: scale(1.05); }

/* 5. 반응형 코딩 (모바일 대응) */
@media (max-width: 1024px) {
    .serPortf-inner {
        flex-wrap: wrap; /* 박스가 좁아지면 아래로 떨어짐 */
    }
    .serPortf-half, .serPortf-quarter {
        flex: 1 1 calc(50% - 10px); /* 태블릿에서는 2열 배치 */
    }
}

@media (max-width: 640px) {
    .serPortf-half, .serPortf-quarter {
        flex: 1 1 100%; /* 모바일에서는 1열 배치 */
    }
    .serPortf-img {
        aspect-ratio: 16 / 9; /* 모바일에서는 조금 더 납작하게 */
    }
    .serPortf-body dt { font-size: 16px; }
}





@media (max-width: 768px) {
    
    
    
}