
.material-symbols-outlined {font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24; vertical-align: middle;}
@font-face {
    font-family: 'MaruBuri';
    src: url(https://hangeul.pstatic.net/hangeul_static/webfont/MaruBuri/MaruBuri-Regular.woff2);
    font-weight: 400;
    font-display: swap;
}
.p_top_3{padding-top:3rem;} .p_bottom_3{padding-bottom:3rem;}
.p_top_4{padding-top:4rem;} .p_bottom_4{padding-bottom:4rem;}
.p_top_5{padding-top:5rem;} .p_bottom_5{padding-bottom:6rem;}
.p_top_6{padding-top:6rem;} .p_bottom_6{padding-bottom:7rem;}

.t_white { color: #fff; }

.section_head {display: flex;align-items: center;gap: 0.75rem;margin-bottom: 3rem;}
.head_bar {display: inline-block;width: 4px;height: 2rem;background-color: #313e68;}
.section_head h2 {font-weight: 700;letter-spacing: -0.02em;color: #1c1b1b;margin: 0;}
.t_maru{font-family: 'MaruBuri';}


/*============== 인사말 ==============*/
.greeting_wrap {display: grid;grid-template-columns: 4fr 8fr;gap: 4rem;}
.greeting_wrap  #component1740{width:100%;}
.greeting_pastor {padding-bottom: 2.5rem;position: relative;}
.greeting_pastor_img {width: 100%;aspect-ratio: 0.77 / 1;overflow: hidden;}
.greeting_pastor_img img {width: 100%;height: 100%;object-fit: cover;display: block;}
.greeting_pastor_name {position: absolute !important;bottom: 0rem;right: 0%;background: #223155;padding: 2.25rem 1.75rem;max-width: 14rem;text-align: left;z-index: 2;}
.greeting_pastor_name p {color: #fafafa;font-weight: 600;margin: 0 0 0.25rem 0;}
.greeting_pastor_name span {color: #fafafa;letter-spacing: 0.2em;display: block;}
.greeting_text {padding:3rem;}
.greeting_head {margin-bottom: 2.5rem;}
.greeting_head h2 {color: #fffbcc;font-weight: 600;line-height: 1.4;margin: 0 0 1rem 0;}
.greeting_head p {color: #fafafa;font-weight: 500;margin: 0;}
.greeting_text p{color: #fafafa;line-height: 1.75;margin-bottom: 2rem;}
.greeting_text strong {color: #fafafa;font-weight: 700;}
.greeting_sign {padding-top: 1rem;text-align:right;}
.greeting_sign > p {color: #fafafa;margin: 0 0 1rem 0;}
.greeting_sign > div span:first-child {color: #fafafa;font-weight: 600;}



/*============== 목회비전 ==============*/
/* 2. 3대 비전 선언 */
.vision_cards_wrap {display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; align-items: stretch;}
.vision_cards_wrap::before, .vision_cards_wrap::after {display: none !important;}
.vision_cards_wrap > .dimode-component {width: 100%;}

.vision_card {display: flex; flex-direction: column; border: 1px solid #c6c6d0; background-color: #ffffff;}
.vision_card_img {width: 100%; aspect-ratio: 16/10; overflow: hidden;}
.vision_card_img img {width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s;}
.vision_card_img img:hover {transform: scale(1.05);}
.vision_card_body {padding: 2rem; display: flex; flex-direction: column; gap: 1.5rem; flex: 1;}
.vision_card_top {display: flex; justify-content: space-between; align-items: flex-start;}
.vision_card_icon {font-size: 1.875rem; color: #313e68;}
.vision_card_num {color: #313e68; font-weight: 900; opacity: 0.15; line-height: 1;}
.vision_card_title {font-weight: 700; line-height: 1.4; color: #1c1b1b; margin: 0;}
.vision_card_desc {color: #5c5f60; line-height: 1.7; margin: 0;}
.vision_card_quote {padding: 1.2rem; border-left: 4px solid #313e68; background-color: #f3f7fb; margin-top: auto;}
.vision_card_quote p {color: #45464e; font-weight: 500; line-height: 1.6; margin: 0;}
.vision_card_ref {display: block; margin-top: 0.5rem; font-weight: 700; color: #1a2851;}

/* 3. 장·단기 실천 과제 */
.vision_tasks_head {text-align: center; margin-bottom: 4rem;}
.vision_tasks_kicker {display: block; color: #1a2851; font-weight: 700; letter-spacing: 0.3em; margin-bottom: 1rem;}
.vision_tasks_title {font-weight: 900; letter-spacing: -0.03em; color: #1c1b1b; margin: 0 0 1.5rem 0; line-height: 1.75;}
.vision_tasks_underline {display: inline-block; width: 60px; height: 3px; background-color: #313e68;}

.vision_tasks_grid {display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; align-items: stretch;}
.vision_tasks_grid::before, .vision_tasks_grid::after {display: none !important;}
.vision_tasks_grid > .dimode-component {width: 100%;}

.vision_task_item {background-color: #ffffff; border: 1px solid #e5e2e1; display: flex; flex-direction: column;}
.vision_task_num {display: inline-block; background-color: #1a2851; color: #ffffff; padding: 0.7rem 0.9rem; border-radius: 50%; font-weight: 700; margin-bottom: 1.5rem; width: fit-content;}
.vision_task_title {font-weight: 700; color: #1c1b1b; margin: 0 0 1.25rem 0; line-height: 1.75;}
.vision_task_desc {color: #5c5f60; line-height: 1.7; margin: 0;}
.vision_task_list {list-style: none; padding: 0; margin: 0;}
.vision_task_list li {display: flex; align-items: flex-start; gap: 0.6rem; color: #45464e; line-height: 1.7; padding: 0.4rem 0;}
.vision_task_check {color: #1a2851; flex-shrink: 0; margin-top: 0.15rem; font-weight: 700;}

/* 4. 4대 주요 프로젝트 */
.vision_projects_grid {display: grid; grid-template-columns: repeat(4, 1fr); gap: 2rem; align-items: stretch;}
.vision_projects_grid::before, .vision_projects_grid::after {display: none !important;}
.vision_projects_grid > .dimode-component {width: 100%;}

.vision_project_item {border-right: 1px solid #e5e2e1;}
.vision_project_item:last-child {border-right: none;}
.vision_project_icon {display: block; font-size: 2.25rem; color: #313e68; margin-bottom: 1.5rem;}
.vision_project_title {font-weight: 700; color: #1c1b1b; margin: 0 0 0.75rem 0;}
.vision_project_desc {color: #5c5f60; line-height: 1.6; margin: 0;}



/*============== 교회역사 ==============*/
.history_section {background-color: #ffffff;}
.history_tab_wrap {width: 100%;}
.hero_text{padding:2rem;}
/* 탭 메뉴 */
.history_tabmenu {display: flex; flex-wrap: wrap; gap: 0.5rem; list-style: none; margin:5rem 0 3rem 0; padding: 0; justify-content: flex-start; border-bottom: 1px solid #e4e2e2; padding-bottom: 1.5rem;}
.history_tabmenu li {margin: 0;}
.history_tabmenu li a {display: inline-block; padding: 0.6rem 1.4rem; color: #6b6b6b; background-color: transparent; border: 1px solid #d8d8d8; border-radius: 2rem !important; text-decoration: none; transition: all 0.25s; font-weight: 500;}
.history_tabmenu li a:hover {color: #002545; border-color: #002545;}
.history_tabmenu li.active a {color: #ffffff; background-color: #002545; border-color: #002545;}

/* 탭 컨텐츠 */
.history_tabcontent {min-height: 20rem;}
.history_year_title {color: #002545; font-weight: 700; margin: 0 0 2rem 0; padding-bottom: 1rem;  display: inline-block;}

/* 연혁 테이블 */
.history_table {width: 100%; border-collapse: collapse; table-layout: fixed;}
.history_col_date {width: 12rem;}
.history_col_content {width: auto;}
.history_table tr {border-bottom: 1px solid #e4e2e2;}
.history_table tr:first-child {border-top: 1px solid #43474e;}
.history_table th {padding: 1.5rem 1rem; vertical-align: top; text-align: left; color: #002545; font-weight: 700; letter-spacing: 0.02em;}
.history_table td {padding: 1.5rem 1rem; vertical-align: top; color: #43474e; line-height: 1.7; word-break: keep-all;}

/*============== 시설안내 ==============*/


.facilities_section_head {display: flex;align-items: center;gap: 1rem;margin-bottom: 2rem;}
.facilities_floor_badge {background: #1a2851;color: #fff;font-weight: 700;padding: 0.7rem 1rem;border-radius: 50%;}
.facilities_section_title {font-weight: 700;color: #1a2851;margin: 0;}

.facilities_grid {display: grid;grid-template-columns: 1fr 1fr;gap: 3rem;align-items: start;margin: 0 auto;padding: 0 15px;}
.facilities_grid .slidesub img{aspect-ratio:4/3;object-fit:cover;filter: brightness(1.05);}
.facilities_text_list {display: flex;flex-direction: column;gap: 2rem;padding: 1rem 0;}
.facilities_text_item {display: flex;flex-direction: column;gap: 0.75rem;}
.facilities_text_head {display: flex;align-items: center;gap: 0.75rem;}
.facilities_text_bar {width: 0.25rem;height: 1.5rem;background: #1a2851;}
.facilities_text_title {font-weight: 700;color: #1a2851;letter-spacing: 0.02em;margin: 0;}
.facilities_text_desc {color: #5c5f60;line-height: 1.7;margin: 0;}




/*============== 섬기는분들 ==============*/
/* 담임목사 HERO */

.senior_pastor_wrap {display: grid;grid-template-columns: 2fr 4fr;gap: 3rem;}
.senior_pastor_wrap .dimode-component{width:100%;}
.people_senior_img {display: flex;justify-content: center;}
.people_senior_img img {max-width: 16rem;aspect-ratio: 3 / 4;object-fit: cover;}
.people_senior_info {padding-top: 1rem;}
.people_senior_label {color: #7194c1;font-weight: 700;letter-spacing: 0.2em;text-transform: uppercase;display: block;margin-bottom: 0.5rem;}
.people_senior_name {font-weight: 800;color: #223155;margin: 0 0 1rem;}
.people_senior_quote {color: #5c5f60;line-height: 1.7;font-weight: 500;margin: 0 0 2rem;padding-left: 0.75rem;border-left: 3px solid #c6c6d0;}
.people_senior_block {margin-bottom: 2rem;}
.people_senior_block_title {font-weight: 700;color: #1a2851;display: flex;align-items: center;gap: 0.5rem;margin: 0 0 1rem;}
.people_roman {color: #1a2851;}
.people_senior_list {list-style: none;padding: 0;margin: 0;display: flex;flex-direction: column;gap: 0.5rem;}
.people_senior_list li {position: relative;padding-left: 1rem;color: #5c5f60;line-height: 1.6;}
.people_senior_list li::before {content: "-";position: absolute;left: 0;top: 0;color: #5c5f60;font-weight: 700;}
.people_dot {width: 0.375rem;height: 0.375rem;background: #1a2851;margin-top: 0.6rem;flex-shrink: 0;}

/* 섹션 타이틀 (원로/부목사/전도사/장로 공통) */
.people_section_title {font-weight: 700;color: #223155;border-left: 3px solid #1a2851;padding-left: 0.75rem;margin: 0;}
.people_section_sub {color: #5c5f60;font-weight: 400;margin-left: 0.5rem;}

/* 카드 그리드 컨테이너 */
.people_row_grid {margin: 0 auto;}

/* 인물 카드 공통 */
.person_box {transition: background-color 0.2s;}
.person_box:hover {background-color: #f5f8ff;}

/* 가로형 카드 (원로/부목사) */
.person_img_horizontal {width: 8rem;flex-shrink: 0;}
.person_txt_wrap_horizontal {flex: 1;}
.person_role {color: #5c5f60;margin: 0.25rem 0 0;}
.person_desc {color: #5c5f60;line-height: 1.6;margin: 0.75rem 0 0;}

.person_box_horizontal {display: flex;border: 1px solid #eee;padding: 1.5rem;justify-content: center;align-items: flex-start;gap: 0 !important;overflow: hidden;}
.person_box_horizontal .person_img_horizontal {width: 9rem;}
.person_box_horizontal .person_img_horizontal img {display: block;height: 100%;}
.person_box_horizontal .person_txt_wrap_horizontal {padding: 1.5rem;}


/* 부목사 메타정보 */
.person_meta {margin-top: 0.75rem;display: flex;flex-direction: column;gap: 0.375rem;    align-items: flex-start;}
.person_meta_row {display: flex;gap: 0.5rem;}
.person_meta_label {width: 4.5rem;color: #76767f;flex-shrink: 0;}
.person_meta_value {color: #1c1b1b;}

/* 컴팩트 카드 (전도사) */
.person_img_compact {width: 6rem;flex-shrink: 0;}
.person_txt_wrap_compact {flex: 1;}

/* 이름 공통 */
.person_name {color: #223155;margin: 0;}




/*============== 예배안내 ==============*/
.dimode-theme .sec-title-overlay {position: relative !important;overflow: hidden;}
.dimode-theme .sec-title-overlay::before {content: "" !important;display: block !important;position: absolute !important;top: 0 !important;left: 0 !important;right: 0 !important;bottom: 0 !important;width: 100% !important;height: 100% !important;background: linear-gradient(180deg, rgb(0 21 61) 0%, rgb(20 36 103 / 0%) 60%, rgb(24 35 95 / 0%) 100%) !important;z-index: 1 !important;pointer-events: none;}
.dimode-theme .sec-title-overlay::after {display: none !important;}
.dimode-theme .sec-title-overlay > div {position: relative;z-index: 2;}

.worship_text_box{padding: 4rem 2rem 18rem;}
.worship_title {margin: 0;color: #fafafa;font-size: 2.5rem;font-weight: 700;etter-spacing: 0.05em;}
.worship_desc {color: #fafafa;font-size: 1.1rem;margin-top:10px;}
.sec-title-overlay > .dimode-component,
.sec-title-overlay > div {position: relative;z-index: 2;}
.t_worship{width:100%;text-align:center;}
.t_worship td{padding:20px;}
.t_worship td:first-child{background:#fafbfb;}
.t_worship td:nth-child(2), .t_worship td:nth-child(3){opacity:0.85;}
.t_worship tr:first-child{background:#414b69;font-weight:600;color:#fafafa;}



/*============== 오시는길 ==============*/
/* 2. 지도 영역  */
.location_map_wrap {position: relative; width: 100%; aspect-ratio: 21/9; background-color: #f0edec; border: 1px solid #c6c6d0; overflow: hidden;}
.location_map_img {width: 100%; height: 100%;}
.location_map_img img {width: 100%; height: 100%; object-fit: cover; display: block;}
.location_map_pin {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -100%); display: flex; flex-direction: column; align-items: center; z-index: 2;}
.location_pin_card {background-color: #ffffff; border: 1px solid #313e68; padding: 1.5rem; text-align: center; max-width: 22rem; min-width: 18rem;}
.location_pin_icon {color: #313e68; font-size: 2.25rem; margin-bottom: 0.5rem;}
.location_pin_title {font-weight: 700; color: #1c1b1b; margin: 0 0 0.25rem 0;}
.location_pin_addr {color: #5c5f60; margin: 0 0 1rem 0;}
.location_pin_btns {display: flex; gap: 0.5rem;}
.location_pin_btn {flex: 1; padding: 0.6rem 1rem; font-weight: 700; cursor: pointer; border: none; transition: opacity 0.2s, background-color 0.2s;}
.location_pin_btn_primary {background-color: #313e68; color: #ffffff;}
.location_pin_btn_primary:hover {opacity: 0.9;}
.location_pin_btn_line {background-color: #ffffff; color: #1c1b1b; border: 1px solid #76767f;}
.location_pin_btn_line:hover {background-color: #f6f3f2;}
.location_pin_pointer {width: 0; height: 0; border-left: 12px solid transparent; border-right: 12px solid transparent; border-top: 18px solid #313e68; margin-top: -1px;}

/*  3. 지하철 이용 */
.location_subway_grid {display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem;}
.location_subway_card {border: 1px solid #c6c6d0; padding: 2rem; background-color: #ffffff; transition: border-color 0.2s;}
.location_subway_card:hover {border-color: #313e68;}
.location_subway_top {display: flex; align-items: center; gap: 0.5rem; margin-bottom: 1rem;}
.location_line_badge {display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; border-radius: 9999px; color: #ffffff; font-weight: 900;}
.location_line_8 {background-color: #f6ad00;}
.location_line_9 {background-color: #ad9614;}
.location_subway_name {font-weight: 700; color: #1c1b1b; margin-left: 0.5rem;}
.location_exit {font-weight: 700; color: #1c1b1b; margin: 0 0 0.75rem 0;}
.location_subway_desc {color: #5c5f60; line-height: 1.7; margin: 0;}

/* 4. 버스 이용  */
.location_bus_box {background-color: #fafbfb; border: 1px solid #c6c6d0; padding: 2rem;}
.location_bus_top {display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; flex-wrap: wrap;}
.location_bus_route {display: flex; flex-direction: column; gap: 0.5rem;}
.location_bus_kicker {color: #313e68; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase;}
.location_bus_path {display: flex; align-items: center; gap: 0.75rem; font-weight: 700; color: #1c1b1b;}
.location_bus_arrow {color: #76767f;}
.location_bus_numbers {display: flex; gap: 0.75rem; flex-wrap: wrap;}
.location_bus_num {display: inline-block; padding: 0.5rem 1rem; border: 1px solid #313e68; color: #313e68; font-weight: 900;}
.location_bus_note {margin-top: 2rem; padding-top: 2rem; border-top: 1px solid #c6c6d0;}
.location_bus_note p {color: #5c5f60; line-height: 1.6; margin: 0;}
#daumRoughmapContainer1779954190676 .cont{display:none;}



/*============== 다음세대 ==============*/
.nxt_hero_img img {aspect-ratio: 10 / 4;filter: brightness(1.1);}
.nxt_dept_wrap {display: grid; grid-template-columns: 4fr 8fr; gap: 3rem; align-items: center; padding: 2.5rem 2rem; background: #313e68;}

.nxt_dept_title {display: flex; flex-direction: column; gap: 0.5rem; padding-right: 2.5rem;}
.nxt_dept_ko {font-weight: 900; color: #fafafa; letter-spacing: -0.03em; margin: 0; line-height: 1.1;}
.nxt_dept_en {color: #fafafa; font-weight: 500; letter-spacing: 0.3em;}

.nxt_dept_info {display: flex; flex-direction: column; gap: 1.25rem; padding-left: 2.5rem; border-left: 1px solid #c6c6d0;}
.nxt_info_row {display: flex; align-items: center; gap: 1rem;}
.nxt_info_icon {flex-shrink: 0; background-color: #fafafa; color: #313e68; padding: 0.6rem; border-radius: 50%; font-size: 1.2rem; display: inline-flex; align-items: center; justify-content: center;}
.nxt_info_body {flex: 1; min-width: 0; display: flex; align-items: baseline; gap: 1rem; flex-wrap: wrap;}
.nxt_info_label {color: #fafafa; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; flex-shrink: 0; min-width: 70px;opacity:0.8;}
.nxt_info_text {font-weight: 500; color: #fafafa; margin: 0;}
.nxt_info_text strong {font-weight: 900; color: #fafafa; margin-left: 0.25rem;}

/*2. 리더 3인 (교장 / 담당교역자 / 부장)*/
.people_leaders_grid {display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; align-items: stretch;}
.people_leaders_grid::before, .people_leaders_grid::after {display: none !important;}
.people_leaders_grid > .dimode-component {width: 100%;}

.people_leader_card {display: flex; flex-direction: column; gap: 0.5rem; border: 1px solid #dddddd; background: #f6f9ff;}
.people_leader_role {color: #414b69; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; margin: 0 0 0.75rem 0;}
.people_leader_name_ko {letter-spacing: -0.03em; margin: 0; line-height: 1.2; color: #1c1b1b;}
.people_leader_name_ko strong {color: #1a2851;}

/* 3. 공통 - Staff / Teachers 서브헤드 */
.people_subhead {display: flex; align-items: center; gap: 0.5rem; font-weight: 700; color: #1a2851; margin: 0 0 1.5rem 0;}
.people_subhead_icon {color: #313e68;}


/*============== 셀 공동체 소개 ==============*/
.cell_grid {display: grid; grid-template-columns: repeat(2, 1fr); gap: 2rem; align-items: stretch;}
.cell_grid::before, .cell_grid::after {display: none !important;}
.cell_grid > .dimode-component {width: 100%;}

.cell_card {display: flex; flex-direction: column; border: 1px solid #dddddd; background: #ffffff; overflow: hidden; transition: border-color 0.25s ease;}
.cell_card:hover {border-color: #1a2851;}

.cell_card_img {width: 100%; line-height: 0;}
.cell_card_img img {width: 100%; aspect-ratio: 5 / 3; object-fit: cover; display: block;}

.cell_card_body {display: flex; flex-direction: column; gap: 1.25rem; padding: 2rem; flex: 1;}
.cell_card_head {display: flex; flex-direction: column; gap: 0.5rem; padding-bottom: 1.25rem; border-bottom: 1px solid #e5e2e1;}
.cell_card_kicker {color: #313e68; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; opacity: 0.85;}
.cell_card_name {color: #1a2851; font-weight: 900; letter-spacing: -0.02em; margin: 0; line-height: 1.2;}
.cell_card_desc {color: #45464e; line-height: 1.85; margin: 0; word-break: keep-all;}




/*============== 새가족양육 ==============*/
/*  1. 새가족 인트로  */
.newfamily_intro_wrap p:not(:last-child) {margin-bottom: 30px;}
.newfamily_intro_text {opacity: 0.8; line-height: 1.8; letter-spacing: -0.01em; word-break: keep-all;}
.newfamily_intro_wrap #component8725 {width: 100%;}

/* 2. 새가족 성경공부  */
.newfamily_study_wrap {display: grid; grid-template-columns: 7fr 7fr; gap: 7rem; align-items: center;}
.newfamily_study_visual {position: relative; padding-bottom: 2.5rem;}
.newfamily_study_img {width: 100%; aspect-ratio: 4/4; overflow: hidden; border: 1px solid #c6c6d0; background-color: #e5e2e1;}
.newfamily_study_img img {width: 100%; height: 100%; object-fit: cover; display: block; filter: grayscale(20%); transition: filter 0.7s;}
.newfamily_study_img img:hover {filter: grayscale(0);}
.newfamily_schedule_box {position: absolute !important; right: -2rem; bottom: 0; background-color: #313e68; color: #ffffff; padding: 2.5rem; z-index: 2;}
.newfamily_schedule_label {font-weight: 700; letter-spacing: 0.2em; margin-bottom: 0.5rem; color: #ffffff;}
.newfamily_schedule_day {font-weight: 700; color: #ffffff; margin-bottom: 0.25rem;}
.newfamily_schedule_time {color: #ffffff; opacity: 0.95;}

/*  3. 커리큘럼 카드 */
.curriculum_grid {display: grid; grid-template-columns: repeat(5, 1fr); gap: 1.5rem;}
.curriculum_card {background: #ffffff; border: 1px solid #dddddd; padding: 2rem 1.5rem; display: flex; flex-direction: column; align-items: center; text-align: center; transition: border-color 0.25s ease;}
.curriculum_card:hover {border-color: #1a2851;}
.curriculum_step {color: #1a2851; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase;}
.curriculum_subject {color: #1c1b1b; font-weight: 700; flex: 1; display: flex; align-items: center; line-height: 1.45;}

/*  4. 등록 안내 절차  */
.newfamily_steps_wrap {position: relative; margin-bottom: 2rem;}
.newfamily_steps_line {position: absolute; top: 3rem; left: 0; right: 0; height: 1px; background-color: #c6c6d0; z-index: 1;}
.newfamily_steps_grid {position: relative; z-index: 2; display: grid; grid-template-columns: repeat(5, 1fr); gap: 1rem;}
.newfamily_step {display: flex; flex-direction: column; align-items: center; text-align: center; padding: 0 1rem;}
.newfamily_step_circle {width: 6rem; height: 6rem; border-radius: 50%; background-color: #7690db; display: flex; align-items: center; justify-content: center; margin-bottom: 1.5rem; border: 4px solid #fcf9f8;}
.newfamily_step_circle .material-symbols-outlined {font-size: 1.875rem; color: #ffffff;}
.newfamily_step_label {color: #1a2851; font-weight: 700; letter-spacing: 0.2em; margin-bottom: 0.5rem;}
.newfamily_step_title {color: #1a2851; font-weight: 700; margin: 0 0 0.75rem 0;}
.newfamily_step_desc {color: #45464e; line-height: 1.7; max-width: 240px; margin: 0; word-break: keep-all;}


/*============== 일대이제자양육 ==============*/
/* 1. 상단 인트로 (이미지 + 텍스트 2단)  */
.disciple_top_wrap {display: grid; grid-template-columns: 7fr 7fr; gap: 7rem; align-items: center;}
.disciple_top_visual {position: relative; padding-bottom: 2.5rem;}
.disciple_top_img {width: 100%; aspect-ratio: 4/4; overflow: hidden; border: 1px solid #c6c6d0; background-color: #e5e2e1;}
.disciple_top_img img {width: 100%; height: 100%; object-fit: cover; display: block; filter: grayscale(20%); transition: filter 0.7s;}
.disciple_top_img img:hover {filter: grayscale(0);}
.disciple_top_box {position: absolute !important; right: -2rem; bottom: 0; background-color: #1a2851; color: #ffffff; padding: 2.5rem; z-index: 2;}
.disciple_top_label {font-weight: 700; letter-spacing: 0.2em; margin-bottom: 0.5rem; color: #ffffff;}
.disciple_top_day {font-weight: 700; color: #ffffff; margin-bottom: 0.25rem;}
.disciple_top_time {color: #ffffff; opacity: 0.95;}
.disciple_intro_wrap p:not(:last-child) {margin-bottom: 30px;}
.disciple_intro_text {opacity: 0.8; line-height: 1.8; letter-spacing: -0.01em; word-break: keep-all;}
.disciple_intro_text strong {color: #1a2851; font-weight: 700;}

/* 2. 3단 카드 그리드 */
.disciple_grid {display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; align-items: stretch;}
.disciple_grid::before, .disciple_grid::after {display: none !important;}
.disciple_grid > .dimode-component {width: 100%; display: flex;}
.disciple_card {background: #ffffff; border: 1px solid #dddddd; padding: 2.5rem 2rem; display: flex; flex-direction: column; width: 100%; transition: border-color 0.25s ease;}
.disciple_card:hover {border-color: #1a2851;}
.disciple_card_head {display: flex; justify-content: space-between; align-items: center; margin-bottom: 2rem;}
.disciple_card_icon {width: 3rem; height: 3rem; border-radius: 50%; background-color: #1a2851; display: flex; align-items: center; justify-content: center;}
.disciple_card_icon .material-symbols-outlined {font-size: 1.5rem; color: #fafafa;}
.disciple_card_num {color: #c6c6d0; font-weight: 700; letter-spacing: -0.02em;}
.disciple_card_title {color: #1a2851; font-weight: 700; margin: 0 0 2rem 0; letter-spacing: -0.01em;}
.disciple_card_title_en {color: #1a2851; font-weight: 500; margin-left: 0.25rem;}
.disciple_card_desc {color: #45464e; line-height: 1.7; margin: 0 0 2rem 0; word-break: keep-all;}

/* 레슨 리스트 (3개 카드 공통) */
.disciple_lesson_list {list-style: none; padding: 0; margin: 0; border-top: 1px solid #e5e2e1; flex: 1;}
.disciple_lesson_item {display: flex; align-items: flex-start; gap: 0.75rem; padding: 0.875rem 0; border-bottom: 1px solid #e5e2e1;}
.disciple_lesson_num {flex-shrink: 0; color: #1a2851; font-weight: 700; min-width: 1.5rem;}
.disciple_lesson_text {flex: 1; color: #45464e; line-height: 1.6; word-break: keep-all;}
.disciple_lesson_page {flex-shrink: 0; color: #8a8b93; font-weight: 600; font-size: 0.8rem; padding-top: 0.1rem;}

/* 과정 카운트 (하단 고정) */
.disciple_growth_count {color: #1a2851; font-weight: 700; padding-top: 1.25rem; margin-top: 1.25rem; border-top: 1px solid #e5e2e1;}


/*============== 선택성경공부 ==============*/

@media  (max-width:1199px) {
	/*============== 인사말 ==============*/
	 .greeting_wrap {gap: 2.5rem;}
    .greeting_text {padding: 2.5rem;}
    .greeting_pastor_name {padding: 1.75rem 1.5rem; max-width: 12rem;}
	/*============== 목회비전 ==============*/
	 .vision_cards_wrap {gap: 1.5rem;}
    .vision_card_body {padding: 1.5rem;}
    .vision_projects_grid {gap: 1.5rem;}
	/*============== 교회역사 ==============*/
	.history_hero {min-height: 22rem;}
    .history_tabmenu li a {padding: 0.5rem 1.1rem;}
	/*============== 시설안내 ==============*/
	/*============== 섬기는분들 ==============*/
	/*============== 예배안내 ==============*/
	/*============== 오시는길 ==============*/
	.location_map_wrap {aspect-ratio: 16/8;}
	/*============== 다음세대 ==============*/
	.people_leaders_grid {gap: 1.5rem;}
    .people_staff_item {gap: 1rem;}
	/*============== 새가족양육 ==============*/
	.newfamily_study_wrap {gap: 3rem;}
    .newfamily_schedule_box {padding: 2rem;}
    .curriculum_card {padding: 1.75rem 1rem;}
    .newfamily_step_desc {max-width: 200px;}
	/*============== 일대이제자양육 ==============*/
	.disciple_top_wrap {gap: 3rem;}
    .disciple_top_box {padding: 2rem;}
    .disciple_card {padding: 2rem 1.5rem;}
	/*============== 선택성경공부 ==============*/
}



@media (max-width: 991px) {
	/*============== 인사말 ==============*/
	 .greeting_wrap {gap: 2rem;}
    .greeting_pastor {max-width: 24rem; margin: 0 auto; padding-bottom: 2rem;}
    .greeting_pastor_img {aspect-ratio: 4 / 3;}
    .greeting_pastor_name {padding: 1.5rem 1.5rem; max-width: 13rem;}
    .greeting_text {padding: 2rem;}
    .greeting_head {margin-bottom: 1.75rem;}
    .greeting_text p {margin-bottom: 1.5rem;}
	/*============== 목회비전 ==============*/
	    .vision_cards_wrap {grid-template-columns: repeat(2, 1fr); gap: 1.5rem;}
    .vision_tasks_grid {grid-template-columns: 1fr; gap: 1.5rem;}
    .vision_projects_grid {grid-template-columns: repeat(2, 1fr); gap: 2rem;}
    .vision_project_item {border-right: none; border-bottom: 1px solid #e5e2e1; padding-bottom: 2rem;}
    .vision_project_item:nth-child(2n) {border-right: none;}
	/*============== 교회역사 ==============*/
	.history_col_date {width: 9rem;}
    .history_table th, .history_table td {padding: 1.2rem 0.8rem;}
	/*============== 시설안내 ==============*/
	.facilities_grid {grid-template-columns: 1fr;gap: 2rem;}
	.facilities_grid_reverse .slidesub {order: -1;}
	/*============== 섬기는분들 ==============*/
	.person_img_horizontal {width: 7rem;}
	/*============== 예배안내 ==============*/
	.worship_text_box {padding: 3rem 2rem 10rem;}
	/*============== 오시는길 ==============*/
	.location_map_wrap {aspect-ratio: 16/9;}
    .location_subway_grid {grid-template-columns: 1fr; gap: 1rem;}
    .location_bus_top {flex-direction: column; align-items: flex-start;}
	/*============== 다음세대 ==============*/
	.nxt_dept_wrap {grid-template-columns: 1fr; gap: 1.75rem; padding: 2rem;}
    .nxt_dept_title {padding-right: 0; padding-bottom: 1.5rem; border-bottom: 1px solid #c6c6d0;}
    .nxt_dept_info {padding-left: 0; border-left: none;}
    .people_leaders_grid {grid-template-columns: 1fr; gap: 1rem;}
    .people_staff_list {grid-template-columns: 1fr; gap: 1rem;}
	/*============== 셀 공동체 소개 ==============*/
    .cell_grid {gap: 1.5rem;}
    .cell_card_body {padding: 1.75rem;}
	/*============== 새가족양육 ==============*/
	.newfamily_study_wrap {grid-template-columns: 1fr; gap: 4rem;}
    .newfamily_study_visual {max-width: 28rem; margin: 0 auto;}
    .newfamily_schedule_box {right: 1rem; bottom: -1.5rem;}
    .curriculum_grid {grid-template-columns: repeat(3, 1fr); gap: 1rem;}
    .section_head {margin-bottom: 2rem;}
    .newfamily_steps_line {display: none;}
    .newfamily_steps_grid {grid-template-columns: repeat(2, 1fr); gap: 3rem 1rem;}
	/*============== 일대이제자양육 ==============*/
	.disciple_top_wrap {grid-template-columns: 1fr; gap: 4rem;}
    .disciple_top_visual {max-width: 28rem; margin: 0 auto;}
    .disciple_top_box {right: 1rem; bottom: -1.5rem;}
    .disciple_grid {grid-template-columns: 1fr; gap: 1.25rem;}
    .section_head {margin-bottom: 2rem;}
	/*============== 선택성경공부 ==============*/
}


@media (max-width: 767px) {

	.p_top_3{padding-top:1rem;} .p_bottom_3{padding-bottom:1rem;}
	.p_top_4{padding-top:3rem;} .p_bottom_4{padding-bottom:3rem;}
	.p_top_5{padding-top:3rem;} .p_bottom_5{padding-bottom:3rem;}
	.p_top_6{padding-top:4rem;} .p_bottom_6{padding-bottom:4rem;}
	
	/*============== 인사말 ==============*/
	.greeting_wrap {grid-template-columns: 1fr; gap: 1.5rem;}
    .greeting_pastor {max-width: 100%; padding-bottom: 1.5rem;}
    .greeting_pastor_img {aspect-ratio: 3 / 4;}
    .greeting_pastor_name {padding: 1.25rem 1.25rem; max-width: 11rem; bottom: -0.5rem;}
    .greeting_text {padding: 1.5rem 1.25rem;}
    .greeting_head {margin-bottom: 1.25rem;}
    .greeting_text p {margin-bottom: 1.25rem; line-height: 1.7;}
    .greeting_sign {padding-top: 0.5rem;}
    .greeting_sign > p {margin-bottom: 0.5rem;}
	/*============== 목회비전 ==============*/
	    .vision_cards_wrap {grid-template-columns: 1fr; gap: 1.5rem;}
    .vision_card_body {padding: 1.5rem; gap: 1rem;}
    .vision_card_quote {padding: 0.75rem;}
    .vision_tasks_head {margin-bottom: 2.5rem;}
    .vision_tasks_kicker {letter-spacing: 0.2em;}
    .vision_tasks_grid {grid-template-columns: 1fr; gap: 1rem;}
    .vision_task_item {padding: 2rem 1.5rem !important;}
    .vision_projects_grid {grid-template-columns: 1fr; gap: 0;}
    .vision_project_item {padding: 1.5rem 0.5rem !important; border-right: none; border-bottom: 1px solid #e5e2e1;}
    .vision_project_item:last-child {border-bottom: none;}
    .vision_project_icon {margin-bottom: 1rem;}
	/*============== 교회역사 ==============*/
	.hero_text strong{color:#14397f;}
	.history_tabmenu {gap: 0.4rem; padding-bottom: 1rem; margin-bottom: 2rem;}
    .history_tabmenu li a {padding: 0.4rem 0.9rem; font-size: 0.85rem;}
    .history_year_title {margin-bottom: 1.5rem;}
    .history_table, .history_table tbody, .history_table tr, .history_table th, .history_table td {display: block; width: 100%;}
    .history_col_date, .history_col_content {width: 100%;}
    .history_table tr {padding: 1.2rem 0;}
    .history_table th {padding: 0 0 0.5rem 0; font-size: 1.05rem;}
    .history_table td {padding: 0;}
	/*============== 시설안내 ==============*/
	.facilities_tabs {gap: 1.5rem;}
	.facilities_section_head {gap: 0.75rem;margin-bottom: 1.5rem;}
	/*============== 섬기는분들 ==============*/
	.senior_pastor_wrap {grid-template-columns: 1fr;gap: 0.4rem;}
	  .people_senior_info {padding-top: 1.5rem;}
	  .person_box_horizontal {flex-direction: column !important;align-items: center !important;}
	  .person_img_horizontal {width: 100%;}
	  .person_box_horizontal .person_img_horizontal {width: 100%;}
	/*============== 예배안내 ==============*/
	.worship_text_box {padding: 2rem 2rem 6rem;}
	/*============== 오시는길 ==============*/
	.location_subway_card {padding: 1.5rem;}
    .location_bus_box {padding: 1.5rem;}
    .location_bus_top {gap: 1.25rem;}
    .location_bus_path {flex-wrap: wrap; gap: 0.5rem;}
    .location_bus_numbers {gap: 0.5rem;}
    .location_bus_num {padding: 0.45rem 0.85rem;}
    .location_bus_note {margin-top: 1.5rem; padding-top: 1.5rem;}
	/*============== 다음세대 ==============*/
	.nxt_hero_img img{aspect-ratio: 4 / 4;}
	.nxt_dept_wrap {padding: 2rem; gap: 1.25rem;}
    .nxt_dept_title {padding-bottom: 1.25rem;}
    .nxt_dept_info {gap: 1rem;}
    .nxt_info_icon {padding: 0.5rem; font-size: 1.25rem;}
    .nxt_info_body {gap: 0.5rem;}
    .nxt_info_label {min-width: auto; width: 100%;}
    .people_leader_card {padding: 1.5rem !important;}
    .people_leader_role {margin-bottom: 0.5rem;}
    .people_subhead {margin-bottom: 1rem;}
    .people_staff_wrap {padding-bottom: 2rem;}
    .people_staff_item {gap: 1rem;}
	/*============== 셀 공동체 소개 ==============*/
    .cell_grid {grid-template-columns: 1fr; gap: 1.5rem;}
    .cell_card_img img {aspect-ratio: 16 / 10;}
    .cell_card_body {padding: 1.5rem 1.25rem; gap: 1rem;}
    .cell_card_head {padding-bottom: 1rem;}
	/*============== 새가족양육 ==============*/
	.newfamily_intro_wrap {margin-bottom: 2rem;}
    .newfamily_intro_text {line-height: 1.75;}
    .newfamily_study_wrap {gap: 3rem;}
    .newfamily_study_img {aspect-ratio: 4/3;}
    .newfamily_schedule_box {position: static !important; padding: 1.5rem; margin-top: 1rem; text-align: center;}
    .curriculum_grid {grid-template-columns: repeat(2, 1fr); gap: 0.75rem;}
    .curriculum_card {padding: 1.5rem 0.75rem;}
    .section_head {margin-bottom: 1.5rem;}
    .newfamily_steps_grid {grid-template-columns: 1fr; gap: 2.5rem;}
    .newfamily_step {padding: 0;}
    .newfamily_step_circle {width: 5rem; height: 5rem; margin-bottom: 1rem;}
    .newfamily_step_circle .material-symbols-outlined {font-size: 1.5rem;}
    .newfamily_step_desc {max-width: 280px;}
	/*============== 일대이제자양육 ==============*/
	.disciple_top_wrap {gap: 3rem;}
    .disciple_top_img {aspect-ratio: 4/3;}
    .disciple_top_box {position: static !important; padding: 1.5rem; margin-top: 1rem; text-align: center;}
    .disciple_intro_wrap {margin-bottom: 0;}
    .disciple_intro_text {line-height: 1.75;}
    .disciple_card {padding: 1.75rem 1.25rem;}
    .disciple_card_head {margin-bottom: 1.5rem;}
    .disciple_card_desc {margin-bottom: 1.5rem;}
    .disciple_lesson_item {gap: 0.5rem;}
    .section_head {margin-bottom: 1.5rem;}
	/*============== 선택성경공부 ==============*/
}