@charset "utf-8";
@import url('../../../nariya/css/g5.css');

/* =========================================================
   FRENZY COMPANY — 다크 게이밍 테마 (딥블루 개편)
   다크 차콜 + 딥블루(#2b6bff) + 시안(#38e1ff) 포인트
   ========================================================= */

:root {
	--zt-bg0:   #101114;   /* 가장 어두운 배경(헤더/푸터) */
	--zt-bg1:   #17181c;   /* 본문 배경 */
	--zt-bg2:   #1c1d22;   /* 섹션 배경(살짝 밝음) */
	--zt-card:  #202227;   /* 카드 배경 */
	--zt-card2: #26282e;   /* 카드 내부/헤더 */
	--zt-line:  rgba(255,255,255,.08);
	--zt-txt:   #eceef2;   /* 제목 */
	--zt-txt2:  #b6bbc6;   /* 본문 */
	--zt-muted: #868c99;   /* 보조 */
	--zt-pink:  #2b6bff;   /* 메인 포인트(네온 핑크) */
	--zt-pink2: #5c8dff;
	--zt-lime:  #38e1ff;   /* 서브 포인트(라임) */
	--zt-green: #35cf6b;
	--zt-gold:  #f5c542;
	--zt-kakao: #fee500;
	--zt-tg:    #2ca5e0;
}

/********************************************************
■ Theme Common
********************************************************/
body { margin:0; padding:0; background:var(--zt-bg1); color:var(--zt-txt2);
	font-family:'Pretendard','Noto Sans KR',-apple-system,'맑은 고딕',sans-serif !important; }
