@charset "utf-8";

/* ==========================================================================
   디자인 토큰
   ========================================================================== */
:root {
    --c-primary:#2b8cff;
    --c-primary-dark:#1673e6;
    --c-primary-soft:#eaf4ff;
    --c-navy:#0b2545;
    --c-text:#1a1f2b;
    --c-text-sub:#4d5566;
    --c-text-muted:#8a93a3;
    --c-line:#e6e9ef;
    --c-line-strong:#d5dae3;
    --c-bg:#ffffff;
    --c-bg-soft:#f5f7fb;
    --c-danger:#ef4444;
    --c-notice:#ff6b3d;
    --radius-s:6px;
    --radius:10px;
    --radius-l:16px;
    --shadow-s:0 1px 2px rgba(16,24,40,.06);
    --shadow:0 4px 16px rgba(16,24,40,.08);
    --shadow-l:0 16px 40px rgba(16,24,40,.14);
    --container:1250px;
    --gutter:20px;
    --hd-h:76px;
    --font:"Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, "Apple SD Gothic Neo", "Malgun Gothic", "맑은 고딕", sans-serif;
}

/* ==========================================================================
   초기화
   ========================================================================== */
html {overflow-y:scroll;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body {margin:0;padding:0;font-size:14px;line-height:1.5;font-family:var(--font);color:var(--c-text);background:#fff;letter-spacing:-0.01em;word-break:keep-all;overflow-wrap:break-word;-webkit-font-smoothing:antialiased}
html, h1, h2, h3, h4, h5, h6, form, fieldset, img {margin:0;padding:0;border:0}
fieldset {min-width:0}
h1, h2, h3, h4, h5, h6 {font-size:1em;font-family:var(--font)}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main {display:block}

ul, dl, dt, dd {margin:0;padding:0;list-style:none}
legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden}
label, input, button, select, img {vertical-align:middle;font-size:1em}
input, button {margin:0;padding:0;font-family:var(--font);font-size:1em;color:inherit}
input[type="submit"] {cursor:pointer}
button {cursor:pointer}
img {max-width:100%}

textarea, select {font-family:var(--font);font-size:1em;color:inherit}
select {margin:0}
p {margin:0;padding:0}
hr {display:none}
pre {overflow-x:auto;font-size:1.1em}
a {color:inherit;text-decoration:none}
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {-webkit-appearance:none}

*, :after, :before {
  -webkit-box-sizing:border-box;
  -moz-box-sizing:border-box;
  box-sizing:border-box;
}

input[type=text], input[type=password], input[type=email], input[type=tel], input[type=url], input[type=number], textarea, select {
    -webkit-transition:border-color .2s ease, box-shadow .2s ease;
    transition:border-color .2s ease, box-shadow .2s ease;
    outline:none;
}

input[type=text]:focus, input[type=password]:focus, input[type=email]:focus, input[type=tel]:focus, input[type=url]:focus, input[type=number]:focus, textarea:focus, select:focus {
    border-color:var(--c-primary) !important;
    -webkit-box-shadow:0 0 0 3px rgba(43,140,255,.15);
    box-shadow:0 0 0 3px rgba(43,140,255,.15);
}

::placeholder {color:#a3abb9}
.placeholdersjs {color:#a3abb9 !important}

/* 공통 - display none/block */
.is-hidden { display: none !important; }
.is-visible { display: block !important; }

/* 공통 - 뷰포트 (pc / mobile) 별 display none/block */
.pc-only { display: none; }
@media (min-width: 769px) { .pc-only { display: block !important; }}
.mobile-only { display: block; }
@media (min-width: 769px) { .mobile-only { display: none !important; }}

/* ==========================================================================
   레이아웃 폭 (1250px)
   ========================================================================== */
.hd_inner,
.sub_hd_inner,
#container_wr,
.ft_inner,
.main_inner,
.hero_inner {width:100%;max-width:calc(var(--container) + (var(--gutter) * 2));margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}

/* ==========================================================================
   팝업레이어
   ========================================================================== */
#hd_pop {z-index:1100;position:relative;max-width:var(--container);margin:0 auto;height:0}
#hd_pop h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
.hd_pops {position:absolute;border:1px solid var(--c-line);background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-l)}
.hd_pops img {max-width:100%;height:auto}
.hd_pops_con {overflow:auto}
.hd_pops_footer {display:flex;justify-content:space-between;padding:0;background:var(--c-text);color:#fff;text-align:left;position:relative}
.hd_pops_footer button {padding:12px 14px;border:0;color:#fff;font-size:13px;background:transparent}
.hd_pops_footer .hd_pops_reject {text-align:left}
.hd_pops_footer .hd_pops_close {background:rgba(255,255,255,.12)}

/* ==========================================================================
   상단
   ========================================================================== */
#hd {position:sticky;top:0;z-index:500;background:rgba(255,255,255,.96);border-bottom:1px solid var(--c-line);-webkit-backdrop-filter:saturate(180%) blur(10px);backdrop-filter:saturate(180%) blur(10px);transition:box-shadow .2s ease}
#hd.is_scrolled {box-shadow:0 6px 24px rgba(16,24,40,.07)}
#hd_h1 {position:absolute;font-size:0;line-height:0;overflow:hidden}

#hd_wrapper {position:relative}
.hd_inner {display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:24px;height:var(--hd-h)}
.hd_inner:has(.hd_login li) {grid-template-columns:auto minmax(0,1fr) auto} /* 로그인 시 오른쪽 버튼이 길어져도 메뉴와 겹치지 않게 */

/* 로고 */
#logo {justify-self:start;min-width:0}
#logo a {display:inline-flex;align-items:center;gap:10px;max-width:100%;color:var(--c-text);font-size:20px;font-weight:800;letter-spacing:-0.03em}
#logo img {display:block;max-height:40px;width:auto}
.logo_mark {flex:none;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:11px;background:linear-gradient(135deg,#0a78d1 0%,#4bb6fb 100%);color:#fff;font-size:17px;box-shadow:0 6px 14px rgba(10,120,209,.3)}
.logo_mark svg {display:block;width:22px;height:22px}
#logo .logo_txt {overflow:hidden;white-space:nowrap;text-overflow:ellipsis}

/* 메인메뉴 (가운데) */
#gnb {justify-self:center}
#gnb > h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#gnb_1dul {display:flex;align-items:center;gap:2px}
#gnb .gnb_1dli {position:relative}
#gnb .gnb_1da {position:relative;display:flex;align-items:center;gap:5px;height:var(--hd-h);padding:0 18px;color:var(--c-text);font-size:16px;font-weight:600;white-space:nowrap;transition:color .2s ease}
#gnb .gnb_1da .fa {font-size:13px;color:var(--c-text-muted);transition:transform .2s ease}
#gnb .gnb_1da:after {content:"";position:absolute;left:18px;right:18px;bottom:-1px;height:2px;border-radius:2px;background:var(--c-primary);transform:scaleX(0);transition:transform .2s ease}
#gnb .gnb_1dli:hover > .gnb_1da,
#gnb .gnb_1dli:focus-within > .gnb_1da,
#gnb .gnb_active > .gnb_1da {color:var(--c-primary)}
#gnb .gnb_1dli:hover > .gnb_1da:after,
#gnb .gnb_1dli:focus-within > .gnb_1da:after,
#gnb .gnb_active > .gnb_1da:after {transform:scaleX(1)}
#gnb .gnb_1dli:hover > .gnb_1da .fa-angle-down {transform:rotate(180deg)}
#gnb .gnb_1da .gnb_tg_ico {color:#229ed9;font-size:15px}

#gnb .gnb_2dul {position:absolute;top:100%;left:50%;min-width:190px;padding-top:0;opacity:0;visibility:hidden;transform:translate(-50%,8px);transition:opacity .18s ease, transform .18s ease, visibility .18s}
#gnb .gnb_1dli:hover .gnb_2dul,
#gnb .gnb_1dli:focus-within .gnb_2dul,
#gnb .gnb_1dli_over .gnb_2dul {opacity:1;visibility:visible;transform:translate(-50%,0)}
#gnb .gnb_2dul_box {padding:8px;border:1px solid var(--c-line);border-radius:12px;background:#fff;box-shadow:var(--shadow-l)}
#gnb .gnb_2da {display:block;padding:10px 14px;border-radius:8px;color:var(--c-text-sub);font-size:14px;white-space:nowrap}
#gnb .gnb_2da:hover, #gnb .gnb_2da:focus {background:var(--c-primary-soft);color:var(--c-primary)}
#gnb .gnb_empty {color:var(--c-text-muted);font-size:14px}
#gnb .gnb_empty a {color:var(--c-primary);text-decoration:underline}

/* 우측 유틸 (로그인/회원가입) */
.hd_util {justify-self:end;display:flex;align-items:center;gap:6px;min-width:0}
.hd_login {display:flex;align-items:center;gap:4px}
.hd_login li {flex:none}
.hd_login a {display:inline-flex;align-items:center;gap:5px;height:38px;padding:0 12px;border-radius:999px;color:var(--c-text-sub);font-size:14px;font-weight:500;white-space:nowrap;transition:color .2s, background-color .2s, border-color .2s}
.hd_login a:hover {color:var(--c-primary)}
.hd_login .hd_btn_fill {padding:0 18px;background:var(--c-primary);color:#fff;font-weight:600}
.hd_login .hd_btn_fill:hover {background:var(--c-primary-dark);color:#fff}
.hd_login .hd_btn_line {border:1px solid var(--c-line-strong);color:var(--c-text)}
.hd_login .hd_btn_line:hover {border-color:var(--c-primary)}
.hd_login .hd_login_admin a {color:#d13f4a}

.hd_icon_btn {display:inline-flex;align-items:center;justify-content:center;flex:none;width:40px;height:40px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--c-text);font-size:18px;transition:background-color .2s}
.hd_icon_btn:hover {background:var(--c-bg-soft)}
.hd_sch_btn[aria-expanded="true"] {background:var(--c-primary-soft);color:var(--c-primary)}
.gnb_menu_btn {display:none}
.hamburger {position:relative;display:block;width:20px;height:14px}
.hamburger span {position:absolute;left:0;width:100%;height:2px;border-radius:2px;background:currentColor}
.hamburger span:nth-child(1) {top:0}
.hamburger span:nth-child(2) {top:6px}
.hamburger span:nth-child(3) {top:12px}

/* 전체검색 레이어 (서브페이지) */
.hd_sch_layer {display:none;position:absolute;top:100%;left:0;right:0;padding:24px 0;border-bottom:1px solid var(--c-line);background:#fff;box-shadow:0 12px 24px rgba(16,24,40,.08)}
html.hd_sch_on .hd_sch_layer {display:block}
.hd_sch_inner {max-width:760px;margin:0 auto;padding:0 var(--gutter)}
.hd_sch_layer form {display:flex;align-items:center;height:54px;padding:0 6px 0 22px;border:2px solid var(--c-primary);border-radius:999px;background:#fff}
#sch_stx {flex:1;min-width:0;height:100%;padding:0;border:0;background:transparent;font-size:16px;color:var(--c-text);outline:0}
#sch_submit {flex:none;width:42px;height:42px;border:0;border-radius:50%;background:var(--c-primary);color:#fff;font-size:16px}
#sch_submit:hover {background:var(--c-primary-dark)}

/* 전체메뉴 (모바일 드로어) */
#gnb_all {position:fixed;top:0;right:0;bottom:0;z-index:1001;display:none;flex-direction:column;width:min(340px, 86vw);background:#fff;box-shadow:var(--shadow-l);overflow-y:auto;-webkit-overflow-scrolling:touch}
html.gnb_all_on #gnb_all {display:flex;animation:gnb_all_in .28s ease both}
html.gnb_all_closing #gnb_all {display:flex;animation:gnb_all_out .24s ease both}
@keyframes gnb_all_in {from {transform:translateX(100%)} to {transform:none}}
@keyframes gnb_all_out {from {transform:none} to {transform:translateX(100%)}}
#gnb_all_bg {position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;background:rgba(11,23,45,.45);opacity:0;visibility:hidden;transition:opacity .28s ease, visibility .28s}
html.gnb_all_on #gnb_all_bg {opacity:1;visibility:visible}
html.gnb_all_on, html.gnb_all_on body {overflow:hidden}

.gnb_all_hd {display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 12px 0 20px;border-bottom:1px solid var(--c-line)}
.gnb_all_hd h2 {font-size:17px;font-weight:700}
.gnb_close_btn {width:40px;height:40px;border:0;border-radius:50%;background:transparent;color:var(--c-text);font-size:20px}
.gnb_close_btn:hover {background:var(--c-bg-soft)}
.gnb_all_member {padding:20px;background:linear-gradient(135deg,#eef7ff 0%,#dff1ff 100%)}
.gnb_all_hello {font-size:14px;color:var(--c-text-sub)}
.gnb_all_hello strong {color:var(--c-navy);font-size:16px}
.gnb_all_btns {display:flex;gap:6px;margin-top:12px}
.gnb_all_btns a {flex:1;display:inline-flex;align-items:center;justify-content:center;height:40px;border-radius:8px;font-size:14px;font-weight:600}
.gnb_all_btns .btn_fill {background:var(--c-primary);color:#fff}
.gnb_all_btns .btn_line {border:1px solid var(--c-line-strong);background:#fff;color:var(--c-text)}
.gnb_all_btns .btn_line_admin {color:#d13f4a}
.gnb_al_ul {padding:8px 0}
.gnb_al_li {border-bottom:1px solid var(--c-line)}
.gnb_al_row {display:flex;align-items:center}
.gnb_al_a {flex:1;display:block;padding:16px 20px;color:var(--c-text);font-size:16px;font-weight:600}
.gnb_al_li.gnb_active .gnb_al_a {color:var(--c-primary)}
.gnb_al_toggle {width:52px;height:52px;border:0;background:transparent;color:var(--c-text-muted);font-size:18px}
.gnb_al_toggle .fa {transition:transform .2s}
.gnb_al_li.is_open .gnb_al_toggle .fa {transform:rotate(180deg)}
.gnb_al_sub {display:none;padding:4px 0 12px;background:var(--c-bg-soft)}
.gnb_al_li.is_open .gnb_al_sub {display:block}
.gnb_al_sub a {display:block;padding:10px 20px 10px 32px;color:var(--c-text-sub);font-size:14px}
.gnb_al_sub a:hover {color:var(--c-primary)}
.gnb_al_ul .gnb_empty {padding:24px 20px;color:var(--c-text-muted)}
.gnb_al_ul .gnb_empty a {color:var(--c-primary);text-decoration:underline}
.gnb_tg_ico {margin-right:5px;color:#229ed9;font-size:1.05em}

/* ==========================================================================
   서브 타이틀
   ========================================================================== */
#sub_hd {position:relative;overflow:hidden;background:linear-gradient(120deg,#eef7ff 0%,#dcf0ff 55%,#eef9ff 100%);border-bottom:1px solid #e3eefa}
#sub_hd:after {content:"";position:absolute;top:-80px;right:8%;width:240px;height:240px;border-radius:50%;background:rgba(255,255,255,.55)}
.sub_hd_inner {position:relative;z-index:1;padding-top:44px;padding-bottom:44px}
#container_title {color:var(--c-navy);font-size:30px;font-weight:800;letter-spacing:-0.03em;line-height:1.3}
#container_title span {display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ==========================================================================
   중간 레이아웃
   ========================================================================== */
#wrapper {position:relative}
/* 내용이 짧은 페이지에서도 하단이 화면 아래에 붙도록 */
body:has(> #wrapper) {display:flex;flex-direction:column;min-height:100vh}
body:has(> #wrapper) > * {flex-shrink:0}
body:has(> #wrapper) > #wrapper {flex:1 0 auto}
#container_wr:after {display:block;visibility:hidden;clear:both;content:""}
#container {position:relative;min-height:420px;padding:40px 0 80px;font-size:1em}
#container:after {display:block;visibility:hidden;clear:both;content:""}
#wrapper.is_index #container_wr {max-width:none;padding:0}
#wrapper.is_index #container {padding:0}

/* ==========================================================================
   메인 검색 (hero)
   ========================================================================== */
/* 그라데이션 : 왼쪽 상단 진한 하늘색 → 오른쪽 하단 살짝 연한 하늘색 */
#main_hero {position:relative;display:flex;align-items:center;height:500px;overflow:hidden;background:linear-gradient(60deg, #116eb8 0%, #0a95b5 50%, #00c1b6 100%);color:#fff;isolation:isolate}
/* 배경 움직임 : 큰 그라데이션 레이어를 천천히 이동 (transform 만 사용) */
#main_hero .hero_bg, #sub_hero .hero_bg {position:absolute;top:-50%;left:-50%;width:200%;height:200%;z-index:-2;background:
    linear-gradient(60deg, #0d5fae 0%, #116eb8 25%, #0a95b5 50%, #00c1b6 75%, #00cdb9 100%); /* 왼쪽 아래 파랑 → 오른쪽 위 청록 */animation:hero_bg_move 18s ease-in-out infinite alternate;will-change:transform}
@keyframes hero_bg_move {
    0% {transform:translate3d(6%,6%,0)}
    50% {transform:translate3d(0,2%,0) scale(1.03)}
    100% {transform:translate3d(-6%,-4%,0)}
}
#main_hero .hero_deco {position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1}
#main_hero .hero_deco span {position:absolute;border-radius:50%;background:rgba(255,255,255,.12);animation:hero_float 14s ease-in-out infinite alternate}
#main_hero .hero_deco span:nth-child(1) {width:440px;height:440px;top:-210px;right:-90px}
#main_hero .hero_deco span:nth-child(2) {width:280px;height:280px;bottom:-150px;left:-70px;background:rgba(255,255,255,.08);animation-duration:17s;animation-direction:alternate-reverse}
#main_hero .hero_deco span:nth-child(3) {width:120px;height:120px;top:70px;left:24%;background:rgba(255,255,255,.1);animation-duration:11s}
@keyframes hero_float {
    0% {transform:translate3d(0,0,0)}
    100% {transform:translate3d(24px,-18px,0)}
}

/* 양옆 일러스트 : 먹튀 탐지(돋보기) / 먹튀 검거(배지·수갑) */
.hero_ill {position:absolute;top:50%;z-index:0;width:250px;margin-top:-118px;opacity:.95;pointer-events:none;filter:drop-shadow(0 18px 30px rgba(0,40,100,.22))}
.hero_ill svg {display:block;width:100%;height:auto;overflow:visible}
.hero_ill_l {left:max(12px, calc(50% - 640px))}
.hero_ill_r {right:max(12px, calc(50% - 640px))}
.hero_ill .ill_float {animation:ill_float 6s ease-in-out infinite}
.hero_ill_r .ill_float {animation-delay:-3s}
.hero_ill .ill_scan {transform-box:fill-box;transform-origin:center;animation:ill_scan 7s ease-in-out infinite}
.hero_ill .ill_pulse {transform-box:fill-box;transform-origin:center;animation:ill_pulse 1.6s ease-in-out infinite}
.hero_ill .ill_twinkle {animation:ill_twinkle 2.4s ease-in-out infinite}
.hero_ill .ill_blink {animation:ill_blink 1.1s steps(2, jump-none) infinite}
.hero_ill .ill_siren {transform-box:fill-box;transform-origin:center bottom;animation:ill_siren 1.1s ease-in-out infinite}
.hero_ill .ill_swing {transform-box:fill-box;transform-origin:30% 10%;animation:ill_swing 4s ease-in-out infinite}
@keyframes ill_float {0%, 100% {transform:translateY(0)} 50% {transform:translateY(-10px)}}
@keyframes ill_scan {0%, 100% {transform:translate(0,0) rotate(0)} 30% {transform:translate(-26px,-14px) rotate(-6deg)} 60% {transform:translate(-8px,-30px) rotate(3deg)}}
@keyframes ill_pulse {0%, 100% {transform:scale(1)} 50% {transform:scale(1.12)}}
@keyframes ill_twinkle {0%, 100% {opacity:1} 50% {opacity:.25}}
@keyframes ill_blink {0% {opacity:1} 100% {opacity:.15}}
@keyframes ill_siren {0%, 100% {filter:none} 50% {filter:drop-shadow(0 0 10px rgba(255,90,95,.9))}}
@keyframes ill_swing {0%, 100% {transform:rotate(0)} 50% {transform:rotate(-7deg)}}

.hero_inner {position:relative;z-index:1;text-align:center}
.hero_title {color:#fff;font-size:43px;font-weight:800;line-height:1.3;letter-spacing:-0.035em;text-shadow:0 2px 14px rgba(0,50,110,.28)}
.hero_desc {margin-top:10px;color:rgba(255,255,255,.95);font-size:19px;font-weight:500;text-shadow:0 1px 8px rgba(0,50,110,.25)}

#hero_sch {max-width:760px;margin:30px auto 0}
#hero_sch form {display:flex;align-items:center;height:68px;padding:0 8px 0 26px;border-radius:999px;background:#fff;box-shadow:0 18px 44px rgba(0,45,110,.28), 0 2px 6px rgba(0,45,110,.1);transition:box-shadow .2s}
#hero_sch form:focus-within {box-shadow:0 18px 44px rgba(0,45,110,.3), 0 0 0 4px rgba(255,255,255,.45)}
.hero_sch_ico {flex:none;margin-right:12px;color:var(--c-primary);font-size:20px}
#hero_stx {flex:1;min-width:0;height:100%;padding:0;border:0;background:transparent;color:var(--c-text);font-size:18px;outline:0}
.hero_sch_btn {flex:none;height:52px;padding:0 32px;border:0;border-radius:999px;background:var(--c-primary);color:#fff;font-size:16px;font-weight:700;transition:background-color .2s}
.hero_sch_btn:hover {background:var(--c-primary-dark)}

#hero_popular {display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 10px;margin-top:20px}
#hero_popular h3 {color:rgba(255,255,255,.9);font-size:13px;font-weight:600}
#hero_popular ul {display:flex;flex-wrap:wrap;justify-content:center;gap:6px}
#hero_popular a {display:inline-block;padding:5px 12px;border-radius:999px;background:rgba(255,255,255,.2);color:#fff;font-size:13px;transition:background-color .2s}
#hero_popular a:hover {background:#fff;color:var(--c-primary-dark)}

/* 메인 통계 : hero 아래에 살짝 겹쳐 떠 있는 카드 (배너가 있으면 배너 아래에 출력) */
#main_stats {position:relative;z-index:2;margin-top:-56px}
#main_banner + #main_stats {margin-top:0;padding-top:24px}
#main_stats .stats_box {overflow:hidden;border:1px solid rgba(214,226,240,.9);border-radius:22px;background:#fff;box-shadow:0 24px 60px rgba(11,37,69,.14), 0 2px 6px rgba(11,37,69,.05)}
#main_stats .stats_hd {display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 16px;padding:14px 28px;border-bottom:1px solid var(--c-line);background:linear-gradient(90deg,#f5faff 0%,#fff 70%)}
#main_stats .stats_live {display:flex;align-items:center;gap:8px;color:#16a34a;font-size:12px;font-weight:800;letter-spacing:.08em}
#main_stats .stats_live strong {color:var(--c-navy);font-size:14px;font-weight:700;letter-spacing:-0.01em}
#main_stats .stats_dot {position:relative;width:8px;height:8px;border-radius:50%;background:#22c55e}
#main_stats .stats_dot:after {content:"";position:absolute;top:-4px;left:-4px;width:16px;height:16px;border-radius:50%;background:rgba(34,197,94,.35);animation:stats_ping 1.6s ease-out infinite}
@keyframes stats_ping {0% {transform:scale(.4);opacity:1} 100% {transform:scale(1.6);opacity:0}}
#main_stats .stats_time {display:flex;align-items:center;gap:6px;color:var(--c-text-muted);font-size:12px}
#main_stats .stats_list {display:grid;grid-template-columns:repeat(var(--stats-cols, 4), minmax(0,1fr))} /* 칸 수 : index.php 에서 항목 수로 계산 */
#main_stats .stats_cols3 .stats_item:nth-child(3n+1):before,
#main_stats .stats_cols4 .stats_item:nth-child(4n+1):before {display:none}
#main_stats .stats_cols3 .stats_item:nth-child(n+4),
#main_stats .stats_cols4 .stats_item:nth-child(n+5) {border-top:1px solid var(--c-line)}
#main_stats .stats_item {position:relative;display:flex;align-items:center;gap:16px;min-width:0;padding:26px 28px;transition:background-color .2s}
#main_stats .stats_item:hover {background:#fafcff}
#main_stats .stats_item + .stats_item:before {content:"";position:absolute;top:24px;bottom:24px;left:0;width:1px;background:var(--c-line)}
#main_stats .stats_ico {flex:none;display:flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:16px;font-size:22px}
#main_stats .is_blue .stats_ico {background:linear-gradient(135deg,#e3f1ff,#cfe6ff);color:#1673e6}
#main_stats .is_rose .stats_ico {background:linear-gradient(135deg,#ffe8ec,#ffd3dc);color:#e11d48}
#main_stats .is_violet .stats_ico {background:linear-gradient(135deg,#efeaff,#e0d6ff);color:#6d28d9}
#main_stats .is_amber .stats_ico {background:linear-gradient(135deg,#fff4dc,#ffe7b3);color:#d97706}
#main_stats .is_green .stats_ico {background:linear-gradient(135deg,#e3fbea,#c9f3d6);color:#16a34a}
#main_stats .is_navy .stats_ico {background:linear-gradient(135deg,#e8eef6,#d5dfec);color:#0b2545}
#main_stats .stats_txt {min-width:0}
#main_stats .stats_label {display:block;color:var(--c-text-sub);font-size:14px;font-weight:500}
#main_stats .stats_val {display:flex;align-items:baseline;gap:3px;margin-top:4px}
#main_stats .stats_num {color:var(--c-navy);font-size:32px;font-weight:800;line-height:1.1;letter-spacing:-0.03em;font-variant-numeric:tabular-nums;white-space:nowrap}
#main_stats .stats_unit {color:var(--c-text-muted);font-size:15px;font-weight:600}
#main_stats .is_rose .stats_num {color:#e11d48}

/* 메인 최근게시물 */
#main_latest {padding:40px 0 88px}
.main_latest_grid {display:grid;grid-template-columns:repeat(2, minmax(0,1fr));gap:24px}
.main_latest_empty {grid-column:1 / -1;padding:60px 20px;border:1px dashed var(--c-line-strong);border-radius:var(--radius-l);color:var(--c-text-muted);text-align:center;line-height:1.8}
.main_latest_empty code {padding:2px 6px;border-radius:4px;background:var(--c-bg-soft);color:var(--c-text-sub)}
.main_poll {max-width:420px;margin:40px auto 0}

/* ==========================================================================
   하단
   ========================================================================== */
#ft {border-top:1px solid var(--c-line);background:var(--c-bg-soft);color:var(--c-text-sub)}
#ft h1 {position:absolute;font-size:0;line-height:0;overflow:hidden}
.ft_inner {padding-top:40px;padding-bottom:40px}
.ft_top {display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;padding-bottom:22px;border-bottom:1px solid var(--c-line)}
.ft_logo {display:inline-flex;align-items:center;gap:10px;color:var(--c-text);font-size:18px;font-weight:800;letter-spacing:-0.03em}
.ft_logo .logo_mark {width:32px;height:32px;border-radius:10px;box-shadow:none}
.ft_logo .logo_mark svg {width:19px;height:19px}
#ft_copy {margin-top:18px;color:var(--c-text-muted);font-size:12px}
#ft_copy b {color:var(--c-text-sub);font-weight:600}
#ft_copy .ft_admin {margin-left:10px;color:#b4bcc8;font-size:11px}
#ft_copy .ft_admin:hover {color:var(--c-text-sub)}

#top_btn {position:fixed;right:20px;bottom:20px;z-index:90;display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid var(--c-line);border-radius:50%;background:#fff;color:var(--c-text);font-size:22px;box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .2s, transform .2s, visibility .2s, background-color .2s}
#top_btn.is_show {opacity:1;visibility:visible;transform:none}
#top_btn:hover {border-color:var(--c-primary);background:var(--c-primary);color:#fff}

/* ==========================================================================
   게시물 선택복사 선택이동
   ========================================================================== */
#copymove .win_desc {text-align:center;display:block}
#copymove .tbl_wrap {margin:20px}
#copymove .win_btn {padding:0 20px 20px}
.copymove_current {float:right;background:var(--c-notice);padding:3px 8px;color:#fff;border-radius:4px;font-size:12px}
.copymove_currentbg {background:var(--c-bg-soft)}

/* 화면낭독기 사용자용 */
#hd_login_msg {position:absolute;top:0;left:0;font-size:0;line-height:0;overflow:hidden}
.msg_sound_only, .sound_only {display:inline-block !important;position:absolute;top:0;left:0;width:0;height:0;margin:0 !important;padding:0 !important;font-size:0;line-height:0;border:0 !important;overflow:hidden !important}

/* 본문 바로가기 */
#skip_to_container a {z-index:100000;position:absolute;top:0;left:0;width:1px;height:1px;font-size:0;line-height:0;overflow:hidden}
#skip_to_container a:focus, #skip_to_container a:active {width:100%;height:60px;background:var(--c-navy);color:#fff;font-size:18px;font-weight:bold;text-align:center;text-decoration:none;line-height:60px}

/* ie6 이미지 너비 지정 */
.img_fix {width:100%;height:auto}

/* 캡챠 자동등록(입력)방지 기본 -pc */
#captcha {display:inline-block;position:relative}
#captcha legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden}
#captcha #captcha_img {height:40px;border:1px solid var(--c-line-strong);border-radius:6px;vertical-align:top;padding:0;margin:0}
#captcha #captcha_mp3 {margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../../../img/captcha2.png') no-repeat;text-indent:-999px;border-radius:3px}
#captcha #captcha_reload {margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../../../img/captcha2.png') no-repeat 0 -40px;text-indent:-999px;border-radius:3px}
#captcha #captcha_key {margin:0 0 0 3px;padding:0 5px;width:100px;height:40px;border:1px solid var(--c-line-strong);background:#fff;font-size:1.2em;font-weight:bold;text-align:center;border-radius:6px;vertical-align:top}
#captcha #captcha_info {display:block;margin:6px 0 0;color:var(--c-text-muted);font-size:12px}

/* 캡챠 자동등록(입력)방지 기본 - mobile */
#captcha.m_captcha audio {display:block;margin:0 0 5px;width:187px}
#captcha.m_captcha #captcha_img {width:160px;height:60px;border:1px solid var(--c-line);margin-bottom:3px;margin-top:5px;display:block}
#captcha.m_captcha #captcha_reload {position:static;margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../../../img/captcha2.png') no-repeat 0 -40px;text-indent:-999px}
#captcha.m_captcha #captcha_reload span {display:none}
#captcha.m_captcha #captcha_key {margin:0;padding:0 5px;width:115px;height:29px;border:1px solid var(--c-line-strong);background:#fff;font-size:1.2em;font-weight:bold;text-align:center;line-height:29px;margin-left:3px}
#captcha.m_captcha #captcha_info {display:block;margin:5px 0 0;font-size:0.95em}
#captcha.m_captcha #captcha_mp3 {width:31px;height:31px;background:url('../../../img/captcha2.png') no-repeat 0 0 ; vertical-align:top;overflow:hidden;cursor:pointer;text-indent:-9999px;border:none}

/* ckeditor 단축키 */
.cke_sc {margin:0 0 5px;text-align:right}
.btn_cke_sc {display:inline-block;padding:0 10px;height:23px;border:1px solid #ccc;background:#fafafa;color:#000;text-decoration:none;line-height:1.9em;vertical-align:middle;cursor:pointer}
.cke_sc_def {margin:0 0 5px;padding:10px;border:1px solid #ccc;background:#f7f7f7;text-align:center}
.cke_sc_def dl {margin:0 0 5px;text-align:left;zoom:1}
.cke_sc_def dl:after {display:block;visibility:hidden;clear:both;content:""}
.cke_sc_def dt, .cke_sc_def dd {float:left;margin:0;padding:5px 0;border-bottom:1px solid #e9e9e9}
.cke_sc_def dt {width:20%;font-weight:bold}
.cke_sc_def dd {width:30%}

/* ckeditor 태그 기본값 */
#bo_v_con ul {display:block;list-style-type:disc;margin-top:1em;margin-bottom:1em;margin-left:0;margin-right:0;padding-left:40px}
#bo_v_con ol {display:block;list-style-type:decimal;margin-top:1em;margin-bottom:1em;margin-left:0;margin-right:0;padding-left:40px}
#bo_v_con li {display:list-item}

/* ==========================================================================
   버튼
   ========================================================================== */
a.btn, .btn {display:inline-flex;align-items:center;justify-content:center;gap:6px;height:40px;line-height:1;padding:0 16px;border:0;border-radius:8px;font-size:14px;font-weight:600;text-align:center;text-decoration:none;vertical-align:middle;white-space:nowrap;
-webkit-transition:background-color .2s ease, border-color .2s ease, color .2s ease;
transition:background-color .2s ease, border-color .2s ease, color .2s ease}

a.btn01 {display:inline-block;padding:8px 12px;border:1px solid var(--c-line-strong);border-radius:6px;background:#fff;color:var(--c-text);text-decoration:none;vertical-align:middle}
a.btn01:focus, a.btn01:hover {text-decoration:none;border-color:var(--c-primary);color:var(--c-primary)}
button.btn01 {display:inline-block;margin:0;padding:8px 12px;border:1px solid var(--c-line-strong);border-radius:6px;background:#fff;color:var(--c-text);text-decoration:none}
a.btn02 {display:inline-block;padding:8px 12px;border:1px solid var(--c-text);border-radius:6px;background:var(--c-text);color:#fff;text-decoration:none;vertical-align:middle}
a.btn02:focus, .btn02:hover {text-decoration:none}
button.btn02 {display:inline-block;margin:0;padding:8px 12px;border:1px solid var(--c-text);border-radius:6px;background:var(--c-text);color:#fff;text-decoration:none}

.btn_confirm {text-align:right} /* 서식단계 진행 */

.btn_submit {border:0;background:var(--c-primary);color:#fff;cursor:pointer;border-radius:8px;font-weight:600;transition:background-color .2s}
.btn_submit:hover {background:var(--c-primary-dark)}
.btn_submit:disabled {opacity:.6;cursor:default}
.btn_close {border:1px solid var(--c-line-strong);cursor:pointer;border-radius:8px;background:#fff;color:var(--c-text)}
.btn_close:hover {border-color:var(--c-text-muted)}
a.btn_close {display:inline-block;text-align:center;line-height:48px}

a.btn_cancel, button.btn_cancel {display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--c-line-strong);background:#fff;color:var(--c-text-sub);text-decoration:none;vertical-align:middle}
.btn_cancel:hover {border-color:var(--c-text-muted);color:var(--c-text)}
a.btn_frmline, button.btn_frmline {display:inline-flex;align-items:center;justify-content:center;min-width:110px;padding:0 14px;height:44px;border:0;background:var(--c-navy);border-radius:8px;color:#fff;font-size:14px;font-weight:600;text-decoration:none;vertical-align:top;white-space:nowrap} /* 우편번호검색버튼 등 */
a.btn_frmline:hover, button.btn_frmline:hover {background:#16365e}

/* 게시판용 버튼 */
a.btn_b01, .btn_b01 {display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--c-line-strong);background:#fff;color:var(--c-text-sub);text-decoration:none;vertical-align:middle}
a.btn_b01:hover, .btn_b01:hover {border-color:var(--c-primary);color:var(--c-primary)}
a.btn_b02, .btn_b02 {display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--c-primary);background:var(--c-primary);color:#fff;text-decoration:none;vertical-align:middle}
a.btn_b02:hover, .btn_b02:hover {border-color:var(--c-primary-dark);background:var(--c-primary-dark);color:#fff}
a.btn_b03, .btn_b03 {display:inline-flex;align-items:center;justify-content:center;border:1px solid #bcd9ff;background:#fff;color:var(--c-primary);text-decoration:none;vertical-align:middle}
a.btn_b03:hover, .btn_b03:hover {background:var(--c-primary-soft)}
a.btn_b04, .btn_b04 {display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--c-line-strong);background:#fff;color:var(--c-text-sub);text-decoration:none;vertical-align:middle}
a.btn_b04:hover, .btn_b04:hover {color:var(--c-text);background:var(--c-bg-soft)}
a.btn_admin, .btn_admin {display:inline-flex;align-items:center;justify-content:center;border:1px solid #f6c9cd;background:#fff;color:#d13f4a;text-decoration:none;vertical-align:middle} /* 관리자 전용 버튼 */
.btn_admin:hover, a.btn_admin:hover {background:#fff1f2;color:#c0262f}

/* ==========================================================================
   기본테이블
   ========================================================================== */
.tbl_wrap table {width:100%;border-collapse:collapse;border-spacing:0;background:#fff;border-top:2px solid var(--c-text);border-bottom:1px solid var(--c-line)}
.tbl_wrap caption {padding:10px 0;font-weight:bold;text-align:left}
.tbl_head01 {margin:0 0 10px}
.tbl_head01 caption {padding:0;font-size:0;line-height:0;overflow:hidden}
.tbl_head01 thead th {height:52px;padding:0 8px;border-bottom:1px solid var(--c-line);background:var(--c-bg-soft);color:var(--c-text);font-weight:600;text-align:center}
.tbl_head01 thead th a {color:inherit}
.tbl_head01 thead th input {vertical-align:top} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */
.tbl_head01 tfoot th, .tbl_head01 tfoot td {padding:12px 0;border-top:1px solid var(--c-line);border-bottom:1px solid var(--c-line);background:var(--c-bg-soft);text-align:center}
.tbl_head01 tbody th {padding:12px 8px;border-bottom:1px solid var(--c-line)}
.tbl_head01 td {padding:14px 8px;border-bottom:1px solid var(--c-line);color:var(--c-text-sub);line-height:1.5;word-break:break-all}
.tbl_head01 tbody tr:hover td {background:#fafcff}
.tbl_head01 a:hover {color:var(--c-primary)}

.tbl_head02 {margin:0 0 10px}
.tbl_head02 caption {padding:0;font-size:0;line-height:0;overflow:hidden}
.tbl_head02 thead th {padding:10px 0;border-top:1px solid var(--c-line);border-bottom:1px solid var(--c-line);background:var(--c-bg-soft);color:var(--c-text);font-size:0.95em;text-align:center}
.tbl_head02 thead a {color:var(--c-text)}
.tbl_head02 thead th input {vertical-align:top}
.tbl_head02 tfoot th, .tbl_head02 tfoot td {padding:10px 0;border-top:1px solid var(--c-line);border-bottom:1px solid var(--c-line);background:var(--c-bg-soft);text-align:center}
.tbl_head02 tbody th {padding:8px 0;border-top:1px solid var(--c-line);border-bottom:1px solid var(--c-line);background:#fff}
.tbl_head02 td {padding:8px 5px;border-top:1px solid var(--c-line);border-bottom:1px solid var(--c-line);background:#fff;line-height:1.5;word-break:break-all}

/* 폼 테이블 */
.tbl_frm01 {margin:0 0 20px}
.tbl_frm01 table {width:100%;border-collapse:collapse;border-spacing:0}
.tbl_frm01 th {width:110px;padding:12px 14px;border:1px solid var(--c-line);border-left:0;background:var(--c-bg-soft);font-weight:600;text-align:left}
.tbl_frm01 td {padding:12px 14px;border-top:1px solid var(--c-line);border-bottom:1px solid var(--c-line);background:transparent}
.wr_content textarea, .tbl_frm01 textarea, .form_01 textarea, .frm_input {max-width:100%;border:1px solid var(--c-line-strong);background:#fff;color:var(--c-text);vertical-align:middle;border-radius:8px;padding:0 14px;font-size:14px}
.wr_content textarea, .tbl_frm01 textarea, .form_01 textarea {padding:12px 14px;line-height:1.6}
.frm_input {height:44px}
select.frm_input, .tbl_frm01 select, .form_01 select {height:44px;padding:0 36px 0 14px;border:1px solid var(--c-line-strong);border-radius:8px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%238a93a3' stroke-width='1.6' d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 14px center;-webkit-appearance:none;appearance:none}

.full_input {width:100%}
.half_input {width:49.5%}
.twopart_input {width:385px;max-width:100%;margin-right:10px}
.tbl_frm01 textarea, .write_div textarea {width:100%;height:100px}
.tbl_frm01 a {text-decoration:none}
.tbl_frm01 .frm_file {display:block;margin-bottom:5px}
.tbl_frm01 .frm_info {display:block;padding:0 0 5px;line-height:1.5}
.frm_info.add_info { margin-top: 10px !important; padding: 10px 14px; background: #fff; border: 1px solid var(--c-line); border-radius: 8px; line-height: 1.6; }
.btn_info_toggle { display: block; margin: 5px 0 0 21px; font-size: 12px; color: var(--c-primary); background: none; border: none; cursor: pointer; text-decoration: underline; }

/*기본 리스트*/
.list_01 ul {border-top:1px solid var(--c-line)}
.list_01 li {border-bottom:1px solid var(--c-line);background:#fff;padding:14px 16px;list-style:none;position:relative}
.list_01 li:nth-child(odd) {background:#fafbfd}
.list_01 li:after {display:block;visibility:hidden;clear:both;content:""}
.list_01 li:hover {background:#f5f9ff}
.list_01 li.empty_li {text-align:center;padding:40px 0;color:var(--c-text-muted)}

/*폼 리스트*/
.form_01 h2 {font-size:1.167em}
.form_01 li {margin-bottom:10px}
.form_01 ul:after,
.form_01 li:after {display:block;visibility:hidden;clear:both;content:""}
.form_01 .left_input {float:left}
.form_01 .margin_input {margin-right:1%}
.form_01 textarea {height:100px;width:100%}
.form_01 .frm_label {display:inline-block;width:130px}

/* 자료 없는 목록 */
.empty_table {padding:70px 0 !important;color:var(--c-text-muted);text-align:center}
.empty_list {padding:40px 0 !important;color:var(--c-text-muted);text-align:center}

/* 필수입력 (wrest.js 검사용 클래스, 배경 표시는 사용하지 않음) */
.required, textarea.required {background-image:none}

/* 테이블 항목별 정의 */
.td_board {width:80px;text-align:center}
.td_category {width:80px;text-align:center}
.td_chk {width:30px;text-align:center}
.td_date {width:60px;text-align:center}
.td_datetime {width:110px;text-align:center}
.td_group {width:80px;text-align:center}
.td_mb_id {width:100px;text-align:center}
.td_mng {width:80px;text-align:center}
.td_name {width:100px;text-align:left}
.td_nick {width:100px;text-align:center}
.td_num {width:60px;text-align:center}
.td_numbig {width:80px;text-align:center}
.td_stat {width:60px;text-align:center}

.txt_active {color:#16a34a}
.txt_done {color:var(--c-danger)}
.txt_expired {color:#c2c8d2}
.txt_rdy {color:#65a30d}

/* ==========================================================================
   새창 기본 스타일
   ========================================================================== */
.new_win {position:relative}
body > .new_win {min-height:100vh;background:var(--c-bg-soft)}
#container .new_win {max-width:560px;margin:0 auto}
.new_win .tbl_wrap {margin:0 20px}
.new_win #win_title {position:relative;font-size:17px;font-weight:700;height:56px;line-height:56px;padding:0 20px;background:#fff;color:var(--c-text);border-bottom:1px solid var(--c-line)}
.new_win #win_title .sv {font-size:0.75em;line-height:1.2em}
.new_win .win_ul {display:flex;flex-wrap:wrap;gap:6px;margin-bottom:15px;padding:0 20px}
.new_win .win_ul:after {display:block;visibility:hidden;clear:both;content:""}
.new_win .win_ul li {float:none;background:#fff;text-align:center;padding:0 14px;border:1px solid var(--c-line-strong);border-radius:999px;margin-left:0}
.new_win .win_ul li a {display:block;padding:8px 0;color:var(--c-text-sub)}
.new_win .win_ul .selected {background:var(--c-primary);border-color:var(--c-primary);position:relative;z-index:5}
.new_win .win_ul .selected a {color:#fff;font-weight:bold}
.new_win .win_desc {position:relative;margin:12px 20px;border-radius:8px;font-size:13px;background:#fff4f2;color:#c2410c;line-height:1.6;text-align:left;padding:12px 16px;border:1px solid #fed7cc}
.new_win .win_desc i {font-size:1.2em;vertical-align:baseline}
.new_win .frm_info {font-size:12px;color:var(--c-text-muted)}
.new_win .win_total {float:right;display:inline-block;line-height:30px;font-weight:normal;font-size:12px;color:var(--c-primary);background:var(--c-primary-soft);padding:0 10px;border-radius:6px;margin-top:13px}
.new_win .new_win_con {margin:20px;padding:20px;background:#fff;border:1px solid var(--c-line);border-radius:var(--radius)}
.new_win .new_win_con:after {display:block;visibility:hidden;clear:both;content:""}
.new_win .new_win_con2 {margin:20px}
.new_win .btn_confirm:after {display:block;visibility:hidden;clear:both;content:""}
.new_win .win_btn {text-align:center;padding:0 20px 20px}
.new_win .cert_btn {margin-bottom:30px;text-align:center}
.new_win .btn_close {padding:0 20px;height:44px;overflow:hidden;cursor:pointer}
.new_win .btn_submit {padding:0 20px;height:44px;font-weight:bold;font-size:14px}

/* 검색결과 색상 */
.sch_word {color:var(--c-primary);background:var(--c-primary-soft);padding:1px 4px;border-radius:3px;margin:0 1px;font-weight:600}

/* 자바스크립트 alert 대안 */
#validation_check {margin:100px auto;width:500px;max-width:calc(100% - 40px)}
#validation_check h1 {margin-bottom:20px;font-size:1.3em}
#validation_check p {margin-bottom:20px;padding:30px 20px;border:1px solid var(--c-line);border-radius:var(--radius);background:#fff}

/* ==========================================================================
   사이드뷰
   ========================================================================== */
.sv_wrap {position:relative;font-weight:normal}
.sv_wrap .sv {z-index:1000;display:none;margin:5px 0 0;padding:6px;font-size:13px;background:#fff;border:1px solid var(--c-line);border-radius:10px;box-shadow:var(--shadow-l)}
.sv_wrap .sv:before {content:"";position:absolute;top:-6px;left:15px;width:10px;height:10px;background:#fff;border-left:1px solid var(--c-line);border-top:1px solid var(--c-line);transform:rotate(45deg)}
.sv_wrap .sv a {position:relative;display:block;margin:0;padding:0 10px;line-height:34px;width:120px;border-radius:6px;font-weight:normal;color:var(--c-text-sub);white-space:nowrap}
.sv_wrap .sv a:hover {background:var(--c-primary-soft);color:var(--c-primary)}
.sv_member {color:var(--c-text)}
.sv_on {display:block !important;position:absolute;top:24px;left:0px;width:auto;height:auto}
.sv_nojs .sv {display:block}

/* ==========================================================================
   페이징
   ========================================================================== */
.pg_wrap {clear:both;display:flex;justify-content:center;width:100%;margin:32px 0 0}
.pg_wrap:after {display:block;visibility:hidden;clear:both;content:""}
.pg {display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;text-align:center}
.pg a:focus, .pg a:hover {text-decoration:none}
.pg_page, .pg_current {display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 10px;border:1px solid transparent;border-radius:8px;font-size:14px;vertical-align:middle}
.pg_page {border-color:var(--c-line);background:#fff;color:var(--c-text-sub);transition:border-color .2s, color .2s}
.pg_page:hover {border-color:var(--c-primary);color:var(--c-primary)}
.pg_current {border-color:var(--c-primary);background:var(--c-primary);color:#fff;font-weight:700}
.pg_start, .pg_prev, .pg_next, .pg_end {width:36px;padding:0;font-size:0}
.pg_start:before, .pg_prev:before, .pg_next:before, .pg_end:before {font-family:FontAwesome;font-size:15px;line-height:1}
.pg_start:before {content:"\f100"}
.pg_prev:before {content:"\f104"}
.pg_next:before {content:"\f105"}
.pg_end:before {content:"\f101"}
.pg_page.pg_search {width:auto;padding:0 12px;font-size:13px}
.pg_page.pg_search:before {display:none}

/* cheditor 이슈 */
.cheditor-popup-window *, .cheditor-popup-window :after, .cheditor-popup-window :before {
-webkit-box-sizing:content-box;
-moz-box-sizing:content-box;
box-sizing:content-box;
}

/* 에디터 영역 반응형 */
.wr_content iframe, .wr_content table {max-width:100%}

/* Mobile화면으로 */
#device_change {display:none}

/* ==========================================================================
   반응형
   ========================================================================== */
@media (min-width:1025px) {
    /* 넓은 화면에서는 전체메뉴(드로어)를 사용하지 않음 */
    #gnb_all, #gnb_all_bg {display:none !important}
    html.gnb_all_on, html.gnb_all_on body {overflow:visible}
}

@media (max-width:1280px) {
    .hero_ill {width:210px;margin-top:-100px}
}

@media (max-width:1200px) {
    #gnb .gnb_1da {padding:0 12px}
    #gnb .gnb_1da:after {left:12px;right:12px}
}
@media (max-width:1140px) {
    /* 텔레그램 메뉴가 붙어도 한 줄에 들어가도록 */
    .hd_inner {gap:14px}
    #gnb .gnb_1da {padding:0 9px;font-size:15px}
    #gnb .gnb_1da:after {left:9px;right:9px}
}

@media (max-width:1024px) {
    :root {--hd-h:68px}

    .hd_inner {display:flex;justify-content:space-between;gap:12px}
    #gnb {display:none}
    .gnb_menu_btn {display:inline-flex}
    .hd_login .hd_login_admin {display:none}

    .hero_title {font-size:37px}
    .main_latest_grid {gap:20px}
    #main_stats .stats_list {grid-template-columns:repeat(2, minmax(0,1fr))}
    #main_stats .stats_list .stats_item:nth-child(even):before {display:block}
    #main_stats .stats_list .stats_item:nth-child(odd):before {display:none}
    #main_stats .stats_list .stats_item:nth-child(n+3) {border-top:1px solid var(--c-line)}
    #main_stats .stats_list .stats_item:last-child:nth-child(odd) {grid-column:1 / -1} /* 홀수 개면 마지막 항목은 한 줄 전체 */
    .hero_ill {width:190px;margin-top:-90px;opacity:.6}
    .hero_ill_l {left:-36px}
    .hero_ill_r {right:-36px}
}

@media (max-width:768px) {
    :root {--hd-h:60px;--gutter:16px}

    #logo a {font-size:18px}
    #logo .logo_mark {width:32px;height:32px;font-size:15px;border-radius:10px}
    #logo .logo_mark svg {width:19px;height:19px}
    #logo img {max-height:32px}
    .hd_util {gap:2px}
    .hd_login a {height:34px;padding:0 10px;font-size:13px}
    .hd_login .hd_btn_fill {padding:0 12px}
    .hd_sch_layer {padding:16px 0}
    .hd_sch_layer form {height:50px}

    #sub_hd:after {width:160px;height:160px;top:-60px}
    .sub_hd_inner {padding-top:28px;padding-bottom:28px}
    #container_title {font-size:22px}
    #container {padding:24px 0 56px;min-height:300px}

    #main_hero {height:440px}
    .hero_ill {top:auto;bottom:6px;width:130px;margin-top:0;opacity:.4}
    .hero_ill_l {left:-30px}
    .hero_ill_r {right:-30px}
    #main_hero .hero_deco span:nth-child(1) {width:300px;height:300px;top:-150px;right:-120px}
    #main_hero .hero_deco span:nth-child(3) {display:none}
    .hero_title {font-size:29px}
    .hero_desc {font-size:17px}
    #hero_sch {margin-top:22px}
    #hero_sch form {height:56px;padding:0 6px 0 18px}
    .hero_sch_ico {font-size:17px;margin-right:10px}
    #hero_stx {font-size:16px}
    .hero_sch_btn {height:44px;padding:0 20px;font-size:15px}
    #hero_popular {margin-top:16px}

    #main_stats {margin-top:-36px}
    #main_banner + #main_stats {margin-top:0;padding-top:16px}
    #main_stats .stats_box {border-radius:16px}
    #main_stats .stats_hd {padding:11px 16px}
    #main_stats .stats_live strong {font-size:13px}
    #main_stats .stats_time {font-size:11px}
    #main_stats .stats_item {flex-direction:column;align-items:flex-start;gap:10px;padding:16px}
    #main_stats .stats_item + .stats_item:before {top:16px;bottom:16px}
    #main_stats .stats_ico {width:38px;height:38px;border-radius:11px;font-size:16px}
    #main_stats .stats_label {font-size:12px}
    #main_stats .stats_num {font-size:24px}
    #main_stats .stats_unit {font-size:13px}
    #main_latest {padding:20px 0 56px}
    .main_latest_grid {grid-template-columns:minmax(0,1fr);gap:14px}

    .ft_inner {padding-top:32px;padding-bottom:32px}
    .ft_top {flex-direction:column;align-items:flex-start}
    #top_btn {right:14px;bottom:14px;width:44px;height:44px}

    /* 공통 테이블 : 좁은 화면에서 가로 스크롤 */
    .tbl_wrap {overflow-x:auto;-webkit-overflow-scrolling:touch}
    .tbl_frm01 th {width:90px;padding:10px}
    .tbl_frm01 td {padding:10px}
    .half_input {width:100%}

    /* 팝업레이어 */
    .hd_pops {left:10px !important;right:10px;top:10px !important}
    .hd_pops_con {width:auto !important;height:auto !important;max-height:70vh}
}

@media (max-width:480px) {
    #logo .logo_txt {max-width:120px}
    .hd_login a {padding:0 8px}
    .hero_title {font-size:26px}
    .hero_desc {font-size:15px;line-height:1.5}
    .hero_sch_btn {padding:0 16px}
}

@media (prefers-reduced-motion: reduce) {
    #main_hero .hero_bg, #sub_hero .hero_bg, #main_hero .hero_deco span, .hero_ill *, #main_stats .stats_dot:after {animation:none !important}
}

@media (max-width:360px) {
    #logo .logo_txt {display:none}
}

/* 회원아이콘 (목록 이름 앞) */
.mb_name_icon {display:inline-flex;align-items:center;gap:5px;max-width:100%;vertical-align:middle}
.mb_icon {flex:none;width:20px;height:20px;border-radius:6px;object-fit:cover;vertical-align:middle}

/* 게시판 상단 : 파란색 먹튀 조회 (메인 hero 와 같은 색·검색) */
#sub_hero {position:relative;overflow:hidden;padding:46px 0 50px;background:linear-gradient(60deg, #116eb8 0%, #0a95b5 50%, #00c1b6 100%);color:#fff;text-align:center;isolation:isolate}
.sub_hero_inner {position:relative;z-index:1;width:100%;max-width:calc(var(--container) + (var(--gutter) * 2));margin:0 auto;padding:0 var(--gutter)}
#sub_hero #container_title {color:#fff;font-size:34px;text-shadow:0 2px 14px rgba(0,50,110,.28)}
#sub_hero #container_title span {white-space:normal}
.sub_hero_desc {margin-top:6px;color:rgba(255,255,255,.95);font-size:17px;font-weight:500;text-shadow:0 1px 8px rgba(0,50,110,.25)}
.sub_hero_sch {max-width:680px;margin:22px auto 0;min-width:0;padding:0;border:0}
.sub_hero_sch legend {position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.sub_hero_sch form {display:flex;align-items:center;height:60px;padding:0 7px 0 22px;border-radius:999px;background:#fff;box-shadow:0 16px 38px rgba(0,45,110,.26), 0 2px 6px rgba(0,45,110,.1)}
.sub_hero_sch form:focus-within {box-shadow:0 16px 38px rgba(0,45,110,.28), 0 0 0 4px rgba(255,255,255,.45)}
#sub_stx {flex:1;min-width:0;height:100%;padding:0;border:0;background:transparent;color:var(--c-text);font-size:17px;outline:0}
.sub_hero_sch .hero_sch_btn {height:46px;padding:0 28px;font-size:15px}

/* 게시판 상단 안내글 (게시판관리 > 상단 내용) */
.board_intro {margin:0 0 26px;padding:22px 26px;border:1px solid #d6e8fb;border-left:4px solid var(--c-primary);border-radius:var(--radius);background:#f5faff}
.board_intro_tit {display:block;margin:0 0 6px;color:var(--c-navy);font-size:18px;font-weight:800;letter-spacing:-0.02em}
.board_intro_txt {margin:0;color:var(--c-text-sub);font-size:15px;line-height:1.75}

@media (max-width:768px) {
    #sub_hero {padding:32px 0 36px}
    #sub_hero #container_title {font-size:25px}
    .sub_hero_desc {font-size:15px}
    .sub_hero_sch {margin-top:18px}
    .sub_hero_sch form {height:52px;padding:0 5px 0 16px}
    #sub_stx {font-size:15px}
    .sub_hero_sch .hero_sch_btn {height:42px;padding:0 18px;font-size:14px}
    .board_intro {padding:16px 18px;margin-bottom:20px}
    .board_intro_tit {font-size:16px}
    .board_intro_txt {font-size:14px}
}

/* ===== 메인·게시판 하단 본문 (doc 폴더 문서 → theme/basic/seo/*.php) ===== */
#main_seo {padding:56px 0 24px}
#board_seo {margin-top:56px;padding-top:44px;border-top:1px solid var(--c-line)}
.seo_doc {width:100%;margin:0;color:var(--c-text);font-size:16px;line-height:1.85;word-break:keep-all}
.seo_doc p {margin:0 0 14px;color:var(--c-text-sub)}
.seo_intro {margin-bottom:40px;padding:32px 34px;border:1px solid #d6e8fb;border-radius:var(--radius-l);background:linear-gradient(135deg,#f3f9ff 0%,#ffffff 100%)}
.seo_h1 {margin:0 0 16px;color:var(--c-navy);font-size:30px;font-weight:800;line-height:1.35;letter-spacing:-0.035em}
.seo_intro p:last-child {margin-bottom:0}
.seo_sec {margin:0 0 44px}
.seo_h2 {position:relative;margin:0 0 16px;padding-left:16px;color:var(--c-navy);font-size:23px;font-weight:800;line-height:1.4;letter-spacing:-0.03em}
.seo_h2:before {content:"";position:absolute;top:6px;bottom:6px;left:0;width:5px;border-radius:3px;background:linear-gradient(180deg,var(--c-primary),#7ccafa)}
.seo_h3 {margin:24px 0 8px;color:var(--c-text);font-size:18px;font-weight:700;letter-spacing:-0.02em}
.seo_note {padding:12px 16px;border-radius:var(--radius);background:#f5f7fb;color:var(--c-text-muted) !important;font-size:14px;line-height:1.7}

/* 표 : 모바일은 가로 스크롤 */
.seo_tbl_wrap {margin:6px 0 18px;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--c-line);border-radius:var(--radius)}
.seo_tbl_wrap:focus {outline:2px solid var(--c-primary);outline-offset:2px}
.seo_tbl {width:100%;min-width:560px;border-collapse:collapse;font-size:15px;line-height:1.6}
.seo_tbl thead th {padding:13px 16px;background:var(--c-navy);color:#fff;font-weight:700;text-align:left;white-space:nowrap}
.seo_tbl tbody th, .seo_tbl tbody td {padding:13px 16px;border-top:1px solid var(--c-line);text-align:left;vertical-align:top}
.seo_tbl tbody th {background:#f5f9ff;color:var(--c-navy);font-weight:700;white-space:nowrap}
.seo_tbl tbody td {color:var(--c-text-sub)}
.seo_tbl tbody tr:hover td, .seo_tbl tbody tr:hover th {background:#f0f7ff}

/* 이용 방법 : STEP 카드 */
.seo_steps {display:grid;grid-template-columns:repeat(auto-fit, minmax(210px, 1fr));gap:14px;margin:8px 0 18px;padding:0;list-style:none}
.seo_step {position:relative;padding:22px 20px 18px;border:1px solid var(--c-line);border-radius:var(--radius-l);background:#fff;box-shadow:var(--shadow-s)}
.seo_step_no {display:inline-block;margin-bottom:10px;padding:3px 10px;border-radius:999px;background:var(--c-primary-soft);color:var(--c-primary-dark);font-size:12px;font-weight:800;letter-spacing:.02em}
.seo_step_tit {margin:0 0 8px;color:var(--c-navy);font-size:17px;font-weight:800;line-height:1.45}
.seo_step p {margin:0;font-size:14.5px;line-height:1.7}

/* 정보 가이드 카드 (메인) : 레이아웃 폭에서는 5개 한 줄 */
.seo_guide {display:grid;grid-template-columns:repeat(5, minmax(0, 1fr));gap:14px;margin:8px 0 0;padding:0;list-style:none}
.seo_guide_card {display:flex;flex-direction:column;height:100%;padding:22px 22px 18px;border:1px solid var(--c-line);border-radius:var(--radius-l);background:#fff;box-shadow:var(--shadow-s);transition:border-color .2s, box-shadow .2s, transform .2s}
.seo_guide_card:hover {border-color:var(--c-primary);box-shadow:var(--shadow);transform:translateY(-2px)}
.seo_guide_tit {margin:0 0 8px;color:var(--c-navy);font-size:18px;font-weight:800}
.seo_guide_card p {flex:1;margin:0 0 14px;font-size:14.5px;line-height:1.7}
.seo_guide_more {color:var(--c-primary);font-size:14px;font-weight:700}

/* FAQ : 아코디언 */
.seo_faq {border-top:2px solid var(--c-navy)}
.seo_faq_item {border-bottom:1px solid var(--c-line)}
.seo_faq_item summary {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 6px;cursor:pointer;list-style:none}
.seo_faq_item summary::-webkit-details-marker {display:none}
.seo_faq_item summary:focus-visible {outline:2px solid var(--c-primary);outline-offset:2px}
.seo_faq_q {margin:0;color:var(--c-text);font-size:16.5px;font-weight:700;line-height:1.5}
.seo_faq_item summary .fa {flex:none;color:var(--c-text-muted);font-size:20px;transition:transform .2s}
.seo_faq_item[open] summary .fa {transform:rotate(180deg);color:var(--c-primary)}
.seo_faq_item[open] .seo_faq_q {color:var(--c-primary-dark)}
.seo_faq_a {padding:0 6px 18px}
.seo_faq_a p {margin:0;padding:14px 16px;border-radius:var(--radius);background:#f5f9ff}

@media (max-width:1200px) {
    .seo_guide {grid-template-columns:repeat(3, minmax(0, 1fr))}
}
@media (max-width:1024px) {
    .seo_guide {grid-template-columns:repeat(2, minmax(0, 1fr))}
}
@media (max-width:768px) {
    #main_seo {padding:40px 0 16px}
    #board_seo {margin-top:40px;padding-top:32px}
    .seo_doc {font-size:15px;line-height:1.8}
    .seo_intro {padding:22px 18px;margin-bottom:30px}
    .seo_h1 {font-size:23px}
    .seo_h2 {font-size:19px;padding-left:13px}
    .seo_h3 {font-size:16.5px}
    .seo_sec {margin-bottom:34px}
    .seo_tbl {font-size:14px}
    .seo_tbl thead th, .seo_tbl tbody th, .seo_tbl tbody td {padding:11px 12px}
    .seo_steps {grid-template-columns:1fr}
    .seo_guide {grid-template-columns:1fr}
    .seo_faq_q {font-size:15.5px}
}

/* ===== 텔레그램 연결 (관리자 > 기타관리 > 텔레그램 연결) ===== */
/* 상단 : PC 상단 오른쪽 (로그인 버튼 왼쪽) · 모바일 전체메뉴 아래 (아이콘 + 아이디) */
.hd_tg_list {display:flex;flex-wrap:wrap;align-items:center;gap:4px 18px;margin:0;padding:0;list-style:none}
.hd_tg_list a {display:inline-flex;align-items:center;gap:6px;color:#1b8cc2;font-size:13.5px;font-weight:700;transition:color .2s}
.hd_tg_list a:hover, .hd_tg_list a:focus-visible {color:#229ed9}
.hd_tg_list .fa {color:#229ed9;font-size:17px}
.hd_tg {flex:none;padding:0 8px}
.hd_tg .hd_tg_list {flex-wrap:nowrap;gap:14px}
.hd_tg .hd_tg_list a {white-space:nowrap}
.gnb_all_tg {padding:16px 20px 24px}
.gnb_all_tg .hd_tg_list {flex-direction:column;align-items:flex-start;gap:12px}
.gnb_all_tg .hd_tg_list a {font-size:15px}
.gnb_all_tg .hd_tg_list .fa {font-size:20px}
@media (max-width:1024px) {
    .hd_tg {display:none} /* 좁은 화면은 전체메뉴 아래에 출력 */
}

/* 하단 */
.ft_tg {display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:18px 0 0;list-style:none}
.ft_tg_link {display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 16px;border:1px solid #cfe7f5;border-radius:999px;background:#fff;color:var(--c-text);font-size:14px;font-weight:600;transition:border-color .2s, color .2s, box-shadow .2s}
.ft_tg_link .fa {color:#229ed9;font-size:17px}
.ft_tg_desc {color:var(--c-text-muted);font-size:12.5px;font-weight:500}
.ft_tg_link:hover, .ft_tg_link:focus-visible {border-color:#229ed9;color:#1b8cc2;box-shadow:0 4px 12px rgba(34,158,217,.15)}

/* 우측 플로팅 버튼 (맨 위로 버튼 위) */
#tg_float {position:fixed;right:20px;bottom:80px;z-index:89;display:flex;flex-direction:column;align-items:flex-end;gap:8px}
#tg_float .tg_float_btn {display:flex;align-items:center;gap:10px;max-width:240px;padding:6px 18px 6px 6px;border-radius:999px;background:#229ed9;color:#fff;box-shadow:0 10px 24px rgba(34,158,217,.35);transition:transform .2s, box-shadow .2s, background-color .2s}
#tg_float .tg_float_btn:hover, #tg_float .tg_float_btn:focus-visible {background:#1b8cc2;color:#fff;transform:translateY(-2px);box-shadow:0 14px 28px rgba(34,158,217,.45)}
#tg_float .tg_float_ico {flex:none;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:#fff;color:#229ed9;font-size:20px}
#tg_float .tg_float_txt {display:flex;flex-direction:column;min-width:0;line-height:1.25}
#tg_float .tg_float_txt strong {overflow:hidden;font-size:14px;font-weight:700;white-space:nowrap;text-overflow:ellipsis}
#tg_float .tg_float_txt em {overflow:hidden;font-style:normal;font-size:11.5px;opacity:.85;white-space:nowrap;text-overflow:ellipsis}

@media (max-width:768px) {
    .ft_tg {padding-top:16px}
    .ft_tg_link {height:36px;padding:0 14px;font-size:13.5px}
    #tg_float {right:14px;bottom:68px;gap:6px}
    #tg_float .tg_float_btn {gap:7px;max-width:180px;padding:4px 13px 4px 4px}
    #tg_float .tg_float_ico {width:30px;height:30px;font-size:17px}
    #tg_float .tg_float_txt strong {font-size:13px}
    #tg_float .tg_float_txt em {display:none}
}
@media (prefers-reduced-motion: reduce) {
    #tg_float .tg_float_btn {transition:none}
    #tg_float .tg_float_btn:hover {transform:none}
}

/* ===== 공통 상단 검색 영역 (메인·게시판·일반 페이지·전체검색 : theme_hero_html) ===== */
#sub_hero {display:flex;flex-direction:column;justify-content:center;height:400px} /* 메인·서브 높이 400px 고정 */
#sub_hero.is_main {padding-bottom:106px} /* 아래 실시간 DB 현황 상자가 겹쳐 올라오는 자리 */
#sub_hero .sub_hero_inner > * {animation:hero_in .7s cubic-bezier(.2,.7,.2,1) both}
#sub_hero .sub_hero_inner > *:nth-child(2) {animation-delay:.08s}
#sub_hero .sub_hero_inner > *:nth-child(3) {animation-delay:.16s}
#sub_hero .sub_hero_inner > *:nth-child(4) {animation-delay:.24s}
@keyframes hero_in {from {opacity:0;transform:translateY(14px)} to {opacity:1;transform:none}}
#sub_hero #hero_popular {margin-top:16px}
/* 전체검색 : 검색 조건 선택 */
.sub_hero_sch .hero_sch_sfl {flex:none;height:40px;margin-right:10px;padding:0 30px 0 12px;border:0;border-radius:999px;background:#eef5ff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%231673e6' stroke-width='1.6' d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 11px center;color:var(--c-primary-dark);font-size:14px;font-weight:600;-webkit-appearance:none;appearance:none;cursor:pointer}
.sub_hero_sch .hero_sch_sfl:focus-visible {outline:2px solid var(--c-primary);outline-offset:2px}

/* ===== 일반 페이지 (/먹튀검증 등 : page.php) ===== */
.page_progress {position:fixed;top:0;left:0;right:0;z-index:600;height:3px;pointer-events:none}
.page_progress span {display:block;width:100%;height:100%;background:linear-gradient(90deg,#116eb8,#00c1b6);transform:scaleX(0);transform-origin:0 50%}
.page_doc .seo_h2 {scroll-margin-top:calc(var(--hd-h) + 20px)}
.seo_toc {margin:-16px 0 44px;padding:22px 26px;border:1px solid var(--c-line);border-radius:var(--radius-l);background:#fff;box-shadow:var(--shadow-s)}
.seo_toc_tit {margin:0 0 12px !important;color:var(--c-navy) !important;font-size:15px;font-weight:800}
.seo_toc_tit .fa {margin-right:4px;color:var(--c-primary)}
.seo_toc ol {display:grid;grid-template-columns:repeat(2, minmax(0,1fr));gap:6px 24px;margin:0;padding:0;list-style:none;counter-reset:toc}
.seo_toc li {counter-increment:toc}
.seo_toc a {display:flex;align-items:baseline;gap:10px;padding:7px 10px;border-radius:10px;color:var(--c-text-sub);font-size:15px;line-height:1.5;transition:background-color .2s, color .2s}
.seo_toc a:before {content:counter(toc, decimal-leading-zero);flex:none;color:var(--c-primary);font-size:12px;font-weight:800;font-variant-numeric:tabular-nums}
.seo_toc a:hover, .seo_toc a:focus-visible {background:#f0f7ff;color:var(--c-primary-dark)}
.seo_toc a.is_now {background:#e8f3ff;color:var(--c-primary-dark);font-weight:700}

/* 스크롤 등장 효과 (JS 가 html 에 rv_on 을 붙였을 때만 숨김 → JS 가 없으면 그대로 보임) */
.rv_on .rv {opacity:0;transform:translateY(26px);transition:opacity .75s cubic-bezier(.2,.7,.2,1), transform .75s cubic-bezier(.2,.7,.2,1);transition-delay:var(--rv-d, 0s)}
.rv_on .rv.is_in {opacity:1;transform:none}
.rv_on .seo_h2.rv:before {transform:scaleY(0);transform-origin:50% 0;transition:transform .6s .25s cubic-bezier(.2,.7,.2,1)}
.rv_on .seo_h2.rv.is_in:before {transform:scaleY(1)}
.rv_on .seo_step.rv .seo_step_no {transition:background-color .4s .4s, color .4s .4s}
.rv_on .seo_step.rv.is_in .seo_step_no {background:var(--c-primary);color:#fff}

@media (max-width:768px) {
    #sub_hero.is_main {padding-bottom:72px}
    .sub_hero_sch .hero_sch_sfl {height:36px;margin-right:6px;padding:0 24px 0 10px;background-position:right 8px center;font-size:13px}
    .seo_toc {margin:-10px 0 34px;padding:16px 14px}
    .seo_toc ol {grid-template-columns:1fr}
    .seo_toc a {font-size:14px;padding:6px 8px}
}
@media (prefers-reduced-motion: reduce) {
    #sub_hero .sub_hero_inner > * {animation:none}
    .rv_on .rv {opacity:1;transform:none;transition:none}
    .rv_on .seo_h2.rv:before {transform:none;transition:none}
}

/* 관리자 전용 메뉴 (수집현황) */
#gnb .gnb_admin_only .gnb_1da {color:#6d28d9}
#gnb .gnb_admin_only .gnb_1da:before {content:"\f023";margin-right:2px;font-family:FontAwesome;font-size:12px;opacity:.7}
