@charset "UTF-8";
/* ============================================================
   사단법인 민족사랑나눔 — screen-ui.css (단일 CSS)
   nowlabiz(요리엔 무드 yr- 컴포넌트) 구조 이식 + 민사나 팔레트(그린 #4f9a1f / 오렌지 #f37021)
   1rem = 10px, 컨테이너 1200px, 폰트 4단계(3.6 / 2.4 / 1.8 / 1.5rem)
   ------------------------------------------------------------
   [목차] 1.토큰·리셋  2.서브 레이아웃  3.리빌  4.yr-* 공용  5.ms-* 콘텐츠 컴포넌트  6.메인(index)  7.페이지별(하단 append)
   ※ 2026-08-28 심플화: 그라데이션·그림자·호버 리프트 제거, 라운드 .8rem 통일, 서브 헤드 흰 배경+밑줄 탭, 제목색 진회색 통일(아이콘만 컬러)
   ============================================================ */
:root{
  --point:#4f9a1f; --point-2:#3b7a15; --point-soft:#eef7e6;
  --accent:#f37021; --accent-soft:#fff1e8;
  --c-blue:#2f8fd6; --c-yellow:#f5b400; --c-pink:#e0338c; --c-teal:#2bb0a3; --c-purple:#7d4bd6; --c-red:#e2342d;
  --dark:#1f2a18; --tit:#1b1b1b; --body:#474b45; --muted:#7c8278; --faint:#a9afa4;
  --line:#e3e6df; --line-2:#eef1ea; --soft:#f5f9f1; --soft-2:#f8faf5; --surface:#f6f7f4;
  --container:1200px; --container-xl:1200px;
  --ease:cubic-bezier(.22,1,.36,1);
  /* 4단계 폰트 */
  --fs-h1:3.6rem; --fs-h2:2.4rem; --fs-body:1.8rem; --fs-small:1.5rem;
}
*{ margin:0; padding:0; box-sizing:border-box; }
html{ font-size:62.5%; scroll-behavior:smooth; overflow-x:hidden; }
body{ overflow-x:hidden; }
body{ font-family:'Noto Sans KR',sans-serif; font-size:var(--fs-body); color:var(--body); line-height:1.7; letter-spacing:-0.01em; background:#fff;
  display:flex; flex-direction:column; min-height:100vh; -webkit-font-smoothing:antialiased; word-break:keep-all; }
img{ max-width:100%; height:auto; vertical-align:middle; }
a{ color:inherit; text-decoration:none; }
li{ list-style:none; }
table{ border-collapse:collapse; }
em{ font-style:normal; }
.blind{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.accent{ color:var(--point); }
.c-orange{ color:var(--accent); } .c-green{ color:var(--point); } .c-blue{ color:var(--c-blue); } .c-pink{ color:var(--c-pink); } .c-yellow{ color:var(--c-yellow); } .c-teal{ color:var(--c-teal); } .c-purple{ color:var(--c-purple); } .c-red{ color:var(--c-red); }
.u-center{ text-align:center; } .u-right{ text-align:right; }
.u-mt0{ margin-top:0 !important; }


/* ── 0-1. 공용 컴포넌트: GNB 헤더 (include/gnb-header.php 마크업 전용 CSS) ── */
/* ============================================================
   GNB 헤더 전용 CSS (이 파일에서만 관리)
   ============================================================ */
#site-header, .site-nav-overlay {
  --container-xl: 1200px;
  --point-color: #4f9a1f;
  --point-deep: #3b7a15;
  --accent: #f37021;
  --text-strong: #1b1b1b;
  --text-body: #474b45;
  --text-muted: #7c8278;
  --border-subtle: #e3e6df;
  --surface-subtle: #f5f9f1;
  --shadow-lg: 0 12px 28px rgba(0,0,0,0.14), 0 4px 10px rgba(0,0,0,0.07);
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
}

/* ── 헤더 골격 ─────────────────────────────────────────────── */
#site-header {
  position: sticky; top: 0; z-index: 100;
  background: rgba(255,255,255,0.94);
  backdrop-filter: saturate(180%) blur(10px);
  -webkit-backdrop-filter: saturate(180%) blur(10px);
  box-shadow: 0 1px 0 rgba(0,0,0,0.06);
  transition: box-shadow .25s var(--ease-out), background .25s;
}
#site-header.is-scrolled { box-shadow: 0 1px 0 rgba(0,0,0,0.10); }

/* 상단 행 — 로고 가운데 정렬 */
.site-header__top {
  position: relative; max-width: var(--container-xl); margin: 0 auto; padding: 0 20px;
  height: 104px; display: flex; align-items: center; justify-content: center;
}

/* 로고 — 원본 로고 벡터화 SVG(logo.svg 182×69 비율), 모바일은 워드마크만(logo_mark.svg) */
.site-logo { display: inline-flex; align-items: center; text-decoration: none; flex-shrink: 0; line-height: 0; }
.site-logo img { display: block; height: 6.6rem; width: auto; }

/* ── GNB (1차 메뉴) — 로고 아래 전체폭 바, 항목 균등 분배 ──── */
.site-gnb { border-top: 1px solid var(--border-subtle); }
.site-nav { max-width: var(--container-xl); margin: 0 auto; padding: 0 20px; display: flex; height: 58px; list-style: none; }
.site-nav__item { position: relative; flex: 1; display: flex; align-items: center; justify-content: center; }
.site-nav__link {
  position: relative; display: flex; align-items: center; justify-content: center;
  width: 100%; height: 58px; padding: 0 10px;
  font-weight: 500; font-size: 18px; color: var(--text-strong); text-decoration: none;
  letter-spacing: -0.01em; white-space: nowrap; transition: color .15s;
}
.site-nav__link:hover, .site-nav__link.is-active { font-weight: 700; color: var(--point-color); }
.site-nav__link.is-active::after {
  content: ''; position: absolute; left: 22%; right: 22%; bottom: 8px; height: 3px; border-radius: 2px;
  background: var(--point-color);
}

/* ── 뎁스 메뉴 (2차) — 항목 아래 드롭다운 ─────────────────── */
.site-dropdown {
  display: none; position: absolute; top: calc(100% + 6px); left: 50%; transform: translateX(-50%);
  min-width: 100%; width: max-content; background: #fff;
  box-shadow: 0 14px 30px -18px rgba(0,0,0,0.25);
  border: 1px solid var(--border-subtle); border-top: 2px solid var(--point-color);
  border-radius: 8px; overflow: hidden; padding: 6px 0; z-index: 200;
}
.site-nav__item:hover .site-dropdown { display: block; }
.site-dropdown a {
  display: block; height: auto; padding: 11px 22px; font-size: 15px; color: var(--text-body);
  text-decoration: none; text-align: center; white-space: nowrap; transition: color .15s, background .15s;
}
.site-dropdown a:hover { color: var(--point-color); background: var(--surface-subtle); }
.site-dropdown a.is-current { color: var(--point-color); font-weight: 700; }

/* ── 햄버거 버튼 (데스크탑 숨김) ───────────────────────────── */
.site-hamburger {
  display: none; flex-direction: column; justify-content: center; align-items: center;
  width: 44px; height: 44px; margin-left: auto; background: none; border: none; cursor: pointer; padding: 4px; gap: 5px; flex-shrink: 0;
}
.site-hamburger__bar { display: block; width: 24px; height: 2px; background: var(--text-strong); border-radius: 2px; transition: transform .3s var(--ease-out), opacity .2s, width .2s; transform-origin: center; }
.site-hamburger.is-open .site-hamburger__bar:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.site-hamburger.is-open .site-hamburger__bar:nth-child(2) { opacity: 0; width: 0; }
.site-hamburger.is-open .site-hamburger__bar:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ── 모바일 오버레이 / 드로어 닫기 ─────────────────────────── */
.site-nav-overlay { display: none; position: fixed; inset: 0; background: rgba(0,0,0,0.4); z-index: 90; }
.site-nav-overlay.is-open { display: block; }
.site-drawer-close { display: none; position: absolute; top: 14px; right: 16px; width: 36px; height: 36px; background: none; border: none; font-size: 20px; color: var(--text-muted); cursor: pointer; line-height: 1; z-index: 1; }

/* ============================================================
   모바일 (≤960px) — 사이드 드로어 + 아코디언
   ============================================================ */
@media (max-width: 960px) {
  .site-header__top { height: 64px; justify-content: flex-start; }
  .site-logo img { height: 3.4rem; }
  .site-gnb { border-top: none; }
  .site-hamburger { display: flex; }
  .site-drawer-close { display: flex; align-items: center; justify-content: center; }

  #siteNav {
    position: fixed; top: 0; right: -100%; width: 280px; height: 100vh; background: #fff;
    box-shadow: var(--shadow-lg); z-index: 110; overflow-y: auto; visibility: hidden;
    transition: right .3s var(--ease-out), visibility 0s .3s; /* 닫힌 드로어가 가로 스크롤 폭을 늘리지 않도록 visibility 숨김 */
  }
  #siteNav.is-open { right: 0; visibility: visible; transition: right .3s var(--ease-out), visibility 0s; }
  .site-nav { display: flex; flex-direction: column; height: auto; padding: 20px 0 40px; margin: 0; }
  .site-nav::before { content: ''; display: block; height: 60px; }
  .site-nav__item { display: block; border-bottom: 1px solid var(--border-subtle); }
  .site-nav__link { display: flex; align-items: center; justify-content: space-between; height: auto; padding: 16px 24px; font-size: 16px; font-weight: 600; }
  .site-nav__link::after { display: none !important; }

  .site-dropdown {
    display: block; position: static; transform: none; width: auto; min-width: 0; box-shadow: none; border-top: none;
    border-left: 3px solid var(--point-color); padding: 4px 0; margin: 0 24px 8px 24px; background: var(--surface-subtle);
    max-height: 0; overflow: hidden; transition: max-height .3s var(--ease-out), padding .2s;
  }
  .site-dropdown a { text-align: left; }
  .site-nav__item.is-open .site-dropdown { max-height: 480px; padding: 8px 0; }
  .site-nav__item:hover .site-dropdown { display: block; max-height: 0; padding: 0; }
  .site-nav__item.is-open:hover .site-dropdown { max-height: 480px; padding: 8px 0; }
  .site-dropdown a { display: block; height: auto; padding: 10px 20px; font-size: 15px; }
}

/* ── 0-2. 공용 컴포넌트: 서브 타이틀 밴드 + 칩탭 (include/tab-menu.php 마크업 전용 CSS) ── */
/* ============================================================
   서브페이지 타이틀 밴드 + 칩형 탭메뉴 전용 CSS
   ============================================================ */
