@charset "utf-8";

/*** 메인 히어로 ***/
.main { position:relative; background:#0A0F22; overflow:hidden; }
.main .visual { position:absolute; top:0; left:0; width:100%; height:800px; z-index:1; }
.main .visual img { width:100%; height:100%; object-fit:cover; }
.main .visual video { width:100%; height:100%; object-fit:cover; opacity:.6; }
.main .visual-inner { position:relative; z-index:2; height:800px; display:flex; align-items:center; padding-top:130px;}
.visual-txt { width:100%; max-width:900px; }
.visual-txt .sub-tit { display:block; font-size:var(--fs16); color:var(--c_base1); font-weight:700; letter-spacing:1px; margin-bottom:20px; }
.visual-txt .main-tit { font-size:var(--fs50); color:#fff; font-weight:700; line-height:1.2; letter-spacing:-1.2px; margin-bottom:20px; }
.visual-txt .desc { font-size:var(--fs16); color:#fff; opacity:0.8; line-height:1.6; font-weight:400; margin-bottom:80px; }
.btn-wrap { display:flex; gap:15px; align-items:center; }
.btn-wrap a { display:inline-flex; align-items:center; justify-content:center; height:60px; padding:0 40px; border-radius:30px; font-size:var(--fs16); font-weight:400; transition:all .3s ease; color:#fff; }
.btn-explore { background:var(--c_base3); color:#fff; }
.btn-explore img { width:18px; margin-left:10px; filter:brightness(0) invert(1); }
.btn-explore:hover { background:#d45a5e; transform:translateY(-3px); }
.btn-professor { background:var(--c_base3); color:#fff; }
.btn-professor:hover { background:#d45a5e; transform:translateY(-3px); }
.btn-member { background:var(--c_base1); color:#fff; }
.btn-member:hover { background:#2a7e7c; transform:translateY(-3px); }
.btn-contact { border:1px solid rgba(255,255,255,0.4); color:#fff; background:rgba(255,255,255,0.1); backdrop-filter:blur(5px); }
.btn-contact:hover { background:#fff; color:var(--c_base2); border-color:#fff; }

/* 반응형 처리 */
@media screen and (max-width: 1199px) { 
.main .visual-inner {padding-top:70px;}
.main .visual, .main .visual-inner { height:700px;} 
.visual-txt {padding:0 30px;}
.visual-txt .main-tit { font-size:var(--fs45); } 
.visual-txt .desc { font-size:var(--fs16); margin-bottom:30px; } 
.btn-wrap a { height:50px; padding:0 25px; font-size:var(--fs14); } 
}
@media screen and (max-width: 767px) { 
.main .visual, .main .visual-inner { height:50vh; min-height:600px; } 
.visual-txt .sub-tit { font-size:var(--fs14); margin-bottom:10px; } 
.visual-txt .main-tit { font-size:var(--fs32); word-break:keep-all; } 
.visual-txt .desc { font-size:var(--fs14); opacity:0.7; } 
.btn-wrap { flex-direction:column; align-items:flex-start; gap:10px; } 
.btn-wrap a { width:100%; max-width:240px; } 
}
@media screen and (max-width: 500px) { 
.visual-txt .main-tit { font-size:var(--fs28); } .btn-wrap a { max-width:100%; } 
}

/*** Research-area ***/
.part-research_area { background:var(--bg1); padding:100px 0; }
.part-research_area .h-group { text-align:center; margin-bottom:60px; }
.part-research_area .h-group .sub-tit { display:block; font-size:var(--fs14); color:var(--c_base3); font-weight:700; letter-spacing:1px; margin-bottom:16px; }
.part-research_area .h-group .main-tit { font-size:var(--fs48); color:#000; font-weight:700; margin-bottom:24px; position:relative; }
.part-research_area .h-group .main-tit:after {content:""; display:block; width:96px; height:4px; background:var(--c_base2); position:absolute; left:50%; transform:translateX(-50%); border-radius:4px;}
.part-research_area .h-group .desc { font-size:var(--fs16); line-height:1.6; }
.research-list { display:flex; flex-wrap:wrap; gap:25px; }
.research-list li { width:calc(50% - 18.75px); border-radius:20px; overflow:hidden; box-shadow: 20px 20px 20px 0 rgba(48, 51, 124, 0.10); background:#fff; transition:all 0.4s ease; }
.research-list li a { display:block; height:100%; }
.research-list li .img-box { position:relative; height:240px; overflow:hidden; }
.research-list li .img-box .bg-img { width:100%; height:100%; object-fit:cover; transition:transform 0.6s ease; }
.research-list li .img-box .icon { position:absolute; left:20px; bottom:20px; width:48px; height:48px; background:#fff; border-radius:10px; display:flex; align-items:center; justify-content:center; box-shadow:0 5px 15px rgba(0,0,0,0.1); z-index:2; }
.research-list li .img-box .icon img { width:40px; }
.research-list li .txt-box { padding:32px; background:#fff; transition:all 0.4s ease; height: 100%;}
.research-list li .txt-box .tit { display:block; font-size:var(--fs20); color:#000; font-weight:400; margin-bottom:20px; line-height:1.4; height:2.8em; overflow:hidden; display:-webkit-box; -webkit-box-orient:vertical; }
.research-list li .txt-box .info { font-size:var(--fs15); color:#666; line-height:1.6; margin-bottom:20px; height:4.8em; overflow:hidden; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; transition:all 0.4s ease; }
.research-list li .txt-box .more { font-size:var(--fs14); font-weight:400; color:var(--c_base2); display:flex; align-items:center; gap:8px; transition:all 0.4s ease; }
.research-list li .txt-box .more::after { content:'→'; display:inline-block; transition:transform 0.3s; }
.research-list li:hover { transform:translateY(-10px); }
.research-list li:hover .img-box .bg-img { transform:scale(1.1); }
.research-list li:hover .txt-box { background:var(--c_base2); }
.research-list li:hover .txt-box .tit, .research-list li:hover .txt-box .info, .research-list li:hover .txt-box .more { color:#fff; }
.research-list li:hover .txt-box .more::after { transform:translateX(5px); }

/* 반응형 처리 */
@media screen and (max-width: 1199px) { 
.part-research_area { padding:80px 20px; } 
.research-list li { width:calc(50% - 12.5px); } 
.part-research_area .h-group .main-tit { font-size:var(--fs36); }
.part-research_area .h-group .main-tit:after {bottom:-10px;}
.research-list li .txt-box .info {height:auto;} 
.research-list li .txt-box .tit {height:auto;}

}
@media screen and (max-width: 767px) { 
.part-research_area { padding:60px 20px; } 
.part-research_area .h-group { margin-bottom:40px; } 
.part-research_area .h-group .main-tit { font-size:var(--fs28); } 
.part-research_area .h-group .main-tit:after {width:48px;} 
.research-list li { width:100%; } 
.research-list li .img-box { height:200px; } 
.research-list li .txt-box { padding:25px; } 
.part-research_area .h-group .sub-tit {margin-bottom:0;}

}
@media screen and (max-width: 500px) { 
.research-list li { width:100%; } .research-list { gap:20px; } 
}


/*** publications ***/
.part-publications { background:#fff; padding:100px 0; }
.h-group-flex { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:40px; }
.h-group-flex .sub-tit { display:block; font-size:var(--fs15); color:var(--c_base3); font-weight:700; margin-bottom:10px; }
.h-group-flex .main-tit { font-size:var(--fs48); color:#000; font-weight:700; line-height:1.2; }
.h-group-flex .view-all { font-size:var(--fs16); color:var(--c_base2); font-weight:500; display:flex; align-items:center; gap:8px; }
.h-group-flex .view-all img { width:18px; }
.pub-list { display:flex; flex-direction:column; gap:20px; }
.pub-item { display:flex; justify-content:space-between; align-items:center; padding:32px; border:1px solid #eee; border-radius:16px; background:#fff; transition:all 0.4s ease; gap:28px;}
.pub-item .tit { display:block; font-size:var(--fs20); color:#000; font-weight:600; margin-bottom:8px; transition:color 0.4s; }
.pub-item .meta-data { display:flex; align-items:center; gap:8px 25px; font-size:var(--fs16); transition:color 0.4s; flex-wrap:wrap; }
.pub-item .meta-data span { display:flex; align-items:center; gap:8px; }
.pub-item .meta-data .author {overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical; max-width:1000px;}
.pub-item .meta-data .journal { color:var(--c_base1); font-weight:400; }
.pub-item .meta-data img { width:16px; height:auto; }
.pub-item .meta-data .icon-hover { display:none; }
.pub-item .link-circle { width:44px; height:44px; border-radius:50%; background:#f5f7f9; display:flex; align-items:center; justify-content:center; transition:background 0.4s; }
.pub-item .link-circle img { width:20px; transition:filter 0.4s; }
.info-box {width:calc(100% - 72px);}
/* Hover Interaction */
.pub-item:hover, .featured .pub-item { background:var(--c_base2); border-color:var(--c_base2); }
.pub-item:hover .tit, .pub-item:hover .meta-data, .pub-item:hover .meta-data .journal, .featured .pub-item .tit, .featured .pub-item .meta-data, .featured .pub-item .meta-data .journal { color:#fff; }
.pub-item:hover .meta-data .icon-def { display:none; }
.pub-item:hover .meta-data .icon-hover { display:block; }
.pub-item:hover .link-circle, .featured .pub-item .link-circle { background:#fff; }
/* Featured(시안 파란배경) 별도 처리 */
.featured .pub-item .meta-data .icon-def { display:none; }
.featured .pub-item .meta-data .icon-hover { display:block; }

/* 반응형 처리 */
@media screen and (max-width: 1199px) { .part-publications { padding:80px 20px; } .pub-item { padding:32px; } .pub-item .tit { font-size:var(--fs20); } 
.pub-item .meta-data .author {-webkit-line-clamp:2;}
}


@media screen and (max-width: 767px) { 
.h-group-flex { flex-direction:column; align-items:flex-start; gap:20px; margin-bottom:30px; } 
.pub-item {  align-items:flex-start; gap:16px; padding:20px; } 
.pub-item .meta-data { flex-wrap:wrap; gap:10px 20px; } 
.pub-item .link-circle {  } 
.part-publications {padding:60px 20px;}
}
@media screen and (max-width: 500px) { 
.h-group-flex .main-tit { font-size:var(--fs32); } 
.pub-item .tit { font-size:var(--fs18); } 
.pub-item .meta-data { font-size:var(--fs14); } 
.part-publications {padding:50px 20px;}
.research-list li .txt-box .tit {height:auto;}

}



/*** gallery ***/
.part-gallery { background:var(--bg1); padding:100px 0; }
.part-gallery .h-group { text-align:center; margin-bottom:60px; }
.part-gallery .h-group .sub-tit { display:block; font-size:var(--fs14); color:var(--c_base3); font-weight:700; letter-spacing:1px; margin-bottom:16px; }
.part-gallery .h-group .main-tit { font-size:var(--fs48); color:#000; font-weight:700; margin-bottom:25px; position:relative; display:inline-block; }
.part-gallery .h-group .main-tit::after { content:''; position:absolute; bottom:-10px; left:50%; transform:translateX(-50%); width:64px; height:4px; border-radius:4px; background:var(--c_base2); }
.part-gallery .h-group .desc { font-size:var(--fs16); color:#666; margin-top:20px; }
.gallery-list { display:flex; flex-wrap:wrap; gap:25px; }
.gallery-list li { width:calc(25% - 18.75px); border-radius:15px; overflow:hidden; background:#fff; box-shadow: 10px 10px 20px 0 rgba(74, 85, 101, 0.10); transition:all 0.4s ease; }
.gallery-list li a { display:block; }
.gallery-list li .img-box { height:220px; overflow:hidden; }
.gallery-list li .img-box img { width:100%; height:100%; object-fit:cover; transition:transform 0.5s ease; }
.gallery-list li .txt-box { padding:32px; transition:all 0.4s ease; }
.gallery-list li .txt-box .date { display:flex; align-items:center; gap:8px; font-size:var(--fs14); color:#999; margin-bottom:8px; transition:color 0.4s; }
.gallery-list li .txt-box .date img { width:14px; }
.gallery-list li .txt-box .date .icon-hover { display:none; }
.gallery-list li .txt-box .tit { display:block; font-size:var(--fs18); color:#101828; font-weight:400; line-height:1.4; height:2.8em; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; transition:color 0.4s; }
/* Interaction */
.gallery-list li:hover { transform:translateY(-10px); }
.gallery-list li:hover .img-box img { transform:scale(1.1); }
.gallery-list li:hover .txt-box { background:var(--c_base2); }
.gallery-list li:hover .txt-box .tit, .gallery-list li:hover .txt-box .date { color:#fff; }
.gallery-list li:hover .txt-box .date .icon-def { display:none; }
.gallery-list li:hover .txt-box .date .icon-hover { display:block; }
/* Responsive */
@media screen and (max-width: 1199px) { .part-gallery { padding:80px 20px; } .gallery-list li { width:calc(50% - 12.5px); } .part-gallery .h-group .main-tit { font-size:var(--fs36); } 
.part-gallery .h-group {margin-bottom:48px;}
}
@media screen and (max-width: 767px) { .part-gallery { padding:60px 20px; } .part-gallery .h-group .main-tit { font-size:var(--fs28); } .gallery-list li .img-box { height:200px; } .gallery-list li .txt-box { padding:20px; } 
.part-gallery .h-group .sub-tit {margin-bottom:0;}
.part-gallery .h-group .main-tit::after {width:48px;}
.part-gallery .h-group .desc {margin-top:8px;}
.part-gallery .h-group {margin-bottom:32px;} 
}
@media screen and (max-width: 500px) { .gallery-list li { width:100%; } }