h1, h2, h3, h4, h5, h6, .en { font-family:'Pretendard','Noto Sans KR',-apple-system,'맑은 고딕',sans-serif !important; color:var(--zt-txt); }
a { color:#cfd3dd; }
a:hover { color:#fff; text-decoration:none; }
::selection { background:var(--zt-pink); color:#fff; }
::-webkit-scrollbar { width:10px; height:10px; }
::-webkit-scrollbar-track { background:var(--zt-bg0); }
::-webkit-scrollbar-thumb { background:#33363f; border-radius:5px; }
::-webkit-scrollbar-thumb:hover { background:#454955; }

/********************************************************
■ Theme Layout : 테마 레이아웃
********************************************************/
.wrapper { background:var(--zt-bg1); }
@media all and (max-width:991px) {
	.responsive .wrapper { overflow-x:hidden; }
}
.nt-container,
.nt-container-wide { margin:0 auto; }
@media all and (min-width:992px) {
	.responsive .boxed-a.wrapper .nt-container.px-xl-0 { padding-left:1.5rem !important; padding-right:1.5rem !important; }
	.responsive .boxed-b.wrapper { padding-left:1.5rem !important; padding-right:1.5rem !important; }
	.responsive .boxed-b.wrapper #nt_title .nt-container.px-xl-0,
	.responsive .boxed-b.wrapper #nt_wing .nt-container.px-xl-0 { padding-left:1.5rem !important; padding-right:1.5rem !important; }
}

/* 비반응형 */
.no-responsive .boxed-a.wrapper .nt-container.px-xl-0 { padding-left:1.5rem !important; padding-right:1.5rem !important; }
.no-responsive .boxed-b.wrapper { padding-left:1.5rem !important; padding-right:1.5rem !important; }
.no-responsive .boxed-b.wrapper #nt_title .nt-container.px-xl-0,
.no-responsive .boxed-b.wrapper #nt_wing .nt-container.px-xl-0 { padding-left:1.5rem !important; padding-right:1.5rem !important; }
@media all and (max-width:1200px) {
	.no-responsive .wrapper.wided .nt-container.px-xl-0 { padding-left:1.5rem !important; padding-right:1.5rem !important; }
	.no-responsive .wrapper.wided #nt_title .nt-container.px-xl-0,
	.no-responsive .wrapper.wided #nt_wing .nt-container.px-xl-0 { padding-left:1.5rem !important; padding-right:1.5rem !important; }
}

/********************************************************
■ Loader : 페이지 로딩바
********************************************************/
#nt_loader { background:var(--zt-bg1); left:0; top:0; width:100%; height:100%; display:block; position:fixed; z-index:100000; }
#nt_loader .loader { margin:-25px 0 0 -25px; left:50%; top:50%; width:50px; height:50px; line-height:50px; font-size:45px; position:absolute; z-index:10001; color:var(--zt-pink); }

/********************************************************
■ LNB
********************************************************/
#nt_lnb ul { list-style:none; margin:0; }
#nt_lnb ul > li { float:left; padding:0 13px; }
#nt_lnb ul > li::after { font-family:dotum; font-weight:normal; float:right; color:#3a3d46; content:"|"; margin-right:-15px; }
#nt_lnb ul > li:first-child { padding-left:0; }
#nt_lnb ul > li:last-child { padding-right:0; }
#nt_lnb ul > li:last-child::after { content:""; margin-right:0; }
#nt_lnb ul > li > a { float:left; white-space:nowrap; }
#nt_lnb .dropdown-toggle::after { color:#3a3d46; }

/********************************************************
■ 모바일 헤더(Header)
********************************************************/
#header_mo { background:var(--zt-bg0); border-bottom:1px solid var(--zt-line); box-shadow:0 6px 18px rgba(0,0,0,.35); }
#header_mo h3 { padding:14px 0; margin:0; }
#header_mo a { color:#fff; }
#header_mo .fa-bars { font-size:22px; color:#fff; }
#header_mo #search_mo .border-bottom { border-color:var(--zt-line) !important; }

/********************************************************
■ PC 주메뉴 (다크 내비게이션 바)
********************************************************/
#nt_menu { position:relative; z-index:20; background:var(--zt-bg0); border-bottom:1px solid var(--zt-line); box-shadow:0 8px 24px rgba(0,0,0,.35); }
#nt_menu .nt-container { max-width:1300px; height:100px; align-content:center; padding-left:24px; padding-right:24px; }
#nt_menu .nt-container,
#nt_menu .me-list .me-li,
#nt_menu .sub-1dul,
#nt_menu .sub-1dli { position:relative; }
#nt_menu .sub-slide { display:none; visibility:visible; }
#nt_menu .sub-icon::after { font-family:"FontAwesome"; float:right; position:relative; content:"\f105"; }
#nt_menu .nt-container > .d-flex { align-items:center; }
/* 로고: 남는 공간에 맞춰 자동 축소(메뉴와 절대 안 겹침), 최대 80px 높이 */
#nt_menu .me-icon { flex:0 1 auto; min-width:0; width:auto; margin-right:16px; text-align:left; display:flex; align-items:center; }
#nt_menu .me-icon img { max-height:88px; max-width:min(460px, 100%); width:auto !important; }
@media all and (max-width:1280px) {
	#nt_menu .me-a { padding-left:12px !important; padding-right:12px !important; }
}
#nt_menu .me-a { display:block; position:relative; text-align:center; font-weight:700; color:#cfd3dd; line-height:2.5 !important; padding-top:0rem; padding-bottom:0rem; font-size:16px; letter-spacing:-.01em; transition:color .15s; }
@media all and (max-width:1280px) {
	#header_mo a img { max-width: 220px !important;}
}
#nt_menu .me-li.on .me-a,
#nt_menu .me-li:hover .me-a { color:#fff; }
/* 활성/호버 밑줄(네온 핑크) */
#nt_menu .me-list .me-li .me-a::after { content:""; position:absolute; left:50%; transform:translateX(-50%); bottom:6px; width:0; height:2px; background:var(--zt-pink); border-radius:2px; transition:width .2s; }
#nt_menu .me-list .me-li.on .me-a::after,
#nt_menu .me-list .me-li:hover .me-a::after { width:calc(100% - 44px); }
#nt_menu .sub-2div { left:100%; top:0; position:absolute; z-index:22; background:var(--zt-card); box-shadow:0 12px 30px rgba(0,0,0,.5); }
#nt_menu .sub-2da { display:block; color:#b6bbc6; border-bottom:1px solid var(--zt-line); }
#nt_menu .sub-2dli.on .sub-2da,
#nt_menu .sub-2dli:hover .sub-2da { color:#fff; background:var(--zt-card2); border-color:var(--zt-line); font-weight:bold; }
#nt_menu .sub-2line { display:block; color:#fff; font-weight:bold; background:var(--zt-card2); }
.nt-menu .sub-1div { position:absolute; left:0; z-index:21; width:auto; text-align:left; top:100%; }
.nt-menu .sub-1div::before { left:50%; margin-left:-8px; }
.nt-menu .sub-1da { display:block; color:#aab0bd; text-align:center; padding:0 10px; }
.nt-menu .sub-1da .bottom-border { border-bottom:1px solid rgba(255,255,255,.08); padding:10px 20px; }
.sub-1dul li:last-child .bottom-border { border-bottom:none; }
.nt-menu .sub-1dli.on .sub-1da,
.nt-menu .sub-1dli:hover .sub-1da { color:var(--zt-pink2); border-color:var(--zt-line); font-weight:bold; }
.nt-menu .sub-1line { color:#fff; font-weight:bold; background:var(--zt-card2); }
.nt-menu .me-sh { padding:0.59rem 1.0rem; } /* 서브메뉴 높이설정 : 페딩값으로 조절 */

/* 메뉴 항목: 글자폭 기준 균등 간격 + 우측 정렬 */
#nt_menu .me-list .me-ul { flex-wrap:nowrap; justify-content:flex-end; align-items:center; }
#nt_menu .me-list .me-li.col { flex:0 0 auto; width:auto; max-width:none; }
#nt_menu .me-a { padding-left:15px !important; padding-right:15px !important; white-space:nowrap; }

/* 드롭다운: 각 메뉴 아래 개별 다크 박스 */
#nt_menu .me-li:hover > .sub-slide { display:block; }
#nt_menu .sub-slide.sub-1div { width:max-content !important; left:50%; transform:translateX(-50%); top:100%; padding:12px 0 0 !important; background:transparent; border:0; box-shadow:none; }
#nt_menu .sub-1div::before { display:none; }
#nt_menu .sub-1dul { width:auto !important; float:none !important; min-width:180px; background:#1e2026; border:1px solid rgba(255,255,255,.09); border-radius:12px; box-shadow:0 24px 48px rgba(0,0,0,.55); padding:8px; }
#nt_menu .sub-1dli .sub-1da { text-align:left; padding:0; white-space:nowrap; }
#nt_menu .sub-1da .bottom-border { display:block; border-bottom:0; padding:11px 16px; border-radius:8px; transition:.15s; }
#nt_menu .sub-1dli:hover .sub-1da .bottom-border { background:rgba(255,255,255,.06); color:#fff; }

#nt_menu .sub-slide,
#nt_menu .sub-all { position:absolute; top:100%; left:0; width:100%; display:none; z-index:10; }
#nt_menu:hover .sub-all { display:block; }
.sub-all .sub-col { float:left; width:25%; padding:0 20px; box-sizing:border-box; }
.sub-all .sub-title { font-weight:bold; margin-bottom:10px; }
.sub-all ul { list-style:none; padding:0; margin:0; }
.sub-all li { margin:5px 0; }

/* 하위메뉴 텍스트 페이드인(드롭다운 열릴 때 순차 등장) */
@keyframes naSubFade { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:translateY(0); } }
#nt_menu .sub-1dli, #nt_menu .sub-1line { animation:naSubFade .35s ease both; }
#nt_menu .sub-1dli:nth-child(1) { animation-delay:.03s; }
#nt_menu .sub-1dli:nth-child(2) { animation-delay:.09s; }
#nt_menu .sub-1dli:nth-child(3) { animation-delay:.15s; }
#nt_menu .sub-1dli:nth-child(4) { animation-delay:.21s; }
#nt_menu .sub-1dli:nth-child(5) { animation-delay:.27s; }
#nt_menu .sub-1dli:nth-child(6) { animation-delay:.33s; }

/* 메뉴 상단 고정 + 스크롤 시 헤더 축소 */
#nt_sticky_wrap.me-sticky { position:fixed; width:100%; z-index:999; left:0; top:0; }
#nt_sticky_wrap.me-sticky #nt_menu { background:rgba(16,17,20,.92); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); }
#nt_menu .nt-container { transition:height .25s ease; }
#nt_menu .me-icon img { transition:max-height .25s ease; }
#nt_sticky_wrap.me-sticky #nt_menu .nt-container { height:64px; }
#nt_sticky_wrap.me-sticky #nt_menu .me-icon img { max-height:58px; }
@media all and (min-width:992px) {
	.wrapper.m-lg-auto #nt_sticky_wrap.me-sticky nav { margin:0 auto !important; }
	.wrapper.ml-lg-auto #nt_sticky_wrap.me-sticky nav { margin:0 0 0 auto !important; }
	.wrapper.mr-lg-auto #nt_sticky_wrap.me-sticky nav { margin:0 auto 0 0 !important; }
}

/* 로그인/SNS 영역 */
.mk-login { display:flex; align-items:center; gap:4px; white-space:nowrap; padding-left:20px; }
.mk-login a { font-size:13.5px; color:#9aa0ad; font-weight:600; padding:7px 12px; border-radius:8px; transition:.15s; }
.mk-login a:hover { color:#fff; background:rgba(255,255,255,.06); }
.mk-login .sep { width:1px; height:12px; background:#33363f; }
.mk-login a.join { background:var(--zt-pink); color:#fff; }
.mk-login a.join:hover { background:#1a4fe0; color:#fff; }
.mk-login a.adm { color:var(--zt-gold); }
/* 카카오톡/텔레그램 상담 버튼 */
.zt-sns { display:flex; align-items:center; gap:8px; margin-left:14px; }
.zt-sns a { display:flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:9px; font-size:17px; transition:.18s; }
.zt-sns a:hover { transform:translateY(-2px); filter:brightness(1.08); }
.zt-sns .kakao { background:var(--zt-kakao); color:#341a00 !important; }
.zt-sns .discord { background:#5865f2; color:#fff !important; }
.zt-sns .discord svg { display:block; }

/********************************************************
■ 페이지 타이틀 (서브페이지 상단)
********************************************************/
#nt_title { position:relative; overflow:hidden; color:var(--zt-txt2); background:var(--zt-bg2); border-bottom:1px solid var(--zt-line); }
#nt_title .nt-container { position:relative; z-index:2; height:70px; }
#nt_title .page-title { font-size:26px; letter-spacing:-1px; line-height:1.4; color:#fff; }
#nt_title .breadcrumb a { color:var(--zt-txt2); }
#nt_title .breadcrumb-item + .breadcrumb-item::before { font-family:dotum; font-weight:normal; color:#4a4d58; content:">"; }

/* 서브 상단 배너 + 타이틀(배너 위 오버레이) */
.hero { background:var(--zt-bg0) url('/img/main/sub-hero.jpg') center/cover no-repeat; height:220px; display:flex; justify-content:center; align-items:center; text-align:center; position:relative; margin-bottom:44px; }
.hero::after { content:""; position:absolute; inset:0; background:linear-gradient(to bottom, rgba(23,24,28,.30) 0%, rgba(23,24,28,.42) 55%, rgba(23,24,28,.88) 100%); }
.hero h1 { position:relative; z-index:2; margin:0; color:#fff; font-size:2.5rem; font-weight:800; letter-spacing:-.02em; text-shadow:0 4px 22px rgba(0,0,0,.55); }
.breadcrumb-item+.breadcrumb-item::before { content:">" !important; color:#4a4d58 !important; }

/********************************************************
■ Wing
********************************************************/
#nt_wing .nt-container { position:relative; overflow:visible !important; }
#nt_wing img { max-width:100%; }
#nt_wing .wing-left,
#nt_wing .wing-right { position:absolute; width:160px; }
#nt_wing .wing-left { left:-180px; }
#nt_wing .wing-right { right:-180px; }
.boxed-b #nt_wing .wing-left { left:-200px; }
.boxed-b #nt_wing .wing-right { right:-200px; }

/********************************************************
■ Widget Title 위젯 타이틀
********************************************************/
h3.h3 { padding:0; margin:0; font-weight:bold; }
hr.hr::before { width:100%; height:1px; content:""; position:absolute; left:0; bottom:1px; line-height:1px; background-color:var(--zt-line); }
hr.hr { display:block; position:relative; height:3px; border:none; line-height:1px; padding:0; margin:0; }
hr.hr::after { width:4.0rem; height:3px; content:""; position:absolute; left:0; bottom:0; line-height:1px; background:var(--zt-pink); }
@media all and (max-width:575px) {
	.responsive h3.h3 { padding-left:1.0rem; padding-right:1.0rem; }
	.responsive hr.hr::after { left:1.0rem; }
}

/********************************************************
■ Bootstrap 4 / 나리야 다크 오버라이드
********************************************************/
/* 툴팁 */
.tooltip .tooltip-inner { font-size:1.0rem !important; }

/* 배경/텍스트/보더 다크 강제 */
.bg-white, .bg-light { background-color:var(--zt-card) !important; }
.text-dark { color:var(--zt-txt) !important; }
.text-muted { color:var(--zt-muted) !important; }
.border, .border-top, .border-bottom, .border-left, .border-right { border-color:var(--zt-line) !important; }
hr { border-color:var(--zt-line); }

/* 테이블 */
.table { color:var(--zt-txt2); }
.table th, .table td { border-color:var(--zt-line); }
.table thead th { border-color:var(--zt-line); color:#fff; background:var(--zt-card2); }
.table-hover tbody tr:hover { background:rgba(255,255,255,.03); color:var(--zt-txt); }
.table-striped tbody tr:nth-of-type(odd) { background:rgba(255,255,255,.02); }
.thead-light th { background:var(--zt-card2) !important; color:#fff !important; }

/* 폼 */
.form-control, .custom-select, .custom-file-label { background-color:#1a1c21; border-color:#31343d; color:var(--zt-txt); }
.form-control:focus, .custom-select:focus { background-color:#1a1c21; color:#fff; border-color:var(--zt-pink); box-shadow:0 0 0 .2rem rgba(43,107,255,.15); }
.form-control::placeholder { color:#5c626e; }
.form-control:disabled, .form-control[readonly] { background-color:#22242a; color:var(--zt-muted); }
.input-group-text { background:#22242a; border-color:#31343d; color:var(--zt-muted); }
.col-form-label { font-weight:600; color:#cfd3dd; }
label, .custom-control-label { color:var(--zt-txt2); }
/* 파일 선택(browse) 버튼 다크 */
.custom-file-label::after { background:#26282e; border-color:#31343d; color:#d7dae2; }

/* 카드/리스트/모달/드롭다운 */
.card { background-color:var(--zt-card); border-color:var(--zt-line); }
.card-header, .card-footer { background-color:var(--zt-card2); border-color:var(--zt-line); }
.list-group-item { background-color:transparent; border-color:var(--zt-line); color:var(--zt-txt2); }
.list-group-item-action:hover, .list-group-item-action:focus { background-color:rgba(255,255,255,.04); color:#fff; }
.modal-content { background-color:var(--zt-card); color:var(--zt-txt2); border:1px solid var(--zt-line); }
.modal-header, .modal-footer { border-color:var(--zt-line); }
.close { color:#fff; text-shadow:none; }
.dropdown-menu { background-color:var(--zt-card); border-color:var(--zt-line); }
.dropdown-item { color:var(--zt-txt2); }
.dropdown-item:hover, .dropdown-item:focus { background-color:var(--zt-card2); color:#fff; }
.dropdown-divider { border-color:var(--zt-line); }

/* 네비/탭 */
.nav-tabs { border-color:var(--zt-line); }
.nav-tabs .nav-link { color:var(--zt-txt2); }
.nav-tabs .nav-link:hover { border-color:var(--zt-line); color:#fff; }
.nav-tabs .nav-link.active { background:var(--zt-card); border-color:var(--zt-line); color:#fff; }
.breadcrumb { background:transparent; }

/* 체크박스, 라디오버튼 재지정 */
.custom-checkbox .custom-control-label::before,
.custom-checkbox .custom-control-label::after,
.custom-radio .custom-control-label::before,
.custom-radio .custom-control-label::after { top:0.15rem !important; width:1.4rem !important; height:1.4rem !important; }
.custom-control-label::before { background-color:#1a1c21; border-color:#31343d; }
.custom-checkbox .custom-control-label span,
.custom-radio .custom-control-label span { cursor:pointer; padding-left:0.5rem !important; }
.custom-switch .custom-control-label::before,
.custom-switch .custom-control-label::after { margin-top:2px; }

/* Button */
.btn-lg { padding:10px 16px; border-radius:3px; line-height:1.33; font-size:18px; }
.btn-lg i { top:3px; font-size:24px; position:relative; }
.btn-light { background:var(--zt-card2); border-color:var(--zt-card2); color:var(--zt-txt); }
.btn-light:hover { background:#2e3138; border-color:#2e3138; color:#fff; }
.btn-outline-secondary { color:var(--zt-txt2); border-color:#3a3d46; }
.btn-outline-secondary:hover { background:#2e3138; border-color:#3a3d46; color:#fff; }

/* Pagenation */
.page-link { background:transparent; border-color:var(--zt-line); }
.page-link, .page-link:hover, .page-link:focus { color:var(--zt-txt2); }
.page-link:hover { background:var(--zt-card2); color:#fff; }
.page-item.disabled .page-link { background:transparent; border-color:var(--zt-line); color:#4a4d58; }

/* 라운드 스타일 */
.na-round,
.view_image img,
.pretty-embed img { border-radius:0.3rem !important; }

/* 사각 스타일 */
.is-square .na-round,
.is-square .view_image img,
.is-square .pretty-embed img,
.is-square .btn,
.is-square .alert,
.is-square .nav-link,
.is-square .form-control,
.is-square .input-group-prepend,
.is-square .input-group-append,
.is-square .input-group-text,
.is-square .custom-file-label,
.is-square .custom-file-label:after,
.is-square .custom-select,
.is-square .label,
.is-square .progress,
.is-square .pagination li a,
.is-square .list-group-item { border-radius:0 !important; }

/********************************************************
■ 게시판 (다크)
********************************************************/
.board-tab { display:flex; width:100%; border:1px solid var(--zt-line); border-collapse:collapse; margin:30px auto; border-radius:12px; overflow:hidden; }
.board-tab .tab { flex:1; padding:12px 0; border-right:1px solid var(--zt-line); background-color:var(--zt-card); color:var(--zt-txt2); text-align:center; cursor:pointer; font-size:16px; font-weight:700; }
.board-tab .tab a { color:var(--zt-txt2); }
.board-tab .tab:last-child { border-right:none; }
.board-tab .tab.active { background-color:var(--zt-pink); color:#fff; font-weight:bold; }
.board-tab .active a { color:#fff; }

#bo_list_wrap { width:100%; max-width:1300px; margin:0 auto; }
.na-table-head { border-top:0 !important; border-bottom:0 !important; }
#bo_list .table-head { background-color:var(--zt-card2); color:#fff; border-radius:10px; }
#bo_list .table-head a { color:#fff; }
#bo_list li:nth-of-type(even) { background-color:rgba(255,255,255,.02); }
#bo_list_total div { color:var(--zt-pink2); font-weight:bold; }
#bo_v { width:100%; max-width:1300px; margin:0 auto; }
#bo_w { width:100%; max-width:1300px; margin:0 auto; }
#ctt { margin-bottom:50px; }

/* 나리야 리스트 공통 */
.na-subject, .na-item a { color:var(--zt-txt2); }
.na-subject:hover, .na-item a:hover { color:#fff; }

/* =========================================================
   메인 인덱스 (zt-*)
   ========================================================= */
.zt-index { color:var(--zt-txt2); }
.zt-index, .zt-index * { box-sizing:border-box; }
.zt-index .zt-wrap { max-width:1300px; margin:0 auto; padding:0 24px; }
.zt-index a { text-decoration:none; color:inherit; }

/* ---------- 섹션 배경 장식 (스크롤 따라다니는 아트/글로우) ---------- */
.zt-index { position:relative; }
/* 화면에 고정되어 은은하게 따라다니는 배경 아트 */
.fc-bgart { position:fixed; right:-140px; bottom:-120px; width:720px; height:720px; z-index:0; pointer-events:none; opacity:.07; background:url('/img/main/bg-deco.png') center/contain no-repeat; animation:fcBgDrift 14s ease-in-out infinite alternate; }
@keyframes fcBgDrift { from { transform:translateY(0) rotate(-3deg); } to { transform:translateY(-26px) rotate(2deg); } }
/* 떠다니는 블루 글로우 오브 (이미지 불필요 — CSS) */
.fc-blob { position:absolute; border-radius:50%; filter:blur(70px); pointer-events:none; z-index:0; }
.fc-blob.b1 { width:420px; height:420px; left:-140px; top:760px; background:radial-gradient(circle, rgba(43,107,255,.22) 0%, transparent 70%); animation:fcBlob 11s ease-in-out infinite alternate; }
.fc-blob.b2 { width:360px; height:360px; right:-100px; top:1500px; background:radial-gradient(circle, rgba(56,225,255,.14) 0%, transparent 70%); animation:fcBlob 13s ease-in-out infinite alternate-reverse; }
.fc-blob.b3 { width:460px; height:460px; left:32%; top:2300px; background:radial-gradient(circle, rgba(43,107,255,.15) 0%, transparent 70%); animation:fcBlob 16s ease-in-out infinite alternate; }
@keyframes fcBlob { from { transform:translate(0,0) scale(1); } to { transform:translate(46px,-40px) scale(1.12); } }
.zt-index > section, .zt-index > .fc-marquee { position:relative; z-index:1; }

@media (max-width:992px) {
	.fc-bgart { display:none; } /* 모바일: 배경 장식 숨김 */
}

/* ---------- 히어로 배너 ---------- */
.zt-hero { position:relative; height:340px; overflow:hidden; background:var(--zt-bg0); }
.zt-hero .bg { position:absolute; inset:0; background:url('/img/main/hero-banner.jpg') center/cover no-repeat; }
.zt-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(to bottom, rgba(23,24,28,.15) 0%, rgba(23,24,28,.05) 45%, rgba(23,24,28,.95) 100%); pointer-events:none; }
.zt-hero .logo { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; z-index:2; }
.zt-hero .logo img { max-height:250px; max-width:70%; filter:drop-shadow(0 0 26px rgba(43,107,255,.55)); }

/* ---------- 팀 소개 ---------- */
.zt-about { padding:96px 0 72px; }
.zt-about-grid { display:grid; grid-template-columns:1.05fr 1fr; gap:40px; align-items:center; }
.zt-about-title { font-size:96px; line-height:.92; font-weight:900; font-style:italic; color:#fff; letter-spacing:-.03em; margin:0 0 34px; text-transform:uppercase; }
.zt-about-title small { display:block; font-size:64px; font-weight:900; color:transparent; -webkit-text-stroke:2px rgba(255,255,255,.85); letter-spacing:.02em; }
.zt-about-text p { font-size:15.5px; line-height:2.0; color:var(--zt-txt2); margin:0 0 14px; }
.zt-about-text p b { color:#fff; font-weight:700; }
/* 번호 배지 리스트 (레퍼런스형) */
.zt-about-list { list-style:none; margin:0; padding:0; }
.zt-about-list li { display:flex; align-items:center; gap:20px; margin-bottom:26px; font-size:21px; font-weight:700; color:#eef2fc; line-height:1.5; letter-spacing:-.015em; }
.zt-about-list li:last-child { margin-bottom:0; }
.zt-about-list li b { color:var(--zt-lime); font-weight:800; }
.zt-about-list li em { flex:0 0 auto; position:relative; display:flex; width:44px; height:44px; align-items:center; justify-content:center; font-style:normal; font-weight:900; font-size:20px; color:#fff; border-radius:10px; background:linear-gradient(140deg,#2b6bff,#1a3fa8); box-shadow:0 6px 16px rgba(43,107,255,.45), 0 0 24px rgba(43,107,255,.28); }
/* 배지 뒤 어긋난 외곽선(시안) */
.zt-about-list li em::before { content:""; position:absolute; inset:0; border:2px solid rgba(56,225,255,.55); border-radius:10px; transform:translate(5px,5px); z-index:-1; }
.zt-about-list li:hover em { box-shadow:0 6px 16px rgba(43,107,255,.55), 0 0 34px rgba(43,107,255,.55); }
.zt-about-art { position:relative; text-align:center; }
.zt-about-art img { max-width:100%; filter:drop-shadow(0 30px 60px rgba(0,0,0,.6)); }
.zt-about-art::before { content:""; position:absolute; left:50%; top:55%; transform:translate(-50%,-50%); width:80%; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle, rgba(43,107,255,.16) 0%, transparent 65%); z-index:-1; }

/* ---------- 특징 카드 4개 ---------- */
.zt-feats { padding:10px 0 90px; }
.zt-feats-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.zt-feat { background:var(--zt-card); border:1px solid var(--zt-line); border-radius:14px; padding:30px 32px; transition:.22s; }
.zt-feat:hover { transform:translateY(-4px); border-color:rgba(255,255,255,.16); box-shadow:0 18px 40px rgba(0,0,0,.4); }
.zt-feat .head { display:flex; align-items:center; gap:12px; margin-bottom:16px; }
.zt-feat .ic { flex:0 0 auto; width:40px; height:40px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:17px; color:#fff; }
.zt-feat .ic.pink { background:rgba(43,107,255,.16); color:var(--zt-pink2); }
.zt-feat .ic.green { background:rgba(53,207,107,.14); color:var(--zt-green); }
.zt-feat .ic.orange { background:rgba(255,122,60,.14); color:#ff7a3c; }
.zt-feat .ic.gold { background:rgba(245,197,66,.14); color:var(--zt-gold); }
.zt-feat h4 { font-size:17.5px; font-weight:800; color:#fff; margin:0; letter-spacing:-.01em; }
.zt-feat p { font-size:14px; line-height:1.9; color:var(--zt-muted); margin:0; }

/* ---------- 섹션 헤드 ---------- */
.zt-sec-head { margin-bottom:36px; }
.zt-sec-head h3 { font-size:30px; font-weight:800; color:#fff; margin:0 0 10px; letter-spacing:-.02em; }
.zt-sec-head .sub { font-size:14.5px; color:var(--zt-muted); margin:0; }

/* ---------- 강사진 소개 ---------- */
.zt-coaches { padding:80px 0 96px; background:var(--zt-bg2); border-top:1px solid var(--zt-line); border-bottom:1px solid var(--zt-line); }
.zt-coach-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.zt-coach { position:relative; display:block; background:var(--zt-bg0); border:1px solid var(--zt-line); border-radius:14px; overflow:hidden; transition:.25s; }
.zt-coach:hover { transform:translateY(-6px); border-color:rgba(56,225,255,.45); box-shadow:0 22px 44px rgba(0,0,0,.5), 0 0 24px rgba(56,225,255,.08); }
.zt-coach .art { position:relative; height:210px; overflow:hidden; }
.zt-coach .art img { width:100%; height:100%; object-fit:cover; display:block; transition:.4s; }
.zt-coach:hover .art img { transform:scale(1.05); }
.zt-coach .badges { position:absolute; top:10px; left:10px; right:10px; display:flex; justify-content:space-between; z-index:2; }
.zt-coach .badge-p { font-size:11px; font-weight:800; color:#fff; padding:4px 10px; border-radius:4px; letter-spacing:.02em; }
.zt-coach .badge-p.red { background:#e03e3e; }
.zt-coach .badge-p.teal { background:#12b8a5; }
.zt-coach .mid { display:flex; align-items:center; gap:10px; padding:14px 16px 10px; border-top:2px solid var(--zt-lime); }
.zt-coach .mid .face { flex:0 0 auto; width:44px; height:44px; border-radius:50%; overflow:hidden; border:2px solid rgba(255,255,255,.25); }
.zt-coach .mid .face img { width:100%; height:100%; object-fit:cover; display:block; }
.zt-coach .mid .rank { flex:0 0 auto; width:44px; height:44px; }
.zt-coach .mid .rank img { width:100%; height:100%; object-fit:contain; display:block; }
.zt-coach .mid .name { flex:1; text-align:right; font-size:28px; font-weight:900; font-style:italic; color:#fff; letter-spacing:.02em; }
.zt-coach .mid .name i { font-size:15px; color:var(--zt-lime); margin-left:6px; vertical-align:middle; }
.zt-coach .desc { padding:4px 16px 14px; font-size:12.5px; line-height:1.75; color:var(--zt-muted); }
.zt-coach .foot { display:flex; border-top:1px solid var(--zt-line); }
.zt-coach .foot span { flex:1; text-align:center; padding:10px 0; font-size:11.5px; color:#5c626e; font-weight:600; letter-spacing:.04em; }
.zt-coach .foot span + span { border-left:1px solid var(--zt-line); }

/* ---------- 고객후기 + FAQ ---------- */
.zt-bottom { padding:88px 0 110px; }
.zt-bottom-grid { display:grid; grid-template-columns:1fr 1.1fr; gap:56px; align-items:start; }

/* 후기 테이블 */
.zt-review-table { width:100%; border-collapse:collapse; border:1px solid var(--zt-line); border-radius:12px; overflow:hidden; }
.zt-review-table thead th { background:var(--zt-card2); color:#fff; font-size:13px; font-weight:700; padding:12px 18px; text-align:left; }
.zt-review-table thead th:last-child { text-align:right; }
.zt-review-table tbody td { padding:12.5px 18px; font-size:13.5px; border-top:1px solid var(--zt-line); color:var(--zt-txt2); }
.zt-review-table tbody td:last-child { text-align:right; color:var(--zt-muted); font-size:12.5px; white-space:nowrap; }
.zt-review-table tbody tr { transition:.15s; }
.zt-review-table tbody tr:hover { background:rgba(255,255,255,.03); }
.zt-review-table tbody td a { display:block; color:var(--zt-txt2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:340px; }
.zt-review-table tbody td a:hover { color:#fff; }
.zt-review-table .zt-empty { text-align:center !important; padding:48px 0 !important; color:var(--zt-muted) !important; }
.zt-more { display:inline-flex; align-items:center; gap:6px; margin-top:16px; font-size:13px; color:var(--zt-muted); font-weight:600; transition:.15s; }
.zt-more:hover { color:var(--zt-pink2); }

/* FAQ 아코디언 */
.zt-faq-item { background:var(--zt-card); border:1px solid var(--zt-line); border-radius:12px; margin-bottom:12px; overflow:hidden; }
.zt-faq-q { display:flex; align-items:flex-start; gap:12px; width:100%; background:none; border:0; text-align:left; padding:16px 18px; cursor:pointer; }
.zt-faq-q .qm { flex:0 0 auto; width:22px; height:22px; border-radius:50%; background:rgba(43,107,255,.18); color:var(--zt-pink2); font-size:12px; font-weight:800; display:flex; align-items:center; justify-content:center; margin-top:1px; }
.zt-faq-q .qt { flex:1; font-size:14.5px; font-weight:700; color:var(--zt-txt); line-height:1.55; }
.zt-faq-q .arrow { flex:0 0 auto; color:var(--zt-muted); font-size:13px; margin-top:3px; transition:transform .25s; }
.zt-faq-item.open .zt-faq-q .arrow { transform:rotate(180deg); }
.zt-faq-a { display:none; padding:0 18px 16px; }
.zt-faq-item.open .zt-faq-a { display:block; }
.zt-faq-a .inner { background:var(--zt-bg0); border:1px solid var(--zt-line); border-radius:10px; padding:14px 16px; font-size:13.5px; line-height:1.85; color:var(--zt-muted); }
.zt-faq-a .inner p { margin:0 0 10px; }
.zt-faq-a .inner p:last-child { margin-bottom:0; }
.zt-faq-a .inner .note { font-size:12.5px; color:#6a707d; }

/* ---------- 메인 반응형 ---------- */
@media (max-width:1200px) {
	.zt-about-title { font-size:76px; }
	.zt-about-title small { font-size:50px; }
}
@media (max-width:992px) {
	.zt-hero { height:260px; }
	.zt-hero .logo img { max-height:120px; }
	.zt-about { padding:64px 0 48px; }
	.zt-about-grid { grid-template-columns:1fr; gap:36px; }
	.zt-about-list li { font-size:18.5px; gap:16px; margin-bottom:22px; }
	.zt-about-list li em { width:40px; height:40px; font-size:18px; }
	.zt-about-art { order:-1; }
	.zt-about-art img { max-height:340px; }
	.zt-about-title { font-size:64px; }
	.zt-coach-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.zt-bottom-grid { grid-template-columns:1fr; gap:56px; }
	.zt-review-table tbody td a { max-width:none; }
}
@media (max-width:768px) {
	.mk-login { display:none; }
	.zt-hero { height:200px; }
	.zt-hero .logo img { max-height:90px; }
	.zt-about-title { font-size:48px; margin-bottom:22px; }
	.zt-about-title small { font-size:34px; -webkit-text-stroke:1.5px rgba(255,255,255,.85); }
	.zt-about-text p { font-size:14px; }
	.zt-about-list li { font-size:16.5px; gap:14px; margin-bottom:18px; }
	.zt-about-list li em { width:36px; height:36px; font-size:16px; border-radius:8px; }
	.zt-about-list li em::before { border-radius:8px; transform:translate(4px,4px); }
	.zt-feats { padding-bottom:56px; }
	.zt-feats-grid { grid-template-columns:minmax(0,1fr); gap:14px; }
	.zt-feat { padding:22px 20px; }
	.zt-coaches { padding:56px 0 64px; }
	.zt-sec-head h3 { font-size:24px; }
	.zt-coach-grid { gap:14px; }
	.zt-coach .art { height:150px; }
	.zt-coach .mid .name { font-size:22px; }
	.zt-bottom { padding:56px 0 72px; }
	.hero { height:130px; margin-bottom:24px; }
	.hero h1 { font-size:1.6rem; }
	.board-tab { margin:10px auto; }
	.board-tab .tab { font-size:14px; padding:8px 0; }
	#bo_search .custom-select { height:calc(1.5em + .75rem + 2px) !important; font-size:14px !important; }
	#bo_search .form-control { height:calc(1em + .75rem + 2px) !important; font-size:14px !important; }
	#bo_search .input-group .input-group-append .btn { height:calc(1.5em + .75rem + 2px) !important; font-size:14px !important; }
}
@media (max-width:480px) {
	.zt-coach-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
	.zt-coach .art { height:120px; }
	.zt-coach .mid { padding:10px 10px 6px; gap:6px; }
	.zt-coach .mid .face, .zt-coach .mid .rank { width:32px; height:32px; }
	.zt-coach .mid .name { font-size:17px; }
	.zt-coach .desc { font-size:11px; padding:2px 10px 10px; }
}

/* =========================================================
   푸터 (미니멀 다크)
   ========================================================= */
#nt_footer { background:var(--zt-bg0) !important; color:var(--zt-muted); font-size:13.5px; border-top:1px solid var(--zt-line); }
#nt_footer .nt-container { max-width:1300px; }
.zt-foot { text-align:center; padding:52px 20px 46px; }
.zt-foot .f-logo { margin-bottom:22px; }
.zt-foot .f-logo img { max-height:56px; width:auto; max-width:240px; opacity:.95; }
.zt-foot .f-links { margin-bottom:18px; }
.zt-foot .f-links a { color:var(--zt-muted); font-size:13px; margin:0 12px; transition:.15s; }
.zt-foot .f-links a:hover { color:#fff; }
.zt-foot .f-copy { font-size:12.5px; color:#5c626e; }
.zt-foot .f-copy a { color:#8a8f9c; font-weight:700; }
.zt-foot .f-copy a:hover { color:#fff; }
@media (max-width:768px) {
	.zt-foot { padding:36px 16px 32px; }
	.zt-foot .f-logo img { max-height:42px; }
}

/* =========================================================
   FRENZY COMPANY 개편 — 타이포 확대(가독성) + 애니메이션
   ========================================================= */

/* ── 타이포 확대 ── */
#nt_menu .me-a { font-size:17px; }
.zt-about-text p { font-size:17.5px; line-height:2.05; }
.zt-sec-head h3 { font-size:34px; }
.zt-sec-head .sub { font-size:16px; }
.zt-feat h4 { font-size:20px; }
.zt-feat p { font-size:15.5px; line-height:1.95; }
.zt-coach .desc { font-size:14px; }
.zt-coach .foot span { font-size:12.5px; }
.zt-review-table thead th { font-size:14.5px; }
.zt-review-table tbody td { font-size:15px; }
.zt-review-table tbody td:last-child { font-size:13.5px; }
.zt-faq-q .qt { font-size:16.5px; }
.zt-faq-a .inner { font-size:15.5px; }
.zt-faq-a .inner .note { font-size:14px; }
.zt-promo h3 { font-size:28px; }
.zt-promo-grid .pi p { font-size:16px; }
.zt-promo-foot { font-size:14px; }
.zt-more { font-size:14.5px; }
.hero h1 { font-size:2.8rem; }
.zt-foot .f-links a { font-size:14px; }
.zt-foot .f-copy { font-size:13.5px; }
.mk-login a { font-size:14.5px; }

/* ── 히어로: 로고 플로팅+글로우, 배경 켄번즈 ── */
@keyframes fcFloat { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-10px); } }
@keyframes fcGlow { 0%,100% { filter:drop-shadow(0 0 20px rgba(43,107,255,.45)); } 50% { filter:drop-shadow(0 0 46px rgba(43,107,255,.9)); } }
.zt-hero .logo img { animation:fcFloat 5s ease-in-out infinite, fcGlow 3.2s ease-in-out infinite; }
@keyframes fcKenburns { from { transform:scale(1); } to { transform:scale(1.08); } }
.zt-hero .bg { animation:fcKenburns 16s ease-in-out infinite alternate; }

/* ── 대형 타이틀 그라데이션 시머 ── */
.zt-about-title { background:linear-gradient(100deg,#fff 0%,#fff 35%,#7fa8ff 50%,#fff 65%,#fff 100%); background-size:220% 100%; -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; animation:fcShimmer 5.5s linear infinite; }
@keyframes fcShimmer { from { background-position:220% 0; } to { background-position:-20% 0; } }

/* ── 카드 샤인 스윕 ── */
.zt-coach .art::after { content:""; position:absolute; top:0; left:-80%; width:50%; height:100%; background:linear-gradient(100deg,transparent 0%,rgba(255,255,255,.18) 50%,transparent 100%); transform:skewX(-20deg); transition:left .55s; z-index:2; pointer-events:none; }
.zt-coach:hover .art::after { left:130%; }
.zt-feat { position:relative; overflow:hidden; }
.zt-feat::before { content:""; position:absolute; top:0; left:-80%; width:50%; height:100%; background:linear-gradient(100deg,transparent,rgba(255,255,255,.06),transparent); transform:skewX(-20deg); transition:left .6s; pointer-events:none; }
.zt-feat:hover::before { left:130%; }
.zt-feat .ic { transition:transform .25s; }
.zt-feat:hover .ic { transform:scale(1.15); }

/* ── 프로모 패널 등장 ── */
@keyframes fcSlideIn { from { opacity:0; transform:translateX(46px); } to { opacity:1; transform:translateX(0); } }
.zt-promo.on { animation:fcSlideIn .55s cubic-bezier(.2,.8,.25,1) both; }

/* ── 버튼 글로우 ── */
.mk-login a.join:hover { box-shadow:0 0 18px rgba(43,107,255,.55); }
.zt-sns a:hover { box-shadow:0 6px 16px rgba(0,0,0,.4); }

/* ── 텍스트 마퀴(흐르는 강점 띠) ── */
.fc-marquee { overflow:hidden; background:linear-gradient(90deg,#0e1c48 0%,#14307c 50%,#0e1c48 100%); border-top:1px solid rgba(92,141,255,.28); border-bottom:1px solid rgba(92,141,255,.28); padding:16px 0; }
.fc-marquee .track { display:flex; width:max-content; align-items:center; gap:36px; animation:fcMarquee 26s linear infinite; }
.fc-marquee span { font-size:17px; font-weight:800; color:#eaf0ff; white-space:nowrap; letter-spacing:.02em; }
.fc-marquee i { color:#38e1ff; font-size:11px; font-style:normal; }
@keyframes fcMarquee { from { transform:translateX(0); } to { transform:translateX(-50%); } }

/* ── 스탯 스트립(카운트업) ── */
.fc-stats { padding:70px 0; }
.fc-stats-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.fc-stats .st { background:var(--zt-card); border:1px solid var(--zt-line); border-radius:16px; padding:32px 10px 28px; text-align:center; position:relative; overflow:hidden; transition:.22s; }
.fc-stats .st:hover { transform:translateY(-4px); border-color:rgba(92,141,255,.4); }
.fc-stats .st::before { content:""; position:absolute; left:0; top:0; width:100%; height:3px; background:linear-gradient(90deg,#2b6bff,#38e1ff); }
.fc-stats .st b { display:block; font-size:44px; font-weight:900; color:#fff; line-height:1.1; letter-spacing:-.02em; }
.fc-stats .st b small { font-size:20px; font-weight:800; color:#9fb9ff; }
.fc-stats .st > span { display:block; margin-top:10px; font-size:15.5px; color:var(--zt-txt2); font-weight:600; }
@media (max-width:768px) {
	.fc-stats { padding:20px 0; }
	.fc-stats-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
	.fc-stats .st b { font-size:32px; }
	.fc-stats .st b small { font-size:15px; }
	.fc-marquee span { font-size:14px; }
	.fc-marquee .track { gap:22px; }
}

/* =========================================================
   FRENZY COMPANY — 블루 일렉트릭(전기) 애니메이션 패키지
   ========================================================= */
/* 공통 키프레임 */
@keyframes fcFlow { from { background-position:0% 0; } to { background-position:200% 0; } }
@keyframes fcElectric { 0%,88%,100% { opacity:1; } 89% { opacity:.55; } 90% { opacity:1; } 93% { opacity:.65; } 94% { opacity:1; } 97% { opacity:.8; } 98% { opacity:1; } }
@keyframes fcTopPulse { 0%,100% { box-shadow:0 0 10px rgba(43,107,255,.45); } 50% { box-shadow:0 0 24px rgba(56,225,255,.9); } }
@keyframes fcBorderFlow { 0% { background-position:0% 0%; } 50% { background-position:100% 100%; } 100% { background-position:0% 0%; } }

/* 헤더 하단 에너지 라인 (좌→우 흐름) */
#nt_menu::after { content:""; position:absolute; left:0; right:0; bottom:-1px; height:2px; background:linear-gradient(90deg, transparent 0%, #2b6bff 25%, #38e1ff 45%, transparent 60%, #2b6bff 85%, transparent 100%); background-size:200% 100%; animation:fcFlow 4.5s linear infinite; opacity:.85; pointer-events:none; z-index:5; }

/* 메뉴 호버 바 : 블루→시안 그라데이션 + 글로우 + 전기 플리커 */
#nt_menu .me-list .me-li .me-a::after { background:linear-gradient(90deg,#2b6bff,#38e1ff); box-shadow:0 0 10px rgba(56,225,255,.8), 0 0 20px rgba(43,107,255,.5); }
#nt_menu .me-list .me-li.on .me-a::after,
#nt_menu .me-list .me-li:hover .me-a::after { animation:fcElectric 2.4s linear infinite; }

/* 히어로 배너 하단 에너지 라인 */
.zt-hero::before { content:""; position:absolute; left:0; right:0; bottom:0; height:2px; z-index:3; background:linear-gradient(90deg, transparent, #2b6bff 30%, #38e1ff 50%, #2b6bff 70%, transparent); background-size:200% 100%; animation:fcFlow 3.2s linear infinite; }

/* 서브페이지 타이틀 배너 하단 에너지 라인 */
.hero::before { content:""; position:absolute; left:0; right:0; bottom:0; height:2px; z-index:2; background:linear-gradient(90deg, transparent, #2b6bff 30%, #38e1ff 50%, #2b6bff 70%, transparent); background-size:200% 100%; animation:fcFlow 3.6s linear infinite; }

/* 마퀴 위아래 에너지 라인 (서로 반대 방향) */
.fc-marquee { position:relative; border-top:0; border-bottom:0; }
.fc-marquee::before, .fc-marquee::after { content:""; position:absolute; left:0; right:0; height:1.5px; background:linear-gradient(90deg, transparent, #38e1ff 30%, #2b6bff 55%, transparent 80%); background-size:200% 100%; animation:fcFlow 5s linear infinite; }
.fc-marquee::before { top:0; }
.fc-marquee::after { bottom:0; animation-direction:reverse; }

/* 스탯 카드 상단 라인 에너지 흐름 */
.fc-stats .st::before { background:linear-gradient(90deg,#2b6bff,#38e1ff,#2b6bff); background-size:200% 100%; animation:fcFlow 3.5s linear infinite; }

/* 프로모 패널 그라데이션 테두리 에너지 순환 */
.zt-promo::after { background:linear-gradient(140deg, rgba(43,107,255,.9), rgba(56,225,255,.55) 30%, rgba(43,107,255,.15) 55%, rgba(56,225,255,.7) 80%, rgba(43,107,255,.9)); background-size:300% 300%; animation:fcBorderFlow 6s linear infinite; -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite:xor; mask-composite:exclude; }

/* 특징 카드 hover : 블루 보더 글로우 */
.zt-feat:hover { border-color:rgba(43,107,255,.5); box-shadow:0 18px 40px rgba(0,0,0,.4), 0 0 22px rgba(43,107,255,.18); }

/* FAQ 열림 상태 : 블루 글로우 */
.zt-faq-item.open { border-color:rgba(43,107,255,.45); box-shadow:0 0 16px rgba(43,107,255,.14); }

/* 주요 버튼 hover : 전기 플리커 + 글로우 */
.btn-primary:hover, .mk-login a.join:hover { animation:fcElectric 1.8s linear infinite; box-shadow:0 0 18px rgba(43,107,255,.6) !important; }

/* 맨위로 버튼(사이드바 위젯) 글로우 펄스 보강 */
#nt_sidebar_move span:hover { filter:brightness(1.15); }

/* =========================================================
   섹션 배경 아트웍 (헤븐팀 스타일 — 캐릭터가 배경에 깔림)
   이미지 슬롯: bg-about.jpg / bg-side-1.png / bg-side-2.png
   ========================================================= */
/* 소개 섹션 : 풀 배경 아트 (우측 진하게 → 좌측 페이드, 텍스트 가독 유지) */
.zt-about { overflow:hidden; }
.zt-about::before { content:""; position:absolute; inset:0; z-index:-1; background:url('/img/main/bg-about.jpg') right center/cover no-repeat; opacity:.38;
	-webkit-mask-image:linear-gradient(to right, transparent 0%, rgba(0,0,0,.45) 40%, #000 75%);
	mask-image:linear-gradient(to right, transparent 0%, rgba(0,0,0,.45) 40%, #000 75%); }
.zt-about::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(to bottom, var(--zt-bg1) 0%, transparent 18%, transparent 82%, var(--zt-bg1) 100%); }

/* 특징 카드 섹션 : 좌측 캐릭터 버스트 (좌측 진하게 → 우측 페이드) */
.zt-feats::after { content:""; position:absolute; left:0; top:-60px; bottom:-40px; width:430px; z-index:-1; background:url('/img/main/bg-side-2.png') left center/contain no-repeat; opacity:.5;
	-webkit-mask-image:linear-gradient(to right, #000 25%, transparent 95%);
	mask-image:linear-gradient(to right, #000 25%, transparent 95%); }

/* 후기+FAQ 섹션 : 우측 캐릭터 버스트 (우측 진하게 → 좌측 페이드) */
.zt-bottom { overflow:hidden; }
.zt-bottom::before { content:""; position:absolute; right:0; top:40px; width:480px; height:720px; z-index:-1; background:url('/img/main/bg-side-1.png') right top/contain no-repeat; opacity:.5;
	-webkit-mask-image:linear-gradient(to left, #000 30%, transparent 95%);
	mask-image:linear-gradient(to left, #000 30%, transparent 95%); }

/* 사이드 아트 은은한 부유 */
.zt-feats::after { animation:fcArtDrift 12s ease-in-out infinite alternate; }
.zt-bottom::before { animation:fcArtDrift 14s ease-in-out infinite alternate-reverse; }
@keyframes fcArtDrift { from { transform:translateY(0); } to { transform:translateY(-18px); } }

/* 모바일/태블릿 : 배경 아트 숨김 (가독성/성능) */
@media (max-width:992px) {
	.zt-about::before, .zt-feats::after, .zt-bottom::before { display:none; }
}

/* =========================================================
   그누보드 팝업레이어 (관리자 > 팝업레이어 관리) — 딥블루 리디자인
   구조: #hd_pop > .hd_pops > .hd_pops_con + .hd_pops_footer
   기본 흰 배경(nariya g5.css)을 id 셀렉터로 오버라이드
   ========================================================= */
#hd_pop .hd_pops {
	border:1px solid rgba(92,141,255,.4) !important;
	background:#0d1730 !important;
	border-radius:16px;
	overflow:hidden;
	box-shadow:0 24px 70px rgba(0,0,0,.7), 0 0 40px rgba(43,107,255,.22);
	animation:fcPopupIn .5s cubic-bezier(.2,.9,.3,1.15) both;
}
@keyframes fcPopupIn { from { opacity:0; transform:translateY(28px) scale(.96); } to { opacity:1; transform:none; } }
/* 상단 에너지 라인 */
#hd_pop .hd_pops::before {
	content:""; position:absolute; left:0; right:0; top:0; height:3px; z-index:3;
	background:linear-gradient(90deg,#2b6bff,#38e1ff,#2b6bff); background-size:200% 100%;
	animation:fcFlow 4s linear infinite; pointer-events:none;
}
#hd_pop .hd_pops_con { position:relative; border-radius:16px 16px 0 0; overflow:hidden; }
#hd_pop .hd_pops_con img { display:block; max-width:100%; height:auto; }
/* 관리자가 넣은 텍스트 대비(어두운 배경 기준) */
#hd_pop .hd_pops_con,
#hd_pop .hd_pops_con p,
#hd_pop .hd_pops_con span,
#hd_pop .hd_pops_con div { color:#e7edfa; }

/* 하단 버튼 바 */
#hd_pop .hd_pops_footer {
	display:flex; align-items:stretch; padding:0;
	background:#0a0d18 !important; border-top:1px solid rgba(92,141,255,.18);
}
#hd_pop .hd_pops_footer button {
	border:0; font-size:13.5px; padding:13px 18px; cursor:pointer; transition:.18s;
	white-space:nowrap;
}
/* N시간 다시 열람 안 함 */
#hd_pop .hd_pops_footer .hd_pops_reject {
	flex:1; text-align:left; position:static !important;
	background:transparent !important; color:#9aa3b5 !important; font-weight:600;
}
#hd_pop .hd_pops_footer .hd_pops_reject:hover { background:rgba(255,255,255,.05) !important; color:#fff !important; }
#hd_pop .hd_pops_footer .hd_pops_reject strong { color:#38e1ff; font-weight:800; }
/* 닫기 */
#hd_pop .hd_pops_footer .hd_pops_close {
	position:static !important; flex:0 0 auto;
	background:linear-gradient(140deg,#2b6bff,#1a3fa8) !important; color:#fff !important;
	font-weight:800; padding:13px 24px;
}
#hd_pop .hd_pops_footer .hd_pops_close:hover { filter:brightness(1.12); box-shadow:0 0 18px rgba(43,107,255,.6); }
#hd_pop .hd_pops_footer .hd_pops_close i { margin-left:4px; }

/* 모바일 팝업(is-mobile) 동일 적용 */
.is-mobile #hd_pop .hd_pops_footer { padding:0; background:#0a0d18 !important; text-align:left; }
.is-mobile #hd_pop .hd_pops_footer button { margin:0; }

/* =========================================================
   가로 스크롤 방지 (배경 장식 blob / 고정 아트가 좌우로 삐져나가는 것 차단)
   - html 루트에서 x축만 잘라냄 → 세로 sticky/고정헤더에는 영향 없음
   ========================================================= */
html { overflow-x:hidden; }
.zt-index { overflow:hidden; }

/* =========================================================
   메인 공지사항 리스트 (다크 카드 + 상단 에너지 라인)
   ========================================================= */
.zt-notice { padding:0 0 84px; }
.zt-notice-grid { display:grid; grid-template-columns:1fr 1fr; gap:28px; align-items:start; }
.zt-notice-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:22px; }
.zt-notice-head h3 { margin:0; }
.zt-notice-head .more { font-size:15px; font-weight:700; color:var(--zt-muted); transition:.15s; }
.zt-notice-head .more:hover { color:var(--zt-lime); }
.zt-notice-list { list-style:none; margin:0; padding:8px 28px; background:var(--zt-card); border:1px solid var(--zt-line); border-radius:16px; position:relative; overflow:hidden; }
.zt-notice-list::before { content:""; position:absolute; left:0; top:0; width:100%; height:3px; background:linear-gradient(90deg,#2b6bff,#38e1ff); }
.zt-notice-list li { border-bottom:1px solid var(--zt-line); }
.zt-notice-list li:last-child { border-bottom:0; }
.zt-notice-list li a { display:flex; align-items:center; gap:14px; padding:17px 4px; }
.zt-notice-list li a i { color:var(--zt-pink2); font-size:16px; }
.zt-notice-list li a .subj { flex:1; min-width:0; font-size:16.5px; font-weight:600; color:var(--zt-txt); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; transition:.15s; }
.zt-notice-list li a:hover .subj { color:var(--zt-lime); }
.zt-notice-list li a .date { font-size:13.5px; color:var(--zt-muted); }
.zt-notice-list li.empty { padding:34px 0; text-align:center; color:var(--zt-muted); font-size:15px; }

/* 텍스트형 스탯(업계 최고 수준) — 숫자 스탯과 높이 균형 */
.fc-stats .st b.txt { font-size:33px; padding:5px 0 6px; }

@media (max-width:992px) {
	.zt-notice-grid { grid-template-columns:1fr; gap:36px; }
}
@media (max-width:768px) {
	.zt-notice { padding-bottom:56px; }
	.zt-notice-list { padding:4px 16px; }
	.zt-notice-list li a { padding:13px 2px; gap:10px; }
	.zt-notice-list li a .subj { font-size:14.5px; }
	.zt-notice-list li a .date { font-size:12px; }
	.fc-stats .st b.txt { font-size:20px; padding:6px 0 7px; }
}