.site-subpage{ --container-xl:1200px; --point-color:#4f9a1f; --point-2:#3b7a15; --accent:#f37021;
  --text-strong:#1b1b1b; --text-muted:#7c8278; --border-subtle:#e3e6df; --line-2:#eef1ea; background:#fff; }

/* 타이틀 — 흰 배경 심플 헤드(그라데이션 제거, 2026-08-28) */
.site-subpage__head{ position:relative; padding:6.4rem 2rem 4.4rem; text-align:center; background:#fff; }
.site-subpage__title{ position:relative; max-width:var(--container-xl); margin:0 auto; }
.site-subpage__eyebrow{ display:inline-block; font-size:1.5rem; font-weight:700; letter-spacing:.24em; color:var(--point-color); margin-bottom:1.4rem; }
.site-subpage__title h1{ font-size:3.6rem; font-weight:800; color:var(--text-strong); letter-spacing:-0.035em; line-height:1.2; margin:0; word-break:keep-all; }
.site-subpage__title h1 small{ display:inline-block; margin-left:1.2rem; font-size:1.5rem; font-weight:500; letter-spacing:.1em; color:var(--text-muted); vertical-align:middle; text-transform:uppercase; }
.site-subpage__lead{ max-width:76rem; margin:1.8rem auto 0; font-size:1.8rem; line-height:1.7; color:var(--text-muted); word-break:keep-all; }
.site-subpage__lead .accent{ color:var(--point-color); font-weight:700; }

/* 탭 메뉴 영역 — 헤드와 분리된 전용 영역(배경 없음) + 세그먼트형 탭 바(흰 셀·헤어라인 구분, 활성 = 그린 채움) */
.site-subnav-band{ padding:0 3rem; } /* 배경·상하 라인 없음(8/28 요청) — 세그먼트 탭 바만 노출 */
.site-subnav{ display:flex; align-items:stretch; max-width:114rem; margin:0 auto; background:#fff; border:1px solid var(--line); border-radius:.6rem; overflow:hidden; }
.site-subnav__tab{ position:relative; display:flex; align-items:center; justify-content:center; flex:1 1 0; min-width:0; height:5.2rem; padding:0 1.2rem;
  border-right:1px solid var(--line); font-size:1.5rem; font-weight:600; text-decoration:none; color:var(--text-body); text-align:center; line-height:1.3;
  transition:color .2s, background .2s; white-space:nowrap; }
.site-subnav__tab:last-child{ border-right:0; }
.site-subnav__tab:hover{ color:var(--text-strong); background:var(--soft-2); }
.site-subnav__tab.is-active{ color:#fff; background:var(--point-color); font-weight:700; }
.site-subnav__tab:focus-visible{ outline:2px solid var(--point-2); outline-offset:-3px; }

/* 콘텐츠 영역 */
.site-content{ min-height:200px; padding-top:5.6rem; padding-bottom:9.6rem; }

@media (max-width:960px){
  .site-subpage__head{ padding:4.8rem 1.6rem 3.2rem; }
  .site-subpage__title h1{ font-size:2.8rem; }
  .site-subpage__title h1 small{ display:block; margin:1rem 0 0; }
  .site-subpage__lead{ font-size:1.5rem; margin-top:1.4rem; }
  .site-subnav-band{ padding:0 1.6rem; }
  .site-subnav{ display:grid; grid-template-columns:repeat(3,1fr); }
  .site-subnav__tab{ height:4.8rem; border-bottom:1px solid var(--line); white-space:normal; }
  .site-subnav__tab:nth-child(3n){ border-right:0; }
  .site-subnav__tab:nth-last-child(-n+3):nth-child(3n+1), .site-subnav__tab:nth-last-child(-n+3):nth-child(3n+1) ~ .site-subnav__tab{ border-bottom:0; } /* 마지막 행 하단선 제거 */
  .site-subnav__tab:last-child:nth-child(3n+1){ grid-column:1 / -1; border-right:0; } .site-subnav__tab:last-child:nth-child(3n+2){ grid-column:span 2; border-right:0; } /* 마지막 행 빈 칸 채움 */
}
@media (max-width:480px){
  .site-subpage__title h1{ font-size:2.4rem; }
  .site-subnav{ grid-template-columns:repeat(2,1fr); }
  .site-subnav__tab{ border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
  .site-subnav__tab:nth-child(2n){ border-right:0; }
  .site-subnav__tab:last-child:nth-child(odd){ grid-column:1 / -1; border-right:0; } .site-subnav__tab:last-child:nth-child(even){ grid-column:auto; }
  .site-subnav__tab:nth-last-child(-n+2):nth-child(2n+1), .site-subnav__tab:nth-last-child(-n+2):nth-child(2n+1) ~ .site-subnav__tab{ border-bottom:0; }
  .site-content{ padding-top:3.6rem; padding-bottom:6.4rem; }
}

/* ── 0-3. 공용 컴포넌트: 푸터 (include/footer.php 마크업 전용 CSS) ── */
#site-footer { --container-xl: 1200px; }
#site-footer {
  background: #1f2a18;
  color: rgba(255,255,255,0.62);
  margin-top: auto; /* body flex column → sticky footer */
  border-top: 3px solid #4f9a1f;
}
/* 회사 정보 */
.site-footer__inner { max-width: var(--container-xl); margin: 0 auto; padding: 32px 20px; display: flex; align-items: flex-start; gap: 40px; }
.site-footer__logo { flex-shrink: 0; padding-top: 4px; line-height: 0; }
.site-footer__logo img { display: block; height: 5.6rem; width: auto; }
.site-footer__info { font-size: 15px; line-height: 1.95; color: rgba(255,255,255,0.55); }
.site-footer__company { color: rgba(255,255,255,0.85); font-weight: 700; margin-bottom: 2px; }
.site-footer__info a { color: inherit; text-decoration: none; }
.site-footer__info a:hover { color: rgba(255,255,255,0.9); text-decoration: underline; }
.site-footer__account { color: #ffa16b; font-weight: 700; }
.site-footer__sep { margin: 0 8px; color: rgba(255,255,255,0.25); }
.site-footer__copy { margin-top: 6px; color: rgba(255,255,255,0.4); }
.site-footer__ext { text-decoration: underline !important; text-underline-offset: 3px; }

@media (max-width: 960px) {
  .site-footer__inner { flex-direction: column; gap: 16px; padding: 24px 20px; }
  .site-footer__sep { display: none; }
  .site-footer__info span.fi { display: block; }
}
@media (max-width: 600px) {
  .site-footer__inner { padding: 24px 18px; gap: 14px; }
  .site-footer__info { font-size: 15px; line-height: 1.85; word-break: keep-all; }
}

/* ── 2. 서브 공통 레이아웃 ─────────────────────────────────── */
.sub-page{ flex:1 0 auto; }
.sub-inner{ width:var(--container); max-width:100%; margin:0 auto; padding:0 3rem; }
.sub-section{ padding:0; }
@media (max-width:600px){ .sub-inner{ padding:0 1.6rem; } }

/* ── 3. 스크롤 리빌(토글은 sub-footer.php JS) ─────────────── */
.rv{ opacity:0; transform:translateY(30px); transition:opacity .85s var(--ease), transform .85s var(--ease); will-change:opacity,transform; }
.rv.is-in{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){ .rv{ opacity:1 !important; transform:none !important; transition:none !important; } }

/* ── 4. YR 공용 컴포넌트 (nowlabiz 이식, yr- 프리픽스) ─────── */
.yr-wrap{ max-width:var(--container-xl); margin:0 auto; }
.yr-section{ margin-top:9rem; }
.yr-section:first-child{ margin-top:0; }
.yr-section--tight{ margin-top:6rem; }

.yr-head{ text-align:center; margin:0 auto 4.4rem; max-width:82rem; }
.yr-head__eye{ display:inline-block; font-size:var(--fs-small); font-weight:700; letter-spacing:.24em; text-transform:uppercase; color:var(--point); margin-bottom:1.2rem; }
.yr-head__tit{ font-size:var(--fs-h2); font-weight:800; line-height:1.35; letter-spacing:-0.03em; color:var(--tit); margin:0; }
.yr-head__tit .accent{ color:var(--point); }
.yr-head__sub{ margin:1.4rem 0 0; font-size:var(--fs-body); line-height:1.75; color:var(--muted); }
.yr-head--left{ text-align:left; margin-left:0; max-width:none; }

/* 알약 버튼 */
.yr-pill{ display:inline-flex; align-items:center; gap:1rem; height:5.2rem; padding:0 2.8rem; border-radius:.6rem; font-size:var(--fs-small); font-weight:700;
  text-decoration:none; cursor:pointer; border:1px solid transparent; transition:transform .2s var(--ease), background .2s, color .2s, border-color .2s; }
.yr-pill svg{ width:1.8rem; height:1.8rem; transition:transform .25s var(--ease); }
.yr-pill:hover svg{ transform:translateX(4px); }
.yr-pill--solid{ background:var(--point); color:#fff; }
.yr-pill--solid:hover{ background:var(--point-2); }
.yr-pill--orange{ background:var(--accent); color:#fff; }
.yr-pill--orange:hover{ background:#d95e15; }
.yr-pill--line{ background:#fff; color:var(--point-2); border-color:var(--line); }
.yr-pill--line:hover{ border-color:var(--point); }
.yr-pill--ghost{ background:rgba(255,255,255,.12); color:#fff; border-color:rgba(255,255,255,.4); }
.yr-pill--ghost:hover{ background:#fff; color:var(--point-2); }

/* 그라데이션 히어로 패널(라운드) */
.yr-hero{ position:relative; overflow:hidden; border-radius:.8rem; padding:7.2rem 4rem; text-align:center; color:#fff; background:var(--point-2); }
.yr-hero__eye{ display:inline-block; font-size:var(--fs-small); font-weight:700; letter-spacing:.24em; text-transform:uppercase; color:#c8ef9d; margin-bottom:1.4rem; }
.yr-hero__tit{ font-size:var(--fs-h1); font-weight:800; line-height:1.3; letter-spacing:-0.03em; margin:0; }
.yr-hero__sub{ margin:1.8rem auto 0; max-width:74rem; font-size:var(--fs-body); line-height:1.75; color:rgba(255,255,255,.88); }
.yr-hero__act{ margin-top:3rem; display:flex; gap:1.2rem; justify-content:center; flex-wrap:wrap; }
.yr-hero--light{ color:var(--tit); border:1px solid var(--line); background:var(--soft); }
.yr-hero--light .yr-hero__eye{ color:var(--point); }
.yr-hero--light .yr-hero__tit{ text-shadow:none; }
.yr-hero--light .yr-hero__sub{ color:var(--muted); }

/* 카드 그리드 */
.yr-cards{ display:grid; gap:2.4rem; grid-template-columns:repeat(3,1fr); }
.yr-cards--2{ grid-template-columns:repeat(2,1fr); }
.yr-cards--4{ grid-template-columns:repeat(4,1fr); }
.yr-card{ position:relative; padding:3.4rem 3rem 3.6rem; border-radius:.8rem; background:#fff; border:1px solid var(--line-2);
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s; }
.yr-card:hover{ border-color:var(--point); }
.yr-card__no{ font-size:var(--fs-small); font-weight:800; letter-spacing:.14em; color:var(--accent); }
.yr-card__ico{ width:6.4rem; height:6.4rem; margin:1.4rem 0 2rem; border-radius:.8rem; display:flex; align-items:center; justify-content:center; color:#fff;
  background:var(--point-soft); color:var(--point); }
.yr-card__ico svg{ width:3.2rem; height:3.2rem; }
.yr-card__ico--orange{ background:var(--accent-soft); color:var(--accent); }
.yr-card__tit{ font-size:var(--fs-h2); font-weight:700; color:var(--tit); margin:0 0 1rem; line-height:1.4; }
.yr-card__desc{ font-size:var(--fs-body); line-height:1.75; color:var(--body); margin:0; }
.yr-card__more{ display:inline-flex; align-items:center; gap:.6rem; margin-top:1.8rem; font-size:var(--fs-small); font-weight:700; color:var(--point); }
.yr-card__more svg{ width:1.6rem; height:1.6rem; }
/* 사진 카드(참여안내형: 사진 + 제목 + 설명 + 더보기) */
.yr-card--photo{ padding:0; overflow:hidden; display:flex; flex-direction:column; }
.yr-card--photo .yr-card__img{ aspect-ratio:4/3; overflow:hidden; background:var(--soft); }
.yr-card--photo .yr-card__img img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s var(--ease); }
.yr-card--photo:hover .yr-card__img img{ transform:scale(1.04); }
.yr-card--photo .yr-card__body{ padding:2.6rem 2.8rem 3rem; display:flex; flex-direction:column; flex:1; }
.yr-card--photo .yr-card__more{ margin-top:auto; padding-top:1.8rem; }

/* STEP 카드 */
.yr-steps{ display:grid; gap:2.4rem; grid-template-columns:repeat(3,1fr); }
.yr-steps--4{ grid-template-columns:repeat(4,1fr); }
.yr-steps--2{ grid-template-columns:repeat(2,1fr); }
.yr-step{ display:flex; flex-direction:column; padding:2.6rem 2.8rem 3.2rem; border-radius:.8rem; text-decoration:none;
  background:#fff; border:1px solid var(--line); transition:background .3s, border-color .3s; }
.yr-step:hover{ background:var(--soft-2); border-color:var(--point); }
.yr-step__top{ display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:2rem; min-height:3.8rem; }
.yr-step__label{ font-size:var(--fs-small); font-weight:700; color:var(--point-2); }
.yr-step__arrow{ width:3.8rem; height:3.8rem; border-radius:50%; display:flex; align-items:center; justify-content:center; flex-shrink:0; border:1px solid rgba(60,110,20,.24); color:var(--tit); }
.yr-step__arrow svg{ width:1.6rem; height:1.6rem; }
.yr-step__pill{ display:none; align-items:center; gap:.7rem; height:3.8rem; padding:0 1.5rem; border-radius:999px; flex-shrink:0; background:var(--point); color:#fff; font-size:var(--fs-small); font-weight:700; white-space:nowrap; }
.yr-step__pill svg{ width:1.4rem; height:1.4rem; }
.yr-step:hover .yr-step__arrow{ display:none; }
.yr-step:hover .yr-step__pill{ display:inline-flex; }
.yr-step__ico{ width:6rem; height:6rem; border-radius:.8rem; display:flex; align-items:center; justify-content:center; margin-bottom:.8rem; color:var(--point);
  background:var(--point-soft); }
.yr-step__ico svg{ width:3.2rem; height:3.2rem; }
.yr-step__tit{ margin:2rem 0 1rem; font-size:var(--fs-h2); font-weight:700; color:var(--tit); line-height:1.4; }
.yr-step__desc{ font-size:var(--fs-body); line-height:1.72; color:var(--body); margin:0; }

/* 에디토리얼 분할(미디어 + 텍스트) */
.yr-split{ display:grid; grid-template-columns:1fr 1fr; gap:4.4rem; align-items:center; }
.yr-split--flip .yr-split__media{ order:2; }
.yr-split--media-sm{ grid-template-columns:.8fr 1.2fr; }
.yr-split__media{ border-radius:.8rem; overflow:hidden; background:var(--soft); }
.yr-split__media img{ display:block; width:100%; height:100%; object-fit:cover; }
.yr-split__media--plain{ border-radius:0; background:transparent; text-align:center; }
.yr-split__media--plain img{ width:auto; max-width:100%; height:auto; display:inline-block; }
.yr-split__eye{ display:inline-block; font-size:var(--fs-small); font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:var(--point); margin-bottom:1.2rem; }
.yr-split__tit{ font-size:var(--fs-h2); font-weight:800; line-height:1.35; letter-spacing:-0.02em; color:var(--tit); margin:0 0 1.8rem; }
.yr-split__tit .accent{ color:var(--point); }
.yr-split__body{ font-size:var(--fs-body); line-height:1.85; color:var(--body); }
.yr-split__body p{ margin:0 0 1.6rem; } .yr-split__body p:last-child{ margin-bottom:0; }
.yr-split__body strong{ color:var(--point-2); font-weight:700; }
.yr-split__body .sign{ text-align:right; font-weight:800; color:var(--tit); }

/* 피처 로우(아이콘 + 텍스트) */
.yr-feats{ display:grid; grid-template-columns:repeat(2,1fr); gap:2.2rem; }
.yr-feats--3{ grid-template-columns:repeat(3,1fr); }
.yr-feat{ display:flex; gap:2rem; align-items:flex-start; padding:2.8rem 3rem; border-radius:.8rem; background:#fff; border:1px solid var(--line); transition:transform .25s var(--ease), box-shadow .25s; }
.yr-feat:hover{ border-color:var(--point); }
.yr-feat__ico{ flex-shrink:0; width:5.6rem; height:5.6rem; border-radius:.8rem; display:flex; align-items:center; justify-content:center; color:var(--point); background:var(--point-soft); }
.yr-feat__ico--orange{ background:var(--accent-soft); color:var(--accent); }
.yr-feat__ico svg{ width:2.8rem; height:2.8rem; }
.yr-feat__tit{ font-size:var(--fs-h2); font-weight:700; color:var(--tit); margin:0 0 .6rem; line-height:1.3; }
.yr-feat__desc{ font-size:var(--fs-body); line-height:1.7; color:var(--body); margin:0; }
.yr-feat__desc a{ color:var(--point); font-weight:700; }

/* 스탯 스트립 */
.yr-stats{ display:grid; grid-template-columns:repeat(4,1fr); border-radius:.8rem; overflow:hidden; border:1px solid var(--line-2); background:#fff; }
.yr-stat{ padding:3.4rem 2rem; text-align:center; position:relative; }
.yr-stat + .yr-stat::before{ content:""; position:absolute; left:0; top:50%; transform:translateY(-50%); width:1px; height:5.2rem; background:var(--line); }
.yr-stat__num{ font-size:var(--fs-h1); font-weight:800; line-height:1; color:var(--point); }
.yr-stat__num small{ font-size:var(--fs-h2); font-weight:800; }
.yr-stat__lab{ margin-top:1.2rem; font-size:var(--fs-small); color:var(--muted); }

/* 타임라인(연혁) */
.yr-timeline{ position:relative; max-width:96rem; margin:0 auto; }
.yr-timeline::before{ content:""; position:absolute; left:calc(18% - 1px); top:6px; bottom:6px; width:2px; background:var(--line); }
.yr-tl{ position:relative; display:grid; grid-template-columns:18% 1fr; gap:3rem; padding-bottom:3.2rem; }
.yr-tl:last-child{ padding-bottom:0; }
.yr-tl__year{ text-align:right; font-size:var(--fs-h2); font-weight:800; color:var(--point); line-height:1.1; padding:.4rem 2.4rem 0 0; }
.yr-tl__body{ position:relative; padding-left:3.4rem; }
.yr-tl__body::before{ content:""; position:absolute; left:calc(-3rem - .7rem); top:10px; width:1.4rem; height:1.4rem; border-radius:50%; background:var(--point); box-shadow:0 0 0 3px #fff; } /* 중심 = 컬럼 경계(18%) = 세로 라인 */
.yr-tl__card{ background:#fff; border:1px solid var(--line-2); border-radius:.8rem; padding:2rem 2.6rem; }
.yr-tl__row{ font-size:var(--fs-body); line-height:1.7; color:var(--body); display:flex; gap:1.2rem; align-items:flex-start; }
.yr-tl__row + .yr-tl__row{ margin-top:.6rem; }
.yr-tl__row b{ flex:0 0 auto; min-width:3.4rem; color:var(--accent); font-weight:800; }

@media (max-width:1024px){
  .yr-section{ margin-top:7.2rem; }
  .yr-cards,.yr-cards--4,.yr-steps,.yr-steps--4,.yr-feats--3{ grid-template-columns:repeat(2,1fr); }
  .yr-split,.yr-split--media-sm{ grid-template-columns:1fr; gap:2.6rem; } .yr-split--flip .yr-split__media{ order:0; }
  .yr-stats{ grid-template-columns:repeat(2,1fr); }
  .yr-stat:nth-child(2n+1)::before{ display:none; }
}
@media (max-width:640px){
  .yr-hero{ padding:5.2rem 2.4rem; } .yr-hero__tit{ font-size:2.4rem; }
  .yr-cards,.yr-cards--2,.yr-cards--4,.yr-steps,.yr-steps--2,.yr-steps--4,.yr-feats,.yr-feats--3{ grid-template-columns:1fr; }
  .yr-step__pill{ display:inline-flex; } .yr-step__arrow{ display:none; }
  .yr-timeline::before{ left:7px; } .yr-tl{ grid-template-columns:1fr; gap:.6rem; }
  .yr-tl__year{ text-align:left; padding:0 0 0 3.4rem; } .yr-tl__body{ padding-left:3.4rem; } .yr-tl__body::before{ left:0; }
  .yr-stats{ grid-template-columns:1fr; } .yr-stat + .yr-stat::before{ display:none; } .yr-stat{ border-top:1px solid var(--line); }
}

/* ── 5. MS 콘텐츠 컴포넌트 (원본 통이미지 패턴 재현, ms- 프리픽스) ── */
/* 5-1 라벨 헤딩: 컬러 박스 라벨 + 우측 가는 선 (원본 "지원배경/일정/대상/상세정보" 스타일) */
/* 심플화(8/28): 컬러 채움 박스 → 진한 텍스트 + 좌측 컬러 바 + 회색 헤어라인 */
.ms-h{ position:relative; display:flex; align-items:center; gap:2rem; margin:0 0 2.4rem; }
.ms-h__lab{ display:inline-block; padding:.1rem 0 .1rem 1.4rem; font-size:var(--fs-h2); font-weight:700; color:var(--tit); border-left:4px solid var(--point); line-height:1.3; }
.ms-h::after{ content:""; flex:1; height:1px; background:var(--line); }
.ms-h--orange .ms-h__lab{ border-color:var(--accent); }
.ms-h--blue .ms-h__lab{ border-color:var(--c-blue); }
.ms-h--yellow .ms-h__lab{ border-color:var(--c-yellow); }
.ms-h--pink .ms-h__lab{ border-color:var(--c-pink); }
.ms-h--teal .ms-h__lab{ border-color:var(--c-teal); }
.ms-h--purple .ms-h__lab{ border-color:var(--c-purple); }
.ms-h--red .ms-h__lab{ border-color:var(--c-red); }
/* 5-1b 컬러 텍스트 소제목 + 밑선 (원본 주요사역 "영양개선 및 복지 지원 ─●" 스타일) */
/* 심플화(8/28): 컬러 텍스트+점 → 진한 텍스트 + 좌측 짧은 컬러 언더바 */
.ms-sub{ position:relative; margin:0 0 1.6rem; padding-bottom:1rem; font-size:var(--fs-h2); font-weight:700; color:var(--tit); border-bottom:1px solid var(--line); }
.ms-sub::after{ content:""; position:absolute; left:0; bottom:-1px; width:3.2rem; height:2px; background:var(--accent); }
.ms-sub--green::after{ background:var(--point); }
.ms-sub--blue::after{ background:var(--c-blue); }
.ms-sub--pink::after{ background:var(--c-pink); }
.ms-sub--purple::after{ background:var(--c-purple); }
.ms-sub--red::after{ background:var(--c-red); }
.ms-sub--teal::after{ background:var(--c-teal); }

/* 5-2 센터 리드(아이콘 + 큰 문장 + 보조문) — 원본 "통일을 준비하는 다양한 프로그램과 교육 안내입니다" */
.ms-lead{ text-align:center; max-width:86rem; margin:0 auto; }
.ms-lead__ico{ display:flex; justify-content:center; gap:2.4rem; margin-bottom:2.4rem; color:var(--accent); }
.ms-lead__ico svg{ width:6rem; height:6rem; }
.ms-lead__ico .alt{ color:var(--c-blue); }
.ms-lead__tit{ font-size:var(--fs-h2); font-weight:700; line-height:1.5; color:var(--tit); margin:0; }
.ms-lead__tit .u{ color:var(--accent); text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:.4rem; }
.ms-lead__tit .u-green{ color:var(--point); text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:.4rem; }
.ms-lead__tit .u-pink{ color:var(--c-pink); text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:.4rem; }
.ms-lead__sub{ margin:1.6rem auto 0; font-size:var(--fs-body); line-height:1.8; color:var(--body); }
.ms-lead__sub p + p{ margin-top:1rem; }
.ms-lead__down{ display:block; width:2.4rem; height:2.4rem; margin:2.4rem auto 0; color:var(--accent); }
.ms-lead__down svg{ width:100%; height:100%; }

/* 5-3 번호 리스트(설립목적형: 큰 컬러 숫자 + 라벨 태그 + 본문 + 우측 일러스트) */
.ms-num{ display:grid; gap:3.2rem; }
.ms-num__item{ position:relative; display:grid; grid-template-columns:8rem 1fr auto; gap:1.6rem 2rem; align-items:end; padding-bottom:2rem; border-bottom:1px solid var(--line); }
.ms-num__no{ font-size:5.6rem; font-weight:800; line-height:.9; color:var(--point); letter-spacing:-0.05em; } /* 번호 색 단일화(8/28) */
.ms-num__text{ padding-bottom:.4rem; }
.ms-num__lab{ display:inline-block; margin-bottom:.6rem; font-size:var(--fs-h2); font-weight:700; color:var(--tit); }
.ms-num__desc{ font-size:var(--fs-body); line-height:1.7; color:var(--body); margin:0; }
.ms-num__fig{ grid-row:1; grid-column:3; align-self:end; }
.ms-num__fig img{ display:block; width:auto; max-height:12rem; }
/* 5-3b 순번 목록(아카데미 목적 "01. 02." / 제1기~ 형) */
.ms-ol{ display:grid; gap:1.2rem; margin:0; padding:0; }
.ms-ol li{ display:flex; align-items:baseline; gap:1.4rem; font-size:var(--fs-body); line-height:1.6; color:var(--body); }
.ms-ol li b{ flex:0 0 auto; min-width:4.6rem; font-size:var(--fs-h2); font-weight:800; color:var(--c-blue); line-height:1.2; }
.ms-ol--green li b{ color:var(--point); } .ms-ol--orange li b{ color:var(--accent); } .ms-ol--dark li b{ color:var(--tit); font-size:var(--fs-body); }

/* 5-4 불릿 리스트(컬러 도트) / 대시 리스트 */
.ms-list{ margin:0; padding:0; }
.ms-list li{ position:relative; padding-left:1.8rem; font-size:var(--fs-body); line-height:1.75; color:var(--body); }
.ms-list li + li{ margin-top:.6rem; }
.ms-list li::before{ content:""; position:absolute; left:0; top:1.05rem; width:.7rem; height:.7rem; border-radius:50%; background:var(--accent); }
.ms-list--green li::before{ background:var(--point); } .ms-list--blue li::before{ background:var(--c-blue); } .ms-list--pink li::before{ background:var(--c-pink); }
.ms-list li strong{ color:var(--tit); font-weight:700; }
.ms-list li .sub{ display:block; font-size:var(--fs-small); color:var(--muted); margin-top:.3rem; line-height:1.7; }
.ms-list--dash li::before{ content:"–"; width:auto; height:auto; top:0; background:none; color:var(--muted); }
.ms-list--dash li{ padding-left:1.6rem; }
.ms-list--dash li strong{ display:block; font-size:var(--fs-body); }
.ms-list--dash li p{ margin:0; font-size:var(--fs-small); color:var(--muted); line-height:1.7; }

/* 5-5 정의 목록(연락처/주소) */
.ms-dl{ display:grid; grid-template-columns:auto 1fr; gap:.8rem 1.6rem; margin:0; }
.ms-dl dt{ font-weight:700; color:var(--tit); font-size:var(--fs-body); }
.ms-dl dd{ font-size:var(--fs-body); color:var(--body); }
.ms-dl dd a{ color:var(--point); font-weight:700; }

/* 5-6 CTA 버튼 그룹(정기후원/일시후원/해피빈 콩기부) */
.ms-cta{ display:flex; flex-wrap:wrap; gap:1rem; align-items:center; }
.ms-cta--center{ justify-content:center; }
.ms-btn{ display:inline-flex; align-items:center; justify-content:center; gap:.8rem; min-width:12.8rem; height:4.6rem; padding:0 2.2rem; border-radius:.6rem; font-size:var(--fs-small); font-weight:700;
  border:1px solid var(--line); background:#fff; color:var(--body); transition:transform .2s var(--ease), background .2s, color .2s, border-color .2s, box-shadow .2s; }
.ms-btn:hover{ border-color:var(--tit); color:var(--tit); }
.ms-btn--solid{ background:var(--point); border-color:var(--point); color:#fff; }
.ms-btn--solid:hover{ background:var(--point-2); color:#fff; }
.ms-btn--orange{ background:var(--accent); border-color:var(--accent); color:#fff; }
.ms-btn--orange:hover{ background:#d95e15; border-color:#d95e15; color:#fff; }
.ms-btn--lg{ height:5.6rem; padding:0 3.2rem; font-size:var(--fs-body); }
.ms-btn svg{ width:1.6rem; height:1.6rem; }

/* 5-7 포토 배너(TWO운동형: 사진 배경 + 중앙 흰 텍스트) */
.ms-banner{ position:relative; overflow:hidden; border-radius:.8rem; min-height:28rem; display:flex; align-items:center; justify-content:center; text-align:center; color:#fff; background:var(--dark); }
.ms-banner img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.85; }
.ms-banner::before{ content:""; position:absolute; inset:0; background:rgba(0,0,0,.38); }
.ms-banner__body{ position:relative; padding:5rem 3rem; }
.ms-banner__tit{ font-size:var(--fs-h1); font-weight:800; line-height:1.25; margin:0; }
.ms-banner__sub{ margin:1.2rem 0 0; font-size:var(--fs-h2); font-weight:500; opacity:.95; }
.ms-banner__meta{ margin:1.4rem 0 0; font-size:var(--fs-body); opacity:.9; }

/* 5-8 표(반응형 가로 스크롤) */
.ms-table{ overflow-x:auto; border-top:1px solid var(--tit); border-bottom:1px solid var(--line); }
.ms-table table{ width:100%; min-width:64rem; font-size:var(--fs-small); color:var(--body); }
.ms-table th, .ms-table td{ padding:1.2rem 1.6rem; border-bottom:1px solid var(--line-2); text-align:center; vertical-align:middle; line-height:1.55; }
.ms-table th{ background:var(--soft); color:var(--tit); font-weight:700; }
.ms-table thead th{ background:#fff; color:var(--tit); border-bottom:1px solid var(--line); }
.ms-table td.l, .ms-table th.l{ text-align:left; } .ms-table td.r{ text-align:right; }
.ms-table tbody tr:last-child td{ border-bottom:0; }
.ms-table tr.sum td{ background:var(--soft-2); font-weight:800; color:var(--tit); }
.ms-table__cap{ margin:0 0 1rem; font-size:var(--fs-small); color:var(--muted); text-align:right; }

/* 5-9 문서 이미지(스캔·결산표 등 텍스트 추출 부적합 자료) + 연도 서브탭 */
.ms-doc{ background:var(--soft-2); border:1px solid var(--line-2); border-radius:.8rem; padding:2.4rem; }
.ms-doc img{ display:block; margin:0 auto; width:auto; max-width:100%; }
.ms-doc img + img{ margin-top:2.4rem; }
.ms-doc__cap{ margin:0 0 1.4rem; font-size:var(--fs-small); color:var(--muted); text-align:center; }
.ms-subtabs{ display:flex; flex-wrap:wrap; justify-content:center; gap:0 2.6rem; margin:0 auto 3.6rem; border-bottom:1px solid var(--line); }
.ms-subtabs button{ appearance:none; border:0; background:transparent; margin:0 0 -1px; padding:1.2rem .4rem; position:relative; font-family:inherit; font-size:var(--fs-body); font-weight:600; color:var(--muted); cursor:pointer; transition:color .2s; white-space:nowrap; }
.ms-subtabs button::after{ content:''; position:absolute; left:0; right:0; bottom:0; height:2px; background:var(--point); transform:scaleX(0); transform-origin:left; transition:transform .25s var(--ease); }
.ms-subtabs button:hover{ color:var(--point); }
.ms-subtabs button.is-active{ color:var(--tit); font-weight:800; }
.ms-subtabs button.is-active::after{ transform:scaleX(1); }
.ms-panel{ display:none; } .ms-panel.is-active{ display:block; }

/* 5-10 노트/콜아웃, 박스 */
.ms-note{ padding:2.2rem 2.6rem; border-radius:.8rem; background:var(--soft); border:1px solid var(--line-2); font-size:var(--fs-body); line-height:1.8; color:var(--body); }
.ms-note--orange{ background:var(--accent-soft); border-color:#ffd9c2; }
.ms-note strong{ color:var(--point-2); }
.ms-note--orange strong{ color:var(--accent); }
.ms-box{ padding:3rem 3.2rem; border-radius:.8rem; background:#fff; border:1px solid var(--line-2); }
.ms-box__tit{ font-size:var(--fs-h2); font-weight:700; color:var(--tit); margin:0 0 1.2rem; }

/* 5-11 사진·피겨(그림자 금지), 갤러리 그리드 */
.ms-photo{ text-align:center; }
.ms-photo img{ display:inline-block; width:auto; max-width:100%; border-radius:.8rem; }
.ms-photo--round img{ border-radius:50%; }
.ms-figure{ margin:0; }
.ms-figure img{ display:block; width:100%; border-radius:.8rem; }
.ms-figure figcaption{ margin-top:1rem; font-size:var(--fs-small); color:var(--muted); text-align:center; }
.ms-grid{ display:grid; gap:2rem; grid-template-columns:repeat(3,1fr); }
.ms-grid--2{ grid-template-columns:repeat(2,1fr); } .ms-grid--4{ grid-template-columns:repeat(4,1fr); }
.ms-grid img{ display:block; width:100%; border-radius:.8rem; aspect-ratio:4/3; object-fit:cover; }
/* 5-12 2·3단 컬럼(텍스트 블록 나열) */
.ms-cols{ display:grid; gap:3.2rem 4rem; grid-template-columns:repeat(2,1fr); align-items:start; }
.ms-cols--3{ grid-template-columns:repeat(3,1fr); }
.ms-cols--side{ grid-template-columns:1fr 32rem; }
/* 5-13 지도 */
.ms-map{ border:1px solid var(--line-2); border-radius:.8rem; overflow:hidden; }
.ms-map iframe{ display:block; width:100%; height:44rem; border:0; }
/* 5-14 본문 텍스트 블록 */
.ms-text{ font-size:var(--fs-body); line-height:1.85; color:var(--body); }
.ms-text p + p{ margin-top:1.4rem; }
.ms-text strong{ color:var(--tit); font-weight:700; }
.ms-text .hl{ color:var(--accent); font-weight:700; }
.ms-text .hl-green{ color:var(--point); font-weight:700; }
.ms-text .hl-pink{ color:var(--c-pink); font-weight:700; }
.ms-text .hl-blue{ color:var(--c-blue); font-weight:700; }
.ms-text--center{ text-align:center; }
.ms-text--lg{ font-size:var(--fs-h2); font-weight:700; color:var(--tit); line-height:1.5; }
.ms-divider{ border:0; border-top:1px solid var(--line); margin:5.6rem 0; }

@media (max-width:1024px){
  .ms-cols--3{ grid-template-columns:repeat(2,1fr); } .ms-cols--side{ grid-template-columns:1fr; }
  .ms-grid--4{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:768px){
  .ms-num__item{ grid-template-columns:6rem 1fr; }
  .ms-num__fig{ grid-column:1 / -1; grid-row:auto; justify-self:end; }
  .ms-num__no{ font-size:5rem; }
  .ms-cols, .ms-cols--3, .ms-grid, .ms-grid--2{ grid-template-columns:1fr; }
  .ms-map iframe{ height:32rem; }
  .ms-banner{ min-height:22rem; border-radius:.8rem; }
  .ms-dl{ grid-template-columns:1fr; gap:.2rem; } .ms-dl dd{ margin-bottom:.8rem; }
  .ms-subtabs{ gap:0 1.6rem; }
}
@media (max-width:480px){
  .ms-h__lab{ font-size:var(--fs-body); }
  .ms-grid--4{ grid-template-columns:1fr; }
  .ms-btn{ min-width:0; flex:1 1 auto; }
}

/* ── 6. 메인(index) — 심플 레이아웃(2026-08-28): 원본 배너 슬라이더 + 라인 그리드, 그라데이션·그림자 배제 ── */
.main-page{ flex:1 0 auto; }
.main-wrap{ width:var(--container); max-width:100%; margin:0 auto; padding:0 3rem; }
.main-eye{ display:inline-block; font-size:var(--fs-small); font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:var(--point); margin-bottom:1.2rem; }

/* 6-0 메인 전용 평면 버튼 */
.main-btn{ display:inline-flex; align-items:center; justify-content:center; gap:.8rem; height:5.2rem; padding:0 2.6rem; border:1px solid var(--line); border-radius:.6rem;
  background:#fff; color:var(--tit); font-size:var(--fs-small); font-weight:700; text-decoration:none; white-space:nowrap; transition:border-color .2s, background .2s, color .2s; }
.main-btn svg{ width:1.6rem; height:1.6rem; transition:transform .25s var(--ease); }
.main-btn:hover{ border-color:var(--tit); }
.main-btn:hover svg{ transform:translateX(3px); }
.main-btn--solid{ background:var(--point); border-color:var(--point); color:#fff; }
.main-btn--solid:hover{ background:var(--point-2); border-color:var(--point-2); }
.main-btn--accent{ background:var(--accent); border-color:var(--accent); color:#fff; }
.main-btn--accent:hover{ background:#d95e15; border-color:#d95e15; }
.main-btn--text{ border-color:transparent; background:transparent; color:var(--point-2); padding:0 1rem; }
.main-btn--text:hover{ border-color:transparent; color:var(--point); }

/* 6-1 배너 슬라이더 — 풀블리드, 원본 2000×551 비율 유지(≤640px 는 800×500 판) */
.main-slider{ position:relative; width:100%; overflow:hidden; background:var(--surface); }
.main-slider__track{ position:relative; width:100%; aspect-ratio:2000 / 551; min-height:36rem; max-height:56rem; }
.main-slider__slide{ position:absolute; inset:0; opacity:0; visibility:hidden; transition:opacity .9s var(--ease), visibility 0s .9s; }
.main-slider__slide.is-active{ opacity:1; visibility:visible; z-index:1; transition:opacity .9s var(--ease), visibility 0s; }
.main-slider__slide a, .main-slider__slide picture, .main-slider__slide img{ display:block; width:100%; height:100%; }
.main-slider__slide img{ object-fit:cover; object-position:center; }
.main-slider__bar{ position:absolute; left:0; right:0; bottom:2rem; z-index:2; padding:0 3rem; display:flex; justify-content:center; pointer-events:none; } /* 컨트롤 화면 중앙 */
.main-slider__ctrl{ display:flex; align-items:center; gap:.4rem; padding:.5rem .8rem; border-radius:999px; pointer-events:auto;
  background:rgba(20,28,16,.38); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); }
.main-slider__btn, .main-slider__play{ display:inline-flex; align-items:center; justify-content:center; width:3.2rem; height:3.2rem; padding:0; border:0; border-radius:50%; background:transparent; color:#fff; cursor:pointer; transition:background .2s; }
.main-slider__btn:hover, .main-slider__play:hover{ background:rgba(255,255,255,.18); }
.main-slider__btn svg, .main-slider__play svg{ width:1.6rem; height:1.6rem; }
.main-slider__play svg{ width:1.3rem; height:1.3rem; }
.main-slider__dots{ display:flex; align-items:center; gap:.8rem; padding:0 .6rem; }
.main-slider__dot{ display:block; width:.8rem; height:.8rem; padding:0; border:0; border-radius:.4rem; background:rgba(255,255,255,.55); cursor:pointer; transition:width .25s var(--ease), background .2s; }
.main-slider__dot.is-active{ width:2.4rem; background:#fff; }
.main-slider__play .i-pause, .main-slider__play .i-play{ display:none; }
.main-slider__play.is-playing .i-pause{ display:block; }
.main-slider__play:not(.is-playing) .i-play{ display:block; }
.main-slider.is-single .main-slider__ctrl{ display:none; }
.main-slider__btn:focus-visible, .main-slider__dot:focus-visible, .main-slider__play:focus-visible{ outline:2px solid #fff; outline-offset:2px; }
@media (prefers-reduced-motion:reduce){ .main-slider__slide{ transition:none; } }

/* 6-2 소개 리드 */
.main-intro{ padding:8rem 3rem 0; text-align:center; }
.main-intro__tit{ margin:0; font-size:var(--fs-h1); font-weight:800; line-height:1.3; letter-spacing:-0.03em; color:var(--tit); }
.main-intro__tit em{ color:var(--point); }
.main-intro__desc{ max-width:82rem; margin:2rem auto 0; font-size:var(--fs-body); line-height:1.85; color:var(--body); }
.main-intro__act{ margin-top:3.2rem; display:flex; justify-content:center; gap:1rem; flex-wrap:wrap; }

/* 6-3 4대 메뉴 — 라인 그리드(카드 배경·그림자 없음) */
.main-menus{ padding-top:7.2rem; }
.main-menus__list{ display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--tit); border-bottom:1px solid var(--line); }
.main-menus__item + .main-menus__item{ border-left:1px solid var(--line); }
.main-menu{ display:flex; flex-direction:column; height:100%; padding:3.2rem 2.8rem 3.4rem; text-decoration:none; color:inherit; transition:background .25s; }
.main-menu:hover{ background:var(--soft-2); }
.main-menu__ico{ display:block; width:3.6rem; height:3.6rem; color:var(--point); margin-bottom:2.4rem; }
.main-menu__ico svg{ width:100%; height:100%; }
.main-menu__tit{ margin:0 0 1rem; font-size:var(--fs-h2); font-weight:700; color:var(--tit); line-height:1.3; transition:color .2s; }
.main-menu:hover .main-menu__tit{ color:var(--point); }
.main-menu__desc{ margin:0; font-size:var(--fs-small); line-height:1.75; color:var(--muted); }
.main-menu__more{ display:inline-flex; align-items:center; gap:.6rem; margin-top:auto; padding-top:2.4rem; font-size:var(--fs-small); font-weight:700; color:var(--tit); }
.main-menu__more svg{ width:1.6rem; height:1.6rem; transition:transform .25s var(--ease); }
.main-menu:hover .main-menu__more svg{ transform:translateX(4px); }

/* 6-4 사진 배너(원본 800×500 위젯 배너, 그림자 없음) */
.main-photos{ padding-top:7.2rem; }
.main-photos__grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:2.4rem; }
.main-photo{ display:block; text-decoration:none; color:inherit; }
.main-photo__img{ display:block; overflow:hidden; border-radius:.8rem; aspect-ratio:8 / 5; background:var(--surface); }
.main-photo__img img{ display:block; width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease); }
.main-photo:hover .main-photo__img img{ transform:scale(1.03); }
.main-photo__cap{ display:flex; flex-direction:column; gap:.4rem; padding:1.8rem .2rem 0; }
.main-photo__eye{ font-size:var(--fs-small); font-weight:700; letter-spacing:.08em; color:var(--point); }
.main-photo__tit{ display:inline-flex; align-items:center; gap:.8rem; font-size:var(--fs-h2); font-weight:700; color:var(--tit); line-height:1.3; }
.main-photo__tit svg{ width:2rem; height:2rem; transition:transform .25s var(--ease); }
.main-photo:hover .main-photo__tit svg{ transform:translateX(4px); }

/* 6-5 후원 CTA — 배경 밴드 없이 상단 룰(::before) + 계좌 블록 오렌지 세로 액센트 */
.main-support{ margin-top:8rem; padding:0 0 9.6rem; }
.main-support__inner{ display:grid; grid-template-columns:1.1fr .9fr; gap:6rem 4.8rem; align-items:start; }
.main-support__inner::before{ content:""; grid-column:1 / -1; border-top:1px solid var(--tit); }
.main-support__tit{ margin:0; font-size:var(--fs-h1); font-weight:800; line-height:1.3; letter-spacing:-0.03em; color:var(--tit); }
.main-support__desc{ margin:1.6rem 0 0; font-size:var(--fs-body); line-height:1.8; color:var(--body); }
.main-support__box{ padding:.4rem 0 .4rem 3.2rem; border-left:3px solid var(--accent); }
.main-support__acct{ display:flex; flex-direction:column; gap:.6rem; padding-bottom:2.4rem; margin-bottom:2.4rem; border-bottom:1px solid var(--line-2); }
.main-support__acct dt{ font-size:var(--fs-small); font-weight:700; letter-spacing:.08em; color:var(--accent); }
.main-support__acct dd{ margin:0; display:flex; flex-direction:column; gap:.2rem; }
.main-support__acct dd strong{ font-size:var(--fs-h2); font-weight:800; color:var(--tit); letter-spacing:-0.01em; }
.main-support__acct dd span{ font-size:var(--fs-small); color:var(--muted); }
.main-support__act{ display:flex; flex-wrap:wrap; gap:1rem; align-items:center; }

@media (max-width:1024px){
  .main-menus__list{ grid-template-columns:repeat(2,1fr); }
  .main-menus__item:nth-child(2n+1){ border-left:0; }
  .main-menus__item:nth-child(n+3){ border-top:1px solid var(--line); }
  .main-support__inner{ grid-template-columns:1fr; gap:4rem 3.2rem; }
}
@media (max-width:640px){
  .main-slider__track{ aspect-ratio:8 / 5; min-height:0; }
  .main-slider__bar{ bottom:1.2rem; padding:0 1.6rem; }
  .main-slider__btn{ display:none; } /* 모바일: 스와이프 + 점 */
  .main-wrap, .main-intro{ padding-left:1.6rem; padding-right:1.6rem; }
  .main-intro{ padding-top:5.6rem; }
  .main-intro__tit, .main-support__tit{ font-size:var(--fs-h2); }
  .main-menus, .main-photos{ padding-top:5.6rem; }
  .main-menus__list{ grid-template-columns:1fr; }
  .main-menus__item + .main-menus__item{ border-left:0; border-top:1px solid var(--line); }
  .main-menu{ padding:2.6rem .4rem 2.8rem; }
  .main-photos__grid{ grid-template-columns:1fr; gap:3.2rem; }
  .main-support{ margin-top:5.6rem; padding:0 0 6.4rem; }
  .main-support__box{ padding:.2rem 0 .2rem 2rem; }
  .main-support__acct dd strong{ font-size:var(--fs-body); white-space:nowrap; } /* 계좌번호 중간 줄바꿈 방지 */
  .main-support__act .main-btn:not(.main-btn--text){ flex:1 1 auto; }
}

/* 모바일: 원본 줄바꿈용 <br>는 좁은 화면에서 어색하므로 숨김(.br-keep 은 유지) */
@media (max-width:640px){
  .yr-split__body br:not(.br-keep), .ms-text br:not(.br-keep), .ms-lead__tit br:not(.br-keep), .ms-lead__sub br:not(.br-keep),
  .ms-num__desc br:not(.br-keep), .yr-card__desc br:not(.br-keep), .yr-feat__desc br:not(.br-keep), .ms-note br:not(.br-keep), .yr-hero__sub br:not(.br-keep), .main-intro__desc br:not(.br-keep){ display:none; }
}

/* ── 7. 페이지별 CSS (아래에 페이지 순서대로 append) ────────── */

/* ═══ about 페이지 그룹 ═══ */
/* ── 소개(about) 페이지 그룹 전용 CSS ── */
/* 인사말 */
.greeting-page .yr-split__media--plain img{ max-width:40rem; }
.greeting-page .greeting-page__welcome strong{ color:var(--tit); font-size:var(--fs-body); }

/* 섬기는 이들 — 사진 + 이름 헤딩(밑선·노란 점) + 세로 라벨(약력/현재/역임) */
.people-page .people-card{ display:grid; grid-template-columns:22.5rem 1fr; gap:3.2rem 4.4rem; align-items:start; }
.people-page .people-card__photo img{ width:100%; border-radius:.8rem; }
.people-page .people-card__name{ position:relative; margin:0 0 2.8rem; padding-bottom:1rem; font-size:var(--fs-h2); font-weight:700; color:var(--tit); line-height:1.3; border-bottom:1px solid var(--line); }
.people-page .people-card__role{ font-weight:500; color:var(--body); margin-left:.4rem; }
.people-page .people-card__group{ display:grid; grid-template-columns:5.6rem 1fr; gap:2.4rem; align-items:stretch; }
.people-page .people-card__group + .people-card__group{ margin-top:2.4rem; }
.people-page .people-card__lab{ margin:0; display:flex; align-items:center; justify-content:center; padding:1.6rem 0; border-radius:.6rem;
  background:var(--surface); color:var(--tit); font-size:var(--fs-body); font-weight:700; writing-mode:vertical-rl; text-orientation:upright; letter-spacing:.9em; }
.people-page .people-card__list li{ line-height:1.7; } .people-page .people-card__list li + li{ margin-top:.3rem; }
.people-page .people-card__dl{ grid-template-columns:24rem 1fr; gap:.3rem 0; }
.people-page .people-card__dl dt{ position:relative; padding-left:1.6rem; font-weight:400; color:var(--body); line-height:1.7; }
.people-page .people-card__dl dt::before{ content:"–"; position:absolute; left:0; color:var(--muted); }
.people-page .people-card__dl dd{ padding-left:1.8rem; border-left:1px solid var(--tit); line-height:1.7; }
@media (max-width:768px){
  .people-page .people-card{ grid-template-columns:1fr; gap:2.4rem; }
  .people-page .people-card__photo{ text-align:left; } .people-page .people-card__photo img{ width:auto; max-width:22.5rem; }
  .people-page .people-card__group{ grid-template-columns:1fr; gap:1rem; }
  .people-page .people-card__lab{ writing-mode:horizontal-tb; letter-spacing:.2em; justify-self:start; padding:.3rem 1.4rem; }
  .people-page .people-card__dl{ grid-template-columns:1fr; gap:.2rem 0; }
  .people-page .people-card__dl dd{ border-left:0; padding-left:1.6rem; margin-bottom:.8rem; color:var(--tit); }
}

/* 설립목적 — .ms-num 공통 컴포넌트 사용, 간격만 조정 */
.purpose-page .purpose-page__list{ gap:4rem; padding:0; }
.purpose-page .ms-num__lab{ font-size:var(--fs-h2); }
.purpose-page .ms-num__fig img{ max-height:12rem; }

/* 주요연혁 — 좌 사진 스트립 + 우 타임라인 */
.history-page .history-layout{ display:grid; grid-template-columns:26.6rem 1fr; gap:4.8rem; align-items:start; }
.history-page .history-photos{ display:grid; gap:1.2rem; }
.history-page .history-photos img{ display:block; width:100%; border-radius:.8rem; }
.history-page .yr-timeline{ max-width:none; }
@media (max-width:1024px){
  .history-page .history-layout{ grid-template-columns:1fr; gap:3.2rem; }
  .history-page .history-photos{ grid-template-columns:repeat(3,1fr); }
  .history-page .history-photos img{ aspect-ratio:3/4; object-fit:cover; }
}
@media (max-width:480px){ .history-page .history-photos{ grid-template-columns:repeat(2,1fr); gap:.8rem; } }

/* 재정보고 — 기본사항 텍스트 + 연도탭 문서 이미지 */
.finance-page .finance-page__basic{ padding:0 1.2rem; }
.finance-page .finance-page__corp{ margin:0 0 1.8rem; font-size:var(--fs-body); color:var(--body); }
.finance-page .finance-page__corp-lab{ color:var(--muted); }
.finance-page .finance-page__corp strong{ font-size:var(--fs-h2); font-weight:700; color:var(--tit); margin-left:.4rem; }
.finance-page .ms-cols{ gap:1.6rem 4rem; }
.finance-page .ms-dl{ gap:.8rem 1.2rem; }
.finance-page .ms-dl dt{ font-weight:500; color:var(--muted); }
.finance-page .ms-dl dt::after{ content:" :"; }
.finance-page .ms-dl dd a{ color:var(--body); font-weight:400; }
.finance-page .finance-page__tabs button{ min-width:7.6rem; }
.finance-page .ms-doc{ background:transparent; border:0; border-radius:0; padding:0; } /* 배경 제거(8/28) */
.finance-page .ms-doc img{ width:100%; } /* 스캔 이미지 너비 통일 */
.finance-page .ms-doc img + img{ margin-top:3.2rem; }
@media (max-width:768px){ .finance-page .finance-page__basic{ padding:0; } }

/* 찾아오시는 길 — 지도 + 상세정보 + 지하철/버스 */
.location-page .yr-feat .ms-list li{ line-height:1.7; } .location-page .yr-feat .ms-list li + li{ margin-top:1rem; }
.location-page .yr-feat .ms-list li strong{ color:var(--tit); }
.location-page .yr-feat .ms-list li a{ color:var(--body); }
.location-page .location-page__lines{ display:grid; grid-template-columns:repeat(3,1fr); gap:2.4rem; margin:0; }
.location-page .location-page__line{ --lc:var(--accent); }
.location-page .location-page__line--2{ --lc:var(--point); }
.location-page .location-page__line--4{ --lc:var(--c-blue); }
.location-page .location-page__line-tit{ display:flex; align-items:center; gap:.6rem; margin:0 0 1.2rem; font-size:var(--fs-h2); font-weight:700; color:var(--lc); line-height:1.2; }
.location-page .location-page__line-no{ display:inline-flex; align-items:center; justify-content:center; width:3.2rem; height:3.2rem; border-radius:50%; background:var(--lc); color:#fff; font-size:var(--fs-body); font-weight:700; }
.location-page .location-page__box{ display:flex; align-items:center; gap:1.8rem; padding:2rem 2.6rem; border:1px solid var(--line); border-radius:.8rem; color:var(--tit); }
.location-page .location-page__box svg{ width:4.2rem; height:4.2rem; flex-shrink:0; color:var(--lc); }
.location-page .location-page__stations{ margin:0; }
.location-page .location-page__stations li{ font-size:var(--fs-body); color:var(--body); line-height:1.7; }
.location-page .location-page__stations li::before{ content:"– "; color:var(--muted); }
.location-page .location-page__bus{ margin:0; border-top:1px solid var(--line); }
.location-page .location-page__stop{ display:grid; grid-template-columns:30rem 1fr; gap:2rem; padding:2.4rem 1.2rem; border-bottom:1px solid var(--line); align-items:start; }
.location-page .location-page__stop-tit{ display:flex; align-items:flex-start; gap:.8rem; margin:0; font-size:var(--fs-body); font-weight:700; color:var(--tit); line-height:1.5; }
.location-page .location-page__stop-tit svg{ width:2.2rem; height:2.2rem; flex-shrink:0; color:var(--c-blue); margin-top:.2rem; }
.location-page .location-page__stop-tit small{ display:block; font-size:var(--fs-body); font-weight:400; color:var(--body); }
.location-page .location-page__routes{ display:grid; gap:1.2rem; margin:0; }
.location-page .location-page__routes li{ display:flex; align-items:center; gap:1.2rem; font-size:var(--fs-body); line-height:1.5; }
.location-page .location-page__routes li svg{ width:2.8rem; height:2.8rem; flex-shrink:0; }
.location-page .location-page__routes li b{ flex:0 0 auto; min-width:3.6rem; font-weight:700; }
.location-page .location-page__routes li span{ color:var(--body); }
.location-page .location-page__routes li.r-trunk{ color:#2c5bd8; }
.location-page .location-page__routes li.r-branch{ color:var(--point); }
.location-page .location-page__routes li.r-express{ color:var(--c-red); }
.location-page .location-page__routes li.r-airport{ color:#6aa9e0; }
.location-page .location-page__routes li.r-loop{ color:var(--c-yellow); }
@media (max-width:1024px){ .location-page .location-page__stop{ grid-template-columns:24rem 1fr; } }
@media (max-width:768px){
  .location-page .location-page__lines{ grid-template-columns:1fr; gap:1.6rem; }
  .location-page .location-page__stop{ grid-template-columns:1fr; gap:1.2rem; padding:2rem .4rem; }
  .location-page .location-page__routes li{ flex-wrap:wrap; }
}

/* ═══ ministry 페이지 그룹 ═══ */
/* ── 사역안내(ministry) 페이지 그룹 전용 CSS ──
   대상: .ministry-page .nutrition-page .medical-page .agriculture-page .mch-page .education-page
   원본 통이미지 공통 패턴: 개요(사진+텍스트) → 캘리그래피 타이틀 리드(아이콘+문장+∨) → 회색 밴드(라벨헤딩 본문 + 우측 사진열) */

/* 개요 분할 */
:is(.nutrition-page,.medical-page,.mch-page,.education-page) .mn-intro .yr-split__media--plain img{ max-width:42rem; }
:is(.nutrition-page,.medical-page,.mch-page,.education-page) .mn-intro .yr-split__tit{ margin-bottom:1.6rem; }
:is(.nutrition-page,.medical-page,.mch-page,.education-page) .mn-intro__sub{ display:block; margin-top:.2rem; font-size:var(--fs-body); font-weight:500; color:var(--tit); letter-spacing:-0.01em; }
:is(.medical-page,.mch-page,.education-page) .mn-intro--right{ grid-template-columns:1.2fr .8fr; }
:is(.medical-page,.mch-page,.education-page) .mn-intro--right .yr-split__text{ text-align:left; } /* 8/28 좌측정렬 */
:is(.nutrition-page,.medical-page,.mch-page,.education-page) .ms-divider + .yr-section{ margin-top:0; }

/* 토픽 리드(캘리그래피 타이틀 대체) */
:is(.nutrition-page,.medical-page,.agriculture-page,.mch-page,.education-page) .mn-topic__tit{ font-size:var(--fs-h1); font-weight:800; letter-spacing:-0.03em; line-height:1.3; }
:is(.nutrition-page,.medical-page,.agriculture-page,.mch-page,.education-page) .mn-topic .ms-lead__ico svg{ width:7.2rem; height:7.2rem; }
:is(.nutrition-page,.medical-page,.agriculture-page,.mch-page,.education-page) .mn-topic--gold .ms-lead__ico{ color:#c08a2e; }
:is(.nutrition-page,.medical-page,.agriculture-page,.mch-page,.education-page) .mn-topic--green .ms-lead__ico{ color:var(--point); }
:is(.nutrition-page,.medical-page,.agriculture-page,.mch-page,.education-page) .mn-topic--orange .ms-lead__ico{ color:var(--accent); }
:is(.nutrition-page,.medical-page,.agriculture-page,.mch-page,.education-page) .mn-topic--blue .ms-lead__ico{ color:var(--c-blue); }
:is(.nutrition-page,.medical-page,.agriculture-page,.mch-page,.education-page) .mn-topic--purple .ms-lead__ico{ color:var(--c-purple); }
:is(.nutrition-page,.medical-page,.agriculture-page,.mch-page,.education-page) .mn-topic--pink .ms-lead__ico{ color:var(--c-pink); }
:is(.nutrition-page,.medical-page,.agriculture-page,.mch-page,.education-page) .mn-topic__big{ font-size:var(--fs-h2); font-weight:500; color:var(--tit); line-height:1.5; }
:is(.nutrition-page,.medical-page,.agriculture-page,.mch-page,.education-page) .mn-hl{ color:var(--c-pink); font-weight:700; text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:.4rem; }
:is(.nutrition-page,.medical-page,.agriculture-page,.mch-page,.education-page) .mn-topic__note{ font-size:var(--fs-small); color:var(--muted); }
:is(.nutrition-page,.medical-page,.agriculture-page,.mch-page,.education-page) .ms-lead__down{ color:var(--faint); }

/* 회색 밴드: 라벨 헤딩 본문 + 우측 사진열 */
:is(.nutrition-page,.medical-page,.agriculture-page,.mch-page) .mn-band{ margin-top:3.2rem; padding:4rem 4.4rem 4.4rem; border-radius:.8rem; background:#fff; border:1px solid var(--line); }
:is(.nutrition-page,.medical-page,.agriculture-page,.mch-page) .mn-band .ms-cols--side{ grid-template-columns:1fr 23rem; gap:3.2rem 5.2rem; }
:is(.nutrition-page,.medical-page,.agriculture-page,.mch-page) .mn-band .ms-h{ margin:3.6rem 0 1.6rem; }
:is(.nutrition-page,.medical-page,.agriculture-page,.mch-page) .mn-band .ms-h:first-child{ margin-top:0; }
:is(.nutrition-page,.medical-page,.agriculture-page,.mch-page) .mn-band .ms-h__lab{ font-size:var(--fs-body); padding:0 0 0 1.2rem; border-left-width:3px; }
:is(.nutrition-page,.medical-page,.agriculture-page,.mch-page) .mn-band .ms-h::after{ height:1px; }
:is(.nutrition-page,.medical-page,.agriculture-page,.mch-page) .mn-band .ms-text p{ padding-left:1.6rem; }
:is(.nutrition-page,.medical-page,.agriculture-page,.mch-page) .mn-band__media{ display:grid; gap:1.8rem; align-content:start; }
:is(.nutrition-page,.medical-page,.agriculture-page,.mch-page) .mn-band__media .ms-figure img{ border-radius:1rem; }

/* 단계 스텝(1단계 › 2단계 › …) */
:is(.nutrition-page,.agriculture-page) .mn-steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.6rem 3.6rem; margin:0 0 0 1.6rem; padding:0; }
:is(.nutrition-page,.agriculture-page) .mn-steps--2{ grid-template-columns:repeat(2,1fr); max-width:46rem; }
:is(.nutrition-page,.agriculture-page) .mn-step{ position:relative; }
:is(.nutrition-page,.agriculture-page) .mn-step + .mn-step::before{ content:""; position:absolute; left:-2.6rem; top:1.2rem; width:1.2rem; height:1.2rem; border-right:3px solid #cfcfcf; border-bottom:3px solid #cfcfcf; transform:rotate(-45deg); }
:is(.nutrition-page,.agriculture-page) .mn-step__lab{ display:block; margin-bottom:1.2rem; padding:.6rem 1rem; border-radius:0 0 .6rem .6rem; text-align:center; color:var(--tit); font-size:var(--fs-body); font-weight:700; line-height:1.4; background:var(--soft-2); border-top:2px solid var(--c-red); }
:is(.nutrition-page,.agriculture-page) .mn-step--2 .mn-step__lab{ border-top-color:var(--c-yellow); }
:is(.nutrition-page,.agriculture-page) .mn-step--3 .mn-step__lab{ border-top-color:var(--c-purple); }
:is(.nutrition-page,.agriculture-page) .mn-step--4 .mn-step__lab{ border-top-color:var(--c-blue); }
:is(.nutrition-page,.agriculture-page) .mn-step .ms-list li{ font-size:var(--fs-small); line-height:1.6; }
:is(.nutrition-page,.agriculture-page) .mn-step .ms-list li + li{ margin-top:.2rem; }
:is(.nutrition-page,.agriculture-page) .mn-step .ms-list--dash li::before{ top:-.1rem; }

/* 농업: 연도별 지원 내역 표(원본 = 흰 배경 + 파란 헤더 글자) */
.agriculture-page .mn-table{ margin-top:6rem; }
.agriculture-page .ms-table thead th{ background:#fff; color:var(--tit); font-size:var(--fs-body); border-bottom:1px solid var(--line); }
.agriculture-page .ms-table th, .agriculture-page .ms-table td{ border-right:1px solid var(--line-2); }
.agriculture-page .ms-table th:last-child, .agriculture-page .ms-table td:last-child{ border-right:0; }
.agriculture-page .mn-lead-text{ max-width:76rem; margin:0 auto; }

/* 모자보건: 목표 소항목(시설/영양개선 프로그램/보건의료) */
.mch-page .mn-goal__tit{ margin:2.8rem 0 .8rem 1.6rem; font-size:var(--fs-h2); font-weight:700; line-height:1.3; }
.mch-page .mn-goal__tit:first-of-type{ margin-top:0; }
.mch-page .mn-goal :is(.ms-list,.ms-ol,.ms-text){ margin-left:1.6rem; }
.mch-page .mn-goal .ms-ol{ gap:.4rem; margin-top:.6rem; padding-left:1.8rem; }
.mch-page .mn-goal .ms-ol li b{ min-width:2.6rem; }
.mch-page .mn-goal .ms-list--dash + .ms-ol{ padding-left:3.2rem; }

/* 교육: 아카데미 사진 모자이크(세로 2장 + 가운데 2×2), 정방형 갤러리 */
.education-page .mn-mosaic{ display:grid; grid-template-columns:1fr 1.75fr 1.75fr 1fr; grid-template-rows:repeat(2,15rem); gap:1rem; margin-top:4.4rem; }
.education-page .mn-mosaic img{ display:block; width:100%; height:100%; object-fit:cover; border-radius:1rem; }
.education-page .mn-mosaic__tall{ grid-row:1 / 3; }
.education-page .mn-mosaic__tall--l{ grid-column:1; }
.education-page .mn-mosaic__tall--r{ grid-column:4; }
.education-page .ms-grid{ margin-top:4.4rem; }
.education-page .ms-grid--sq img{ aspect-ratio:1/1; }
.education-page .ms-grid--wide img{ aspect-ratio:3/2; }

/* 주요사역: 중앙 원형 사진 + 좌우 카테고리 카드(원본 방사형 배치의 그리드화) */
.ministry-page .mn-radial{ display:grid; grid-template-columns:1fr 30rem 1fr; grid-template-areas:"nut photo med" "nut photo agr" "edu photo mch"; gap:2.4rem 3.2rem; align-items:start; }
.ministry-page .mn-radial__photo{ grid-area:photo; align-self:center; justify-self:center; }
.ministry-page .mn-radial__photo img{ width:28.8rem; height:28.8rem; }
.ministry-page .mn-cat{ display:block; padding:2.8rem 2.8rem 3rem; }
.ministry-page .mn-cat--nut{ grid-area:nut; } .ministry-page .mn-cat--med{ grid-area:med; } .ministry-page .mn-cat--agr{ grid-area:agr; }
.ministry-page .mn-cat--edu{ grid-area:edu; } .ministry-page .mn-cat--mch{ grid-area:mch; }
.ministry-page .mn-cat .ms-sub{ margin-bottom:2rem; }
.ministry-page .mn-cat .ms-list--dash li + li{ margin-top:1.2rem; }
.ministry-page .mn-cat .ms-list--dash li strong{ color:var(--tit); }

@media (max-width:1024px){
  :is(.nutrition-page,.medical-page,.agriculture-page,.mch-page) .mn-band .ms-cols--side{ grid-template-columns:1fr; }
  :is(.nutrition-page,.medical-page,.agriculture-page,.mch-page) .mn-band__media{ grid-template-columns:repeat(3,1fr); }
  :is(.nutrition-page,.medical-page,.mch-page,.education-page) .mn-intro .yr-split__body br{ display:none; }
  .ministry-page .mn-radial{ grid-template-columns:1fr; grid-template-areas:"photo" "nut" "med" "agr" "edu" "mch"; }
  :is(.medical-page,.mch-page,.education-page) .mn-intro--right{ grid-template-columns:1fr; }
}
@media (max-width:768px){
  :is(.nutrition-page,.medical-page,.agriculture-page,.mch-page) .mn-band{ padding:2.8rem 2rem 3.2rem; border-radius:.8rem; }
  :is(.nutrition-page,.medical-page,.agriculture-page,.mch-page) .mn-band .ms-text p{ padding-left:0; }
  :is(.nutrition-page,.medical-page,.agriculture-page,.mch-page) .mn-band__media{ grid-template-columns:repeat(2,1fr); gap:1.2rem; }
  :is(.nutrition-page,.agriculture-page) .mn-steps{ grid-template-columns:repeat(2,1fr); gap:1.6rem 2rem; margin-left:0; }
  :is(.nutrition-page,.agriculture-page) .mn-step + .mn-step::before{ display:none; }
  .mch-page .mn-goal__tit{ margin-left:0; }
  .mch-page .mn-goal :is(.ms-list,.ms-ol,.ms-text){ margin-left:0; }
  .education-page .mn-mosaic{ grid-template-columns:1fr 1fr; grid-template-rows:none; grid-auto-rows:16rem; }
  .education-page .mn-mosaic__tall{ grid-row:auto; grid-column:auto; }
  .education-page .ms-grid{ grid-template-columns:1fr; }
}
@media (max-width:480px){
  :is(.nutrition-page,.medical-page,.agriculture-page,.mch-page,.education-page) .mn-topic__tit{ font-size:var(--fs-h2); }
  :is(.nutrition-page,.medical-page,.agriculture-page,.mch-page,.education-page) .mn-topic__big{ font-size:var(--fs-body); }
  :is(.nutrition-page,.medical-page,.agriculture-page,.mch-page) .mn-band__media{ grid-template-columns:1fr; }
}

/* ═══ support 페이지 그룹 ═══ */
/* ── 후원하기(support) 페이지 그룹 전용 CSS ──
   support(후원안내) / bread(사랑의 빵 보내기) / two(TWO 운동) / volunteer(재능기부·자원봉사)
   공용 조각(sp-*)은 4개 슬러그로 스코프. 폰트 4단계(3.6/2.4/1.8/1.5rem)만 사용 */
.sub-page:is(.support-page,.bread-page,.two-page,.volunteer-page){ --sp-navy:#1f4f7b; --sp-gray:#f5f5f5; --sp-yellow:#f5a623; --sp-brick:#cf4f2a; }

/* 밑줄 강조(원본 컬러 텍스트 + 밑줄) — 색은 .c-orange/.c-red/.c-pink 유틸과 조합 */
.sub-page:is(.support-page,.bread-page,.two-page,.volunteer-page) .sp-u{ font-weight:700; text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:.3rem; }

/* 섹션 타이틀(원본 그린 볼드 헤딩) */
.sub-page:is(.support-page,.bread-page,.two-page,.volunteer-page) .sp-tit{ display:flex; align-items:center; gap:1.2rem; margin:0 0 3.2rem; font-size:var(--fs-h2); font-weight:800; line-height:1.3; letter-spacing:-0.02em; color:var(--point); }
.sub-page:is(.support-page,.bread-page,.two-page,.volunteer-page) .sp-tit svg{ width:3.6rem; height:3.6rem; flex-shrink:0; }
.sub-page:is(.support-page,.bread-page,.two-page,.volunteer-page) .sp-tit--orange{ color:var(--accent); font-weight:700; }

/* ※ 후원문의 회색 박스(전 페이지 공통) */
.sub-page:is(.support-page,.bread-page,.two-page,.volunteer-page) .sp-inquiry{ padding:3rem 3.6rem; border-radius:.8rem; background:var(--soft-2); border:1px solid var(--line-2); }
.sub-page:is(.support-page,.bread-page,.two-page,.volunteer-page) .sp-inquiry__tit{ margin:0 0 .8rem; font-size:var(--fs-body); font-weight:700; color:var(--point); }
.sub-page:is(.support-page,.bread-page,.two-page,.volunteer-page) .sp-inquiry__desc{ margin:0; font-size:var(--fs-body); line-height:1.75; color:var(--body); }
.sub-page:is(.support-page,.bread-page,.two-page,.volunteer-page) .sp-inquiry__contact{ margin:.6rem 0 0; font-size:var(--fs-body); font-weight:700; color:var(--c-red); }
.sub-page:is(.support-page,.bread-page,.two-page,.volunteer-page) .sp-inquiry__contact a{ color:inherit; }
.sub-page:is(.support-page,.bread-page,.two-page,.volunteer-page) .sp-inquiry__hr{ border:0; border-top:1px solid #dcdcdc; margin:2.4rem 0; }
/* 무통장입금 계좌 */
.sub-page:is(.support-page,.bread-page,.two-page,.volunteer-page) .sp-account{ display:flex; flex-wrap:wrap; align-items:center; gap:1rem 2rem; margin:1.2rem 0 0 .4rem; }
.sub-page:is(.support-page,.bread-page,.two-page,.volunteer-page) .sp-account__logo{ height:4.4rem; width:auto; }
.sub-page:is(.support-page,.bread-page,.two-page,.volunteer-page) .sp-account__no{ font-size:var(--fs-h1); font-weight:800; color:var(--accent); line-height:1; letter-spacing:-0.02em; white-space:nowrap; }
.sub-page:is(.support-page,.bread-page,.two-page,.volunteer-page) .sp-account__holder{ font-size:var(--fs-body); color:var(--body); }

/* 4단계 플로우(네이비 원형 아이콘 + 라벨, 사이 화살표/점) */
.sub-page:is(.support-page,.bread-page,.two-page,.volunteer-page) .sp-flow{ display:grid; grid-template-columns:repeat(4,1fr); gap:2rem; margin:0; padding:0; }
.sub-page:is(.support-page,.bread-page,.two-page,.volunteer-page) .sp-flow__step{ position:relative; text-align:center; }
.sub-page:is(.support-page,.bread-page,.two-page,.volunteer-page) .sp-flow__step + .sp-flow__step::before{ content:""; position:absolute; left:-1.8rem; top:4.7rem; width:1.6rem; height:1.6rem; border-right:3px solid #c9c9c9; border-bottom:3px solid #c9c9c9; transform:rotate(-45deg); }
.sub-page:is(.support-page,.bread-page,.two-page,.volunteer-page) .sp-flow--dots .sp-flow__step + .sp-flow__step::before{ content:"···"; border:0; transform:none; width:auto; height:auto; left:-2.6rem; top:4.3rem; font-size:var(--fs-h2); font-weight:800; line-height:1; letter-spacing:.08em; color:#9aa0a6; }
.sub-page:is(.support-page,.bread-page,.two-page,.volunteer-page) .sp-flow__ico{ display:flex; align-items:center; justify-content:center; width:9.6rem; height:9.6rem; margin:0 auto 1.8rem; border-radius:50%; background:var(--point-soft); color:var(--point); }
.sub-page:is(.support-page,.bread-page,.two-page,.volunteer-page) .sp-flow__ico svg{ width:5.2rem; height:5.2rem; }
.sub-page:is(.support-page,.bread-page,.two-page,.volunteer-page) .sp-flow__lab{ margin:0; font-size:var(--fs-body); font-weight:700; color:var(--tit); line-height:1.5; }
.sub-page:is(.support-page,.bread-page,.two-page,.volunteer-page) .sp-flow__sub{ margin:.6rem 0 0; font-size:var(--fs-small); color:var(--muted); line-height:1.6; }

/* ── 후원안내(support) ── */
.support-page .yr-split__body strong{ color:var(--tit); }
.support-page .support-page__intro p{ margin-bottom:1.2rem; }
.support-page .support-page__intro a.sp-u{ color:var(--accent); }
/* 후원방법 카드(정기/일시/전화후원 ARS) — 컬러 테두리 + 상단 삼각 탭 */
.support-page .sp-plans{ display:grid; grid-template-columns:repeat(3,1fr); gap:2.4rem; margin:0; padding:0; }
.support-page .sp-plan{ --pc:var(--sp-yellow); position:relative; display:flex; flex-direction:column; align-items:center; text-align:center; padding:4.6rem 2.6rem 3.2rem; border:1px solid var(--line); border-top:3px solid var(--pc); border-radius:.8rem; background:#fff; color:inherit; transition:transform .25s var(--ease), box-shadow .25s; }
.support-page .sp-plan::before{ content:""; position:absolute; top:-2px; left:50%; transform:translateX(-50%); border:1.5rem solid transparent; border-top:1.8rem solid var(--pc); border-bottom:0; }
.support-page .sp-plan--blue{ --pc:#1e90ff; }
.support-page .sp-plan--red{ --pc:#e83a3a; }
.support-page a.sp-plan:hover{ }
.support-page .sp-plan__tit{ position:relative; margin:0; padding-bottom:1.4rem; font-size:var(--fs-h2); font-weight:800; color:var(--tit); }
.support-page .sp-plan__tit::after{ content:""; position:absolute; left:50%; bottom:0; transform:translateX(-50%); width:4rem; height:3px; background:var(--pc); }
.support-page .sp-plan__desc{ margin:2rem 0 2.4rem; font-size:var(--fs-body); line-height:1.7; color:var(--body); }
.support-page .sp-plan__go{ display:inline-flex; margin-top:auto; color:var(--pc); }
.support-page .sp-plan__go svg{ width:3.2rem; height:3.2rem; }
.support-page .sp-plan__ready{ align-self:stretch; margin:auto -2.6rem -3.2rem; padding:2.4rem 2rem; background:var(--soft-2); border-top:1px solid var(--line-2); border-radius:0 0 .8rem .8rem; font-size:var(--fs-h2); font-weight:800; color:var(--accent); }
/* 또 다른 후원의 방법 01/02/03 */
.support-page .sp-ways{ position:relative; display:grid; grid-template-columns:repeat(3,1fr); gap:2.4rem; margin:0; padding:0; text-align:center; }
.support-page .sp-way{ --wc:var(--sp-yellow); position:relative; padding:0 1.6rem; }
.support-page .sp-way--blue{ --wc:#4aa8e8; }
.support-page .sp-way--green{ --wc:#8cc63f; }
.support-page .sp-way::before{ content:""; position:absolute; left:-1.2rem; right:-1.2rem; top:calc(4.9rem - 1px); height:2px; background:var(--line); }
.support-page .sp-way:first-child::before{ left:50%; }
.support-page .sp-way:last-child::before{ right:50%; }
.support-page .sp-way__no{ position:relative; display:block; font-size:var(--fs-h1); font-weight:300; line-height:1; color:var(--point); }
.support-page .sp-way__no::after{ content:""; position:relative; z-index:1; display:block; width:1rem; height:1rem; margin:.8rem auto 0; border-radius:50%; background:var(--wc); }
.support-page .sp-way__tit{ margin:1.8rem 0 1.2rem; font-size:var(--fs-h2); font-weight:800; color:var(--tit); }
.support-page .sp-way__desc{ margin:0; font-size:var(--fs-body); line-height:1.7; color:var(--body); }
/* 후원자 서비스 */
.support-page .sp-services{ display:grid; grid-template-columns:repeat(3,1fr); gap:3.2rem; margin:0; padding:0; text-align:center; }
.support-page .sp-service{ --sc:#1fa39a; }
.support-page .sp-service--purple{ --sc:#9b3fa0; }
.support-page .sp-service--blue{ --sc:#4aa3df; }
.support-page .sp-service__ico{ display:flex; align-items:center; justify-content:center; width:9.6rem; height:9.6rem; margin:0 auto 2.4rem; border-radius:50%; background:var(--point-soft); color:var(--point); }
.support-page .sp-service__ico svg{ width:6rem; height:6rem; }
.support-page .sp-service__tit{ margin:0 0 1.2rem; font-size:var(--fs-h2); font-weight:800; color:var(--tit); }
.support-page .sp-service__desc{ margin:0; font-size:var(--fs-body); line-height:1.7; color:var(--body); }
/* 출금 안내 표 */
.support-page .sp-table table{ font-size:var(--fs-body); }
.support-page .sp-table tbody th{ background:#fff; font-weight:700; color:var(--tit); }
.support-page .sp-table__method{ display:inline-flex; flex-direction:column; align-items:center; gap:.6rem; }
.support-page .sp-table__method svg{ width:4.4rem; height:4.4rem; color:#2bb0a3; }
.support-page .sp-notes{ margin:1.6rem 0 0; padding:0 .4rem; }
.support-page .sp-notes li{ font-size:var(--fs-small); line-height:1.7; color:var(--body); }
/* 기부금 영수증 Q&A */
.support-page .sp-faq{ margin:0; }
.support-page .sp-faq__q{ display:flex; align-items:center; gap:1.2rem; margin:0 0 1.4rem; font-size:var(--fs-h2); font-weight:700; line-height:1.3; color:var(--accent); }
.support-page .sp-faq__ico{ flex-shrink:0; display:flex; align-items:center; justify-content:center; width:4rem; height:4rem; border-radius:50%; background:var(--point-soft); color:var(--point); }
.support-page .sp-faq__ico svg{ width:2.4rem; height:2.4rem; }
.support-page .sp-faq__a{ margin:0 0 3.6rem 5.2rem; font-size:var(--fs-body); line-height:1.8; color:var(--body); }
.support-page .sp-faq__a:last-child{ margin-bottom:0; }
.support-page .sp-faq__a p + p{ margin-top:.8rem; }
.support-page .sp-faq__a strong{ color:var(--tit); }
.support-page .sp-faq__note{ font-weight:700; }
/* 파란 세로바 소제목(홈페이지 발급 / 국세청 / 우편·팩스) */
.support-page .sp-bar{ margin:5.6rem 0 3.2rem; padding-left:1.4rem; border-left:.5rem solid var(--sp-navy); font-size:var(--fs-h2); font-weight:700; line-height:1.2; color:var(--sp-navy); }
.support-page .sp-post{ padding-left:.4rem; }

/* ── 사랑의 빵 보내기(bread) ── */
.bread-page .bread-page__hero{ grid-template-columns:1.2fr .8fr; }
.bread-page .bread-page__hero .yr-split__text{ text-align:right; }
.bread-page .bread-page__hero .yr-split__tit{ font-weight:500; color:#3b3b3b; }
.bread-page .bread-page__hero .yr-split__body strong{ color:var(--tit); }
.bread-page .bread-page__hero .ms-cta{ justify-content:flex-end; margin-top:2.4rem; }
.bread-page .bread-page__hero .yr-split__media--plain img{ max-width:36rem; }
.bread-page .bread-page__points{ display:grid; grid-template-columns:30rem 1fr; gap:3.2rem; align-items:start; }
.bread-page .bread-page__points img{ display:block; width:100%; border-radius:.8rem; }
.bread-page .bread-page__points .ms-list--dash li{ color:var(--body); }
.bread-page .bread-page__points + .ms-grid{ margin-top:3.2rem; }
.bread-page .ms-grid--wide img{ aspect-ratio:17/10; }
.bread-page .bread-page__process{ display:grid; grid-template-columns:repeat(4,1fr); gap:2.4rem 3.2rem; margin:0; padding:0; }
.bread-page .bread-page__process li{ position:relative; }
.bread-page .bread-page__process li + li::before{ content:""; position:absolute; left:-2.4rem; top:50%; width:1.4rem; height:1.4rem; margin-top:-.9rem; border-right:3px solid #8a8a8a; border-bottom:3px solid #8a8a8a; transform:rotate(-45deg); }
.bread-page .bread-page__process li:nth-child(4n+1)::before{ display:none; }
.bread-page .bread-page__process img{ display:block; width:100%; aspect-ratio:6/5; object-fit:cover; border-radius:.8rem; }
.bread-page .bread-page__gallery{ display:flex; flex-wrap:wrap; justify-content:center; gap:1.2rem; }
.bread-page .bread-page__gallery img{ width:calc((100% - 3.6rem)/4); aspect-ratio:3/2; object-fit:cover; border-radius:.8rem; }

/* ── TWO 운동(two) ── */
.two-page .two-page__banner{ min-height:30rem; }
.two-page .two-page__intro p + p{ margin-top:1.6rem; }
.two-page .two-page__strong strong{ color:var(--tit); }
.two-page .two-page__days{ font-size:var(--fs-h2); }
.two-page .two-page__pairs{ display:grid; gap:4.4rem; margin:0; padding:0; }
.two-page .two-pair{ --tc:var(--c-pink); display:grid; grid-template-columns:11rem 1fr 24rem; gap:3.2rem; align-items:center; }
.two-page .two-pair--blue{ --tc:#4a9bd6; }
.two-page .two-pair--brick{ --tc:var(--sp-brick); }
.two-page .two-pair__ico{ display:flex; align-items:center; justify-content:center; color:var(--tc); }
.two-page .two-pair__ico svg{ width:10rem; height:10rem; }
.two-page .two-pair__tit{ margin:0 0 1rem; font-size:var(--fs-h2); font-weight:700; color:var(--tit); }
.two-page .two-pair__desc{ margin:0 0 1.8rem; font-size:var(--fs-body); line-height:1.75; color:var(--body); }
.two-page .two-pair__fig img{ aspect-ratio:4/3; object-fit:cover; }
.two-page .two-page__gallery{ display:grid; grid-template-columns:264fr 360fr 338fr; gap:.8rem; }
.two-page .two-page__gallery img{ display:block; width:100%; height:100%; object-fit:cover; border-radius:1rem; }

/* ── 재능기부/자원봉사(volunteer) ── */
.volunteer-page .volunteer-page__thumb{ color:#6b6b6b; }
.volunteer-page .volunteer-page__thumb svg{ width:8rem; height:8rem; }
.volunteer-page .volunteer-page__tit{ color:var(--tit); font-weight:700; }
.volunteer-page .volunteer-page__collage{ gap:.8rem; }
.volunteer-page .volunteer-page__collage img{ aspect-ratio:2/1; border-radius:.8rem; }
.volunteer-page .volunteer-page__together{ display:grid; grid-template-columns:24rem 1fr; gap:3rem; align-items:center; padding:4rem 4.8rem; border-radius:.8rem; background:#fff; border:1px solid var(--line); }
.volunteer-page .volunteer-page__calli{ margin:0; text-align:center; font-size:var(--fs-h1); font-weight:900; letter-spacing:-0.03em; color:var(--c-blue); }
.volunteer-page .volunteer-page__rules{ display:grid; gap:1.8rem; margin:0; padding:0; }
.volunteer-page .volunteer-page__rule{ display:flex; align-items:center; gap:1.4rem; font-size:var(--fs-body); line-height:1.6; color:var(--body); }
.volunteer-page .volunteer-page__rule b{ flex-shrink:0; padding:.2rem 1.2rem; border-radius:.6rem; font-size:var(--fs-h2); font-weight:800; color:var(--tit); background:#fde4cf; }
.volunteer-page .volunteer-page__rule--red b{ background:#fdd9d9; }
.volunteer-page .volunteer-page__rule--green b{ background:#e2f2d7; }
.volunteer-page .volunteer-page__how{ position:relative; margin-top:2rem; padding:6rem 3rem 4.4rem; border:1px solid #d9d9d9; border-radius:.8rem; }
.volunteer-page .volunteer-page__how-tit{ position:absolute; top:-2rem; left:50%; transform:translateX(-50%); display:flex; align-items:center; gap:1.4rem; margin:0; padding:0 1.6rem; background:#fff; font-size:var(--fs-h2); font-weight:800; color:var(--tit); white-space:nowrap; }
.volunteer-page .volunteer-page__how-tit::before, .volunteer-page .volunteer-page__how-tit::after{ content:""; width:1rem; height:1rem; border-radius:50%; background:var(--point); }

/* ── 반응형 ── */
@media (max-width:1024px){
  .bread-page .bread-page__hero{ grid-template-columns:1fr; }
  .two-page .two-pair{ grid-template-columns:9rem 1fr 20rem; }
}
@media (max-width:768px){
  .support-page .sp-plans, .support-page .sp-ways, .support-page .sp-services{ grid-template-columns:1fr; }
  .support-page .sp-way::before{ display:none; }
  .sub-page:is(.support-page,.bread-page,.two-page,.volunteer-page) .sp-account__no{ font-size:var(--fs-h2); }
  .sub-page:is(.support-page,.bread-page,.two-page,.volunteer-page) .sp-flow{ grid-template-columns:repeat(2,1fr); gap:2.8rem 2rem; }
  .sub-page:is(.support-page,.bread-page,.two-page,.volunteer-page) .sp-flow__step:nth-child(2n+1)::before{ display:none; }
  .bread-page .bread-page__hero .yr-split__text{ text-align:left; }
  .bread-page .bread-page__hero .ms-cta{ justify-content:flex-start; }
  .bread-page .bread-page__points{ grid-template-columns:1fr; }
  .bread-page .bread-page__process{ grid-template-columns:repeat(2,1fr); }
  .bread-page .bread-page__process li:nth-child(4n+1)::before{ display:block; }
  .bread-page .bread-page__process li:nth-child(2n+1)::before{ display:none; }
  .bread-page .bread-page__gallery img{ width:calc((100% - 1.2rem)/2); }
  .two-page .two-pair{ grid-template-columns:1fr; text-align:center; }
  .two-page .two-pair .ms-cta{ justify-content:center; }
  .two-page .two-pair__fig{ max-width:40rem; margin:0 auto; }
  .two-page .two-page__gallery{ grid-template-columns:1fr; }
  .volunteer-page .volunteer-page__together{ grid-template-columns:1fr; padding:3.2rem 2.4rem; }
  .volunteer-page .volunteer-page__collage{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:640px){
  .sub-page:is(.support-page,.bread-page,.two-page,.volunteer-page) :is(.sp-plan__desc,.sp-way__desc,.sp-service__desc,.two-pair__desc,.sp-flow__lab,.sp-inquiry__desc,.sp-faq__a,.sp-plan__desc) br:not(.br-keep){ display:none; }
  .sub-page:is(.support-page,.bread-page,.two-page,.volunteer-page) .sp-flow__ico{ width:9rem; height:9rem; }
  .sub-page:is(.support-page,.bread-page,.two-page,.volunteer-page) .sp-flow__ico svg{ width:4.2rem; height:4.2rem; }
  .sub-page:is(.support-page,.bread-page,.two-page,.volunteer-page) .sp-inquiry{ padding:2.4rem 2rem; }
  .sub-page:is(.support-page,.bread-page,.two-page,.volunteer-page) .sp-flow__step + .sp-flow__step::before{ top:3.7rem; }
  .volunteer-page .volunteer-page__how-tit{ white-space:normal; justify-content:center; width:calc(100% - 4rem); }
  .volunteer-page .volunteer-page__how{ padding:5.2rem 1.6rem 3.2rem; }
}
@media (max-width:480px){
  .volunteer-page .volunteer-page__collage{ grid-template-columns:1fr; }
}

/* ═══ join 페이지 그룹 ═══ */
/* ── 참여하기(join) 페이지 그룹 전용 CSS ── */
/* 공통(7페이지): 리드 타이틀 컬러(원본 컬러 타이틀) / 픽토그램 크기 / 참여·행사문의 노트 / 갤러리 비율·모바일 2열 */
:is(.academy-page,.visiontrip-page,.fieldtrip-page,.seminar-page,.prayer-page,.tasting-page) .ms-lead__ico svg{ width:8rem; height:8rem; }
:is(.join-page,.academy-page,.visiontrip-page,.fieldtrip-page,.seminar-page,.prayer-page,.tasting-page) .ms-lead__sub strong{ color:var(--tit); font-weight:700; }
:is(.join-page,.academy-page,.visiontrip-page,.fieldtrip-page,.seminar-page,.prayer-page,.tasting-page) .ms-text{ padding:0 1.2rem; }
:is(.join-page,.academy-page,.visiontrip-page,.fieldtrip-page,.seminar-page,.prayer-page,.tasting-page) .ms-text strong{ color:var(--tit); }

/* 참여/행사문의 — 원본 하단 회색 박스(녹색 제목 / 검정 안내 / 빨강 연락처) */
:is(.join-page,.academy-page,.visiontrip-page,.fieldtrip-page,.seminar-page,.prayer-page,.tasting-page) .join-contact{ background:var(--surface); border-color:var(--line); }
:is(.join-page,.academy-page,.visiontrip-page,.fieldtrip-page,.seminar-page,.prayer-page,.tasting-page) .join-contact__tit{ font-size:var(--fs-h2); font-weight:700; color:var(--point); margin:0 0 .6rem; line-height:1.4; }
:is(.join-page,.academy-page,.visiontrip-page,.fieldtrip-page,.seminar-page,.prayer-page,.tasting-page) .join-contact__desc{ margin:0; color:var(--tit); }
:is(.join-page,.academy-page,.visiontrip-page,.fieldtrip-page,.seminar-page,.prayer-page,.tasting-page) .join-contact__tel{ margin:.2rem 0 0; color:var(--c-red); font-weight:700; }
:is(.join-page,.academy-page,.visiontrip-page,.fieldtrip-page,.seminar-page,.prayer-page,.tasting-page) .join-contact__tel a{ color:inherit; }
:is(.join-page,.academy-page,.visiontrip-page,.fieldtrip-page,.seminar-page,.prayer-page,.tasting-page) .join-contact__tel .bar{ margin:0 .8rem; font-weight:400; color:var(--faint); }

/* 갤러리 공통: 원본 사진 비율(3:2 / 10:7) 유지, 모바일 2열 */
:is(.academy-page,.visiontrip-page,.seminar-page) .ms-grid img{ aspect-ratio:3/2; }
:is(.fieldtrip-page,.prayer-page,.tasting-page) .ms-grid img{ aspect-ratio:10/7; }
@media (max-width:768px){
  :is(.academy-page,.visiontrip-page,.fieldtrip-page,.seminar-page,.prayer-page,.tasting-page) .ms-grid,
  :is(.academy-page,.visiontrip-page,.fieldtrip-page,.seminar-page,.prayer-page,.tasting-page) .ms-grid--2{ grid-template-columns:repeat(2,1fr); gap:1.2rem; }
}

/* 참여안내(join): 사진 카드 — 원본처럼 사진(좌) + 제목·설명·더보기(우) 가로형 */
.join-page .yr-card--photo{ flex-direction:row; }
.join-page .yr-card--photo .yr-card__img{ flex:0 0 18rem; aspect-ratio:auto; }
.join-page .yr-card--photo .yr-card__img img{ height:100%; }
.join-page .yr-card--photo .yr-card__body{ padding:2.8rem 3rem; }
.join-page .yr-card__tit{ margin-bottom:.8rem; }
.join-page .yr-card--photo .yr-card__more{ display:flex; justify-content:flex-end; margin-top:auto; padding-top:2rem; }
.join-page .yr-card__more .ms-btn{ min-width:11rem; height:4.2rem; }
@media (max-width:640px){
  .join-page .yr-card--photo .yr-card__img{ flex:0 0 12rem; }
  .join-page .yr-card--photo .yr-card__body{ padding:1.8rem 1.8rem 2rem; }
}

/* 통일비전 아카데미(academy) */
.academy-page .ms-cols{ gap:4rem 6rem; }
.academy-page .ms-ol{ padding:0 1.2rem; }
.academy-page .ms-ol--dark li b{ min-width:6rem; }
.academy-page .academy-page__figs{ display:grid; gap:2rem; }
.academy-page .academy-page__gal{ display:grid; grid-template-columns:1.64fr 1.64fr 1fr; gap:1.2rem; }
.academy-page .academy-page__gal img{ display:block; width:100%; height:100%; aspect-ratio:1.85; object-fit:cover; border-radius:.8rem; }
.academy-page .academy-page__gal .tall{ grid-column:3; grid-row:1 / span 2; }
.academy-page .academy-page__gal .tall img{ aspect-ratio:auto; }
.academy-page .academy-page__figs .ms-grid{ gap:1.2rem; }
.academy-page .academy-page__figs .ms-grid img{ border-radius:.8rem; }
.academy-page .ms-table table{ min-width:0; font-size:var(--fs-body); }
.academy-page .ms-table th.w{ width:18rem; }
.academy-page .ms-table td.rs{ background:var(--soft-2); font-weight:700; color:var(--tit); }
@media (max-width:768px){
  .academy-page .academy-page__gal{ grid-template-columns:1fr 1fr; }
  .academy-page .academy-page__gal .tall{ grid-column:2; grid-row:1 / span 2; }
  .academy-page .academy-page__gal .g1{ grid-column:1; grid-row:1; }
  .academy-page .academy-page__gal .g2{ grid-column:1; grid-row:2; }
  .academy-page .academy-page__gal .g3{ grid-column:1; grid-row:3; }
  .academy-page .academy-page__gal .g4{ grid-column:2; grid-row:3; }
  .academy-page .ms-table th.w{ width:11rem; }
}

/* NK 비전트립(visiontrip): 방문지역 목록(핑크 꺾쇠 + 지명 + 설명/〈부가〉), 갤러리 녹색 알약 캡션 */
.visiontrip-page .visiontrip-page__places{ grid-template-columns:auto 1fr; gap:2rem 2.4rem; padding:0 1.2rem; }
.visiontrip-page .visiontrip-page__places dt{ position:relative; padding-left:2.4rem; font-size:var(--fs-h2); font-weight:700; color:var(--tit); line-height:1.5; }
.visiontrip-page .visiontrip-page__places dt::before{ content:""; position:absolute; left:.2rem; top:1.25rem; width:1rem; height:1rem; border-top:2px solid var(--c-pink); border-right:2px solid var(--c-pink); transform:rotate(45deg); }
.visiontrip-page .visiontrip-page__places dd{ padding-top:.45rem; line-height:1.7; }
.visiontrip-page .visiontrip-page__places dd .sub{ display:block; color:var(--muted); }
.visiontrip-page .ms-grid{ gap:3.2rem 2rem; }
.visiontrip-page .ms-grid .ms-figure{ text-align:center; }
.visiontrip-page .ms-grid figcaption{ display:block; margin-top:1rem; font-size:var(--fs-small); font-weight:600; color:var(--body); line-height:1.6; }
@media (max-width:768px){
  .visiontrip-page .visiontrip-page__places{ grid-template-columns:1fr; gap:.4rem; }
  .visiontrip-page .visiontrip-page__places dd{ margin-bottom:1.4rem; padding-top:0; padding-left:2.4rem; }
  .visiontrip-page .ms-grid{ gap:2rem 1.2rem; }
}

/* 국내 필드트립(fieldtrip): 대형 사진 + 2열 사진 */
.fieldtrip-page .fieldtrip-page__gal{ display:grid; gap:2rem; }
.fieldtrip-page .fieldtrip-page__gal .ms-figure img{ aspect-ratio:auto; }

/* 통일비전 기도회(prayer): 2열 사진 + 3열 사진(좌) / 포스터(우) 혼합 그리드 */
.prayer-page .prayer-page__mix{ display:grid; grid-template-columns:2.4fr 1fr; gap:2rem; margin-top:2rem; }
.prayer-page .prayer-page__mix .ms-grid + .ms-grid{ margin-top:2rem; }
.prayer-page .prayer-page__poster{ margin:0; }
.prayer-page .prayer-page__poster img{ display:block; width:100%; height:100%; object-fit:cover; border-radius:.8rem; }
@media (max-width:768px){
  .prayer-page .prayer-page__mix{ grid-template-columns:1fr; gap:1.2rem; }
  .prayer-page .prayer-page__mix .ms-grid + .ms-grid{ margin-top:1.2rem; }
  .prayer-page .prayer-page__poster img{ height:auto; max-width:32rem; margin:0 auto; }
}

/* ===== 게시판(공지사항) — minsana 이관 추가 (독립 스타일, minsana 팔레트) ===== */
.board-page{ --bpoint:#f37021; --btit:#1f2a18; --btxt:#474b45; --bsub:#7c8278; --bline:#e3e6df; --bsurf:#f6f7f4; }
.pg-title{ margin-bottom:3.6rem; }
.pg-title h2{ font-size:3.6rem; font-weight:900; color:var(--btit,#1f2a18); letter-spacing:-0.02em; }
.pg-title span.bar{ display:block; width:4rem; height:2px; background:var(--point); margin-top:1.6rem; }
.board-table{ width:100%; border-top:1px solid var(--tit); border-collapse:collapse; font-size:1.6rem; }
.board-table th, .board-table td{ padding:1.3rem 1.4rem; border-bottom:1px solid var(--bline,#e3e6df); text-align:center; }
.board-table th{ background:var(--bsurf,#f6f7f4); font-weight:700; color:var(--btit,#1f2a18); }
.board-table td.col-subject{ text-align:left; }
.board-table td.col-subject a{ font-weight:600; color:var(--btit,#1f2a18); }
.board-table td.col-subject a:hover{ color:var(--point); }
.board-table tbody tr{ transition:background .15s; }
.board-table tbody tr:hover{ background:#fbfbf9; }
.board-empty{ padding:8rem 0 !important; text-align:center; color:var(--bsub,#7c8278); }
.board-paging{ margin-top:3rem; text-align:center; font-size:0; }
.board-paging .on, .board-paging a{ display:inline-block; min-width:3.4rem; height:3.4rem; line-height:2.2rem; padding:0.6rem; margin:0 0.2rem; font-size:1.5rem; border-radius:0.6rem; }
.board-paging .on{ background:var(--tit); color:#fff; }
.board-paging a{ background:#fff; color:var(--bsub,#7c8278); border:1px solid var(--bline,#e3e6df); }
.board-paging a:hover{ border-color:var(--tit); color:var(--tit); }
.board-paging .pg-arw{ color:#8a939c; }
.board-view{ border-top:2px solid var(--bpoint,#f37021); }
.board-view-head{ padding:2.4rem 1rem; border-bottom:1px solid var(--bline,#e3e6df); }
.board-view-title{ font-size:2.4rem; font-weight:700; color:var(--btit,#1f2a18); }
.board-view-meta{ margin-top:1rem; font-size:1.5rem; color:var(--bsub,#7c8278); }
.board-view-meta span+span{ margin-left:1.4rem; padding-left:1.4rem; border-left:1px solid var(--bline,#e3e6df); }
.board-view-content{ padding:3.6rem 1rem; border-bottom:1px solid var(--bline,#e3e6df); min-height:20rem; font-size:1.7rem; line-height:1.9; color:var(--btxt,#474b45); }
.board-view-content img{ max-width:100%; height:auto; }
.board-view-empty{ text-align:center; color:var(--bsub,#7c8278); font-size:1.6rem; padding:4rem 0; }
.board-view-foot{ margin-top:2.4rem; text-align:right; }
.board-btn{ display:inline-block; background:var(--point); color:#fff; font-size:1.5rem; padding:1rem 2.8rem; border-radius:0.6rem; }
@media(max-width:768px){ .pg-title h2{ font-size:2.8rem; } .board-table, .board-table th, .board-table td{ font-size:1.5rem; padding:1rem .6rem; } }
