@charset "utf-8";
.root_daum_roughmap,
.root_daum_roughmap .wrap_map {border-radius:16px; overflow:hidden; height:clamp(250px, calc( 480 / var(--inner) * 100vw ), 480px) !important; width:100% !important;}
.root_daum_roughmap .cont {display:none !important;}

.doc-head {margin-bottom:var(--space-60);}
.doc-tit {margin:0; font-size:var(--font-size-40); font-weight:600; line-height:1.35em; letter-spacing:-0.03em; color:var(--color-bk);}

.no-real-cont {padding-bottom:0 !important;}
.bg-gray {padding:var(--space-100) 0 var(--space-120); background-color:#FAFAFA;}

/* 인사말 */
.greetings-cont {margin-top:var(--space-60);}
.greetings-body {display:flex; align-items:flex-start; gap:0;}
.greetings-txt {flex:1; min-width:0;}
.greetings-lead {margin:0 0 var(--space-35); font-size:var(--font-size-36); font-weight:600; line-height:1.4em; letter-spacing:-0.03em; background:linear-gradient(90deg, #134258 0%, #298bb9 100%); -webkit-background-clip:text; background-clip:text; color:transparent;}
.greetings-desc {display:flex; flex-direction:column; gap:var(--space-25); font-size:var(--font-size-18); font-weight:400; line-height:1.78em; color:#505050;}
.greetings-sign {margin:var(--space-35) 0 0; font-size:var(--font-size-18); font-weight:600; line-height:1.78em; color:var(--color-bk);}
.greetings-profile {flex:1; min-width:0; border-left:1px dashed #ddd; padding-left:var(--space-60); align-self:stretch;}
.greetings-profile-name {margin:0; font-size:var(--font-size-24); font-weight:600; line-height:1.67em; color:var(--color-bk);}
.greetings-profile-line {display:block; width:28px; height:2px; margin:var(--space-25) 0; background:#dfdfdf; border-radius:100px;}
.greetings-profile-list {display:flex; flex-direction:column; gap:12px;}
.greetings-profile-list li {display:flex; align-items:center; gap:8px; font-size:var(--font-size-20); font-weight:400; line-height:1.7em; color:#505050;}
.greetings-profile-icon {display:flex; align-items:center; justify-content:center; width:20px; height:20px; flex-shrink:0;}
.greetings-profile-icon img {display:block; width:18px; height:18px;}

/* 비전 */
.vision-banner {position:relative; display:flex; align-items:center; justify-content:center; min-height:400px; padding:var(--space-50); border-radius:16px; overflow:hidden; margin-bottom:var(--space-140);}
.vision-banner-bg {position:absolute; inset:0; z-index:0;}
.vision-banner-bg img {width:100%; height:100%; object-fit:cover;}
.vision-banner-txt {position:relative; z-index:1; margin:0; font-size:var(--font-size-28); font-weight:500; line-height:1.5em; text-align:center; color:#fff;}
.vision-diagram {display:flex; align-items:center; justify-content:center; flex-wrap:wrap; margin-bottom:var(--space-140);}
.vision-diagram-col {display:flex; flex-direction:column; gap:var(--space-20); width:540px; max-width:100%;}
.vision-diagram-col--left {align-items:flex-end;}
.vision-diagram-col--right {align-items:flex-start;}
.vision-card-offset {display:flex; width:100%;}
.vision-card-offset--left {justify-content:flex-start; padding-right:var(--space-40);}
.vision-card-offset--right {justify-content:flex-start; padding-left:var(--space-40);}
.vision-card {display:flex; align-items:center; justify-content:space-between; width:100%; max-width:500px; padding:8px var(--space-20); border:1px solid #eee; border-radius:500px; box-sizing:border-box;}
.vision-card-main {display:flex; align-items:center; gap:var(--space-25); flex:1; min-width:0;}
.vision-card--reverse .vision-card-main {justify-content:flex-end;}
.vision-card-body--right {text-align:right;}
.vision-card-num {font-size:72px; width:45px; font-weight:400; line-height:86px; letter-spacing:-0.03em; color:#f6f6f6; flex-shrink:0; text-align:center;}
.vision-card-body {flex:1; min-width:0;}
.vision-card-tit {margin:0; font-size:var(--font-size-20); font-weight:600; line-height:1.7em; letter-spacing:-0.03em; color:var(--color-bk);}
.vision-card-desc {margin:4px 0 0; font-size:var(--font-size-18); font-weight:400; line-height:1.78em; letter-spacing:-0.03em; color:#505050;}
.vision-card-icon {display:flex; align-items:center; justify-content:center; width:72px; height:72px; border-radius:50%; background:#f5fafd; flex-shrink:0;}
.vision-card-icon img {display:block; width:36px; height:auto; max-height:36px;}
.vision-core {display:flex; align-items:center; justify-content:center; width:320px; height:320px; border-radius:50%; background:linear-gradient(90deg, #134258 0%, #298bb9 100%); flex-shrink:0;}
.vision-core p {margin:0; font-size:var(--font-size-32); font-weight:600; line-height:1.44em; letter-spacing:-0.03em; text-align:center; color:#fff; white-space:nowrap;}
.vision-visual {height:400px; border-radius:16px; overflow:hidden; margin-bottom:var(--space-120);}
.vision-visual img {width:100%; height:100%; object-fit:cover; object-position:center 35%;}
.vision-sec {display:flex; align-items:flex-start; margin-bottom:var(--space-140);}
.vision-direction.vision-sec {margin-bottom:0;}
.vision-sec-tit {flex:0 0 480px; margin:0; font-size:var(--font-size-36); font-weight:600; line-height:1.39em; letter-spacing:-0.03em; color:var(--color-bk);}
.vision-purpose-list {flex:1; min-width:0; display:flex; align-items:stretch;}
.vision-purpose-item {flex:1; min-width:0; display:flex; flex-direction:column; justify-content:space-between; gap:var(--space-25); padding:var(--space-25) var(--space-25) var(--space-25) 0; border-left:1px solid #eee;}
.vision-purpose-txt {border-left:1px solid var(--color-primary); padding-left:var(--space-25);}
.vision-purpose-txt p {margin:0; font-size:var(--font-size-20); font-weight:500; line-height:1.7em; color:var(--color-bk);}
.vision-purpose-icon {display:flex; align-items:center; justify-content:flex-end; width:100%;}
.vision-purpose-icon img {display:block; width:30px; height:auto; max-height:28px;}
.vision-direction-list {flex:1; min-width:0; display:flex; align-items:stretch; gap:var(--space-10);}
.vision-direction-item {flex:1; min-width:0; display:flex; flex-direction:column; justify-content:space-between; padding:var(--space-16) 12px 0 var(--space-16); border:1px solid #eee; border-radius:8px;}
.vision-direction-txt {margin:0; font-size:var(--font-size-18); font-weight:500; line-height:1.78em; color:var(--color-bk);}
.vision-direction-num {align-self:flex-end; font-size:var(--font-size-50); font-weight:400; line-height:0.76em; letter-spacing:-0.03em; color:#e2f2f9;}

/* 명상이란 */
.meditation-intro {margin-bottom:var(--space-140);}
.meditation-intro-visual {margin:0 0 var(--space-60); height:480px; border-radius:16px; overflow:hidden;}
.meditation-intro-visual img {width:100%; height:100%; object-fit:cover;}
.meditation-intro-body {display:flex; align-items:flex-start;}
.meditation-intro-tit {flex:0 0 480px; margin:0; font-size:var(--font-size-36); font-weight:600; line-height:1.4em; color:var(--color-bk);}
.meditation-intro-txt {flex:1; min-width:0; margin:0; font-size:var(--font-size-20); font-weight:400; line-height:1.7em; color:#505050;}
.meditation-method {display:flex; gap:var(--space-16); margin-bottom:var(--space-140);}
.meditation-method-card {flex:1; display:flex; align-items:center; gap:var(--space-20); padding:24px; border:1px solid #eee; border-radius:16px;}
.meditation-method-head {flex:1; min-width:0; display:flex; flex-direction:column; gap:24px;}
.meditation-method-tit {margin:0; font-size:var(--font-size-24); font-weight:600; line-height:1.67em; color:var(--color-bk);}
.meditation-method-list {display:flex; flex-direction:column; gap:10px;}
.meditation-method-list li {display:flex; align-items:center; gap:10px; font-size:var(--font-size-20); font-weight:400; line-height:1.7em; color:#505050;}
.meditation-method-list li:before {content:''; width:4px; height:4px; border-radius:50%; background:#ccc; flex-shrink:0;}
.meditation-method-arrow {flex-shrink:0; width:56px; height:56px;}
.meditation-method-arrow img {display:block; width:100%; height:auto;}
.meditation-method-quote {flex:1; display:flex; align-items:center; justify-content:center; align-self:stretch; margin:0; border-radius:8px; background:#fafafa; font-size:var(--font-size-20); font-weight:600; line-height:1.7em; color:var(--color-primary); text-align:center;}
.meditation-feature {display:flex; align-items:center; gap:var(--space-100); margin-bottom:var(--space-140);}
.meditation-feature-visual {flex:0 0 692px; margin:0; height:480px; border-radius:16px; overflow:hidden;}
.meditation-feature-visual img {width:144.21%; max-width:none; height:138.62%; object-fit:cover; transform:translate(-30.5%, -19.3%);}
.meditation-feature-body {flex:1; min-width:0; display:flex; flex-direction:column; gap:24px; justify-content:center;}
.meditation-feature-head {display:flex; flex-direction:column; gap:var(--space-16); max-width:480px;}
.meditation-feature-icon {display:flex; width:36px; height:36px;}
.meditation-feature-icon img {display:block; width:100%; height:auto;}
.meditation-feature-line {display:block; width:28px; height:2px; border-radius:100px; background:#dfdfdf;}
.meditation-feature-tit {margin:0; font-size:var(--font-size-36); font-weight:600; line-height:1.4em; color:var(--color-bk);}
.meditation-feature-txt {margin:0; font-size:var(--font-size-24); font-weight:400; line-height:1.67em; color:#505050;}
.meditation-benefit {display:flex; align-items:flex-start; margin-bottom:var(--space-120);}
.meditation-benefit-tit {flex:0 0 480px; margin:0; font-size:var(--font-size-36); font-weight:600; line-height:1.4em; color:var(--color-bk);}
.meditation-benefit-body {flex:1; min-width:0; display:flex; flex-direction:column; align-items:center; gap:var(--space-20);}
.meditation-benefit-tags {display:flex; gap:var(--space-16); width:100%;}
.meditation-benefit-tags li {flex:1; display:flex; align-items:center; gap:10px; min-height:76px; padding:20px; border:1px solid #eee; border-radius:8px; font-size:var(--font-size-22); font-weight:500; line-height:1.64em; color:var(--color-bk);}
.meditation-benefit-tags li:before {content:''; width:4px; height:4px; border-radius:50%; background:#30A1D7; flex-shrink:0;}
.meditation-benefit-arrow {display:block; width:56px; height:56px; flex-shrink:0;}
.meditation-benefit-arrow img {display:block; width:100%; height:auto;}
.meditation-benefit-banner {width:100%; margin:0; padding:24px; border-radius:8px; background:var(--color-primary); font-size:var(--font-size-22); font-weight:600; line-height:1.64em; color:#fff; text-align:center;}
.meditation-effect {display:flex; align-items:flex-start; margin-bottom:0;}
.meditation-effect-tit {flex:0 0 480px; margin:0; font-size:var(--font-size-36); font-weight:600; line-height:1.4em; color:var(--color-bk);}
.meditation-effect-grid {flex:1; min-width:0; display:flex; gap:var(--space-16);}
.meditation-effect-item {flex:1; min-width:0; display:flex; flex-direction:column; gap:28px;}
.meditation-effect-item figure {margin:0; height:280px; border-radius:16px; overflow:hidden;}
.meditation-effect-item figure img {width:100%; height:100%; object-fit:cover;}
.meditation-effect-item--brain figure img {width:100%; height:100%; object-fit:cover; object-position:center 25%;}
.meditation-effect-content {display:flex; flex-direction:column; gap:20px;}
.meditation-effect-item h4 {margin:0; font-size:var(--font-size-28); font-weight:600; line-height:1.5em; color:var(--color-bk);}
.meditation-effect-item dl {margin:0; display:flex; flex-direction:column; gap:10px;}
.meditation-effect-item dl div {display:flex; gap:var(--space-16); align-items:center;}
.meditation-effect-item dt {display:flex; align-items:center; gap:10px; flex:0 0 104px; margin:0; font-size:var(--font-size-20); font-weight:600; line-height:1.7em; color:var(--color-bk);}
.meditation-effect-item dt:before {content:''; width:4px; height:4px; border-radius:50%; background:#30A1D7; flex-shrink:0;}
.meditation-effect-item--brain dt {flex:0 0 142px;}
.meditation-effect-item dd {margin:0; font-size:var(--font-size-20); font-weight:400; line-height:1.7em; color:#505050;}

/* 연혁 */
.history-timeline {display:flex; flex-direction:column;}
.history-year {display:flex; justify-content:space-between; align-items:flex-start; gap:var(--space-40); padding-top:var(--space-25); padding-bottom:var(--space-120); border-top:1px solid var(--color-bk);}
.history-year:last-child {padding-bottom:0;}
.history-year-head {flex:0 0 700px; max-width:700px; min-width:0; display:flex; flex-direction:column; gap:10px;}
.history-year-year {margin:0; font-size:var(--font-size-56); font-weight:600; line-height:1.25em; letter-spacing:-0.02em; color:var(--color-primary);}
.history-year-desc {margin:0; font-size:var(--font-size-24); font-weight:500; line-height:1.67em; letter-spacing:-0.03em; color:#505050;}
.history-year-list {flex:1; min-width:0; display:flex; flex-direction:column; gap:var(--space-16);}
.history-year-list li {display:grid; grid-template-columns:160px 1fr; column-gap:var(--space-16); row-gap:10px; align-items:center; padding-bottom:var(--space-16); border-bottom:1px solid #eee;}
.history-year-list li:last-child {padding-bottom:0; border-bottom:none;}
.history-year-list li:has(span:nth-of-type(2)) {align-items:start;}
.history-year-list time {grid-column:1; grid-row:1; align-self:center; font-size:var(--font-size-20); font-weight:600; line-height:1.7em; letter-spacing:-0.02em; color:var(--color-bk);}
.history-year-list li:has(span:nth-of-type(2)) time {align-self:start;}
.history-year-list span {grid-column:2; display:flex; align-items:center; gap:10px; font-size:var(--font-size-18); font-weight:400; line-height:1.78em; letter-spacing:-0.02em; color:#505050;}
.history-year-list span:before {content:''; flex-shrink:0; width:4px; height:4px; border-radius:50%; background:var(--color-primary);}

/* 조직도 */
.org-chart {margin-bottom:var(--space-80);}
.org-chart-img {margin:0;}
.org-chart-img img {display:block; width:100%; height:auto;}
.org-staff-tit {margin:0 0 var(--space-60); font-size:var(--font-size-36); font-weight:600; line-height:1.4em; color:var(--color-bk);}
.org-staff-grid {grid-template-columns:repeat(2, 1fr); display:grid; gap:var(--space-16);}
.org-staff-card {display:flex; gap:var(--space-30); align-items:center; padding:var(--space-30); border:1px solid #eee; border-radius:16px; background:#fff; box-sizing:border-box;}
.org-staff-info {flex:1; min-width:0; padding-left:var(--space-40); border-left:1px solid #eee;}
.org-staff-name {margin:0 0 var(--space-20); font-size:var(--font-size-28); font-weight:600; line-height:1.5em; color:var(--color-bk);}
.org-staff-roles {display:flex; flex-direction:column; gap:8px;}
.org-staff-roles li {position:relative; padding-left:24px; font-size:var(--font-size-18); font-weight:400; line-height:1.78em; color:#505050;}
.org-staff-roles li:before {top:16px; width:14px; height:14px; content:''; position:absolute; left:0; background:url('/images/common/icon-check.svg') no-repeat center/contain; transform:translateY(-50%);}

/* 자격증 취득과정 */
.course-page-intro {display:flex; align-items:center; gap:var(--space-100); margin-bottom:var(--space-140);}
.course-page-intro-visual {flex:1; border-radius:16px; overflow:hidden;}
.course-page-intro-visual img {border-radius:16px; overflow:hidden;}
.course-page-intro-body {flex:1; min-width:0; display:flex; flex-direction:column; gap:var(--space-25);}
.course-page-intro-head {display:flex; flex-direction:column; gap:var(--space-16);}
.course-page-label {margin:0; font-size:var(--font-size-20); font-weight:500; line-height:1.7em; color:#878787;}
.course-page-gradient-tit {margin:0; font-size:var(--font-size-36); font-weight:600; line-height:1.4em; background:linear-gradient(90deg, #134258 0%, #298bb9 100%); -webkit-background-clip:text; background-clip:text; color:transparent;}
.course-page-line {display:block; width:28px; height:2px; background:#dfdfdf; border-radius:100px;}
.course-page-line--short {width:35px;}
.course-page-feature-list {display:flex; flex-direction:column; gap:var(--space-20);}
.course-page-feature-list li {display:flex; align-items:flex-start; font-size:var(--font-size-24); line-height:1.67em;}
.course-page-feature-key {flex:0 0 180px; display:flex; align-items:center; gap:var(--space-10);}
.course-page-feature-key:before {content:''; flex-shrink:0; width:4px; height:4px; border-radius:50%; background:#30A1D7;}
.course-page-feature-key strong {font-weight:600; color:var(--color-bk);}
.course-page-feature-list li > span:last-child {flex:1; font-weight:400; color:#505050;}
.course-page-sec-tit {margin:0 0 var(--space-60); font-size:var(--font-size-36); font-weight:600; line-height:1.4em; color:var(--color-bk);}
.course-page-krivet {display:flex; flex-direction:column; gap:var(--space-60); margin-bottom:var(--space-140);}
.course-page-krivet .course-page-sec-tit {margin-bottom:0;}
.course-page-cert-box {padding:var(--space-20); border:1px solid #eee; border-radius:16px; background:#fafafa;}
.course-page-cert-head {display:flex; align-items:center; justify-content:space-between; gap:var(--space-20); flex-wrap:wrap; margin-bottom:var(--space-20);}
.course-page-cert-tit {margin:0; font-size:var(--font-size-24); font-weight:600; line-height:1.67em; color:var(--color-bk);}
.course-page-cert-note {margin:0; font-size:var(--font-size-18); font-weight:400; line-height:1.78em; color:#878787;}
.course-page-cert-charts {display:flex; gap:var(--space-16);}
.course-page-cert-charts figure {padding:var(--space-40) 0; flex:1; min-width:0; margin:0; border:1px solid #eee; border-radius:8px; background:#fff; display:flex; align-items:center; justify-content:center;}

.course-page-steps {display:flex; flex-direction:column; gap:var(--space-60); margin-bottom:var(--space-140);}
.course-page-steps .course-page-sec-tit {margin-bottom:0;}
.course-page-step-list {display:flex; align-items:stretch; justify-content:space-between;}
.course-page-step {flex:1; min-width:0; display:flex; flex-direction:column; gap:var(--space-25); padding:var(--space-25) 0; border-left:1px solid #eee;}
.course-page-step-head {display:flex; flex-direction:column; gap:var(--space-10); padding-left:var(--space-25); border-left:1px solid #eee;}
.course-page-step--1 .course-page-step-head {border-left-color:#84c7e7;}
.course-page-step--2 .course-page-step-head {border-left-color:var(--color-primary);}
.course-page-step--3 .course-page-step-head {border-left-color:#257ca6;}
.course-page-step-label {margin:0; font-size:var(--font-size-20); font-weight:600; line-height:1.7em; color:#84c7e7;}
.course-page-step--2 .course-page-step-label {color:var(--color-primary);}
.course-page-step--3 .course-page-step-label {color:#257ca6;}
.course-page-step-name {margin:0; font-size:var(--font-size-24); font-weight:600; line-height:1.67em; color:var(--color-bk);}
.course-page-step ul {margin:0; padding:0 0 0 var(--space-25); display:flex; flex-direction:column; gap:var(--space-10);}
.course-page-step li {position:relative; padding-left:14px; font-size:var(--font-size-20); font-weight:400; line-height:1.7em; color:#505050;}
.course-page-step li:before {content:''; position:absolute; left:0; top:0.85em; width:4px; height:4px; border-radius:50%; background:#505050; transform:translateY(-50%);}
.course-page-step li.is-emphasis {font-weight:500; color:var(--color-bk);}
.course-page-step-arrow {flex:0 0 56px; margin:0 var(--space-50); display:flex; align-items:center; justify-content:center;}
.course-page-step-arrow img {width:56px; height:auto;}
.course-page-program {display:flex; flex-direction:column; gap:var(--space-60); margin-bottom:var(--space-140);}
.course-page-program-head {display:flex; flex-direction:column; gap:var(--space-20);}
.course-page-program-head .course-page-sec-tit {margin-bottom:0;}
.course-page-program-body {display:flex; flex-direction:column; gap:var(--space-16);}
.course-page-desc {margin:0; font-size:var(--font-size-20); font-weight:500; line-height:1.7em; color:#505050;}
.course-page-cards {display:flex; gap:var(--space-16);}
.course-page-card {flex:1; min-width:0; display:flex; flex-direction:column; padding:28px; border:1px solid #eee; border-radius:16px; background:#fff;}
.course-page-card h4 {margin:0; padding-bottom:var(--space-20); border-bottom:1px dashed #eee; font-size:var(--font-size-24); font-weight:600; line-height:1.67em; color:var(--color-bk);}
.course-page-card ul {margin:var(--space-20) 0 0; display:flex; flex-direction:column; gap:var(--space-10); flex:1;}
.course-page-card li {position:relative; padding-left:14px; font-size:var(--font-size-20); font-weight:400; line-height:1.7em; color:#505050;}
.course-page-card li:before {content:''; position:absolute; left:0; top:0.85em; width:4px; height:4px; border-radius:50%; background:#84C7E7; transform:translateY(-50%);}
.course-page-card-icon {display:flex; align-items:center; justify-content:flex-end; margin-top:var(--space-20);}
.course-page-card-icon span {display:flex; align-items:center; justify-content:center; width:120px; height:120px; border-radius:8px; background:#f5fafd;}
.course-page-card-icon img {width:56px; height:auto;}
.course-page-level-grid {display:flex; gap:var(--space-16);}
.course-page-level {flex:1; min-width:0; display:flex; flex-direction:column; gap:28px;}
.course-page-level figure {position:relative; margin:0; height:280px; border-radius:16px; overflow:hidden;}
.course-page-level figure img {width:100%; height:100%; object-fit:cover;}
.course-page-level--beginner figure img {object-position:bottom;}
.course-page-badge {position:absolute; top:16px; right:16px; padding:4px 16px; border-radius:8px; font-size:var(--font-size-18); font-weight:600; line-height:1.78em; color:#fff;}
.course-page-badge--beginner {background:#84c7e7;}
.course-page-badge--intermediate {background:var(--color-primary);}
.course-page-badge--advanced {background:#257ca6;}
.course-page-level-body {display:flex; flex-direction:column; gap:var(--space-20);}
.course-page-level h4 {margin:0; font-size:var(--font-size-28); font-weight:600; line-height:1.5em; color:var(--color-bk);}
.course-page-level dl {margin:0; padding:0; display:flex; flex-direction:column; gap:var(--space-10);}
.course-page-level dl div {display:flex; align-items:flex-start; font-size:var(--font-size-20); line-height:1.7em;}
.course-page-level dt {flex:0 0 60px; margin:0; font-weight:600; color:var(--color-bk);}
.course-page-level dd {margin:0; font-weight:400; color:#505050;}
.course-page-muted {color:#878787;}
.course-page-quote {margin:0; padding:8px; border-radius:8px; background:#fafafa; font-size:var(--font-size-18); font-weight:600; line-height:1.78em; text-align:center; color:var(--color-primary);}
.course-page-career {display:flex; flex-direction:column; gap:var(--space-60);}
.course-page-career .course-page-sec-tit {margin-bottom:0;}
.course-page-career-grid {width:100%; border-collapse:collapse; table-layout:fixed; border-top:1px solid var(--color-bk);}
.course-page-career-head th {margin:0; padding:var(--space-20); border-bottom:1px solid #eee; background:#fafafa; font-size:var(--font-size-20); font-weight:600; line-height:1.7em; text-align:center; color:var(--color-bk);}
.course-page-career-lead td {padding:var(--space-15) 7px var(--space-15) var(--space-25); border-bottom:1px solid #eee; border-right:1px solid #eee; font-size:var(--font-size-18); font-weight:400; line-height:1.78em; color:#505050; vertical-align:top;}
.course-page-career-lead td:last-child {border-right:0;}
.course-page-career-lead p {margin:0;}
.course-page-career-body {padding:16px 24px; border-bottom:1px solid #eee; border-right:1px solid #eee; vertical-align:top;}
.course-page-career-body:last-child {border-right:0;}
.course-page-career-body ul {display:flex; flex-direction:column; gap:var(--space-10);}
.course-page-career-body li {position:relative; padding-left:14px; font-size:var(--font-size-18); font-weight:400; line-height:1.78em; color:#505050;}
.course-page-career-body li:before {content:''; position:absolute; left:0; top:0.85em; width:4px; height:4px; border-radius:50%; background:#ccc; transform:translateY(-50%);}
.course-page-career-note {display:flex; align-items:center; gap:8px; margin:var(--space-20) 0 0; font-size:var(--font-size-16); font-weight:400; line-height:1.5em; color:#878787;}
.course-page-career-note img {width:16px; height:16px; flex-shrink:0;}

/* 자격 요건 */
.qualification-page-tabs {display:flex; border-bottom:1px solid #eee; margin-bottom:var(--space-120);}
.qualification-page-tab {flex:1; padding-bottom:16px; font-size:var(--font-size-20); font-weight:500; line-height:1.7em; text-align:center; color:#878787; text-decoration:none;}
.qualification-page-tab.is-active {border-bottom:1px solid var(--color-primary); color:var(--color-primary);}
.qualification-page-intro {display:flex; align-items:center; gap:var(--space-100); margin-bottom:var(--space-140);}
.qualification-page-intro-body {flex:1; min-width:0; display:flex; flex-direction:column; gap:var(--space-25);}
.qualification-page-grade-tit {margin:0; font-size:var(--font-size-36); font-weight:600; line-height:1.4em; color:var(--color-bk);}
.qualification-page-line {display:block; width:28px; height:2px; background:#dfdfdf; border-radius:100px;}
.qualification-page-quote {margin:0; font-size:var(--font-size-24); font-weight:600; line-height:1.67em; color:var(--color-bk);}
.qualification-page-desc {display:flex; flex-direction:column; gap:var(--space-20); font-size:var(--font-size-20); font-weight:400; line-height:1.7em; color:#505050;}
.qualification-page-desc p {margin:0;}
.qualification-page-intro-visual {flex:1; border-radius:16px; overflow:hidden;}
.qualification-page-intro-visual img {border-radius:16px; overflow:hidden;}
.qualification-page-divider {margin-bottom:var(--space-140); height:1px; border:1px dashed #ddd;}
.qualification-page-divider img {display:none;}
.qualification-page-table-sec {margin-bottom:var(--space-140);}
.qualification-page-sec-tit {margin:0 0 var(--space-60); font-size:var(--font-size-36); font-weight:600; line-height:1.4em; color:var(--color-bk);}
.qualification-page-table {border-top:1px solid var(--color-bk); overflow:hidden;}
div.qualification-page-table .qualification-page-table-row {display:grid; grid-template-columns:repeat(3, minmax(0, 1fr));}
div.qualification-page-table .qualification-page-table-row--tit .qualification-page-table-cell--main {grid-column:2; padding:var(--space-20); border-bottom:1px solid #eee; background:#fafafa; font-size:var(--font-size-24); font-weight:600; line-height:1.67em; text-align:center; color:var(--color-bk);}
div.qualification-page-table .qualification-page-table-row--tit .qualification-page-table-cell--empty {border-bottom:1px solid #eee; background:#fafafa;}
div.qualification-page-table .qualification-page-table-row--head .qualification-page-table-cell {padding:var(--space-20); border-bottom:1px solid #eee; border-right:1px solid #eee; background:#fafafa; font-size:var(--font-size-20); font-weight:600; line-height:1.7em; text-align:center; color:var(--color-bk);}
div.qualification-page-table .qualification-page-table-row--head .qualification-page-table-cell:last-child {border-right:0;}
div.qualification-page-table .qualification-page-table-row--body .qualification-page-table-cell {padding:var(--space-15) var(--space-25); border-bottom:1px solid #eee; border-right:1px solid #eee; align-self:stretch;}
div.qualification-page-table .qualification-page-table-row--body .qualification-page-table-cell:last-child {border-right:0;}
table.qualification-page-table {width:100%; border-collapse:collapse; table-layout:fixed;}
table.qualification-page-table .qualification-page-table-row--tit .qualification-page-table-cell--empty {border-bottom:1px solid #eee; background:#fafafa;}
table.qualification-page-table .qualification-page-table-row--tit .qualification-page-table-cell--main {padding:var(--space-20); border-bottom:1px solid #eee; background:#fafafa; font-size:var(--font-size-24); font-weight:600; line-height:1.67em; text-align:center; color:var(--color-bk);}
table.qualification-page-table .qualification-page-table-row--head .qualification-page-table-cell {padding:var(--space-20); border-bottom:1px solid #eee; border-right:1px solid #eee; background:#fafafa; font-size:var(--font-size-20); font-weight:600; line-height:1.7em; text-align:center; color:var(--color-bk);}
table.qualification-page-table .qualification-page-table-row--head .qualification-page-table-cell:last-child {border-right:0;}
table.qualification-page-table .qualification-page-table-row--head .qualification-page-accent {display:block; margin:0; font-weight:600; line-height:1.7em;}
table.qualification-page-table .qualification-page-table-row--head .qualification-page-head-txt {display:block; margin:0; font-weight:600; line-height:1.7em; color:var(--color-bk);}
table.qualification-page-table .qualification-page-table-row--body .qualification-page-table-cell {padding:var(--space-15) var(--space-25); border-bottom:1px solid #eee; border-right:1px solid #eee; vertical-align:top;}
table.qualification-page-table .qualification-page-table-row--body .qualification-page-table-cell:last-child {border-right:0;}


.qualification-page-accent {color:var(--color-primary);}
.qualification-page-bullet-list {display:flex; flex-direction:column; gap:var(--space-10);}
.qualification-page-bullet-list > li {position:relative; padding-left:14px; font-size:var(--font-size-18); font-weight:400; line-height:1.78em; color:#505050;}
.qualification-page-bullet-list > li:before {content:''; position:absolute; left:0; top:0.85em; width:4px; height:4px; border-radius:50%; background:#ccc; transform:translateY(-50%);}
.qualification-page-bullet-list--sub > li {padding-left:14px;}
.qualification-page-sub {padding-left:26px; display:block; margin-top:4px; font-size:var(--font-size-18); font-weight:400; line-height:1.78em; color:#878787; position:relative;}
.qualification-page-sub:before {content:''; position:absolute; left:0; top:0.45em; width:16px; height:16px; background:url('/images/sub/icon-check-sub.svg') no-repeat center/contain;}
.qualification-page-sub-list {margin:10px 0 0; display:flex; flex-direction:column; gap:8px;}
.qualification-page-sub-list li {position:relative; padding-left:26px; font-size:var(--font-size-18); font-weight:400; line-height:1.78em; color:#878787;}
.qualification-page-sub-list li:before {content:''; position:absolute; left:0; top:0.45em; width:16px; height:16px; background:url('/images/sub/icon-check-sub.svg') no-repeat center/contain;}

.qualification-page-note {margin:10px 0 0; font-size:var(--font-size-18); font-weight:400; line-height:1.78em; color:#878787;}
.qualification-page-choice-lead {margin:0 0 var(--space-20); font-size:var(--font-size-18); font-weight:400; line-height:1.78em; color:#878787;}
.qualification-page-choice-list {display:flex; flex-direction:column; gap:var(--space-10);}
.qualification-page-choice-list > li {display:flex; flex-wrap:wrap; gap:10px; font-size:var(--font-size-18); font-weight:400; line-height:1.78em; color:#505050;}
.qualification-page-choice-list > li p {flex:1 1;}
.qualification-page-choice-num {margin-top:3px; display:flex; align-items:center; justify-content:center; width:24px; height:24px; border-radius:50%; background:#878787; flex-shrink:0; font-size:var(--font-size-14); font-weight:600; line-height:1.43em; color:#fff;}
.qualification-page-split {display:flex; align-items:flex-start; gap:0; margin-bottom:var(--space-140);}
.qualification-page-split:last-child {margin-bottom:0;}
.qualification-page-split-tit {flex:0 0 480px; max-width:480px; margin:0; font-size:var(--font-size-36); font-weight:600; line-height:1.4em; color:var(--color-bk);}
.qualification-page-split-body {flex:1; min-width:0; border-top:1px solid var(--color-bk); padding-top:var(--space-20); font-size:var(--font-size-20); font-weight:400; line-height:1.7em; color:var(--color-bk);}
.qualification-page-num-list {display:flex; gap:var(--space-16);}
.qualification-page-num-list li {flex:1; display:flex; align-items:flex-start; gap:var(--space-16); font-size:var(--font-size-20); font-weight:400; line-height:1.7em; color:var(--color-bk);}
.qualification-page-num {display:flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:50%; background:var(--color-primary); flex-shrink:0; font-size:var(--font-size-16); font-weight:600; line-height:1.5em; color:#fff;}
.qualification-page-feature-grid {display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:var(--space-20);}
.qualification-page-feature-item {display:flex; align-items:flex-start; gap:var(--space-16); flex:1;}
.qualification-page-feature-item strong {flex:0 0 135px; font-size:var(--font-size-20); font-weight:600; line-height:1.7em;}
.qualification-page-feature-item span {flex:1; font-size:var(--font-size-20); font-weight:400; line-height:1.7em; color:#505050;}
.qualification-page-criteria-grid {display:flex; gap:var(--space-16);}
.qualification-page-criteria-grid ul {flex:1; min-width:0; display:flex; flex-direction:column; gap:var(--space-20);}
.qualification-page-criteria-grid li {position:relative; padding-left:14px; font-size:var(--font-size-20); font-weight:400; line-height:1.7em; color:var(--color-bk);}
.qualification-page-criteria-grid li:before {content:''; position:absolute; left:0; top:0.85em; width:4px; height:4px; border-radius:50%; background:#30A1D7; transform:translateY(-50%);}

/* table border */
.table table {width:100%; border-collapse:collapse; border-spacing:0;}
.table table th {border:1px solid #ddd;}
.table table td {border:1px solid #ddd;}
.table tr th:first-child, .table tr td:first-child {border-left:0;}
.table tr th:last-child, .table tr td:last-child {border-right:0;}

/* 취소/환불 규정 */
.refund-banner {margin:0 0 var(--space-120); border-radius:16px; overflow:hidden;}
.refund-split {display:flex; align-items:flex-start; gap:0; margin-bottom:var(--space-140);}
.refund-split:last-child {margin-bottom:0;}
.refund-split-tit {flex:0 0 600px; max-width:600px; margin:0; font-size:var(--font-size-36); font-weight:600; line-height:1.39em; letter-spacing:-0.03em; color:var(--color-bk);}
.refund-split-body {flex:1; min-width:0; border-top:1px solid var(--color-bk); padding-top:var(--space-20);}
.refund-cols {display:flex; gap:var(--space-20);}
.refund-cols-item {flex:1; min-width:0;}
.refund-cols-label {display:block; margin:0 0 var(--space-10); font-size:var(--font-size-20); font-weight:500; line-height:1.7em; color:var(--color-bk);}
.refund-cols-item p {margin:0; font-size:var(--font-size-18); font-weight:400; line-height:1.78em; color:#505050;}
.refund-contact {display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:var(--space-30) var(--space-20); margin:0 0 var(--space-20);}
.refund-contact li {display:flex; flex-wrap:wrap; align-items:flex-start; gap:12px;}
.refund-contact li img {flex-shrink:0; width:24px; height:24px; margin-top:5px;}
.refund-contact strong {font-size:var(--font-size-20); font-weight:500; line-height:1.7em; color:var(--color-bk);}
.refund-contact span {flex:1 0 100%; padding-left:36px; margin-top:-4px; font-size:var(--font-size-18); font-weight:400; line-height:1.78em; color:#505050;}
.refund-kakao {display:flex; align-items:center; justify-content:center; gap:12px; padding:var(--space-20); border:1px solid #eee; border-radius:16px; background:#fff; text-decoration:underline; font-size:var(--font-size-20); font-weight:500; line-height:1.7em; color:var(--color-bk);}
.refund-kakao img {width:24px; height:auto;}

/* 수행 지침 */
.guideline-hero {position:relative; display:flex; align-items:center; min-height:400px; margin-bottom:var(--space-120); padding:var(--space-80); border-radius:16px; overflow:hidden;}
.guideline-hero-bg {position:absolute; inset:0; z-index:0;}
.guideline-hero-bg img {width:100%; height:100%; object-fit:cover;}
.guideline-hero-txt {position:relative; z-index:1; color:#fff;}
.guideline-hero-txt h3 {margin:0 0 var(--space-25); font-size:var(--font-size-32); font-weight:500; line-height:1.44em; letter-spacing:-0.02em;}
.guideline-hero-txt p {margin:0; font-size:var(--font-size-20); font-weight:500; line-height:1.7em; color:rgba(255,255,255,0.8);}
.guideline-split {display:flex; align-items:flex-start; gap:0; margin-bottom:var(--space-120);}
.guideline-split-tit {flex:0 0 600px; max-width:600px; margin:0; font-size:var(--font-size-36); font-weight:600; line-height:1.39em; letter-spacing:-0.03em; color:var(--color-bk);}
.guideline-split-body {flex:1; min-width:0; border-top:1px solid var(--color-bk); padding-top:var(--space-20);}
.guideline-split-body p {margin:0 0 var(--space-20); font-size:var(--font-size-20); font-weight:400; line-height:1.7em; color:var(--color-bk);}
.guideline-split-body p:last-child {margin-top:30px; margin-bottom:0; color:#878787;}
.guideline-rule-lead {margin:0 0 var(--space-30); font-size:var(--font-size-20); font-weight:400; line-height:1.7em; color:var(--color-bk);}
.guideline-rule-list {display:flex; flex-direction:column; gap:var(--space-16);}
.guideline-rule-list li {display:flex; align-items:center; gap:10px; font-size:var(--font-size-18); font-weight:400; line-height:1.78em; color:#505050;}
.guideline-rule-num {display:flex; align-items:center; justify-content:center; width:24px; height:24px; border-radius:50%; background:var(--color-primary); flex-shrink:0; font-size:var(--font-size-14); font-weight:600; line-height:1.43em; color:#fff;}
.guideline-dot-grid {display:flex; flex-direction:column; gap:var(--space-20);}
.guideline-dot-grid li {display:flex; align-items:flex-start; gap:var(--space-20);}
.guideline-dot-grid-label {flex:1; display:flex; align-items:center; gap:10px; font-size:var(--font-size-20); font-weight:400; line-height:1.7em; color:var(--color-bk);}
.guideline-dot-grid-label img {width:4px; height:4px; flex-shrink:0;}
.guideline-dot-grid-desc {flex:1; display:flex; gap:10px; font-size:var(--font-size-20); font-weight:400; line-height:1.7em; color:var(--color-bk);}
.guideline-dot-grid-desc img {margin-top:15px; width:4px; height:4px; flex-shrink:0;}
.guideline-prep-note {display:flex; align-items:center; gap:8px; margin:var(--space-40) 0 0; font-size:var(--font-size-16); font-weight:400; line-height:1.5em; color:#878787;}
.guideline-prep-note img {width:16px; height:16px;}

.guideline-faq {display:flex; align-items:flex-start; gap:0; width:100%;}
.guideline-faq > .guideline-split-tit {flex:0 0 600px; max-width:600px; margin:0;}
.guideline-faq-body {flex:1; min-width:0; display:flex; flex-direction:column;}
.guideline-faq-item {border-top:1px solid var(--color-bk); padding-top:var(--space-20);}
.guideline-faq-item summary {display:flex; align-items:center; gap:var(--space-16); padding-bottom:16px; cursor:pointer; font-size:var(--font-size-20); font-weight:600; line-height:1.7em; color:var(--color-bk);}
.guideline-faq-item summary::-webkit-details-marker {display:none;}
.guideline-faq-item summary p {flex:1;}
.guideline-faq-q {width:36px; height:36px; display:flex; align-items:center; justify-content:center; border:1px solid #eee; border-radius:50%; background:#fff; flex-shrink:0; font-size:var(--font-size-18); font-weight:600; line-height:1.78em; color:var(--color-primary);}
.guideline-faq-arrow {width:16px; height:10px; flex-shrink:0; transition:transform .2s;}
.guideline-faq-item[open] .guideline-faq-arrow {transform:rotate(180deg);}
.guideline-faq-a {margin:0; border-top:1px dashed #ddd; padding:var(--space-20) var(--space-16) var(--space-40) var(--space-50); font-size:var(--font-size-20); font-weight:400; line-height:1.7em; color:#505050;}

/* 오시는 길 */
.directions-map-sec {margin-bottom:var(--space-100);}
.directions-addr {display:flex; align-items:center; gap:var(--space-16); margin-bottom:var(--space-16); padding:var(--space-20) var(--space-25); border:1px solid #eee; border-radius:8px;}
.directions-addr img {width:22px; height:28px; flex-shrink:0;}
.directions-addr p {margin:0; font-size:var(--font-size-24); font-weight:400; line-height:1.67em; color:var(--color-bk);}
.directions-route {display:flex; align-items:flex-start; gap:0; margin-bottom:var(--space-120);}
.directions-route:last-child {margin-bottom:0;}
.directions-route-head {flex:0 0 600px; max-width:600px;}
.directions-route-head h3 {margin:0; font-size:var(--font-size-36); font-weight:600; line-height:1.39em; letter-spacing:-0.03em; color:var(--color-bk);}
.directions-route-sub {margin:10px 0 0; font-size:var(--font-size-24); font-weight:600; line-height:1.67em; color:#878787;}
.directions-route-body {flex:1; min-width:0; border-top:1px solid #242424;}
.directions-route-body > .directions-route-block:first-child {border-top:0;}
.directions-route-block {border-top:1px solid var(--color-bk); padding:var(--space-20) 0 var(--space-60);}
.directions-route-block--line {border-top-color:#ddd;}
.directions-route-block:last-child {padding-bottom:0;}
.directions-route-lead {margin:0 0 var(--space-20); font-size:var(--font-size-20); font-weight:600; line-height:1.7em; color:var(--color-bk);}
.directions-route-item {margin-bottom:var(--space-20);}
.directions-route-item:last-child {margin-bottom:0;}
.directions-route-item-tit {display:flex; align-items:center; gap:6px; margin:0 0 6px; font-size:var(--font-size-18); font-weight:600; line-height:1.78em; color:#505050;}
.directions-route-item-tit--route {margin:0 0 var(--space-20); font-size:var(--font-size-20); line-height:1.7em; color:var(--color-bk);}
.directions-route-item-tit img {width:4px; height:4px; flex-shrink:0;}
.directions-route-item-desc {margin:0; padding-left:10px; font-size:var(--font-size-18); font-weight:400; line-height:1.78em; color:#505050;}
.directions-route-note {margin:var(--space-20) 0 0; padding-left:10px; font-size:var(--font-size-18); font-weight:400; line-height:1.78em; color:#878787;}
.directions-accordion {border-top:1px solid #ddd; padding-top:var(--space-20);}
.directions-accordion summary {display:flex; align-items:center; justify-content:space-between; gap:var(--space-16); margin-bottom:var(--space-40); cursor:pointer; font-size:var(--font-size-20); font-weight:600; line-height:1.7em; color:var(--color-bk);}
.directions-accordion summary::-webkit-details-marker {display:none;}
.directions-accordion summary img {width:16px; height:10px; flex-shrink:0; transition:transform .2s; transform:rotate(180deg);}
.directions-accordion[open] summary img {transform:rotate(0);}
.directions-accordion-inner {padding-bottom:var(--space-60);}
.directions-route-block .directions-accordion-inner {padding-bottom:0;}
.directions-accordion-inner:last-child {padding-bottom:0;}
.directions-schedule-dir {margin:0 0 var(--space-16); font-size:var(--font-size-20); font-weight:600; line-height:1.7em; text-align:center;}
.directions-schedule-dir + .directions-schedule {margin-bottom:var(--space-80);}
.directions-schedule {max-width:800px; overflow-x:auto;}
.directions-schedule:last-child {margin-bottom:0;}
.directions-schedule--2col {max-width:800px;}
.directions-schedule table {width:100%; border-collapse:collapse; border-spacing:0;}
.directions-schedule th {padding:10px; border:1px solid #eee; border-top:1px solid #eee; background:#fafafa; font-size:var(--font-size-18); font-weight:600; line-height:1.78em; color:var(--color-bk); text-align:center;}
.directions-schedule td {padding:6px; border:1px solid #eee; font-size:var(--font-size-18); font-weight:400; line-height:1.78em; color:#505050; text-align:center;}
.directions-schedule th:first-child, .directions-schedule td:first-child {border-left:0;}
.directions-schedule th:last-child, .directions-schedule td:last-child {border-right:0;}
.directions-parking-grid {display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:28px 16px; margin:0; padding:0; list-style:none;}
.directions-parking-item {display:flex; align-items:center; gap:12px;}
.directions-parking-item img {width:24px; height:24px; flex-shrink:0;}
.directions-parking-item img.directions-parking-item-icon--fee {width:22px; height:22px;}
.directions-parking-item strong {font-size:var(--font-size-20); font-weight:500; line-height:1.7em; color:var(--color-bk);}
.directions-parking-item span {font-size:var(--font-size-18); font-weight:400; line-height:1.78em; color:#505050;}
.directions-parking-note {display:flex; align-items:center; gap:8px; margin:var(--space-40) 0 0; font-size:var(--font-size-16); font-weight:400; line-height:1.5em; color:#878787;}
.directions-parking-note img {width:16px; height:16px; flex-shrink:0;}

/* 참불선원 프로그램 */
.chambul-program-intro {display:flex; align-items:flex-start; gap:var(--space-100); margin-bottom:var(--space-140);}
.chambul-program-visual {flex:1; min-width:0; height:480px; margin:0; border:1px solid #eee; border-radius:16px; overflow:hidden;}
.chambul-program-visual img {width:100%; height:100%; object-fit:cover;}
.chambul-program-body {flex:1; min-width:0; display:flex; flex-direction:column; gap:var(--space-25);}
.chambul-program-tit {margin:0; font-size:var(--font-size-36); font-weight:600; line-height:1.4em; color:var(--color-bk);}
.chambul-program-txt {display:flex; flex-direction:column; gap:var(--space-25); font-size:var(--font-size-20); font-weight:400; line-height:1.7em; color:#505050;}
.chambul-program-txt p {margin:0;}
.chambul-program-regular {margin-bottom:var(--space-140);}
.chambul-program-sec-tit {display:flex; align-items:center; gap:var(--space-10); margin:0 0 var(--space-60); font-size:var(--font-size-36); font-weight:600; line-height:1.4em; color:var(--color-bk);}
.chambul-program-sec-tit img {width:36px; height:auto;}
.chambul-program-cards {display:flex; gap:var(--space-16); margin-bottom:var(--space-40);}
.chambul-program-card {flex:1; min-width:0; padding:var(--space-30); border:1px solid #eee; border-radius:16px; background:#fff;}
.chambul-program-card h4 {margin:0 0 var(--space-16); font-size:var(--font-size-24); font-weight:600; line-height:1.67em; color:var(--color-bk);}
.chambul-program-card p {margin:0 0 var(--space-16); font-size:var(--font-size-18); font-weight:400; line-height:1.78em; color:#505050;}
.chambul-program-card p:last-child {margin-bottom:0;}
.chambul-program-date {display:flex; align-items:center; gap:8px; font-weight:500; color:var(--color-primary);}
.chambul-program-date img {width:20px; height:20px;}
.chambul-program-note {margin:0; padding:var(--space-25) var(--space-30); border-radius:16px; background:#f5fafd; font-size:var(--font-size-20); font-weight:500; line-height:1.7em; text-align:center;}

.chambul-program-recommend-list {padding:var(--space-30) var(--space-25); border-radius:16px; border:1px solid #EEE; background:#FFF; display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:var(--space-16) var(--space-40);}
.chambul-program-recommend-list li {position:relative; padding-left:18px; font-size:var(--font-size-18); font-weight:400; line-height:1.78em; color:#505050;}
.chambul-program-recommend-list li:before {content:''; position:absolute; left:0; top:0.75em; width:4px; height:4px; border-radius:50%; background:#CCC; transform:translateY(-50%);}

/* 참불선원 오시는 길 */
.chambul-directions-map {margin-bottom:var(--space-100);}
.chambul-directions-info {display:flex; flex-direction:column;}
.chambul-directions-row {display:flex; gap:var(--space-40); padding:var(--space-25) 0; border-top:1px solid #2c2c2c;}
.chambul-directions-row:last-child {border-bottom:1px solid #eee;}
.chambul-directions-item {display:flex; gap:var(--space-30); flex:1; min-width:0;}
.chambul-directions-icon {display:flex; align-items:center; justify-content:center; width:86px; height:86px; border-radius:8px; background:#f5fafd; flex-shrink:0;}
.chambul-directions-icon img {width:28px; height:auto; max-height:28px;}
.chambul-directions-content {flex:1; min-width:0; padding-top:4px;}
.chambul-directions-content h3 {margin:0 0 12px; font-size:var(--font-size-20); font-weight:600; line-height:1.7em; color:var(--color-bk);}
.chambul-directions-content p {font-size:var(--font-size-16); font-weight:500; line-height:1.78em; color:#878787;}
.chambul-directions-content p:last-child {margin-bottom:0;}
.chambul-directions-lead {font-weight:500;}
.chambul-directions-sublist {margin:0 0 12px; padding:0 0 0 10px;}
.chambul-directions-sublist li {font-size:var(--font-size-16); font-weight:400; line-height:1.75em; color:#505050;}
.chambul-directions-sublist strong {font-weight:600;}
.chambul-directions-fee {margin:12px 0 0; display:flex; flex-direction:column; gap:6px;}
.chambul-directions-fee-group {display:flex; flex-direction:column; gap:var(--space-20);}
.chambul-directions-content .chambul-directions-fee-tit {display:flex; align-items:center; gap:6px; margin:0; font-size:var(--font-size-16); font-weight:600; line-height:1.75em; color:#505050;}
.chambul-directions-fee-body {display:flex; flex-direction:column; padding-left:10px;}
.chambul-directions-fee-body .chambul-directions-fee-txt {padding-left:0;}
.chambul-directions-fee-body .chambul-directions-fee-detail {margin-top:12px;}
.chambul-directions-fee-detail p {margin:0; font-size:var(--font-size-16); font-weight:400; line-height:1.75em; color:#505050;}
.chambul-directions-fee-detail p strong {font-weight:600;}
.chambul-directions-fee-note {margin:0; font-size:var(--font-size-16); font-weight:400; line-height:1.75em; color:#878787;}
.chambul-directions-content .chambul-directions-fee-txt {margin:0; padding-left:0; font-size:var(--font-size-16); font-weight:400; line-height:1.75em; color:#505050;}
.chambul-directions-dot {display:block; width:4px; height:4px; border-radius:50%; background:#30A1D7; flex-shrink:0;}
.chambul-directions-note {font-size:var(--font-size-16); font-weight:400; line-height:1.5em; color:#878787;}
.chambul-directions-content p.chambul-directions-note {display:flex; align-items:flex-start; gap:8px; margin:0 0 12px; padding-left:10px; font-size:var(--font-size-16); font-weight:400; line-height:1.5em; color:#878787;}
.chambul-directions-content p.chambul-directions-note img {width:16px; height:16px; margin-top:4px; flex-shrink:0;}
.chambul-directions-content p.chambul-directions-note:last-child {margin-bottom:0;}
.chambul-directions-route-list {display:flex; flex-direction:column; gap:var(--space-20);}
.chambul-directions-route-list > li {padding-bottom:var(--space-20); border-bottom:1px dashed #eee;}
.chambul-directions-route-list > li:last-child {padding-bottom:0; border-bottom:0;}
.chambul-directions-route-list .line {display:inline-flex; align-items:center; justify-content:center; margin:0 4px 10px 0; padding:2px 12px; border-radius:100px; font-size:var(--font-size-14); font-weight:600; line-height:1.43em; color:#fff;}
.chambul-directions-route-list .line--3 {background:#ff7300;}
.chambul-directions-route-list .line--sinbundang {background:#a71e31;}
.chambul-directions-route-list .line--bundang {background:#ffce33;}
.chambul-directions-route-list p {display:flex; align-items:flex-start; gap:6px; margin:0 0 12px; font-size:var(--font-size-16); font-weight:400; line-height:1.75em; color:#505050;}
.chambul-directions-route-list p:before {content:''; display:block; width:4px; height:4px; margin-top:12px; border-radius:50%; background:#ccc; flex-shrink:0;}
.chambul-directions-route-list p:last-child {margin-bottom:0;}
.chambul-directions-bus-list {display:flex; flex-direction:column; gap:var(--space-20);}
.chambul-directions-bus-list > li {display:flex; flex-direction:column; gap:10px;}
.chambul-directions-bus-list .chambul-directions-lead {margin:0; font-size:var(--font-size-18); font-weight:500; line-height:1.78em; color:#505050;}
.chambul-directions-bus-tags {display:flex; align-items:center; gap:12px;}
.chambul-directions-bus-tags .bus {display:inline-flex; align-items:center; justify-content:center; padding:2px 12px; border-radius:100px; font-size:var(--font-size-14); font-weight:600; line-height:1.43em; color:#fff;}
.chambul-directions-bus-tags .bus--local {background:#4ea853;}
.chambul-directions-bus-tags .bus--town {background:#f97316;}
.chambul-directions-bus-tags .bus--trunk {background:#397ec8;}
.chambul-directions-route-list .line--7 {background:#697215;}

/* 강남힐링센터(신사) */
.gangnam-intro {display:flex; align-items:center; gap:var(--space-100); margin-bottom:var(--space-140);}
.gangnam-intro-visual {flex:1; border-radius:16px; overflow:hidden;}
.gangnam-intro-visual img {border-radius:16px; overflow:hidden;}
.gangnam-intro-body {flex:1; min-width:0; display:flex; flex-direction:column; gap:var(--space-50);}
.gangnam-intro-txt {display:flex; flex-direction:column; gap:var(--space-25); font-size:var(--font-size-20); font-weight:400; line-height:1.7em; color:#505050;}
.gangnam-intro-link {display:inline-flex; align-items:center; gap:8px; align-self:flex-start; padding:12px 24px 12px 28px; border:1px solid var(--color-primary); border-radius:100px; font-size:var(--font-size-18); font-weight:600; line-height:1.78em; color:var(--color-primary); text-decoration:none;}
.gangnam-intro-link img {width:14px; height:14px;}
.gangnam-sec-head {display:flex; flex-direction:column; gap:var(--space-16); margin-bottom:var(--space-60);}
.gangnam-sec-head-label {margin:0; font-size:var(--font-size-18); font-weight:600; line-height:1.78em;}
.gangnam-sec-head-tit {margin:0; font-size:var(--font-size-36); font-weight:600; line-height:1.4em; color:var(--color-bk);}
.gangnam-programs {margin-bottom:var(--space-140);}
.gangnam-programs-acc {display:flex; height:480px; border-radius:16px; overflow:hidden;}
.gangnam-programs-item {flex:1; min-width:0; transition:flex .45s ease;}
.gangnam-programs-item.is-active {flex:0 0 480px;}
.gangnam-programs-toggle {position:relative; display:flex; flex-direction:column; justify-content:space-between; width:100%; height:100%; min-height:480px; padding:var(--space-30); border:0; background:transparent; cursor:pointer; text-align:left; box-sizing:border-box;}
.gangnam-programs-bg {position:absolute; inset:0; z-index:0; overflow:hidden;}
.gangnam-programs-bg img {width:100%; height:100%; object-fit:cover;}
.gangnam-programs-overlay {position:absolute; inset:0; z-index:1; background:rgba(0,0,0,0.72); transition:background .3s;}
.gangnam-programs-item.is-active .gangnam-programs-overlay {background:linear-gradient(rgba(0,0,0,0.48) 0%, rgba(0,0,0,0) 50%), linear-gradient(rgba(0,0,0,0) 60%, rgba(0,0,0,0.96) 100%);}
.gangnam-programs-head {position:relative; z-index:2; display:flex; align-items:flex-start; justify-content:space-between; gap:var(--space-16); width:100%;}
.gangnam-programs-name {font-size:var(--font-size-32); font-weight:600; line-height:1.44em; color:#fff;}
.gangnam-programs-icon {display:flex; align-items:center; justify-content:center; width:36px; height:36px; flex-shrink:0;}
.gangnam-programs-icon img {width:30px; height:30px;}
.gangnam-programs-desc {position:relative; z-index:2; margin:0; max-width:100%; font-size:var(--font-size-18); font-weight:500; line-height:1.78em; color:#fff;}
.gangnam-programs-item:not(.is-active) .gangnam-programs-toggle {justify-content:flex-end; align-items:center; padding-top:208px; gap:var(--space-16);}
.gangnam-programs-item:not(.is-active) .gangnam-programs-head {flex-direction:column; align-items:center; justify-content:center; width:auto;}
.gangnam-programs-item:not(.is-active) .gangnam-programs-name {font-size:var(--font-size-24); line-height:1.67em; text-align:center;}
.gangnam-programs-item:not(.is-active) .gangnam-programs-desc {display:none;}
.gangnam-location-map {margin:0 0 var(--space-60);}
.gangnam-location-info .chambul-directions-row:last-child {border-top-color:#eee;}
.gangnam-bus-num {font-size:var(--font-size-16); font-weight:400; line-height:1.75em; color:#505050;}

/* 후원 안내 */
.sponsorship-intro {display:flex; flex-direction:column; gap:var(--space-60); margin-bottom:var(--space-100);}
.sponsorship-intro-visual {border-radius:16px; overflow:hidden;}
.sponsorship-intro-body {display:flex; align-items:flex-start; gap:var(--space-100);}
.sponsorship-intro-tit {flex:0 0 500px; max-width:500px; margin:0; font-size:var(--font-size-36); font-weight:600; line-height:1.4em; color:var(--color-bk);}
.sponsorship-intro-txt {flex:1; min-width:0; display:flex; flex-direction:column; gap:var(--space-25); font-size:var(--font-size-20); font-weight:400; line-height:1.7em; color:#505050;}
.sponsorship-intro-txt p {margin:0;}

.sponsorship-guide-head {margin-bottom:var(--space-60); text-align:center;}
.sponsorship-guide-head h3 {margin:0 0 var(--space-30); font-size:var(--font-size-36); font-weight:600; line-height:1.4em; color:var(--color-bk);}
.sponsorship-guide-head p {margin:0; font-size:var(--font-size-20); font-weight:500; line-height:1.7em; color:#505050;}
.sponsorship-guide-grid {display:flex; gap:var(--space-16);}
.sponsorship-guide-grid article {flex:1; min-width:0; display:flex; flex-direction:column; gap:28px;}
.sponsorship-guide-grid figure,
.sponsorship-guide-grid figure img {border-radius:16px; overflow:hidden;}
.sponsorship-guide-info {display:flex; flex-direction:column; gap:20px;}
.sponsorship-guide-desc h4 {margin:0 0 var(--space-16); font-size:var(--font-size-28); font-weight:600; line-height:1.5em; color:var(--color-bk);}
.sponsorship-guide-desc p {margin:0; font-size:var(--font-size-20); font-weight:400; line-height:1.7em; color:#505050;}
.sponsorship-guide-grid ul {display:flex; flex-direction:column; gap:8px;}
.sponsorship-guide-grid ul li {position:relative; padding-left:14px; font-size:var(--font-size-18); font-weight:400; line-height:1.78em; color:#505050;}
.sponsorship-guide-grid ul li:before {content:''; position:absolute; left:0; top:0.85em; width:4px; height:4px; border-radius:50%; background:var(--color-primary); transform:translateY(-50%);}
.sponsorship-cards {padding:var(--space-100) 0 var(--space-120);}
.sponsorship-cards-head {margin-bottom:var(--space-60); text-align:center;}
.sponsorship-cards-head h3 {margin:0 0 var(--space-30); font-size:var(--font-size-36); font-weight:600; line-height:1.4em; color:var(--color-bk);}
.sponsorship-cards-head p {margin:0; font-size:var(--font-size-20); font-weight:500; line-height:1.7em; color:#505050;}
.sponsorship-cards-grid {display:flex; gap:8px;}
.sponsorship-cards-grid article {flex:1; min-width:0; display:flex; flex-direction:column; align-items:center;}
.sponsorship-cards-label {position:relative; z-index:2; margin:0 0 -20px; width:174px; padding:8px var(--space-25); border-radius:8px; background:var(--color-primary); box-sizing:border-box; font-size:var(--font-size-20); font-weight:600; line-height:1.7em; text-align:center; color:#fff;}
.sponsorship-cards-body {display:flex; flex-direction:column; align-items:center; gap:var(--space-40); width:100%; min-height:326px; padding:var(--space-55) var(--space-25) var(--space-50); border:1px solid #eee; border-radius:16px; background:#fff; box-sizing:border-box;}
.sponsorship-cards-icon {display:flex; align-items:center; justify-content:center; width:56px; height:56px;}
.sponsorship-cards-icon img {max-width:100%; max-height:100%;}
.sponsorship-cards-body p {margin:0; font-size:var(--font-size-18); font-weight:400; line-height:1.78em; text-align:center; color:#505050;}

.sponsorship-contact {background:url('/images/sub/contact-bg.jpg') 50% 50% / cover no-repeat; position:relative; padding:var(--space-120) 0; overflow:hidden;}
.sponsorship-contact:before {content:''; position:absolute; inset:0; background:rgba(0,0,0,0.2); z-index:0;}
.sponsorship-contact .contain {display:flex; flex-direction:column; align-items:center; justify-content:center; gap:var(--space-40); }
.sponsorship-contact h3 {position:relative; z-index:1; margin:0; font-size:var(--font-size-40); font-weight:600; line-height:1.35em; color:#fff;}
.sponsorship-contact-links {position:relative; z-index:1; display:flex; gap:var(--space-40);}
.sponsorship-contact-links a {display:flex; align-items:center; gap:var(--space-20); color:#fff; text-decoration:none;}
.sponsorship-contact-icon {display:flex; align-items:center; justify-content:center; width:72px; height:72px; border:1px solid rgba(255,255,255,0.16); border-radius:50%; background:rgba(255,255,255,0.16); backdrop-filter:blur(12px);}
.sponsorship-contact-icon img {width:24px; height:auto;}
.sponsorship-contact-txt {display:flex; flex-direction:column; gap:4px; font-size:var(--font-size-20); font-weight:600; line-height:1.7em;}
.sponsorship-contact-txt strong {font-size:var(--font-size-16); font-weight:600; line-height:1.5em; color:rgba(255,255,255,0.8);}
.sponsorship-contact-link {text-decoration:underline;}

/* 재능 기부 */
.talent-intro {display:flex; flex-direction:column; gap:var(--space-60); margin-bottom:var(--space-100);}
.talent-intro-visual {border-radius:16px; overflow:hidden;}
.talent-intro-body {display:flex; align-items:flex-start; gap:var(--space-100);}
.talent-intro-tit {flex:0 0 500px; max-width:500px; margin:0; font-size:var(--font-size-36); font-weight:600; line-height:1.4em; color:var(--color-bk);}
.talent-intro-txt {flex:1; min-width:0; display:flex; flex-direction:column; gap:var(--space-25); font-size:var(--font-size-20); font-weight:400; line-height:1.7em; color:#505050;}
.talent-intro-txt p {margin:0;}

.talent-fields-head {margin-bottom:var(--space-60); text-align:center;}
.talent-fields-head h3 {margin:0 0 var(--space-30); font-size:var(--font-size-36); font-weight:600; line-height:1.4em; color:var(--color-bk);}
.talent-fields-head p {margin:0; font-size:var(--font-size-20); font-weight:500; line-height:1.7em; color:#505050;}
.talent-fields-grid {display:flex; gap:var(--space-16);}
.talent-fields-grid article {flex:1; min-width:0; display:flex; flex-direction:column; gap:var(--space-25);}
.talent-fields-grid figure {border-radius:16px; overflow:hidden;}
.talent-fields-grid figure img {border-radius:16px; overflow:hidden;}
.talent-fields-grid h4 {font-size:var(--font-size-28); font-weight:600; line-height:1.5em; color:var(--color-bk);}
.talent-fields-grid ul {display:flex; flex-direction:column; gap:8px;}
.talent-fields-grid ul li {position:relative; padding-left:14px; font-size:var(--font-size-18); font-weight:400; line-height:1.78em; color:#505050;}
.talent-fields-grid ul li:before {content:''; position:absolute; left:0; top:0.85em; width:4px; height:4px; border-radius:50%; background:#30A1D7; transform:translateY(-50%);}

.talent-join {padding:var(--space-100) 0 var(--space-120);}
.talent-join-head {margin-bottom:var(--space-60); text-align:center;}
.talent-join-head h3 {margin:0 0 var(--space-30); font-size:var(--font-size-36); font-weight:600; line-height:1.4em; color:var(--color-bk);}
.talent-join-head p {margin:0 0 8px; font-size:var(--font-size-20); font-weight:500; line-height:1.7em; color:#505050;}
.talent-join-head p:last-child {margin-bottom:0;}
.talent-join-grid {display:flex; gap:8px; justify-content:center;}
.talent-join-grid article {flex:1; min-width:0; max-width:461px; display:flex; flex-direction:column; align-items:center;}
.talent-join-label {position:relative; z-index:2; margin:0 0 -20px; width:174px; padding:8px var(--space-25); border-radius:8px; background:var(--color-primary); box-sizing:border-box; font-size:var(--font-size-20); font-weight:600; line-height:1.7em; text-align:center; color:#fff;}
.talent-join-body {display:flex; flex-direction:column; align-items:center; gap:var(--space-40); width:100%; min-height:264px; padding:var(--space-55) var(--space-25) var(--space-50); border:1px solid #eee; border-radius:16px; background:#fff; box-sizing:border-box;}
.talent-join-icon {display:flex; align-items:center; justify-content:center; width:56px; height:56px;}
.talent-join-icon img {max-width:100%; max-height:100%;}
.talent-join-body p {margin:0; font-size:var(--font-size-18); font-weight:400; line-height:1.78em; text-align:center; color:#505050;}
.talent-contact {position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:var(--space-40); margin:0 calc(var(--space-60) * -1); padding:var(--space-120) var(--space-60); overflow:hidden;}
.talent-contact-bg {position:absolute; inset:0; z-index:0;}
.talent-contact-bg img {width:100%; height:100%; object-fit:cover;}
.talent-contact-bg:after {content:''; position:absolute; inset:0; background:rgba(0,0,0,0.2);}
.talent-contact h3 {position:relative; z-index:1; margin:0; font-size:var(--font-size-40); font-weight:600; line-height:1.35em; color:#fff;}
.talent-contact-links {position:relative; z-index:1; display:flex; gap:var(--space-40);}
.talent-contact-links a {display:flex; align-items:center; gap:var(--space-20); color:#fff; text-decoration:none;}
.talent-contact-icon {display:flex; align-items:center; justify-content:center; width:72px; height:72px; border:1px solid rgba(255,255,255,0.16); border-radius:50%; background:rgba(255,255,255,0.16); backdrop-filter:blur(12px);}
.talent-contact-icon img {width:24px; height:auto;}
.talent-contact-txt {display:flex; flex-direction:column; gap:4px; font-size:var(--font-size-20); font-weight:600; line-height:1.7em;}
.talent-contact-txt strong {font-size:var(--font-size-16); font-weight:600; line-height:1.5em; color:rgba(255,255,255,0.8);}

/* 프로그램 소개 */
.program-page-compare,
.program-page-block {padding:var(--space-120) 0;}
.bg-gray .program-page-block {padding:0;}
.program-page-tabs {border-bottom:1px solid #eee; margin-bottom:var(--space-120);}
.program-page-tabs .swiper {overflow:hidden;}
.program-page-tabs .swiper-wrapper {display:flex;}
.program-page-tabs .swiper-slide {width:auto; flex:1;}
.program-page-tabs .swiper-slide a {display:block; width:100%; padding-bottom:16px; font-size:var(--font-size-20); font-weight:500; line-height:1.7em; text-align:center; color:#878787; text-decoration:none;}
.program-page-tabs .swiper-slide.is-active a, .program-page-tabs .swiper-slide a.is-active {border-bottom:1px solid var(--color-primary); color:var(--color-primary);}
.program-page-hero {display:flex; flex-direction:column; align-items:center; gap:var(--space-30); margin-bottom:var(--space-100); text-align:center;}
.program-page-gradient-tit {margin:0; font-size:var(--font-size-36); font-weight:600; line-height:1.4em; background:linear-gradient(90deg, #134258 0%, #298bb9 100%); -webkit-background-clip:text; background-clip:text; color:transparent;}
.program-page-hero-desc {display:flex; flex-direction:column; gap:0; max-width:100%; font-size:var(--font-size-20); font-weight:500; line-height:1.7em; color:#505050;}
.program-page-split {display:flex; align-items:flex-start; gap:0; margin-bottom:var(--space-120);}
.program-page-split-tit {flex:0 0 600px; max-width:600px; margin:0; font-size:var(--font-size-36); font-weight:600; line-height:1.4em; color:var(--color-bk);}
.program-page-split-body {flex:1; min-width:0; border-top:1px solid var(--color-bk); padding-top:var(--space-20);}
.program-page-block-tit {margin:0; font-size:var(--font-size-32); font-weight:600; line-height:1.44em; color:var(--color-bk);}
.program-page-block-quote {margin:0 0 var(--space-20); font-size:var(--font-size-20); font-weight:600; line-height:1.7em; color:var(--color-primary);}
.program-page-block-desc {font-size:var(--font-size-18); font-weight:400; line-height:1.78em; color:#505050;}
.program-page-block-desc p {margin:0;}
.program-page-block-desc p + p {margin-top:var(--space-16);}
.program-page-block-note {margin:var(--space-20) 0 0; font-size:var(--font-size-18); font-weight:400; line-height:1.78em; color:#878787;}
.program-page-card-row {display:flex; gap:var(--space-16); margin-bottom:var(--space-16);}
.program-page-card-row--grid {flex-wrap:wrap;}
.program-page-card-row--grid .program-page-card {flex:1 1 calc(50% - 8px); min-width:0;}
.program-page-card {flex:1; min-width:0; padding:var(--space-30); border:1px solid #eee; border-radius:16px; background:#fff;}
.program-page-card-head {display:flex; align-items:center; gap:10px; margin-bottom:var(--space-20); padding-bottom:var(--space-20); border-bottom:1px dashed #eee;}
.program-page-card-head img {width:24px; height:24px; flex-shrink:0;}
.program-page-card-head h4 {margin:0; font-size:var(--font-size-24); font-weight:600; line-height:1.67em; color:var(--color-bk);}
.program-page-card-list {display:flex; flex-direction:column; gap:18px;}
.program-page-card-list > li {display:flex; flex-direction:column; gap:5px;}
.program-page-card-list > li strong {padding-left:14px; font-size:var(--font-size-20); font-weight:500; line-height:1.7em; color:var(--color-bk); position:relative;}
.program-page-card-list > li strong:before {top:14px; width:4px; height:4px; position:absolute; content:''; left:0; border-radius:100%; background-color:#ccc;}
.program-page-card-list > li span {padding-left:14px; font-size:var(--font-size-20); font-weight:400; line-height:1.7em; color:#505050;}
.program-page-card-list--row > li {flex-direction:row; align-items:center; gap:var(--space-16);}
.program-page-card-list--row > li strong {flex:0 0 160px;}
.program-page-card-list--row > li span {padding-left:0; flex:1;}
.program-page-card-list--simple > li {flex-direction:row; align-items:flex-start; gap:10px; font-size:var(--font-size-20); font-weight:400; line-height:1.7em; color:#505050;}
.program-page-card-list--simple > li img {width:4px; height:4px; margin-top:0.85em; flex-shrink:0;}
.program-page-card-table {display:flex; gap:20px;}
.program-page-card-table .col {flex:1;}
.program-page-card-table table {width:100%; border-collapse:collapse; border-spacing:0px; font-size:var(--font-size-20); line-height:1.7em;}
.program-page-card-table table th,
.program-page-card-table table td {vertical-align:top; text-align:left; padding-bottom:23px;}
.program-page-card-table table th {width:33%; font-weight:500; color:var(--color-bk);}
.program-page-card-table table td {width:auto; color:#505050;}
.program-page-card-table table tr:last-child th,
.program-page-card-table table tr:last-child td {padding-bottom:0;}

.program-page-visual {margin:0 0 var(--space-16); border-radius:16px; overflow:hidden;}

.program-page-recommend {display:flex; align-items:flex-start; gap:var(--space-16); padding:var(--space-30); border:1px solid #eee; border-radius:16px; background:#fff;}
.program-page-recommend-head {display:flex; align-items:center; gap:var(--space-16); flex:0 0 600px; max-width:600px;}
.program-page-recommend-head img {width:28px; height:28px; flex-shrink:0;}
.program-page-recommend-head h4 {margin:0; font-size:var(--font-size-32); font-weight:600; line-height:1.44em; color:var(--color-bk);}
.program-page-recommend-list {flex:1; min-width:0; display:flex; flex-direction:column; gap:10px;}
.program-page-recommend-list li {padding-left:14px; display:flex; align-items:center; gap:10px; font-size:var(--font-size-20); font-weight:400; line-height:1.7em; color:var(--color-bk); position:relative;}
.program-page-recommend-list li:before {top:14px; width:4px; height:4px; position:absolute; content:''; left:0; border-radius:100%; background-color:#30A1D7;}

.program-page-compare-tit {margin:0 0 var(--space-60); font-size:var(--font-size-36); font-weight:600; line-height:1.4em; color:var(--color-bk);}
.program-page-compare-tit-sub {color:#a8a8a8;}
.program-page-compare-table {border-top:1px solid var(--color-bk); overflow:hidden;}
table.program-page-compare-table {width:100%; border-collapse:collapse; table-layout:fixed;}
table.program-page-compare-table .program-page-compare-row {border-bottom:1px solid #eee;}
table.program-page-compare-table .program-page-compare-cell {padding:var(--space-16) var(--space-20); border-right:1px solid #eee; font-size:var(--font-size-18); font-weight:400; line-height:1.78em; text-align:center;}
table.program-page-compare-table .program-page-compare-cell:last-child {border-right:0;}
table.program-page-compare-table .program-page-compare-row--head {background:#fafafa;}
table.program-page-compare-table .program-page-compare-row--head .program-page-compare-cell {font-size:var(--font-size-20); font-weight:600; line-height:1.7em; color:var(--color-bk); text-align:center;}
table.program-page-compare-table tbody th.program-page-compare-cell {width:160px; font-weight:600; color:var(--color-bk);}

.program-page-reviews-tit {margin:0 0 var(--space-60); font-size:var(--font-size-36); font-weight:600; line-height:1.4em; color:var(--color-bk);}
.program-page-reviews-tit-sub {color:#a8a8a8;}
.program-page-review-grid {display:flex; gap:var(--space-16); overflow-x:auto; padding-bottom:4px;}
.program-page-review-slider {position:relative;}
.program-page-review-swiper {overflow:hidden;}
.program-page-review-swiper .swiper-slide {height:auto;}
.program-page-review-slider .program-page-review-card {width:100%; height:100%;}
.program-page-review-card {min-width:0; padding:var(--space-30); border:1px solid #eee; border-radius:16px; background:#fff;}
.program-page-review-head {display:flex; flex-direction:column; gap:10px; margin-bottom:var(--space-20);}
.program-page-review-icon {width:24px; height:14px;}
.program-page-review-tit {margin:0; font-size:var(--font-size-20); font-weight:600; line-height:1.7em; color:var(--color-bk);}
.program-page-review-txt {margin:0; font-size:var(--font-size-18); font-weight:400; line-height:1.78em; color:#505050;}
.program-page-feature-grid {display:flex; gap:var(--space-16);}
.program-page-feature-item {flex:1; min-width:0;}
.program-page-feature-icon {width:24px; height:24px; margin-bottom:var(--space-20);}
.program-page-feature-tit {margin:0 0 10px; font-size:var(--font-size-20); font-weight:500; line-height:1.7em; color:var(--color-bk);}
.program-page-feature-desc {margin:0; font-size:var(--font-size-18); font-weight:400; line-height:1.78em; color:#505050;}
.program-page-step-grid {display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:28px 16px;}
.program-page-step-item {display:flex; flex-direction:column; gap:var(--space-16);}
.program-page-step-num {display:flex; align-items:center; justify-content:center; width:24px; height:24px; border-radius:50%; background:var(--color-primary); font-size:var(--font-size-14); font-weight:600; line-height:1.43em; color:#fff;}
.program-page-step-tit {margin:0 0 10px; font-size:var(--font-size-20); font-weight:500; line-height:1.7em; color:var(--color-bk);}
.program-page-step-desc {margin:0; font-size:var(--font-size-18); font-weight:400; line-height:1.78em; color:#505050;}
.program-page-bullet-grid {display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:var(--space-20);}
.program-page-bullet-grid li {display:flex; align-items:center; gap:10px; font-size:var(--font-size-20); font-weight:400; line-height:1.7em; color:var(--color-bk);}
.program-page-bullet-grid li img {width:4px; height:4px; flex-shrink:0;}
.program-page-contact {background:url('/images/sub/program-training-contact-bg.jpg') 50% 50% / cover no-repeat; position:relative; padding:var(--space-120) 0; overflow:hidden;}
.program-page-contact h3 {position:relative; margin-bottom:var(--space-40); text-align:center; z-index:1; font-size:var(--font-size-40); font-weight:600; line-height:1.35em; letter-spacing:-0.03em; color:#fff;}
.program-page-contact-links {position:relative; z-index:1; display:flex; flex-wrap:wrap; justify-content:center; gap:var(--space-40);}
.program-page-contact-links a {display:flex; align-items:center; gap:var(--space-20); color:#fff; text-decoration:none;}
.program-page-contact-icon {display:flex; align-items:center; justify-content:center; width:72px; height:72px; border:1px solid rgba(255,255,255,0.16); border-radius:50%; background:rgba(255,255,255,0.16); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);}
.program-page-contact-icon img {width:24px; height:auto;}
.program-page-contact-txt {display:flex; flex-direction:column; gap:10px; font-size:var(--font-size-20); font-weight:600; line-height:1.7em; letter-spacing:-0.02em;}
.program-page-contact-txt strong {font-size:var(--font-size-16); font-weight:600; line-height:1.5em; color:rgba(255,255,255,0.8);}

/* 명상홀/숙소 소개 */
.facility-map-sec {margin-bottom:var(--space-100);}
.facility-map {position:relative; height:800px; border-radius:16px; overflow:hidden;}
.facility-map-bg {position:absolute; inset:0; z-index:0;}
.facility-map-bg img {position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.facility-map-head {position:absolute; top:0; left:0; right:0; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:var(--space-40); padding:var(--space-30) var(--space-40); overflow:hidden;}
.facility-map-head:after {content:''; position:absolute; inset:0; background:url('/images/sub/facility-map-head-bg.png') center/cover no-repeat; mix-blend-mode:soft-light; pointer-events:none;}
.facility-map-head-tit {position:relative; z-index:1; display:flex; align-items:center; gap:12px; flex-shrink:0;}
.facility-map-head-tit img {width:34px; height:24px; flex-shrink:0;}
.facility-map-head-tit h3 {margin:0; font-size:var(--font-size-28); font-weight:600; line-height:1.5em; letter-spacing:-0.02em; color:#fff;}
.facility-map-head-desc {position:relative; z-index:1; margin:0; max-width:640px; font-size:var(--font-size-20); font-weight:500; line-height:1.7em; letter-spacing:-0.02em; color:rgba(255,255,255,0.8); text-align:right;}
.facility-map-points {position:absolute; inset:0; z-index:1;}
.facility-map-point {position:absolute; transform:translate(-50%, -50%); display:flex; flex-direction:column; align-items:center; gap:8px;}
.facility-map-point a {display:flex; flex-direction:column; align-items:center; gap:8px; text-decoration:none; color:inherit;}
.facility-map-point-label {white-space:nowrap; bottom:var(--space-50); display:none; padding:8px 16px; border-radius:4px; background:rgba(255,255,255,0.16); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); font-size:var(--font-size-20); font-weight:500; line-height:1.7em; letter-spacing:-0.02em; color:#fff; position:absolute;}
.facility-map-point:hover .facility-map-point-label,
.facility-map-point:focus-within .facility-map-point-label {display:block;}
.facility-map-point-dot {display:flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:50%; background:rgba(41,139,185,0.4); flex-shrink:0;}
.facility-map-point-dot span {display:flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:50%; background:rgba(41,139,185,0.6);}
.facility-map-point-dot span:after {content:''; display:block; width:16px; height:16px; border-radius:50%; background:#fff; border:4px solid #298bb9;}

.facility-gallery {margin:0 calc(var(--space-60) * -1); background:#fafafa;}
.facility-gallery-intro {padding:var(--space-100) var(--space-60) var(--space-40); background:#fafafa;}
.facility-gallery-gradient-tit {margin:0; font-size:var(--font-size-36); font-weight:600; line-height:1.4em; letter-spacing:-0.03em; background:linear-gradient(90deg, #134258 0%, #298bb9 100%); -webkit-background-clip:text; background-clip:text; color:transparent; text-align:center;}
.facility-tabs {position:sticky; top:calc(var(--header-height) + 56px); z-index:20; display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px; margin:0; padding:12px var(--space-60); background:#fafafa; border-bottom:1px solid transparent;}
.facility-tabs.is-stuck {border-bottom-color:#eee; box-shadow:0 4px 12px rgba(0,0,0,0.04);}
.facility-tab {display:inline-flex; align-items:center; justify-content:center; padding:8px 24px; border:1px solid #eee; border-radius:500px; background:#fff; font-size:var(--font-size-20); font-weight:500; line-height:1.7em; letter-spacing:-0.02em; color:#505050; text-decoration:none; white-space:nowrap; transition:color .2s;}
.facility-tab.is-active {color:var(--color-primary);}
.facility-sec {display:flex; flex-direction:column; align-items:center; gap:var(--space-40); padding:var(--space-100) var(--space-60); background:#fff;}
.facility-sec--bg {background:#fafafa;}
.facility-sec--first {padding-top:var(--space-40);}
.facility-sec--last {padding-bottom:var(--space-140);}
.facility-slider {position:relative; width:100%; overflow:hidden;}
.facility-slider-view {width:100%; overflow:hidden;}
.facility-slider-view .swiper-wrapper {align-items:center;}
.facility-slider-view .swiper-slide {display:flex; align-items:center; justify-content:center; width:min(1200px, 92%); height:686px;}
.facility-slider-view .swiper-slide figure {margin:0; width:66.667%; line-height:0; transition:width .35s ease;}
.facility-slider-view .swiper-slide figure img {display:block; width:100%; /* aspect-ratio:1200/686; object-fit:cover; */ object-position:center; border-radius:16px;}
.facility-slider-view .swiper-slide.is-main figure {width:100%;}
.facility-slider-view .swiper-slide-prev {justify-content:flex-end;}
.facility-slider-view .swiper-slide-next {justify-content:flex-start;}

.facility-slider-prev, .facility-slider-next {position:absolute; top:50%; z-index:2; width:56px; height:56px; margin:0; padding:0; border:0; background:transparent; transform:translateY(-50%); cursor:pointer;}
.facility-slider-prev {left:clamp(30px, calc( 240 / var(--inner) * 100vw ), 240px);}
.facility-slider-next {right:clamp(30px, calc( 240 / var(--inner) * 100vw ), 240px);}
.facility-slider-prev img, .facility-slider-next img {width:100%; height:100%;}
.facility-sec-info {display:flex; flex-direction:column; align-items:center; gap:var(--space-20); text-align:center;}
.facility-sec-tit {margin:0; font-size:var(--font-size-32); font-weight:600; line-height:1.44em; letter-spacing:-0.03em; color:var(--color-bk);}
.facility-sec-desc {margin:0; font-size:var(--font-size-20); font-weight:500; line-height:1.7em; letter-spacing:-0.02em; color:#505050;}

/* 프로그램 신청 버튼 */
.button-apply {text-align:center; margin-top:var(--space-60);}
.btn-applink {display:inline-flex; justify-content:center; align-items:center; min-height:clamp(48px, calc(58 / 1024 * 100vw ), 58px); padding:12px 24px 12px 28px; gap:8px; text-align:left; border:1px solid var(--color-primary); border-radius:50px; background:#fff; color:var(--color-primary); font-size:var(--font-size-18); font-weight:600; line-height:1.2em;}
.btn-applink:hover {color:#fff; background:var(--color-primary);}