@charset "UTF-8";
/* =====================================================
   공신연 홈페이지 공통 스타일 (A안: 네이비+골드)
   PC 전용 / min-width 1200px
   ===================================================== */

:root{
  --navy:#0e2742;
  --navy-2:#163a63;
  --navy-soft:#1c4577;
  --blue:#1d5393;
  --gold:#c1973b;
  --gold-2:#a87f2b;
  --gold-soft:#ecdcb4;
  --ink:#1a2230;
  --muted:#5d6779;
  --line:#e3e8ef;
  --bg:#ffffff;
  --bg-soft:#f4f7fb;
  --serif:'Noto Serif KR', serif;
  --sans:'Pretendard','Pretendard Variable',system-ui,-apple-system,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:var(--sans);color:var(--ink);background:var(--bg);
  line-height:1.6;-webkit-font-smoothing:antialiased;min-width:1200px;font-size:16px;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{width:1200px;margin:0 auto;padding:0 40px}

/* =========== 유틸바 =========== */
.util{background:var(--navy);color:#cdd9ea;font-size:18px}
.util .wrap{display:flex;justify-content:space-between;align-items:center;height:38px}
.util .left{letter-spacing:.18em;font-weight:600;color:#9fb6d4}
.util .right{display:flex;gap:18px;align-items:center}
.util .right a{opacity:.92}
.util .right a:hover{color:#fff;opacity:1}
.util .sep{width:1px;height:12px;background:#33507a}

/* =========== 헤더 / GNB =========== */
header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.97);
  backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.head{display:flex;align-items:center;justify-content:space-between;height:106px}
.brand{display:flex;align-items:center;gap:13px}
.brand .logo-img{height:90px;width:auto;display:block}
.seal{width:46px;height:46px;border-radius:50%;background:var(--navy);
  display:grid;place-items:center;color:var(--gold);font-family:var(--serif);font-weight:900;
  font-size:13px;letter-spacing:-.02em;border:2px solid var(--gold);flex:none}
.brand .nm{font-family:var(--serif);font-weight:700;font-size:17px;color:var(--navy);line-height:1.25}
.brand .nm small{display:block;font-family:var(--sans);font-weight:500;font-size:11px;color:var(--muted);letter-spacing:.02em}

nav.main{display:flex;align-items:center;gap:2px}
nav.main > .gnb-item{position:relative}
nav.main > .gnb-item > a{display:block;padding:28px 18px;font-weight:600;font-size:15.5px;color:#2a3346;transition:.15s}
nav.main > .gnb-item:hover > a{color:var(--navy)}
nav.main > .gnb-item > a.report{background:var(--gold);color:#2a2000;border-radius:7px;padding:11px 18px;margin-left:10px}
nav.main > .gnb-item > a.report:hover{background:var(--gold-2);color:#fff}

/* 드롭다운 서브메뉴 */
.submenu{position:absolute;top:78px;left:50%;transform:translateX(-50%) translateY(8px);
  background:#fff;border:1px solid var(--line);border-top:3px solid var(--gold);
  border-radius:0 0 10px 10px;box-shadow:0 18px 40px rgba(14,39,66,.14);
  min-width:160px;padding:8px;opacity:0;visibility:hidden;transition:.18s;z-index:120}
nav.main > .gnb-item:hover .submenu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.submenu a{display:block;padding:10px 14px;font-size:14.5px;color:#3a4456;border-radius:6px;white-space:nowrap;transition:.13s}
.submenu a:hover{background:var(--bg-soft);color:var(--navy);font-weight:600}

/* 햄버거 버튼 (모바일에서만 표시) */
.menu-btn{display:none;background:none;border:1px solid var(--line);border-radius:8px;
  width:44px;height:40px;font-size:20px;color:var(--navy);cursor:pointer;
  align-items:center;justify-content:center;line-height:1}

/* =========== 버튼 =========== */
.btn{display:inline-flex;align-items:center;gap:9px;padding:15px 26px;border-radius:9px;
  font-weight:700;font-size:16px;transition:.16s;cursor:pointer;border:none;font-family:var(--sans)}
.btn.gold{background:var(--gold);color:#2a2000}
.btn.gold:hover{background:#d6ac4d;transform:translateY(-1px)}
.btn.ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.35)}
.btn.ghost:hover{border-color:#fff;background:rgba(255,255,255,.07)}
.btn.navy{background:var(--navy);color:#fff}
.btn.navy:hover{background:var(--navy-2)}
.btn.line{background:#fff;color:var(--navy);border:1px solid var(--line)}
.btn.line:hover{border-color:var(--navy);background:var(--bg-soft)}
.btn.sm{padding:10px 18px;font-size:14px}

/* =========== 섹션 공통 헤드 =========== */
section.block{padding:78px 0}
.sec-head{text-align:center;margin-bottom:46px}
.sec-head .kr{font-family:var(--serif);font-weight:700;font-size:30px;color:var(--navy)}
.sec-head .en{display:block;margin-top:8px;font-size:12.5px;letter-spacing:.34em;color:var(--gold-2);font-weight:700;text-transform:uppercase}
.sec-head .line{width:46px;height:3px;background:var(--gold);margin:18px auto 0;border-radius:2px}

/* =========== 서브페이지 히어로 / breadcrumb =========== */
.page-hero{background:
    radial-gradient(700px 380px at 82% -20%, #1d4577 0%, transparent 60%),
    linear-gradient(160deg,#0e2742 0%,#0b1f37 70%,#0a1b30 100%);
  color:#fff;padding:62px 0 56px;position:relative;overflow:hidden}
.page-hero::before{content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
  background-size:46px 46px;mask-image:radial-gradient(600px 320px at 78% 10%,#000,transparent 75%)}
.page-hero .wrap{position:relative}
.page-hero .eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:600;
  letter-spacing:.04em;color:var(--gold-soft);margin-bottom:16px}
.page-hero .eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--gold)}
.page-hero h1{font-family:var(--serif);font-weight:900;font-size:40px;letter-spacing:-.01em}
.crumb{display:flex;gap:8px;align-items:center;margin-top:16px;font-size:13.5px;color:#9fb6d4}
.crumb a:hover{color:#fff}
.crumb .arr{opacity:.5}

/* 서브페이지 좌측 메뉴 + 본문 레이아웃 */
.page-body{padding:54px 0 86px}
.layout{display:grid;grid-template-columns:228px 1fr;gap:46px;align-items:start}
.side{border:1px solid var(--line);border-radius:14px;overflow:hidden}
.side .side-head{background:var(--navy);color:#fff;font-family:var(--serif);font-weight:700;font-size:19px;padding:22px 24px}
.side ul{list-style:none}
.side li a{display:block;padding:14px 24px;font-size:15px;color:#3a4456;border-bottom:1px solid var(--line);transition:.13s}
.side li:last-child a{border-bottom:none}
.side li a:hover{background:var(--bg-soft);color:var(--navy)}
.side li a.active{background:var(--bg-soft);color:var(--navy);font-weight:700;border-left:3px solid var(--gold);padding-left:21px}
.content h2.page-title{font-family:var(--serif);font-weight:700;font-size:27px;color:var(--navy);margin-bottom:8px}
.content .title-line{width:40px;height:3px;background:var(--gold);border-radius:2px;margin-bottom:30px}
.prose p{margin:0 0 16px;color:#34404f;font-size:16px}
.prose h3{font-family:var(--serif);font-size:20px;color:var(--navy);margin:30px 0 12px}

/* =========== 게시판 목록 =========== */
.board-list{width:100%;border-collapse:collapse;border-top:2px solid var(--navy)}
.board-list th{background:var(--bg-soft);font-size:14.5px;color:var(--navy);font-weight:700;padding:14px 10px;border-bottom:1px solid var(--line)}
.board-list td{padding:15px 10px;font-size:14.5px;color:#3a4456;border-bottom:1px solid var(--line);text-align:center}
.board-list td.subj{text-align:left}
.board-list td.subj a:hover{color:var(--blue);text-decoration:underline}
.board-list .secret{color:var(--muted);font-size:13px}
.board-list tr:hover td{background:#fafcfe}

/* 검색바 */
.board-search{display:flex;justify-content:center;gap:8px;margin:28px 0 0}
.board-search input{border:1px solid var(--line);border-radius:8px;padding:11px 14px;font-size:14.5px;width:260px;font-family:var(--sans)}
.board-search input:focus{outline:none;border-color:var(--navy)}

/* 페이지네이션 */
.pager{display:flex;justify-content:center;gap:6px;margin-top:34px}
.pager a,.pager span{min-width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);
  border-radius:8px;font-size:14px;color:#3a4456;padding:0 8px;transition:.13s}
.pager a:hover{border-color:var(--navy);color:var(--navy)}
.pager .on{background:var(--navy);color:#fff;border-color:var(--navy);font-weight:700}

/* 목록 하단 버튼줄 */
.list-foot{display:flex;justify-content:flex-end;margin-top:22px}

/* =========== 갤러리(행사사진) =========== */
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:6px}
.gcard{display:block;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;transition:.18s}
.gcard:hover{box-shadow:0 14px 34px rgba(14,39,66,.14);transform:translateY(-3px)}
.gthumb{width:100%;aspect-ratio:4/3;background:var(--bg-soft);display:grid;place-items:center;overflow:hidden}
.gthumb img{width:100%;height:100%;object-fit:cover;display:block}
.gthumb .gph{font-size:42px;color:#c2cbd8}
.gmeta{padding:16px 18px}
.gmeta .gt{font-size:15.5px;color:#2c3646;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gmeta .gd{font-size:13px;color:#9aa4b2;margin-top:6px}
.view-image{margin:0 0 24px;text-align:center}
.view-image img{max-width:100%;border-radius:10px;border:1px solid var(--line)}

/* =========== 게시판 상세 =========== */
.view-head{border-top:2px solid var(--navy);border-bottom:1px solid var(--line);padding:24px 4px}
.view-head h2{font-size:21px;color:var(--navy);font-weight:800;margin-bottom:12px}
.view-meta{display:flex;gap:18px;color:var(--muted);font-size:13.5px}
.view-meta span b{color:#3a4456;font-weight:600}
.view-body{min-height:220px;padding:30px 4px;font-size:16px;color:#34404f;line-height:1.8;border-bottom:1px solid var(--line);white-space:pre-wrap;word-break:break-word}
.view-file{padding:16px 4px;border-bottom:1px solid var(--line);font-size:14.5px}
.view-file a{color:var(--blue);font-weight:600}
.view-file a:hover{text-decoration:underline}
.view-nav{margin-top:18px;border-top:1px solid var(--line)}
.view-nav .row{display:flex;gap:16px;padding:14px 4px;border-bottom:1px solid var(--line);font-size:14.5px}
.view-nav .row .k{color:var(--muted);min-width:54px;font-weight:600}
.view-nav .row a:hover{color:var(--blue)}
.view-foot{display:flex;justify-content:space-between;margin-top:24px}

/* =========== 글쓰기 폼 =========== */
.form-table{width:100%;border-collapse:collapse;border-top:2px solid var(--navy)}
.form-table th{background:var(--bg-soft);text-align:left;padding:16px 20px;font-size:14.5px;color:var(--navy);
  font-weight:700;width:140px;border-bottom:1px solid var(--line);vertical-align:top}
.form-table td{padding:12px 16px;border-bottom:1px solid var(--line)}
.form-table input[type=text],.form-table input[type=password],.form-table textarea{
  width:100%;border:1px solid var(--line);border-radius:8px;padding:11px 13px;font-size:15px;font-family:var(--sans)}
.form-table input:focus,.form-table textarea:focus{outline:none;border-color:var(--navy)}
.form-table textarea{min-height:280px;resize:vertical;line-height:1.7}
.form-table .hint{color:var(--muted);font-size:13px;margin-top:6px}
.check-row{display:flex;align-items:center;gap:8px;font-size:14.5px;color:#3a4456}
.agree-box{background:var(--bg-soft);border:1px solid var(--line);border-radius:8px;padding:16px;font-size:13.5px;color:var(--muted);max-height:120px;overflow-y:auto;margin-bottom:10px;line-height:1.7}
.form-foot{display:flex;justify-content:center;gap:10px;margin-top:30px}

/* =========== 카드(메인/소개) =========== */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{border:1px solid var(--line);border-radius:14px;padding:32px 28px;background:#fff;transition:.18s;position:relative;overflow:hidden;display:block}
.card::before{content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:var(--navy);transform:scaleX(0);transform-origin:left;transition:.25s}
.card:hover{box-shadow:0 16px 40px rgba(14,39,66,.12);transform:translateY(-4px)}
.card:hover::before{transform:scaleX(1)}
.card .no{font-family:var(--serif);font-size:14px;color:var(--gold-2);font-weight:700;letter-spacing:.1em}
.card h4{font-size:21px;color:var(--navy);margin:14px 0 10px;font-weight:800}
.card p{color:var(--muted);font-size:15px;margin-bottom:18px}
.card .go{font-weight:700;color:var(--blue);font-size:14.5px}

/* =========== 지역 칩 =========== */
.chips{display:flex;flex-wrap:wrap;gap:11px;justify-content:center;max-width:780px;margin:0 auto}
.chips a{padding:12px 20px;border:1px solid var(--line);border-radius:999px;font-weight:600;color:#2c3646;
  background:#fff;font-size:15px;transition:.15s}
.chips a:hover{background:var(--navy);color:#fff;border-color:var(--navy)}

/* =========== 연혁 타임라인 =========== */
.timeline{position:relative;padding-left:30px}
.timeline::before{content:"";position:absolute;left:6px;top:6px;bottom:6px;width:2px;background:var(--line)}
.timeline .ti{position:relative;padding:0 0 28px}
.timeline .ti::before{content:"";position:absolute;left:-30px;top:5px;width:14px;height:14px;border-radius:50%;background:var(--gold);border:3px solid #fff;box-shadow:0 0 0 1px var(--gold)}
.timeline .yr{font-family:var(--serif);font-weight:700;font-size:19px;color:var(--navy);margin-bottom:6px}
.timeline .ev{color:#34404f;font-size:15px}

/* =========== 임원/지역 카드 =========== */
.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.info-card{border:1px solid var(--line);border-radius:12px;padding:24px 26px}
.info-card .role{font-size:13px;color:var(--gold-2);font-weight:700;letter-spacing:.06em}
.info-card .name{font-family:var(--serif);font-size:22px;color:var(--navy);font-weight:700;margin-top:4px}
.info-card .rows{margin-top:14px;display:grid;gap:7px;font-size:14.5px;color:#3a4456}
.info-card .rows .r{display:flex;gap:10px}
.info-card .rows .k{color:var(--muted);min-width:50px;font-weight:600}

/* =========== 단체소개 공통 =========== */
.greeting-photo{margin-bottom:34px;text-align:center}
.greeting-photo img{max-width:100%;height:auto;display:inline-block;border-radius:12px}
.greeting-banner{display:flex;align-items:center;gap:26px;background:
    radial-gradient(500px 200px at 90% -40%, #1d4577 0%, transparent 60%),
    linear-gradient(160deg,#0e2742 0%,#0b1f37 70%,#0a1b30 100%);
  border-radius:14px;padding:34px 36px;color:#fff;margin-bottom:34px}
.greeting-banner .gb-photo{width:96px;height:96px;border-radius:50%;background:rgba(255,255,255,.08);
  border:2px solid var(--gold);display:grid;place-items:center;font-size:44px;flex:none;overflow:hidden}
.greeting-banner .gb-photo img{width:100%;height:100%;object-fit:cover;display:block}
.greeting-banner .gb-hi{font-family:var(--serif);font-size:22px;color:var(--gold-soft);margin-bottom:8px}
.greeting-banner .gb-name{font-size:16px;color:#dbe6f4;line-height:1.5}
.greeting-banner .gb-name b{font-family:var(--serif);font-size:20px;color:#fff;letter-spacing:.05em}
.greeting-body p{margin-bottom:15px;line-height:1.85}
.greeting-sign{text-align:right;margin-top:30px;color:var(--navy);font-size:16px}
.greeting-sign b{font-family:var(--serif);font-size:20px;letter-spacing:.08em}

/* 설립목적 / 사업 리스트 */
.about-sec{margin-bottom:42px}
.about-sec .ah{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-size:21px;color:var(--navy);
  font-weight:700;padding-bottom:14px;border-bottom:2px solid var(--navy);margin-bottom:20px}
.about-sec .ah::before{content:"";width:13px;height:13px;border:2px solid var(--gold);transform:rotate(45deg);flex:none}
.about-lead{background:var(--bg-soft);border-left:3px solid var(--gold);border-radius:0 8px 8px 0;
  padding:20px 24px;color:#34404f;font-size:16px;line-height:1.8}
.num-list{list-style:none;counter-reset:n}
.num-list > li{position:relative;counter-increment:n;padding:12px 0 12px 44px;border-bottom:1px dashed var(--line);
  color:#34404f;font-size:15.5px;line-height:1.7}
.num-list > li:last-child{border-bottom:none}
.num-list > li::before{content:counter(n);position:absolute;left:0;top:11px;width:28px;height:28px;border-radius:50%;
  background:var(--navy);color:#fff;font-size:13px;font-weight:700;display:grid;place-items:center;font-family:var(--serif)}
.about-img{margin-top:26px;border-radius:12px;overflow:hidden;border:1px solid var(--line)}
.about-img img{width:100%;display:block}

/* 정관/회칙 조문 */
.law h3.chap{font-family:var(--serif);font-size:20px;color:var(--navy);font-weight:700;margin:30px 0 16px;
  padding-bottom:10px;border-bottom:2px solid var(--gold)}
.law .art{margin-bottom:18px}
.law .art .at{font-weight:700;color:var(--navy);font-size:15.5px;margin-bottom:6px}
.law .art p{color:#3a4456;font-size:15px;line-height:1.75;margin:3px 0}
.law .art .sub{padding-left:18px;color:#46505f}
.law .art .sub2{padding-left:36px;color:#5d6779;font-size:14.5px}
.law-note{margin-top:24px;color:var(--muted);font-size:13.5px;background:var(--bg-soft);border-radius:8px;padding:14px 18px}

/* 연혁 타임라인(연도 그룹) */
.hist-group{display:grid;grid-template-columns:120px 1fr;gap:24px;padding:22px 0;border-bottom:1px solid var(--line)}
.hist-group:last-child{border-bottom:none}
.hist-year{font-family:var(--serif);font-size:24px;font-weight:700;color:var(--navy)}
.hist-items{display:grid;gap:12px}
.hist-items .hi{display:flex;gap:14px;align-items:baseline}
.hist-items .hm{min-width:64px;color:var(--gold-2);font-weight:700;font-size:14.5px}
.hist-items .he{color:#34404f;font-size:15.5px}

/* 지역본부 목록 그리드 */
.region-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.region-card{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;
  border:1px solid var(--line);border-radius:12px;padding:30px 20px;background:#fff;transition:.18s;text-align:center}
.region-card:hover{background:var(--navy);border-color:var(--navy);transform:translateY(-3px);box-shadow:0 14px 32px rgba(14,39,66,.16)}
.region-card .rc-name{font-family:var(--serif);font-size:19px;font-weight:700;color:var(--navy);transition:.18s}
.region-card .rc-go{font-size:13px;color:var(--gold-2);font-weight:600;transition:.18s}
.region-card:hover .rc-name{color:#fff}
.region-card:hover .rc-go{color:var(--gold-soft)}

/* 중앙임원 카드 */
.officer-list{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.officer-card{display:grid;grid-template-columns:128px 1fr;gap:20px;border:1px solid var(--line);
  border-radius:12px;padding:20px;background:#fff;transition:.18s}
.officer-card:hover{box-shadow:0 12px 30px rgba(14,39,66,.1)}
.officer-photo{text-align:center}
.officer-photo .ph{width:108px;height:132px;border-radius:8px;background:var(--bg-soft);border:1px solid var(--line);
  display:grid;place-items:center;font-size:42px;color:#c2cbd8;overflow:hidden;margin:0 auto}
.officer-photo .ph img{width:100%;height:100%;object-fit:cover}
.officer-photo .cap{margin-top:10px}
.officer-photo .cap .role{font-size:12px;color:var(--gold-2);font-weight:700}
.officer-photo .cap .nm{font-family:var(--serif);font-size:16px;color:var(--navy);font-weight:700;margin-top:2px}
.officer-info{display:flex;flex-direction:column;justify-content:center}
.officer-info .ir{display:flex;gap:10px;padding:5px 0;font-size:14px;border-bottom:1px dashed var(--line)}
.officer-info .ir:last-child{border-bottom:none}
.officer-info .ik{min-width:58px;color:var(--muted);font-weight:600;flex:none}
.officer-info .iv{color:#34404f}
.officer-note{text-align:center;color:var(--muted);font-size:13.5px;margin-top:28px}

/* 조직도 이미지 */
.org-image{text-align:center;padding:10px 0}
.org-image img{max-width:100%;height:auto;display:inline-block;border:1px solid var(--line);border-radius:10px}

/* 조직도 (CSS버전 - 미사용) */
.org{padding:10px 0}
.org .lv{display:flex;flex-direction:column;align-items:center}
.org .node{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;
  font-weight:700;color:#fff;padding:13px 30px;font-size:15.5px;text-align:center;box-shadow:0 4px 12px rgba(14,39,66,.12)}
.org .node.top{background:var(--navy);font-size:17px;padding:15px 44px}
.org .node.vice{background:#3f8f96;padding:12px 38px}
.org .node.sub{background:var(--navy-soft)}
.org .node.white{background:#fff;color:var(--navy);border:1.5px solid var(--navy-soft);box-shadow:none}
.org .node.gray{background:#8893a5}
.org .connector{width:2px;height:24px;background:var(--line)}
.org .org-mid{display:grid;grid-template-columns:1fr auto 1fr;gap:30px;align-items:start;width:100%;margin-top:6px}
.org .col{display:flex;flex-direction:column;gap:10px}
.org .col.left{align-items:flex-start}
.org .col.right{align-items:flex-end}
.org .col .node{background:var(--navy-soft);min-width:150px}
.org .col.right .node{background:var(--blue)}
.org .center{display:flex;flex-direction:column;align-items:center;gap:0}
.org .center .row3{display:flex;gap:14px;align-items:center;justify-content:center;margin-bottom:6px}
.org .center .row2{display:flex;gap:14px;justify-content:center;margin:6px 0}
.org .totals{display:flex;gap:30px;justify-content:center;margin-top:8px}
.org .regions-grid{display:grid;grid-template-columns:repeat(13,1fr);gap:7px;margin-top:18px}
.org .rbox{background:#fff;border:1px solid var(--line);border-radius:6px;padding:12px 4px;font-size:13px;
  color:#2c3646;font-weight:600;text-align:center;line-height:1.3;writing-mode:vertical-rl;height:96px;
  display:flex;align-items:center;justify-content:center;margin:0 auto;letter-spacing:.04em}
.org .org-caption{text-align:center;color:var(--muted);font-size:13px;margin-top:18px}

/* 오시는 길 */
.map-box{border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:24px}
.map-box iframe,.map-box .map-ph{width:100%;height:380px;border:0;display:block}
.map-ph{background:var(--bg-soft);display:grid;place-items:center;text-align:center;color:var(--muted)}
.loc-table{width:100%;border-collapse:collapse;border-top:2px solid var(--navy)}
.loc-table th{background:var(--bg-soft);text-align:left;width:130px;padding:15px 20px;color:var(--navy);
  font-weight:700;font-size:15px;border-bottom:1px solid var(--line)}
.loc-table td{padding:15px 20px;color:#34404f;font-size:15px;border-bottom:1px solid var(--line)}

/* =========== 후원계좌 디자인 카드 =========== */
.account-card{max-width:620px;margin:0 auto;border-radius:16px;overflow:hidden;
  box-shadow:0 18px 50px rgba(14,39,66,.16);border:1px solid var(--line)}
.account-card .ac-head{display:flex;align-items:center;gap:16px;padding:28px 32px;color:#fff;
  background:radial-gradient(600px 240px at 85% -30%, #1d4577 0%, transparent 60%),
    linear-gradient(160deg,#0e2742 0%,#0b1f37 70%,#0a1b30 100%)}
.account-card .ac-emblem{width:56px;height:56px;border-radius:50%;border:2px solid var(--gold);
  display:grid;place-items:center;font-family:var(--serif);font-weight:900;font-size:18px;color:var(--gold-soft);flex:none}
.account-card .ac-org{font-family:var(--serif);font-weight:700;font-size:17px;color:#fff;line-height:1.3}
.account-card .ac-sub{font-size:13px;color:var(--gold-soft);letter-spacing:.1em;margin-top:3px}
.account-card .ac-body{padding:28px 32px;background:#fff}
.account-card .ac-row{display:flex;align-items:center;gap:18px;padding:14px 0;border-bottom:1px dashed var(--line)}
.account-card .ac-row:last-child{border-bottom:none}
.account-card .ac-k{min-width:84px;color:var(--muted);font-weight:700;font-size:14.5px}
.account-card .ac-v{color:var(--ink);font-size:16px;font-weight:600}
.account-card .ac-num{font-family:var(--serif);font-size:23px;color:var(--navy);letter-spacing:.02em;font-weight:700}
.account-card .ac-foot{background:var(--bg-soft);border-top:1px solid var(--line);
  padding:16px 32px;text-align:center;color:var(--gold-2);font-size:14px;font-weight:600}

/* =========== 빠른상담 섹션 =========== */
.consult{background:#fff;border-top:1px solid var(--line);padding:64px 0 70px}
.consult-divider{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:50px}
.consult-divider .ln{height:1px;background:var(--line);flex:1;max-width:380px}
.consult-divider .dia{display:flex;gap:9px}
.consult-divider .dia i{width:13px;height:13px;border:1.5px solid var(--gold);transform:rotate(45deg);display:block}
.consult-divider .dia i:nth-child(2){background:var(--gold)}
.consult-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:60px;align-items:start}
.consult h3.ctitle{font-family:var(--serif);font-size:26px;color:var(--navy);font-weight:700;margin-bottom:28px}

/* 좌측 상담안내 */
.consult-info .desc{color:var(--muted);font-size:15.5px;margin-bottom:22px;line-height:1.7}
.consult-info .phones{text-align:center;margin:10px 0 6px}
.consult-info .phones .p{font-family:var(--serif);font-weight:700;font-size:40px;color:var(--gold-2);line-height:1.25;letter-spacing:.01em}
.consult-info .hours{text-align:center;color:var(--muted);font-size:14.5px;margin:14px 0 26px;line-height:1.6}
.consult-info .crow{display:flex;align-items:center;gap:14px;padding:9px 0;font-size:15px;color:#3a4456}
.consult-info .crow .ic{width:34px;height:34px;border-radius:8px;background:var(--bg-soft);display:grid;place-items:center;color:var(--navy);flex:none;font-size:15px;font-weight:700}
.consult-info .crow .k{min-width:58px;color:var(--muted);font-weight:600}

/* 우측 빠른상담 폼 */
.consult-form .field{display:flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-bottom:10px;background:#fff}
.consult-form .field .lab{width:54px;background:var(--navy);color:var(--gold-soft);display:grid;place-items:center;flex:none;font-size:15px}
.consult-form .field input,.consult-form .field textarea{flex:1;border:none;padding:14px 16px;font-size:15px;font-family:var(--sans);resize:none}
.consult-form .field input:focus,.consult-form .field textarea:focus{outline:none}
.consult-form .field textarea{min-height:120px;line-height:1.6}
.consult-form .submit{width:100%;background:var(--navy);color:#fff;border:none;padding:17px;font-size:16.5px;font-weight:700;
  font-family:var(--sans);border-radius:8px;cursor:pointer;transition:.16s;margin-top:4px}
.consult-form .submit:hover{background:var(--navy-2)}
.consult-form .agree{display:flex;align-items:center;justify-content:space-between;margin-top:16px;font-size:14.5px;color:#3a4456}
.consult-form .agree label{display:flex;align-items:center;gap:8px;cursor:pointer}
.consult-form .agree .detail{color:var(--gold-2);font-weight:700;cursor:pointer;background:none;border:none;font-size:14.5px;font-family:var(--sans)}
.consult-policy{display:none;margin-top:12px;background:var(--bg-soft);border:1px solid var(--line);border-radius:8px;
  padding:16px;font-size:13.5px;color:var(--muted);line-height:1.7}
.consult-policy.open{display:block}

/* =========== 푸터 =========== */
footer{background:var(--navy);color:#aebfd4;padding:54px 0 30px;font-size:14px}
.foot{display:grid;grid-template-columns:1.2fr 1fr;gap:34px;align-items:start}
.foot .fbrand{display:flex;align-items:center;gap:13px;margin-bottom:18px}
.foot .fbrand .nm{font-family:var(--serif);color:#fff;font-weight:700;font-size:18px}
.foot .info p{margin:4px 0;color:#9fb1c8}
.foot .info b{color:#cfdcec;font-weight:600}
.foot .contact{display:grid;gap:8px}
.foot .contact .row{display:flex;gap:10px}
.foot .contact .k{color:var(--gold-soft);font-weight:700;min-width:54px}
.foot .contact .tel{font-size:22px;color:#fff;font-family:var(--serif);font-weight:700;letter-spacing:.02em}
.copy{border-top:1px solid #234064;margin-top:34px;padding-top:22px;display:flex;justify-content:space-between;
  flex-wrap:wrap;gap:8px;color:#7f93ac;font-size:12.5px}

/* =========== 유틸 =========== */
.empty{text-align:center;color:#9aa4b2;padding:60px 0;font-size:15px}
.required{color:#c0392b}

/* =========== 관리자 =========== */
.admin-login{min-width:auto;min-height:100vh;display:grid;place-items:center;background:var(--bg-soft)}
.admin-login .box{width:380px;background:#fff;border:1px solid var(--line);border-radius:14px;
  padding:42px 38px;box-shadow:0 18px 50px rgba(14,39,66,.12)}
.admin-login .logo{text-align:center;margin-bottom:26px}
.admin-login .logo .seal{width:54px;height:54px;margin:0 auto 12px}
.admin-login .logo .t{font-family:var(--serif);font-size:19px;color:var(--navy);font-weight:700}
.admin-login .logo .s{font-size:13px;color:var(--muted);margin-top:3px}
.admin-login label{display:block;font-size:13.5px;color:var(--muted);font-weight:600;margin:14px 0 6px}
.admin-login input{width:100%;border:1px solid var(--line);border-radius:8px;padding:12px 14px;font-size:15px;font-family:var(--sans)}
.admin-login input:focus{outline:none;border-color:var(--navy)}
.admin-login .err{color:#c0392b;font-size:13.5px;margin-top:14px;text-align:center}
.admin-login button{width:100%;margin-top:22px;background:var(--navy);color:#fff;border:none;border-radius:8px;
  padding:14px;font-size:16px;font-weight:700;cursor:pointer;font-family:var(--sans)}
.admin-login button:hover{background:var(--navy-2)}
.admin-login .home{display:block;text-align:center;margin-top:18px;color:var(--muted);font-size:13.5px}

.admin-wrap{min-width:1100px;display:grid;grid-template-columns:240px 1fr;min-height:100vh}
.admin-side{background:var(--navy);color:#cdd9ea;padding:0 0 30px}
.admin-side .brand{padding:22px 24px;border-bottom:1px solid #1e3a5c;display:flex;align-items:center;gap:10px}
.admin-side .brand .seal{width:38px;height:38px;font-size:11px}
.admin-side .brand .t{font-family:var(--serif);color:#fff;font-size:15px;font-weight:700}
.admin-side .grp{padding:18px 24px 6px;font-size:12px;color:#6f86a6;letter-spacing:.08em;font-weight:700}
.admin-side a{display:block;padding:9px 24px;color:#bccbe0;font-size:14px;transition:.13s}
.admin-side a:hover{background:#163a63;color:#fff}
.admin-side a.on{background:#163a63;color:#fff;border-left:3px solid var(--gold);padding-left:21px;font-weight:600}
.admin-main{background:var(--bg-soft);padding:0}
.admin-top{background:#fff;border-bottom:1px solid var(--line);padding:16px 30px;display:flex;
  justify-content:space-between;align-items:center}
.admin-top .title{font-family:var(--serif);font-size:19px;color:var(--navy);font-weight:700}
.admin-top .who{font-size:13.5px;color:var(--muted)}
.admin-top .who a{color:var(--blue);font-weight:600;margin-left:12px}
.admin-body{padding:30px}
.admin-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px;margin-bottom:20px}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}
.stat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px 24px}
.stat .n{font-family:var(--serif);font-size:30px;color:var(--navy);font-weight:700}
.stat .l{color:var(--muted);font-size:13.5px;margin-top:4px}
.atable{width:100%;border-collapse:collapse}
.atable th{background:var(--bg-soft);font-size:13.5px;color:var(--navy);font-weight:700;padding:12px 12px;
  border-bottom:1px solid var(--line);text-align:left}
.atable td{padding:12px 12px;font-size:14px;color:#3a4456;border-bottom:1px solid var(--line)}
.atable tr:hover td{background:#fafcfe}
.atable .c{text-align:center}
.btn-del{background:#c0392b;color:#fff;border:none;border-radius:6px;padding:7px 14px;font-size:13px;cursor:pointer;font-family:var(--sans)}
.btn-del:hover{background:#a93226}
.btn-mini{display:inline-block;background:#fff;border:1px solid var(--line);border-radius:6px;padding:7px 14px;font-size:13px;color:#3a4456}
.btn-mini:hover{border-color:var(--navy);color:var(--navy)}
.badge{display:inline-block;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:700}
.badge.secret{background:#fdecea;color:#c0392b}
.badge.done{background:#e8f3ec;color:#2e7d4f}
.badge.wait{background:#fff5e0;color:#a87f2b}

/* =====================================================
   📱 모바일 대응 (max-width: 768px)
   ===================================================== */
@media (max-width:768px){
  /* --- 공통 베이스 --- */
  html{-webkit-text-size-adjust:100%}
  body{min-width:0}
  img{height:auto}
  .wrap{width:100%;padding:0 22px}
  .util .wrap,.head{padding-left:22px;padding-right:22px}
  section.block{padding:48px 0}

  /* 가로 넘침 방지 (표 등은 가로 스크롤 허용) */
  body{overflow-x:hidden}

  /* --- 헤더 / 햄버거 메뉴 --- */
  header{position:static}                         /* 메뉴 열었을 때 스크롤 정상화 */
  .head{height:auto;flex-wrap:wrap;padding:10px 22px}
  .brand .logo-img{height:80px}
  .menu-btn{display:inline-flex}
  nav.main{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0;
    margin-top:10px;border-top:1px solid var(--line);padding-top:4px}
  nav.main.open{display:flex}
  nav.main > .gnb-item{position:static}
  nav.main > .gnb-item > a{display:block;padding:14px 6px;font-size:16px;border-bottom:1px solid var(--line);color:#2a3346}
  /* 공익제보도 다른 메뉴와 동일하게 (골드버튼 해제) */
  nav.main > .gnb-item > a.report{background:none !important;color:#2a3346 !important;border-radius:0 !important;margin:0 !important;padding:14px 6px !important;text-align:left;font-weight:600;border-bottom:1px solid var(--line)}
  /* 하위메뉴 있는 항목 +/− 표시 */
  nav.main > .gnb-item.has-sub > a::after{content:"＋";float:right;color:var(--muted);font-weight:400}
  nav.main > .gnb-item.has-sub.open > a::after{content:"－"}
  /* 아코디언: 기본 접힘, 탭하면 펼침 */
  nav.main .submenu{position:static !important;transform:none !important;opacity:1 !important;visibility:visible !important;
    box-shadow:none;border:none;border-radius:0;min-width:0;padding:4px 0 10px 14px;display:none;transition:none !important}
  nav.main > .gnb-item.open > .submenu{display:block !important}
  nav.main .submenu a{display:block;padding:11px 10px;font-size:15px;color:#2a3346 !important;border-bottom:1px solid var(--line)}

  /* --- 푸터 --- */
  footer{padding:40px 0 24px}
  .foot{grid-template-columns:1fr;gap:24px}
  .foot .contact .tel{font-size:20px}
  .copy{flex-direction:column;gap:6px;text-align:left;align-items:flex-start}

  /* --- 메인: 히어로 (인라인 스타일 → !important) --- */
  .hero .wrap{grid-template-columns:1fr !important;padding:52px 20px 56px !important;gap:10px !important;text-align:center}
  .hero h1{font-size:32px !important;line-height:1.3 !important}
  .hero p{font-size:15.5px !important;margin-left:auto;margin-right:auto}
  .hero .wrap > div:last-child{display:none !important}  /* 우측 원형 엠블럼 숨김 */
  .hero .cta,
  .hero .wrap > div:first-child > div:last-child{justify-content:center}

  /* --- 메인: 제보 안내 띠 --- */
  .report-band .wrap{flex-direction:column !important;align-items:flex-start !important;gap:16px !important;padding:22px 20px !important}
  .report-band .wrap > div span{word-break:keep-all}

  /* --- 메인: 섹션 헤드 --- */
  .sec-head{margin-bottom:30px}
  .sec-head .kr{font-size:24px}

  /* --- 메인: 카드 / 게시판 / 빠른상담 1열 --- */
  .cards{grid-template-columns:1fr !important;gap:16px}
  .board-grid{grid-template-columns:1fr !important;gap:16px !important}
  .consult-grid{grid-template-columns:1fr !important;gap:36px !important}
  .consult{padding:48px 0 54px}
  .consult-divider .ln{max-width:60px}

  /* 지역 칩 살짝 축소 */
  .chips a{padding:10px 16px;font-size:14px}

  /* --- 서브페이지 공통 (히어로 + 사이드바 레이아웃) --- */
  .page-hero{padding:40px 0 34px}
  .page-hero h1{font-size:27px}
  .crumb{font-size:12.5px;flex-wrap:wrap}
  .page-body{padding:34px 0 54px}
  .layout{grid-template-columns:1fr;gap:22px}   /* 좌측 사이드바 → 상단으로 */
  .side{position:static}
  .content h2.page-title{font-size:22px}

  /* 단체소개 세부 */
  .greeting-photo{margin-bottom:24px}
  .hist-group{grid-template-columns:1fr;gap:8px;padding:18px 0}
  .hist-year{font-size:21px}
  .info-grid{grid-template-columns:1fr}
  .law .art .sub2{padding-left:22px}
  .about-lead{font-size:15px;padding:16px 18px}

  /* --- 게시판 목록: 좁은 화면에선 번호·작성자·조회 숨기고 제목+날짜만 --- */
  .board-list th:nth-child(1),.board-list td:nth-child(1),
  .board-list th:nth-child(3),.board-list td:nth-child(3),
  .board-list th:nth-child(5),.board-list td:nth-child(5){display:none}
  .board-list td,.board-list th{padding:13px 8px;font-size:14px}
  .board-list td.subj a{white-space:normal}
  .board-search{flex-wrap:wrap}
  .board-search input{width:100%}

  /* --- 게시판 상세 --- */
  .view-head h2{font-size:18px}
  .view-meta{flex-wrap:wrap;gap:8px 16px}
  .view-foot{flex-wrap:wrap;gap:10px}

  /* --- 글쓰기 폼: 라벨/입력 세로 스택 --- */
  .form-table th,.form-table td{display:block;width:auto}
  .form-table th{border-bottom:none;padding:14px 16px 4px;background:#fff}

  /* --- 갤러리 2열 --- */
  .gallery-grid{grid-template-columns:1fr 1fr;gap:12px}

  /* --- 중앙임원 / 지역본부 임원 카드 1열 --- */
  .officer-list{grid-template-columns:1fr}
  .officer-card{padding:16px;gap:16px}

  /* --- 지역본부 목록 4열 → 2열 --- */
  .region-grid{grid-template-columns:1fr 1fr;gap:12px}
  .region-card{padding:22px 12px}
  .region-card .rc-name{font-size:17px}

  /* --- 지역본부 커스텀 드롭다운 --- */
  .region-select-wrap{position:relative;width:100%;max-width:320px;margin:0 auto 28px;z-index:50}
  .region-select-btn{width:100%;display:flex;align-items:center;justify-content:space-between;
    border:2px solid var(--navy);border-radius:10px;padding:14px 18px;
    font-size:17px;font-family:var(--sans);color:var(--navy);background:#fff;cursor:pointer}
  .region-select-list{display:none;position:absolute;top:calc(100% + 6px);left:0;right:0;
    background:#fff;border:2px solid var(--navy);border-radius:10px;
    max-height:280px;overflow-y:auto;box-shadow:0 8px 24px rgba(14,39,66,.15);z-index:100}
  .region-select-wrap.open .region-select-list{display:block}
  .region-select-wrap.open .region-select-btn svg{transform:rotate(180deg)}
  .region-select-list li{border-bottom:1px solid var(--line)}
  .region-select-list li:last-child{border-bottom:none}
  .region-select-list a{display:block;padding:13px 18px;font-size:17px;color:var(--navy);font-family:var(--sans)}
  .region-select-list a.active{background:var(--navy);color:#fff;font-weight:700}
  .region-select-list a:hover{background:var(--bg-soft)}

  /* --- 후원계좌 카드 --- */
  .account-card .ac-head{padding:22px 22px}
  .account-card .ac-body{padding:22px}
  .account-card .ac-num{font-size:19px}
  .account-card .ac-row{flex-wrap:wrap;gap:6px 14px}

  /* --- 오시는 길 지도 --- */
  .map-box iframe,.map-box .map-ph{height:280px}
}
