@charset "utf-8";

/* ============================================================
   미래산업융합학회(FICA) 메인페이지 — 브릭 테마(#92342b) 리디자인
   (main.js의 swiper 훅 클래스: .main_vis/.main_gall/.linksite 유지)
   ============================================================ */

.slider {overflow:hidden; box-sizing:border-box; max-width:100%;}
.main_container {overflow:hidden; background:#fff;}

/* ---------- 공통 섹션 ---------- */
.sec {padding:5.5rem 0;}
.sec > .innerwrap {max-width:var(--maxWidth); margin:0 auto; padding:0 20px;}
.sec_head {text-align:center; margin-bottom:3rem;}
.sec_head .label {display:inline-flex; align-items:center; gap:9px; color:var(--color); font-weight:800; letter-spacing:3px; font-size:0.8125rem;}
.sec_head .label::before, .sec_head .label::after {content:''; width:26px; height:2px; background:var(--color); border-radius:50rem; opacity:0.5;}
.sec_head h2 {font-family:'Paperlogy', sans-serif; font-size:2.5rem; font-weight:700; color:#241a18; letter-spacing:-1px; margin-top:0.75rem; line-height:1.25;}
.sec_head p {margin-top:1rem; color:#6f615c; font-size:1.0625rem; line-height:1.7; word-break:keep-all;}
.more_btn {display:inline-flex; align-items:center; gap:8px; background:var(--gradient); color:#fff; font-weight:700; font-size:1.0313rem; border-radius:50rem; padding:0.875rem 2rem; box-shadow:0 8px 20px rgba(146,52,43,0.22); transition:transform .2s ease-out, box-shadow .2s ease-out;}
.more_btn:hover {transform:translateY(-3px); box-shadow:0 14px 28px rgba(146,52,43,0.3);}
.more_btn .material-icons-outlined {font-size:1.25rem;}

/* ---------- HERO ---------- */
.main_vis {position:relative; height:82vh; min-height:560px; max-height:820px; overflow:hidden;}
.main_vis .slider, .main_vis .swiper-wrapper, .main_vis .swiper-slide {height:100%;}

/* ── Swiper 미초기화(자원 미로딩/JS오류) 대비 폴백: 세로로 길게 쌓이는 현상 방지 ──
   Swiper가 정상 초기화되면 컨테이너에 .swiper-initialized 가 붙어 아래 규칙은 자동 해제됨 */
.main_vis .slider:not(.swiper-initialized) .swiper-slide:not(:first-child) {display:none;}
.main_gall .slider:not(.swiper-initialized) .swiper-wrapper,
.linksite .slider:not(.swiper-initialized) .swiper-wrapper {display:flex; flex-wrap:nowrap;}
.main_gall .slider:not(.swiper-initialized) .swiper-slide {flex:0 0 calc((100% - 32px) / 3); margin-right:16px;}
.linksite .slider:not(.swiper-initialized) .swiper-slide {flex:0 0 calc((100% - 48px) / 5); margin-right:12px;}
@media screen and (max-width:768px) {
	.main_gall .slider:not(.swiper-initialized) .swiper-slide {flex-basis:100%; margin-right:0;}
	.linksite .slider:not(.swiper-initialized) .swiper-slide {flex-basis:calc((100% - 24px) / 3);}
}
.main_vis .swiper-slide {position:relative; background-size:cover; background-position:50% 50%;}
.main_vis .swiper-slide::after {content:''; position:absolute; inset:0; background:linear-gradient(105deg, rgba(56,16,12,0.82) 0%, rgba(56,16,12,0.45) 52%, rgba(56,16,12,0.12) 100%);}
.main_vis .visual01 {background-image:url(images/main_vis01.jpg?ver=3);}
.main_vis .visual02 {background-image:url(images/main_vis02.jpg?ver=3);}
.main_vis .visual03 {background-image:url(images/main_vis03.jpg?ver=3);}
.main_vis .text_box {position:relative; z-index:2; max-width:var(--maxWidth); height:100%; margin:0 auto; padding:0 40px; display:flex; flex-direction:column; justify-content:center;}
.main_vis .text_box .inner {max-width:820px; color:#fff;}
.main_vis .text_box .label {display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,0.14); border:1px solid rgba(255,255,255,0.25); backdrop-filter:blur(4px); border-radius:50rem; font-size:0.9375rem; font-weight:600; letter-spacing:1px; padding:0.5rem 1.25rem; margin-bottom:1.75rem;}
.main_vis .text_box .title {font-family:'Paperlogy', sans-serif; font-size:3.75rem; font-weight:700; line-height:1.22; letter-spacing:-2px; text-shadow:0 4px 30px rgba(0,0,0,0.35);}
.main_vis .text_box .title strong {color:#ffcc98;}
.main_vis .text_box .desc {font-size:1.3125rem; line-height:1.65; margin-top:1.75rem; color:rgba(255,255,255,0.92); max-width:640px; word-break:keep-all; text-shadow:0 2px 16px rgba(0,0,0,0.3);}

/* 애니메이션 */
.main_vis .swiper-slide-active .label {animation:1s .3s fadeUp both;}
.main_vis .swiper-slide-active .title {animation:1s .5s fadeUp both;}
.main_vis .swiper-slide-active .desc {animation:1s .75s fadeUp both;}
@keyframes fadeUp {0% {transform:translateY(48px); opacity:0;} 100% {transform:translateY(0); opacity:1;}}

/* 퀵링크 */
.quick_link {position:absolute; left:0; right:0; bottom:0; z-index:3; max-width:var(--maxWidth); margin:0 auto; padding:0 20px;}
.quick_link .item_list {display:flex; background:rgba(56,16,12,0.55); backdrop-filter:blur(8px); border-radius:1.5rem 1.5rem 0 0; overflow:hidden; box-shadow:0 -10px 40px rgba(0,0,0,0.18);}
.quick_link .item_list > li {flex:1;}
.quick_link .item_list > li + li {border-left:1px solid rgba(255,255,255,0.14);}
.quick_link .item_list > li > a {display:flex; align-items:center; justify-content:center; gap:14px; color:#fff; padding:1.5rem 1rem; transition:background .2s ease-out;}
.quick_link .item_list > li > a:hover {background:rgba(146,52,43,0.55);}
.quick_link .icons {flex:0 0 40px; width:40px;}
.quick_link .icons i {display:block; position:relative; width:100%;}
.quick_link .icons i::before {content:''; display:block; padding-bottom:100%;}
.quick_link .icons i::after {content:''; position:absolute; inset:0; background:50%/contain no-repeat; filter:brightness(0) invert(1);}
.quick_link .mn01 .icons i::after {background-image:url(images/quick_link_icon01.png);}
.quick_link .mn02 .icons i::after {background-image:url(images/quick_link_icon02.png);}
.quick_link .mn03 .icons i::after {background-image:url(images/quick_link_icon03.png);}
.quick_link .mn04 .icons i::after {background-image:url(images/quick_link_icon04.png);}
.quick_link em {font-size:1.0625rem; font-weight:600;}

/* ---------- ABOUT / 목적 ---------- */
.main_about {background:#fff;}
.about_intro {max-width:900px; margin:0 auto 3.25rem; text-align:center; font-size:1.25rem; line-height:1.85; color:#403430; word-break:keep-all;}
.about_intro strong {color:var(--color); font-weight:700;}
.obj_grid {display:grid; grid-template-columns:repeat(1, 1fr); gap:1.125rem;}
.obj_item {background:#fff; border:1px solid #eaded9; border-radius:18px; padding:1.75rem 1.5rem; text-align:center; box-shadow:0 5px 16px rgba(146,52,43,0.05); transition:transform .22s ease-out, box-shadow .22s ease-out, border-color .22s;}
.obj_item:hover {transform:translateY(-6px); box-shadow:0 18px 32px rgba(146,52,43,0.13); border-color:#e3cec9;}
.obj_item .ic {display:inline-flex; justify-content:center; align-items:center; width:60px; height:60px; background:linear-gradient(135deg, #92342b 0%, #c65a44 100%); color:#fff; border-radius:18px; margin-bottom:1rem; box-shadow:0 8px 18px rgba(146,52,43,0.24);}
.obj_item .ic .material-icons-outlined {font-size:1.875rem;}
.obj_item .tt {display:block; font-size:1.125rem; font-weight:700; color:#2d2422; margin-bottom:0.375rem; letter-spacing:-0.3px;}
.obj_item .ds {font-size:0.9688rem; line-height:1.55; color:#6f615c; word-break:keep-all;}
.about_more {text-align:center; margin-top:2.75rem;}

/* ---------- STATS ---------- */
.main_stats {background:var(--gradient); position:relative; overflow:hidden;}
.main_stats::before {content:''; position:absolute; top:-40%; right:-5%; width:420px; height:420px; background:radial-gradient(circle, rgba(255,255,255,0.12), transparent 70%);}
.main_stats .innerwrap {display:flex; flex-wrap:wrap; justify-content:center; gap:1rem;}
.main_stats .stat {flex:1 1 220px; text-align:center; color:#fff; padding:1rem; position:relative;}
.main_stats .stat + .stat::before {content:''; position:absolute; left:0; top:20%; height:60%; width:1px; background:rgba(255,255,255,0.22);}
.main_stats .stat .num {font-family:'Paperlogy', sans-serif; font-size:3.25rem; font-weight:700; line-height:1; letter-spacing:-1px;}
.main_stats .stat .num small {font-size:1.5rem; font-weight:600; margin-left:2px;}
.main_stats .stat .lb {display:block; margin-top:0.75rem; font-size:1.0625rem; color:rgba(255,255,255,0.9);}

/* ---------- 공지 + 최신소식 ---------- */
.main_news {background:#faf6f4;}
.main_news .cols {display:flex; flex-direction:column; gap:2.5rem;}

/* 공지사항 */
.notice {position:relative;}
.notice .top {display:flex; align-items:center; justify-content:space-between; border-bottom:2px solid var(--color); padding-bottom:1rem; margin-bottom:0.5rem;}
.notice .top h3 {font-size:1.5rem; font-weight:800; color:#241a18;}
.notice .top .more {display:inline-flex; align-items:center; gap:5px; color:var(--color); font-weight:700; font-size:0.9375rem;}
.notice .list li a {display:flex; align-items:center; gap:1rem; padding:1.1rem 0.25rem; border-bottom:1px solid #ecdfdb; transition:padding .2s ease-out;}
.notice .list li a:hover {padding-left:0.75rem;}
.notice .list li a .badge {flex:0 0 auto; background:var(--bk-tint, #f3e7e4); color:var(--color); font-size:0.75rem; font-weight:700; border-radius:50rem; padding:3px 11px;}
.notice .list li a .title {flex:1; color:#3a302c; font-size:1.0938rem; font-weight:500; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; transition:color .2s;}
.notice .list li a:hover .title {color:var(--color);}
.notice .list li a .date {flex:0 0 auto; color:#a99b96; font-size:0.9063rem;}

/* 최신소식 갤러리 */
.main_gall .slider {overflow:hidden; padding:4px;}
.main_gall .swiper-slide {height:auto;}
.main_gall .item a {display:block; height:100%; background:#fff; border:1px solid #f0e2df; border-radius:1.125rem; overflow:hidden; box-shadow:0 10px 26px rgba(146,52,43,0.08); transition:transform .22s ease-out, box-shadow .22s ease-out;}
.main_gall .item a:hover {transform:translateY(-5px); box-shadow:0 18px 34px rgba(146,52,43,0.15);}
.main_gall .thumb_wrap {position:relative; overflow:hidden;}
.main_gall .thumb_wrap::before {content:''; display:block; padding-bottom:56%;}
.main_gall .thumb_wrap img {position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .5s ease-out;}
.main_gall .item a:hover .thumb_wrap img {transform:scale(1.06);}
.main_gall .wrap {position:relative; display:flex; flex-direction:column; height:100%;}
.main_gall .wrap .date {display:inline-block; color:var(--color); font-size:0.875rem; font-weight:700; padding:0.875rem 1.125rem 0;}
.main_gall .wrap .title {display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; flex:1; font-size:1.0625rem; font-weight:700; color:#2d2422; line-height:1.4; padding:0.25rem 1.125rem 1.125rem; overflow:hidden; word-break:keep-all;}
.main_gall .control_btn {display:flex; align-items:center; gap:8px; margin-top:1.25rem; justify-content:flex-end;}
.control_btn .slide_button, .control_btn .btn_more {width:42px; height:42px; border-radius:50rem; display:flex; justify-content:center; align-items:center; transition:all .2s ease-out;}
.control_btn .slide_button {background:#fff; border:1px solid #e0cfcb;}
.control_btn .slide_button::after {font-family:var(--material); content:'\e5e0'; color:var(--color); font-size:1.125rem;}
.control_btn .slide_next::after {transform:rotate(180deg);}
.control_btn .slide_button:hover {background:var(--color); border-color:var(--color);}
.control_btn .slide_button:hover::after {color:#fff;}
.control_btn .btn_more {background:var(--color); border:1px solid var(--color);}
.control_btn .btn_more::after {font-family:var(--material); content:'\e145'; color:#fff; font-size:1.25rem;}
.control_btn .slide_button > span, .control_btn .btn_more > span {position:absolute; width:1px; height:1px; overflow:hidden; font-size:0; text-indent:100%;}

/* ---------- 학회지 + 학술대회 ---------- */
.main_link {background:#fff;}
.main_link .cols {display:flex; flex-direction:column; gap:1.5rem;}
.thesis_link {display:flex; align-items:center; gap:1.75rem; background:linear-gradient(120deg, #faf3f1, #f6ecea); border:1px solid #ecdcd8; border-radius:22px; padding:2rem; flex-wrap:wrap;}
.thesis_link .imgs .item {display:block; width:150px; border-radius:10px; overflow:hidden; box-shadow:0 12px 26px rgba(146,52,43,0.18);}
.thesis_link .imgs .item img {display:block; width:100%;}
.thesis_link .title_group {flex:1; min-width:220px;}
.thesis_link .title_group h3 {font-size:1.625rem; font-weight:800; color:#241a18; line-height:1.3;}
.thesis_link .title_group h3 .ptxt {color:var(--color);}
.thesis_link .title_group p {margin-top:0.625rem; color:#6f615c; font-size:1rem; line-height:1.6;}
.thesis_link .rule_link {display:flex; flex-wrap:wrap; gap:8px; width:100%; margin-top:0.5rem;}
.thesis_link .rule_link > li > a {display:inline-flex; align-items:center; gap:6px; background:#fff; border:1px solid #e6d3ce; border-radius:50rem; color:var(--color); font-weight:600; font-size:0.9375rem; padding:0.5rem 1rem; transition:all .18s ease-out;}
.thesis_link .rule_link > li > a:hover {background:var(--color); border-color:var(--color); color:#fff;}
.link_bn > ul {display:flex; flex-direction:column; gap:1rem;}
.link_bn > ul > li {background:#fff; border:1px solid #e6d3ce; border-left:5px solid var(--color); border-radius:16px;}
.link_bn > ul > li > a {display:flex; align-items:center; gap:1rem; padding:1.5rem 1.75rem; position:relative;}
.link_bn > ul > li > a .icons {flex:0 0 52px; width:52px;}
.link_bn > ul > li > a .icons i {display:block; position:relative;}
.link_bn > ul > li > a .icons i::before {content:''; display:block; padding-bottom:100%;}
.link_bn > ul > li > a .icons i::after {content:''; position:absolute; inset:0; background:50%/contain no-repeat;}
.link_bn .mn01 .icons i::after {background-image:url(images/link_bn_icon01.png);}
.link_bn .mn02 .icons i::after {background-image:url(images/link_bn_icon02.png);}
.link_bn > ul > li > a em {flex:1; font-size:1.375rem; font-weight:700; color:#2d2422; line-height:1.35;}
.link_bn > ul > li > a em i {display:block; color:var(--color); font-size:0.875rem; font-weight:700; letter-spacing:1px;}
.link_bn > ul > li > a::after {content:'\e5e1'; font-family:var(--material); flex:0 0 auto; width:40px; height:40px; display:flex; justify-content:center; align-items:center; background:var(--gradient); color:#fff; border-radius:50rem; transition:transform .2s ease-out;}
.link_bn > ul > li > a:hover::after {transform:translateX(4px);}

/* ---------- 협력사 ---------- */
.linksite {padding:3.5rem 0 4.5rem; background:#faf6f4; border-top:1px solid #f0e6e3;}
.linksite .innerwrap {max-width:var(--maxWidth); margin:0 auto; padding:0 20px; position:relative;}
.linksite .sec_head {margin-bottom:2rem;}
.linksite .slider {margin:0 44px;}
.linksite .item a {display:flex; align-items:center; justify-content:center; height:96px; background:#fff; border:1px solid #ece0dc; border-radius:14px; padding:1rem; transition:all .25s ease-out;}
.linksite .item a:hover {border-color:var(--color); box-shadow:0 10px 22px rgba(146,52,43,0.12); transform:translateY(-3px);}
.linksite .item span {display:flex; align-items:center; justify-content:center; width:100%; height:100%;}
.linksite .item span img {max-width:82%; max-height:60px; object-fit:contain; filter:grayscale(100%); opacity:0.62; transition:filter .3s ease-out, opacity .3s ease-out;}
.linksite .item a:hover span img {filter:grayscale(0); opacity:1;}
.linksite .control_btn .slide_button {position:absolute; top:50%; margin-top:-21px; z-index:2;}
.linksite .control_btn .slide_prev {left:0;}
.linksite .control_btn .slide_next {right:0;}

/* ============================================================
   반응형
   ============================================================ */
@media screen and (min-width:769px) {
	.obj_grid {grid-template-columns:repeat(4, 1fr);}
	.main_news .cols {flex-direction:row;}
	.notice {flex:0 0 42%; min-width:0;}
	.main_gall {flex:1; min-width:0;}
	.main_link .cols {flex-direction:row; align-items:stretch;}
	.thesis_link {flex:1; min-width:0;}
	.link_bn {flex:0 0 34%;}
	.link_bn > ul {height:100%;}
	.link_bn > ul > li {flex:1; display:flex; align-items:center;}
	.link_bn > ul > li > a {width:100%;}
}

@media screen and (max-width:1024px) {
	.main_vis .text_box .title {font-size:2.875rem;}
	.sec_head h2 {font-size:2.125rem;}
}

@media screen and (max-width:768px) {
	.main_vis {height:auto; min-height:0; max-height:none;}
	.main_vis .swiper-slide {padding:8.5rem 0 7.5rem;}
	.main_vis .text_box {padding:0 24px; display:block;}
	.main_vis .text_box .title {font-size:2.125rem; letter-spacing:-1px;}
	.main_vis .text_box .desc {font-size:1.0625rem; margin-top:1.25rem;}
	.quick_link {position:static; margin-top:0; padding:0;}
	.quick_link .item_list {flex-wrap:wrap; border-radius:0; background:var(--color);}
	.quick_link .item_list > li {flex:1 1 50%;}
	.quick_link .item_list > li:nth-child(-n+2) {border-bottom:1px solid rgba(255,255,255,0.14);}
	.quick_link .item_list > li:nth-child(odd) {border-left:0;}
	.quick_link .item_list > li > a:hover {background:rgba(0,0,0,0.12);}

	.sec {padding:3.75rem 0;}
	.sec_head h2 {font-size:1.75rem;}
	.about_intro {font-size:1.0938rem;}
	.obj_grid {grid-template-columns:repeat(2, 1fr); gap:0.75rem;}
	.obj_item {padding:1.375rem 0.875rem;}
	.main_stats .stat .num {font-size:2.5rem;}
	.main_stats .stat {flex:1 1 45%;}
	.main_stats .stat + .stat::before {display:none;}
	.thesis_link {padding:1.5rem; gap:1.25rem;}
	.thesis_link .imgs .item {width:110px;}
	.thesis_link .title_group h3 {font-size:1.375rem;}
	.link_bn > ul > li > a em {font-size:1.1875rem;}
	.linksite .slider {margin:0 32px;}
}
